Accueil CV Cours Maple GSM Voyages HP 48 Radio Amis

Cours : Interfaces Homme/Machine

Vous pouvez visualiser ou télécharger le cours sur les Interfaces Homme/Machine que j'ai réalisé pour les élèves de dernière année option informatique de l'ESME-Sudria, école d'ingénieurs.

Visualiser la présentation
Télécharger la présentation (PDF noir et blanc zippé : 816 Ko)
Télécharger les exemples du cours (Zip : 37 Ko)


Sommaire du cours

Notion d'interface homme/machine

  • Principe

  • Historique

  • Conception d'une IHM

Le système X Window

  • Historique

  • Principe

  • Serveur X

  • Clients X

  • Communication

  • Sécurité

  • Implémentations

  • Architecture

  • Window Manager

Programmation X Window

  • Principe

  • Rappels

  • Protocole X

  • Routines Xlib

  • Objets manipulés par la Xlib, ressources

  • Événements

  • Fonctions de dessin

  • Affichage de texte

  • Gestion de la couleur

Programmation Motif

  • Rappels

  • Widgets

  • Arbre d'instances

  • Création d'un widget

  • Ressources

  • Callback

Programmation Microsoft Windows

  • Historique

  • Les contrôles Windows

  • Modèle objet

  • Dialog Data Exchange

  • Une application Win32 simple


Avertissements

La vocation de ce cours est de présenter au lecteur les concepts généraux des interfaces graphiques, ainsi que les éléments essentiels de la programmation X11/Motif/Windows.

Les détails d’utilisation des fonctions et les syntaxes sont volontairement omis ; le lecteur est invité à consulter un manuel de référence ou l’aide en ligne du système.

La partie portant sur la programmation Windows est restreinte. Le lecteur saura tirer parti des similarités entre la programmation X11 et Windows (modèle événementiel, approche objet) pour se former à la programmation d’applications graphiques sous Windows.


Les exemples

Les exemples à télécharger comprennent les programmes suivants. Ils sont destinés à être présentés au fur et à mesure de l'avancée du cours.

SCRIBBLE01 Logiciel de dessin à main levée pour X11 - Version 0.1
  • Connexion au serveur
  • Création d'une fenêtre vide
  • Boucle de gestion d'événements
  • Ecriture des événements sur stdout
  • Sortie (brutale) avec CTRL/C
SCRIBBLE02 Logiciel de dessin à main levée pour X11 - Version 0.2
  • Curseurs différenciés selon l'état de la souris
  • Sortie avec Q
SCRIBBLE03 Logiciel de dessin à main levée pour X11 - Version 0.3
  • Tracés à mail levée
  • Effacement de la fenêtre avec E
SCRIBBLE04 Logiciel de dessin à main levée pour X11 - Version 0.4
  • Gestion des événements Expose
SCRIBBLE05 Logiciel de dessin à main levée pour X11 - Version 0.5
  • Support de la couleur, changement de couleur avec C
MOTIF01 Premier exemple du cours
  • Illustre les bénéfices de l'utilisation d'un toolkit
  • Affiche une fenêtre contenant un bouton Quitter
MOTIF02 Trois méthodes de création de widgets et de définition des ressources associées
  • Méthode 1 : création du widget puis définition des valeurs des ressources a posteriori
  • Méthode 2 : définition des valeurs des ressources, puis passage du tableau des valeurs de ressources à la fonction qui crée le widget
  • Méthode 3 : utilisation d'une fonction à nombre d'arguments variables pour créer le bouton et passer simultanément les valeurs de ressources
  • Méthode 4 : utilisation d'un fichier texte pour définir les valeurs des ressources.

Ce programme peut être compilé de manière conditionnelle afin de tester les différentes méthodes.

MOTIF03 Utilisation des chaînes de caractères Motif : XmString
MOTIF04 Utilisation des fonctions de callbacks et de l'argument call_data
MOTIF_BBOARD Utilitaire de conversion de valeurs en degrés F en degrés C.
Illustration du conteneur XmBulletinBoard
MOTIF_ROWC Utilitaire de conversion de valeurs en degrés F en degrés C.
Illustration du conteneur XmRowColumn
MOTIF_FORM Utilitaire de conversion de valeurs en degrés F en degrés C.
Illustration du conteneur XmForm
MOTIF_MENU Une barre de menus
MOTIF_UIL_LABEL Utilisation de UIL pour afficher un label
MOTIF_UIL_MENU01 Utilisation de UIL pour afficher une barre de menus
MOTIF_UIL_MENU02 Utilisation de UIL pour afficher une barre de menus ; affichage d'une pixmap (.XPM) en fond de fenêtre

Bibliographie

Les sites Web suivants m'ont aidé à réaliser ce cours, et présentent des informations intéressantes sur X Window et Motif :

http://www-igm.univ-mlv.fr/~berstel/Cours/
http://www.essi.fr/~buffa/cours/X11_Motif/cours/
http://groucho.univ-lemans.fr/~deloz/m3-ia/cours1/index.htm
http://www.droit.univ-paris5.fr/futtersack/francais/Enseignement/IHM/transparents/IHM1/index.htm

Par ailleurs, certaines parties de ce cours s'inspirent largement des transparents de MM. Tisserand et Lefaucheux, ex-enseignants à l'ESME Sudria, auxquels je succède.

... Gilles ROCHEFORT me remplace désormais auprès des étudiants de 3C. Il apportera certainement à ce cours sa touche personnelle. Bon courage Gilles :-)


Quelques liens

Windows Style Guide : http://msdn.microsoft.com/library/books/winguide/fore.htm
Motif Style Guide : http://www.bgu.ac.il/ebt-bin/nph-dweb/dynaweb/SGI_Developer/Motif_SG/@Generic__BookView
X Window System : http://www.x.org
XFree86 : http://www.xfree86.org
XWin32 (serveur X pour Windows) : http://www.starnet.com
MI/X (serveur X gratuit pour MacOS) : http://www.microimages.com/freestuff/mix/
OpenMotif : http://www.openmotif.org

 

... Retour au sommaire des cours ...


© Copyright Patrick LE QUÉRÉ 2002 - Dernière mise à jour le 07/03/04