Le Jeudi 19 Mai 2005 19:11, Julien L. a écrit :
> C'est faisable. Je suis d'accord. Mais à quel prix ? Avec combien de temps
> ? Avec quelle complexité ?

Encore une fois, obtenir quelque chose de qualité ne se fait pas d'un 
claquement de doigt :-) Sommes-nous pressés ? Avons-nous des contraintes 
commerciales ou marketing ? Non. Alors pourquoi ne pas prendre le temps de 
faire les choses calmement ? Un projet libre est le contexte idéal pour faire 
des essais et comparer les différentes techniques utilisables. Et par là-même 
d'enrichir nos connaissances personnelles. Ce sont d'ailleurs les buts 
premiers du projet Nasgaia tels que définis dans la Charte. Alors 
profitons-en :-)

> Avec ce que tu dis, on arrive à un moment au premier cas que j'avais décrit
> : un module fonctionnel pour une interface mais non présent dans les autres
> interfaces.
>
> On se retrouve avec des modules métier écrit par un développeur A. Ce
> développeur A écrit l'interface en curses puis délègue l'interface en GTK2
> à un développeur B et l'interface en Qt à un développeur C. Or, les
> développeurs B et C ne connaissent pas toutes les subtilités de
> fonctionnement du module métier écrit par le développeur A.

Tel que je le conçois, les utilisateurs B et C n'ont absolument pas besoin de 
connaître le fonctionnement interne du composant métier. Seules l'interface 
de communication entre ce composant et l'interface doit être connu, ce qui se 
résume à indiquer les méthodes set* et get* qu'il utilise.

> On finit avec 
> un module fonctionnel avec l'interface en curses et un module
> fonctionnellement bancal avec les interfaces en GTK2 et Qt. On arrive donc
> au deuxième cas que j'avais décrit.

Pour éviter ce genre de problème, il suffit de communiquer. Le développeur A 
annonce qu'il a écrit un nouveau module avec l'interface curses. Le 
développeur B se propose de réaliser l'interface en Gtk+. Il demande à A les 
méthodes set* et get* qu'il utilise, et il peut commencer à coder. Vu comment 
on communique sur la ML, ça devrait aller :-)

> Je ne dis pas que Nsetup n'est pas réalisable en Python/{curses/GTK2/Qt}.
> Cela se fait mais cette solution est d'une complexité sans commune mesure
> avec la solution bash/${DIALOG}. Elle est, selon moi, d'une complexité
> telle qu'elle ne vaut pas les améliorations qu'on pourrait éventuellement
> en tirer. J'écris "éventuellement" parce qu'il est possible d'avoir un plus
> grand risque d'anomalies.

Je pense surtout que la méthode Python nécessite plus de connaissances que la 
méthode Bash/Dialog, et donc ça demande plus de temps pour les acquérir. Mais 
certains traitements peuvent être plus facile à coder en Python qu'en Bash. 
Pour Ncooker, je regrette parfois qu'il n'y ait pas plus de facilité pour 
travailler avec les tableaux et les chaînes de caractères. :-)

++
Gontran

Répondre à