# Interface graphique

En informatique, une interface graphique (en anglais GUI pour graphical user interface) ou un environnement graphique est un dispositif de dialogue homme-machine, dans lequel les objets à manipuler sont dessinés sous forme de pictogrammes à l'écran, de sorte que l'usager peut les utiliser en imitant la manipulation physique de ces objets avec un dispositif de pointage, le plus souvent une souris.
Ce type d'interface a été créé en 1973 sur le Xerox Alto par les ingénieurs du Xerox PARC pour remplacer les interfaces en ligne de commande. Mis sur le marché à la fin des années 1970 avec le Star de Xerox, le Lisa d'Apple est popularisé par cette dernière firme avec l'ordinateur Macintosh, commercialisé en 1984$^,$.
Les interfaces graphiques sont mises en œuvre par un ensemble de logiciels souvent inclus dans les systèmes d'exploitation (Windows) ou fournis avec eux par les distributions (Linux). Ils sont devenus vers le milieu des années 1990 le standard des appareils informatiques, notamment ordinateurs, tablettes, téléphones, récepteurs GPS et guichets automatiques de billetterie (dont bancaires).

## Histoire

En 1970, les ordinateurs se manipulent en tapant au clavier d'une console, voire sur carte perforée, des ordres indiquant les opérations et les noms des objets sur lesquels opérer — c'est l'interface en ligne de commande. Cette interface spartiate est imposée alors par le coût élevé des mémoires et la faible puissance des processeurs. En conséquence, « les usagers de nouveaux ordinateurs [étaient] souvent frustrés et déçus par de lourdes procédures de manipulation, des messages d'erreurs obscurs, des systèmes intolérants et confus au comportement incompréhensible, mystérieux et intimidant ». Or les prix des processeurs comme des mémoires diminuent peu à peu (voir Loi de Moore) et permettent d'envisager de transférer sur les machines une partie du travail des utilisateurs.
Le Xerox Star créé par Xerox en 1981 est une station de travail destinée à être utilisée pour la bureautique par des utilisateurs occasionnels. Ces utilisateurs sont employés de bureau et non informaticiens. Xerox leur met donc en place sur l'écran une métaphore de bureau : fichiers et répertoires cessent de se présenter comme des objets abstraits qu'on doit manipuler par un langage ad hoc, et sont représentés comme des dossiers, documents, et classeurs. On y ajoute une machine à écrire, une corbeille "à papiers" et même une calculatrice. Cliquer sur un de ces objets indique que l'on désire s'en servir et fait apparaître la liste des opérations possibles avec lui. On n'a donc plus jamais (sauf à sa création) à taper le nom de l'objet, ni à retenir et frapper celui d'une action. Les coûts de formation, la productivité et le confort y gagnent d'autant.
Cette interface est considérablement plus lente et coûteuse, en ressources comme en temps, mais rend l'ordinateur beaucoup plus simple d'emploi. Or les temps ont changé : un utilisateur coûte désormais plus cher par jour que l'ordinateur qu'il utilise : c'est donc son temps à lui qu'il faut réduire, quitte à dépenser davantage en matériel.
C'est à cette époque que Steve Jobs et son équipe d'ingénieurs visitent le centre de recherche Xerox Parc. Sur les trois sujets qui leur sont présentés, la métaphore du bureau, l'ethernet et la programmation objet, le jeune patron d'Apple cerne immédiatement le potentiel commercial de l'interface graphique couplée à l'usage d'une souris (il regrettera dans une interview ultérieure, avoir de ce fait moins porté attention aux deux autres), ce qui conduit en 1983 à la commercialisation de l'ordinateur Lisa multitâche, pour la moitié du prix du Xerox Star, et du Macintosh alors monotâche, deux fois moins cher que le Lisa, l'année suivante, premiers appareils grand public à profiter de ces innovations.
Parallèlement, l'idée de Xerox continue de se développer sur les stations de travail. En 1988, Sun Microsystems et AT&T proposent une interface graphique pour UNIX, OpenWindows, qui exploite la bibliothèque graphique X Window System. La bibliothèque Motif de l'Open Software Foundation suit quelques mois plus tard.

## Principes

Actuellement, la majorité des interfaces graphiques sont composées de fenêtres, icônes, menu et d'un système de pointage (souris, trackpad, trackpoint ou écran tactile) (anglais Window, Icon, Mouse, Pulldown menu, abr. WIMP), selon le principe lancé par Xerox en 1980.
Une fenêtre est une portion d'écran rectangulaire qui contient une vue d'une interface graphique. Les fenêtres peuvent être réduites, agrandies et disposées les unes sur les autres, telles des feuilles de papier. Une icône est un pictogramme ou un logo d'un objet que l'utilisateur peut manipuler. L'utilisation d'une image est plus innée et « naturelle » que celle d'un texte, les capacités de manipulation visuelles d'un humain apparaissant avant le langage.
L'utilisation du dispositif de pointage en lieu et place du clavier permet d'éviter de transcrire les opérations, évitant ainsi l'apprentissage du lexique et de la syntaxe de commandes et les erreurs de dactylographie. L'utilisation de la souris plutôt qu'un autre dispositif de pointage tel que le stylo ou l'écran tactile offre l'avantage que la main de l'usager n'est pas en face de l'écran et ne gêne pas la visibilité.
L'objet manipulé est continuellement visible, les modifications sont effectuées par des manipulations simples telles que pression sur un bouton ou déplacement de la souris, et le résultat est immédiatement visible et réversible. Des études comparatives réalisées en 1967 sur la vitesse de manipulation de différents appareils tels que stylo optique, joystick et souris ont démontré que la souris était l'appareil le mieux approprié pour désigner des objets.
User-friendly (littéralement : « amical avec l'usager ») est une qualité attribuée aux interfaces homme-machine. En ergonomie, cette qualité signifie que le dialogue entre la machine et l'humain se fait de la même manière qu'entre deux humains, la communication est ainsi rendue facile et naturelle, les erreurs sont mutuellement acceptées et corrigées, et de l'aide est apportée en cas de problème. Cette convivialité offerte par les interfaces graphiques permet aux utilisateurs de se familiariser très facilement avec un système ou un programme informatique sans avoir à suivre de formation.
Un logiciel de traitement de texte présente à l'écran les documents tels qu'ils seront une fois imprimés, selon le principe what you see is what you get (abr. WYSIWYG) — traduction : « ce que vous voyez est ce que vous allez obtenir ». Ce principe, hérité de l'interface graphique de Xerox, est utilisé dans de nombreuses applications informatiques.
L'interface utilisateur fait analogie à des objets familiers en vue de faciliter l'apprentissage. Dans un environnement de bureau, le contenu de l'ordinateur est présenté comme étant des documents et des classeurs sur un bureau. Le logiciel de traitement de texte s'utilise de manière similaire à une machine à écrire et la lecture de documents hypertexte est assimilée à de la navigation.

## Look and feel - aspect et comportement

Le look and feel est un ensemble de règles qui régissent la présentation visuelle ainsi que le comportement des interfaces graphiques. Les règles de présentation concernent en particulier l'usage des couleurs, la typographie, la présentation et la signification des logos et des icônes, la présentation des fenêtres — emplacement, forme et comportement des widgets — et les formes du curseur. Les règles de comportement régissent la manière dont les éléments visuels — notamment les widgets — répondent aux actions de l'utilisateur — mouvements de la souris, pression sur les boutons de la souris et du clavier. L'application de ces règles vise à faciliter l'apprentissage, améliorer la satisfaction utilisateur, apporter une identité visuelle aux produits et réduire leur coût de développement. Le look and feel est mis en œuvre en grande partie par le toolkit, la bibliothèque logicielle qui met en œuvre tous les objets manipulables (widgets) de l'interface graphique.

## Composition

L'interface utilisateur graphique ainsi que le système de fenêtrage qui sont nécessaires pour mettre en œuvre l'interface graphique sont souvent inclus dans le système d'exploitation, dans ce cas on parle d'interface système (shell). Cette suite logicielle manipule une image matricielle projetée à l'écran ; elle y dessine des lignes, des images et des textes sur demande de différents logiciels applicatifs. Les manipulations de l'image se font avec l'assistance d'un pilote informatique et du processeur graphique présent dans l'ordinateur. Cet ensemble récupère également les manipulations effectuées à la souris, et les distribue aux logiciels applicatifs concernés, en fonction de la fenêtre qui se trouve sous le curseur.
Un composant d'interface graphique (widget) est un composant logiciel qui met en œuvre un objet manipulable, celui-ci affiche à l'écran l'image d'un bouton poussoir, d'un curseur ou d'une lampe témoin, qui réagit aux manipulations de la souris. Un kit de composant d'interface graphique est typiquement inclus avec le système d'exploitation sous la forme d'une bibliothèque logicielle. Des kits de composant d'interface graphique additionnels sont disponibles sur le marché.
Un environnement de bureau est un logiciel qui sert à manipuler les fichiers et les programmes présents dans l'ordinateur. Le logiciel fait une analogie à un bureau, et présente le contenu de l'ordinateur sous forme d'objets tels que documents, classeurs, outils et corbeille à papier.