gruntnetwork.com/historique/page/Interface Homme-2dMachine/4/source.txt

27 lines
3.2 KiB
Plaintext

page
= Interface Homme-Machine =
== Interface orientée document ==
L'Interface Homme-Machine (IHM) de gruntnetwork est orientée document. Cela signifie que l'élément principal présenté à l'utilisateur est le document, autour duquel viennent se greffer des outils.
Dans la plupart des sytèmes actuels, on présente à l'utilisateur la possibilité de lancer divers processus directement (via un menu d'applications), ou bien de lancer ces mêmes processus avec une certaine donnée en entrée (l'ouverture d'un fichier via son icône passe obligatoirement par le démarrage d'un processus, qui décide que faire de ce fichier). Cette approche présente plusieurs défauts :
* Lorsque le processus plante, tous ses documents sont perdus ;
* Intuitivement, l'utilisateur a l'impression d'avoir ouvert un document, alors qu'en réalité il vient de démarrer une application. L'utilisateur a donc une vision erronnée du système, ce qui est en général mauvais, car moins il comprend le système, moins il est efficace ;
* Des mécanismes complexes de dialogue entre applications sont nécessaires pour l'édition de documents composite (OLE, Kpart, …) ;
* Si l'application ne sait pas gérer un certain protocole (http, ouverture de fichiers à l'intérieur de fichiers compressés, …), elle ne pourra pas ouvrir les documents accessibles via ce protocole. L'environnement de bureau KDE apporte une solution en permettant le partage de ces protocoles via les KIOSlaves.
Une approche orientée document apporte des solutions à ces problèmes :
* Lorsqu'un des outils greffés autour du document plante, il suffit de le redémarrer. Et quand bien même cela serait impossible, ou si c'est le programme chargé de l'affichage du document qui plante, il est toujours possible de proposer à l'utilisateur d'enregistrer son document pour éviter des pertes de données.
* L'édition de documents composites se fait sans encombre : selon la portion du document considérée, les outils qui viennent se greffer changent.
* Les outils ne gèrent pas l'ouverture du document, on a des blocs différents pour le chargement en mémoire, le décodage, la visualisation, la modification, l'encodage et l'enregistrement, chacun fonctionnant indépendemment des autres.
== Génération semi-automatique ==
L'Interface Homme-Machine (IHM) de gruntnetwork est générée semi-automatiquement à partir d'une spécification déclarative. Cette spécification indique au système quelles sont les informations qui sont les plus importantes (et donc devraient être affichées à l'écran), quelles sont les informations secondaires (accessibles par exemple au travers d'une boîte de dialogue de propriétés), etc.
De même, cette spécification liste les actions qu'il est possible d'effectuer, les plus importantes s'affichant sous forme d'icône par exemple, les autres étant rangées dans des menus ou bien accessibles via des raccourcis clavier.
Plusieurs spécifications peuvent coexister, ce qui permet d'avoir très facilement des interfaces différentes pour les utilisateurs expérimentés et les novices. On peut aussi imaginer une spécification d'interface actualisée dynamiquement en fonction des actions les plus fréquentes de l'utilisateur.