Vous êtes sur la page 1sur 46

Guide du cours

Ce cours s'adresse aux étudiants de la 3ème année de la licence en Technologies de


l’informatique, parcours développement des systèmes d’information (DSI). Il sera enseigné
en tant que élément constitutif de l’unité d’enseignement fondamentale « Environnements
de développement ». Il sera assuré pendant 15 semaines à raison d’une heure et demie de
cours et travaux dirigés par semaine. Il comporte quatre chapitres.

I. OBJECTIFS DU COURS
Ce cours vise à initier les étudiantes et étudiants aux concepts de base d’ergonomie
du logiciel et de l’interaction Homme-Machine, aux principes de base de la conception d’une
interface ainsi qu’à la conception et l’implantation des interfaces graphiques.

II. OBJECTIFS SPECIFIQUES


 Réaliser l’impact des facteurs humains sur l’interaction homme-machine;
 Comprendre les principes ergonomiques associés à la conception d’une
interface ;
 Appliquer ces principes dans un contexte réel de conception d’interface ;
 Maîtriser le processus de développement d’une interface ;
 Concevoir, de prototyper et d’évaluer des interfaces multimédias ;
 Réaliser l’importance de la conception centrée sur l’utilisateur ;
 Travailler avec un outil de développement d’interface usager ;
 Comprendre l’importance du modèle MVC;
III. PRE-REQUIS
 POO, UML, JAVA, Génie Logiciel 1 et 2.

IV. BIBLIOGRAPHIE CONSEILLEE


1. Andrew Tanenbaum, « Systèmes d’exploitation », Edition Pearson 3ème édition,
2008
2. Leila Baccouche, « Au Coeur des Systèmes d’Exploitation des Ordinateurs :
Concepts de base et Exercices Résolus », Centre de Publications universitaire
2003.

1
3. Mohamed Said Ouerghi, « Principes des Systèmes d’Exploitation », Centre de
Publications universitaire 2003.
4. Samia Bouzefrane, « Les systèmes d’exploitation, Unix, Linux et Windows XP
avec C et Java », Edition DUNOD, 2007

V. TABLE DE MATIERES

Chapitre 1 : IHM : Besoins et Enjeux ____________________________________________ 5

I. Problématique _______________________________________________________ 5

II. Définition ___________________________________________________________ 6

III. Importance croissante de l’IHM ________________________________________ 6

IV. Etapes de développement d’une IHM ___________________________________ 6

I. Introduction ________________________________________________________ 10

II. Modèles cognitifs pour la description d’une IHM ___________________________ 10


II.1. Modèle du Processeur Humain (MPH) ___________________________________ 11
II.2. Goal Operator Method Selection _______________________________________ 12
II.3. Keystroke _________________________________________________________ 13
II.4. Théorie de l’action de Norman ________________________________________ 18

III. Ergonomie d’une IHM_______________________________________________ 19


III.1. Définition _________________________________________________________ 19
III.2. Principes pratiques ergonomiques _____________________________________ 19

Chapitre 2 : Conception d’interfaces Homme - Machine ___________________________ 25

I. Les composants de l’interaction Homme- Machine _________________________ 25


I.1. Facteurs à prendre en compte concernant l’utilisateur ______________________ 26
I.2. Facteurs à prendre en compte concernant la tâche _________________________ 26
I.3. Facteurs à prendre en compte concernant le contexte ______________________ 26
I.4. Facteurs à prendre en compte concernant le système informatique ___________ 26

II. Domaines connexes __________________________________________________ 27

2
IV. Objectifs de la conception des IHMs ___________________________________ 27

V. Classes d’utilisateurs _________________________________________________ 28

VI. Styles d’interaction _________________________________________________ 29


VI.1. Menus ___________________________________________________________ 29
VI.2. Formulaires _______________________________________________________ 29
VI.3. Langages de commande _____________________________________________ 30
VI.4. Langages naturels __________________________________________________ 30
VI.5. Manipulation directe _______________________________________________ 30

VII. Interfaces orientées à la manipulation directe ___________________________ 31


VII.1. Fenêtres _________________________________________________________ 31
VII.2. Icônes ___________________________________________________________ 32
VII.3. Menus___________________________________________________________ 32

VIII. Modèles d’architecture pour applications interactive _____________________ 32


VIII.1. Le modèle en couches OSI __________________________________________ 32
VIII.2. Le modèle à niveaux _______________________________________________ 33
VIII.3. Le modèle SEEHEIM _______________________________________________ 34
VIII.4. Les modèles orientés- objet _________________________________________ 35
VIII.5. Le modèle multi- agent _____________________________________________ 35
VIII.6. Le modèle MVC ___________________________________________________ 35
VIII.7. Le modèle PAC ___________________________________________________ 36

Chapitre 3 : Outils de création d’interfaces Homme - Machine ______________________ 36

I. Les boites à outils ____________________________________________________ 37

II. Systèmes génériques _________________________________________________ 37

III. Les systèmes de gestion d’interfaces utilisateur (SGUIs) ___________________ 38

Chapitre 4 : Evaluation d’interfaces Homme - Machine ____________________________ 42

I. Introduction ________________________________________________________ 42

II. Méthodes formatives _________________________________________________ 42


II.1. Ballade cognitive : préparation, évaluation, interprétation __________________ 42
II.2. Evaluation heuristique _______________________________________________ 43

3
III. Méthodes sommatives ______________________________________________ 44

IV. Exemple d’application de l’évaluation heuristique à un site web ____________ 45

4
Chapitre I :

IHM : Besoins et Enjeux

I. Problématique

Interface

Intégration

 Tâches à réaliser Moyens techniques


 Connaissance du métier  Algorithmes
 Connaissance de l’organisation  Programmes
 Connaissance de l’entreprise.  Technologies…

L’efficacité du travail réalisé ne peut seulement résulter de la puissance de l’outil


informatique.
Lors de la réalisation d’une IHM, on va considérer l’informatique comme outil.
Typiquement pour une informatisation, l’informaticien doit se poser ces questions :
 Comment l’utilisateur réalise-t-il sa tâche ?
 Quelles sont les limites actuelles ? qu’est ce qu’un processus informatisé peut apporter ?
 Que connaît l’utilisateur ? de quoi a-t-il besoin ? A quel endroit ? A quel moment ?...
La solution informatique (le programme) ne viendra que plus tard. En réalité, le
développement d’une IHM ne consiste pas en la simple écriture du code informatique mais
en une intégration tâche, utilisateur, environnement de travail informatique.

5
II. Définition
 Définition informatique : Il s'agit d'un assemblage de composants logiciels et matériels
qui permet un dialogue entre l'utilisateur et le système informatique en vue de
l'accomplissement de certaines tâches.
 Définition cognitive : Elle désigne l'ensemble des phénomènes physiques et cognitifs qui
participent à la réalisation de tâches informatiques.

III. Importance croissante de l’IHM


L’interface homme machine devient à l’heure actuelle un véritable enjeu. Celle-ci devient de
plus en plus importante avec l’évolution de l’informatique, de l’utilisateur et de la
technologie.
 La puissance de calcul ou de « traitement de l’information » d’une machine ne constitue
plus un point critique.
 Les technologies disponibles pour la communication (graphisme, son, dispositifs
d’entrée/sorti…) sont très avancées.
 L’interface utilisateur devient un point critique parce qu’elle représente un possible gain
de productivité d’autant plus que l’approche antérieure était insuffisante. En effet, on est
passé d’une approche technocentriste dans laquelle l’utilisateur doit s’adapter à la
machine à une approche anthropocentriste où c’est la machine qui doit s’adapter aux
besoins de l’utilisateur.
 Evolution de l’utilisateur d’un utilisateur inquiet soumis aux caprices de la machine à un
usager averti qui exige de la machine des services de qualité puisqu’il sait maintenant
qu’il existe des interfaces conviviales.
 L’IHM constitue pour les entreprises une source de vente des produits et de services.

IV. Etapes de développement d’une IHM


Les principales étapes de développement d’une IHM sont :
 Déterminer l’ensemble des tâches que l’IHM devra permettre de réaliser : une bonne
IHM est une IHM dont les objectifs fonctionnels sont clairement identifiés;

6
 Déterminer les caractéristiques principales des utilisateurs qui seront amenés à utiliser
l’IHM (leur profil): la qualité d’une IHM est directement dépendante de son adéquation avec
la population d’utilisateurs pour laquelle elle est prévue;
 Proposer plusieurs prototypes d’interface qui seront discutés et évalués par les
concepteurs et les utilisateurs potentiels : une bonne IHM naît le plus souvent de la
diversité... et plusieurs pistes doivent donc être explorées;
 Produire une spécification explicite de l’IHM, décrivant à la fois les contraintes
fonctionnelles et les contraintes de layout; un manuel d’utilisation et une référence
technique pourront également être produits durant cette phase;
 Réaliser l’IHM proprement dite (phase d’implémentation effective);
 Evaluer l’IHM produite sur la base d’indicateurs reconnus.

7
Institut Supérieur des Études Technologiques de Tozeur
Département Technologies de l’Informatique

Module : Interface Homme-Machine


Enseignants : Mme Benene Fradi & Mr Soufiene BEN MAHMOUD
Groupe : DSI 3

Travaux Dirigés N° 1
Exercice 1 :
Soit les 9 points suivants :

  
  
  
Comment réunir ces 9 points par 4 lignes droites sans lever de crayon ?
Exercice 2 :
On dispose de suites de lettres de l’alphabet générée selon une règle d’ordonnancement
(non connue). Compléter par 4 lettres supplémentaires :
1) CDCDCDCD________
2) AAAABBBBCCCCDD________
3) ATBATAATBAT________
4) ABMCDMEFMGHM________
5) DEFGEFGHFGHI________

Exercice 3 :
Soit les trois configurations de plaques de cuissons suivantes :

8
Selon vous, quel model de plaque de cuisson paraît le plus ergonomique ?
Exercice 4 :
Que remarquez-vous en regardant ce bureau d’un ordinateur ?

9
Chapitre II :

Psychologie cognitive et ergonomie

I. Introduction
Une application interactive communique en temps réel avec un utilisateur humain. Les
échanges sont effectués par l'intermédiaire d'une interface, qui prend en charge:
- la communication avec l'application informatique;
- la communication avec l'utilisateur humain;
- la traduction entre le monde de l'application et celui de l'utilisateur.
Les concepteurs d'interfaces cherchent à produire une représentation perceptible du
système qui soit la plus proche possible à la représentation mentale de l'utilisateur.
La conception et le développement d'une interface dérive d'un travail d'analyse et synthèse
entre deux approches:
• L’approche cognitive: dans cette approche, l'interaction homme-application est vue
comme l'ensemble des phénomènes physiques et cognitifs qui participent à la réalisation
des tâches informatisées;
• L’approche informatique: l'interaction est vue comme un assemblage de composants
logiciels et matériels qui permet l'accomplissement de tâches avec le concours d'un
ordinateur.

II. Modèles cognitifs pour la description d’une IHM


La psychologie cognitive offre des modèles théoriques du fonctionnement de l’esprit humain
pour tout comportement mettant en œuvre des connaissances.
Plusieurs modèles cognitifs ont été proposés pour décrire l'interaction entre utilisateur et
ordinateur. Nous allons examiner plus en détail deux parmi ces modèles, le modèle du
processeur humain (Card, Moran et Newell 83) et la théorie de l'action (Norman 86).

10
II.1. Modèle du Processeur Humain (MPH)
Dans le modèle du processeur humain, l'individu est présenté comme un système de
traitement d'informations régi par un ensemble de règles. Le processeur humain comprend
trois sous-systèmes, sensoriel, moteur et cognitif, chacun disposant d'une mémoire et d'un
processeur. La mémoire du système cognitif comprend une mémoire à court terme
(contentant les informations en cours de manipulation) et une mémoire à long terme
(contenant les informations permanentes).
Les performances d'une mémoire ou d'un processeur sont caractérisées par des paramètres
constituant des indications intéressantes qui permettent d'adapter l'interface en fonction
des performances de l'utilisateur. Ces paramètres ne permettent que d'évaluer les
performances mesurables de l'individu, sans apporter des indications sur les modèles de
représentation et raisonnement mis en œuvre.
Ce modèle est suffisamment formel pour être utilisé par les informaticiens; cependant, il
offre une modélisation trop simplifiée et trop réductrice.

Mémoire à long terme

Mémoire visuelle

Mémoire de travail
Mémoire Auditive

Processeur Processeur Processeur


sensoriel cognitif moteur

Figure 1: Modèle du processeur humain


 Mémoire à long terme : - Durée de vie infinie.
- Capacité infinie.
- Codage sémantique.
 Mémoire à court terme : - Durée de vie inférieure à 7 secondes.

11
- Capacité : 7 items.
- Codage acoustique ou visuel

II.2. Goal Operator Method Selection


Ce modèle se contente de modéliser le comportement observable de l’utilisateur (approche
behavioriste) et ne cherche pas à décrire les états mentaux et les traitements internes
 Un but (Goal) : C’est une structure qui définit un état recherché. A chaque but est
annoncé un ensemble de méthodes qui permettent de l’atteindre.
 Un opérateur (Operator) : C’est une action élémentaire dont l’exécution provoque un
changement d’état (état de l’utilisateur ou état de l’environnement).
 Une Méthode (Method) : C’est une suite conditionnée de buts et d’opérateurs où les
conditions font référence à l’état mental ou l’état de l’environnement. Une méthode
est un plan acquis par l’expérience.
 Une règle de Sélection (Selection) : Elle exprime le choix de la méthode lorsque
plusieurs méthodes conduisent au même but.

Exemple :

Soit le système de distribution automatique de billets suivant :

12
Entrer dans
le système

Fournir
Carte

Fournir
Code
secret

Valider

Selectionn
er service

Retirer Consulter Prendre


Sortir
argent solde historique

Slectionner Prendre Prendre


montant ticket ticket

Prendre
argent

1. Goal :

Les buts sont les services que l’utilisateur veut réaliser à travers le système. Ces buts
peuvent être décomposés en sous-buts, d’une façon hiérarchique, tout en respectant le
modèle humain de partition des problèmes en sus-problèmes lors de leur résolution.

Toutefois, dans le modèle GOMS cette hiérarchie n’est pas complètement spécifiée (il y
en a des versions qui permettent la représentation de buts en parallèle). Pour montrer son
fonctionnement nous nous appuyons sur notre application, pour laquelle nous pouvons
identifier les buts suivants :

• Retirer d’argent

• Consulter le solde

• Prendre l’historique

• Sortir du système

13
2. Operator :

Les opérateurs sont des actions réalisées par l’utilisateur pour accomplir un but. Ces
opérateurs peuvent être externes, c’est-à-dire des actions perceptuelles et motrices des
utilisateurs sur les objets du système pour changer des informations (actions observées), ou
internes, c’est-à-dire des opérateurs mentaux des utilisateurs, inférés par les théoriciens et
analyseurs.

 La Loi de Hicks donne une façon de prédire le temps T pris par l’homme pour faire le
choix d’un item parmi une liste de n items :

T = k log2 (n+1), où k est une constante

 La Loi de Fitts permet de prédire le temps de pointage T pris par l’homme :

T = k log2 (A / W +1), où

A : la distance entre l’objet de pointage et l’icône à être pointé

W : la largeur de l’icône

k : constante (valeur 100 msec)

 Description des opérateurs externes GOMS

Opérateur Description Temps

H Ramener la main au clavier 0.40 s

K Presser une touche 0.20 s

T(n) Taper une chaîne de caractères n x 0.2

P Pointer 1.10 s *

M Localiser un objet sur l’écran ou

vérifier une description 1.35 s

W(t) Attendre la réponse du système tR **

I Insérer ou retirer une carte 1.50 s

14
* temps calculé par la Loi de Fitts.

** tR est le temps pendant lequel le système fait attendre l’utilisateur. Si on


considère m comme le temps de traitement d’une commande par le système et t le
temps exploité par l’utilisateur pour exécuter un opérateur pendant le traitement de la
commande, tR vaut :

tR = 0 si m ≤ t

tR = m - t si m > t

 Description des opérateurs internes humains

Description Temps

Accomplir un but -

Décider 1.35 s

Rappeler à partir de la mémoire à court terme 1. 20 s

Rappeler à partir de la mémoire à long terme 1.35 s

Penser à une valeur -

3. METHODS :

Les méthodes sont des séquences d’opérateurs qui permettent l’accomplissement d’un
but. Dans le cas où on pourrait avoir plusieurs méthodes pour le même but, le modèle
fournit des règles de sélection de la méthode. Dans notre application, les méthodes sont
uniques pour chaque but.

Opérateur Durée (s)

Méthode pour le but : Retirer d’argent

Pas1. Identifier l’écran M 1.35

Pas2. Décider : si vous n’êtes pas dans le système,

accomplir but : Entrer dans le système

Pas2. Accomplir but : Sélectionner service

15
Pas3. Accomplir but : Sélectionner montant

Pas4. Accomplir but : Prendre d’argent

Pas5. Retourner avec le but accompli

Méthode pour le but : Entrer dans le système

Pas1. Insérer la carte I 2.0

Pas2. Attendre vérification de la carte W(t) tR

Pas3. Rappeler de la LTM le code secret (....)

Pas4. Ramener la main au clavier H 0.20

Pas5. Tapez code secret T(4) 1.12

Pas6. Accomplir le but : Valider

Pas7. Attendre vérification du code W(t) tR

Pas8. Décider, si code incorrecte, aller au Pas3 (...)

Pas9. Retourner avec le but accompli

Les opérateurs signalés par le symbole (...) sont normalement anticipés dans
l’opérateur précédant, leurs durées sont donc comprises dans le temps précédent.

Méthode pour le but : Sélectionner un service

Pas1. Localiser le service sur l’écran M 1.35

Pas2. Pointer sur l’écran P 1.10

Pas3. Vérifier que le service a été attendu M 1.35

Pas4. Retourner avec le but accompli

Méthode pour le but : Sélectionner montant

Pas1. Penser sur le montant désiré M 1.35

Pas2. Localiser montant sur l’écran (...)

Pas3. Décider : si montant inexistant, aller au Pas1 (...)

Pas4. Pointer sur le montant P 1.10

Pas5. Attendre vérification du montant W(t) tR

16
Pas6. Décider : si montant impossible, aller au Pas1 (...)

Pas7. Retourner avec le but accompli

Méthode pour le but : Spécifier montant

Pas1. Penser sur le montant à transférer M 1.35

Pas2. Ramener la main au clavier H 0.20

Pas3. Tapez le montant T(n) n x 0.28

Pas4. Vérifier le montant M 1.35

Pas5. Décider : si “ montant correcte ”, aller au Pas8 (...)

Pas6. Accomplir le but : Effacer

Pas7. Retourner au Pas2

Pas8. Accomplir but : Confirmer

Pas9. Retourner avec le but accompli

Méthode pour le but : Spécifier compte

Pas1. Rappeler de la LTM le numéro de compte M 1.35

Pas2. Ramener la main au clavier H 0.20

Pas3. Tapez numéro de compte T (10) 2.80

Pas4. Vérifier la compte M 1.35

Pas5. Décider : si “ compte correcte ”, aller au Pas8 (...)

Pas6. Accompli le but : Efface

Pas7. Retourner au Pas2

Pas8. Retourner avec le but accompli

Méthode pour le but : Valider

Pas1. Lire les valeurs sur l’écran (...)

Pas2. Localiser le service sur l’écran (...)

Pas3. Pointer sur “ Valider ” P 1.10

Pas4. Retourner avec le but accompli

17
Méthode pour le but : Effacer

Pas1. Localiser le service “ Effacer ” sur l’écran (...)

Pas2. Pointer sur “ Effacer ” P 1.10

Pas3. Attendre le résultat W(t) tR

Pas4. Retourner avec le but accompli

Méthode pour le but : Confirmer

Pas1. Localiser le service “ OK ” sur l’écran (...)

Pas2. Pointer sur “ OK ” P 1.10

Pas3. Attendre le résultat W(t) tR

Pas4. Retourner avec le but accompli

Méthode pour le but : Sortir

Pas1. Localiser le service sur l’écran M 1.35

Pas2. Pointer sur l’écran P 1.10

Pas3. Attendre réponse du système W(t) tR

Pas4. Retirer la carte I 1.5

Pas5. Retourner avec le but accompli

II.3. Keystroke
C’est une relation simplifiée de GOMS étant donné une tâche, un langage de commande
(textuel ou graphique), les paramètres caractéristiques des capacités motrices de
l’utilisateur, les paramètres mesurant le temps de réponse du système, une méthode pour
réaliser une tâche, ce modèle permet de prédire le temps d’exécution de cette tâche par
un utilisateur expert.
Remarque
On suppose que la méthode soit unique, on ne prend pas en compte l’opération de choix
s’il y a plusieurs méthodes conduisant à un même but.

II.4. Théorie de l’action de Norman

18
Selon la théorie de l'action, un individu agit selon des modèles mentaux, élaborés par
l'individu même et évoluant avec l'expérience. Dans un processus de communication
interpersonnelle, les individus confrontent et adaptent leurs représentations mentales. Dans
le cas d'une interface homme-application, la communication met en jeu l'utilisateur et
l'interface (production d'une représentation perceptible (image) du système à partir de
laquelle l'utilisateur adapte sa représentation.
Le concepteur doit réduire le décalage entre les modèles mentaux de l'utilisateur et l'image
produite.
Cette théorie permet de classer les besoins de l’utilisateur et de mettre un peu d’ordre dans
l’ensemble des règles ergonomiques trouvées expérimentalement.

III. Ergonomie d’une IHM

III.1. Définition
Du Grec : - Ergon : Travail
- Nomos : loi et règle
 L’ergonomie énonce des règles et des propositions de bon sens établis le plus souvent
expérimentalement, par observation de l’interaction homme machine.
 L’ergonomie est l’étude quantitative et qualitative du travail dans l’entreprise visant à
améliorer les conditions de travail et à accroître la productivité. Ces améliorations portent
traditionnellement sur l’adaptation aux besoins de l’homme du poste de travail, des
outils, des machines, des horaires,…

III.2. Principes pratiques ergonomiques


L'ergonomie s'intéresse à la facilité d'utilisation. En ergonomie informatique, nous nous
attachons particulièrement à l'usage des produits interactifs. Quel que soit le média,
qu'il s'agisse de web, de logiciel, de PDA ou de téléphone mobile, nos missions visent à
mesurer et à améliorer l'utilisabilité du produit. Ce concept, traduit de l'anglais
usability, résume la capacité du produit à permettre à l'utilisateur de réaliser
efficacement la tâche pour laquelle il a été conçu.

L'analyse de l'ergonomie de navigation sur internet ne diffère pas de celle d'un autre
produit interactif : Un site doit permettre au visiteur de trouver rapidement

19
l'information qu'il cherche, de la même manière que le produit doit permettre à
l'utilisateur de réaliser facilement la tâche.

A partir de là, la tâche de l'ergonome consiste à identifier quels sont les freins, les
difficultés qui vont empêcher l'utilisateur d'atteindre rapidement l'information qu'il
cherche. C'est en analysant la cause de ces difficultés, qu'il détermine les manières d'y
remédier et permet ainsi d'améliorer l’utilisabilité de son produit.

La théorie de l’action de Norman a permis de définir un ensemble de règles ergonomiques


trouvées expérimentalement. Dans cette section nous allons décrire les propriétés
principales devant être présentes dans une interface ergonomique.

II.2.1. La concision

La concision a pour but de réduire les activités de perception, de mémorisation et de


formulation d’une suite d’actions pour réaliser une intention. Moins l’utilisateur doit se
focaliser sur l’IHM pour interpréter, comprendre ou formuler sans problème, et plus il est
disponible pour son métier. Il faudra donc éviter toute information inutile.
Pour assurer la concision, on doit suivre certaines règles :
 Suivre des règles précises et naturelles pour les abréviations.
 Donner la possibilité à l’utilisateur de refaire et défaire.
 Utiliser des valeurs par défaut.
 Masquer les opérations impossibles dans le contexte (griser les options du menu,…).
 Pouvoir appliquer une même opération sur des objets différents.

II.2.2. La rétroaction

Suite à une action de l’utilisateur, l’ordinateur doit montrer :


 La commande ou l’action a bien été prise en compte.
 Que la commande ou l’action a abouti à tel état ou à tel changement dans le système.
 Qu’il est en train de travailler.
Le retour d’information (le feedback) doit être immédiat et informatique : Les variables
psychologiques, centre d’intérêt de l’utilisateur, doivent trouver leurs correspondants dans
les variables physiques de l’image.
 Informer pour rassurer.

20
 Informer pour réduire la charge cognitive.
 Informer des erreurs et indiquer un remède.

II.2.3. La cohérence

Une interface cohérente est une interface dans laquelle il n’existe pas de contradiction :
 Deux commandes à but identique doivent avoir la même séquence d’action.
 Si deux commandes ont des paramètres identiques, elles doivent être placées dans le
même ordre.
 Deux commandes à sémantique identique doivent avoir une dénomination identique.
 Deux commandes à utilisation identique doivent avoir une localisation identique.

II.2.4. La structuration

Pour définir une interface structurée, il faut :


 Réduire la complexité du fond : organiser les fonctions en niveau de complexité
croissante.
 Réduire la complexité de la forme (image).
 Hiérarchisation : hiérarchiser et séparer les fonctions.

II.2.5. La flexibilité

Une interface est flexible lorsqu’elle adaptable ou adaptative.


Une interface est dite adaptable si elle est modifiable par intervention explicite de
l’utilisateur. Ceci est assuré par :
 La possibilité de modification du lexique (redéfinir des raccourcis) facilement sans
intervention d’un informaticien.
 La possibilité de modification des valeurs par défaut.
 La représentation multiple des objets de l’interaction (exemple : dans les logiciels de
dessin, on peut utiliser ou non une grille)
Une interface est dite adaptative si elle se modifie automatiquement en fonction de ‘activité
de l’utilisateur.
La flexibilité peut être améliorée en implémentant des accélérateurs, des assistants ou
même en proposant plusieurs chemins pour une même tâche.

II.2.6. La compatibilité

21
La compatibilité désigne la capacité de l’IHM à s’intégrer dans l’activité de l’utilisateur. Elle
doit pour cela être conforme à la représentation de la tâche pour l’utilisateur.

II.2.7. L’homogénéité

On parle d’homogénéité intra-application (au sein de la solution logicielle qu’on a proposé)


et inter-application (par rapport aux autres applications que l’utilisateur exploite dans son
environnement de travail).
L’homogénéité concerne les zones d’affichage, l’emplacement, les tailles, la police de
caractères, les messages…

II.2.8. La signifiance

La signifiance désigne la capacité d’un élément de l’interface à être significatif pour les
utilisateurs.
Lors du choix de dénomination, il faut veiller à ce que le vocabulaire soit celui de l’utilisateur
et non pas de l’informaticien. Il faut pour cela observer l’utilisateur, l’interroger, ce qui nous
ramène à l’étape de recueil de données.
Exemple : Ne pas laisser à l’utilisateur des dénominations techniques : « id_Clt » au lieu de
« numéro client ».

II.2.9. Le pilotage

Il faut donner à l’utilisateur le sentiment qu’il dirige l’application. Ainsi il doit pouvoir quitter,
annuler une action, revenir au menu principal, naviguer entre des enregistrements.

22
Institut Supérieur des Études Technologiques de Tozeur
Département Technologies de l’Informatique

Module : Interface Homme-Machine


Enseignants : Mme Benene Fradi & Mr Soufiene BEN MAHMOUD
Groupe : DSI 3

Travaux Dirigés N° 2

Exercice 1 :
Soit le système de recharge électronique des lignes téléphoniques mobiles géré selon le
schéma suivant :

accès au système

Choisir opérateur

Valider

choisir montant

valider

Saisir numéro de
téléphone

valider

Introduire Argent

Valider

Appliquer le modèle de GOMS pour représenter l’activité cognitive d’un individu

pendant l’accomplissement de cette tâche.

23
Exercice 2 :
Considérons un éditeur de texte pleine page avec clavier et souris, on veut modéliser
les différentes façons de déplacer le curseur et évaluer les performances du système qui en
découlent.
On cherchera à définir notamment dans quel cas il est préférable d’utiliser la souris
ou les touches du clavier.
1. Décrire les méthodes M1 et M2 correspondant respectivement à l’utilisation de la souris
et du clavier pour réaliser le but qui consiste à amener le curseur au point désiré.
Donner une description formelle des méthodes M1 et M2 et les préciser ensuite en
considérant les actions élémentaires suivantes :
K : frappe de touches clavier ou de la souris
P : pointer la souris
H : rapatriement de la main
D : action de dessiner
M : activité mentale
R : temps de réponse système
2. Le temps d’exécution d’une tâche est alors la somme des temps passés à exécuter
chaque classe d’opérateur.
Pour chaque opérateur élémentaire, donner une estimation de sa durée.
En déduire le temps d’exécution pour chacun des buts ci-dessus.

24
Chapitre III :

Conception d’interfaces Homme - Machine

I. Les composants de l’interaction Homme- Machine


L’utilisateur accomplit sa tâche dans un contexte particulier en utilisant un système
informatique.

Tâche

Contexte

CONCEPTION

Technologie Humain

Dans une IHM, on parle toujours du concept d’utilisabilité qui consiste à la réalisation
des systèmes permettant à l’utilisateur d’accomplir ses tâches de façon efficace, avec une
bonne productivité, en toute sécurité, en prenant plaisir à le faire et en apprenant
rapidement à utiliser le système.

25
Pour assurer l’utilisabilité, plusieurs facteurs doivent être pris en comptes pour l’utilisateur,
la tâche, le contexte de travail ainsi que le système informatique.

I.1. Facteurs à prendre en compte concernant l’utilisateur


 Physiques et physiologiques : acuités visuelles, habileté, fatigabilité…
 Psychologiques : vitesse d’apprentissage, capacité de mémorisation, curiosité
 Socio-culturels : Niveau d’étude, origine sociale, pays…
 Expérience professionnelle : Niveau de compétence dans la tâche.

I.2. Facteurs à prendre en compte concernant la tâche


 La tâche est elle répétitive, peu sensible aux changements de l’environnement ?
 Tâche régulière, occasionnelle, critique ?
 Le temps est il facteur critique ?
 Quels types de savoirs et de savoir-faire sont-ils requis ?
 Des situations critiques peuvent elles survenir ?
 L’utilisateur accomplit-il la tâche seul ou avec d’autres ?
 L’utilisateur accomplit-il plusieurs tâches en parallèle ?
 Quel est le partage de décisions entre l’homme et la machine ?

I.3. Facteurs à prendre en compte concernant le contexte


 Attribution des tâches : qui fait quoi ?
 Dépendance entre les tâches.
 Partage du pouvoir et de l’influence.
 Politique de formation.
 Gestion du personnel.
 Contraintes économiques.

I.4. Facteurs à prendre en compte concernant le système informatique


 Contraintes matérielles : Capacité mémoire, puissance de calcul, qualité des
périphériques d’entrée/sortie…
 Contraintes logicielles : Système d’exploitation, applications disponibles…
 Organisation des machines : machines isolée, en réseau (intranet, extranet…)

26
Les facteurs à prendre en compte pour la conception d’une IHM sont multiples. Certains se
renforcent d’autres sont contradictoires : on ne peut pas optimiser sur tous les critères.

II. Domaines connexes


Le développement d’IHM est une activité multidisciplinaire. Il faut des spécialistes :
• en psychologie et facteurs humains : pour prendre en compte les concepts issus des
théories de la perception et de la cognition;
• en conception logicielle : pour utiliser au mieux les techniques informatiques disponibles;
• en développement de matériel : pour mettre à profit les progrès dans le domaine de la
conception de nouveaux périphériques, et offrir un accès au système au plus grand nombre
de personnes (handicapés compris)
• en conception graphique : pour la fabrication des «layouts» qui seront utilisés dans le cas
d’interfaces visuelles
• ... en traitement de la parole, en ergonomie

IV. Objectifs de la conception des IHMs


• Permettre la réalisation des tâches prévues:
La richesse fonctionnelle doit être adaptée : un ensemble insuffisant de fonctions rend un
système inutilisable, quelle que soit la qualité de son interface...mais une richesse
fonctionnelle trop importante rend un système difficile à maîtriser.
Une analyse fonctionnelle doit être réalisée pour recenser l’ensemble des tâches et sous-
tâches véritablement nécessaires, ainsi que leur fréquence d’utilisation.
• Minimiser l’investissement de l’utilisateur:
Minimiser la durée d’apprentissage et le niveau de compétences requis, ce qui peut
s’obtenir, entre autre, par un mimétisme plus ou moins marqué avec d’autres IHM
auxquelles l’utilisateur a déjà été confronté.
 Garantir des interactions fiables:
Garantir un bon degré de fiabilité lors des interactions. La confiance que place l’utilisateur
dans le système est souvent fragile!

27
Les interactions offertes par une bonne IHM doivent donc contribuer à augmenter la
confiance de l’utilisateur : fonctionnement sans erreur, organisation fonctionnelle claire et
cohérente, stabilité dans le temps…
• Favoriser la standardisation:
La standardisation permet de réduire les temps d’apprentissage, augmente la confiance et
les performances des utilisateurs (moins d’erreurs) et améliore la portabilité des systèmes.

La conception d'une interface doit tenir en compte les utilisateurs auxquels cette interface
est adressée; les objectifs doivent évaluer:
• temps pour l'apprentissage;
• vitesse des performances;
• taux des fautes des utilisateurs;
• satisfaction subjective;
• mémorisation dans le temps des éléments appris.

V. Classes d’utilisateurs
La prise en compte des utilisateurs d'une interface est fondamentale du point de vue de
l'ergonomie. La classification des utilisateurs est basée sur leurs connaissances syntaxiques
et sémantiques des tâches qu'ils doivent accomplir. Les connaissances syntaxiques
concernent les détails dépendants du système, comme par exemple la syntaxe des langages
utilisés pour interagir avec un langage de commandes. Les problèmes principaux sont: la
variation de la syntaxe de système à système, le manque d'une connaissance structurée et le
temps d'apprentissage. Les connaissances sémantiques.
Nous pouvons distinguer trois classes d'utilisateurs d'une interface:
• Novices: ils n'ont pas de connaissances syntaxiques; les connaissances sémantiques de
l'ordinateur et des tâches sont très limitées. Le vocabulaire à disposition de ces
utilisateurs doit être réduit, les tâches doivent être peu nombreuses et simples, les
messages d'erreur compréhensibles et un nombre suffisant de manuels et de tutoriaux
doit être disponible.
• Occasionnels: ils ont des bonnes connaissances sémantiques du domaine, mais leurs
connaissances syntaxiques sont pauvres. Ils peuvent être aidés par une structure

28
d'interaction simple, des messages significatifs, des interactions fréquentes et des
fonctions d'aide en ligne.
• Spécialistes: ils ont besoin de temps de réponse rapides, un feedback rapide et des
instruments pour accélérer la saisie des données et des commandes.

Si un système s'adresse à plus qu'une classe d'utilisateurs, il devrait être structuré selon
différents niveaux d'apprentissage: pour les novices, les objets manipulables et les actions
disponibles doivent être réduits à un sous-ensemble minimal. Cette structure à plusieurs
niveaux peut être étendue aussi aux manuels, les fonctions d'aide, les messages et les
tutoriaux.

VI. Styles d’interaction

VI.1. Menus
Ce style d'interaction est conseillé quand le nombre de commandes dépasse la
capacité mémoire à court terme des utilisateurs. L'utilisateur choisit dans une liste d'options
l'objet plus adapté pour la tâche. Si la terminologie et la signification des objets dans la liste
sont claires, les utilisateurs peuvent accomplir leur tâche avec peu d'apprentissage.
L'avantage principal est la structuration claire du processus de décision, car seulement un
nombre limité de choix est présenté à la fois. Ce style d'interaction est approprié pour des
utilisateurs novices et occasionnels; il peut être mal adapté aux utilisateurs expérimentés car
les menus sont à l'initiative de l'ordinateur et le dialogue est plutôt lourd.

VI.2. Formulaires
Ce style d'interaction est utilisé principalement pour saisir des données. Un
formulaire donne une représentation visuelle structurée des données. Le temps
d'apprentissage est plutôt modeste, car l'utilisateur doit seulement connaître les valeurs
permises et les méthodes d'entrée des données. Ce style d'interaction est à l'initiative de
l'ordinateur, mais l'utilisateur peut saisir plusieurs réponses dans un ordre quelconque. Les
formulaires sont plus appropriés pour les utilisateurs occasionnels (avec connaissances du
domaine) et spécialistes.

29
VI.3. Langages de commande
Ils permettent d'exprimer vite des commandes complexes. Par contre, les erreurs
sont très fréquentes, un long temps d'apprentissage est nécessaire pour apprendre la
syntaxe du langage et la mémorisation est difficile. Ce style d'interaction est intéressant pour
des utilisateurs spécialistes qui aiment maîtriser l'interaction avec l'ordinateur et avoir une
expression plus rapide de l'interaction.

VI.4. Langages naturels


Ils requièrent peu d'apprentissage; l'interface impose à l'utilisateur un dialogue de
type question/réponse. Ce type d'interaction est adapté à un utilisateur expert dans le
domaine d'application et occasionnel. La mise au point de ce style d'interaction demande
encore beaucoup d'efforts de la part des chercheurs et des développeurs de systèmes.

VI.5. Manipulation directe


Les caractéristiques fondamentales de ce style d'interaction sont:
• visibilité des objets et des actions d'intérêt;
• actions rapides, incrémentales et réversibles;
• substitution de la syntaxe des langages de commande par des actions physiques: la saisie
des commandes par le clavier et les choix par menus sont remplacés par des
déplacements de la souris;
• apprentissage "à niveaux" du système: l'utilisateur peut commencer avec une
connaissance minimale, qu'il augmente progressivement.
Les systèmes basés sur la manipulation directe ont les avantages suivants:
• les novices peuvent apprendre les fonctionnalités de base rapidement, normalement en
suivant une démonstration du système par un utilisateur plus expert;
• les experts peuvent définir un grand ensemble de tâches (définition de nouvelles
fonctions, etc.);
• les utilisateurs occasionnels peuvent apprendre les concepts opérationnels;
• l'utilisateur peut observer directement le résultat sur l'objet d'intérêt et il peut juger si
une action l'amène aux objectifs désirés.
Dans ce style d'interaction la syntaxe et la sémantique sont simplifiées. En effet, la syntaxe
est réduite aux actions physiques accomplies par l'utilisateur. La sémantique des concepts

30
de l'ordinateur est réduite, car les tâches ne doivent pas être décomposées dans plusieurs
commandes avec une syntaxe complexe. De plus, chaque action produit un résultat
compréhensible et visible tout de suite: cela signifie que les actions se trouvent dans le
domaine des tâches à haut niveau.
Toutefois, il y a toujours quelques problèmes avec les interfaces basées sur la manipulation
directe:
• L'utilisation des structures graphiques est intéressante pour l'utilisateur, mais il peut avoir
besoin d'un effort additionnel pour apprendre les règles de représentation;
• Quelque fois la signification des composants de la représentation n'est pas trop claire
pour l'utilisateur;
• Il n'est pas toujours clair quelles sont les actions permises sur un objet;
• On peut aussi avoir des problèmes d'espace sur l'écran.

VII. Interfaces orientées à la manipulation directe


On parle à ce propos d’interfaces WIMP (Windows, Icons, Menus and Pointing Devices):
ce sont des interfaces basées sur l'utilisation de fenêtres, icônes, menus et dispositifs
d'entrée comme la souris.

VII.1. Fenêtres
L'écran peut être divisé en plusieurs sous-écrans (fenêtres), dont chacun peut afficher
des objets différents. Le nombre de fenêtres est limité par l'espace sur écran et en mémoire.
Les fenêtres peuvent être superposées ou contigües: l'utilisation de l'un ou l'autre style est
influencé par plusieurs facteurs:
• résolution de l'écran (nombre de pixels);
• différents styles peuvent être utilisés pour indiquer si les ensembles d'informations ou de
processus sont différents ou pas (par exemple, fenêtres superposées pour afficher des
informations ou des processus différents et fenêtres contigües pour afficher les mêmes
informations);
• les fenêtres contigües assurent la visibilité de toutes les fenêtres, mais il y a des
problèmes pour une présentation claire dans une petite zone.

31
Les opérations fondamentales qui peuvent être accomplies sur les fenêtres concernent la
manipulation (déplacement et modification des dimensions des fenêtres), la sélection
(sélection, ouverture et fermeture d'une fenêtre) et le scrolling.

VII.2. Icônes
Ce sont des représentations graphiques des objets qui peuvent être manipulés par
l'utilisateur; souvent ces représentations sont des petites images identifiées par un nom. Les
icônes peuvent être utiles pour des actions simples et familières. Parfois, la signification
d'une icône peut être ambiguë si l'utilisateur n'a pas des indications sur le contexte. De plus,
le nombre d'icônes qui peuvent être définies sans ambigüités est plutôt limité.

VII.3. Menus
Dans les interfaces WIMP toutes les informations et les commandes disponibles ne
doivent pas être affichées en permanence. Cela signifie qu'aussi le menus doivent être
affichés seulement quand il est nécessaire. Nous pouvons distinguer entre deux types de
menus:
• Menus pop-up: ils sont affichés quand l'utilisateur clique sur l'écran avec la souris.
L'utilisateur n'a pas besoin de déplacer le curseur pour voir les options disponibles.
• Menus pull-down: ils sont affichés en déplaçant le curseur sur une barre de menu, qui
contient un ensemble de titres. Quand l'utilisateur clique sur un titre, un menu est
affiché. Des raccourcis peuvent être associés aux éléments des menus.

VIII. Modèles d’architecture pour applications interactive


L'objectif d'une interface homme-application est de faire communiquer, dans les
meilleures conditions possibles une application informatique et un utilisateur humain.
L'interface doit traduire la représentation formelle de l'application en une représentation
perceptible par l'utilisateur, et interpréter les manipulations de l'utilisateur pour les
communiquer à l'application. Cette section est consacrée à la description des architectures
logicielles d'interface proposées par les concepteurs d'interfaces utilisateur.

VIII.1. Le modèle en couches OSI

32
Ce modèle reprend le principe du modèle de communication ISO:
Application

Contrôleur
de dialogue

Primitives E/S

Terminal virtuel

Unité logique

Utilisateur

Le contrôleur de dialogue gère la cohérence entre le monde abstrait de l'application et


l'univers de l'interface.
Les primitives d’entrée/sortie sont des primitives d'affichage et désignation (E/S abstraites).
Le terminal virtuel gère le partage du terminal physique entre plusieurs applications
indépendantes.
L'unité logique adapte les E/S selon le matériel utilisé.
Ce modèle présente des caractéristiques fondamentales telles que:
- répartition sur machines différentes;
- concurrence: possibilité de communiquer avec plusieurs applications en simultané;
- compatibilité: permet de réutiliser les logiciels et systèmes existants;
- collaboration: dialogue multi-utilisateur;
- portabilité: sur une autre machine, sous un autre système d'exploitation.

VIII.2. Le modèle à niveaux

33
Les langages de communication utilisateur-système et système utilisateur sont structurés
en quatre niveaux:
• Niveau conceptuel: correspond au modèle utilisateur de l'application. Il définit les classes
d'objets (ex. lignes de texte et fichiers), les relations entre ces classes d'objets (ex. un
fichier est une suite de lignes de texte) et les opérations sur ces classes d'objets.
• Niveau sémantique: spécifie le détail des fonctionnalités, à savoir les informations
nécessaires aux opérations sur les objets, la gestion des erreurs sémantiques et les
résultats de chaque opération. A ce niveau l'intérêt est focalisé sur la signification des
objets et les opérations sur ces objets.
• Niveau syntaxique: définit la séquence des entrées/sorties. Pour les entrées, la séquence
est faite par une grammaire qui permet les règles de construction à partir des mots. La
syntaxe des sorties inclut l'organisation de l'affichage graphique des objets en deux or
trois dimensions.
• Niveau lexical: spécifie comment les composants des entrées/sorties sont composés à
partir des primitives de base. Pour les entrées le lexique définit le vocabulaire avec lequel
sont formés les commandes, textes, cordonnées, alors que le lexique des sorties est
défini par les attributs d'affichage des objets: couleur, fontes, taille des objets, par
exemple.

VIII.3. Le modèle SEEHEIM


L'idée centrale de cette approche est la séparation rigoureuse entre l'interface et
l'application. Ce modèle comporte trois modules distincts, chacun jouant un rôle bien
déterminé.
• La Présentation gère la présentation et l'affichage des objets ainsi que les manipulations
de l'utilisateur; a ce niveau la gestion est purement lexicale;
• Le Contrôleur de dialogue est un médiateur qui contrôle la syntaxe des requêtes saisies
par l'utilisateur et appelle les fonctions correspondantes de l'application.
• L'Interface avec l'application assure le lien entre l'application et le module de contrôle
de dialogue en faisant appel aux procédures de l'application;
Les avantages de cette approche sont:
• Les problèmes de l'application et de l'interface peuvent être isolés et traités séparément;
• L'application et l'interface peuvent évoluer indépendamment;

34
• L'interface peut être partagée par différentes applications.

VIII.4. Les modèles orientés- objet


Le premier aspect intéressant de ces modèles est l'autonomie: l'objet est vu comme
une boîte noire réagissant aux messages qu'elle reçoit suivant un protocole prédéfini. L'objet
a donc une existence propre, indépendante de son environnement: l'interface peut être
construite de façon incrémentale.
Un autre aspect intéressant des modèles orientés-objet est la factorisation: les objets
présentant les mêmes caractéristiques sont regroupés par la notion de classe, elle-même
étendue par les notions d'héritage et de surcharge. Des comportements similaires peuvent
ainsi être regroupés et réutilisés dans différentes interfaces.

VIII.5. Le modèle multi- agent


Ce modèle structure un système interactif dans une collection d'agents spécialisés qui
produisent et réagissent aux événements. L'utilisateur est parmi ces agents. Un agent peut
être vu comme un système complet pour le traitement de l'information:
• il reçoit et il transmet des événements;
• il a une mémoire pour retenir un état;
• il a un processeur pour traiter les événements et mettre à jour son état.
Un agent définit l'unité de modularité: il est possible de modifier son comportement sans
avoir à toucher le reste de l'interface. De plus, un agent peut être le support pour un
dialogue à plusieurs fils: on peut associer un agent à chaque fil de l'activité d'un utilisateur.
Cela est possible car chaque agent retient un état; si l'activité est trop complexe, on peut
utiliser une collection d'agents en coopération.

VIII.6. Le modèle MVC


Ce modèle est basé sur trois classes principales sont regroupées dans le modèle MVC:
• Model (Modèle): cette classe est une représentation abstraite d'un objet avec un
ensemble de fonctions;
• View (Vue): cette classe permet d'afficher cet objet à partir du modèle;
• Controller (Contrôleur): permet de gérer les actions de l'utilisateur sur une vue.

35
La cohérence du système est assurée par la communication des trois objets par un
mécanisme de messages. Les avantages du modèle résident dans la séparation de
l'affichage, de la gestion des événements utilisateur et de la représentation interne des
objets manipulés.

VIII.7. Le modèle PAC


Ce modèle structure une application interactive en trois composantes distinctes:
• Présentation: définit le comportement des entrées/sorties de l'application par des objets
interactifs de présentation;
• Abstraction: définit les fonctionnalités sémantiques de l'application;
• Contrôle: maintient la cohérence entre l'Abstraction et la Présentation.
PAC est un modèle cohérent et récursif: il s'applique même aux objets interactifs qui sont
décomposables en d'autres objets.

Chapitre IV :

Outils de création d’interfaces Homme - Machine

36
I. Les boites à outils
Une boîte à outils est une bibliothèque de primitives prêtes à l'utilisation pour la
construction d'interfaces utilisateur. Il y a deux catégories de primitives:
• gestion du poste de travail: définissent un terminal abstrait qui rend transparentes les
caractéristiques physiques de la station. On peut avoir des abstractions graphiques
simples (surface d'affichage) ou construites (icône, fenêtre), des abstractions textuelles
(police de caractères) ou concernant la gestion des événements;
• gestion de dialogue: sont basées sur les services du poste de travail et proposent
plusieurs objets de présentation élémentaires (boutons) ou complexes (barres de
défilement, menus, etc.)
Avantages :
Une boîte à outils présente les avantages suivants:
- extensibilité (possibilité d'ajouter de nouvelles primitives);
- souplesse d'utilisation;
- grande portabilité des applications interactives;
- définition d'un style d'interaction commun à plusieurs systèmes interactifs.
Inconvénients :
Les inconvénients de cette approche sont les suivants:
- mauvaise décomposition modulaire;
- difficulté d'apprentissage (c'est au programmeur de choisir les primitives adéquates et les
liens entre ces primitives);
- problèmes dans la portabilité des logiciels interactifs (existence de plusieurs boîtes à outils
sur le marché);
- duplication d'efforts.

II. Systèmes génériques

37
Un système générique ou squelette d'application est un assemblage logiciel réutilisable et
extensible pour la génération des interfaces utilisateur. Les développeurs peuvent consacrer
plus de temps à la sémantique qu'à la présentation (prise en charge par le système). Une
squelette se compose d'un module contrôleur réutilisable (il acquiert et traite les
événements) et d'un module de présentation réutilisable. Exemples: APEX (APplication
EXtensible), GROW (GRaphical Object Workbench), Serpent, MacApp.
Les avantages des systèmes génériques sont:
- architecture logicielle qui facilite la tâche du programmeur et le processus de construction
des interfaces;
- facilité d'assemblage des composants logiciels;
- niveau d'abstraction plus haut que les boîtes à outils;
- possibilité d'intégrer des nouvelles abstractions dans la squelette;
- réduction du coût du développement.
Toutefois, il y a toujours quelques inconvénients:
- niveau d'abstraction encore bas (nécessité de modifier les primitives pour répondre à des
besoins particuliers);
- limitation des applications à interfacer;
- protocole application-interface peu performant et limité;
- manque d'intégration de services ergonomiques (aides, gestion des erreurs, etc.).

III. Les systèmes de gestion d’interfaces utilisateur (SGUIs)


Un SGIU est un ensemble d'outils logiciels pour la conception, l'implémentation, l'exécution
et l'évaluation des interfaces utilisateurs. Un SGIU permet à un concepteur d'interfaces
utilisateur de spécifier son interface dans un langage à haut niveau. Le SGIU transforme ces
spécifications en des objets de l'interface et il gère ces objets et le dialogue avec
l'application.
De différentes catégories d'individus sont concernées par l'utilisation d'un SGIU:
• concepteur du SGIU;
• concepteur de l'interface utilisateur: c'est la personne qui utilise un SGIU pendant la
phase de conception;
• concepteur de l'application: c'est le concepteur du programme qui communique avec le
SGIU;

38
• utilisateur: c'est la personne qui utilise l'interface.
Pour un concepteur, les interfaces générées par un SGIU doivent être homogènes,
séparant la sémantique de la présentation, donnant des supports pour la prise en compte
des différentes catégories d'utilisateurs, doivent donner du feedback lexical, syntaxique et
sémantique, doivent être facilement modifiables et réutilisables.
Pour un utilisateur, ces interfaces doivent être homogènes dans différents domaines,
avec des supports d'aide, d'assistance et d'apprentissage, et avec de mécanismes d'accès à
des fonctionnalités supplémentaires.
L'architecture type d'un SGIU se compose d'un langage de spécification d'interfaces,
d'un interpréteur ou compilateur de spécifications (génération d'une forme exécutable) et
d'un noyau d'exécution qui peut être un système générique (squelette d'application). Une
interface est spécifiée par le langage proposé par le SGIU. Ensuite, le système génère une
forme interne exécutable. A partir de cette forme exécutable (stockée dans un fichier), du
noyau de base, de l'application (fonctionnalités sémantiques) et d'un mécanisme de liaison
entre ces différents composants, le système produit l'application interactive finale.
Aujourd'hui on a de plus en plus besoin de SGIUs qui génèrent des interfaces basées sur la
manipulation directe. Pour répondre à ces besoins, les SGIUs sont de plus en plus complexes
à concevoir et difficiles à utiliser. Un choix s'impose entre les SGIUs faciles à l'utilisation, mais
qui produisent des interfaces conventionnelles et les SGIUs complexes et difficiles à utiliser,
mais qui produisent des interfaces plus avancées.
Les avantages des SGIUs peuvent être résumés dans les points suivants:
- encouragement pour le développement et la réutilisation des interfaces utilisateur;
- gain de temps dû à la correction des erreurs et l'aide automatique;
- cohérence entre différentes applications;
- production de logiciels faciles à utiliser et à apprendre;
- consistance des interfaces;
- prototypage rapide;
- test et évaluation des interfaces auprès des utilisateurs finaux.

Malgré les avantages qui présentent les SGIUs, un certain nombre d'inconvénients sont à
noter:
- difficulté d'utilisation (apprentissage des langages de spécification);

39
- nombre réduit de fonctionnalité;
- restriction du domaine des applications supportées;
- restriction du parallélisme;
- restriction des fonctions dépendantes du contexte;
- personnalisation de l'interface limitée;
- transfert des données inexistant ou limité entre applications;
- problèmes de portabilité et de disponibilité des SGIUs dans plusieurs environnements
différents;
- difficulté de construction des SGIUs produisant des interfaces consistantes et homogènes;
- manque de supports et outils d'évaluation des interfaces;
- difficulté de séparer totalement l'interface utilisateur de l'application au niveau de
l'implémentation;
- manque de structuration (donc de lisibilité) des langages de spécification des SGIUs;
- peu de SGIUs sont indépendantes du style;
- peu de bon SGIUs qui sont commercialisés.

40
Institut Supérieur des Études Technologiques de Tozeur
Département Technologies de l’Informatique

Module : Interface Homme-Machine


Enseignants : Mme Benene Fradi & Mr Soufiene BEN MAHMOUD
Groupe : DSI 3

Travaux Dirigés N° 3

Exercice 1 :
Il vous est demande de concevoir une application de gestion de calendrier pour un

système de téléphone mobile. Le système envisagé est doté d’un écran de petite taille, de

quatre boutons et d’une molette que l’on peut faire tourner et également presser comme

un cinquième bouton. L’écran n’est pas tactile et ne permet donc pas la désignation directe.

Proposer une maquette typique contenant les différents éléments essentiels de

l’application. Indiquer aussi les couleurs proposées pour chaque élément.

1. Définir les interactions permettant la navigation dans le calendrier. Celui-ci doit

proposer quatre vues : jour, semaine, mois, année. On cherchera à minimiser le nombre

d’actions nécessaires pour se rendre d’un jour à un autre.

2. Définir l’interaction permettant de créer une nouvelle entrée. L’intitulé de

l’entrée peut faire partie d’une liste prédéfinie (rendez-vous, réunion, cours, vacances, etc.)

ou être saisi. L’entrée a une certaine durée et peut se répéter tous les jours, toutes les

semaines, tous les mois, ou toutes les années.

3. Définir les interactions permettant de modifier une entrée (sa date, son

heure, son intitule, sa durée, sa périodicité) et de la détruire.

41
Chapitre IV :

Evaluation d’interfaces Homme - Machine

I. Introduction

Méthodes d’évaluation

Méthodes Formatives Méthodes Sommatives

Ballade cognitive Ballade cognitive Ballade cognitive

II. Méthodes formatives

II.1. Ballade cognitive : préparation, évaluation, interprétation


1. La préparation de l'évaluation : spécification d'une série de tâches et des séquences
d'actions que l'utilisateur doit réaliser pour atteindre chaque tâche
Qui évalue et quand?
 Chaque concepteur individuellement au fur et à mesure qu'il conçoit sa partie.
 Le groupe de concepteurs après intégration des parties

42
De quoi a-t-on besoin avant de commencer?
 Une description ou un prototype de l'interface
 Une description de la tâche et de son contexte
 Une liste complète et détaillée de la suite correcte (et optimale) d'actions pour
accomplir la tâche.
2. L'évaluation qui consiste à imaginer ce que l'utilisateur pensera et de détecter les
difficultés qu'il peut rencontrer
 L'utilisateur pensera-t-il qu'il peut ou qu'il doit faire cette action?
 L'utilisateur verra-t-il le dispositif de contrôle (bouton, menu, interrupteur, ...) pour lancer
l'action?
 Après avoir trouvé le dispositif de contrôle, est-ce que l'utilisateur reconnaîtra que celui-
là déclenchera bien l'action désirée?
 Une fois l'action déclenchée, l'utilisateur comprendra-t-il le retour d'information lui
permettant de passer en toute confiance à l'action suivante?
3. L'interprétation des résultats, après l'évaluation :
 Rendre les dispositifs de contrôle plus évidents
 Utiliser des labels/icônes que l'utilisateur saura reconnaître
 Fournir un meilleur feedback
 Mais comment obliger l'utilisateur à penser à une action qui ne lui est pas naturelle?... en
la supprimant !

II.2. Evaluation heuristique


Une heuristique (ou recommandation) est un principe général ou une règle de bon sens qui
permet de choisir entre plusieurs options de conception.
Nielsen et Molich ont dégagé 10 heuristiques générales qui couvrent en pratique tous les
problèmes.
La méthode d'évaluation est composée de deux phases :
 Plusieurs experts en évaluation analysent indépendamment l'IHM en utilisant les 9
heuristiques
 Les problèmes identiques sont rassemblés dans une liste unique puis discutés en groupe
La méthode d'évaluation heuristique n'est pas centrée sur les tâches
1. L'état du système doit être visible.

43
2. Le système doit être le reflet du monde réel.
3. L'utilisateur doit garder le contrôle et être libre
4. Etre cohérent et respecter les standards
5. Prévenir les erreurs
6. Reconnaître plutôt que se rappeler
7. Flexibilité et efficacité
8. Esthétique et minimalisme
9. Aider l'utilisateur à reconnaître, diagnostiquer et réparer les erreurs
10. Aide en ligne et documentation

Conseils de mise en œuvre


Durée d'une session : 1 à 2 heures
 Nombre de sessions : 2
 La première pour avoir une impression d'ensemble de l'interface
 La deuxième pour se concentrer sur des éléments spécifiques de l'interface, sachant
comment ils s'int_egrent dans l'ensemble
 Quand évaluer? A chaque nouveau prototype.
 Si le domaine d'application est spécialisé, l'expert en évaluation
doit être accompagné par un utilisateur averti du domaine
 Document de sortie : la liste des éléments de l'interface défectueux, et pour chaque
élément la description des problèmes avec des références précises aux heuristiques.
Quelle méthode formative utiliser?
 La ballade cognitive est utilisable par des personnes non expertes en évaluation (ex: les
concepteurs) pendant tout le cycle de développement
 L'évaluation heuristique est à faire seulement quand une partie substantielle de l'IHM est
achevée
 L'analyse de tâche est à faire pour améliorer les performances sur une tâche qui sera
réalisée très fréquemment

III. Méthodes sommatives

44
Recueillir les impressions des utilisateurs en dehors de leur activité : questionnaires, forums
et courriers électroniques, lettres d'information et conférences utilisateurs.
Observer les utilisateurs en cours d'activité, mesurer :
 temps d'apprentissage de nouvelles tâches
 vitesse des performances
 mémorisation des commandes au cours du temps
 satisfaction subjective des utilisateurs
Exemple : les utilisateurs seront 35 secrétaires engagées pour le test dans une agence. Elles
n'auront aucune connaissance des traitements de texte, mais sauront taper à la machine à
une vitesse de 35 à 50 mots par minute. Elles seront formées pendant 45 minutes sur les
fonctions de base du traitement de texte. Au moins 30 secrétaires sur 35 devront être
capables de saisir correctement au moins 80% du texte joint.
Précautions à prendre avec l'utilisateur-cobaye :
 Un utilisateur représentatif du public cible
 Mettre en confiance : ce n'est pas l'utilisateur que l'on teste, mais le système
 Garantir l'anonymat

IV. Exemple d’application de l’évaluation heuristique à un site


web
1. L'état du système doit être visible
Où suis-je? Où puis-je aller?
2. Le système doit être le reflet du monde réel
Parler le langage de l'utilisateur et suivre les conventions.
3. L'utilisateur doit garder le contrôle et être libre
Ne pas imposer des contraintes liées à la technique.
4. Etre cohérent et respecter les standards
Les labels des liens et boutons doivent être identiques aux titres des pages auquels ils
renvoient. Cohérences des couleurs (fonds) et des formes.
5. Prévenir les erreurs
Faire un pré-traitement (Javascript) sur la station cliente pour corriger les erreurs grossières
des formulaires.

45
6. Reconnaître plutôt que se rappeler
Pas trop d'informations dans une page (surtout dans les premières). Les liens et les images
cliquables doivent être faciles à trouver.
7. Flexibilité et efficacité
Rendre vos pages faciles à marquer.
8. Esthétique et minimalisme
Pas de décoration superflue. Avoir plusieurs niveaux de détails et pouvoir zoomer dans les
deux sens : On ne lit pas une page Web, on la parcourt (scan).
9. Aider l'utilisateur à reconnaître, diagnostiquer et réparer les erreurs
Tout message d'erreur doit proposer une solution.
10. Aide en ligne et documentation
Ne pas se contenter d'ajouter des pages d'aide, mais intégrer la documentation complète
dans le site, et créer des liens bidirectionnels entre les pages du site et les pages de doc.
Utiliser :
 Des mots surlignés (liens, couleurs, taille, police)
 Des sous-titres significatifs
 Des listes pointées (<UL>)
 Une seule idée par paragraphe (l'utilisateur ne lira pas le paragraphe jusqu'au bout)
 Style « pyramide inversée » : on commence par la conclusion
 Diviser au moins par deux le nombre de mots
Augmenter la crédibilité d'une page :
 Graphiques de bonne qualité
 Ecriture (grammaire, orthographe) de qualité
 Liens vers d'autres sites

46