Le jeudi 24 avril dernier, mon confrère Olivier Croisier m'a invité à présenter une conférence auprès de professionnels des technologies de l'information et de la communication de SOAT, cabinet-conseil oeuvrant en région parisienne. Au coeur de cette soirée : les bonnes pratiques en matière de conception d'interfaces utilisateur. Nous avons eu des discussions fort intéressantes, alimentées autant par le contenu de la conférence que par les expériences des participants.
Je remercie les participants pour cette excellente soirée, dont voici une synthèse.
. . .
Introduction
Cette conférence présente de bonnes pratiques en conception d'interfaces utilisateur en systèmes d'information. Ces règles de l'art se veulent des moyens de rendre meilleure l'expérience utilisateur (efficace, efficiente, sans erreur, voire même agréable). Nous nous rappelons que cette étape de conception s'inscrit dans une démarche de construction de système, pouvant être schématisée comme suit:

Quelques éléments de psychologie
Notre pratique professionnelle s'appuie sur des concepts de psychologie afin de construire les interfaces. La psychologie cognitive en particulier nous apporte des atouts pour mieux concevoir :
- Modèle mental. Un utilisateur se représente dans son esprit le fonctionnement d'un logiciel, d'un processus, à partir de l'interaction qu'il expérimente. Cette représentation, le modèle mental, se construit aussi sur la compréhension du monde qu'il se fait avant même sa première interaction avec le logiciel ; l'utilisateur a donc des attentes avant même d'exploiter le système. Ainsi, plus le rendu technologique par l'interface sera proche du modèle de l'utilisateur, meilleure sera l'expérience qu'il vivra.
- « Affordances ». Les « affordances » ou potentialités, sont les manières dont une personne perçoit qu'elle peut entrer en relation avec un objet. Par exemple, une porte tournante nous indique -- ou non ! -- le sens de son ouverture par la configuration physique du lieu. De même, sur une interface, un bouton indique qu'il peut être cliqué de par sa forme, sa localisation.
- 7 plus ou moins 2. Depuis la fin des années 50, nous savons que l'esprit humain utilise sa faculté de regrouper les éléments pour en faire des ensembles, souvent entre 5 et 9 groupes. Ainsi, lors de la conception d'une interface, des regroupements sont de mise pour les objets ayant une signification commune, afin que l'utilisateur perçoive leurs liens.
- Lecture en F. Un utilisateur lit "rapidement" à l'écran ; il le balaie à la recherche d'éléments connus. Ce balayage s'effectue de gauche à droite -- pour un utilisateur occidental -- et sur les 2 ou 3 premières lignes de l'écran. Ce survol de l'écran en "F" lui permet d'identifier tout ce qui peut ressembler à ce qu'il connaît. Autrement dit, l'utilisateur centre son attention sur des choses qu'il connaît déjà, sur ce qu'il peut reconnaître.
Objectifs utilisateur
- Enquête utilisateur. Avant même de débuter la conception d'un système d'information, il y a lieu d'identifier les utilisateurs, ce qu'ils font, comment et pourquoi. Cette étude nous apporte une connaissance des utilisateurs, nous permet de comprendre dans leur contexte les personnes qui exploiteront le système d'information.
De bonnes pratiques dans la conception d'interfaces utilisateur
- Simplicité. Enlever l'inessentiel. Conserver de l'espace pour permettre de penser, pour permettre de comprendre. Un exemple : Google vs. Yahoo.
- Parler le langage de l'utilisateur. Utiliser des mots et des expressions ayant un sens pour l'utilisateur, exprimant une idée de son point de vue. Par exemple "Vous avez acheté 100 actions de Michelin", et non pas "Nous vous avons vendu 100 actions de Michelin". La première expression confirmant bien une action du point de vue de l'utilisateur, ce que ne fait pas la seconde expression.
- Minimiser la charge mentale. Ou comment rendre la vie facile à l'utilisateur. Il s'agit d'éviter les distractions à l'écran (animations par exemple), de structurer et de présenter des informations, pas des données. Par exemple, on pourra afficher "jeudi 24 avril 2008" au lieu de simplement "24-04-08".
- Indiquer les actions. Les boutons, listes déroulantes et autres contrôles à l'écran doivent montrer sans ambiguïté leur finalité.
- Informer l'utilisateur. Dès que l'utilisateur a lancé une action, il s'agit de lui indiquer que le système l'a bien prise en compte. Pour ce faire, un message, un changement de statut sur un bouton (par exemple il passe en grisé après que l'utilisateur l'a cliqué).
- Cohérence. L'utilisateur s'attend à ce que le système se comporte toujours de manière similaire, qu'il soit stable, prévisible. Ainsi, les comportements du système d'un écran à un autre doivent être les mêmes. Par exemple, une liste déroulante devra se "dérouler" de la même manière.
- Prévenir les erreurs. La prévention des erreurs permet de lever des ambiguïtés sur le sens des informations à saisir, des traitements à effectuer. Par exemple, lors de la saisie d'une date, il est préférable d'indiquer à l'utilisateur le format attendu : un utilisateur francophone québécois peut penser que le format attendu est "aaaa mm jj" alors qu'un utilisateur francophone français croira plutôt à "jj mm aa".
- Gérer les erreurs. Les erreurs étant inévitables, une gestion simple et efficace est de mise. Ainsi, des messages, s'appuyant sur le langage de l'utilisateur, indiquant pour chacune des erreurs sa source et sa solution sont à prévoir.
Prototyper et tester
- Le plus tôt possible. Il n'y a pas à attendre que la conception soit suffisamment avancée pour effectuer un prototype et le tester. Il est de loin meilleur de prototyper dès le début du projet, afin de montrer aux utilisateurs une maquette sur laquelle nous pourrons discuter à partir de notre enquête utilisateur. Pour ce faire, le prototypage papier est une technique que j'utilise régulièrement.
- Souvent. Plus nous testons souvent nos prototypes avec les utilisateurs -- idéalement les vrais utilisateurs --, meilleure sera la qualité de notre conception. Ceci permettra, entre autres, de détecter dès le départ les incompréhensions.
Conclusion
- l'interaction avec le système est important pour l'utilisateur
- il existe de bonnes pratiques pour concevoir une interface
- prototyper et tester le plus tôt possible, et souvent
- placer la connaissance des utilisateurs au coeur de cette approche
- ... et faire appel à des professionnels !