Télécharger - WordPress.com
Transcription
Télécharger - WordPress.com
Des limites de plus en plus floues entre l’homme et la machine 14 mai 2010 Réalisé par Bruno BELIN Dans le cadre du module Initiation à la Recherche Master I ALMA Université de Nantes Année 2009 - 2010 Travaux encadrés par Monsieur Christophe JERMANN 1 Table des matières Table des matières 2 1 Introduction 1.1 Contexte de travail . . . . . . . . 1.2 Module d’initiation à la recherche 1.3 Format spécifique de ce projet . . 1.4 Choix et motivations . . . . . . . 1.5 Cadre général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Etat de l’art : Interfaces Homme Machine 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Un peu d’histoire pour éclairer notre présent . . . . . . . . . . 2.3 Environnement actuel . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 Tendances d’architectures et technologiques . . . . . . . 2.3.2 Tendances dans le monde de l’informatique de gestion . 2.3.3 Panorama de l’état de l’art des technologies d’IHM . . . 2.3.3.1 Monde JavaScript . . . . . . . . . . . . . . . . 2.3.3.2 Monde Java & Flex . . . . . . . . . . . . . . . 2.3.3.3 Monde .NET . . . . . . . . . . . . . . . . . . . 2.3.3.4 Les autres solutions . . . . . . . . . . . . . . . 2.4 Les ruptures nécessaires . . . . . . . . . . . . . . . . . . . . . . 2.5 Les apports de la science cognitive . . . . . . . . . . . . . . . . 2.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2.5.2 Définition d’une interface et conditions nécessaires à son bon fonctionnement . . . . . . . . . . . . . . . . . . . . 2.5.3 Le processeur humain . . . . . . . . . . . . . . . . . . . 2.5.4 Fonctionnement de l’individu basé sur les modèles . . . 2.5.4.1 Acquisition & Perception . . . . . . . . . . . . 2.5.4.2 La lecture . . . . . . . . . . . . . . . . . . . . . 2.5.4.3 L’action . . . . . . . . . . . . . . . . . . . . . . 2.5.4.4 La mémoire . . . . . . . . . . . . . . . . . . . . 2.5.4.5 Le raisonnement . . . . . . . . . . . . . . . . . 2.5.5 Les lacunes de la situation . . . . . . . . . . . . . . . . . 2.6 L’ergonomie des IHM . . . . . . . . . . . . . . . . . . . . . . . 2 5 5 5 6 6 6 8 8 9 11 11 11 12 12 13 14 14 15 15 15 15 16 17 17 17 17 18 19 19 19 Table des matières 2.7 2.8 2.6.1 Principes généraux liés à l’ergonomie . . . . . . . . . . . 2.6.2 Préconisations concrètes . . . . . . . . . . . . . . . . . . Revue des processus et méthodes de conception pour systèmes interactifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7.1 Approches orientées modèles . . . . . . . . . . . . . . . 2.7.1.1 L’expression des besoins . . . . . . . . . . . . . 2.7.1.2 La modèlisation des tâches . . . . . . . . . . . 2.7.1.3 La modélisation du système interactif . . . . . 2.7.1.4 Les environnements à base de modèles . . . . . 2.7.2 Les processus de développement . . . . . . . . . . . . . 2.7.2.1 Les processus de développement classiques . . 2.7.2.2 Les processus de développement en IHM . . . 2.7.2.3 Processus de développement retenu . . . . . . 2.7.3 Les méthodes de conception . . . . . . . . . . . . . . . . 2.7.3.1 Diane+ . . . . . . . . . . . . . . . . . . . . . . 2.7.3.2 Muse*/JSD . . . . . . . . . . . . . . . . . . . . 2.7.3.3 Mefisto . . . . . . . . . . . . . . . . . . . . . . 2.7.3.4 MACAO . . . . . . . . . . . . . . . . . . . . . 2.7.3.5 Lucid : Une démarche de conception proposée par les cogniticiens . . . . . . . . . . . . . . . . 2.7.4 Modèles multiagent . . . . . . . . . . . . . . . . . . . . 2.7.5 Techniques de construction de systèmes interactifs . . . Les besoins d’adaptation des IHM . . . . . . . . . . . . . . . . 3 Etat de l’art : Interfaces cerveau machine, réalité virtuelle et retour sensoriel 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Interfaces Cerveau Machine . . . . . . . . . . . . . . . . . . . . 3.2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Principe de fonctionnement d’une Interface Cerveau Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2.1 Mesure de l’activité cérébrale . . . . . . . . . . 3.2.2.2 Prétraitement . . . . . . . . . . . . . . . . . . 3.2.2.3 Extraction des caractéristiques . . . . . . . . . 3.2.2.4 Classification . . . . . . . . . . . . . . . . . . . 3.2.2.5 Traduction en commande . . . . . . . . . . . . 3.2.2.6 Retour perceptif . . . . . . . . . . . . . . . . . 3.2.3 Phénomènes neurophysiologiques utilisés en ICM . . . . 3.2.3.1 P300 . . . . . . . . . . . . . . . . . . . . . . . 3.2.3.2 Potentiels évoqués stationnaires . . . . . . . . 3.2.3.3 Modulation des rythmes cérébraux . . . . . . . 3.2.3.4 Potentiels corticaux lents . . . . . . . . . . . . 3.2.4 Différents types d’interfaces cerveau-machine . . . . . . 3.2.4.1 Dépendante versus indépendante ICM . . . . . 3.2.4.2 Invasive versus non-invasive ICM . . . . . . . . 3.2.4.3 Synchrone versus asynchrone ICM . . . . . . . 3 20 20 21 21 21 22 22 23 23 23 23 24 25 25 25 25 26 26 27 28 28 31 31 31 31 32 32 34 34 34 34 35 35 35 36 36 36 36 36 37 37 4 Table des matières 3.3 . . . . . . . . . . . 37 38 38 39 39 39 39 39 40 40 40 4 Perspectives 4.1 Interfaces Homme Machine . . . . . . . . . . . . . . . . . . . . 4.1.1 Des modèles centrés sur les documents . . . . . . . . . . 4.1.2 L’ingénierie dirigée par les modèles au service des IHM . 4.1.2.1 Etude de certaines problèmatiques liées à l’ingénierie dirigée par les modèles . . . . . . . . . 4.1.2.2 Perspectives . . . . . . . . . . . . . . . . . . . 4.1.3 Scénario d’un futur proche . . . . . . . . . . . . . . . . 4.1.4 La souris et le clavier . . . . . . . . . . . . . . . . . . . 4.1.5 Un rapprochement entre la télévision et l’informatique . 4.1.6 Faudra-t-il attendre trente ans pour passer du laboratoire à une diffusion de masse ? . . . . . . . . . . . . . . . . . 4.1.7 Quelles interactions pour 2020 ? . . . . . . . . . . . . . . 4.1.8 L’ordinateur du futur imaginé par les designers . . . . . 4.2 Interfaces Cerveau Machine . . . . . . . . . . . . . . . . . . . . 42 42 42 42 5 Conclusion 5.1 Discussion . . . . . . . . 5.2 Organisation du travail . 5.3 Difficultés rencontrées . 5.4 Conclusion générale . . . . . . 48 48 48 48 49 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 51 3.4 Interaction 3D en Réalité Virtuelle . . . . . . 3.3.1 Composantes de la Réalité Virtuelle . 3.3.1.1 Immersion . . . . . . . . . . 3.3.1.2 Autonomie . . . . . . . . . . 3.3.1.3 Interaction . . . . . . . . . . 3.3.2 Techniques d’interaction 3D . . . . . . 3.3.2.1 La navigation . . . . . . . . 3.3.2.2 La sélection . . . . . . . . . . 3.3.2.3 La manipulation . . . . . . . 3.3.2.4 Le contrôle d’application . . Les interfaces Haptiques et Pseudo-Haptiques 6 Annexes 6.1 Figures Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 45 45 45 46 46 46 47 47 58 Chapitre 1 Introduction 1.1 Contexte de travail Ce travaille s’inscrit dans le cadre du module d’initiation à la recherche de la première année de Master I ALMA proposé par l’Université de Nantes. Il a débuté au second semestre de l’année 2009-2010 et donne lieu à ce document qui constitue le rapport final. C’est Monsieur Christophe JERMANN qui encadre ces travaux. 1.2 Module d’initiation à la recherche Le Master I ALMA prévoit un module d’initiation à la recherche qui se décompose en deux parties complémentaires : une partie théorique constituée d’une série de cours complétée d’un projet de recherche en lien avec un laboratoire et des chercheurs. Les cours ont été pris en charge par Monsieur Colin de La Higuera1 , membre du LINA 2 à l’Université de Nantes et intégré à l’équipe TALN3 . Pouvoir profiter du retour d’expérience d’un chercheur aguérri aux pratiques d’un milieu jusque là inconnu est une opportunité unique qu’il convient de saisir. On y découvre le travail d’un chercheur, son contexte immédiat de travail ainsi que les communautés qui l’entour, les aspects administratifs ou les règles qui régissent ce monde un peu à part. Le partage du savoir et des idées m’a intrigué au tout départ mais au final, j’ai pu à mon tour bénéficier de ces pratiques qui se sont révélées essentielles pour mes travaux de recherche. En terme de diffusion des documents relatifs à la recherche, je pense cependant que la communauté pourrait opter pour un canal de distribution transparent, mieux structuré et plus libre. La présentation d’un large panel de projets de recherche mis à la disposition du groupe d’étudiants Alma I a permis à chacun de sélectionner un thème en adéquation avec ses préférences. Cette présentation a également été l’occasion de découvrir les différentes problèmatiques prises en 1 http ://pagesperso.lina.univ-nantes.fr/∼cdlh/ d’Informatique de Nantes Atlantique 3 Traitement Automatique du Langage Naturel 2 Laboratoire 5 CHAPITRE 1. INTRODUCTION 6 charge par les équipes de recherche participantes, que cela soit TALN avec le traitement automatique du langage naturel, ATLAS-GDD avec la gestion de données distribuées, COLOSS pour les composants et logiciels sûrs, MEO avec les méthodes ensemblistes pour l’optimisation, COD pour les connaissances et décisions, MODAL pour les langages de modélisation d’architectures logicielles ou encore l’équipe ACSED d’IRCCyn qui a en charge l’étude des systèmes à événements discrets et des systèmes hybrides en vue de leur conception et de leur commande. 1.3 Format spécifique de ce projet Concernant la partie "Projet de recherche" qui est en lien direct avec ce document, j’ai pu bénéficier d’un format particulier compte tenu de ma situation personnelle. En effet, j’ai repris mes études dans le cadre d’une période de professionnalisation4 afin d’intégrer le Master I Alma. A ce titre, je continue à exercer mes responsabilités dans le cadre de mes activités professionnelles à raison d’une journée par semaine et pendant les périodes de congés universitaires. C’est essentiellement pour cette raison que Monsieur Chistophe JERMANN, responsable de la formation Master I ALMA, m’a permis de choisir un sujet libre de recherche à mener de façon individuelle. 1.4 Choix et motivations Qu’est-ce qui a guidé mon choix et quel était le but initial de cette étude ? Bien entendu, je souhaitais aborder un sujet en relation avec l’informatique et des technologies innovantes. Ceci étant, je voulais également marquer une rupture avec mes activités professionnelles habituelles qui sont en lien avec la conception et le développement de logiciels de gestion : le monde des PGI5 . Pour faire mon choix, je suis parti des concepts de "réalité virtuelle" ou "augmentée" qui m’intéressent. En recherchant un projet openSource associé, j’ai trouvé le projet Open-ViBE qui traite en plus des Interfaces Cerveau Machine (ICM). Intrigué par cette possibilité, j’ai souhaité en faire le point de départ de mon projet. Sur les recommandations de Monsieur JERMANN, il est apparu la nécessité d’élargir le spectre de mon étude pour positionner ce travail dans l’ensemble des travaux liés aux Interfaces Homme Machine (IHM). Nous verrons dans la suite de ce document qu’il s’agit en réalité d’un vaste sujet qui rend de plus en plus floues les limites entre l’homme et les machines. 1.5 Cadre général L’ordinateur constitue aujourd’hui une extension des capacités intellectuelles de l’homme tout comme l’outil représente une extension de ses capacités 4 http ://www.travail-solidarite.gouv.fr/ de gestion intégré 5 Progiciel CHAPITRE 1. INTRODUCTION 7 musculaires. Les interfaces homme machine, ou plus exactement homme ordinateur, sont au coeur de ce dispositif. Elles peuvent prendre des formes variées pour permettre, grâce aux interfaces cerveau machine par exemple, de commander un dispositif électronique rien que par la force de la pensée : ce qui représente de nouvelles perspectives et de grands espoirs, notamment chez les personnes atteintes d’un handicap moteur sévère. Chapitre 2 Etat de l’art : Interfaces Homme Machine 2.1 Introduction Les Interfaces Homme Machine sont essentielles pour permettre à l’homme d’accomplir ses tâches à l’aide d’une machine. Ses objectifs sont variés. Elles peuvent être utilisées pour représenter de l’information, aider l’utilisateur à prendre des décisions ou encore faciliter la collaboration. D’autre part, les IHM doivent répondre à un nombre importants de critères comme l’accessibilité, l’efficacité, la rapidité d’apprentissage, la fiabilité ou encore la sécurité. Dans cette partie, un bref retour historique axé sur les évènements marquants liés aux interactions entre l’homme et la machine parait essentiel pour mieux comprendre notre environnement actuel et tenter de cerner ses limites. Nous abordons ensuite l’IHM du point de vue des sciences cognitives pour identifier des notions et des techniques importantes trop souvent négligées par les informaticiens. En l’absence de méthode de conception formelle émanant des cogniticiens et directement accessible aux informaticiens, nous verrons qu’il se dégage tout de même des principes et règles d’ergonomie efficaces déduites de l’approche expérimentale. L’étude de [Myers et al. 92] montre que sur un ensemble de grands projets, près de 80% du code d’une application est dédiée à la communication entre l’homme et la machine. Face à cet enjeux, l’ingénierie en Iteraction Homme-Machine continue ses recherches pour proposer des processus et méthodes de conception adaptés aux systèmes interactifs. Mais l’ingénierie doit faire face à d’autres défits. En effet, conformément à la vision de Mark Weiser qui présente sa vision de l’informatique du 21e siècle nommée "Ubiquitous Computing", l’informatique pervasive laisse envisager une nouvelle génération de systèmes d’information et nécessite des besoins élargis d’adaptation des IHM. 8 CHAPITRE 2. ETAT DE L’ART : INTERFACES HOMME MACHINE 2.2 9 Un peu d’histoire pour éclairer notre présent L’invention des langages de programmation constitue une étape importante dans l’histoire de l’informatique pour faciliter les interactions entre l’homme et les machines. Dans ce domaine, les travaux d’Ivan Sutherland au début des années 1960 ont été déterminants. Le système SketchPad qu’il révéle dans sa thèse dès 1963 est considéré en effet comme la première interface graphique. Ce système est constitué d’un écran cathodique et d’un crayon optique pour permettre une interaction à "manipulation directe" avec des objets graphiques, ce type de manipulation venant se substituer aux "langages de commandes" basés sur des noms de commandes et d’objets exploités majoritairement pour le traitement par lots (mode "batch") jusqu’à la fin des années 1970. L’utilisateur dispose d’une désignation directe des objets à l’écran, d’un retour d’information immédiat, du placement d’une figure par contraintes ou encore du zoom avant et arrière. Au niveau des concepts, son système intégre une représentation des objets graphiques en mémoire, une résolution de contraintes et un système de rendu graphique. En 1967, alors professeur à Harvard, il mettra au point avec son étudiant Bob Sproull le premier casque de réalité virtuelle. De son côté, Doug Engelbart publie dès 1962 un article qui présente sa vision du rôle des systèmes informatiques dans l’élévation du niveau intellectuel de la collectivité grâce aux possibilités de collaboration qu’il offre. Ses travaux donnent naissance en 1968 au système NLS 1 , un système hypertexte collaboratif couplé à un système de vidéoconférence mettant en oeuvre un grand nombre d’aspects de collaboration encore absents du Web d’aujourd’hui. Entre temps, il propose en 1964 la première souris pour faciliter le pointage des objets sur l’écran. Doug Engelbart défend l’idée d’interfaces adaptées aux capacités des utilisateurs ("knowledge workers") plutôt que des interfaces simplistes accessibles au plus grand nombre. Cette vision tranche avec celle de Xerox qui s’adresse aux secrétaires avec le Star ou encore avec celle d’Appel qui destine son Macintosh au grand public. Le laboratoire de recherche de Xerox créé en 1970 sera à l’origine de nombreuses inventions donnant raison au slogan "la meilleure façon de prédire le futur, c’est de l’inventer" lancé par Alan Kay, l’un de ses fondateurs et considéré comme le père de l’informatique individuelle. Après l’imprimante à laser, le réseau local Ethernet et le langage à objets Smalltalk, Xerox met sur le marché en 1981 le Star, lancé 6 années plus tôt. Ce système est doté de principes évolués d’interaction graphique : édition de texte, dessin bitmap, dessin vectoriel, workflow et courrier electronique. Ce système est centré sur la notion de document et la notion d’application n’existe pas pour l’utilisateur : tout document peut contenir du texte, des dessins, des formules mathématiques ou des tableaux, tous éditables sur place. Tous les concepts des interfaces modernes sont présents dans le Star qui reste encore en avance sur les interfaces actuelles : 1 On-Line System CHAPITRE 2. ETAT DE L’ART : INTERFACES HOMME MACHINE 10 transparence du réseau, environnement centré sur les documents, petit nombre de commandes applicables à un grand nombre de contextes ou interaction non modale. Il faudra attendre trois années supplémentaires pour qu’Apple, avec son Macintosh, puisse donner le coup d’envoi du marché de l’informatique personnelle. Largement inspiré du Star, cette machine introduit les barres de menus et boites modales. Elle intègre le concept d’application et abandonne l’aspect réseau. Par la suite et malgrès ses efforts, Apple tentera d’imposer l’approche centrée sur les documents sans y parvenir. Cela peut s’expliquer par la force d’un modèle commercial lié aux éditeurs de logiciels qui vendent des applications autonomes indépendantes les unes des autres. Parmi les autres faits significatifs de ces dernières années, le système GRAIL de Tom Ellis fut en 1964 le premier à utiliser une reconnaissance des marques tracées avec un stylet sur une tablette graphique. En 1969, Myron Krueger crée des systèmes qui permettent aux utilisateurs d’interagir de façon gestuelle grâce à l’analyse en temps réel des mouvements de leur corps et invente par la même occasion le terme de "Artificial Reality". En 1971, les premiers travaux sur le retour d’effort sont réalisés par Fred Brooks et Henry Fuchs afin de pouvoir non seulement voir mais également toucher des objets en trois dimensions synthétisés par l’ordinateur. En 1980, Rich Bolt présente le système Put-ThatThere, le premier système dit multimodal qui combine la reconnaissance des gestes de la main dans l’espace, la désignation sur un grand écran et la reconnaissance de la parole. Dans un autre registre, Dan Bricklin et Bob Frankston commercialisent VisiCalc dès 1979, le premier tableur de l’histoire. Il ne s’agit pas d’un simple outil de calcul supplémentaire mais d’un véritable outils d’aide à la décision : une augmentation de l’intellect humain. En 1980, Tim Bernes-Lee intégré au CERN2 crée un système hypertexte précurseur du Web. En 1990, il réalise un prototype qui est à la fois un navigateur et un éditeur de pages Web : Tim Bernes-Lee voulait en effet que chacun puisse être "auteur". C’est lui qui est à l’origine du langage HTML et du protocole HTTP. Il faudra néanmoins attendre l’arrivée en 1993 du navigateur Mosaïc implémenté sous X-Window par Marc Andressen pour que le Web connaisse un développement fulgurant En 1991, Mark Weiser du laboratoire Xerox PARC publie l’article "Ubiquitous Computing" qui présente sa vision de l’informatique du 21e siècle. Cette vision consiste en la multiplication des ordinateurs et des écrans de toutes tailles permettant l’accès à l’information en ligne en tout lieu et en toute circonstance. Il crée dans les années 90 des prototypes de ces systèmes avec des ordinateurs de différentes tailles (badge, bloc-note et tableau) capables de communiquer entre eux pour fournir un réel environnement interactif. 2 Centre Européen de Recherche Nucléaire CHAPITRE 2. ETAT DE L’ART : INTERFACES HOMME MACHINE 11 En 1993, le concept de "réalité augmentée"ou "réalité mixte" fait son apparition. Ce système permet d’intégrer des informations au sein d’objets physiques plutôt que de les confiner au monde informatique de l’ordinateur. C’est ainsi que Pierre Wellner avec son Digital Desk propose le premier système de réalité augmentée composé d’un projecteur et d’une caméra montés au-dessus d’un bureau traditionnel. L’ordinateur peut ainsi suivre les manipulations d’objets physiques posés sur le bureau et projeter des informations ou des applications comme une calculatrice manipulable directement sur la surface du bureau. 2.3 Environnement actuel Après ce rappel historique, essayons maintenant de nous y retrouver parmi les tendances et le panorama des technologies d’IHM disponibles. 2.3.1 Tendances d’architectures et technologiques Deux nouveaux acteurs innovants ont fait leur apparition dans le monde des IHM Web. Il s’agit d’Adobe et de Google qui proposent des solutions innovantes tout en respectant les standards de développement. Ils évitent ainsi une rupture avec les outils existants. Coté client léger, ce dernier porte de plus en plus mal son nom. En effet, du traditionnel "server-side", on revient au "client lourd" où seules les données sont échangées entre le serveur et le navigateur et où la gestion de l’IHM est intégralement déléguée au navigateur. Ce déplacement des responsabilités a des impacts importants sur la sécurité et la performance des applications : responsabilité d’authentification et d’habilitation devant être prises en charge par le navigateur. Avec Flex, Silverlight, JavaFx et bientôt HTML5, les IHM vectorielles débarquent en force. Le vectoriel est désormais mûr et apporte des gains significatifs pour l’utilisateur : animations, meilleur intégration design / code, etc. Nous venons d’évoquer HTML dont la spécification HTML5 prévue pour 2012 est très prometteuse. Elle prévoit en effet la prise en charge du mode déconnecté, le support de la vidéo et du dessin vectoriel, les tâches de fonds dans le navigateur et intégrera des Apis orientées terminaux mobiles. Firefox et Google implémentent les éléments stabilisés de cette norme au fur et à mesure dans leurs navigateurs respectifs. Concernant les mobiles, l’IHM connait une nouvelle jeunesse grâce au succès de l’iPhone qui a été le premier mobile à proposer une usabilité intuitive, un catalogue d’applications dédiées aux petits écrans et des interactions multitouch. 2.3.2 Tendances dans le monde de l’informatique de gestion Afin de conserver une productivité acceptable, la plupart des entreprises mettent en place une stratégie "poste de travail standardisé" qui consiste à : CHAPITRE 2. ETAT DE L’ART : INTERFACES HOMME MACHINE 12 – offrir un point d’entrée unique sur toutes les applications du SI avec une prise en charge des aspects liés à la sécurité – proposer une identification unique (Sigle-Sign-On ou SSO) – permettre un passage de contexte entre les différentes applications pour éviter une (re)saisie et les erreurs associées – proposer une touche de personnalisation aux utilsateurs (menus personnalisés, raccourcis vers les actions courantes) Après une phase de simplification de l’usabilité pour permettre des refontes en technologies web entre 2000-2004, les refontes actuelles se font beaucoup en utilisant des technologies client lourd comme nous l’avons vu précédemment, l’enjeu recherché étant essentiellement la productivé des utilisateurs habitués à des écrans hyper-réactifs, l’intégration avec le bureau Windows ou l’utilisation de périphériques. La volonté d’utiliser une même IHM sur des canaux différents progresse (même présentation pour des utilisateurs de classes différentes), les entreprises cherchant la simplification technique et un gain en clarté. Cette volonté induit une nouvelle complexité car les règles de sécurités diverges entre les populations et l’accès à certaines fonctionnalités supérieures nécessite des adaptations permettant d’enrichir l’IHM. Aujourd’hui, les projets de type "moteur de recherche métier" se multiplient en entreprise et une IHM moderne conçue en 2010 doit nécessairement intégrer cette problèmatique de recherche en texte libre dans les données métier. En fonction des éléments sélectionnés, la bonne application est lancée et positionnée dans le bon contexte. 2.3.3 Panorama de l’état de l’art des technologies d’IHM La classification des technologies d’IHM peut être vue selon deux axes : un premier axe lié à l’environnement d’exécution "runtime", un second axe attaché au modèle de programmation. Pour l’axe "runtime", on considère trois environnements possibles : "Browser Rendered" lorsque l’IHM est intégralement gérée et affichée par les moteurs HTML et JavaScript du navigateur, "Browser Plugin Rendered" si l’IHM est gérée par une extension ou un plugin du navigateur et "Custom Rendered" lorsque l’IHM est exécutée par un "runtime" (Exemple : machine virtuelle) en dehors de tout navigateur web. Pour l’axe "modèle de programmation", on identifie deux modèles différents : le modèle "mixte" lorsque la description et les comportements sont réalisés à partir de langages ou de modes distincts et le modèle "programmatique" lorsque tout est codé via un langage unique. 2.3.3.1 Monde JavaScript Avec l’explosion d’Ajax, JavaScript est devenu un langage de programmation d’IHM. Pour la mise en oeuvre, il est possible de procéder par décoration du HTML (attributs supplémentaires et interprétation du DOM via JavaScript - Dojo), par manipulation du DOM HTML (HTML manipulé en JavaScript - CHAPITRE 2. ETAT DE L’ART : INTERFACES HOMME MACHINE 13 JQuery) ou uniquement via du JavaScript (Pas de code HTML - ExtJS). La spécification XBL 2.03 du W3C devrait simplifier la manière de faire des composants et de développer en JavaScript. Actuellement, seul le moteur Gecko intégré dans FireFox supporte cette spécification. 2.3.3.2 Monde Java & Flex Filière Browser Rendered On y trouve Struts comme premier standard, Java Server Face correspondant au standard JEE actuel et SpringMVC comme challenger. Ces technologies se caractèrisent par un modèle de programmation "descriptif & programmatique" : un langage évolué enrichissant le HTML et du code Java permettant d’implémenter les comportements. Google Web Toolkit a pris le parti de ne pas utiliser le JavaScript comme langage de développement mais Java. Cette solution propose un compilateur Java vers JavaScript ainsi qu’un environnement de développement complet qui permet aux développeurs de ne plus manipuler directement le JavaScript, laissant les optimisations et la gestion des compatibilités entre navigateurs au compilateur, ce qui est particulièrement appréciable. Le framework Grails quant à lui, plus générique, permet cependant de développer rapidement des IHM en simplifiant la création de "portions" d’écrans avec l’utilisation de contrôles graphiques riches construits sur la base de librairies JavaScript pré-packagées. Filière Browser Plugin Rendered Cette section est dominée par Adobe avec sa solution Flex et son plugin Flash. Flex peut être positionné dans le monde Java compte tenu de ses possibilités d’interaction avec cet environnement. En effet, il peut être intégré avec un serveur tier implémenté selon les standards Java. JavaFX, proposé par Sun, tente de rattraper son retard. Ses résultats reste pour le moment peu probants et révèlent un fossé en termes de langage, de fonctionnalités et de maturités. Filière Custom Rendered Regroupe les acteurs historiques Swing et SWT qui tournent tous les deux dans la JVM. Swing utilise des contrôles "dessinés" par la JVM à la différence de SWT qui se base sur les contrôles natifs de l’OS. Ces frameworks peuvent bénéficier de couches supplémentaires offrant des composants graphiques plus évolués, SwingX, JGoodies ou JIDE (payant) pour Swing et JFace pour SWT. On retrouve également dans cette catégorie Flex et JavaFX qui ont la particularité de pouvoir s’affranchir du browser par l’intermédiaire du runtime AIR ou de la JVM. On notera également qu’Eclipse et NetBeans offrent tous les deux un socle de développement et de déploiement d’applications (Rich Client Plaform), respectivement Eclipse RCP et NetBeans Platform. Bien qu’une prochaine version de Java soit attendue avec des améliorations significatives (binding, validation, cycle de vie, etc.), nous avons pu observer que Sun/Oracle mise plus sur JavaFX. De son côté, le couple SWT/JFace reste relativement stable. 3 XML Binding Language CHAPITRE 2. ETAT DE L’ART : INTERFACES HOMME MACHINE 2.3.3.3 14 Monde .NET Jusqu’à présent, l’IHM des applications développées avec les outils Microsoft s’appuyaient sur les contrôles graphiques fournis par Windows, les Shell et Common controls. Avec l’arrivée de .NET, Microsoft a mis au point WinForms qui permet d’utiliser ces mêmes contrôles avec tous les langages du Framework .NET (C#, VB.Net, Managed C++). Depuis la version 3 du framework .NET, il est possible de ne plus dépendre des contrôles de Windows. En effet, XAML (eXtensible Application Markup Language) est un langage XML de description des IHM indépendant de Windows. Il est pour le moment implémenté dans deux technologies : Silverlight Une implémentation "Browser Plugin Rendered" basé sur XAML et un sous-ensemble du Framework .Net. Avec la version 3, Microsoft a rattrapé son retard par rapport aux technologies Flash de Flex. C’est la seule solution permettant d’exécuter du .Net sur tous les OS et la plupart des navigateurs. WPF Une implémentation dédiée à la plate-forme Windows. Bien que lié à l’OS et donnant accès à l’intégralité du Framework .Net, ce produit ne s’appuie pas sur les éléments graphiques intégrés à l’OS. Il s’agit d’une implémentation IHM native qui se positionne comme le successeur de WinForms. Parallèlement à ces solutions, Miscrosoft continue de faire évoluer ASP.NET qui correspond à sa solution "Browser Rendered" historique, le support d’HTML 5 et de CSS 3 étant annoncé pour Internet 9. 2.3.3.4 Les autres solutions Au niveau des solutions Browser Rendered En dehors des mondes évoqués précédemment, on retrouve PHP ou Ruby on Rails qui sont les deux solutions les plus répandues. Ces solutions proposent des encapsulations de framework JavaScript, qui accélèrent l’ajaxification des IHM sans proposer des solutions plus ambitieuses. SDK associés aux nouveaux périphériques Compte tenu de leur succès récents et de leur côté innovant, nous pouvons citer ici le SDK de l’iPhone ou celui d’Androïde qui se positionnent face au traditionnel Windows Mobile. Langage XML de description d’IHM XUL est un langage de description d’IHM utilisé comme framework pour le développement de FireFox. Malgrès son apparition précoce sur le marché, il n’a pas réussi à s’imposer pour devenir un framework d’entreprise. CHAPITRE 2. ETAT DE L’ART : INTERFACES HOMME MACHINE 2.4 15 Les ruptures nécessaires Grâce à ce retour historique et à une bonne connaissance de la situation actuelle, nous pouvons constater que la plupart des concepts des interfaces "modernes" sont anciens. La souris et le clavier ont monopolisé toutes ces années le devant de la scène et devraient peut-être laisser la place à des moyens permettant d’exploiter pleinement les capacités d’action, de perception et de communication avec l’utilisateur humain. Mais ce n’est pas tout, nous devons également nous poser des questions sur les systèmes actuels centrés sur les applications et imposés par les éditeurs. Ne devraient-ils pas céder la place à un système centré sur les documents pour remettre l’utilisateur au coeur des préoccupations. En effet, nous sommes face à une prolifération d’applications où l’utilisateur doit manipuler de plus en plus d’informations au travers de systèmes de plus en plus complexes et variés qui représentent au final toujours plus de contraintes pour lui. Malgrès des investissemens énormes consentis ses dernières années dans les technologies de l’information, nous devons faire face à une baisse constante des gains de productivité. C’est le paradoxe de W.Wayt Gibbs (Taking computer to Task, Scientific American, 1997) qui explique ce phénomène par une mauvaise utilisabilité des logiciels. La collaboration est également un aspect essentiel à considérer du point de vue des IHM. Bien que les standards et normes présentent l’intérêt énorme d’unifier les pratiques, ils peuvent contribuer par la même occasion à freiner l’émergence de nouvelles pratiques en rupture avec l’existant. On notera que l’industrie du jeu joue pour sa part un rôle majeur dans l’évolution des IHM. 2.5 2.5.1 Les apports de la science cognitive Introduction Les ergonomes et psychologues parlent d’interaction homme-ordinateur qu’ils désignent comme l’ensemble des phénomènes physiques et cognitifs qui participent à la réalisation de tâches informatisées alors que pour les informaticiens concernés par cette technologie, une telle interface correspond à un assemblage de composants logiciels et matériels qui permet l’accomplissement de tâches avec le concours d’un ordinateur. La première vue est animée par les aspects psychologiques de la communication alors que la seconde est dirigée par les composantes techniques de la réalisation. 2.5.2 Définition d’une interface et conditions nécessaires à son bon fonctionnement Une interface est un dispositif qui sert de limite commune à plusieurs entités communicantes. Pour que la communication soit possible, le dispositif doit assurer à la fois la connexion physique entre les entités et effectuer des opérations de CHAPITRE 2. ETAT DE L’ART : INTERFACES HOMME MACHINE 16 traduction entre les formalismes. Dans le cas de l’interface homme-ordinateur, la communication a lieu entre l’image externe du système et les organes sensorimoteurs de l’utilisateur. Du côté système, une traduction est assurée entre les représentations internes adaptées aux traitements du problème et la représentation externe qui participe à la réalisation de l’image. Une opération analogue se produit du côté utilisateur entre la repésentation mentale de la situation perçue ou à atteindre et les actions physiques à entreprendre. Une fois la communication établie, l’interaction peut avoir lieu. La réalisation d’une interface suppose donc la connaissance précise du comportement de chacune des entités à relier. Lorsque l’une des entités est un sujet humain, la définition de l’interface devient une tâche complexe, souvent teintée d’empirisme et d’arbitraire. 2.5.3 Le processeur humain La psychologie cognitive propose des modèles thèoriques de fonctionnement d’un individu lors des processus de traitement de connaissances. Ces modèles ont pour but de mieux comprendre les capacités et les limites humaines en termes de perception de l’environnement, de mémorisation et de manipulation de l’information ou en termes de manipulation des objets. Parmi les différents modèles proposés, on retrouve le modèle du Processeur Humain qui représente l’individu comme un système de traitement d’informations régi par des règles et composé de trois sous sytèmes interdépendants : les sytèmes sensoriel, moteur et cognitif. Chacun d’eux dispose d’une mémoire et d’un processeur dont les performances se caractérisent à l’aide de paramètres. Pour une mémoire, les paramètres essentiels sont la capacité, la persistance et le type d’information mémorisée. Pour un processeur, le paramètre important correspond au cycle de base qui inclut le cycle d’accès à sa mémoire locale. Des paramètres (capacité, persistance, cycle) formalisent les performances élémentaires des sous-systèmes et des lois (Comme celle de Fitts) expriment par des formules mathématiques les performances globales du processeur Humain. Ces paramètres et ces lois étant confirmés par l’expérimentation, ils constituent des approximations réalistes formelles utiles à la prise de décision des compromis inhérents à la conceptions d’interfaces homme-ordinateur. Dans la mesure où les concepts attachés à ce système sont précisément ceux que les informaticiens manipulent quotidiennement, ce modèle constitue une introduction simple et séduisante au domaine de la psychologie cognitive. Ce modèle est utile pour expliquer et prédire les performances d’un utilisateur. Ces performances, bien qu’évaluées de manière approximatives, permettent de répondre à des questions précises. les réponses permettent à leur tour de déterminer les contraintes qui devront être respectées lors de la réalisation du système. CHAPITRE 2. ETAT DE L’ART : INTERFACES HOMME MACHINE 2.5.4 17 Fonctionnement de l’individu basé sur les modèles 2.5.4.1 Acquisition & Perception La vision correspond à une activité complexe qui fait intervenir plusieurs étapes : la réception physique d’un stimulus (forme, mouvements, teintes) puis son traitement et son interprétation (reconstruction des objets). Les informations reçues sur la rétine sont filtrées et transmises pour reconnaître des scènes (recherche de cohérence), évaluer les distances (vision 3D) et différencier les couleurs. La taille d’un objet sur la rétine dépend de sa distance. En fonction de la taille perçue de l’objet, il est alors possible de se faire une idée de sa distance. Par contre, l’identification des objets est indépendammente de leur distance. Au final, il est donc impossible d’évaluer la distance d’un objet inconnu ou dont on ignore la taille. En terme de luminosité, l’oeil est réactif à la luminance 4 des objets et le contraste est une différence de luminosité. Plus il y a de lumière et plus la vision est facile et précise. Par contre, la lumière artificielle provoque un effet de clignotement dû à la fréquence du courant qui est d’autant plus perceptible qu’il y a de lumière. Concernant les couleurs, on est en mesure de percevoir 150 longueurs d’onde différentes. En prenant en compte les paramètres de luminosité et de saturation, cela donne une perception d’environ 7 millions de couleurs. Certaines compositions de couleurs restent peu lisibles. On perçoit ce qu’on s’attend à voir et notre vision est parfois soumise à des illusions ou à des problèmes perceptifs en fonction du contexte. En travaillant à 50 cm d’un écran, la zone d’acuité visuelle maximale donnant une image nette en couleur n’est en fait qu’un cercle de 5 cm de diamètre environ. 2.5.4.2 La lecture On peut voir trois étapes dans le processus de lecture : reconnaissance d’un motif, décodage selon la représentation interne du langage et décomposition syntaxique et sémantique. La lecture se fait par mouvement saccadé de l’oeil : arrêts long (94 % du temps) et saut rapide sur la ligne (6 % du temps). On identifie globalement les mots aussi vite qu’un caractère isolé. 2.5.4.3 L’action Si l’on s’intéresse au contrôle moteur, le temps de réaction avant le début d’une action est variable en fonction du type de signal. Pour un signal auditif, il est de 150 ms, pour une signal visuel il correspond à 200 ms alors qu’un sigal tactile nécessite 700 ms. La pratique permet de réduire la durée mais la fatigue l’augmente tandis que la réduction du temps de réponse réduit la précision (saisie au clavier, pointage à la souris,...). Concernant l’obtention d’un objectif, le délai pour atteindre une cible avec le curseur est fonction de la distance à la cible et de sa taille, ce qui est formalisé par la loi empirique de Fitts : tm = a + b log(d/T + 1) où tm est la durée du mouvement, a et b sont 4 La luminance correspond à la quantité de lumière renvoyée par l’objet CHAPITRE 2. ETAT DE L’ART : INTERFACES HOMME MACHINE 18 des constantes déterminées par la mesure, d correspond à la distance à la cible et T est la taille de la cible. 2.5.4.4 La mémoire La mémoire permet de stocker un ensemble de faits, de procédures ou d’actions. Elle permet de répéter des actions, d’utiliser le langage et de nouvelles informations fournies par les organes des sens. On considère qu’il y a trois types de mémoire : la mémoire sensorielle, la mémoire à court terme et la mémoire à long terme. La mémoire sensorielle Chaque sous système sensoriel dispose d’une mémoire spécifique, dite mémoire sensorielle. Les stimuli sont codés dans la mémoire sensorielle. Les mémoires sensorielles sont intimement liées à la mémoire à court terme du système cognitif. Ce dernier dispose d’un filtre qui détermine la nature des informations à transférer entre les mémoires sensorielles et la mémoire à court terme. Lorsque, par la suite des transferts, la capacité d’absorption de la mémoire à court terme atteint la limite de saturation, les informations des mémoires sensorielles ne sont plus transmises et se dégradent. La persistence des mémoires sensorielles est de l’ordre de 200 msec pour la mémoire visuelle et 1500 msec pour la mémoire auditive. La mémoire à court terme Cette mémoire est associée au système cognitif. Elle contient les opérandes d’entrée et les résultats intermédiaires des traitements en cours. Les opérandes proviennent des mémoires sensorielles et/ou de la mémoire à long terme. La capacité de cette mémoire est estimée à 7 ±2 mnèmes5 . Lorsque la mémoire à court terme est saturée, l’activation de nouveaux mnèmes efface de la mémoire ceux qui n’ont pas fait l’objet d’une réactivation. La mémoire à long terme La mémoire à long terme a le même rôle que les mémoires centrales et secondaires d’un calculateur. Elle contient les informations de masse ; elle peut être lue et modifiée ; son contenu est un réseau de mnèmes qui représentent des procédures et des données respectivement connaissances procédurales (ou savoir-faire) et connaissances factuelles (ou connaissance de faits). L’information ne disparait pas de la mémoire à long terme. Elle est simplement inaccessible. On considère que la persistance des informations de la mémoire à long terme est infinie. Les opérations d’écriture dans la mémoire à long terme s’effectuent par association. La création de nouvelles associations est toujours possible. On considère donc que la capacité de la mémoire à long terme est infinie. 5 Un mnème est une unité cognitive symbolique, une abstraction qui peut être associée à d’autres unités. Les associations et la nature du mnème dépendent de la tâche en cours et des connaissances de l’individu. Par exemple, la suite de lettres "SNCF" constitue un mnème pour la plupart d’entre nous mais forme quatre mnèmes pour toute personne qui ignore la signification de ce sigle. CHAPITRE 2. ETAT DE L’ART : INTERFACES HOMME MACHINE 2.5.4.5 19 Le raisonnement La connaissance, même incomplète, est utilisée pour faire des déductions et tirer des conclusions. On distingue différents modes de raisonnement : déductif, inductif et abductif. Le raisonnement déductif permet de tirer une conclusion logique à partir d’un ensemble de faits. On notera que très souvent, les connaissances interviennent pour court-circuiter la réflexion. Le raisonnement inductif infère une information par généralisation à partir de cas connus. L’induction est utilisée au quotidien et permet d’émettre des hypothèses jusqu’à vérification ou au contraire infirmation ou raffinement. Le raisonnement abductif cherche à remonter aux causes. L’abduction est souvent utilisée pour formuler une hypothèse. On cherche ensuite à l’infirmer ou à la confirmer. 2.5.5 Les lacunes de la situation L’ordinateur peut s’entrevoir non pas comme un simple outil mais comme un collaborateur car il participe activement à la réalisation de l’oeuvre commune. Dans ce contexte, l’efficacité du soutien dépend étroitement de la connaissance des facultés et des mécanismes de résolution du partenaire. L’ensemble "système informatique-utilisateur" fonctionne comme des vases communicants : si l’utilisateur ne va pas vers le système, le système parcourt la branche du chemin qui conduit à la collaboration ; à l’inverse, si le système ne va pas jusqu’à l’utilisateur, c’est l’utilisateur qui doit faire l’effort d’adaptation complémentaire. Lorsque l’effort demandé dépasse les capacités et les motivations, l’interaction s’achève en situation d’échec. L’objectif du concepteur est donc de déterminer les limites du chemin mental de l’utilisateur. La conception des systèmes se plie trop souvent aux exigences de l’informatique avant de répondre à celles de l’utilisateur. L’informaticien s’applique avant tout à définir les fonctions logicielles d’un système sans vraiment se préoccuper des besoins et des limites cognitives de l’utilisateur. Si les fonctions d’un système ne sont pas de nature à compléter les facultés de l’utilisateur, si leur organisation ne correspond pas à la structure mentale de résolution, aucun effet de présentation ne pourra durablement maquiller les carences de fond. Concernant les sciences cognitives, elles proposent des théories séduisantes mais trop restreintes pour envisager de modéliser l’ensemble des processus psychologiques de l’interaction homme-machine. Aucune méthode de conception ne s’adresse véritablement à l’informaticien. Il est possible néanmoins de retenir des enseignements formateurs et constructifs qui ne relèvent pas d’une méthode éprouvée mais d’une compétence (savoir-faire). 2.6 L’ergonomie des IHM L’ergonomie énonce des règles de bon sens pour la construction des IHM basées sur l’expérience. CHAPITRE 2. ETAT DE L’ART : INTERFACES HOMME MACHINE 2.6.1 20 Principes généraux liés à l’ergonomie A partir de l’approche expérimentale, nous avons vu que certains principes peuvent être déduits : – Principe de cohérence – Principe de concision – Principe sur les retours d’information – Principe de structuration des activités – Principe de flexibilité Mais on retiendra comme premier principe que toute conception d’interface doit placer l’utilisateur au centre de l’étude. 2.6.2 Préconisations concrètes Les règles préconisées sont nombreuses, nous limiterons donc notre exposé à celles qui nous semblent les plus significatives. Notons en préembule qu’une belle IHM participe à la satisfaction de l’utilisateur, cet aspect ne doit donc pas être négligé. Concernant l’information tout d’abord, l’IHM doit afficher toute l’information essentielle à la décision et elle s’attache à ne reprendre que les informations utiles. Chaque écran doit rester autonome et ne présenter qu’une idée ou tâche. L’accomplissement d’une tâche doit pouvoir se faire sans obligation d’aller chercher l’information sur un autre écran. En cas d’erreur, il est important d’apporter une aide à la résolution du problème. L’organisation spatiale regroupe logiquement les éléments par petits groupes en nombre restreints et on cherche à respecter un équilibre ainsi qu’une symétrie. Il est nécessaire de standardiser les polices utilisées, les boutons, les bordures, les couleurs et la position des entités, le tout étant incorporé dans un écran générique. Les boutons doivent être assez grands (Loi de Fitts) et regroupés par fonction similaire. Ils sont systématiquement désactivés lorsqu’ils ne sont pas disponibles, tout comme les menus et items de menus. Concernant les couleurs, il est préférable de commencer la conception en noir et blanc, les couleurs étant ajoutées uniquement lorsqu’elles apportent quelque chose à l’ergonomie. Elles peuvent servir à organiser ou établir des relations, faciliter la recherche dans une liste ou attirer l’attention. Elles sont utilisées en nombre réduit et de façon très différenciées. Un aspect important des IHM concerne les temps d’attente de l’utilisateur qui engendrent de l’agacement, de l’énervement et de la fatigue (car l’utilisateur ignore l’issue). Le temps perçu par l’utilisateur étant subjectif, différentes techniques existent pour limiter ses effets. On peut utiliser pour cela les barres de progression, le changement d’apparence du curseur ou bien faire défiler le descriptif des sous-tâches. La barre de progression permet à l’utilisateur d’identifier le temps restant, il pourra donc s’organiser en conséquence. Il est important dans ce cas de prévoir une possibilité d’annulation avec un retour systèmatique CHAPITRE 2. ETAT DE L’ART : INTERFACES HOMME MACHINE 21 à la situation initiale. Si une tâche n’est pas interruptible, il est nécessaire de prévenir l’utilisateur avant qu’il ne lance la tâche. Le dernier aspect concerne l’architecture de l’IHM. Son implémentation doit être séparée du noyau fonctionnel. Elle reste en attente des évènements de l’utilisateur et affiche les résultats provenant du noyau qu’elle contrôle. Elle doit être capable de s’adapter au niveau des utilisateurs mais en règle général, elle n’impose pas un traitement séquentiel permettant ainsi à l’utilisateur confirmé ou expert de décider de l’action à réaliser. Le menu Quitter doit être le plus souvent disponible ainsi que les options Annuler, Couper, Copier, Coller ou Supprimer lorsqu’elles ont une signification dans le contexte. On ne doit jamais enfermer l’utilisateur dans une impasse sans retour. 2.7 Revue des processus et méthodes de conception pour systèmes interactifs Dans sa thèse, David Navarre6 montre les limites des processus de développement classiques appliqués aux systèmes interactifs qui débouchent très souvent sur une inadéquation entre le système produit et le besoin réel. C’est ainsi qu’il expose les différents modèles et méthodes de conception pouvant s’appliquer au développement de systèmes intéractifs avant de proposer sa propre contribution dans le domaine. 2.7.1 Approches orientées modèles Identifier des modèles de haut niveau permet aux concepteurs de décrire et d’analyser des sytèmes interactifs en gardant un point de vue sémantique. Le concepteur peut porter son attention sur les choix de conception les plus pertinents et profiter ensuite d’outils permettant la mise à jour automatique du système interactif de façon cohérente à ces choix. De plus, l’utilisation de modèles favorise la discution entre les différents intervenants en permettant de conserver les résultats et les traces des discutions. Il existe plusieurs aspects de la modèlisation d’un système interactif : l’expression des besoins, la modèlisation des tâches, la modèlisation du système interactif et les environnements à base de modèles. 2.7.1.1 L’expression des besoins La phase de description des besoins s’inscrit dans une phase d’observation. Cette phase permet de recenser et de décrire toutes les propriétés souhaitées pour le système interactif et celles nécessaires au bon fonctionnement du système. Elle est très souvent exprimée de façon informelle. Elle permet de concrétiser les besoins d’un état donné du système ou les besoins liés à la dynamique du système interactif (langage ACTL) ainsi que les besoins génériques et spécifiques liés au domaine. 6 Contribution à l’ingénierie en Interaction Homme-Machine, 2001 CHAPITRE 2. ETAT DE L’ART : INTERFACES HOMME MACHINE 2.7.1.2 22 La modèlisation des tâches La modélisation des tâches permet de décrire les intentions des utilisateurs et les activités dans lesquelles ces utilisateurs doivent s’engager pour accomplir leurs buts. Le but de la phase de modèlisation des tâches est de construire un modèle qui décrit la relation qui existe entre les tâches identifiées par la phase d’analyse. Certaines techniques de modélisation des tâches sont fondées sur la décomposition des tâches avec les actions utilisateur nécessaires à leur accomplissement. La majorité des approches se situent dans un cadre informel. Nous retiendrons CTT7 qui est une notation basée sur des diagrammes pour décrire graphiquement les modèles de tâches. Bien que CTT s’appuie sur une notation pseudo-formelle, elle constitue un moyen trés satisfaisant car elle reste très intuitive et son pouvoir d’expression permet de couvrir le cadre de travail collaboratif. De plus, elle est supportée par un outil, appelé CTTE, qui permet d’éditer et de vérifier les modèles CTT. 2.7.1.3 La modélisation du système interactif Un modèle donne une représentation de l’interface utilisateur et permet de la générer ou de l’exécuter à partir de ce même modèle. Il existe de nombreuses techniques de description de systèmes interactifs. Les plus récentes fournissent des mécansismes pour décrire les interfaces utilisateur à un haut niveau d’abstraction. En général, plusieurs modèles sont nécessaires pour décrire les différents aspects d’une interface : – Modèle de l’Application (AM) : Décrit les propriétés pertinentes de l’interface – Modèle Tâche-Dialogue (TDM) : Décrit les tâches accomplies par l’utilisateur et l’impact des actions de l’utilisateur sur le système interactif – Modèle Abstrait de Présentation (APM) : Donne une description conceptuelle de la structure et du comportement de la partie visuelle de l’interface utilisateur. L’interface est décrite à l’aide d’objets abstraits – Modèle Concret de Présentation (CPM) : Décrit en détails la partie visuelle d’une interface utilisateur. C’est la description de l’organisation des objets de l’application. Dans cette liste, les modèles de tâche et de dialogue qui permettent de décrire les tâches accomplies par un utilisateur, les fonctionnalités offertes à cet utilisateur et l’impact de ses actions sur le système interactif sont regroupés dans un seul et même modèle "TDM" compte tenu de la forte interconnexion de leurs rôles. Les modèles se composent de constructeurs (classe, attribut, méthode, relation, tâche, but, action, etc.) et utilisent différentes notations plus ou moins standards (TKS, LOTOS, CSP, OOA, OOD, OMT, HTA, HTI, JANUS, MDL, MIMIC, ERA, ACG, etc.) pour représenter ces modèles. 7 ConcurTaskTree CHAPITRE 2. ETAT DE L’ART : INTERFACES HOMME MACHINE 23 Parmis les différentes approches, l’auteur de cette thèse propose la mise en place de la méthode ICO (Objet Coopératif Interactif) composée des éléments suivants : – réseaux de Petri pour décrire le comportement du dialogue du système interactif – une collection d’objets permettant de décrire la présentation – des liens entre le dialogue et la présentation matérialisés par deux fonctions : une fonction de rendu et une autre d’activation Cette approche met en oeuvre la notation UML et le formalisme COCE. Elle permet la vérification de propriétés sur les modèles qu’elle permet de décrire tout en se focalisant sur la description du système interactif contrairement à la majorité des approches qui ne font pas de séparation entre la représentation du travail de l’utilisateur et la représentation du système sur lequel il effectue ce travail. Elle n’est pas prévue pour générer le code de l’application. 2.7.1.4 Les environnements à base de modèles Compte tenu de la complexité des modèles d’interfaces, le processus de modélisation est habituellement compliqué et des outils sont généralement fournis pour aider le concepteur à modéliser l’interface utilisateur : Model-Based User Interface Development Environment ou MB-UIDE. A partir du HIIS Laboratory (The Human Computer Interaction Group http ://giove.isti.cnr.it/site/), nous retrouvons des outils qui peuvent être téléchargés et qui semblent d’actualité : ConcurTaskTrees Environment (CTTE), MARIAE, . . . 2.7.2 2.7.2.1 Les processus de développement Les processus de développement classiques Les processus classiques composés du "modèle en cascade", du "cycle en V " ou du "modèle en spirale" sont focalisés sur la qualité du code produit et ne prennent pas en compte l’utilisateur. Pour qu’ils soient utilisables et pertinents dans le contexte des IHM, il faudrait les faire évoluer dans une démarche centrée utilisateur. C’est ce que souligne également l’étude comparative des méthodes du Génie Logiciel menée par Emmanuel ADAM & Chistophe KOLSKI en 1999. Parmi les méthodes comparées et représentatives de chaque mouvance (MERISE, OMT, UML, 3AR, SADT, OSSAD, CISAD et MKSM), aucune ne prend en considération véritablement l’interface utilisateur. 2.7.2.2 Les processus de développement en IHM Le "prototypage" permet d’aboutir, après plusieurs tentatives, à une clarification des besoins mais ce procédé ne permet pas de produire un code de qualité qui est inversement proportionnel au nombre d’itérations y conduisant. Le "modèle en couches" issu des travaux de [Curtis et al. 94] donne, pour chaque phase du développement, ce qui est à faire pour la partie fonctionnelle de CHAPITRE 2. ETAT DE L’ART : INTERFACES HOMME MACHINE 24 l’application et pour la partie interactive, en conservant une séparation claire entre ces deux parties d’un système interactif. Ce modèle ne prévoit aucune mise en relation explicite entre les deux parties et étant séquentiel, il perd les avantages d’un processus itératif comme le prototypage. Le "modèle en cercle" proposé par [Collins 95] est un modèle itératif qui apporte une grande importance à l’analyse des tâches. Ceci étant, ce processus reste trop confus et se limite à fournir une description des relations sans apporter de réponse dans la façon de les respecter. Dans le "modèle en étoile" de [Hartson et al., 89], chacune des boîtes aux extrémités des branches de l’étoile représente une phase du processus de développement et constitue un point d’entrée potentiel dans ce processus. Dans ce modèle, quelle que soit la phase accomplie, on doit passer par une phase d’évaluation avant de procéder aux autres phases lorsque cela est nécessaire. Ce modèle souffre cependant de son ouverture et de sa flexibilité car il offre trop de liberté au concepteur qui n’est pas suffisement guidé. 2.7.2.3 Processus de développement retenu Le processus de développement retenu par David Navarre s’inspire des méthodes de travail du CENA (Centre d’Etude de la Navigation Aérienne) et du STNA (Service Technique de la Navigation Aérienne) pour proposer un processus de développement global adapté à la conception de systèmes interactifs. Pour améliorer le système et lever toute erreur d’interprétation entre les équipes, il introduit une part de formalise (matérialisée dans la figure 2.1 par les parties grisées) basée sur différents diagrammes UML. Fig. 2.1: Processus de développement global CHAPITRE 2. ETAT DE L’ART : INTERFACES HOMME MACHINE 2.7.3 25 Les méthodes de conception Les méthodes de conceptions aident à la planification des tâches, sont explicites et structurées. Elles facilitent le développement de systèmes en aidant à la gestion de la complexité, en augmentant la communication entre les équipes et en aidant à la prise de décision. Nous reprenons ici deux approches qui visent à l’intégration des facteurs humains dans une méthode de conception de systèmes interactifs : Diane+ et Muse* avant de présenter une méthode plus adaptée issue du projet européen Mefisto. Nous complétons cette liste par deux approches originales : MACAO basée sur la méthode RUP et Lucid proposée par des cogniticiens. 2.7.3.1 Diane+ Cette méthode est destinée aux informaticiens. Elle intègre des caractèristiques d’ergonomie générale et de psychologie cognitive. Elle prévoit des recommandations d’ordre général et permet de différentier les utilisateurs. Diane+ est basée sur Merise et se focalise sur la conception de l’interface HommeMachine. Elle permet en autre de définir de façon précise la répartition des tâches entre l’homme et la machine ainsi que la liberté d’action de l’utilisateur pendant l’utilisation de l’application. Ses recommandations n’étant pas exhaustives, elle permet d’éviter les erreurs grossières. 2.7.3.2 Muse*/JSD En lien avec la méthode JSD de conception d’applications informatiques qui inclut des procédés de génie logiciel, Muse est une méthode pour ergonomes désirant spécifier l’interface utilisateur en prenant en compte des facteurs humains. Cette méthode se décompose en trois grandes phases : phase de recueil et d’analyse des informations, phase de synthèse de la conception et phase de spécification. Muse intègre deux principes fondamentaux. Premièrement, elle spécifie l’interface utilisateur avant son implémentation ; deuxièmement, pour chacune des étapes, les entrées, les sorties produites et les procédés qui transforment les entrées en sorties sont spécifiés explicitement au moyen de différents formalismes. 2.7.3.3 Mefisto Cette méthode8 issue du projet européen Mefisto9 est la mise en commun de l’expérience en informatique, en facteurs humains et en interaction homme-machine des différents partenaires du projet. Elle bénéficie aussi bien des méthodes de conception provenant du génie logiciel que du domaine de l’interaction homme-machine. Elle s’articule autour de trois perspectives complémentaires : le procédé, la conception et l’abstraction. 8 http://giove.isti.cnr.it/projects/mefisto.html 9 Modeling, Evaluating and Formalising Interactive Systems using Tasks and interaction Object CHAPITRE 2. ETAT DE L’ART : INTERFACES HOMME MACHINE 2.7.3.4 26 MACAO Bien que limitée dans sa diffusion, l’intéret de la méthode MACAO10 est de proposer une méthode orientée-objet comportant une démarche compléte, depuis la prise de conscience des besoins d’un logiciel par les utilisateurs jusqu’à la livraison, et sa maintenance. Elle reprend les grandes lignes de la méthode RUP (Rational Unified Process) en y rajoutant l’aspect IHM et en simplifiant quelque peu la démarche. Tout comme RUP, cette méthode est un procédé instancié de SPEM (Software Process Engineering Metamodel). 2.7.3.5 Lucid : Une démarche de conception proposée par les cogniticiens Cognetics Corporation fondée en 1982 par le Dr. Charles B. Kreitzberg milite pour une conception de logiciels centrée sur l’utilisateur : c’est la machine qui doit s’adapter à l’activité humaine. Cette organisation propose la méthode de conception L.U.C.I.D. (Logical User Centered Interactive Design) qui repose sur un cycle classique de conception : Prototype -> Evaluation -> Conception. Dans ce cycle, la phase d’évaluation est essentielle et doit intervenir le plus tôt possible au travers des scénarios et prototypes. Idéalement, elle doit être réalisée tout au long du cycle de vie du produit afin d’évaluer les fonctionnalités, la bonne compréhension des utilisateurs et les temps nécessaires pour réaliser leurs tâches. Elle peut faire appel à des méthodes analytiques, à l’observation, à des interviews ou être basée sur des questionnaires. Il existe également des outils logiciels permettant de tester les interfaces (Marathon Man UI Testing framework / JFC Unit). Dans certains cas, l’évaluation peut être réalisée par un expert. Chaque formule a ses avantages et inconvénients qu’il faut prendre en compte en fonction de l’avancement dans le cycle de vie du produit, du type de mesure (vitesse, nombre d’erreurs) et des ressources disponibles. Cette méthode de conception se décompose en six points : Développement du concept du produit L’objectif de cette partie consiste à proposer une feuille de route permettant d’identifier les concepts de haut niveau, les classes d’utilisateurs concernés avec les objectifs d’utilisabilité, les contraintes et une description générale des tâches importantes. Analyse Cette étape d’analyse doit permettre de rafiner la répartition de la population en sous-classes caractérisées par des besoins similaires. Elle nécessite un dialogue auprès des utilisateurs permettant d’analyser en détail les besoins du métier et les besoins fonctionnels. Elle permet de modéliser des scénarios d’utilisation dans un format graphique ou textuel (mise en oeuvre d’UML) pour les différentes classes d’utilisateurs correspondant à des situations récurrentes et critiques. 10 Méthode d’Analyse et de Conception d’Applications orientées-Objet CHAPITRE 2. ETAT DE L’ART : INTERFACES HOMME MACHINE 27 Conception initiale de l’interface A ce stade, le concepteur propose un concept d’interaction et un modèle de navigation. Il réalise les maquettes des écrans importants (prototypage de bas niveau) et propose un style (look & feel). Ces éléments serviront de base pour les premières évaluations. Conception incrémentale de l’interface Cette étape est essentielle puisqu’elle va permettre de valider ou non l’interface proposée aux utilisateurs avant de passer à l’étape suivante. Elle repose sur le prototypage et l’évaluation et s’appuie sur un cycle incrémental classique (circulaire) : Prototype, Evaluation, Conception. Elle nécessite la création de modèles d’essai. Chaque étape d’évaluation avec les utilisateurs représentatifs doit être suivie d’une analyse et d’une réflexion sur les résultats obtenus. Implémentation de l’application A ce stade, il s’agit d’intégrer le reste de l’application (noyau fonctionnel) avec l’interface développée précédemment. De plus, on procéde à ce niveau à l’implémentation de l’interface étendue (Aide en ligne, documentation, etc.). Evaluation externe L’évaluation externe correspond à la diffusion de la version béta et à la mise en place d’un plan d’évaluation. Elle nécessite la correction d’erreurs avant la livraison d’une première version opérationnelle. Elle prend en charge le planification des prochaines versions (entretien curatif et évolutif). 2.7.4 Modèles multiagent Le modèle multiagent représente un système interactif comme un ensemble d’acteurs spécialisés chacun dans la gestion d’un fil de dialogue. A la gestion centralisée de l’état de l’interaction et de la présentation se substitue une totale répartition des charges. Ce parallèlisme et cette répartition sont les conditions nécessaires à la prise en compte des méthodes de résolution des utilisateurs. La répartition présente en sus deux retombées intéressantes : celui d’une forte modularité vers les traitements physiquement distribués. MVC : un style de conception Une structuration selon le style de conception Modèle - Vue - Contrôleur (MVC) permet, très efficacement, de structurer le code d’un système interactif. Ce style permet de structurer les interfaces utilisateur graphiques. Il existe des styles de programmation, dérivés de MVC, que l’on retrouve dans l’implémentation des boites à outils graphiques telles que Java Swing, notamment le style MVC relâché basé sur des vues spécialisées et permettant de diminuer le nombre de messages échangés entre objets. PAC Le modèle PAC structure de manière récursive l’architecture d’un système interactif en agents organisés chacun en trois classes de compétence : CHAPITRE 2. ETAT DE L’ART : INTERFACES HOMME MACHINE 28 – La présentation définit l’image de l’agent, c-a-d son comportement perceptible de l’utilisateur – L’abstraction définit les fonctions et attributs interne de l’agent, c-à-d son comportement via-à-vis d’autres agents – Le contrôle maintient la cohérence entre les deux perspectives. Il est à la fois arbitre et traducteur. 2.7.5 Techniques de construction de systèmes interactifs Pour construire un système interactif, il existe différentes techniques permettant de faciliter les développements : – Boites à outils – Machines à images abstraites (prise en compte des contraintes, dimensionnement et placement) – Squelettes d’application – Générateurs d’interfaces interactives 2.8 Les besoins d’adaptation des IHM Avec l’évolution des IHM, les systèmes informatiques se sont multipliés et diversifiés. Auparavant, les interfaces étaient conçues pour une cible d’utilisateurs et pour une tâche donnée. Les systèmes sont désormais utilisés par une grande variété d’utilisateurs pour leur permettre de réaliser des tâches variées. Les concepteurs doivent donc prendre en compte la diversité de ces utilisateurs pour proposer des outils adaptés à leurs besoins réels. Il faut également prendre en compte la mobilité des individus qui interagissent désormais avec une grande variétés de terminaux différents pour des besoins élargis. Compte tenu de ces éléments, les interfaces se transforment progressivement pour devenir : – adaptées : niveau d’adaptation statique mis en oeuvre par le concepteur pour une cible prédéfinie d’utilisateurs – adaptables : elles peuvent être modifiées par l’utilisateur qui doit choisir les adaptations qui correspondent le mieux à ses habitudes et ses préférences. Dans ce cas, l’adaptation est dynamique puisqu’elle a lieu pendant l’exécution du programme mais elle reste sous le contrôle de l’utilisateur. – adaptatives : dans ce cas, le système est capable de s’adapter sans l’intervention explicite de l’utilisateur grâce à un processus d’acquisition et d’exploitation d’un modèle utilisateur nécessitant des formes d’apprentissage, d’inférence ou d’aide à la décision Les premiers travaux sur les interfaces adaptatives datent des années 70. On parle désormais de plasticité des interfaces par référence à la plasticité des matériaux qui se déforment sans se rompre. Un système interactif est plastique lorsqu’il est capable de s’adapter à la diversité des contextes tout en préservant son utilisabilité. La plate-forme matérielle sur laquelle s’exécute un système interactif peut-être constituée dynamiquement et de manière opportuniste par l’utilisateur au grès des ressources disponibles à l’endroit où il se trouve. Ces nouvelles possibilités offertes par l’informatique diffuse induisent que les IHM CHAPITRE 2. ETAT DE L’ART : INTERFACES HOMME MACHINE 29 ne sont plus confinées à une seule station de travail. Elles peuvent désormais être distribuées sur plusieurs dispositifs, migrer de l’un à l’autre et s’adapter dynamiquement au nouveau contexte de l’interaction. L’exécution d’un système interactif plastique pose plusieurs problèmes. La diversité des plate-formes et des environnements d’interaction engendre une infinité de situations d’exécution différentes et il devient impossible pour le concepteur de toutes les prévoir. L’approche par machine virtuelle (JVM) n’est pas suffisante dans ce contexte pour répondre à cette problèmatique car une IHM ne serait être identique pour un téléphone portable, un calculateur de poche ou une station de travail. Dans leur document [IHM-8], David Thevenin & Joëlle Coutaz distinguent quatre niveaux d’adaptation : – l’adaptation des interacteurs physiques : l’IHM s’adapte en utilisant les objets de la boite à outils présents sur la ou les plates-formes cibles. Avec cette adaptation, la nature des interactions physique est conservée mais le rendu peut varier (NSButton sur Macintosh et WinButton sur Pc) – l’adaptation des interacteurs logiques : Dans ce cas, l’IHM s’adapte en changeant de système représentationnel. L’adaptation consiste à choisir parmi les interacteurs logiques disponibles ceux dont les capacités représentationnelles et fonctionnelles sont équivalentes (navigation par hyper liens ou par onglet, label & textField ou label & comboBox, . . . ). – l’adaptation du contrôleur de dialogue : Une modification de ce type correspond à un changement de la structure du dialogue. La nature des tâches reste inchangée mais leur agencement différe. – l’adaptation de l’adaptateur de noyau fonctionnel : La nature des tâches et des concepts manipulés est changée. Cette forme d’adaptation est appliquée lorsque les contraintes sont si fortes qu’il est nécessaire de supprimer des concepts ou des tâches (Une partie des tâches d’édition est supprimée lorsque l’application est accédée depuis un assistant personnel). Ils souhaitent enfin proposer une architecture complète qui puisse couvrir les différents niveaux d’adaptation présentés ci-dessus. Dans le document [IHM6], Lionel Balme constate également un manque de modèles et d’outils pour supporter les phases d’exécution de ces systèmes et propose de concevoir une infrastructure pour supporter l’exécution de systèmes interactifs plastiques. Plus récemment, [Anas Hariri et al.] dans leur article 11 constatent que la majeure partie des travaux, portant sur la plasticité de l’IHM, prend en compte généralement une gamme limitée de contextes d’usage, se focalisant sur des caractéristiques comme la taille de l’écran ou la langue. Il justifient cette situation par la difficulté de capturer et de traiter les informations contextuelles. De plus, ils considèrent que la majorité des recherches vise à manipuler l’interface utilisateur sans se préoccuper de la partie fonctionnelle. Ils sitent néanmoins le projet Rainbow [Garlan et al., 2004] qui utilise une infrastructure réutilisable et vise une adaptation dynamique en plus d’une prise en compte du proces11 Principe et étude de cas d’adaptation d’IHM dans le SI en fonction du contexte d’interaction de l’utilisateur, 2009 CHAPITRE 2. ETAT DE L’ART : INTERFACES HOMME MACHINE 30 sus métier du Système d’Information. Ils font également état des travaux de [Bandelloni et al., 2004] dans le cadre du projet Cameleon qui traitent des problèmes difficiles relatifs à la migration de l’IHM pendant l’exécution entre les plate-formes avec la conservation des données et des informations de l’utilisateur. Ils basent leur démarche sur ce dernier projet qui propose quatres étapes essentielles de développement des interfaces dans un environnement pervasif : tâches et concepts, interface abstraite, interface concrète, et interface finale. Ils proposent ainsi une démarche globale pour la génération d’interface plastique basée sur ces différentes étapes et reprise dans la Figure 6.10. Chapitre 3 Etat de l’art : Interfaces cerveau machine, réalité virtuelle et retour sensoriel 3.1 Introduction De nouvelles formes d’IHM font leur apparition. De nos jours, il est tout à fait possible de commander ou de communiquer avec un dispositif électronique en utilisant les effets de l’activité cérébrale tout en étant immergé dans un monde virtuel et abusé par un retour sensoriel : une véritable extension de notre monde réel. 3.2 3.2.1 Interfaces Cerveau Machine Introduction Ce fût Hans Berger qui eut l’idée de rechercher des signaux physiques émanents du cerveau humain et pouvant être transportés au delà des limites du crâne. Il publia après cinq années d’expérimentations un premier article en 1929 témoignant de variations du potentiel électrique mesurées à la surface du crâne humain, ce qui marqua les débuts de l’analyse de l’activité cérébrale par électroencéphalographie ou EEG. L’idée de pouvoir contrôler ou communiquer avec un système électronique capable d’interpréter ces sigaux sans passer par les muscles devient réalité. Ce concept correspond à ce que l’on appelle les ICMs ou Interfaces Cerveau Machine, la mise en oeuvre de systèmes destinés à établir un moyen de communication direct entre le cerveau humain et un système électronique sans utilisation des voies motrices périphériques. Mais il faudra attendre le début des années 1990 pour que la recherche sur les ICMs puisse prendre tout son essor et envisager des applications pratiques pour restaurer chez des personnes frappées d’un handicap moteur grave des 31 CHAPITRE 3. ETAT DE L’ART : INTERFACES CERVEAU MACHINE, RÉALITÉ VIRTUELLE ET RETOUR SENSORIEL 32 facultés de communication avec leur environnement sans qu’elle aient à utiliser une souris ou un clavier. Ces applications font appel à l’activité cérébrale volontaire du patient traduite en commandes et permettant d’interagir avec des systèmes électroniques. 3.2.2 Principe de fonctionnement d’une Interface Cerveau Machine Une interface cerveau-machine permet à un utilisateur d’envoyer des commandes à un ordinateur en faisant varier son activité cérébrale par l’intermédiaire d’une tâche mentale. Une tâche mentale correspond à une séquence d’états mentaux, chacun étant caractérisé par : – une zone cérébrale impliquée dans la tâche mentale – par les bandes de fréquences pour lesquelles une modification du spectre peut être observée En exploitant les catégories d’informations temporelles, spaciales et/ou fréquentielles, il devient alors possible de reconnaitre une tâche mentale spécifique parmi le flot continu de l’activité cérébrale mesuré. Une ICM peut être vue comme un système en boucle fermée, composée de six étapes principales : mesure de l’activité cérébrale, prétraitement, extraction des caractéristiques, classification, traduction en une commande et retour sensoriel à l’utilisateur. 3.2.2.1 Mesure de l’activité cérébrale La première étape consite à mesurer l’activité cérébrale du sujet alors que celui-ci effectue une ou plusieurs tâches mentales. Pour ce faire il existe différentes techniques d’imagerie cérébrales envisageables pour mesurer l’activité cérébrale. En effet, on peut évaluer l’activité de manière indirecte en mesurant les champs électromagnétiques produits par l’activité des neurones ou bien en évaluant les variations métaboliques (consommation de glucose ou production de chaleur) ou hémodynamiques (variations du taux d’oxygénation du sang) induites par l’activité cérébrale. Réponses hémodynamique ou métabolique Imagerie par résonance magnétique fonctionnelle (IRMf) Cette technique permet de mesurer de manière non invasive une grandeur quantifiant le niveau d’oxygénation du sang dans le cerveau. La latence entre le signal mesuré et l’état réel du sujet est d’environ 3s ce qui signifie que le sujet obtient un retour continu de l’activité mentale qu’il a généré il y a 3s. L’avantage de cette technique est la résolution spatiale. On peut en effet obtenir une carte d’activation des voxels1 du cerveau d’une résolution très fine. 1 Désigne un élément de volume dans un modèle en trois dimensions CHAPITRE 3. ETAT DE L’ART : INTERFACES CERVEAU MACHINE, RÉALITÉ VIRTUELLE ET RETOUR SENSORIEL 33 Spectroscopie proche infra-rouge Comme IRMf, cette technique permet d’obtenir une mesure indirecte du taux d’oxygénation du sang mais utilise pour cela une méthode optique de mesure. Une lumière infra-rouge générée par une LED est envoyée sur le scalp. L’intensité de la lumière recueillie par les détecteurs est directement proportionnelle au taux d’oxygénation du sang. Ce système étant basé sur les variations hémodynamiques, on est confronté au même temps de latence. Par contre, il s’agit d’un dispositif dont le coût et la mise en place sont beaucoup plus adaptés que l’IRMf. Réponses électromagnétiques La transmission d’information par le biais des neuronnes s’accompagne d’une modification des équilibres ioniques à l’intérieur ainsi qu’aux abords des neurones. Les systèmes étudiés ici exploitent la réponse électrophysiologique accompagnant une activité cérébrale. Microélectrodes Les dimensions nanométriques de certaines microélectrodes permettent d’avoir accès à l’activité d’un unique neurone tandis que les capteurs millimétriques permettent de recueillir l’activité d’assemblées importantes de neurones. Avec ce dispositif hautement invasif (inséré à l’intérieur du cortex -> problèmes de biocompatibilité), la qualité des signaux enregistrés est excellente. Elles sont de plus insensibles aux artefacts musculaires et aux mouvements des yeux. On peut en outre utiliser ce type de capteur de façon bidirectionnelle : une partie passive pour mesurer l’activité et une partie active pour stimuler les neurones et influer sur leur comportement (traitement de la maladie de Parkingson). Electrocorticographie Cette technique moins invasive consiste à poser à la surface du cortex une matrice d’électrodes régulièrement espacées. Les signaux enregistrés sont moins spécifiques qu’avec les microélectrodes mais restent très peu bruités et ne contiennent pas d’artefacts musculaires. Ces caractèristiques en font une technique très intéressante pour la conception d’interfaces cerveau-machine. En utilisant cette technique, la dernière compétition BCI 20082 a montré qu’il était possible de prédire la position des doigts de la main à partir des signaux électrocorticographiques. Magnétoencéphalographie (MEG) Cette technique non invasive mesure les variations du champ magnétique à la surface du crâne. Le grand nombre de capteurs généralement disponibles en MEG permet d’avoir une excellente résolution spatiale. Cependant, son coût et la nécessité de refroidir les capteurs rendent l’expension de ce dispositif limitée à l’heure actuelle. Electroencéphalographie (EEG) C’est la technique de loin la plus utilisée dans le domaines de ICMs compte tenu de son faible coût et de sa simplicité 2 Evènement qui permet de confronter la communauté mondiale ICM du point de vue des méthodes de traitement du sigal CHAPITRE 3. ETAT DE L’ART : INTERFACES CERVEAU MACHINE, RÉALITÉ VIRTUELLE ET RETOUR SENSORIEL 34 d’utilisation. Les capteurs sont des électrodes d’un rayon d’environ 5mn généralement placées à des positions standardisées et permettent de capter l’activité des neurones pyramidaux orientés perpendiculairement à la surface du crâne. On estime qu’il faut environ 106 neurones orientés dans le même sens et fonctionnant de manière synchrone pour que le potentiel post-synaptique engendré puisse être observable au niveau du scalp à l’aide de capteurs EEG. 3.2.2.2 Prétraitement Une fois les données acquises, il est souvent nécessaire de nettoyer les signaux pour mettre en valeur l’information intéressante qui peut y être enfouie. En effet, les signaux EEG sont réputés pour être très bruités car pouvant être facilement perturbés électriquement par l’activité musculaire des yeux, du coeur ou du visage. Pour effectuer ce prétraitement, différentes techniques mettent en oeuvre des filtres spatio-temporels. 3.2.2.3 Extraction des caractéristiques La mesure de l’activité cérébrale par EEG conduit à l’acquisition d’une quantité de données considérable. Les signaux sont enregistrés avec un nombre d’électrodes allant de 2 à 128 et une fréquence variant traditionnellement entre 100 et 1000 Hz. Dans le but d’obtenir les meilleurs performances possibles, il est nécessaire de travailler avec un petit nombre de valeurs qui vont décrire certaines propriétés pertinentes des signaux. Ces valeurs sont appelées "caractéristiques". Elles sont agrégées sous forme d’un vecteur appelé "vecteur de caractéristiques". 3.2.2.4 Classification Cette étape a pour but d’attribuer automatiquement une classe au vecteur de caractéristiques extrait précédemment. Cette classe représente le type de la tâche mentale effectuée par l’utilisateur de l’interface. La classification est réalisée à l’aide d’algorithmes appelés classifieurs. Les classifieurs sont capables d’apprendre à identifier la classe d’un vecteur de caractéristiques à l’aide d’ensembles d’apprentissage. Ces ensembles sont composés de vecteurs de caractéristiques étiquetés avec leur classe d’appartenance. Même si le nombre de tâches mentales à identifier est faible, les taux de classification correctes atteignent très rarement 100%. En effet, de nombreux paramètres rendent toute la phase d’identification très difficile : le bruit présent dans les EEG, la variabilité des signaux, la concentration requise par le sujet pour réaliser sa tâche mentale, etc. 3.2.2.5 Traduction en commande Une fois la classe du signal identifiée, il ne reste plus qu’à associer celle-ci à une commande particulière qui permet, par exemple, de faire bouger une prothèse de la main, un robot ou d’interagir avec un environnement virtuel. CHAPITRE 3. ETAT DE L’ART : INTERFACES CERVEAU MACHINE, RÉALITÉ VIRTUELLE ET RETOUR SENSORIEL 35 3.2.2.6 Retour perceptif La dernière étape consiste à renvoyer à l’utilisateur une information sensorielle (visuelle, sonore, ...) sur les tâches mentales qu’il effectue. Ce retour vers l’utilisateur lui permet de savoir s’il a correctement effectué sa tâche. Ce dispositif lui permet d’apprendre à maîtriser son activité cérébrale. Cette étape n’est pas présente dans tous les BCI mais permet généralement d’augmenter les performances et de diminuer le temps d’apprentissage nécessaire pour maîtriser un tel système. La Réalité Virtuelle fait partie des retours possibles et utilisés. 3.2.3 Phénomènes neurophysiologiques utilisés en ICM Nous allons étudier à présent les différents types de réponses cérébrales qui peuvent être utilisées dans le cadre des ICM. Le grand nombre de phénomènes électrophysiologiques utilisé en ICM a donné lieu à des tentatives de taxonomies et de nombreux auteurs distinguent les activités cérébrales réflexes et inconscientes en réponse à un stimulus extérieur (Potentiels évoqués ou PE) des activités volontairement générées par l’utilisateur (Activités cérébrales oscillatoires). Cédric GOUY-PAILLER considère pour sa part que l’activité cérébrale résulte pour une partie de l’activité de fond et pour une autre partie de l’activité provoquée par des évènements. Il propose une classification moins évidente qui se décompose suivants les axes : – déclenchement endogène et/ou exogène : l’évènement déclenchant la réponse neurophysiologique provient-t-il du sujet seul ou bien d’un élément extérieur ? – réponse asservie en temps et/ou phase : ce critère permet de caractériser le lien entre le déclenchement et la réponse. Sans vouloir être exhaustif et dans le but d’expliquer notre propos, nous présentons ici les principaux phénomènes neurophysiologiques exploités par les tâches mentales. 3.2.3.1 P300 Le P300 est une variation positive de l’EEG. Il est visible environ 300ms après la présentation d’un stimulus rare ou surprenant. Afin de déclencher ce type de réponse chez le sujet, on lui présente successivement dans un ordre aléatoire deux types de stimuli : les stimuli "cibles" sont ceux visés par le sujet, les stimuli "non-cibles" sont neutres pour le sujet, le stimuli "cible" apparaissant beaucoup moins souvent que le stimuli "non-cible" afin que son apparition puisse provoquer un effet de surprise chez le sujet. Ce procédé a été utilisé pour épeler des lettres. Le sujet est assis face à un écran sur lequel une matrice 6*6 lettres lui est présentée. Les lignes et les colonnes de cette matrice clignotent successivement et le sujet doit se concentrer sur une des lettres et incrémenter un compter mental lorsque la lettre qu’il a choisie est allumée. CHAPITRE 3. ETAT DE L’ART : INTERFACES CERVEAU MACHINE, RÉALITÉ VIRTUELLE ET RETOUR SENSORIEL 36 3.2.3.2 Potentiels évoqués stationnaires Visuels Il s’agit d’oscillations observables au niveau des électrodes occipitales (cortex visuel) évoquées par des stimulations répétitives visuelles. Comme une stimulation à une certaine fréquence engendre dans le cerveau une réponse à cette même fréquence, il est assez facile de détecter sur quelle fréquence le sujet se concentre. Ce type de système a l’inconvénient d’être très fatiguant à l’utilisation Somatosensoriels Ce principe repose sur le même type de réponses cérébrales mais vise à utiliser une stimulation exogène sensorielle plutôt que visuelle. L’idée est de présenter au sujet deux périphériques "vibrants" à des fréquences différentes. Le sujet qui tient dans ses mains chacun des deux périphériques, peut se concentrer tour à tour sur l’un ou l’autre. Cela permet de détecter la fréqence "cible" et ainsi déduire l’intension du sujet. 3.2.3.3 Modulation des rythmes cérébraux On peut observer dans le cerveau des réponses non asservies en phase ou réponses induites qui sont des synchronisations ou des désynchronisations d’un ensemble de neuronnes en réponse à des évènements. Rythmes sensorimoteurs On sait qu’une zone du corps correspond de manière unique à une zone cérébrale. C’est principalement cette propriété qui permet de discriminer entre différentes tâches d’imagerie motrice. On peut par exemple discriminer entre une imagerie du bras gauche par rapport à une imagerie du bras droit. Ce procédé fonctionne de la même manière que le sujet réalise ou imagine le mouvement. Il existe des systèmes basés sur ce type de réponse cérébrale pour le contrôle "rapide" d’un curseur en deux dimensions. 3.2.3.4 Potentiels corticaux lents Les potentiels corticaux lents correspondent à des variations de voltage dans l’EEG sur des fréquences inférieures à 1Hz. Une diminution des ces potentiels correspond généralement à une réduction de la capacité d’excitabilité des neuronnes alors qu’une augmentation correspond à une excitabilité accrue. Les sujets peuvent apprendre à contrôler volontairement ces potentiels à la suite de longues scéances d’entraînement durant lesquelles un retour sensoriel est fourni au sujet. Dans ce contexte, aucune tâche mentale précise n’est demandée à l’utilisateur qui n’est pas asservi en phase. 3.2.4 3.2.4.1 Différents types d’interfaces cerveau-machine Dépendante versus indépendante ICM Une ICM dépendante nécessite un certain niveau de contrôle moteur. Par exemple, certaines ICM nécessite que l’utilisateur puisse contrôler son regard. CHAPITRE 3. ETAT DE L’ART : INTERFACES CERVEAU MACHINE, RÉALITÉ VIRTUELLE ET RETOUR SENSORIEL 37 Dans le but de venir en aide à des personnes gravement handicapée qui ont perdu l’usage moteur, une ICM doit rester indépendante. Ceci étant, les ICM dépendantes peuvent être très intéressantes pour les personnes en bonne santé, notamment pour l’utilisation de jeux vidéo. 3.2.4.2 Invasive versus non-invasive ICM Ce classement dépend du procédé utilisé pour mesurer l’activité cérébrale. Si l’ICM repose sur une technique d’imagerie cérébrale invasible, alors l’ICM est dite invasive sinon elle est non-invasive. 3.2.4.3 Synchrone versus asynchrone ICM Avec une ICM synchrone, l’utilisateur peut interagir avec l’application cible uniquement pendant des périodes spécifiques, imposées par le système. Le système informe l’utilisateur de réaliser sa tâche pendant un lapse de temps donné. Si l’utilisateur réalise sa tâche en dehors de cette période, rien ne se produit. Concernant les ICM asynchrones, elles sont beaucoup plus flexibles. En effet, l’utilisateur a la possibilité de réaliser sa tâche mentale pour interagir avec l’application à tout moment. Il a également la possibilité de ne pas interagir avec le système. Dans ce cas, l’application ne doit pas communiquer avec le sujet. Naturellement, les ICM asynchrones sont plus flexibles et plus confortables à utiliser. Idéalement, toutes les ICM devraient être sur ce modèle. Cependant, la mise au point d’une ICM asynchrone est plus difficile à mettre au point. Dans ce mode, le système doit être en permanence à l’écoute des signal provenant du cerveau pour déterminer si une tâche mentale a été demandée. Pour cette raison, la grande majorité des ICM sont synchrones. 3.3 Interaction 3D en Réalité Virtuelle La réalité virtuelle (RV) révolutionne déjà la façon dont nous voyons, percevons et analysons le monde qui nous entoure. Imaginez que vous puissiez voyager dans le corps humain et ses organes ou bien encore interagir avec des entités qui n’existent pas, les toucher, les prendre, les déplacer et/ou les déformer. La RV peut être décrite comme une technologie qui utilise les ordinateurs pour créer des réalités synthétiques, partageables par plusieurs personnes, que nous pourrions appréhender par les cinq sens et avec lesquelles nous pourrions interagir, le tout par l’intermédiaire d’artefacts informatisés. La RV est une nouvelle technologie qui se situe à la croisée de plusieurs disciplines telles que l’informatique graphique, la conception assistée par ordinateur, la simulation, la téléopération, l’audiovisuel ou le travail collaboratif. Elle utilise de nombreux périphériques matériels et des techniques logicielles pour chaque domaine applicatif. CHAPITRE 3. ETAT DE L’ART : INTERFACES CERVEAU MACHINE, RÉALITÉ VIRTUELLE ET RETOUR SENSORIEL 38 La communauté française de la RV a introduit trois composantes de base de la RV : l’immersion, l’interaction et l’imagination. En effet, un utilisateur interagit avec un environnement virtuel qui doit être représenté de manière réaliste pour donner une meilleure sensation d’immersion. Les entités composant cet environnement doivent être autonomes afin qu’elles puissent réagir en temps réel aux actions de l’utilisateur. Certains auteurs considèrent cette nouvelle technologie comme une extension des interfaces Homme-Machine classiques. La finalité de la réalité virtuelle est de permettre à une personne ou plusieurs une activité sensorielle motrice et cognitive dans un monde artificiel, créé numériquement, qui peut être imaginaire, symbolique ou une simulation de certains aspects du monde réel. L’utilisateur doit être capable de changer les propriétés de l’environnement et d’interagir avec les différentes entités de l’univers simulé. L’environnement virtuel est considéré comme le lieu sufféré par la RV pour accueillir un ou plusieurs utilisateurs et leur permettre d’accomplir certaines tâches avec l’impression d’être dans un cadre spécifique. L’environnement virtuel est représenté par un modèle 3D de données réelles ou imaginaires qu’on peut visualiser et avec lesquelles on peut interagir en temps réel. Il existe différents types d’environnements virtuels selon le degré d’immersion qu’ils procurent à l’utilisateur : non immersif, semi-immersif totalement immersif. Les utilisateurs ont besoin d’interagir avec les objets qui composent le monde virtuel. Une application en RV sera définie par ses trois composantes principales : immersion, autonomie et interaction. 3.3.1 3.3.1.1 Composantes de la Réalité Virtuelle Immersion L’immersion peut être définie comme l’exposition d’un utilisateur à un environnement virtuel au moyen de dispositifs occultants tout ou partie du monde réel, pour afficher en lieu et place un monde simulé numériquement. L’immersion est liée directement à la perception de l’utilisateur de son monde virtuel. Elle est obtenue en remplaçant le plus grand nombre de sensations naturelles par leurs correspondances dans l’univers virtuel. Un utilisateur est dit immergé lorsqu’il sent que le monde virtuel qui l’entoure a remplacé le monde physique avec un certain degré. On distingue deux types de présence : – La présence virtuelle qui correspond à la sensation que l’on cherche à donner à l’utilisateur de faire partie du monde virtuel et que les objets qui l’entourent sont réellement présents. – La présence sociale caractèrise les environnements virtuels collaboratifs. Elle se réfère à la conscience que l’utilisateur a des autres participants et de leurs activités au sein de l’univers partagé. Pour donner le sentiment de présence aux utilisateurs dans un environnement virtuel, les participants sont fréquemment représentés par des objets virtuels appelés avatars. CHAPITRE 3. ETAT DE L’ART : INTERFACES CERVEAU MACHINE, RÉALITÉ VIRTUELLE ET RETOUR SENSORIEL 39 3.3.1.2 Autonomie L’autonomie de l’utilisateur réside dans sa capacité à coordonner ses perceptions et ses actions au cours du processus d’interaction avec les autres entités. L’utilisateur peut être spectateur, acteur ou créateur de l’univers numérique. Dans le cas d’une application de RV, l’utilisateur est exposé à un environnement numérique autonome qui lui procure une certaine liberté pour évoluer, changer les propriétés de l’environnement virtuel et interagir avec ses entités sans fixer des paramètres avant ou pendant l’expérience. 3.3.1.3 Interaction L’interaction 3D peut être considérée comme la composante motrice de tout système interactif. L’interaction peut être définie comme étant un langage de communication entre l’homme et la machine. Ce langage correspond à l’ensemble des actions/réactions réciproques entre l’homme et l’ordinateur par l’intermédiaire d’interfaces sensorielles, motrices et techniques d’interactions. 3.3.2 Techniques d’interaction 3D Nous pouvons également définir l’interaction comme la traduction des actions des utilisateurs dans le monde réel en des tâches spécifiques dans l’espace virtuel. Les chercheurs tentent de plus en plus de reproduire dans un environnement virtuel des gestes de la vie quotidienne : se déplacer, toucher, prendre ou manipuler des objets. 3.3.2.1 La navigation Comme dans le monde réel, l’utilisateur a besoin de se déplacer dans la scène virtuelle pour réaliser certaines tâches. En terme de navigation, deux composantes principales peuvent être définies : le déplacement et la recherche d’itinéraire. Le déplacement représente la composante motrice de la navigation. Il se rapporte aux déplacement physiques de l’utilisateur d’un endroit à un autre. La recherche d’itinéraire correspond à la composante cognitive de la navigation. Elle permet à l’utilisateur de se repérer dans l’environnement et de choisir une trajectoire pour se déplacer. Dans ce cas, l’utilisateur est confronté aux questions suivantes : "Où suis-je ?", "où dois-je aller ?" et "comment arriver à cet endroit ?". Selon que l’on connait ou non sa destination, la navigation peut être libre ou assistée. 3.3.2.2 La sélection L’action "selectionner un objet" est une tâche très courante dans la vie quotidienne. Pour pouvoir manipuler un objet, l’être humain a toujours besoin de le prendre dans sa main ou de le désigner parmi d’autres objets. La tâche de CHAPITRE 3. ETAT DE L’ART : INTERFACES CERVEAU MACHINE, RÉALITÉ VIRTUELLE ET RETOUR SENSORIEL 40 sélection, appelée aussi tâche d’acquisition d’une cible, représente la désignation d’un objet ou d’un ensemble d’objets afin d’accomplir un objectif donné au sein de l’environnement virtuel. Mais comment indiquer au sytème qu’un objet a été sélectionné ? On peut presser un bouton, utiliser un geste ou encore utiliser une commande vocale. Mais la validation pourrait être faite automatiquement si le système d’interaction pouvait prendre en considération les intentions des utilisateurs. La sélection est une tâche qui regroupe en réalité deux sous tâches : la désignation d’un objet ou d’un ensemble d’objets appartenant à la scène virtuelle et la validation de la sélection. 3.3.2.3 La manipulation La navigation ou la sélection sont des tâches qui permettent à l’homme d’avoir l’illusion d’habiter un monde virtuel, de voyager au sein de celui-ci et même d’atteindre et toucher les objets appartenant à ce dernier. Cependant, il reste un spectateur immergé. La tâche de manipulation quant à elle permet à l’utilisateur d’être un acteur capable de changer les propriétés de l’environnement virtuel. Elle représente la composante active de l’environnement virtuel. La tâche de manipulation est intimement liée à la tâche de sélection car on ne peut manipuler un objet qu’après l’avoir sélectionné. La manipulation peut être directe (action directe sur l’objet désigné) ou indirecte (action via des boutons, menus, etc.). 3.3.2.4 Le contrôle d’application L’utilisateur agit sur l’application en utilisant les services assurés par l’application elle-même. Le contrôle de l’application peut être considéré comme un outils de communication entre l’homme et l’application. Dans le cas des interfaces 3D, on ne peut pas utiliser les techniques classiques pour interagir avec l’application, car la souris ou le clavier ne sont pas utilisables. C’est pour cette raison que des techniques de contrôle du système plus adaptée aux interfaces 3D ont vu le jour. Dans ce contexte, l’utilisateur dispose de plusieurs degrés de liberté. On retrouve le menu TULIP de type menu déroulant qui réagit au pincement des doigts équipés d’un gant de données, les menus en cube qui permettent à un utilisateur de sélectionner une commande en faisant simplement un geste dans la bonne direction ou encore différents menus circulaires très largement utilisés en RV. 3.4 Les interfaces Haptiques et Pseudo-Haptiques L’haptique désigne la science du toucher. Dans le domaine de la réalité virtuelle, il existe deux catégories de retour d’informations sensorielle : CHAPITRE 3. ETAT DE L’ART : INTERFACES CERVEAU MACHINE, RÉALITÉ VIRTUELLE ET RETOUR SENSORIEL 41 – le retour "tactile" qui stimule des excitations de la peau et englobe des modalités très variées comme la température, la texture ou le contact. – le retour "d’effort" qui désigne l’exercice de forces sur les membres du corps et qui contraint les mouvements Associé à la réalité virtuelle, l’idée consiste à restituer à l’utilisateur des sensations haptiques pour accroitre son illusion de la réalité. Il existe plusieurs pistes pour restituer des sensations haptiques. On trouve les interfaces haptiques dites "classiques" ou "actives" qui renvoient à l’utilisateur des stimuli modifiés en temps réel par un système instrumentalisé et/ou informatisé et qui correspondent aux solutions les plus répandues et les plus utilisées. Parallèlement, on trouve des solutions dites "alternatives" comme la substitution sensorielle, les "props" ou le retour pseudo-haptique. La substitution sensorielle consiste à transmettre au cerveau une information appartenant à un autre canal sensoriel. Par exemple, représenter la force de réaction aux collisions d’un monde virtuel par un vecteur graphique ou par un retour sonore. Dans le cas des "props" ou "accessoires", on parle de retour haptique passif. Il n’y a pas de forces retournées à l’utilisateur. Les accessoires prennent la forme de l’outil ou de l’objet manipulé. Concernant le retour pseudo-haptique, il s’agit de générer des sensations haptiques par l’utilisation et la combinaison de retours sensoriels provenant d’autres canaux que celui du toucher. Il repose généralement sur le couplage visuo-haptique. Dans ce cas, on fait intervenir le retour visuel comme un retour "perturbateur" pour induire des sensations haptiques à la limite de l’illusion sensorielle. L’objectif étant de développer des interfaces tactiles à bas coût qui puissent exploiter cette illusion optique. Pour le moment, seules les interfaces haptiques "actives" sont parvenues à un stade de maturité suffisant pour permettre une application dans les domaines industriels. Du côté du couplage entre la vision et le toucher, les domaines d’application se situent au niveau de la robotique et de la réalité virtuelle. Il existe de nombreuses applications potentielles dans le domaine des tâches de télé-opération, de simulations industrielles de montage en environnement virtuel encombré, ou encore d’apprentissage des systèmes maîtres-esclaves. Dans le domaines des jeux vidéo, on trouve désormais des volants, manettes ou manches à retour d’effort. Du côté des téléphones portables, le développement massif des affichages tactiles a largement contribué à améliorer l’ergonomie mais a apporté par la même occasion son lot de difficultés. Ainsi, il peut être difficile de savoir si l’appui sur une touche virtuelle a été prise en compte, pouvant conduire à des sélections répétées et un fonctionnement moins efficace. Plusieurs solutions existent : accompagner l’appui d’un son ou faire vibrer le téléphone, donnant l’impression d’appuyer réellement sur une touche physique. Chapitre 4 Perspectives 4.1 4.1.1 Interfaces Homme Machine Des modèles centrés sur les documents Actuellement, le modèle dominant est basé sur les applications par opposition au modèle centré sur les documents. L’utilisateur doit lancer son traitement de texte, son tableur ou encore son ERP préféré avant de commencer à travailler. Cette façon de faire est "normalisée" et un changement de perspective semble bien difficile en l’état actuel. Cependant, si l’on fait le rapprochement avec une voiture, il n’est pas nécessaire de lancer une application particulière avant de pouvoir verrouiller une porte, passer une vitesse, actionner les laves glaces ou tout autre dispositif. Et d’une voiture à l’autre, ces manipulations restent quasiment identiques. Alors pourquoi ce concept ne pourrait-il pas se généraliser aux IHM des autres domaines ? L’industrie de l’automobile, justement, met en place des techniques et protocoles novateurs pour pouvoir embarquer de plus en plus de dispositifs électroniques en prise directe avec l’utilisateur et de façon sécurisée. Il y aurait donc probablement des recheches et des enseignements interessants à tirer de ce secteur à la pointe de l’interaction avec les hommes. 4.1.2 L’ingénierie dirigée par les modèles au service des IHM Bien que la thèse [IHM-13] de Benoît Combemale ne soit pas directement liées aux IHM, elle révèle un grand nombre de problèmatiques que l’on retrouve également dans le domaine des interactions entre l’homme et la machine. Voyons si des solutions d’avenir pourraient provenir de l’ingénierie des modèles en étudiant certains aspects de cette ingénierie. 42 CHAPITRE 4. PERSPECTIVES 4.1.2.1 43 Etude de certaines problèmatiques liées à l’ingénierie dirigée par les modèles L’ingénierie dirigée par les modèles L’ingénierie dirigée par les modèles (IDM) a permis plusieurs améliorations significatives dans le développement de systèmes complexes en permettant de se concentrer sur une préoccupation plus abstraite que la programmation classique. Il s’agit d’une forme d’ingénierie générative dans laquelle tout ou partie d’une application est engendrée à partie de modèles. Une des idées phare est d’utiliser autant de langages de modèlisation différents (Domain Specific Modeling Languages - DSML) que les aspects chronologiques ou technologiques de développement le nécessitent. La complexité sans cesse croissante des sytèmes actuels a déjà permis d’identifier certaines limites à la simple utilisation de modèles contemplatifs. En effet, une fois que l’on a réfléchi sur les modèles afin de concevoir un système, les méthodes actuelles visent à les implanter dans un langage de programmation compréhensible par un ordinateur. Il est alors indispensable de s’assurer que tous les outils et les acteurs du développement ont la même compréhension des modèles pour en fournir une implantation similaire. Il s’agit donc d’avoir une représentation non ambiguë, commune et explicite des modèles. Une solution est d’obtenir automatiquement le code par transformation de modèle. La prise en compte d’une sémantique d’exécution pour les langages de modélisation est une préoccupation récente. Elle permettrait de considérer les modèles comme un "artefact" terminal pour le développement d’un système, rendant ainsi transparent leurs compilation ou leurs interprétations. Ce gain d’abstration est comparable et complémentaire à celui gagné grâce aux langages comme C ou Java vis-à-vis de l’assembleur. Atelier de développement TOPCASED De nombreux projets visent à élaborer des ateliers de développement dirigés par les modèles. Ces ateliers intègrent généralement différents DSML pour lesquels la validation et la vérification des modèles construits est une préoccupation majeure. C’est par exemple le cas dans l’atelier TOPCASED1 . TOPCASED est un projet R&D du pôle de compétitivité mondial Aerospace Valley2 dont le but est de fournir un atelier basé sur l’IDM pour le développement de systèmes logiciels et matériels embarqués. Les autorités de certification pour les domaines d’application de TOPCASED (aéronautique, espace, automobile, etc.) imposent des contraintes de qualification fortes pour lesquelles des approches formelles (analyse statique, vérification de modèle, preuve, etc.) sont envisagées. L’approche MDA Le principe clé et initial du MDA consiste à s’appuyer sur le standard UML pour décrire séparément des modèles pour les différentes phases du cycle de développement d’une application. L’objectif majeur du MDA 1 Toolkit in OPen source for Critical Application & SystEms Development AESE (Aéronautique, Espace, Systèmes Embarqués), http://www. aerospace-valley.com 2 Pôle CHAPITRE 4. PERSPECTIVES 44 est l’élaboration de modèles pérennes (PIM), indépendants des détails techniques des plate-formes d’exécution (J2EE, .Net, PHP, etc.), afin de permettre la génération automatique de la totalité des modèles de code (PSM) et d’obtenir un gain significatif de productivité. Le passage de PIM à PSM fait intervenir des mécanismes de transformation de modèle et un modèle de description de la plateforme (Platform Description Model – PDM). Cette démarche s’organise selon un cycle de développement « en Y » propre au MDD (Model Driven Development). L’approche MDA repose sur le principe de la création d’un modèle indépendant de toute plateforme (PIM) pouvant être raffiné en un ou plusieurs modèle(s) spécifique(s) à une plateforme (PSM). Les méthodes de transformation sont là aussi indispensables pour changer de niveau d’abstraction (transformation verticale), dans le cas du passage de PIM à PSM et inversement, ou pour rester au même niveau d’abstraction (transformation horizontale) dans le cas de transformation PIM à PIM ou PSM à PSM. Enfin, la transformation de modèle est également utilisée dans la définition des langages de modélisation pour établir les mappings et des traductions entre différents langages. Simulation de modèle La simulation permet d’améliorer la compréhension d’un système sans devoir le manipuler réellement, soit parce qu’il n’est pas encore défini ou disponible, soit parce qu’il ne peut pas être manipulé directement en raison des coûts, du temps, des ressources ou du risque. La simulation est donc réalisée sur un modèle du système. La simulation est généralement définie selon trois étapes. La première consiste à générer une représentation de la charge de travail. La deuxième étape consiste à simuler le modèle à partir de la charge de travail définie en entrée pour produire les résultats. Enfin, la troisième étape consiste à analyser les résultats de la simulation pour acquérir une meilleure compréhension du système considéré. Ces trois étapes peuvent être réalisées par un ou plusieurs outils, comme un constructeur de scénario (scenario builder) pour engendrer la charge de travail, un moteur de simulation (simulation engine) et un outil d’analyse des résultats. La simulation vise à valider les modèles construits à partir des DSML de haut niveau d’abstraction définis dans l’atelier. Il s’agit principalement de fournir les moyens au concepteur d’animer son modèle afin d’en avoir une meilleure compréhension et de le valider vis-à-vis des exigences de l’utilisateur. Cette animation peut être guidée par un scénario pré-défini ou réalisée de manière interactive à l’aide d’un constructeur de scénario (Scenario Builder) permettant d’injecter des événements. Le concepteur doit pouvoir contrôler l’exécution, à l’aide d’un panneau de contrôle permettant de la lancer, la stopper, revenir en arrière ou avancer. Un outil de simulation par animation est le plus souvent utilisé pour concevoir efficacement et rapidement un premier modèle dans le but de l’améliorer et le valider par simulation. Une fois validé, ce modèle est traduit dans un langage de programmation (p. ex. Java) et couplé à un moteur de simulation efficace CHAPITRE 4. PERSPECTIVES 45 supportant le modèle à événement discret. Administration du système dirigé par les modèles Benoît Combemale indique qu’il travaille sur une autre utilisation de l’exécutabilité des modèles et de simulation. Il souhaite utiliser les modèles pour administrer de manière homogène et plus abstraite des systèmes de plus en plus complexes, hétérogènes et distribués. Ces modèles nécessitent alors de capturer l’évolution du système au cours de son exécution. L’architecture générique qu’il propose pour structurer la syntaxe abstraite peut être utilisée pour fournir des outils génériques, par exemple de reconfiguration automatique. Il travaille pour cela sur l’établissement de modèles de reconfiguration, exécutés en fonction d’événements endogènes particuliers envoyés par le système (par exemple lors de panne). 4.1.2.2 Perspectives Les éléments mis en évidence dans la section précédente montrent que l’IDM est en mesure d’offrir des réponses pertinentes à plusieurs problèmatiques majeures liées aux interfaces homme machine. Parmi ces problèmatiques, soulignons les besoins d’adaptation des IHM qui se révèlent être une problèmatique incontournable compte tenu de la prolifération des appareils électroniques de toutes tailles et de toutes natures. 4.1.3 Scénario d’un futur proche Le touriste passant à proximité d’un site historique est informé d’évènements sensés l’intéresser. Chez soi, le PDA sert de télécommande universelle. Il s’adapte automatiquement à l’objet le plus proche mais ne fonctionne pas lorsqu’il est actionné par un jeune enfant. En réunion, la sonnerie du téléphone passe automatiquement en mode vibreur ou au contraire utilise une sonnerie discernable dans un milieu bruyant. A la gare, le système de réservation de titre de transport conduit efficacement l’acheteur à son but et sans erreur malgrès les conditions de stress (plusieurs personnes attendent et le train part dans cind minutes). Mais au domicile, le système se permet quelques digressions, offrant la possibilité de consulter les voyages en promotion. 4.1.4 La souris et le clavier Une étude réalisée par Steve Prentice de l’institut anglais Gartner prévoit la disparition de la souris entre 2011 – 2013 au niveau du grand public alors que les entreprises continuerons à les utiliser encore un moment. Il pense en effet qu’elle reste adaptée à l’environnement de travail mais qu’elle est dépassée pour le divertissement ou une utilisation sur ordinateur portable. Là encore, l’industrie du jeux devrait révolutionner les pratiques en favorisant l’introduction d’écrans tactiles, de systèmes de reconnaissance des gestes, de reconnaissance faciale ou encore des manuettes comme celles de la Wii. CHAPITRE 4. PERSPECTIVES 46 Même si on peut penser que cette annonce est exagérée, on peut considérer toutefois que la souris devra cohabiter avec d’autres dispositifs de pointage. Par contre, le clavier semble irremplaçable pour le moment. 4.1.5 Un rapprochement entre la télévision et l’informatique La télévision : une interface homme machine de premier ordre omniprésente dans tous les foyers ! Désormais, la télévision peut être reçue par internet ou la TNT. On assiste parallèlement à un changement de rôle de l’écran de télévision. Il s’utilise encore pour regarder une chaine de télévision bien sûr mais il sert aussi à regarder un DVD, brancher son appareil photo numérique ou son caméscope, connecter son récepteur satellite ou sa console de jeux. Les nouvelles télévisions s’insérent aisèment dans les réseaux domestiques constitués des box internet. Ainsi, sans ordinateur, il est possible de consulter des sites internet ou de recevoir des informations variées. La télévision devient donc un véritable centre multimédia qui rassemble deux mondes jusque là bien distincts. 4.1.6 Faudra-t-il attendre trente ans pour passer du laboratoire à une diffusion de masse ? Les technologies mettent généralement une trentaine d’années à passer des travaux initiaux des laboratoires de recherche à la diffusion de masse. Cependant, l’informatique et l’interaction homme-machine ont raccourci ces délais de façon considérables. Mais dans notre contexte (IHM), la question de l’émergence d’une technologie ou d’une nouvelle vision porte moins sur une problèmatique de délais que sur des questions relatives aux normes et standards qui ont parfois pour effet de brider l’innovation. 4.1.7 Quelles interactions pour 2020 ? Dans l’étude commandée par Microsoft en 2007, 45 spécialistes ont réfléchi sur les interfaces du futur et imaginés à quoi elles pourraient bien ressembler en 2020. Il apparait sans grande surprise que la voix et la reconnaissance de forme occupent une bonne part des interfaces imaginées. A cette époque, la commande de machines par la pensée est devenue une réalité tout comme les tables réactives qui repèrent les objets que l’on dépose. La machine nous reconnaît et comprend nos gestes. Elle partage notre environnement immédiat, glissée dans des bracelets, des bijoux ou implantée à l’intérieur du corps. Chacun d’entre nous en utilise des milliers puisqu’ils sont partout. Les logiciels de leur côté se perfectionnent et il devient difficile de savoir à qui ou à quoi appartient la voix que l’on entend au bout du fil : un rapprochement entre l’homme et l’ordinateur. CHAPITRE 4. PERSPECTIVES 47 On y parle également de mémoire assistée. En effet, les nouvelles interfaces aident les ordinateurs à engranger de nombreuses données personnelles et à assister notre mémoire. Des lunettes enregistrent tout sur notre passage et permettent par exemple de retrouver un objet égaré. Un minuscule ordinateur plaqué sur le réfrigérateur permet de laisser des messages et les puces RFID autorisent une traçabilité complète des objets et des personnes. Au final, l’enregistrement de tous nos faits et gestes évoque "la fin de l’éphémère" aux auteurs de cette recherche. 4.1.8 L’ordinateur du futur imaginé par les designers Le concours Next-Gen PC Design 2008 propose une sélection de projets imaginés par les designer. Parmi les projets exposés, on y retrouve une PaletteDigital pour les peintres, un collier compagnon pour la vie, une bague micro ou encore une tablette de jeux tactile pour bébé, un ordinateur miniature qui se dissimule et une tasse à café communicante. 4.2 Interfaces Cerveau Machine Comme nous avons pu le noter dans le dossier "BEING HUMAN", la commande de machines par la pensée sera devenue une réalité en 2020. D’ici là, un chemin important reste à parcourir pour rendre les systèmes actuels rapide et fiable. Il faudra donc : – Augmenter les capacités du système à reconnaitre correctement une tâche mentale – Permettre à l’utilisateur d’envoyer sa commande lorsqu’il le désire – Faire en sorte que le système puisse s’adapter aux changements du sujet dans sa façon d’accomplir sa tâche mentale – Trouver un dispositif discret et portable capable d’enregistrer l’activité du cerveau de façon fiable et non invasive. – Faciliter l’utilisation du dispositif en minimisant la phase d’apprentissage imposée à l’utilisateur et en favorisant les retours sensoriels. Chapitre 5 Conclusion 5.1 Discussion Dans cette étude, nous avons abordé l’état de l’art pour les IHM en général et pour les ICM en particulier. Cette dernière approche nécessitant un retour vers l’utilisateur, nous avons abordé à cette occasion la réalité virtuelle et les interfaces haptiques ou pseudo-haptiques. Nous avons souligné à plusieurs reprises l’importance que prend l’utilisateur dans le cadre des interfaces avec les ordinateurs et expliqué pourquoi il est nécessaire de le positionner au coeur du dispositif. L’étude sur les interfaces entre le cerveau et la machine place nécessairement l’homme au centre du système et tend à exploiter tous ses sens pour favoriser le meilleur retour possible. Il s’avère que la qualité de ce retour réduit la phase d’apprentissage et améliore les performances du sujet dans la réalisation de ses tâches mentales. Ces derniers résultats sont interessants et ont tendance à plaider pour une meilleure prise en compte de l’utilisateur dans le cadre des IHM en général. Au final, nous considérons que les limites entre l’homme et l’ordinateur apparaissent comme étant de plus et en plus floues. 5.2 Organisation du travail Pour réaliser cette étude, je me suis attaché à collecter une liste de références organisée par thèmes et sujets. Sur cette base, après application d’un filtre et une clarification de l’importance de chaque référence, j’ai pu entreprendre une lecture plus approfondie de ces différents documents. A partir de là, j’ai pu agencer tous ces éléments au sein du présent rapport synthétisant mon étude. 5.3 Difficultés rencontrées Ce dossier a été l’occasion d’entrevoir les diffucultés qui peuvent accompagner une démarche de recherche, aussi modeste soit-elle. Cette expérience a 48 CHAPITRE 5. CONCLUSION 49 révélé les difficultés suivantes : – Impossibilité de rentrer en contact avec l’équipe du Laboratoire de recherche de Rennes qui n’a pas de disponibilité suffisante – Après plusieurs semaines passées sur le dossier, une impression de "sur place" qui m’a déstabilisé pendant un temps et qui aurait pu me faire renoncer sans l’insistance de Monsieur JERMANN dans ces moments un peu difficiles et quelque peu désagréables. – Mon niveau d’anglais a orienté mes recherches principalement vers des documents écrits en langue française. Il s’agit là d’une contrainte majeure qu’il m’a fallu surmonter. – La Recherche "pure" sans "codage" a un coté frustrant car on ne peut pas mettre les mains dans le cambouis. – Le travail en dehors d’un groupe favorise un sentiment d’isolement – L’utilisation de LATEX qui s’impose dans ce cadre – Accès controlé : http ://afihm.org/ Association Francophone d’Interaction Homme-Machine – Accès controlé : Revue d’Interaction Homme Machine (http ://europia.org/RIHM/V8N1.htm) 5.4 Conclusion générale Parti avec la volonté d’approfondir les ICM et de survoler les IHM, ce dossier montre l’inverse dans sa version finale. Parti avec le désire d’étudier un projet open source, aucun parcours de code ni même l’installation du logiciel OpenViBE n’a été réalisé. Que c’est-il donc passé entre le début et le fin de ce projet ? Dans un premier temps, il faut souligner l’impossibilité de rentrer en contact avec les membres du projet Open-ViBE. Mais ce n’est certainement pas la raison principale. Le recentrage sur la partie IHM et finalement le focus sur cette partie est lié aux différents aspects que j’ai pu découvrir au fur et à mesure de mes recherches et de mes lectures et qui ont succités mon intérêt. Dans un premier temps, le retour historique m’a appris que la plupart des concepts modernes étaient en réalité anciens. Puis la découverte des sciences cognitives avec l’étude du processeur humain et le fonctionnement des différentes mémoires m’ont surpris tout comme le manque de méthodes pour la conception des applications interactives ou la nécessité de prendre en compte la plasticité des interfaces. . . Mon centre d’intérêt s’est ainsi recentré au fur et à mesure pour arriver au final à un certain équilibre et à une bonne proportion. L’étude sur les ICM apparait dans ce contexte comme un cas particulier des IHM et les pratiques mises en oeuvre dans ce cadre ne manquent pas d’intérêt comme j’ai pu l’évoquer dans la partie discution. Liste des symboles EEG électroencéphalographie ICM Interface Cerveau Machine 50 Chapitre 6 Annexes 6.1 Figures Fig. 6.1: Prototypage 51 CHAPITRE 6. ANNEXES Fig. 6.2: Modèle en couche Fig. 6.3: Modèle en cercle 52 53 CHAPITRE 6. ANNEXES Fig. 6.4: Modèle en étoile Fig. 6.5: Diane+ CHAPITRE 6. ANNEXES Fig. 6.6: Vue séquentielle du processus de conception Mefisto Fig. 6.7: Modèle ARCH 54 CHAPITRE 6. ANNEXES Fig. 6.8: Modèle ARCH implémenté par les ICO 55 CHAPITRE 6. ANNEXES Fig. 6.9: Technologies d’IHM : en rouge les technologies vectorielles 56 CHAPITRE 6. ANNEXES Fig. 6.10: Démarche globale pour la génération d’interface plastique 57 Bibliographie [1] Michel Beaudouin-Lafon, “40 ans d’interaction homme-machine : points de repère et perspectives”, interstices, 17 avril 2007 (site) [2] Rachel Demumieux, ...”Les interfaces plastiques premiers retours utilisateurs : évaluations en laboratoire” In Actes du colloque Ergo-IA 2008, L’humain au cœur des systèmes et de leur développement. pages 117-124. 2008 (pdf source) [3] A. Lécuyer, J. McIntyre, C. Mégard, S. Coquillart, et E. Gentaz, "Bilan du Projet ECoViA : Etude du Couplage Visuo-hAptique", journées ROBEA, 3-4 Avril 2006, Paris (pdf source) [4] A. Lécuyer, C. Andriot, A. Crosnier, "Interfaces Haptiques et PseudoHaptiques" (pdf source) [5] Joëlle Coutaz, Thèse "Interface homme-ordinateur : conception et réalisation", 1988 (pdf source) [6] Lionel Balme, "Infrastructure Logicielle pour Interfaces Homme- Machine Plastiques", 2008, (pdf source) [7] David NAVARRE, Thèse "Contribution à l’ingénierie en Interaction Homme-Machine", 2001 (pdf source) [8] David Thevenin, Joëlle Coutaz, "Adaptation des IHM : Taxonomies et Archi. Logicielle", 2002 (pdf source) [9] BEING HUMAN, Document réalisé en 2008 par 45 chercheurs à la demande de Microsoft pour imaginer les interfaces homme-machine de 2020 (pdf source) [10] David Thevenin, Thèse "Adaptation en Interaction Homme-Machine : le cas de la Plasticité", 2001 (pdf source) [11] Anas Hariri et al. 2009, "Principe et étude de cas d’adaptation d’IHM dans le SI en fonction du contexte d’interaction de l’utilisateur (pdf source) [12] Nassima Ouramdane et al. 2008, "Interaction 3D en Réalité Virtuelle : Etat de l’art"(pdf source) [13] Benoît Combemale, Thèse présentée en 2008, "Approche de métamodélisation pour la simulation et la vérification de modèle" (pdf source) 58 BIBLIOGRAPHIE 59 [14] Cabinet de Conseil - OCTO, Article réalisé en Janvier 2010 par Olivier Mallassi & André Nedelcoux, "Comment faire une bonne IHM ?" (pdf source) [15] Emmanuel ADAM, Christophe KOLSKI, 1999 "Etude comparative de méthodes du Génie Logiciel en vue du développement de systèmes interactifs complexes" (pdf source) [16] C. Gouy-Pailler, “Vers une modélisation dynamique de l’activité cérébrale pour la conception d’interfaces cerveau-machines asynchrones”, Docteur de l’université Joseph Fourier, 2009 (pdf version) [17] Fabien Lotte, Anatole Lécuyer, Bruno Arnaldi, “FuRIA : un nouvel algorithme d’extraction de caractéristiques pour les interfaces cerveauordinateur utilisant modèles inverses et modèles flous”, Octobre 2008 (pdf version) [18] Fabien Lotte, Anatole Lécuyer, Bruno Arnaldi, “Les interfaces CerveauOrdinateur : Utilisation en Robotique et Avancées Récentes”, INRIA, Mars 2008 (pdf version) [19] Fabien Lotte, ...”Classification de Données Cérébrales par Système d’Inférence Flou pour l’Utilisation d’Interfaces Cerveau-Ordinateur en Réalité Virtuelle”, INRIA, Mars 2007 (pdf version) [20] F. Lotte, "Study of Electroencephalographic Signal Processing and Classification Techniques towards the use of Brain-Computer Interfaces in Virtual Reality Applications", PhD Thesis from the National Institute of Applied Sciences (INSA) Rennes, 2008 (pdf version) [21] A. Lécuyer, F. Lotte, R. Reilly, R. Leeb, M. Hirose, M. Slater, "BrainComputer Interfaces, Virtual Reality, and Videogames", IEEE Computer, vol. 41, no. 10, pp 66-72, 2008 (pdf version) [22] F. Lotte, Y. Renard, A. Lécuyer, "Self-paced Brain-Computer Interaction with Virtual Worlds : a Quantitative and Qualitative Study "Out of the Lab", 4th International Brain-Computer Interface Workshop and Training Course, 2008, pp. 373-378 (pdf version) [23] F. Lotte, J. Fujisawa, H. Touyama, R. Ito, M. Hirose, A. Lécuyer, "Towards Ambulatory Brain-Computer Interfaces : A Pilot Study with P300 Signals", Advances in Computer Entertainment Technology Conference (ACE), 2009 (draft pdf version) [24] A. Lécuyer, “Simulating Haptic Feedback using Vision : a Survey of Research and Applications of Pseudo-Haptic Feedback, Presence : Teleoperators and Virtual Environments, MIT Press, Vol. 18, Issue 1, pp. 39-53, 2009 (draft pdf version) [25] F. Lotte, Document de vulgarisation scientifique décrivant son domaine de recherche et ses travaux de thèse (pdf version)