
- 5 -
I.2 Les GUI-Generators
Ce type de générateur d’interface permet de libérer le programmeur de l’aspect « design ».
Comme il est reconnu que le temps de programmation de l'interface est au moins aussi long
que celui du développement du programme, cela est un grand gain de temps, bien que la perte
de liberté pour le design est néanmoins significatif... Ces générateurs peuvent avoir plusieurs
modes de fonctionnement:
- Fonctionnement par vues : Le générateur prend en entrée deux composants : Les Data
models et les views. C'est à dire une forme de syntaxe des données ainsi qu'une liste de ce qui
doit apparaître dans les différentes vues du programme. (Sans expliciter plus la façon dont ils
doivent apparaître) Par la suite, à chaque vue sera associée une fenêtre dont les composants
internes dépendront du Data Model.
- Fonctionnement par frame : Les frames sont des patterns qui sont préprogrammés dans le
générateur. On déclare donc au préalable ce que l'on désire voir, sous forme d'association
pattern – paramètre, puis le générateur construira une interface via les frames.
- Fonctionnement par Feature Models : Ce dernier fonctionne grâce à la notion d'arbre proche
de celle utilisée par GABI, que nous expliciterons dans le prochain paragraphe. Le générateur
demande en entrée un ensemble de données sous la forme d'arbres. Chaque noeud de l'arbre
est inclus dans le précédent : par exemple, une roue est incluse dans la voiture qui elle même
peut être incluse dans autre chose. C'est en s'appuyant sur cette notion d'arbre que le
générateur construira une interface.
Cette dernière méthode est intéressante car la notion d'arbre permet une adaptation de
l'interface aux données. Cela nécessite toutefois que l'arbre soit pré défini et donné en entrée
ce qui n'est pas notre cas dans G.A.B.I. En dernier lieu, des outils étant des générateurs
« généralistes », conçus par des designers, ils ne sont généralement pas optimisés et des
fonctions simples peuvent parfois s'avérer difficiles à définir.
I.3 Et GABI dans tout ça ?
Les outils précédents fournissent une aide à la production d'éléments d'interface, mais ne
résolvent pas un problème crucial de notre point de vue qui est que ces interfaces doivent être
revues dès qu'une modification a lieu dans le logiciel interfacé. S'ils sont une aide pour une
partie du travail, ils ne suppriment pas forcément le côté fastidieux de la mise à jour d'une
interface. Le risque est grand alors, soit de figer complètement les choses et de limiter les
perspectives d'évolution d'un logiciel, soit de passer un temps considérable dans la gestion de
l'information. Le but de G.A.B.I. est donc de proposer un générateur d’interface permettant de
construire ce même fichier, en s’appuyant directement sur les parseurs devant analyser le
fichier de données