Article de reference

Interface utilisateur graphique

Une interface utilisateur graphique (GUI) présentant divers éléments : boutons radio, cases à cocher et autres. L’image affichée utilise l’ environnement de bureau KDE . Une int...

Une interface utilisateur graphique (GUI) présentant divers éléments : boutons radio, cases à cocher et autres. L’image affichée utilise l’ environnement de bureau KDE .

Une interface utilisateur graphique IUG ) une forme d' interface utilisateur permettant d' interagir avec des appareils électroniques grâce à des icônes graphiques et des indicateurs visuels comme la notation secondaire . Dans de nombreuses applications, les IUG sont utilisées à la place interfaces utilisateur textuelles , qui reposent sur la saisie de commandes ou la navigation textuelle. Les IUG ont été introduites en réaction à la complexité interfaces en commande ILC), nécessitent la saisie de commandes clavier .

Dans une interface graphique (GUI), les actions sont généralement réalisées par manipulation directe des éléments graphiques. Outre les ordinateurs, les interfaces graphiques sont utilisées dans de nombreux appareils mobiles portables tels que les lecteurs MP3 , les lecteurs multimédias portables, les consoles de jeux, les smartphones et les petits systèmes de contrôle domestiques, de bureau et industriels . Le terme « interface graphique » est généralement exclu des autres types d'interfaces à plus faible résolution d'affichage , comme les jeux vidéo (où les affichages tête haute ( HUD ) sont privilégiés), ainsi que des écrans plats tels que les écrans volumétriques car il se restreint aux écrans 2D capables d'afficher des informations génériques, conformément à la tradition de la recherche en informatique du Xerox Palo Alto Research Center .

L'interface graphique (GUI) s'affiche à l'écran. Elle résulte du traitement des données saisies par l'utilisateur et constitue généralement l'interface principale d'interaction homme-machine. Les interfaces tactiles, courantes sur les petits appareils mobiles, superposent l'affichage visuel aux données saisies.

La conception de la composition visuelle et du comportement temporel d'une interface graphique est un aspect important de la programmation d'applications logicielles dans le domaine de l' interaction homme-machine . Son objectif est d'améliorer l'efficacité et la facilité d'utilisation de la conception logique sous-jacente d'un programme enregistré ; cette discipline de conception est appelée ergonomie . Les méthodes de conception centrées sur l'utilisateur sont utilisées pour garantir que le langage visuel introduit dans la conception soit bien adapté aux tâches.

L'interface graphique visible d'une application est parfois appelée « chrome » ou « GUI » . Généralement, les utilisateurs interagissent avec les informations en manipulant des widgets visuels adaptés au type de données affichées. Les widgets d'une interface bien conçue sont sélectionnés pour permettre les actions nécessaires à la réalisation des objectifs des utilisateurs. L' architecture MVC (Modèle-Vue-Contrôleur) offre une grande flexibilité : l'interface est indépendante des fonctions de l'application et liée indirectement à celles-ci, ce qui facilite sa personnalisation. Les utilisateurs peuvent ainsi choisir ou créer un thème différent à leur guise, et le travail du concepteur est simplifié pour adapter l'interface à l'évolution des besoins. Une bonne conception d'interface graphique est davantage axée sur l'utilisateur que sur l'architecture système. Les widgets de grande taille, tels que les fenêtres , servent généralement de cadre ou de conteneur au contenu principal, comme une page web, un message électronique ou un dessin. Les widgets plus petits servent généralement d'outil de saisie.

Une interface graphique peut être conçue pour répondre aux exigences d'un marché vertical, à l'instar des interfaces graphiques spécifiques à une application. On peut citer comme exemples les guichets automatiques bancaires (GAB), les écrans tactiles de points de vente (PDV) dans les restaurants, les caisses libre-service utilisées dans les magasins de détail, les systèmes d'enregistrement et de billetterie automatique des compagnies aériennes, les bornes d'information dans les espaces publics, comme les gares ou les musées, et les moniteurs ou écrans de contrôle des applications industrielles embarquées utilisant un système d'exploitation temps réel (RTOS).

Les téléphones portables et les consoles de jeux portables utilisent également des interfaces graphiques tactiles spécifiques à certaines applications. Les automobiles récentes utilisent des interfaces graphiques dans leurs systèmes de navigation et leurs centres multimédias, ou dans des systèmes combinant navigation et centre multimédia.

Exemples

GNOME Shell
  • KDE Plasma 6
  • COPAIN
  • Windows sur un exemple de compositeur Wayland
    Windows sur un exemple de compositeur Wayland
  • Xfce
  • Éclaircissement
  • Sucre
  • Un environnement de système X Window twm
    Un environnement de système X Window twm
  • Gestionnaire de fenêtres en mosaïque dwm
  • Cannelle
  • Phosh
  • Composants

    Couches d'une interface graphique basée sur un système de fenêtrage
    langage visuel ont évolué pour représenter les informations stockées dans les ordinateurs. Cela facilite l'utilisation des logiciels par les personnes ayant peu de compétences informatiques. La combinaison la plus courante de ces éléments dans les interfaces graphiques est le paradigme WIMP ( fenêtres, icônes, champs de texte, canevas, menus, pointeur ), notamment sur les ordinateurs personnels .

    L'interface WIMP utilise un périphérique d'entrée virtuel pour représenter la position de l' interface d'un périphérique de pointage , généralement une souris , et présente les informations organisées en fenêtres et représentées par des icônes . Les commandes disponibles sont regroupées dans des menus, et les actions sont effectuées par des gestes avec le périphérique de pointage. Un gestionnaire de fenêtres facilite les interactions entre les fenêtres, les applications et le système de fenêtrage . Ce dernier gère les périphériques matériels tels que les périphériques de pointage, le matériel graphique et la position du pointeur.

    Sur les ordinateurs personnels , tous ces éléments sont modélisés à travers la métaphore du bureau pour produire une simulation appelée environnement de bureau , dans lequel l'écran représente un bureau sur lequel on peut placer des documents et des dossiers. Les gestionnaires de fenêtres et d'autres logiciels s'associent pour simuler cet environnement de bureau avec différents degrés de réalisme.

    Les entrées peuvent apparaître sous forme de liste pour laisser de la place au texte et aux détails, ou sous forme de grille pour plus de compacité et des icônes plus grandes avec peu d'espace en dessous pour le texte. Il existe des variantes intermédiaires, comme une liste à plusieurs colonnes d'éléments et une grille d'éléments avec des lignes de texte s'étendant latéralement à partir de l'icône.

    Les mises en page à plusieurs lignes et à plusieurs colonnes les plus courantes sur le web sont les mises en page « étagère » et « cascade ». La première est utilisée sur les moteurs de recherche d'images , où les images ont une hauteur fixe mais une longueur variable ; elle est généralement implémentée avec la propriété CSS `h` et le paramètre `h` display: inline-block;. La mise en page en cascade, que l'on retrouve sur Imgur et TweetDeck, avec une largeur fixe mais une hauteur variable pour chaque élément, est généralement implémentée en spécifiant `h` column-width:.

    Interface post-WIMP

    les assistants numériques personnels (PDA) et les smartphones, utilisent généralement les éléments WIMP avec des métaphores unificatrices différentes, en raison des contraintes d'espace et des périphériques d'entrée disponibles. Les applications pour lesquelles WIMP n'est pas bien adapté peuvent utiliser des techniques d'interaction plus récentes , appelées collectivement interfaces utilisateur post-WIMP .

    En 2011, certains systèmes d'exploitation tactiles, tels qu'iOS ( iPhone ) d'Apple et Android, utilisaient la classe d'interfaces graphiques appelées post-WIMP. Celles-ci prennent en charge des modes d'interaction utilisant plusieurs doigts en contact avec l'écran, permettant des actions telles que le pincement et la rotation, impossibles à réaliser avec un seul pointeur ou une souris.

    Interaction

    Les dispositifs d'interface humaine , pour une interaction efficace avec une interface graphique, comprennent un clavier d'ordinateur , notamment utilisé avec des raccourcis clavier , des dispositifs de pointage pour le contrôle du curseur (ou plutôt du pointeur ) : souris , joystick , pavé tactile , trackball , joystick , claviers virtuels et affichages tête haute (dispositifs d'information translucides au niveau des yeux).

    Il existe également des actions effectuées par les programmes qui affectent l'interface graphique. Par exemple, des composants comme inotify ou D-Bus facilitent la communication entre les programmes informatiques.

    Histoire

    En 1963, Ivan Sutherland développa Sketchpad , largement considéré comme le premier logiciel de conception assistée par ordinateur (CAO) graphique . Il utilisait un stylet optique pour créer et manipuler en temps réel des objets dans des dessins techniques, avec des graphismes coordonnés. À la fin des années 1960, des chercheurs du Stanford Research Institute , dirigés par Douglas Engelbart , développèrent le système en ligne (NLS), qui utilisait des hyperliens textuels manipulés avec un périphérique alors nouveau : la souris . (Une démonstration du NLS en 1968 est restée célèbre sous le nom de « Mère de toutes les démos ».) Dans les années 1970, les idées d'Engelbart furent affinées et étendues aux graphismes par des chercheurs du Xerox PARC , et notamment par Alan Kay , qui alla au-delà des hyperliens textuels et utilisa une interface graphique (GUI) comme interface principale pour le langage de programmation Smalltalk , exécuté sur l' ordinateur Xerox Alto , sorti en 1973. La plupart des interfaces graphiques modernes à usage général sont dérivées de ce système.

    L'interface graphique du Xerox PARC était composée d'éléments graphiques tels que des fenêtres , des menus , des boutons radio et des cases à cocher . Le concept d' icônes a été introduit ultérieurement par David Canfield Smith , qui avait rédigé une thèse sur le sujet sous la direction de Kay. L'interface graphique du PARC utilisait un dispositif de pointage ainsi qu'un clavier. Ces aspects peuvent être mis en évidence par l'acronyme WIMP ( Windows, Icons, Menus, Pointing Device ). Ces travaux ont abouti en 1973 au Xerox Alto , le premier ordinateur doté d'une interface graphique, bien que ce système n'ait jamais été commercialisé.

    Le premier ordinateur commercialisé avec une interface graphique (GUI) fut la station de travail PERQ de 1979 , fabriquée par Three Rivers Computer Corporation. Sa conception était fortement influencée par les travaux menés au Xerox PARC. En 1981, Xerox commercialisa finalement les idées de l'Alto sous la forme d'un système nouveau et amélioré : le Xerox 8010 Information System, plus communément appelé Xerox Star . Ces premiers systèmes ont stimulé de nombreux autres projets d'interfaces graphiques, notamment les machines Lisp de Symbolics et d'autres constructeurs, l' Apple Lisa (qui a introduit le concept de barre de menus et de contrôle des fenêtres ) en 1983, l' Apple Macintosh 128K en 1984, et l' Atari ST avec le logiciel GEM de Digital Research , ainsi que le Commodore Amiga en 1985. Visi On est sorti en 1983 pour les ordinateurs compatibles IBM PC , mais n'a jamais rencontré de succès en raison de ses exigences matérielles élevées. Néanmoins, elle a exercé une influence cruciale sur le développement contemporain de Microsoft Windows .

    Apple, Digital Research, IBM et Microsoft ont largement utilisé les idées de Xerox pour développer leurs produits. Les spécifications Common User Access d'IBM ont quant à elles servi de base aux interfaces graphiques de Microsoft Windows, d'IBM OS/2 Presentation Manager et du gestionnaire de fenêtres et boîte à outils Motif d'Unix . Ces concepts ont évolué pour donner naissance à l'interface des versions actuelles de Microsoft Windows et de divers environnements de bureau pour les systèmes d'exploitation de type Unix , tels que macOS et Linux . De ce fait, la plupart des interfaces graphiques actuelles partagent des idiomes communs.

    Un Apple Lisa (1983) présentant le système bureautique Lisa (LisaOS), qui intégrait la première interface graphique commerciale d'Apple Computer.

    Vulgarisation

    Gestionnaire de système HP LX exécuté sur un HP 200LX

    Au début des années 1980, l'intérêt pour les interfaces graphiques (GUI) s'est accru. L' Apple Lisa , lancée en 1983, était onéreuse et n'a pas rencontré le succès commercial escompté. De nombreuses applications, pour différentes plateformes, proposaient leurs propres variantes d'interface graphique. Malgré les avantages de ces interfaces, de nombreux critiques ont remis en question la pertinence du concept , invoquant les limitations matérielles et les difficultés à trouver des logiciels compatibles.

    En 1984, Apple a présenté le Macintosh lors du Super Bowl XVIII avec la publicité télévisée « 1984 » [ faisant allusion au roman 1984 de George Orwell . L’objectif de cette publicité était d’inciter le public à s’intéresser aux ordinateurs, en présentant l’interface conviviale comme celle d’un ordinateur personnel, rompant ainsi avec les systèmes antérieurs orientés vers les entreprises et devenant un symbole des produits Apple

    L' Atari ST de 1985 était livré avec l' interface graphique GEM de Digital Research , également disponible pour MS-DOS . L' Amiga 1000 est sorti la même année, mais n'a été largement distribué qu'à partir de 1986, avec l' environnement graphique Workbench . Cette interface fonctionnait comme une tâche distincte, ce qui lui conférait une grande réactivité et, contrairement aux autres interfaces graphiques de l'époque, elle ne se bloquait pas lorsqu'un programme était en cours d'exécution.

    Windows 95 , accompagné d'une vaste campagne marketing, a connu un succès majeur sur le marché dès son lancement et est rapidement devenu le système d'exploitation de bureau le plus populaire.

    En 2007, avec l’ iPhone et plus tard en 2010 avec l’introduction de l’ iPad [ a popularisé le style d’interaction post-WIMP pour les écrans multitouch , et ces appareils ont été considérés comme des étapes importantes dans le développement des appareils mobiles .

    Les interfaces graphiques les plus familières à la fin des années 2010 sont Windows , macOS et le système X Window pour les ordinateurs de bureau et portables, ainsi qu'Android , iOS d'Apple , Symbian , BlackBerry OS , Windows Phone / Windows 10 Mobile , Tizen , WebOS et Firefox OS pour les appareils mobiles ( smartphones ).

    Comparaison avec d'autres interfaces

    On dit que c'est une machine qui sollicite davantage l'hémisphère droit du cerveau, et je crois qu'il y a du vrai là-dedans. Je pense qu'il y a quelque chose de particulier à utiliser une interface graphique et une interface plus dynamique : on manipule réellement l'information, on la voit bouger comme si elle avait une substance. Et on ne voit pas ça sur un PC. Le PC est une machine très conceptuelle ; on manipule l'information comme on manipule des formules, les éléments de part et d'autre d'une équation. Je pense qu'il y a une différence.

    Andrew Fluegelman sur Macintosh, 1985

    Interfaces en ligne de commande

    Une interface de ligne de commande (CLI) moderne

    Comme les interfaces en ligne de commande offrent un grand nombre de commandes, des opérations complexes peuvent être réalisées à l'aide de courtes séquences de mots et de symboles. Des fonctions personnalisées permettent d'accéder plus facilement aux actions fréquentes. Les interfaces en ligne de commande sont plus légères , car elles n'affichent que les informations nécessaires à la tâche ; par exemple, pas de prévisualisation ni de rendu graphique des pages web. Cela permet une efficacité et une productivité accrues une fois les commandes maîtrisées. Cependant, atteindre ce niveau prend du temps, car les commandes ne sont pas toujours faciles à trouver ou à mémoriser . De plus, l'utilisation de la ligne de commande peut devenir lente et sujette aux erreurs lorsque les utilisateurs doivent saisir de longues commandes comportant de nombreux paramètres ou plusieurs noms de fichiers simultanément. En revanche, les interfaces WIMP ( fenêtres, icônes, menus, pointeur ) proposent aux utilisateurs de nombreux widgets qui représentent et peuvent déclencher certaines des commandes disponibles du système.

    Les interfaces graphiques peuvent devenir très complexes lorsque les boîtes de dialogue sont profondément enfouies dans le système ou déplacées lors de refontes. De plus, les icônes et les boîtes de dialogue sont généralement plus difficiles à programmer pour les utilisateurs.

    Les WIMPs utilisent abondamment les modes , car la signification de chaque touche et de chaque clic à un emplacement précis de l'écran est constamment redéfinie. Les interfaces en ligne de commande n'utilisent les modes que de manière limitée, par exemple pour le répertoire courant et les variables d'environnement .

    La plupart des systèmes d'exploitation modernes proposent à la fois une interface graphique et une interface en ligne de commande, même si les interfaces graphiques bénéficient généralement d'une plus grande attention.

    wrappers d'interface graphique

    interfaces en ligne de commande (CLI) des applications logicielles (généralement) Linux et de type Unix , ainsi que leurs interfaces textuelles ou leurs libellés de commandes. Si les applications en ligne de commande permettent aux utilisateurs d'exécuter un programme de manière non interactive, les interfaces graphiques évitent la complexité de l'apprentissage de la ligne de commande, qui exige la saisie de commandes au clavier . En lançant une interface graphique, les utilisateurs peuvent interagir intuitivement avec l'application, la démarrer, l'arrêter et modifier ses paramètres de fonctionnement, grâce à des icônes et des indicateurs visuels rappelant un environnement de bureau . Certaines applications proposent les deux interfaces ; dans ce cas, l'interface graphique est généralement une surcouche légère (WIMP) de la version en ligne de commande. C'est particulièrement courant pour les applications conçues pour les systèmes d'exploitation de type Unix . Cette dernière était souvent privilégiée car elle permettait aux développeurs de se concentrer exclusivement sur les fonctionnalités de leur produit sans se soucier des détails d'interface tels que la conception des icônes et le placement des boutons. Cette approche permet également aux utilisateurs d'exécuter le programme via un script shell .

    Interface utilisateur graphique tridimensionnelle

    graphiques 3D pour projeter des objets d'interface utilisateur 3D à l'écran. L'utilisation de la 3D s'est généralisée dans les systèmes d'exploitation grand public (par exemple, Windows Aero et Aqua (macOS)) afin de créer des interfaces attrayantes, voire esthétiques (comme l'utilisation d' ombres portées sous les fenêtres et le curseur ), ou pour des raisons fonctionnelles propres à la 3D. Par exemple, le changement d'utilisateur est représenté par la rotation d'un cube dont les faces correspondent à l'espace de travail de chaque utilisateur, et la gestion des fenêtres est assurée par un mécanisme de basculement de type Rolodex dans Windows Vista (voir Windows Flip 3D ). Dans les deux cas, le système d'exploitation transforme les fenêtres à la volée tout en mettant à jour leur contenu.

    L'interface graphique est généralement basée sur WIMP, bien que d'autres métaphores apparaissent parfois, comme celles utilisées dans Microsoft Bob , 3dwm, File System Navigator, File System Visualizer , 3D Mailbox et GopherVR . Le zoom (ZUI) est une technologie apparentée qui promet de fournir les avantages de la représentation 3D sans ses inconvénients liés aux problèmes d'orientation et aux objets cachés. En 2006, Hillcrest Labs a introduit la première interface ZUI pour télévision . Parmi les autres innovations, citons les menus de la PlayStation 2 et de la Xbox , Project Looking Glass de Sun , Metisse (similaire à Project Looking Glass) , BumpTop (permettant de manipuler documents et fenêtres avec des mouvements et une physique réalistes), Croquet OS (conçu pour la collaboration) et les gestionnaires de fenêtres composites tels qu'Enlightenment et Compiz . La réalité augmentée et la réalité virtuelle utilisent également des éléments d'interface graphique 3D.

    En science-fiction

    Les interfaces graphiques 3D sont apparues dans la littérature et les films de science-fiction , avant même que certaines technologies ne soient réalisables ou couramment utilisées.