La notion d'interface



Définitions

Le terme utilisé pour décrire les composants physiques ou logiques qui permettent de contrôler et d'utiliser un système donné est celui d'interface. Plusieurs analogies sont ici possibles parmi lesquelles je cite celle de l'automobile. L'automobile est un système complexe abritant divers sous-systèmes dont un système de locomotion, un système de direction, un système électrique, un système de freinage, etc. Pour être utilisable par l'humain et devenir un système utile permettant le déplacement, les divers systèmes composant l'automobile offrent un autre système spécialisé celui-là dans la représentation visuelle : le tableau de bord avec les divers accessoires qui s'y rattachent : le volant, les pédales d'embrayage, de freinage et d'alimentation en essence, les divers cadrans, boutons et manettes, etc. On peut voir ces éléments comme composant l'interface de l'automobile, et permettant l'accès et l'utilisation des divers systèmes constituant l'automobile. L'interface d'un système devient le lieu où sont "publiées" ou "rendues publiques" les fonctions du système, lui permettant d'afficher ses fonctions, dans le cas de l'automobile: le transport et le déplacement de ses passagers.

Le concept d'interface graphique est apparu il y a plus de 20 ans, en Californie. Ce concept avait pour principaux objectifs d'offrir une façon plus commode d'accéder et de contrôler les divers éléments composant un système informatique et de mieux servir ces systèmes informatiques qui se complexifiaient de plus en plus. L'interface graphique, en anglais Graphic User Interface (GUI), précède la naissance des micro-ordinateurs mais trouvera dans ces derniers un support jusque là inexistant.

L'histoire de la naissance des ordinateurs nous apprend en effet que les premiers ordinateurs étaient des monstres destinés principalement aux informaticiens. L'interface ici utilisée était des plus sommaire, des cables avec des tableaux de branchement d'abord puis des cartes perforées, puis des rubans magnétiques et quelques boutons à presser… Dans l'esprit du temps c'était là tout ce qui était nécessaire puisque ces machines étaient destinées aux informaticiens, des spécialistes, qui savaient comment les utiliser et en tirer ce qu'ils avaient besoin: des calculs. L'apparition des micro-ordinateurs répond à d'autres besoins et à une vision alors jugée empreinte d'idéalisme, celle de faire de ces outils des outils publics, permettant à chacun de les utiliser selon des besoins spécifiques, dans des tâches aussi diverses que le traitement de texte, les bases de données, le dessin, la musique, etc. Les travaux des chercheurs et les résultats des recherches sur l'interface trouvèrent ici un écho permettant de confirmer l'importance d'une congruence entre les divers éléments d'un système et de fonctions clairement identifiées.

L'efficacité d'un système complexe doit beaucoup à son interface, par laquelle l'utilisateur prend contrôle du système, lui permettant de réaliser les tâches voulues. Un environnement informatique est un système complexe, contenant de nombreux sous-systèmes chargés de tâches spécifiques: l'affichage à l'écran, la gestion des périphériques, l'accès et le contrôle des données, etc. La mise en place d'un système de représentation graphique permettant de rendre visibles les diverses tâches logiques sous-tendues par ce système trouva un accueil enthousiaste auprès du public et jouera une part importante dans la popularité qu'obtiennent aujourd'hui les micro-ordinateurs.

On dit de Windows qu'il est un système d'exploitation utilisant une interface graphique. Les interfaces de type graphique ont tous de nombreux traits en commun, peu importe la plateforme sur laquelle elles sont installées. Ou les reconnaîtra comme étant basées sur un mode de représentation iconique où des représentations visuelles (icônes) permettent de minimiser la charge cognitive du rappel des diverses commandes. C'est certainement là l'élément le plus caractéristique que viendra compléter un système de pointage à l'écran permettant d'agir sur ces icônes. Voici une liste des principales caractéristiques des interfaces graphiques, et de Windows par le fait même.

Cette liste n'est pas exhaustive. Elle comprend toutefois les principaux éléments auxquels sont venus s'ajouter d'autres systèmes à la suite des divers perfectionnements technologiques ou des diverses prises de conscience qu'ils permettaient. La section suivante reprendra maintenant chacun des éléments de cette liste pour tenter d'en identifier les rôles et d'en dégager les applications pratiques.

haut de la page


La représentation graphique

Par représentation graphique, nous référons ici à la représentation à l'écran des diverses structures de données que sont les fichiers et les dossiers. Les chercheurs en sciences cognitives, dans les années 60, avaient tôt fait de reconnaître qu'un mode d'affichage associant des éléments graphiques signifiants à des structures de données permettait un meilleur rappel en diminuant la charge cognitive nécessaire pour autrement se rappeler les commandes de plus en plus nombreuses nécessaires à l'utilisation d'un environnement informatique complexe.

Le travail réalisé à cette époque a permis la création d'une série d'icônes dont la plupart sont encore utilisées aujourd'hui. C'est à cette époque qu'apparurent en effet les concepts de feuille pour représenter un fichier, de dossier pour représenter un répertoire, la corbeille pour supprimer des documents, etc.

À la base de ce concept se trouve l'idée de métaphore et de représentation des connaissances. Selon ce plan l'utilisation d'une image représentant par exemple un dossier ou une chemise est plus significative que de voir le simple mot "dossier". De plus si cette image de dossier est capable de certains comportements issus de la vie courante et liée à nos connaissance du monde, il sera possible de se servir de cette image comme d'un objet dont on pourra vérifier les propriétés. Ainsi, l'une des propriétés du dossier (folder) étant d'être un contenant, sa représentation iconique affichera aussi cet état d'ouverture, nous permettant d'accéder à son contenu.

Il en va de même de la corbeille de papier utilisée pour jeter les objets et éléments qui ne nous sont plus utiles. Nous avons tous dans la vie courante une connaissance et une représentation conceptuelle du rôle de la corbeille à papiers (ou bac de récupération). On parlera de connaissances antérieures relatives au domaine. L'utilisation dans un environnement virtuel d'un tel objet a pour but d'éveiller en nous la structure de connaissances qui y est liée de façon à nous permettre de comprendre rapidement qu'il est possible d'utiliser cet objet pour supprimer des éléments qui ne nous sont plus utiles. Le besoin d'explication sur la nature et le rôle de l'objet corbeille est ici réduit à son minimum, voire rendu inutile, par la connaissance pratique que nous en possédons.

Tant qu'il existe de telles analogies entre les objets et les commandes appartenant à l'environnement informatique et celles appartenant à notre univers matériel concret, l'utilisation d'icônes et de métaphore a son sens. On peut toutefois questionner la volonté d'imposer à tout prix des métaphores. Certains éléments de l'environnement informatique se prêtent moins bien que d'autres et en certains cas il sera plus simple d'utiliser des mots pour illustrer de telles commandes, marquant ainsi les limites du procédé.

haut de la page


La manipulation directe

Cette expression désigne la possibilité d'utiliser un périphérique d'entrée muni d'un pointeur pouvant agir sur l'écran et les divers éléments, représentés par des icones, posés sur le bureau. La souris est le principal périphérique utilisé pour réaliser la manipulation directe mais il en existe d'autres tels l'écran tactile, le crayon et la tablette graphique, la manette de jeu, le crayon optique etc. Ce principe, au début révolutionnaire, passe maintenant inaperçu tellement son utilisation est devenue courante.

La manipulation directe est au coeur de l'environnement graphique. Une fois les décors installés, (taille du bureau, couleurs, image de fond, ...) et les acteurs en place, (programmes, documents, dossiers), pour que tout prenne vie et devienne fonctionnel, il fallait encore donner à l'utilisateur un moyen d'interagir. La souris joue ce rôle, nous permettant de déplacer à l'écran, à travers l'ensemble des objets qui peuplent l'environnement, les éléments que l'on veut bien explorer, utiliser, déplacer, etc.

Ainsi la manipulation directe repose elle aussi sur une métaphore. Celle du prolongement de la main. Et par le fait même les gestes et actions associés à l'utilisation de la main lui sont associés. Il faudra voir dans la souris plus que le simple déplacement du pointeur à l'écran mais aussi la possibilité de sélectionner, d'ouvrir, de déplacer, etc. Cette série de gestes sont inspirés des manipulations courantes et utilisent un nombre limité d'actions pour rendre ces gestes opérationnels. On identifiera ici les boutons de gauche ou de droite, le clic de souris ainsi que le double-clic. Ce clic en apparence anodin et simple est à son tour décomposable en deux moments: le bouton est pressé, ou relâché. En anglais, dans les divers langages de programmation, on utilise la formule onMouseDown et onMouseUp. Cette formule abrite divers corrolaires dont onMouseOver, onMouseEnter, onMouseOut, pour identifier le moment où le pointeur se trouve au-dessus d'un objet ou d'une région et qu'aucun bouton n'a encore été pressé.

Le simple clic de souris est utilisable sur deux boutons au moins. Bien qu'il existe des souris à trois boutons la plupart des souris sont configurés pour fonctionner sur deux boutons: le bouton de droite ou celui de gauche. Et vous verrez la commande onMouseDown se raffiner encore pour interpréter le bouton à l'origine du message clic. Si le bouton pressé est le droit alors réaliser telle action sinon utiliser telle autre… Une navigation avertie dans l'environnement graphique et les logiciels vous permettra de constater la présence de ces diverses commandes.

Par la suite, et pour compléter le tableau des diverses actions disponibles ou possibles à l'utilisateur, il nous reste à ajouter la conjuguaison du déplacement avec le clic. En anglais cette action s'appelle Drag et se termine généralement par le Drop. Glisser, déposer. Cette suite d'actions prend beaucoup de place dans l'environnement Windows où son utilisation à divers niveaux de l'environnement permet des commandes très diverses. Vous utiliserez le Glisser/Déposer pour mettre des documents à la corbeille, pour les changer de dossier. Vous utiliserez cette commande pour réaliser des copies et pour récupérer des documents situés sur d'autres ordinateurs, mais elle sera aussi disponible pour déplacer une partie d'image dans un dessin en mode par points ou une suite de caractères dans un logiciel de traitement de texte. Pour le moment contentons-nous de reconnaître l'ingéniosité derrière l'implantation de cette métaphore active.

La manette de jeu peut ainsi être perçue comme un prolongement de la souris, réunissant un plus grand nombre de boutons dans un même dispositif prolongeant à son tour la main.

haut de la page


Des fenêtres pour l'affichage

Dans l'environnement graphique, tout objet s'ouvre sur une fenêtre, laquelle est redimensionnable et peut à son tour en contenir d'autres. La notion de fenêtre est centrale. Elle prend en fait tellement de place dans l'environnement de Microsoft que celui-ci décide d'appeler son environnement graphique Windows... Nous aborderons plus en détail ces éléments dans la section fenêtres.
haut de la page


Des menus déroulants

L'utilisation de menus déroulants fut un des premiers pas dans la gestion de l'espace de l'interface graphique. Par l'application de cet expédient, il devenait possible de cacher des zones d'écrans, contenant les principales commandes liées à une fenêtre particulière d'un programme, lorsqu'elles n'étaient pas requises. En les regroupant dans un même espace, une zone rectangulaire situé dans le haut de l'écran, on constitua des barres de menus.

Composition de la barre de menus.

Ceux-ci sont dits déroulants car ils contiennent des listes de commandes (les menus eux-mêmes) qui ont la propriété de se dérouler dans la fenêtre. Ils se referment et redeviennent cachés aussitôt la commande exécutée, redonnant à la fenêtre du programme sa priorité d'affichage. Le contenu des menus est appelé articles, items, ou rubriques.

Par la suite le menu déroulant sera détaché de la barre de menus et associé au pointeur de la souris dans la création du menu contextuel. On l'appelle ainsi parce qu'il dépend du contexte, pouvant afficher de nouveaux éléments selon l'objet de l'environnement pointé. Ainsi le menu contextuel associé à l'objet dossier n'est pas le même que celui de l'objet document. L'affichage d'un menu contextuel est déclenché par une pression (clic) sur le bouton de droite de la souris.

haut de la page


La notion d'objets

Au cœur de l'interface graphique se trouve la notion d'objet et de programmation orientée objets. Ce concept de programmation vit le jour dans les années 1960 et révolutionna la façon de concevoir la représentation des connaissances, la relation entre les programmes et les parties de programmes ainsi que des structures de données et de fichiers.
En programmation orientée objet, les divers composants d'un système se voient considérés comme des acteurs, ayant des propriétés et des attributs qu'on peut modifier. Il appartient aussi aux acteurs d'exécuter les commandes qui leurs sont attachées, appelées méthodes. Ce concept de décentralisation assigne à chaque objet la responsabilité de ses actions sous la supervision du système qui interprète et gère les messages qui lui sont envoyés.

L'objet Police de caractères et ses propriétés

Ces divers éléments rendent la notion d'objets centrale à l'environnement informatique utilisant une interface graphique. Les objets sont à la fois la convergence de la représentation graphique de la métaphore et des actions posées ou résultant de la manipulation directe. Les objets deviennent aussi une façon commode de conserver des structures de données, une structure unifiée par des limites précises liées aux méthodes qui lui sont attribuées. Ces objets deviennent utiles à la fois au programmeur pour mettre en place divers éléments d'une interface et à l'utilisateur qui peut retrouver rapidement le sens qui lui est attribué. Ce sont les objets avec leurs diverses propriétés qui rendent possible la navigation. Naviguer devient l'exploration des diverses propriétés des objets d'un environnement et par extension, de l'environnement et des divers objets qui le constituent.

haut de la page


Une structure hiérarchisée

Cette structure hiérarchisée se rencontre à différents niveaux et présente de nombreux aspects. Sa première manifestation est sans doute dans l'organisation des fichiers et des différentes routines qui en permettent l'accès. Ainsi, au cœur de Windows, se trouve un dossier appelé Windows lequel abrite d'autres dossiers et des fichiers de commandes accessibles à l'ensemble de l'environnement. Cet environnement pourra être configuré en utilisant un panneau de contrôle, donnant accès aux divers périphériques de l'environnement.

représentation d'une structure en arbre

Au premier niveau de la hiérarchie se présente le bureau (traduction de Desktop: dessus de bureau). Ce bureau, utilisant la métaphore de la table de travail commune à tout environnement de travail physique réel, tente d'offrir des routines d'accès facilement identifiables aux divers composants du système.

La hiérarchie se retrouve jusque dans le système de messages hautement sophistiqué qui accompagne l'exécution de toute tâche Windows. Le démarrage de tout programme met en place un réseau de communication complexe où le simple fait de presser un bouton de la souris déclenche une série d'activités, invisibles à l'utilisateur certes mais non moins réelles et constantes.

Le simple fait de déplacer une fenêtre au-dessus d'une autre demande des rafraichissements de la partie d'écran se trouvant dessous. On parlera alors de rafraîchissements d'écrans. La réalisation de ces opérations se fait en échangeant des messages. On peut simplifier en disant que la fenêtre déplacée envoie un message au systême d'exploitation pour l'informer des changements l'affectant lequel décide des mesures à prendre pour conserver au bureau ou à la fenêtre sa cohérence. Il lui envoie ensuite à son tour un message lui demandant de se repeindre. Les messages sont traités l'un à la fois et en temps partagé par le microprocesseur, chacun attendant son tour d'être intercepté et traité.

Autre utilisation de cette hiérarchie: les menus. L'application systématique de l'inclusion de dossiers peut ici prendre des proportions réduisant l'avantage qu'apportait au départ la possibilité de d'enchaîner les menus. Un chemin excessivement long à parcourir pour l'atteinte du but augmente la difficulté sur le plan de la manipulation et augmente le risque d'erreur.

une hiérarchie de dossiers...

haut de la page


Le partage des fonctions communes

Au coeur de l'interface graphique se trouvent des fichiers de commandes contenant des fonctions communes à tous les programmes hébergés dans le système. Ces fichiers portent le nom de bibliothèque.

Les bibliothèques de commandes (en anglais Dynamic Link Libraries) permettent d'établir des liens dynamiques entre différents modules ou encore entre le système d'exploitation et les applications. Ces fichiers sont facilement reconnaissables à l'extension .dll qu'ils portent habituellement.
La possibilité de partager, dans un environnement donné et pour tous les programmes utilisant cet environnement, une même série de commandes relatives aux tâches courantes telles l'affichage, la manipulation directe, l'utilisation de blocs de texte et d'images fut l'une des principales raisons contribuant à l'implantation de l'interface graphique. Par cette utilisation, tous les programmes de l'environnement se trouvaient libérés du besoin de recréer les routines de bases mentionnées précédemment. Ces routines étant par définitions indispensables au système d'exploitation, il suffit au programme ou à l'objet concerné d'envoyer un appel, en utilisant le système de messagerie de Windows, pour avoir accès aux commandes qui s'y trouvent. Ce fait permit de plus, d'assurer une homogénéité de facture des programmes de l'environnement, assurant une navigation plus facile pour l'utilisateur qui retrouve des menus semblables, voire identiques, pour les mêmes commandes.


page suivante

notes sur Windows