Aspects Morphologiques de l'Interaction Humain-Ordinateur:
Étude de Modèles d'Interaction Gestuels

Thomas Baudel(c)
Thèse de Doctorat en Informatique
sous la direction de Michel Beaudouin-Lafon
soutenue le 15 décembre 1995 à l'Université de Paris Sud

previous Up next

II. Les méthodes d'interaction actuelles et leur modélisation

Working with an interactive programming system

Extrait de [Meadow 1970] .

Avant de détailler nos travaux, il convient de présenter sur quelles bases ils reposent. Notre domaine s'est forgé à la fois par des avancées menées sans formalisation et des travaux postérieurs de rationnalisation. Après un historique des techniques d'interaction, nous exposerons donc les recherches menées sur un terrain pratique, faites de solutions ad-hoc, puis les tentatives de formalisation menées jusqu'à présent.

II.1. Taxonomie des modèles d'interaction actuels

L'histoire de l'interaction homme-machine est assez récente, et on peut citer son origine à l'apparition des premiers ordinateurs autorisant le travail en temps partagé et suffisamment puissants pour permettre une utilisation interactive à un coût modéré. Malgré quelques prototypes précurseurs dans les années 1960 (SketchPad de Y. Sutherland [Sutherland 1963], travaux sur les hypertextes de Douglas Engelbart [Engelbart et English 1968]...), on voit apparaître la notion d'interaction homme-machine au début des années 1970. C'est lorsque les utilisateurs peuvent accéder directement à un télétype pour entrer leurs programmes au lieu de devoir confier leurs programmes à un opérateur pour une exécution en "batch" que l'on commence à considérer sérieusement les problèmes d'ergonomie des systèmes interactifs.

L'évolution des modèles d'interaction proposée suit la progression des fonctionnalités offertes par les systèmes d'exploitation, du matériel d'entrée/sortie et dans une moindre mesure l'expérience acquise. Ceci nous permet de proposer une taxonomie raisonnable des grandes classes de modèles d'interaction actuels reposant en grande partie sur leur historique. Cette taxonomie est couramment exposée dans des ouvrages de référence ( [Shneiderman 1986] p. 57 et [Baecker et Buxton 1987], p. 427, [Foley et Dam 1990]). Cependant nous souhaitons ici systématiser les techniques employées et les variations de styles existantes, ce qui nous permettra de mettre en lumière caractéristiques communes et oppositions des modèles d'interaction.

La présentation reste informelle dans ce chapitre. En effet, les modèles d'interaction actuels sont simples à décrire en langage courant, utiliser un quelconque formalisme de définition de modèles d'interaction eût été lourd et n'aurait pas permis de mettre en valeur efficacement les caractéristiques saillantes des modèles d'interaction. Nous présenterons ultérieurement des méthodes plus formelles qui sont adaptées à la description de méthodes d'interaction plus complexes.

II.1.1. Ligne de commandes

Les télétypes autorisaient comme seule forme d'interaction l'entrée au clavier d'instructions, séparées en lignes formées de mots clés désignant des commandes et leur paramètres. Le ou les résultats de chaque commande étaient imprimés au fur et à mesure de leur obtention sur une bande de papier. Il est assez simple d'expliciter le modèle d'interaction général des interfaces à base de lignes de commandes. La technique d'interaction est unique et sommaire : les seules actions permises à l'utilisateur sont l'entrée de caractères au clavier suivie de la touche "entrée". Le plus souvent, l'écho des actions offert est purement lexical : aucune indication ne parvient à l'utilisateur sur la validité de son énoncé avant le (tardif) "syntax error". Les actions se structurent en mots, qui peuvent être des noms de commandes (action à réaliser) ou des données (paramètres de la commande). Les combinaisons de mots ayant une sémantique pour l'application considérée définissent un langage de commande. Les interfaces à base de lignes de commandes présentent de nombreuses variations stylistiques, qui peuvent s'étudier suivant trois axes :

* Le choix du lexique, c'est-à-dire la relation établie entre les signifiés et les signifiants du langage de commande. La conception du jeu de commandes requiert le choix d'une convention permettant de retrouver aisément, et, dans la mesure du possible, deviner les mots désignant les actions et les informations auquel l'utilisateur désire accéder. Il existe de nombreux travaux sur le sujet : s'il est désirable qu'un nom de commande reflète le mieux possible sa sémantique [Shneiderman et Mayer 1979], il est cependant plus concis et plus efficace de ne conserver que des abréviations des commandes fréquentes [Grudin et Barnard 1985]. Cependant, tout lexique se doit de présenter une certaine consistance et une régularité de construction permettant à l'utilisateur de se construire un modèle cohérent de son outil.

* La richesse et la souplesse de la syntaxe. La syntaxe peut être simple et rigide, ce qui permet une grande simplicité dans l'analyse et contribue à la formation d'un modèle cohérent pour l'utilisateur. Dans ce cas, la syntaxe la plus usitée et sans doute la meilleure est dite "verbe-objet" [Shneiderman 1986], p. 151. Une syntaxe plus souple, se rapprochant du langage naturel, offre cependant une plus grande richesse et une plus grande concision (pronominalisation, contexte implicite...). Le principal avantage de ces langages, lorsqu'ils sont à la mesure de leur ambitions, est cependant d'éviter à l'utilisateur un apprentissage spécifique au modèle d'interaction, celui-ci étant directement inspiré de son usage quotidien du langage comme vecteur de communication. Cependant, une interface en langage naturel ne résout pas pour autant le problème de l'apprentissage du modèle conceptuel, qui demeure dans une large mesure indépendant du modèle d'interaction choisi.

* La puissance d'expression et la capacité d'automatisation de l'interaction. Un langage de commande peut être restreint à un domaine d'application, ou recouvrir la totalité des fonctionnalités d'un système. Lorsque le langage est doté de structures de contrôle et de commandes suffisamment générales, il est alors possible à l'utilisateur de construire des procédures évitant la répétition fastidieuses d'actions fréquentes. Dans une certaine mesure, l'utilisateur est à même de construire lui-même son jeu de commande au fur et à mesure de l'élaboration de sa tâche, et de construire une interface optimale à ses besoins, dans la limite des capacités offertes par le système primitif.

Bien que sommaire (sauf dans le cas des langages naturels), ce modèle d'interaction est toujours populaire et présente certains avantages. Tout d'abord, il est particulièrement simple à implanter et peu exigeant en ressources matérielles. Cependant la raison pour laquelle ce modèle reste encore très utilisé est sa concision et la capacité d'automatisation des actions qu'il apporte à l'utilisateur expert. B. Khernigan [Kernighan et Mashey 1981] montre ainsi les principales caractéristiques du shell UNIX qui en font un outil apprécié des programmeurs.

Toutefois, de nombreuses limites restreignent l'usage des interfaces à base de lignes de commandes : cette forme d'interaction n'autorise qu'un retour arrière limité (la ligne courante), et l'état courant de l'application n'est que partiellement reflété. L'utilisateur est sans cesse obligé de faire appel à des commandes lui permettant de déterminer le contexte de ses actions (par exemple, répertoire courant, liste des fichiers disponibles). Plus important, les possibilités d'exploration et de manipulation d'objets ne se révèlent pas d'elles-mêmes : il est presque toujours nécessaire de disposer d'une assistance pour apprendre la syntaxe et le modèle conceptuel d'une application donnée, même dans le cas des "langages naturels". Enfin, la manipulation de certains types de données est inenvisageable avec une interface à base de lignes de commandes : les informations graphiques, sonores ou fortement structurées (graphes) ne peuvent être aisément manipulées au moyen de ce modèle d'interaction.

II.1.2. Menus et écrans de saisie

Le progrès technique ayant permis l'apparition des modèles d'interaction à base de menus et d'écrans de saisie est la généralisation des terminaux vidéos alpha-numériques. Un menu est une présentation des actions que l'utilisateur peut effectuer à un instant donné. Une touche du clavier ou une séquence d'actions est indiquée pour chaque commande disponible. Un écran de saisie, ou formulaire, est un guide encadrant la saisie en proposant à l'utilisateur la structure et le type des informations requises pour effectuer une action et la paramétrer. Enfin, les zones à choix multiples forment un intermédiaire entre les formulaires et les menus : l'utilisateur peut désigner en une fois un ou plusieurs éléments d'un menu ("boite à boutons"). L'écho syntaxique des actions est alors différé : ce n'est qu'une fois que l'utilisateur a validé ses choix qu'il peut voir l'effet de son action. En revanche, la concision des actions est plus importante. L'objectif d'un système à base de menus et d'écrans de saisie est multiple :

* Guider l'utilisateur en lui proposant un choix des actions pouvant être effectuées à un instant donné. Ainsi, les connaissance requises pour utiliser le système sont beaucoup plus limitées : seule la connaissance du mode de sélection d'un élément d'un menu devient nécessaire.

* Offrir une représentation moins sommaire de l'état courant du système. Un terminal vidéo permet l'introduction d'un écho syntaxique des actions : affichage du mode courant, curseur clignotant, indication du type d'information attendu dans un formulaire de saisie.

* Rendre l'interaction plus concise lorsque le domaine d'application est restreint. Le choix par menus permet l'utilisation de mnémoniques courts pour les commandes, puisque la signification de chaque mnémonique est rappelée à l'écran.

Ben Shneiderman ([Shneiderman 1986], chapitre 3) présente clairement les variations stylistiques des systèmes à base de menus. Tout d'abord la structure générale des menus peut être une arborescence simple, un graphe acyclique ou un graphe complexe. Le nombre moyen d'éléments et la profondeur optimale de l'arborescence dans un système de menus ont été largement étudiés, et semblent montrer la préférence des utilisateurs pour des arbres relativement larges et peu profonds. L'ordre de présentation des éléments, alphabétique, fonctionnel ou basée sur la probabilité de choix est sujet à plus de controverses. Des travaux plus récents [Sears et Shneiderman 1994] évaluent l'apport d'un présentation fonctionnelle avec rappel en tête de liste des éléments les plus probablement utilisés dans le menu.

En ce qui concerne les formulaires, il est utile de mentionner deux choix possibles de navigation dans les zones de saisie : l'ordre dans lequel se fait la saisie peut être prédéterminé, l'utilisateur passant en revue les champs de gauche à droite et de haut en bas au moyen d'une touche spécifique (par exemple, la touche de tabulation), ou bien déterminé par l'utilisateur, qui indique par des caractères de contrôle quel champ il désire saisir avant de rentrer l'information (formulaire avec présélection du champs). Ce dernier style d'interaction s'avère moins efficace et plus complexe à utiliser de prime abord. Cependant, ce mode de saisie est abondamment utilisé, notamment pour les terminaux transactionnels utilisés par exemple dans les banques ou les compagnies aériennes : Il est plus efficace pour l'opérateur de saisir les informations dans l'ordre que lui fournit son interlocuteur plutôt que celui imposé par la machine.

L'utilisation d'un dispositif de pointage et de menus déroulants pour la sélection des commandes utilise une technique d'interaction différente de la sélection au clavier, plus concise d'après B. Tognazzi [Tognazzi 1992]. Cependant le modèle d'interaction n'est globalement pas affecté : les variations stylistiques restent les mêmes et les règles de conception applicables varient peu. La plupart des interfaces dites "WIMP" sont d'ailleurs construites avec ce modèle d'interaction.

Il est possible de comparer le modèle d'interaction des menus et écrans de saisie avec celui des langages de commandes. La technique d'interaction est plus concise : les actions élémentaires sont plus simples, puisqu'un nom de commande de plusieurs lettres est la plupart du temps remplacé par l'appui d'une seule touche du clavier, immédiatement suivie d'effet. Les variations stylistiques autorisées sont aussi nombreuses. Il est d'ailleurs possible de transformer toute interface à base de ligne de commande en interface à base de menu et de formulaires : il suffit de présenter à l'utilisateur l'ensemble des commandes disponibles, suivant une structure hiérarchique. Les paramètres obligatoires peuvent être saisis par formulaire "impératif", et les optionnels par formulaire avec présélection. Cependant, ce modèle se prête mal à l'automatisation et la paramétrisation par l'utilisateur : la construction d'une procédure de sélection ne se prête pas à une interaction à base de menus, les structures de contrôles ne sont pas représentables, la construction "en batch" d'une macro fait perdre le bénéfice de l'écho syntaxique et la présentation de l'état courant de l'interaction est trop sommaire pour restituer adéquatement la structure de la procédure en cours de construction. C'est ce qui explique selon nous le succès mitigé des constructeurs interactifs de macros comme MacroMaker ou Quickeys, alors que ce mécanisme était prévu à l'origine dans la conception du Macintosh [Apple 1986-1994], vol. I, p. 261.

Enfin notons que si les interfaces à base de lignes de commandes sont essentiellement amodales, les structures de menus et les formulaires au contraire introduisent une abondance de modes, chaque menu et chaque zone de saisie définissant son propre mode.

II.1.3. Systèmes de fenêtrage

Les systèmes de fenêtrage ne constituent pas un modèle d'interaction. Ils ne définissent pas de vocabulaire d'actions permettant l'utilisation d'une application quelconque. Cependant, l'apparition de ces systèmes, antérieurs aux interfaces graphiques (bibliothèque curses sous UNIX) marque l'avènement des systèmes interactifs, par opposition au concept d'application autonome. Un système de fenêtrage définit un environnement de navigation entre les différents processus utilisateur. Il participe donc à la définition du modèle d'interaction intégrateur d'un système interactif. Il structure les ressources spatiales et temporelles du système (en fait l'aura du système dans sa totalité) pour permettre une bonne représentation des divers processus en cours d'utilisation. Les processus doivent disposer de primitives leur permettant de se coordonner et de ne pas accaparer les dispositifs d'entrée/sortie.

L'introduction d'un système de fenêtrage change radicalement l'architecture informatique : en effet, l'initiative de l'action ne vient plus de l'application, mais de l'utilisateur. Ils imposent une programmation par événements et le maintien explicite du contexte par le programme : dans une interface à base de menus, l'état de l'interaction est déterminé par le flot de contrôle du programme. Dès lors qu'un système de fenêtrage permet à l'utilisateur de choisir à tout moment quel processus il va activer, le système est contraint de restituer à chaque action son contexte spécifique.

Il existe plusieurs styles de présentation, même si on note une certaine convergence vers un standard proche de Motif [OSF 1991]. Les différents processus peuvent être présentés de façon à maximiser l'espace occupé ("tiling window managers") comme dans Cedar [Teitelman 1984], ce qui demande à toute application d'être capable de négocier avec le système son utilisation des ressources, ou laisser à l'utilisateur le soin de gérer la portion allouée à chaque processus ("overlapping windows"). Devant la nécessité de hiérarchiser l'importance attribuée à chaque processus en fonction du contexte, il est possible d'utiliser des gestionnaires d'icônes [OSF 1991], des "pièces" propres à une tâche donnée [Henderson et Card 1987], ou une vue "fisheye" de la zone d'intérêt (utilisation de plusieurs "icon manager" au moyen du gestionnaire de fenêtres twm ou fisheye logique [Card, et al. 1985]). De plus, plusieurs styles de gestion du focus des entrées peuvent être utilisées : le focus peut être donné explicitement par l'utilisateur par des fonctions de manipulation du focus (Macintosh, ou window manager Mwm dans sa configuration standard), ou déterminé implicitement, par la présence du pointeur dans la fenêtre d'un processus, ou la nature des actions effectuées (window manager twm sous X).

Les gestionnaires de fenêtres se limitent pour l'instant à structurer l'aura du système informatique sur un plan visuel (écran). Leur rôle doit cependant s'étendre aux autres canaux d'interactin, comme le canal sonore. Le Sonic Finder [Gaver 1989] et ENO [Beaudouin-Lafon et Gaver 1994] montrent différents moyens d'organiser le canal sonore d'un système informatique.

II.1.4. Interaction Graphique

Nous regroupons sous ce terme les modèles d'interaction apparus avec la généralisation des écrans graphiques à affichage "raster" et des périphériques de pointage comme la souris. Par rapport aux précédents, ces modèles offrent les avantages suivants [Baecker 1980]: Il est toujours possible d'utiliser les modèles d'interaction à base de menus et d'écrans de saisie avec un système à interaction graphique. Cependant, plusieurs autres modèles d'interaction sont apparus permettant de tirer un meilleur profit de ces systèmes. Lorsqu'il s'agit de caractériser des modèles d'interaction graphique, le besoin d'un formalisme de description se fait nettement sentir. Nous poursuivons cependant notre état de l'art sans nous engager dans cette voie, présentant quelques paradigmes de l'interaction graphique en suivant l'usage actuel de présentation informelle.

Nous distinguons deux modèles d'interaction : les interfaces iconiques ne préjugent pas de la représentabilité des objets de l'application. Il est possible de construire une interface iconique manipulant des symboles abstraits n'ayant aucune relation avec la nature des objets informatiques. Au contraire, la manipulation directe repose sur la possibilité intrinsèque de donner une image de ces objets conforme à la représentation que peut s'en faire un utilisateur du système. Bien que les définitions proposées des modèles de l'interaction iconique et de la manipulation directe se complètent pour définir une certaine forme d'interaction graphique, nous considérerons ces modèles comme distincts.

II.1.4.1 Interaction iconique

Le terme d'interface iconique est souvent utilisé comme synonyme d'interface à interaction graphique. Nous lui donnons un sens plus précis défini par S.K. Chang [Chang 1989], chap. 1. On appelle interface iconique un modèle d'interaction graphique caractérisé par les éléments suivants :

L'interface du système de gestion de fichiers du Macintosh ou "Finder" est un exemple canonique des interfaces iconiques. Chaque fichier, chaque répertoire d'un disque et les actions effectuables (destruction, impression, ouverture du fichier pour sa manipulation...) sur un objet sont représentés par une image spécifique. Les actions de base sont la sélection (clic simple ou délimitation d'une zone), la superposition d'icônes ("drag and drop") et l'ouverture (double-clic). Pour offrir une meilleure concision, certaines icônes d'actions sont remplacées par des menus (duplication, création d'alias...), cependant le modèle pourrait se suffire à lui-même et ne pas nécessiter d'autres techniques d'interaction.

S.K. Chang présente une théorie générale des systèmes de langages visuels appelée "théorie des icônes généralisées", ayant permis le développement d'un compilateur d'interfaces iconiques. Cette théorie offre un modèle simple et efficace pour la réalisation d'interfaces iconiques dans des domaines variés : gestion de fichiers, interrogation de bases de données au moyen de requêtes graphiques (figure II.1.1), manipulation d'automates et de graphes...

L'avantage de cette formalisation est la possibilité de systématiser la création d'interfaces iconiques, ce qui permet d'appliquer ce modèle d'interaction a priori à toute application informatique : il est toujours possible de donner une représentation, au besoin arbitraire, à tout type de donnée et toute action effectuable sur un objet ; les actions primitives permettent toutes les combinaisons de fonctions réalisable avec l'application. Ainsi, le vocabulaire d'actions primitives constitue un pivot, un mécanisme permettant l'articulation entre les commandes effectuables au moyen du système et la manipulation de leur représentation dans l'interface. Dans un certain sens, une interface iconique idéale est une idéographie dynamique telle que la décrit Pierre Lévy >[Lévy 1991].


Figure II.1.1 : Une requête visuelle dans une base de données relationnelle d'informations
sur des trajets aériens. Extrait de [Chang 1989], p. 6.

Cependant, il faut considérer les limites de ce modèle : tout d'abord, il n'est pas toujours possible de trouver une représentation visuelle non arbitraire des objets du système. Or une interface iconique présentant une collection d'images sans signification évidente a priori a toutes les chances de laisser perplexe le premier utilisateur venu, même s'il n'ignore rien du domaine d'application des outils qu'on lui propose. La théorie des icônes généralisées ne donne en effet aucune indication quant aux relations qui doivent s'établir entre la représentation des objets et leur sémantique. Cette description formelle de l'interaction iconique permet donc la création d'interfaces pour toute forme d'application, mais sans garantie de qualité. De plus, si le mécanisme des actions primitives est simple et efficace dans les interfaces iconiques utilisées actuellement, il limite tout de même les possibilités d'interaction à quelques gestes stéréotypés, et interdit la possibilité d'adapter les actions de base au contexte d'utilisation. L'utilisation des capacités d'action de l'utilisateur s'en trouve réduite, et il est manifeste qu'un utilisateur expert peut souvent se sentir frustré dans la manipulation d'une interface iconique. S'il est possible d'envisager des mécanismes d'automatisation des actions comme Eager [Cypher, et al. 1993], ces systèmes sont encore expérimentaux. Nous caractériserons ce défaut comme une limite de la bande passante de l'humain vers la machine : le nimbus du système est artificiellement restreint aux actions primitives.

En conclusion, si les interfaces iconiques forment un modèle d'interaction graphique clairement défini et généralisable, elles ne sont pas pour autant utilisables pour toute application dans la pratique.

II.1.4.2 Manipulation directe

L'objectif de la manipulation directe [Shneiderman 1983] est de permettre à l'utilisateur d'agir directement sur les objets d'intérêt, au lieu d'exprimer les actions qu'il souhaite effectuer, c'est-à-dire de les faire faire par l'interface. Certes, les actions de l'utilisateurs doivent être traduites en modifications de l'état du système, mais l'enjeu est que celui-ci perçoive ses actions non pas comme des commandes, mais comme des manipulations d'objets. La manipulation directe ne repose pas sur une technique ou des styles d'interaction précis, mais seulement sur des règles en déterminant certaines caractéristiques. En ce sens, on peut la considérer comme un méta-modèle d'interaction. Tout d'abord, les techniques utilisées doivent permettre une interaction rapide, réversible et incrémentale (progression vers le but à atteindre par petites étapes avec réponse immédiate). La représentation de l'état du système et des actions de l'utilisateurs doit être constante, impliquant la présence d'écho lexical, syntaxique et sémantique.

Pour offrir un retour d'information et un guidage optimaux, la manipulation directe met l'accent sur la possibilité de trouver une représentation adéquate des objets permettant de respecter les préceptes exposés. Pour cela, il est possible d'utiliser une métaphore, permettant de déplacer les objets de l'application dans un domaine facilitant la création d'un modèle conceptuel intelligible et se pliant aux règles de la manipulation directe. Dans certains cas, comme les applications de dessin ou d'édition de texte, il n'est même pas nécessaire de passer par le biais d'une métaphore, les objets étant "naturellement" représentables. On peut dans ce dernier cas utiliser le "Wysiwyg" (What you see is what you get).

L'exemple typique de la manipulation directe est le programme de dessin "Draw". Les objets informatiques sont des formes géométriques : lignes, rectangles, cercles... Un certain nombre d'outils sont mis à la disposition de l'utilisateur sur une palette, lui permettant d'éditer un dessin. L'utilisateur choisit un outil et l'applique à un objet sélectionné, au moyen du pointeur. Il n'est pas nécessaire de recourir à des commandes nécessitant un apprentissage. Le mode d'emploi des outils peut être déduit soit par leur apparence visuelle, soit par essais et erreurs sur les objets manipulables. Un autre exemple plus récent est celui des requêtes dynamiques [Ahlberg, et al. 1992]. Pour interroger une base de données, l'utilisateur a au départ une vue complète des informations disponibles. Au moyen d'outils, des filtres, il sélectionne au fur et à mesure les critères de son choix, et obtient immédiatement les résultats recherchés. Le résultat recherché peut ainsi être obtenu par essais, erreurs et raffinement progressif des actions vers une solution.

Figure II.1.2 : Requêtes dynamiques dans une base de données cinématographique.
Extrait de [Ahlberg et Shneiderman 1994].

Alors que l'interaction iconique ne fournit aucune indication sur l'établissement de relations entre les objets informatiques et leur représentation, la manipulation directe insiste sur la nécessité d'obtenir une transposition adéquate des objets informatique en une forme perceptible. Trouver une "bonne" transposition permet de supprimer (du point de vue cognitif) le "langage de l'interface", intermédiaire entre l'utilisateur et les objets à manipuler. Elle fournit donc une transparence impossible à obtenir avec les modèles d'interaction précédemment décrits. L'inconvénient de la suppression de la double articulation lexique/syntaxe dans l'interface est que l'on perd les capacités de réification fournies par un modèle linguistique. Une interface à manipulation directe ne bénéficie donc pas des capacités d'auto-description permettant une automatisation de l'interaction dans le cas de tâches répétitives, si ce n'est par des fonctionnalités externes au modèle. Cette limite est tempérée par Ben Shneiderman [Don, et al. 1992], qui argumente qu'une "bonne" représentation des objets peut s'autosuffire et limiter le besoin d'automatisation des actions.

Toute la difficulté de conception d'une interface à manipulation directe tient donc dans le choix laissé ouvert de la représentation graphique et des techniques de d'interaction à fournir à l'utilisateur. A l'heure actuelle, les techniques se limitent souvent à la désignation/sélection des objets d'intérêt et au déplacement de ces objets (curseurs, "drag and drop", etc.). Cette pauvreté s'explique selon nous : étant confrontés à l'embarras du choix tant pour la construction de la représentation que pour celle des techniques d'interaction, il devient difficile d'imaginer et d'implanter pour une application donnée une ou plusieurs techniques plus expressives ou plus puissantes.

II.1.5. Autres modèles d'interaction répandus

Jusqu'à présent, nous n'avons considéré comme systèmes informatiques que les ordinateurs d'usage général. De plus en plus, des outils variés sont dotés de capacités informatiques leur offrant une certaine versatilité qui les rend propre au qualificatif de système informatique : distributeurs de billets de transports, automates bancaires, instruments de musique électroniques, systèmes de conduite de machines-outils, ateliers de traitement vidéo... Les modèles d'interaction de ces systèmes montrent une variété aussi grande que celle des interfaces graphiques. Ils vont des systèmes à base de menus à des techniques d'interaction sophistiquées utilisant des périphériques spécialement conçus pour la tâche : clavier musicaux, tables de mixage...

L'exemple des instruments de musique électroniques est certainement l'un des plus enrichissants. Sans nous attarder sur les aspects de communication instrumentale définis par Claude Cadoz [Cadoz 1994], nous nous limitons à observer la richesse des techniques d'interaction existantes et leur complémentarité. Tout d'abord, on remarque le nombre de canaux exploités. La plupart des instruments se contrôlent avec les mains, mais aussi les pieds et la bouche. Ces canaux d'interaction sont de plus souvent exploités en parallèle. On peut observer la cartographie du reflet du système moteur dans le cerveau humain (Figure II.1.3).


Figure II.1.3: "homoncule" du système moteur, carte du contrôle du système moteur
dans le cortex humain (hémisphère droit), extrait de [Barlow, et al. 1990], p.266

Cette carte représente la région et la quantité de cellules nerveuses consacrées à chaque organe. Plus une zone importante du cortex est dévolue à un organe, mieux celui-ci est contrôlable par son propriétaire. Une telle carte fourni de précieuses indications sur ce à quoi ressemblerait un dispositif permettant un emploi optimal de nos ressources motrices (et donc de nos capacités d'expression). La taxonomie des techniques d'interaction musicale est un assez bon reflet de l'importance relative de chaque organe sur l'homoncule. On remarque entre autres l'importance de la bouche et des lèvres, dont les instruments à vent font précisément un usage important : le saxophone doit en partie son succès à l'expressivité et la variété de timbres qui peut être obtenu en modulant la prise de bec et en contrôlant le souffle d'une manière très fine. Sans aller jusqu'à proposer une "dataflute", un "orgue bibliographique", ou un pianocktail à la manière de Boris Vian, il nous paraît souhaitable de pouvoir offrir une telle variété de techniques de contrôle et d'interaction pour la manipulation d'information, maximisant ainsi l'usage des moyens d'actions de l'utilisateur pour agir sur les objets informatiques.

Cependant, il convient d'observer que la pratique des instruments de musique est réservée à des experts. Même un excellent musicien (ayant une excellente connaissance du domaine : harmonie, solfège, inspiration) peut n'être qu'un instrumentiste médiocre, faute d'un long entraînement, voire de capacités haptiques innées. Les meilleurs interprètes se cantonnent à un nombre limité d'instruments, car ils ne peuvent développer un contrôle moteur parfait sur toutes leur ressources potentielles. L'apport des techniques d'interaction musicale aux systèmes informatiques se doit donc de prendre en compte les capacités réduites de l'utilisateur débutant ou physiquement limité.

Dans une direction opposée, les automates distributeurs de billets fournissent un exemple de technique d'interaction simple et complètement adaptée à une tâche particulière. Ces systèmes sont relativement rigides et les opérations réalisables sont reliées le plus directement possible à des dispositifs physiques simples. L'automate distributeur de billets du RER à Paris, par exemple, possède une touche par destination possible. Dans un tel système, la recherche des actions disponibles est pratiquement optimale ; l'utilisateur peut anticiper et se construire un modèle du fonctionnement de l'appareil à la simple vue du dispositif. Dans une certaine mesure, cette interface reproduit un idéal de l'interaction : être totalement directe. On peut trouver des exemples d'une interaction aussi directe dans les "machines informatisées" que sont les machines-outils telles que les fraiseuses à commande numérique, mais aussi les machines à laver "intelligentes", de plus en plus d'articles électroménagers et l'automobile. Dans ces cas, un processeur permet de corriger et d'améliorer le fonctionnement de l'outil, mais leurs concepteurs ont veillés à préserver une bonne compatibilité avec l'homologue analogique dont l'outil est inspiré. On obtient des interfaces parfaitement transparentes, dans lesquelles objets informatiques et objets réels peuvent être totalement assimilés. Dans une certaine mesure, on peut prédire avec l'avènement de la domotique et l'automatisation de l'outil de travail une généralisation de cette forme d'interaction, une fusion des outils manuels et des systèmes de traitement de l'information.

Enfin, nous ne saurions terminer notre parcours des techniques d'interaction inspiratrices pour la manipulation de systèmes d'informations sans évoquer équipements de contrôle collecticiel tels que les simulateurs de vols, les salles de contrôle et de surveillances équipées de synoptiques muraux des usines, du contrôle aérien ou ferroviaire. Ces systèmes hautement spécialisés et directs (comme le sont les automates distributeurs ou les appareils de domotique), offrent en même temps une grande richesse d'interaction aux utilisateurs experts (comme les instruments de musique). Ils présentent à la fois une interface directe et centrée sur la tâche, tout en exploitant les connaissance et l'expertise d'utilisateurs entraînés à la maîtrise de situations complexes spécifiques.

II.2. Sortir des limites de l'interaction graphique

Constatant la richesse de nos moyens d'action sur le monde (notre aura) et la comparant avec la pauvreté des moyens offerts pour la manipulation de l'information (le nimbus des systèmes informatiques), William Buxton [Buxton 1986] imagine les déductions que pourraient faire des anthropologues extraterrestres dans un avenir lointain se trouvant en présence d'un ordinateur actuel et essayant de reconstituer la physiologie et le système perceptuel de ses utilisateurs : pour ceux-ci l'être humain aurait un système visuel développé, mais au champs visuel restreint (taille de l'écran); il n'aurait qu'un seul oeil (pas de stéréovision) ; il disposerait de capacités d'auditions relativement médiocres, pouvant tout juste percevoir des signaux sonores simples (quelques bips).

En ce qui concerne ses capacités d'action, le portrait est plus étonnant encore : la souris et le clavier donneraient à conclure que nous disposons de deux membres asymétriques, l'un étant muni de nombreux appendices peu précis (pour le contrôle du clavier), l'autre étant plus long, très mobile et précis, mais muni de seulement un doigt. Pour élargir le tableau, nous ajouterons que les deux membres préempteurs sont situés l'un au milieu du corps, l'autre excentré ; rien n'indique que nous pouvons émettre des sons et nous sommes vraisemblablement très peu mobiles : nous ne possédons probablement pas d'autres membres ou moyens d'action (des pieds, par exemple).

Cet exemple montre le peu d'adaptation des ordinateurs actuels à nos capacités de perception, et surtout d'action. Cette situation est certes autant due à des limitations technologiques qu'à une mauvaise compréhension du problème général de l'interaction humain-ordinateur. Il nous faut trouver des voies d'extension de l'utilisation des capacités humaines dans l'interaction tout en prenant en compte les limites que présente intrinsèquement la machine. Don Norman [Norman 1988] et un courant important de la communauté actuelle de la recherche en interaction humain-ordinateur proposent une nouvelle approche de la conception de l'interaction, qualifiée d'"écologique". Il s'agit de mieux identifier et prendre en compte les "intuits"[6] ou caractéristiques externes des objets induisant leur mode d'action ou leur usage. William Gaver ([Gaver 1991] et [Smerts, et al. 1994]) montre de nombreux cas où ces intuits peuvent être exhibés et mis à profit en ergonomie. Cette approche oriente la recherche dans plusieurs directions que nous présentons maintenant, en privilégiant essentiellement les apports en matière de techniques d'interaction.

II.2.1. Langage Naturel et autres paradigmes langagiers

Les travaux sur l'interprétation du langage naturel par un système informatique sont presque aussi anciens que l'informatique elle-même, comme en témoignent les dernières recherches et les convictions de Alan Turing. Ils ne se cantonnent pas seulement à la création d'interfaces utilisateur : traduction automatique, génération de textes, création de "machines communicantes" sont des objectifs de recherche poursuivis depuis longtemps. Dans le domaine de l'interaction homme-machine, de nombreux travaux partent de l'hypothèse qu'un système pouvant se faire passer pour un être humain auprès de l'utilisateur est à même d'aider au mieux celui-ci à accomplir une tâche donnée. Comme nous l'avons précisé dans notre introduction, cette hypothèse ne nous semble pas justifiée en règle générale : à supposer qu'une réelle anthropomorphisation d'un outil informatique soit possible, ce n'est pas tant la ressemblance du mode de pensée de l'utilisateur avec celui de son outil que l'adéquation de la présentation à la fonctionnalité de l'application qui permet une utilisation naturelle du système.

Cependant certains travaux ont aboutis à des applications effectivement répandues. Le système d'interrogation de l'annuaire électronique français, par exemple, inclut un système d'analyse des activités recherchées utilisant certaines techniques du langage naturel. Ce système souffre certes de quelques limites[7], mais permet souvent de retrouver les rubriques d'activités recherchées à partir de mots-clés approchant. Quelques serveurs vocaux sont également en expérimentation comme le serveur de renseignements et de réservation du T.G.V. Nord à Lille [Sadek 1993]. Enfin, dans des systèmes plus complexes et toujours expérimentaux, la reconnaissance de la parole est parfois utilisée comme complément à d'autres méthodes d'interaction. Les concepteurs d'avions de chasse modernes, par exemple, cherchent à utiliser la reconnaissance vocale pour la plupart des actions de reconfiguration de l'environnement de contrôle du pilote (disposition et type de présentation des écrans, contrôle de la radio...).

Toutes ces applications se fondent sur des modèles d'interaction très variés, que nous avons un peu rapidement regroupés. Tout d'abord en ce qui concerne le canal d'interaction utilisé, il importe de distinguer les systèmes à entrée vocale des systèmes à entrée textuelle. Dans les deux cas, on trouve les techniques d'interaction des langages de commandes et des systèmes à base de menus, avec peu ou prou les mêmes avantages et inconvénients. Dans le cas de l'entrée vocale, l'avantage que confère la plus grande concision du canal de la parole est cependant contrebalancé par les limites du retour d'information lexical. Ce problème est d'autant plus important que la reconnaissance étant imparfaite, l'écho est justement souvent requis pour s'assurer d'une bonne interprétation par la machine des actions réalisées.

La caractéristique majeure des systèmes à base de langage naturel, textuels ou vocaux, est cependant la gestion d'entrée suivant une syntaxe complexe, plus souple et proche de la syntaxe utilisée dans la communication humaine. Ce style d'interaction particulier offre une concision et une tolérance à l'égard des erreurs de l'utilisateur inégalée. Nous n'étudierons cependant pas l'interaction en langage naturel, que ce soit en mode mode textuel ou vocal. En effet, l'utilisation d'un paradigme de communication humaine requiert une modélisation des buts de l'utilisateur et de la tâche à effectuer. Ceci nous obligerait à sortir de notre objectif initial qui est de se concentrer sur les modèles d'interaction.

II.2.2. Enrichir l'interaction graphique

La création de nouveaux objets informatiques, représentant des informations sonores, audiovisuelles ou des structures de données complexes impose de sortir du cadre des modèles d'interaction actuels pour introduire de meilleurs moyens de manipulation de ces objets ou mieux adapter le système à leurs caractéristiques.

II.2.2.1 Paradigmes de présentation

Un part importante de la recherche dans ce domaine est consacrée à fournir de meilleurs moyens de représentation des informations. Les travaux actuels sur les requêtes dynamiques basées sur la manipulation directe, menés principalement par l'équipe de Ben Shneiderman [Shneiderman 1992] illustrent cette voie. Reposant sur les préceptes de la manipulation directe, le postulat de ces études est qu'une représentation riche et complète des données de l'application induit presque systématiquement des moyens de manipulation de l'information adaptés et ergonomiques. La structure de données est le support de la technique d'interaction, qui est façonnée en fonction de l'application.

Cette recherche d'une meilleure adaptation de la présentation à l'information sous-jacente est aussi illustrée par de nouvelles approches de structuration de l'environnement de navigation. Pad [Perlin et Fox 1993] et son successeur Pad++ [Bederson et Hollan 1994] proposent une technique de navigation utilisant une troisième dimension constituée de la possibilité de faire des zooms infinis sur les objets présentés, révélant chaque fois plus de détails sur l'information. PenPoint [Carr 1991] utilise une métaphore de navigation fondée sur le carnet de notes, permettant une intégration harmonieuse des différentes applications dans un environnement homogène et spécialement adapté à l'informatique portable. La métaphore des "Rooms" [Henderson et Card 1986], définie par Stuart Card est un exemple plus ancien d'extension du principe du gestionnaire de fenêtre pour gérer un plus grand nombre d'applications concurrente sans encombrer l'écran.

II.2.2.2 Techniques de présentation

Afin d'utiliser au mieux les ressources limitées des écran graphiques actuels, plusieurs stratégies sont explorées : utilisation d'une pseudo troisième dimension, utilisation d'une semi-transparence ou de l'animation.

L'utilisation d'une pseudo troisième dimension permet de montrer plus d'objets dans un ensemble et de mieux révéler des structures d'ensembles multi-dimensionnels. L'"Information Vizualiser" [Robertson, et al. 1991], [Mackinlay, et al. 1991, Card, et al. 1991] est un ensemble d'outils généralisant ce paradigme à des applications courantes : vue d'un système de gestion de fichiers sous la forme d'un cône, d'un mur en perspective ; gestion d'emploi du temps sur plusieurs années ou pour plusieurs personnes à l'aide d'une "spirale temporelle"...

La représentation en semi-transparence consiste à superposer des objets, les objets vus devant étant représentés soit par leurs seuls contours, soit en utilisant des couleurs atténuées en fonction de la couleur de fond. Des méthodes de Z-buffer permettent une implantation efficace de ce type de représentation. Les superpositions peuvent être utilisées pour révéler des relations entre objets (hiérarchie, contenu, vue reparamétrée de la même information...). L'utilisation de filtres déplaçables [Stone, et al. 1994] permet à l'utilisateur de mieux percevoir les différentes couches de l'application ; de plus, la superposition d'objets évite la dispersion du focus d'attention sur des zones éloignées de l'objet d'intérêt. De nombreuses autres méthodes d'interaction proposent l'utilisation de filtres transparents pour la structuration de l'interface de navigation [Kramer 1994], ou la navigation dans une structure hiérarchique [Rennison 1994].

II.2.2.3 Interaction et Présentation

Le système perceptuel humain est essentiellement différentiel : nous percevons mieux une différence entre deux valeurs que nous ne jugeons sur une échelle arbitraire. L'utilisation d'objets informatique animés permet de mieux utiliser la dimension temporelle et de fournir à l'utilisateur des percepts plus riches et mieux identifiés [Chatty 1992]. Ron Baecker [Baecker, et al. 1991] propose un système d'aide à l'utilisateur montrant à l'aide d'animations le fonctionnement des outils. Plus complexe, l'animation d'algorithmes [Stasko 1990] permet de mieux enseigner l'algorithmique en montrant en temps réel l'évolution des structures données au cours du temps.

Enfin, une direction prometteuse consiste à interpréter la dynamique des actions de l'utilisateur, par des techniques d'interaction gestuelle. Nous présenterons ultérieurement ces techniques de façon plus approfondie.

II.2.3. Multimodalité

La première expérience d'utilisation de la multimodalité dans l'interaction humain-ordinateur menée par Richard Bolt [Bolt 1980], exprime parfaitement son objectif. Un prototype de logiciel de manipulation d'information, dénommé "put that there" (mets-ça-ici) utilise la reconnaissance vocale conjointement avec l'analyse des co-références gestuelles. Le système permet à l'utilisateur d'interagir en utilisant ses moyens d'actions : voix et geste, de façon complémentaire.

On distingue deux raisons d'utiliser conjointement plusieurs modalités pour interagir : pour pallier à l'insuffisance d'une modalité seule, non autonome, comme la parole dans de nombreux contextes, ou pour rendre l'interaction plus concise en utilisant les moyens d'action disponibles de l'utilisateur, comme le montrent W. Buxton et B. Myers [Buxton et Myers 1986], dans leur prototype d'éditeur de texte permettant de naviguer avec la main gauche et d'annoter avec la main droite. Nous distinguerons aussi deux paradigmes pour utiliser la multimodalité, en fonction de la modalité dominante qu'ils utilisent. Nous parlerons de multimodalité langagière lorsque l'interaction se structure suivant un modèle de langage de commande ou de langage naturel, c'est-à-dire qu'une interprétation complète des échanges est réalisée avant leur transformation en action sur les objets informatique. Le prototype précédent ("put that there") en est un exemple. À l'opposé, la multimodalité actionnelle structure l'interaction autour d'un paradigme de manipulation directe des objets informatique. Stéphane Chatty [Chatty 1993] présente un certain nombre d'exemples utiles d'interaction à deux souris et indique comment les implanter avec les outils actuels de construction d'interfaces graphiques.

De nombreux travaux exposent les motivations et apports de la multimodalité et les moyens d'implanter des interfaces multimodales, tels [Nigay 1993] qui fournit une synthèse récente. Aussi, nous ne nous étendrons sur ce sujet que lorsque nous présenterons nos travaux dans ce domaine.

II.2.4. Réalités artificielles ou "virtuelles"

Au terme "réalités virtuelles", répandu mais contradictoire, nous préférons celui de "réalités artificielles", utilisé par Myron Krueger [Krueger 1989]

II.2.4.1 Objectifs

Poursuivant la logique de la manipulation directe, l'objectif des systèmes de réalités artificielles est d'immerger l'utilisateur dans l'univers des objets informatiques, afin de lui offrir une représentation et des capacités de manipulation les plus complètes possibles. Pour être parfaite, cette immersion se doit de couper l'utilisateur du monde réel, lui substituant un environnement perceptuel synthétique. Ainsi, un système de réalité artificielle a pour but de substituer l'environnement perçu par l'utilisateur par un autre, créé par le système informatique. On rencontre souvent deux conceptions complémentaires des réalités artificielles :

Certains insistent sur l'immersion sensorielle. L'objectif est de tromper les sens de l'utilisateur en leur fournissant des stimuli synthétisés remplaçant ceux du monde réel. Ces systèmes sont représentés par tous les jeux et environnements de simulation utilisant un casque équipé d'écrans ou un écran géant occupant tout le champs visuel. Les systèmes les plus évolués utilisent une nacelle mobile permettant de reproduire certaines sensations de mouvement. Ces équipements peuvent fournir une senstation d'immersion effective, tout au moins sur le plan visuel. [Krueger 1989] donne quelques exemples de tels systèmes.

Pour d'autres, l'immersion doit se comprendre sur le plan cognitif. Les MUDs (Multi-user Dungeon) et autres jeux de rôle collectifs permettent aux utilisateurs de prendre une autre identité apparente et d'explorer des environnements synthétiques, même à travers des médias très pauvres, parfois une simple interface à base de ligne de commande, comme le jeu "nethack" populaire sur les stations UNIX. La sensation d'immersion n'est pas produite par la production de stimuli, mais par la présentation d'un environnement riche sur le plan cognitif et engageant à explorer. Certains de ces environnements sont tellement captivants que des utilisateurs peuvent s'y trouver piéger et ressentir une forte attraction, une dépendance vis à vis de l'univers artificiel [Walsh, et al. 1995].

II.2.4.2 Problématique et enjeux

Les techniques permettant la construction de réalités artificielles concernent en grande partie la conception de modèles d'interaction immersifs, mais surtout l'image de synthèse, pour la modélisation d'univers alternatifs complets et convaincants. Les autres aspects sensoriels, tactiles et kinesthésiques sont souvent peu considérés, malgré leur importance que montre Claude Cadoz [Cadoz 1994]: l'univers réel est très riche de sensations subtiles, qu'il est très difficile d'analyser et de reproduire dans leur totalité dans un système artificiel.

Si l'intention d'utiliser une plus large part des capacités sensori-motrices de l'utilisateur est tout à fait convergente avec notre objectif, nous devons prendre garde dans le cadre d'une utilisation professionnelle de l'outil informatique à ne pas priver l'utilisateur de la possibilité d'agir dans le monde réel. Nous appelons syndrome d'immersion ce phénomène de coupure par lequel un utilisateur n'est plus capable de distinguer la réalité des stimuli synthétiques, ni d'agir sans que ses actions ne soient interprétées malgré lui par le système. On peut résumer les dangers d'un système de réalité virtuelle performant à "tout ce que fait l'utilisateur peut être retenu contre lui". Dans un contexte pratique, nous remarquerons que le système perceptuel humain est finalement peu adapté à l'interaction en trois dimensions immersive. La stéréovision et la reconstitution d'objets en trois dimensions ne se font pas tant à l'aide du système visuel primitifs qu'à un plan cognitif plus élevé, comme le montrent les illusions d'optiques comme celle de Ponzo [Gillam 1980]. Seul le toucher et le système kinesthésique sont sans doute à même de fournir des représentations perceptuelles élémentaires efficaces dans la reconstitution et l'appréhension d'objets en trois dimensions.

En conclusion, les réalités artificielles sont utiles dans des applications précises, telles que les jeux, les simulateurs (pilotage à distance, exploration de certains espaces complexes...), voire même déboucher sur une forme d'art comme l'anticipe Myron Krueger. Nous nous intéressons cependant plus à la situation où l'utilisation d'un système informatique est utilitaire et non une fin en soi. Dans ces conditions, le paradigme des réalités artificielles ne doit être utilisé que si l'on peut éviter de couper l'utilisateur de son environnement.

II.2.5. Informatique Disséminée, Réalité Augmentée

Apparue en 1992 [Wellner, et al. 1993], la "réalité augmentée" peut être considérée comme un nouveau paradigme d'utilisation des technologies de l'information.

II.2.5.1 Définition

La "réalité augmentée" vise, à "augmenter" les propriétés des objets de notre environnement de capacités de traitement d'information. En sus de leur fonction matérielle (ergotique), ils acquièrent une dimension informatique (sémiotique), par leur capacité de réagir non pas aux seuls phénomènes physiques auxquels ils sont soumis, mais aussi aux informations qu'ils captent sur l'état de leur entourage (personnes, environnement, autres objets "augmentés"...).

Une caractéristique essentielle en est le transfert du lieu de l'interaction : le système interactif n'est plus un lieu mais un environnement. L'interface n'est plus un face à face, mais se dissout dans l'espace et les objets de notre environnement. L'utilisation d'un système de traitement d'information n'est plus exclusivement un acte conscient et intentionnel.

II.2.5.2 Motivation

Quelques travaux antérieurs aux années 1990 peuvent être considérés comme instigateurs du domaine :

* Les travaux en domotique et sur les capteurs environnementaux (température, lumière, présence...) qui remontent aux années 1960 ou sont même antérieurs.

* Certains travaux et l'anticipation de Myron Krueger peuvent par certains aspects évoquer la réalité augmentée (tels videodesk, créé en 1970).

* La conception des espaces médiatiques et la découverte de leurs propriétés réalisées aux Xerox PARC dans les années 1986, [Harrison, et al. 1993], [Mantei, et al. 1991].

On peut cependant considérer deux publications ayant réellement exposé la problématique de la réalité augmentée en tant que telle : Mark Weiser dans son anticipation des réseaux informatiques de l'an 2000 [Weiser 1991], et le numéro spécial de Communications of the ACM de Juillet 1993 [Wellner, et al. 1993]. Tout d'abord dénommée "virtualité incarnée" (embodied virtuality) par Mark Weiser, celui-ci s'attache à présent au terme "informatique disséminée" (ubiquitous computing), qui se distingue de la réalité augmentée, mais présente suffisamment de similitudes pour que nous assimilions les deux termes au sein d'un même domaine.

On distingue toujours dans ces appellations la volonté de se positionner en vis à vis des réalités artificielles (cf éditorial de [Wellner, et al. 1993]). La réalité augmentée considère la richesse de ce qui fait notre univers réel et de nos capacités d'actions dans celui-ci. L'objectif de la réalités artificielles de recréer un modèle synthétique aussi riche que notre univers réel est peu réaliste. Un certain pragmatisme, une vision "écologique" de l'informatique ont débouché sur une autre vision de l'avenir de l'informatique et de l'interaction humain-machine [Gaver 1995]. Cette approche cherche à enrichir de capacités nouvelles, plutôt qu'à substituer. En accord avec un des critères ergonomiques fondamentaux, la compatibilité, il s'agit de préserver autant que possible notre expérience du monde réel, en se contentant d'ajouter, de façon discrète et transparente, plutôt que changer nos habitudes ou essayer de fournir une alternative qui n'offrirait qu'une caricature de solution à nos besoins.

II.2.5.3 Exemples

Le "Digital Desk" [Wellner 1993] montre un exemple de système de réalité augmentée, où des objets non informatiques, telles de simples feuilles de papier, sont intégrés au système par un procédé de reconnaissance de documents. [Wellner, et al. 1993] fournit plusieurs exemples de ce à quoi pourrait ressembler une nouvelle génération de systèmes informatiques distribués comprenant de multiples effecteurs et capteurs et capables de s'échanger de l'information pour coordonner leurs actions.

On peut considérer de nombreux exemples domotiques courants proches du concept de réalité augmentée : les détecteurs à ultrasons allumant la lumière lorsqu'ils détectent un mouvement, les machines à laver évaluant les caractéristiques du linge pour optimiser leur programme ou les centrales d'alarme sophistiquées...

II.2.5.4 Perspectives sur la morphologie de l'interaction

Les applications de la réalité augmentée font sortir l'informatique de son cadre de travail habituel, la bureautique ou les services d'études. L'avènement de l'informatique portable a déjà contribué à étendre les services de l'informatique hors du bureau. Nous avons déjà cité la domotique comme un des précurseurs de ce domaine. La réalité augmentée offre la capacité d'intégrer des objets réels à l'environnement informatique, d'utiliser des ordinateurs portables, de toutes tailles et conçus en fonction d'un usage particulier et celle de pouvoir faire communiquer entre eux de nombreux objets distants, en ligne et hors-ligne. Ces fonctionnalités permettent son application à de nombreux domaines professionnels : les environnements de contrôle équipés de synoptiques partagés, le collecticiel (espaces médiatiques), les ateliers mobiles et chantiers [Mackay, et al. 1993]...

Il convient cependant de conserver l'idée que les apports de la réalité augmentée ne se substituent pas en totalité à notre conception actuelle des stations de travail. Dans un contexte de manipulation intensive d'information, où il convient de respecter un certain "face à face" avec les objets d'intérêt, la station de travail, même si elle bénéficie d'apports de la réalité augmentée (intégration de l'environnement et des objets non informatiques), ne devrait pas se voir fondamentalement remise en cause. Nous reviendrons plus en détail sur ce domaine ultérieurement.

II.3. Interaction Gestuelle

L'interaction gestuelle est un ensemble de techniques d'interaction reposant sur l'interprétation de la dynamique des actions de l'utilisateur. Les techniques d'interaction gestuelles commencent à apparaître dans des produits grands publics, tels PenPoint [Carr 1991]. Au lieu d'utiliser une tablette graphique comme un simple moyen d'entrer des positions, la dynamique du geste est prise en compte pour former la sémantique d'une commande. Par exemple, le tracé d'une esquisse de rectangle en un seul geste sera interprété comme la commande de tracé d'un rectangle, de contours spécifiés par la taille et l'endroit du dessin. Une esquisse de cercle au même endroit se traduira par une commande de tracé de cercle de même taille, tandis qu'une croix détruira les objets situés sous la croix. Nous délimitons tout d'abord ce qu'il faut entendre par interaction gestuelle. Nous présentons ensuite les avantages de ce mode d'interaction et donnons des exemples d'utilisation, avant de présenter les difficultés que posent la définition et l'implantation d'interfaces gestuelles.


Figure II.3.1 : les commandes gestuelles de PenPoint.

II.3.1. Définition

II.3.1.1 Les trois types d'entrée haptique

Par entrée "haptique", on entend tout mode d'interaction faisant intervenir les divers modes d'action liés aux sens haptiques[8] (sens du toucher, de la préhension...): les capacités d'activation des membres, les mains le plus souvent, mais aussi pieds et lèvres dans des situations d'interaction particulières (handicapés ou tâches spécifiques, telles que le pilotage d'un avion). Le clavier et la souris sont des exemples de périphériques d'entrée haptique, par opposition au microphone.
Entrée haptique simple
La plupart des interfaces actuelles reposent sur l'analyse des changements d'états discrets produits par l'utilisateur sur un périphérique capteur : la sémantique d'une action est entièrement décrite par des changements d'état discrets du dispositif. Par exemple, pour tracer un rectangle avec une souris, le bouton enfoncé fournit une première position d'ancrage, le relâchement une deuxième. Ces deux positions suffisent à elles seules à fournir les paramètres de création du rectangle ; la façon qu'a eu l'utilisateur de déplacer la souris n'a pas d'incidence sur la signification engendrée par le geste.

Certains périphériques comme le clavier sont naturellement conçus pour ce mode d'utilisation, on les appelle dispositifs à état discret. D'autres dispositifs, comme la souris, sont dénommés à entrée continue. Ils produisent un échantillonnage, ou une trace du geste réalisé pour actionner le périphérique. Dans l'exemple précédent, cette trace n'était pas utilisée pour l'interprétation de l'action de l'utilisateur. Il est nécessaire que l'utilisateur entre dans un mode particulier pour formuler son intention de tracer un rectangle, le dispositif capteur n'étant utilisé que pour fournir les paramètres requis.

Reconnaissance de marques et de tracés
Il est possible d'éviter ces modes par la prise en compte des informations non exploitées, telles que la trajectoire effectuée pour aller de la position d'enfoncement à la position de relâchement du bouton. Par exemple, il est possible de distinguer la création d'un cercle de celle d'un rectangle par l'analyse de la trajectoire du geste : désigne un rectangle, tandis que désigne un cercle.

De nombreuses autres possibilités d'interaction, plus effectives et dans une certaine mesure plus naturelle sont possible sur ce modèle.

On appelle interaction basée sur la reconnaissance de marques une interface utilisant la dynamique du tracé tel qu'il est perçu par les capteurs pour enrichir la sémantique des actions élémentaires de l'utilisateur. Ce type d'interaction est d'ores et déjà utilisé dans quelques applications diffusées, bien que les méthodes de conception utilisées pour ces applications soient encore fortement empiriques.

Interaction gestuelle "pure"
La souris (tablette graphique ou autre pointeur) ne permet que d'échantillonner la trace d'un geste, mais pas de reconstituer le geste effectif réalisé par l'utilisateur. Ainsi, il est impossible de déterminer si un geste a été effectué avec la main droite ou la main gauche (cela peut avoir des incidences dans le cas de la multimodalité actionnelle). Des périphériques à entrée continue, tels que le Dataglove ou un système de vision par caméra, permettent de reconstituer (avec un degré de fidélité plus ou moins grand) la nature précise des gestes effectués. Ceci offre des informations supplémentaires qu'il est possible d'exploiter pour fournir des modes d'interaction gestuelle directe. Ce type d'interaction élimine la prise en compte cognitive par l'utilisateur de transducteurs intermédiaires, et permet une expression plus concise et plus naturelle, à condition de concevoir le modèle d'interaction de façon adéquate.

Dans cette classification, nous n'avons pris en compte que les modes d'utilisation de périphériques pour l'interprétation d'actions volontaires et signifiantes de l'utilisateur. Une autre classe de périphériques (par exemple : suivi de la direction du regard...) vient compléter cette classification, on les appelera capteurs d'état. Les informations fournies par ces capteurs ne traduisent pas nécessairement une intention d'action de l'utilisateur, mais peuvent être utilisées de façon passive pour déterminer le contexte de ses actions et en enrichir la sémantique. Par exemple, un système de suivi du regard fournit des positions permettant de déterminer le point d'attention de l'utilisateur, et par conséquent d'associer utilement l'entrée du clavier (ou d'un autre périphérique) à l'objet que l'utilisateur désire éditer.

Par la suite, au prix d'un léger abus de langage, nous emploierons souvent le terme d'interaction gestuelle pour désigner les deux derniers modes d'interaction, par opposition aux modes à états discrets.

II.3.1.2 Les types d'interaction gestuelle

Il est possible de faire une description plus fine des types d'interaction en fonction de leur usage de la dynamique des gestes.
Reconnaissance de marques
Nous utilisons deux dimensions pour la description de l'utilisation de la dynamique des gestes. Lorsque l'interaction se structure en séquences de commandes gestuelles, la dynamique peut être utilisée pour spécifier soit le type de la commande émise, soit des paramètres de cette commande. Les trois premières catégories n'utilisent pas à proprement parler de reconnaissance de marques. Elles marquent la transition entre la manipulation directe actuelle et les interfaces gestuelles plus évoluées.

* Désignation simple de la commande ou des paramètres. Ces interfaces correspondent au mode d'actionnement des divers interacteurs standard : boutons, scrollbars, menus. Le geste est réduit à sa plus simple expression : la désignation d'une commande. Le langage est des plus sommaires. Ces interfaces ne sont en fait que des extensions aux terminaux graphiques des interfaces à systèmes de menus et écrans de saisie. Le seul geste de base est la désignation d'un point à l'écran. Le seul moyen d'exprimer une commande est de pointer le nom de la commande à l'écran, et de préciser ses paramètres avec le clavier ou par désignation simple.

* Désignation simple de la commande & sélection par étape des paramètres (utilisé dans les logiciels de dessin et de mise en page). Comme dans la catégorie précédente, l'utilisateur choisit par désignation dans un menu ou sur une palette une commande à exécuter. Les paramètres de la commande sont saisis, soit en les désignant (par sélection), soit en traçant la portée de la commande. Par exemple, pour tracer un rectangle dans MacPaint, on choisit la commande "tracé de rectangle", on clique sur la couleur du tracé, puis on indique sur l'écran les points de départ et d'arrivée du rectangle. On peut également inclure dans cette catégorie les systèmes de lissages de courbe permettant à l'utilisateur de dessiner à main libre, l'application les transformant au fur et à mesure en courbes de Bézier [Schneider 1990].

* Sélection par étape de la commande & désignation simple des paramètres (utilisé dans le finder du Macintosh et les interfaces iconiques). Cette technique est souvent utilisée en complément des précédentes. Une commande peut être spécifiée non en la choisissant dans un menu, mais en choisissant les paramètres de la commande par sélection, puis en effectuant une manipulation sur les objets choisis. Cette manipulation peut être un "double-clic", le "drag and drop", déplacement vers un autre objet (autre dossier, corbeille, icône de tri...) ou un autre geste plus complexe, mais la dynamique des gestes n'est jamais signifiante.

Les techniques suivantes correspondent à notre définition de l'interaction gestuelle:

* Sélection par étapes de la commande et des paramètres (utilisé dans la correction manuelle de texte [Konneker 1984]). Cette technique repose sur un geste de base effectué pour désigner à la fois le type de commande à exécuter et les paramètres de cette commande. De nombreux exemples d'application montrent que ce type d'interaction gestuelle s'avère parfois plus adapté pour une tâche donnée que les techniques de manipulation directe antérieures. Parmi les plus probants, GScore [Rubine 1991], (figure II.3.2) est un éditeur de partition permettant d'écrire et d'annoter une partition à l'aide de commandes gestuelles, plus efficace et plus naturel que l'utilisation d'un clavier alphabétique que proposent certains logiciels actuels. MATE [Hardock, et al. 1993] est un système permettant l'annotation de textes. Le jeu de commande gestuel, dérivé du vocabulaire utilisé par les typographes et les correcteurs illustre les apports de l'interaction gestuelle lorsqu'un vocabulaire gestuel prédéfini existe.

Figure II.3.2 : exemple de session d'écriture musicale avec GScore :
les marques grisées sont les gestes effectués par l'utilisateur.

* Reconnaissance de l'écriture manuscrite : Dans ce cas, il n'y a pas vraiment de désignation de commandes par geste. L'utilisateur trace des lettres ou des symboles, qui sont interprétés comme les paramètres de la commande globale "reconnaît l'écriture". Les algorithmes de reconnaissance de l'écriture peuvent souvent servir à reconnaître des commandes gestuelles diverses avec leurs paramètres. Nous pouvons intégrer dans cette catégorie différentes formes de sténographies adaptées à l'analyse informatique, tel Unistrokes [Goldberg et Richardson 1993].

* Reconnaissance et Combinaison de symboles : Assam [Murase et Wakahara 1986] est à notre connaissance le premier système permettant la reconnaissance de symboles simples (esquisse d'un schéma de composants électriques, des noeuds et feuilles d'une arborescence...). D'autres systèmes ont étés développés depuis, sans sortir du cadre de la recherche. Le système d'analyse de schémas de Apte [Apte, et al. 1993] (figure II.3.3) permet par exemple d'extraire la structure d'un schéma manuscrit de de le présenter sous une forme plus régulière. TAPAGE [Julia et Faure 1993] est un système analogue permettant d'éditer des tableaux au moyen d'une interface gestuelle. Les commandes et leurs paramètres sont dessinés successivement suivant une syntaxe gestuelle ad-hoc. Un analyseur décompose les gestes en segments. Puis en comparant les groupes de segments avec un dictionnaire prédéfini, il reconnaît des objets du modèle conceptuel et les présente sous une forme structurée. Dans ce cas, les commandes gestuelles sont interprétées à un niveau syntaxique. Les marques ne reflètent plus les actions de l'utilisateur, mais se rapprochent des données de l'application, qui est capable de les structurer pour reconstituer un ensemble d'objets informatiques. Le prototype de constructeur d'interface de James Landay [Landay et Myers 1995], par exemple, permet à l'utilisateur de dessiner une esquisse d'interface, l'analyseur reconstituant les composants d'interaction d'après leur forme.

Figure II.3.3 : Reconnaissance de schémas complexes, extrait de [Apte, et al. 1993].

Interaction gestuelle directe
On distinguent trois paradigmes d'utilisation des interfaces gestuelles directes :

* Dans les systèmes multimodaux langagiers, les gestes sont essentiellement des co-références. Il n'existe pas à proprement de commandes gestuelles, mais seulement des indications venant préciser la sémantique des commandes. L'exemple canonique de cette forme d'interaction est l'utilisation d'une commande composée de la phrase "mets-ça-ici" accompagnée de gestes de désignation.

* Avec un paradigme de langage de commandes, le système analyse les gestes de l'utilisateurs comme des signes verbaux, similaires à ceux de la langue des signes utilisés par les sourds-muets, ou aux langages gestuels opératifs abondamment utilisés dans certaines professions : commis sur les marchés boursiers, chef d'orchestre...

* Le paradigme de manipulation directe consiste à permettre la manipulation d'objets virtuels, comme s'il s'agissait d'objets réels. Les premières expériences dans ce domaines étaient des système de CAO : la possibilité de "sculpter le vide" que permet un Dataglove devait permettre de résoudre le problème difficile de la construction et la manipulation d'objets informatiques en trois dimensions. Cependant, comme il a été vite constaté et comme l'explique Claude Cadoz [Cadoz 1994], les tâches de construction d'objets et de manipulation fine requièrent une bonne rétroaction : le concepteur doit être à même de "sentir" l'objet qu'il manipule pour pouvoir agir efficacement. C'est pourquoi, malgré des investissements très importants, certains fabricants de logiciels de CAO, comme Alias Research, ont abandonné l'idée de d'utiliser des interfaces gestuelles directes, tout au moins dans l'immédiat, et sont revenus à des techniques plus conventionnelles.

Il existe pourtant un exemple réussi d'interface gestuelle directe basé sur la manipulation directe : le système d'animation de personnages développé en interne chez Médialab [Limantour 1994] permet à des marionnettistes confirmés d'animer en temps réel des personnages. Les animateurs contrôlent un certain nombre de variables du sujet animé au moyen d'un gant numérique : des fils virtuels relient les doigts de la main à des points d'attache sur le modèle. Avec un bon entraînement, les animateurs peuvent obtenir un contrôle total de l'objet animé, leur faisant instantanément prendre des poses caricaturales ("fâché", "réjoui", "hypocrite") avec une surprenante facilité. Ce système permet à Médialab de produire en une journée jusqu'à trois minutes d'animation complexe, alors que la norme antérieure était de trois minute par semaine !

David Sturman [Sturman et Zeltzer 1994] présente une synthèse assez complète des techniques d'interaction gestuelles directe, des méthodes d'analyse et des périphériques de capture du geste. Il demeure important de souligner que la plupart des applications citées n'en sont encore qu'au stade de prototype : les périphériques disponibles actuellement sont encore peu fiables et encombrants, ce qui limite leur utilisabilité et leur diffusion à grande échelle.

II.3.2. Apports de l'interaction gestuelle

On peut classer les apports de l'interaction gestuelle en trois domaines, qu'explicite Morrel-Samuels [Morrel-Samuels 1990]:

II.3.2.1 Interaction concise

En interprétant une plus grande part de l'information fournie par les capteurs, on s'attend naturellement à un élargissement de la bande passante du canal gestuel : l'utilisateur peut s'exprimer avec plus de concision. L'exemple du dessin d'objets graphiques montre parfaitement cet apport : en une seule action, il devient possible de spécifier à la fois une commande (tracé d'un rectangle) et les paramètres requis pour sa complétion (position et taille du rectangle).

II.3.2.2 Interaction naturelle

De nombreux gestes et traces sont porteur d'un sens (supprimer, insérer, déplacer, passer à la suite, revenir...) aisément identifiable par l'utilisateur. Ce dernier peut ainsi apprendre plus rapidement le fonctionnement de l'application et se souvenir plus facilement du jeu de commande dont il dispose.

On rappelle que nous qualifions de naturel un modèle d'interaction tel qu'il est possible d'établir une correspondance directe (une bijection) entre le modèle mental que l'utilisateur a de l'application et le modèle choisi pour l'interaction. Dans notre cas, les interfaces à manipulation directe reposent souvent sur une métaphore d'action dans le monde réel. Dans les outils de dessin, pour poursuivre notre exemple, la métaphore est celle du dessin sur une feuille de papier "amélioré". Cependant, les périphériques utilisés imposent des contraintes : l'écran n'est pas aussi manipulable qu'une feuille de papier, et la souris ne se manipule pas comme un crayon. Il est nécessaire d'établir des transpositions dans la métaphore : utilisation de modes pour figurer différents outils avec un seul dispositif (lignes, rectangles, déplacement...), construction des polygones par étapes... Comme nous l'avons décrit précédemment, l'interaction gestuelle permet ainsi de rapprocher le modèle d'interaction des caractéristiques du support de la métaphore.

II.3.2.3 Interaction directe (dans le cas des interfaces gestuelles "directes")

L'élimination cognitive d'intermédiaires physiques entre l'utilisateur et les objets manipulés apporte à la fois une plus grande concision dans l'expression, puisqu'il devient possible d'agir sans transducteur sur les objets informatiques, et une interaction transparente : un des objectifs souvent cité que doit atteindre une interface est celle de se faire oublier, de disparaître de la perception de l'utilisateur pour lui permettre de travailler effectivement sur le contenu de sa tâche. L'élimination de transducteurs physiques, lorsqu'elle est adéquate, permet d'obtenir une transparence maximale.

II.3.3. Difficultés que présente l'interaction gestuelle

Les interfaces gestuelle en sont encore le plus souvent à un stade prototypal pour plusieurs raisons :

II.3.3.1 Liées aux procédés de reconnaissance et d'interprétation

Les premières difficultés affrontées, mais aussi les mieux résolues, sont la mise aux points d'algorithmes de reconnaissance des gestes. Celle-ci se fait en deux étapes : segmentation puis classification. A la différence de la reconnaissance de la parole ou de celle de l'écriture, les signes et gestes utilisés dans l'interaction ne sont pas prédéterminés par l'usage, mais peuvent faire sans difficulté l'objet d'un compromis pour permettre la production de signes interprétables sans ambiguïtés et aisément mémorisables. De plus, la fréquence d'échantillonnage est habituellement faible (20 à 60 Hz), par rapport à celle requise pour le traitement de la parole, ce qui autorise des traitements importants pour chaque échantillon, sans dépasser les capacités de traitement d'ordinateurs personnels de base.

Nous avons à notre disposition plusieurs algorithmes, soit mis au point par nous-même, soit repris d'autres systèmes (du domaine public) et éprouvés depuis plusieurs années. Ces algorithmes peuvent être améliorés pour parfaire les taux de reconnaissance, simplifier les phases d'apprentissage ou s'adapter à des vocabulaires particuliers. Nous disposons cependant de suffisamment de bonnes méthodes de reconnaissance pour nous permettre de ne pas nous concentrer sur ces problèmes, mais explorer la mise au point de modèles d'interaction adaptés, qui soulève plus de difficultés. Nous présenterons dans chacun de nos démonstrateurs les algorithmes utilisés.

II.3.3.2 Liées aux caractéristiques du geste

La capture du geste pose tout d'abord le problème de trouver des dispositifs d'entrée adaptés : si la tablette graphique ne pose pas de difficultés pour l'utilisation des interfaces basées sur la reconnaissance de marques, la souris ne permet pas l'utilisation d'un large vocabulaire gestuel et il est pratiquement impossible d'utiliser un Trackball, pourtant fonctionnellement équivalent. De même les capteurs de gestes 3D, tels le Dataglove, ont une fiabilité limitée et sont inconfortables.

Une interface gestuelle peut être plus fatigante à utiliser qu'une interface à entrée haptique simple ou une interface vocale : elle demande une plus grande précision et un meilleur contrôle de ses gestes. Enfin, une interface gestuelle aura moins tendance à pardonner les erreurs d'entrée de l'utilisateur, étant donné qu'elle interprète plus d'informations de chaque action élémentaire.

Pour pallier à ces difficultés, les modèles d'interaction gestuelle se doivent de prendre en compte ces facteurs pour en limiter au maximum les effets : prévoir des périphériques adéquats, utiliser des jeux de commandes gestuels concis et acceptant une certaine marge d'erreur.

II.3.3.3 Liées aux modèles d'interaction choisis

Un des préceptes de la manipulation directe veut que l'interface fournisse une représentation constante des actions que l'utilisateur peut réaliser, de sorte que le modèle d'interaction se révèle de lui-même. Il n'est pas aisé de représenter la dynamique d'une commande gestuelle sur un écran et donc de présenter à l'utilisateur les commandes gestuelles disponibles à un moment donné. Cependant, il est possible de résoudre partiellement ce problème au moyen des "Marking Menus", que nous présenterons au Chapitre III.

Dans le cas de l'interaction gestuelle directe, toutes les actions de l'utilisateur étant potentiellement interprétables par la machine, il est possible que des actions non intentionnelles soient interprétées par la machine : c'est le syndrome d'immersion que nous avons évoqué précedemment. L'utilisateur peut devenir incapable d'agir ou de communiquer dans le monde réel, si ses actions sont interprétées par le système informatique. Pour résoudre ce problème, le modèle d'interaction doit offrir un moyen efficace de caractériser l'intentionnalité des actions de l'utilisateur.

Les plus grandes difficultés reposent en fait sur un problème de choix : quels gestes adopter comme signaux de commande, quelle doit être la taille du jeu de commandes, comment offrir la meilleure adéquation possible entre une tâche donnée et une interface gestuelle ? Aussi, la réalisation de prototypes aisément modifiables, leur évaluation suivie d'une itération fonction des résultats obtenus est sans doute la meilleure méthode pour réaliser de techniques d'interaction gestuelle.

II.4. Caractérisation des modèles d'interaction

La présentation des modèles d'interaction couramment utilisés peut se suffire d'une description en langage courant, tel que nous l'avons fait précedemment et tel que le font la majeure partie des auteurs. La généralisation des interfaces graphiques, la constatation de plus en plus répandue des limites des modèles d'interaction actuels fait apparaître le besoin d'un cadre plus général d'étude et de description des méthodes d'interaction. Jusqu'à présent nous avons mêlé la description de techniques, de styles et de règles générales de construction de modèles d'interaction ; nous n'avons pas toujours séparé clairement certaines règles sur la structuration des modèles conceptuels des règles s'appliquant aux modèles d'interaction. Sans pouvoir prétendre modéliser toutes les caractéristiques nécessaires à la définition de modèles, nous pouvons observer quelques aspects de l'espace de conception des modèles d'interaction, et les travaux en cours dans ces domaines.

Tout d'abord, nous devons nous assurer de séparer les traits propres au modèle conceptuel de ceux relatifs au modèle d'interaction. Nous adopterons pour cela une approche ascendante, partant de la description des modalités, puis exposant les différentes méthodes de description de techniques d'interaction, avant d'aborder les aspects stylistiques (syntaxe) et pragmatiques.

II.4.1. Caractérisation des moyens d'actions de l'utilisateur (modalités)

On distingue chez l'être humain deux canaux principaux d'expression : l'expression vocale et l'expression haptique. L'expression vocale peut être utilisée suivant plusieurs modalités : la parole en premier lieu, mais aussi l'onomatopée, le mime sonore, le chant... Nous ne nous étendrons pas sur une taxonomie de ces modalités, car elle nous paraît pour l'instant (sauf la parole) peu sujette à fournir des modes d'interaction efficaces, naturels et directs. Nous avons choisi de nous concentrer sur l'entrée haptique.

II.4.1.1 Description des modalités haptiques

Il est en théorie possible de décrire toutes les possibilités d'interaction disponibles en construisant un modèle du système articulatoire et musculaire volontaire du corps humain. Étant donné le grand nombre de variables et de contraintes que posséderait un tel modèle, il serait peu exploitable. Il nous paraît plus utile de construire un modèle calqué sur celui de l'homoncule du système de contrôle moteur (figure II.1.3), en accordant un plus grand niveau de détail aux zones les mieux contrôlables et par conséquent les plus utiles. Outre le modèle de l'homoncule déterminé expérimentalement, le modèle du processeur humain [Card, et al. 1983] propose une mesure quantitative des performances motrices humaines en fonction des organes considérés. Il est ainsi possible de déterminer les principales zones fonctionnelles de l'être humain par ordre d'importance et d'utilité dans l'interaction :

* la main dominante, constituée des 5 doigts et de la paume, présente 23 degrés de liberté (sans les poignets). Ces degrés ne sont bien sûr pas interdépendants. La main et les doigts sont les organes les plus utilisés et vraisemblablement les plus utiles à l'interaction. Une modélisation plus détaillée de ses particularités est fournie par D. Sturman [Sturman 1992].

* la main non dominante, identique à la main dominante, mais ayant un contrôle moteur moins précis.

* les lèvres et langue, les muscles faciaux présentent un grand nombre de degrés de liberté utilisés de façon très subtile dans la communication humaine. Ces degrés de liberté sont cependant difficilement exploitables : ils sont déjà utilisé pour la communication vocale, leur emploi est fortement stéréotypé, dépendante du milieu socioculturel et sont difficile à interpréter. Le suivi du regard pour déterminer la zone d'attention est l'un des seuls degré de liberté relativement facilement exploitable dans ce domaine (avec la reconnaissance de la parole). (*** ref "representations de données par des "modèles de visages")

* les poignets et bras (coude): Le poignet est lié à la main et ne peut être utilisé indépendamment de celle-ci lorsqu'elle est déjà mise à contribution. Certaines machines-outils utilisent le coude comme moyen d'actionnement d'interrupteurs.

* les pieds : Que ce soit en position assise ou debout, le pied est assez précisément contrôlable et peu être utilisé aussi bien pour des périphériques à états discrets (pédalier de l'orgue) que des périphériques continus (contrôle du volume ou du vibrato sur un harmonium ou un orgue électronique, accélérateur d'une voiture...). De nombreux outils et instruments utilisent des pédaliers et des pédales à course pour remédier à l'occupation des membres supérieurs par d'autres contrôles. De plus, le pied peut être utilisé lorsque la force requise pour actionner un effecteur doit être assez importante.

* les jambes : Les jambes ne peuvent être facilement utilisées lorsque le pied est mis à contribution. Certaines machines outils utilisent cependant des interrupteurs activés par le genou.

* le tronc présente autant de degrés de liberté qu'il y a de vertèbres et de côtes, mais ces dimensions sont assurément difficiles à utiliser activement dans l'interaction avec un ordinateur. Tout au plus une mesure de l'état général de relâchement du corps peut-il indiquer une fatigue de l'utilisateur et une baisse de son attention.

Bien que cette description soit relativement grossière, elle nous permet d'établir une hiérarchie de distribution des dispositifs d'entrée d'information aux organes moteurs humains en établissant une relation de préférence. Il est cependant nécessaire de pouvoir représenter les actions réalisables par l'utilisateur afin de pouvoir les intégrer dans une méthode de description des modèles d'interaction.

II.4.1.2 Représentation des actions

Parmi les diverses méthodes de description du mouvement humain, les notations imaginées pour la danse sont particulièrement riches d'enseignements. Comme nous l'avons fait remarquer, le système articulatoire humain est particulièrement complexe et toutes ses contraintes ne permettent pas de construire une notation des actions utile et lisible sans utiliser de simplification adaptées à l'usage fait de la notation. La première notation répandue de la danse est la notation Feuillet, inventée au XVIIème Siècle. Cette notation, comme toutes les autres, se base sur un principe d'économie fondamental : la trajectoire du centre de gravité du corps humain induit en grande partie celle des autres parties du corps.

Par exemple, le mouvement de la marche se traduit par une succession de légers déplacements du centre de gravité de gauche à droite le long de la ligne suivie. Dans une démarche naturelle, les bras se balancent à contre-amble pour rétablir une trajectoire linéaire du centre de gravité. Pour représenter un mouvement de marche naturelle, il suffit de montrer une trajectoire linéaire accompagnée de marques rythmiques. Une démarche à l'amble se traduira par une simple oscillation de la trajectoire. Toujours dans le même esprit, un écart ou un saut se traduisent naturellement par une levée du bras et une extension de la main afin de préserver l'équilibre. La notation se contentera donc de n'indiquer que les différences voulues par le chorégraphe (par exemple, placer la paume en haut) par rapport aux mouvements naturels du tronc, de la tête et des membres induits par le déplacement général indiqué. La notation Feuillet est en réalité légèrement différente sur ce point de détail mais respecte le principe d'économie.

L'ouvrage collectif [Louppe, et al. 1991] montre les principales notations utilisées, leurs avantages et leurs inconvénients, mais surtout les replace dans le cadre de leur motivation. Les notations actuelles les plus employées, la notation Laban (figure II.4.1) et la notation Benesh (figure II.4.2) sont toujours basées sur un principe différentiel par rapport à une position équilibrée, mais ont une motivation et un aspect visuel radicalement différents.


Figure II.4.1 : Exemple de notation Laban (gamme "A"): il est aisé de se représenter les mouvements de la totalité du corps à partir du seul geste du bras droit noté. Extrait de [Louppe, et al. 1991].


Figure II.4.2 : Exemple de notation Benesh (notation de la posture figurée à gauche). Les marques se contentent d'indiquer les différences entre la posture notée et une posture naturelle: le corps droit, les jambes au sol et les bras le long du corps. Extrait de [Barlow, et al. 1990].

Nous retiendrons des différentes notations de la danse qu'il n'est ni possible ni souhaitable de décrire le mouvement dans sa totalité. Une description des capacités d'action ne peut être rendue lisible et utilisable que si elle respecte un principe de concision en ne fournissant que l'information utile à l'interprétation et en se concentrant sur un domaine particulier.

II.4.1.3 Usage des modalités haptiques

La notation et la description des mouvements ne nous permet que de décrire les actions élémentaires dont est capable un être humain dans une interaction gestuelle directe. Les modalités utilisables dans une interaction instrumentale, c'est-à-dire au moyen de dispositifs actionnables sont encore plus riches et plus difficiles à décrire dans leur généralité. Nous ne pouvons qu'en décrire certains aspects en abandonnant toute perspective de modélisation complète.

Tout d'abord, on distingue deux paradigmes modaux : dans le paradigme instrumental les gestes sont des actes, l'utilisateur agit, directement ou non, sur les objets de son attention. Dans le paradigme langagier, les gestes sont interprétés (par l'utilisateur) comme des signes informatifs vers un destinataire étant chargé de les interpréter. Il n'est pas toujours clair, extérieurement, si un geste doit être interprété comme un signe ou un acte. Il est possible que les deux se confondent dans certains cas, de même qu'il existe des actes de langages [Searle 1977]. Le seul critère de distinction que nous pouvons établir consiste à demander ou à déduire du comportement général de l'agent observé s'il considère ses actions comme des signes ou des actes. Il est en revanche important, lors de la conception d'un modèle d'interaction de choisir l'un des paradigmes afin de pouvoir fournir un modèle cohérent. Le paradigme instrumental nous paraît en général plus approprié à l'utilisation d'un système informatique, qui n'est qu'un outil, cependant nous ne saurions en faire un postulat.

Nous avons précédemment exposé les trois grandes classes de senseurs et d'effecteurs utilisables dans l'interaction : les instruments à états discrets, à contrôle continu et les capteurs de contexte ou d'état. Il est possible d'assigner à chaque type d'instrument un ou plusieurs canaux haptiques préférentiels.

* Les instruments à contrôle continu fournissent un moyen de contrôle riche et fin (bande passante large) mais requièrent une bonne maîtrise motrice. Ils seront donc préférentiellement assignés d'abord à la main dominante, puis la main non-dominante, les lèvres (instruments de musique à vent) et enfin les pieds.

* Les instruments à état discrets requièrent un contrôle moteur moins fin, au prix d'une bande passante plus faible. Ils seront donc utilisés au moyen des mains ou des doigts, mais aussi par les pieds, les genoux ou les coudes.

* Enfin les capteurs d'état ne requièrent pas de l'utilisateur qu'il exerce son contrôle moteur. Toutes les parties du corps peuvent donc être mises à contribution pour indiquer des signes sur la situation (matérielle ou cognitive) de l'agent. L'oeil est un cas particulier : il possède un contrôle moteur très fin ; cependant il est utilisé inconsciemment de façon très intensive en tant que récepteur d'information. Les tentatives actuelles d'utilisation du suivi du regard [Jacob 1991] sont donc essentiellement orientées vers son utilisation en tant que capteur plutôt qu'effecteur.

Le nombre de degrés de liberté du système moteur utilisés dans une action est également un critère à considérer pour la caractérisation de l'interaction du point de vue de l'utilisateur. L'exemple du stylet est évocateur : plus de neuf degrés de libertés sont utilisés de façon coordonnées (trois doigts et les mouvements du poignet) pour fournir une information en trois ou quatre dimensions non orthogonales : position du stylet, pression exercée et parfois angle du stylet. La prise en compte des phénomènes articulatoires rend encore plus délicate la modélisation des capacités d'interaction de l'utilisateur.

Sans prétendre à l'exhaustivité, il est possible de catégoriser un certain nombre de modalités haptiques courantes dans un paradigme instrumental [Cadoz 1994]:

* Les gestes d'activation sont des gestes déclencheurs, exprimant une intention d'action. Sur un clavier, ces gestes correspondent à la pression des touches de validation ou d'annulation, des touches de fonction. L'activation du bouton d'une souris ou la pression du stylet est aussi souvent un geste d'activation.

* Les gestes de modulation viennent fournir des paramètres changeant le sens de l'action générale exprimée. Ils peuvent être exprimés par un dispositif à état discrets (touche majuscule ou "alt" du clavier), ou par un dispositif à entrée continue (pédale de contrôle, souris lors de l'indication de la taille d'un rectangle en cours de création dans un logiciel de dessin).

* Enfin les gestes de sélection, choix de registre ou de mode sont des gestes d'activation n'agissant pas sur l'objet d'attention mais sur des paramètres de contrôle de celui-ci. Ils correspondent aux changements de mode de l'application : boutons des palettes flottantes dans un éditeur de dessin, touches alphabétiques du clavier...

Un geste correspondant à une seule action de l'utilisateur peut incorporer des aspects propres à chacune de ces catégories. L'un des avantages de l'interaction gestuelle est même de systématiser l'union de l'expression de l'intention (activation) et la modulation de cette intention.

Nous n'avons aucune indication sur la complétude de cette classification, et devons conserver à l'esprit que la définition des modalités met en jeu la perception qu'a l'utilisateur de la nature de ses actions, et donc des aspects cognitifs. La description incomplète des moyens d'actions de l'utilisateur que nous venons de fournir a pour rôle essentiel de nous guider dans l'espace de conception, éventuellement de nous indiquer des points intéressants de cet espace, ou de nous fournir des contradictions fondamentales dans un modèle d'interaction proposé.

II.4.2. Caractérisation des dispositifs et des techniques d'entrée

S'il est difficile de modéliser le "nimbus", l'ensemble des moyens d'actions de l'utilisateur, il est possible d'établir une classification des types de dispositifs d'entrée haptique. Originellement proposée par Foley et Van Dam, raffinée par W. Buxton et finalement par S. Card, G. Robertson et J. Mackinlay [Card, et al. 1991], ce modèle se propose de placer les périphériques d'entrée dans un espace permettant de les comparer. Le nombre de dimensions de cet espace n'est pas fixé. Tout critère de comparaison entre deux dispositifs peut en fournir une. Les dimensions les plus importantes sont le nombre et le type des degrés de liberté des dispositifs d'entrée considérés. Le tableau suivant est constitué de 5 axes :

* dispositif de translation ou de rotation.

* dimension de l'espace (x, y, z ou lacet, tangage et roulis) captée.

* déplacement absolu ou relatif.

* capteur de mouvement ou de force.

* résolution (entre 1 bit et l'infini).

Le tableau (figure II.4.3) suivant montre comment positionner les deux périphériques les plus couramment employés (clavier et souris) dans cet espace.

Un périphérique est représenté dans le tableau suivant par un ensemble de cercles connectés par des arcs. Chaque cercle indique l'une des dimensions capturé par le périphérique. Par exemple la souris possède deux capteurs de position relatifs, de résolution infinie, un capteur (le bouton) de position verticale à un état. Le clavier possède 90 capteurs de position verticales à un état chacun. Un système interactif est matérialisé par un certain nombre de périphériques : le cercle en pointillé indique un ensemble de périphériques constituant un système d'entrée.


Figure II.4.3 : Position des périphériques informatiques courant dans l'espace de caractérisation
des dispositifs d'entrée.

L'objectif de cette grille est de pouvoir appliquer les dimensions capturées à des variables du système interactif. Suivant la nature sémantique de la variable, il est possible de choisir une dimension a priori préférable à utiliser : par exemple, il est plus direct de spécifier l'angle de vue d'un objet à l'aide d'un système d'entrée fournissant une dimension de rotation relative à course infinie qu'à l'aide d'un clavier.

Il est également possible de figurer sur cette grille les relations entre les entrées physiques d'un système et son écho lexical. Par exemple, un trackball fournit des dimensions de rotation relative, alors que l'écho usuel est le déplacement d'un point à l'écran, c'est-à-dire deux coordonnées absolues sur l'écran.

Toutes autres considérations ergonomiques mises à part, il est plus naturel de représenter un écho conforme aux dimensions manipulées, de façon à permettre au système perceptuel d'établir une corrélation entre les mouvements du corps et leur effet sur l'environnement. R. Jacob [Jacob, et al. 1994] montre l'amélioration quantitative apportée par l'emploi d'un périphérique adapté à la tâche et plus direct.

D'autres dimensions caractéristiques de cet espace permettent de distinguer des périphériques offrant a priori les mêmes types de capture du mouvement et de faire une évaluation par rapport à un critère choisi.

* La place occupée ("footprint") par le périphérique : une souris réclame une portion d'espace libre dans l'environnement plus importante que le trackball. Cette considération fait de ce dernier un périphérique de choix pour l'informatique portable. Cependant, l'écran sensible au toucher ne réclame aucun volume spécifique, et est sans doute encore plus appréciable de ce point de vue.

* L'inertie du périphérique, qui détermine la force nécessaire pour l'activer. Les claviers de machines à écrire et d'ordinateur peuvent aisément être comparés de ce point de vue. Il est clair que le meilleur périphérique n'est ni celui qui requiert la force la plus importante, ni le moins de force : un périphérique sensible à l'effleurement ne fournit pas de rétroaction passive et est donc difficile à contrôler précisément. L'inertie idéale du périphérique doit être choisie en fonction de l'organe moteur qui lui est destiné. Par exemple, une pédale activée au pied doit être plus résistante si elle est manipulée par le pied gauche que par le pied droit (pour les droitiers). Ainsi, la pédale de débrayage d'une voiture a une course et une résistance plus forte que l'accélérateur.

* L'indice de difficulté (suivant le modèle Keystroke ou la loi de Fitts). Ce critère permet d'établir partiellement l'adéquation des organes moteurs (muscles et articulations) mis à contribution dans une action à la forme du périphérique et aux dimensions captées par celui-ci. Lorsque la dimension captée est à entrée discrète, le modèle Keystroke [Card, et al. 1980] permet de mesurer le temps nécessaire à l'utilisateur pour effectuer un certain nombre d'actions en séquence. Lorsque la dimension captée est à entrée continue, la loi de Fitts permet de mesurer et de prédire les variations de performance constatées en fonction d'un ou plusieurs paramètres de la tâche. En faisant réaliser la même tâche au moyen de plusieurs périphériques fonctionnellement équivalents, il est possible de comparer les mesures de performance obtenues et donc de classer les périphériques pour leur adaptation à la tâche considérée.

Par exemple, Scott Mackenzie [Mackenzie, et al. 1991] utilise cette technique pour comparer la tablette, la souris et le trackball dans des tâches de sélection d'objets et établit que le système moteur exerce un contrôle plus fin (l'indice de difficulté est plus faible) avec une tablette qu'avec un trackball. Ceci nous permet d'affirmer que la main est "mieux" mise à contribution au moyen d'un stylet que d'une boule [Cakir, et al. 1995]. Cette constatation aide à mettre au point un périphérique de pointage intermédiaire (utilisé sur les powerbook 5xx de la gamme Apple), prenant aussi peu de place que le trackball, mais dont la position des doigts sur le périphérique est plus proche de celle utilisé sur une tablette ou un écran tactile.

Cette énumération des dimensions de comparaisons d'effecteurs n'est pas limitative. La définition de cet espace ne doit pas induire l'impression que nous disposons pour autant d'une métrique nous permettant d'évaluer l'adéquation de périphériques à une tâche donnée et de choisir le "meilleur" dispositif d'entrée. En effet, les axes que nous avons décrits ne sont pas orthogonaux. Par exemple le stylet utilisé comme une tablette graphique est reconnu comme l'un des périphériques les plus maniables (son indice de difficulté est très faible). Cependant, certaines directions de traits sont plus "faciles" à réaliser que d'autres. Par exemple, un droitier dessinera de préférence un trait de gauche à droite et de haut en bas [Sommers 1984]. Il en résulte que l'indice de difficulté d'utilisation de la tablette n'est pas un critère unique, il dépend des valeurs respectives prises par les dimensions X et Y de translation. D'autres interdépendances entre dimensions peuvent apparaître : le critère "place occupée par le périphérique" et "indice de performance" sont interdépendants : il est possible d'utiliser une souris sur une plus petite surface que la surface optimale, au prix d'une dégradation de l'indice de performance. Cette dégradation est parfois plus acceptable que le remplacement de la souris par un trackball [Baudel et Dumont 1988].

Il est cependant possible de positionner dans l'espace ainsi défini presque tous les dispositifs d'entrée recensés (figure II.4.4).

Figure II.4.4 : Position des dispositifs d'entrée haptique recensés par Card et al. [Card, et al. 1991]

Cepedendant, malgré son apparente complétude, le tableau de classification des dispositifs ne fournit pas toujours un moyen de placer certains dispositifs d'entrée précisément : par exemple le "cube modelable" décrit par [Murakami et Nakajima 1994] est un cube en mousse élastique sont les coordonnées peuvent être appliquées sur celles d'un objet en trois dimensions de l'application (figure II.4.5). Il est ainsi possible de modifier l'objet par des pressions et manipulations du cube. Cependant les dimensions de contrôle ne sont pas indépendantes : il est impossible d'affecter un seul des degré de liberté sans affecter de manière moindre les autres : une pression sur une face du cube (axe x), entraîne des déformations suivant deux autres axes (figure II.4.6). Le cube modelable possède en tout 90 degrés de libertés, 48 effecteurs sur les faces, 24 sur les arêtes et 18 mesurant la déformation interne du cube. La grille proposée ne montre pas ces interdépendances.


Figure II.4.5: le cube modelable de [Murakami et Nakajima 1994] et les 70 dimensions controlées.


Figure II.4.6 : opérations effectuables au moyen du cube modelable.

L'objectif de la définition de l'espace de conception des périphérique n'est donc pas de fournir des moyens de comparaisons, des métriques entre les périphériques. Il n'est pas possible d'en explorer toutes les dimensions. Comme le précisent Stuart Card, H. Robertson et Mackinlay, cette grille d'analyse permet d'organiser la recherche de points potentiellement intéressants de cet espace et de détecter des conflits possibles dans la conception d'une technique d'interaction. Cependant, seules des mesures de performances comparées en situation d'utilisation permettent une évaluation objective des apports comparés de dispositifs d'entrée.

II.4.3. Description des techniques et styles d'interaction

La description des actions effectuables par l'utilisateur et des dispositifs d'entrée disponibles fournit un vocabulaire de base des actions disponibles. Nous avons vu que ce vocabulaire était loin d'être définissable et analysable de façon systématique. cependant, nous pouvons toujours considérer un sous-ensemble d'actions connues, comme la désignation d'un point, la saisie-déplacement d'un objet... Une fois choisi (informellement) ce vocabulaire, plusieurs méthode permettent de décrire la structuration des actions élémentaires qui constituent le style d'interaction d'une application.

Nous avons déjà évoqué UAN [Hartson, et al. 1990] comme méthode de notation des séquences d'actions de l'utilisateur. UAN est une notation condensée et pensée spécialement pour la description des modes et micro-modes fréquemment rencontrés dans la manipulation directe et parfois difficiles à décrire en langage courant. UAN n'est qu'un instrument de notation, et non un moyen de spécification complète. En effet, il est parfois ambigu et n'est pas directement exécutable .

D'autres modèles permettent de décrire les enchaînements d'action et leurs effets sur l'application : le modèle des réseaux de Petri à objets [Palanque 1992], les grammaires tâche-actions [Payne et Green 1986], les adaptations des modèles de spécification algébriques à l'interaction humain-ordinateur [Harrison et Timbleby 1990].... La spécification d'un système interactif à l'aide de ces modèles permet de vérifier certaines propriétés intéressantes du style d'interaction, comme l'absence d'états inaccessibles, certaines formes de cohérence de l'interaction et le reflet correct de l'état interne du système.

Tous ces modèles proposent une description de structure relativement claire, quoique difficilement utilisable car souvent lourde et éloignée des considérations d'implantation. Plus important, ils présupposent un vocabulaire d'actions élémentaires prédéfini et ne proposent pas de modèle génératif de description de ces actions. Par exemple, UAN est extensible, mais ne permet pas de décrire aisément les interfaces gestuelles, lorsque la trajectoire de l'action est à prendre en compte dans son interprétation.

Nous avons déjà précisé que dans une interaction directe, les modes se devaient d'être réduits et la structure de l'interaction la plus sommaire possible. Dans ce cas, les modèles de description des aspects stylistiques de l'interaction n'ont pas besoin d'être complexes et ne requièrent pas d'outils particuliers. Des outils comme UAN sont utiles aux concepteurs d'interfaces pour noter et communiquer leurs idées aux programmeurs, mais soit ils conservent une sémantique imprécise chargée d'implicite et d'ambiguïté (parfois utile à la conception), soit ils sont d'une lourdeur qui les rend inutilisables pour le concepteur non-informaticien et demeurent moins clairs qu'un programme.

Enfin, ces méthodes de description n'intègrent pas de règles de conception. Certains formalismes permettent de vérifier a posteriori des critères de cohérence et de complétude, mais ils ne sont d'aucune utilité pour la conception du modèle a priori. En comparaison, la description informelle de la manipulation directe que fournit Ben Shneiderman, les règles générales que doit vérifier l'interaction et les guides de style, sont une aide précieuse pour guider le concepteur vers une bonne interface.

II.5. Architecture des systèmes interactifs

Une bonne méthode de description des modèles d'interaction ne peut faire abstraction des considérations d'architecture logicielle impliquées. Tous les modèles précédemment décrits ont leurs techniques d'interaction, qui sous-tend une certaine architecture. Les interfaces à base de ligne de commande, aisées à implanter à l'aide de primitives simples ("read" et "write") ne requièrent pas de modèle d'architecture particulier. La gestion du dialogue, l'interface et le module de traitement sont naturellement séparés par le séquencement du programme, qui commence par analyser l'entrée fournie par l'utilisateur, réalise ses calculs et fournit sa réponse. L'interactivité étant faible, la gestion du dialogue est fortement réduite. Une fois reconnue la nécessité de séparer le module chargé des calculs de celui responsable de l'interaction utilisateur, plusieurs stratégies de modularisation sont apparues pour répondre à des besoins spécifiques.

II.5.1. Modularisation en niveaux d'abstraction

Le modèle de Seeheim [Pfaff 1985] est le premier modèle proposé permettant de modulariser l'interface d'une application. Ce modèle présuppose l'existence d'un ensemble de fonctionnalités, modularisé et dénommé l'application. Cette application a une interface (de programmation) exportée qui peut être appelée par le module chargé de présenter les informations et de structurer l'interaction. Le modèle ARCH [Bass, et al. 1992] est un perfectionnement de Seeheim destiné essentiellement à fournir une plateforme adaptable aux outils existants.

Le module de gestion de l'interface est découpé suivant un modèle linguistique : l'interface est constituée de trois couches logicielles superposées.

Figure II.5.1 : Modèle de Seeheim

* La couche présentation est chargée de présenter à l'écran les informations et d'interpréter les actions élémentaires de l'utilisateur. Elle correspond à une analyse et un écho lexicaux de l'interaction.

* La couche dialogue est chargée d'organiser la structure de l'interaction. En entrée, on peut l'assimiler à la description des différents modes d'une application, en sortie elle s'apparente à l'organisation des écrans et leurs enchaînements.

* La couche interface-application convertit les entrées de l'utilisateur en appels du noyau fonctionnel et réciproquement traduit les données fournies par le noyau fonctionnel en représentations structurées présentables à l'utilisateur.

Ce type de modularisation est particulièrement adapté aux interfaces à base de menus et d'écrans de saisie, ou pour la construction de l'interface de contrôle des applications à interaction graphique (paragraphe I.2.2.5, alinéa 2) : la présentation se charge d'afficher les différents interacteurs (boutons, menus, zones de saisie...) et de réagir aux événements de base : inversion vidéo des boutons, appel des procédures associées aux boutons. L'essentiel des fonctions de présentation est pris en charge par les boîtes à outils actuelles. Le module de dialogue se charge d'organiser les principaux écrans et leur enchaînement. Le module d'interface avec l'application est constitué des différentes callbacks, procédures répondant aux actions principales de l'utilisateur (validation, changement de mode...) et appelant des fonctions de l'application, qui peut par exemple être un serveur de base de données.

Cependant cette modularisation n'est plus adaptée lorsque l'interaction est conforme : chaque objet se doit d'avoir sa propre représentation et de fournir ses propres moyens d'interaction. Dès lors, la gestion du dialogue se trouve dissoute dans les interactions entre objets et utilisateurs, et il devient difficile de construire une application modulaire respectant le modèle ARCH. Un exemple typique des problème que posent cette modularisation en niveaux d'abstraction est celui de l'écho sémantique des commandes. Lorsqu'une action est effectuée, il est parfois nécessaire de fournir un écho sémantique, dépendant de l'état interne de l'application. Par exemple, une interface iconique fournissant à l'utilisateur un moyen de superposer des icônes par "drag and drop" a besoin d'informations sur la nature et l'état des objets correspondants aux icônes pour fournir un reflet lexical des actions autorisées. Dans ce cas, le module de présentation doit utiliser des informations propres à la sémantique de l'application. Une solution couramment proposée consiste à autoriser la délégation sémantique : le module de gestion de l'interface peut prendre à sa charge certaines des fonctionnalités dévolues à l'application.

La délégation sémantique n'est pas une bonne solution. Tout d'abord, elle impose une redondance de code : les mêmes fonctionnalités doivent se répéter dans le module de l'application et dans celui de l'interface. Cette redondance est contraire au principe même de la modularisation et conduit à des applications difficiles à maintenir. Plus important, la délégation sémantique n'autorise pas la situation inverse, c'est-à-dire les cas où l'application doit fournir un écho lexical de son état. L'exemple du thermomètre indiquant la progression d'un calcul est significatif : il est impossible de fournir un bon retour d'information à l'utilisateur sur le déroulement du calcul sans mêler étroitement la procédure de calcul et l'écho. Le processus en cours doit maintenir un compteur de déroulement, et appeler périodiquement tout au long du calcul des procédures de présentation indiquant son état d'avancement. L'interaction gestuelle fournit également de nombreux exemples où le module d'analyse des gestes est étroitement lié à la présentation et à l'application sans pouvoir être considéré comme faisant partie de l'un ou l'autre des modules.

II.5.2. Modularisation par objets

Le système Smalltalk [Goldberg et Robson 1983] fut le premier à fournir une véritable interaction graphique dans un environnement intégré. Pour répondre aux difficultés posées par la conception d'applications fortement interactives, le modèle de modularisation MVC fut développé et utilisé avant même d'être conceptualisé. Ce modèle est présenté assez complètement par Kurt Schmuker [Schmuker 1986]. Des exemples et applications sont fournis par [Krasner et Hope 1988].

Dans le modèle MVC, chaque objet du système possède une vue et un contrôleur. Le rôle de la vue est de fournir une représentation manipulable de l'objet, celui du contrôleur d'interpréter les entrées en changements d'états sur l'objet.

Figure II.5.2 : Modèle MVC (Smalltalk)

Bien que sommaire, ce modèle s'est avéré très commode pour la création d'interfaces graphiques, fondées sur une conception par objets. Il est aisément extensible à d'autres formes d'interaction ou à tout type de représentation, puisque la vue et le contrôleur peuvent être spécialisés suivant les besoins. L'interaction est nécessairement complète, puisque chaque objet peut posséder une vue et un contrôleur. Smalltalk étant faiblement typé, l'interaction n'est pas forcément conforme pour autant : à moins de construire une vue adaptée au type d'un objet particulier, une vue générique est utilisée, qui ne respecte pas nécessairement la sémantique de l'objet considéré et n'est pas toujours adaptée à l'objet. Par exemple, il est assez difficile d'éditer un dessin avec la vue générique, qui représente un dessin comme une liste d'objets graphiques, chacun composé d'un indicateur de type et d'une liste de coordonnées.

Nous qualifierons parfois ce type de modularisation de "transversale", par opposition à une modularisation "verticale" du type du modèle de Seeheim : chaque ensemble MVC possède sa propre gestion des aspects présentation, dialogue et sémantique de l'interaction (Figure II.5.3).

Figure II.5.3 : MVC et Seeheim définissent des stratégies de modularisation perpendiculaires.

Le modèle MVC présente toutefois quelques inconvénients : il ne prend pas en compte les contraintes liant les objets entre eux et la structure globale de l'interaction. Il est donc relativement mal adapté aux interfaces à base de menus et d'écrans de saisie, ou lorsque le modèle de dialogue est complexe. Plus important, il ne présente pas de vue d'une application sous forme de niveaux d'abstraction : fonctionnalités de haut niveau et aspects implantatoires sont présentés sur le même plan pour chaque objet considéré.

II.5.3. Synthèse

Le modèle PAC [Coutaz 1990] propose une synthèse de ces deux approches permettant de prendre en compte les relations et contraintes liant les objets entre eux, et de fournir une hiérarchie de niveaux d'abstraction pour la conception de l'application.

PAC repose sur le concept d'agent, qui peut être constitué de trois modules (Figure II.5.4) :

Figure II.5.4 : Un agent du modèle PAC

* Le module d'abstraction représente la sémantique de l'objet. Il peut être comparé au "modèle" de MVC.

* Le module de présentation prend en charge les aspects vue et contrôle du modèle MVC. En effet, l'étroite dépendance entre la représentation d'un objet et les moyens de le manipuler (on ne peut agir utilement sur un objet non perçu) justifie une telle unification.

* Le module de contrôle regroupe les fonctionnalités d'interaction entre abstraction, présentation et les autres agents. De nombreuses extensions de PAC adaptées à des applications particulières (multimodalité : PAC-Amodeus [Nigay 1993], Collecticiel [Salber, et al. 1994]) enrichissent ce module ou décrivent certaines de ses particularités en fonction du contexte.

La distinction des aspects présentation et abstraction au sein d'un agent permet de séparer certains aspects implantatoires (du coté de la présentation ou celui de l'abstraction) du concept représenté par l'agent (module de contrôle). PAC permet également la conception du système sous forme d'une hiérarchie d'agents, des niveaux implantatoires aux niveaux abstraits. Les agents "conceptuels" (fonctionnalités générales de l'application, par exemple "édition de texte", "organiseur d'idée", "analyseur de requêtes") peuvent être constitués d'agents de plus bas niveau gérant des aspects de présentation, des aspects fonctionnels, ou les deux.

Nous utiliserons PAC comme modèle d'architecture général pour la description des aspects implantatoires de nos modèles d'interaction. Ce modèle est suffisamment souple et adaptable pour nous permettre de décrire les particularités de nos modèles au niveau de la présentation, du contrôle ou de l'abstraction.

II.6. Études de cas

La présentation précédente nous a permis de décrire le cadre de notre étude. Nous exposons à présent plusieurs études de cas ayant permis d'organiser notre démarche de conception de modèles d'interaction. Chacun des cas étudié présente un aspect original, et des enseignements sur les procédés de conception de modèles d'interaction. Nous avons observé suivant les cas :

* Des aspects architecturaux : étude de la compatibilité entre modèles d'interaction, adaptations fonctionnelles nécessaires à l'implantation de certains modèles d'interaction dans les outils actuels. Un prototype d'interface à base de reconnaissance de marques, baptisé Hypermarks nous a permis cette étude.

* Comment créer un modèle d'interaction adapté à un modèle de l'utilisateur particulier, et les changements qui peuvent en être induit sur le modèle conceptuel. "Ligne Claire" est un prototype de technique d'interaction à base de reconnaissance de marques destiné à des dessinateurs professionnels. Il a été conçu à partir de l'observation de techniques de dessins, et sa réalisation nous a montré qu'une technique d'interaction peut constituer en elle-même un nouvel outil interactif, changeant le modèle conceptuel original.

* Comment créer un modèle d'interaction apportant une meilleure efficacité de l'interaction, en préservant une interaction naturelle. Les "toolglass", interacteurs transparents manipulés avec la main non-dominante offrent un paradigme de manipulation directe plus efficace que les interacteurs traditionnels que sont les menus, palettes et boutons.

* L'intégration non intrusive du système dans son environnement avec un exemple d'interface gestuelle directe : "Charade".

Comme nous l'avons précisé en introduction, ces exemples ne sauraient nous fournir un modèle général de description et de construction, mais seulement un guide ou des critères aidant à la conception de modèles d'interaction.


Copyright 1995. Thomas Baudel.
previous Up next