UP PREVIOUS NEXT TOP

1.3 Les 'objets logiciels'

Le matériel informatique détermine les bornes de l'espace que le concepteur explore à la recherche d'un design. Cet espace est vaste et non structuré. Si on considère uniquement la sortie vidéo, l'espace brut du concepteur se constitue des milliards de combinaisons de N points (N = définition d'écran) que l'on puisse former en attribuant à chaque point une couleur parmi les M couleurs possibles (M dépend de la profondeur du pixel). Heureusement, le concepteur dispose d'un ensemble de concepts de plus haut niveau qui lui permettent de structurer cet ensemble de points en objets graphiques: fenêtres, icônes, menus,... La plupart des outils de développement permettent au concepteur de s'exprimer directement au moyen de ces concepts et de ne descendre au niveau du pixel que lorsque les concepts offerts au niveau supérieur ne correspondent pas à ce qu'il cherche. Nous décrivons brièvement les objets les plus communs: Le terme WIMP désigne les interfaces basés sur ces quatre éléments (windows, icons, menus and pointers). D'autres objets sont généralement associés: L'alphabet du concepteur de logiciels interactif comporte en outre un certain nombre d'objets de base dont les propriétés ont été progressivement standardisées: Deux remarques importantes doivent être formulées ici, l'une concerne l'utilisateur novice, l'autre l'utilisateur expérimenté. Le premier éprouve parfois des difficultés à 'penser' son document en termes de ces objets. Par exemple, il n'existe pas d'outil de dessin qui construise un disque avec un large trou au centre. Le dessinateur doit donc penser à créer un disque plein et puis à y superposer un disque blanc. Un autre exemple concerne la difficulté des novices à concevoir un paragraphe comme un objet en tant que tel, avec un certain nombre de propriétés attachées, plutôt que comme une séquence de lignes (séparées par une ligne blanche de la séquence suivante).

A l'opposé, un utilisateur familier maîtrise la manipulation directe et la métaphore du bureau. Par exemple, lorsqu'il déplace une icône fichier d'une fenêtre vers une autre, il se concentre uniquement sur le déplacement du fichier d'un répertoire vers un autre. En réalité, sur le plan informatique, il demande au système d'éteindre et d'allumer certains pixels de telle sorte que l'ensemble des points de l'icône représentant un 'fichier' soient, au prochain balayage de l'écran par le canon à électrons, redessiné un pixel plus a droite, et cela un grand nombre de fois consécutivement. Cependant, grâce à la vitesse du procédé, l'utilisateur a vraiment l'impression de déplacer un objet. Il en arrive facilement à concevoir un curseur ou une fenêtre presque comme des objets physiques, qu'il déplacerait réellement. C'est cette illusion qui définit la manipulation directe. Toutefois, en tant que concepteur, il faut rester conscient que seul le programme traduit les actions de la souris en actions à l'écran. C'est le programme (ou la superposition des couches logicielles) qui définit quels points afficher à l'écran, quels écritures réaliser sur le disque, etc. Le rôle du concepteur est de concevoir ces mécanismes de réponse du système, non de les ignorer.

Voici quelques exemples de mécanismes qui définissent la syntaxe et la sémantique implicites de la manipulation directe:

En réalité, ces mécanismes sont aujourd'hui devenus des 'standards'. D'une part, ils sont fortement intégrés dans l'architecture des systèmes, à un niveau auquel le concepteur ne désire généralement pas intervenir. D'autre part, ils sont devenus part entière de la culture informatique de base et créent de ce fait une inertie semblable à celle du clavier QWERTY. Ce succès remarquable dans l'histoire des interfaces s'explique de deux manières complémentaires. En premier lieu, les métaphores utilisées sont simples et intuitives. Par exemple, ouvrir un objet (double click) exige une intention plus forte que de le désigner (simple click); déplacer un objet peut se percevoir comme 'le garder suspendu', etc... Toutefois, ces conventions conservent - par définition - un caractère arbitraire. Aussi, la seconde raison de leur succès est liée à leur utilisation homogène à travers un grand nombre de programmes (politique imposée par Apple(TM) aux sociétés développant du logiciel pour le Macintosh(TM)).