Ce module initie à la conception et à programmation d'interfaces graphiques. En abordant l'ergonomie comme une science, les facteurs cognitifs associés à l'utilisation d'une interface, les différents modèles de conception, les aspects techniques propres aux I.H.M., l'étudiant est en mesure de mener à bout un petit projet fondé sur une l'utilisation d'une interface graphique.
En pratique, le serveur graphique X11 (X11R6) et la bibliothèque bas niveau Xlib sont étudiés, mais on utilise surtout la bibliothèque Tkinter du langage Python qui permet la création d'interfaces graphiques. Les sources produits sont portables puisqu'il suffit d'avoir l'interprète Python pour pouvoir exécuter l'application correspondante (disponibles sous Linux, Windows, MacOS, Solaris, etc.).
Il existe bien entendu d'autres GUI (Graphical User Interface) qui se présentent sous la forme de bibliothèques tel que Gnome (GLib Reference Manual, GDK Reference Manual, GTK+ Reference Manual) ou Qt (Qt Documentation) et qui ont leurs propres qualités mais qui sont relativement difficiles à assimiler dans le temps qui nous est imparti dans ce module.
Quelques transparents du cours
- introduction
- physiologie et matériel
- la bibliothèque tkinter
- IUG, principes et normes
- le serveur X11
- la bibliothèque Xlib
Documentation disponible sur le sujet
- Python : utilisation de fenêtres et de graphismes (developpez.com)
- Graphical User Interfaces with Tk
- Tkinter 8.5 reference: a GUI for Python
- Tk Commands
- An Introduction to Tkinter
- Documentation for the X Window System Version 11 Release 6.8 (X11R6.8)
Sujets de T.P.
- Tkinter TP 1 : introduction au langage python et pratique des widgets avec tkinter.
- Tkinter TP 2 : une première application graphique avec tkinter.
- X11 TP 1 : familiarisation avec l'environnement X11 et le "desktop" Xfce.
Projets
- projet : "En garde"
- projets des années antérieures : The Rename, Winamp Killer, Système HUD pour voiture, Aliens, Pingouins, Robot, Tableau numérique interactif, Duel dans le ciel, Entrelacs celtes, EXIF, Simulateur logique, Gestionnaire de tâches, Tour à dés, Tableaux à fils, Modélisation isométrique, La guerre des robots.