Bonjour tout le monde ;-p

J'ai pu constater que beaucoup au sein de Nasgaia,
est surtout dans l'équipe Nsetup, nageait quand il s'agissait
de comprendre l'architecture prévue pour la prochaine version...

Je souhaite donc dans ce mail refaire le point sur ce qu'il
en est à l'heure actuelle, mais surtout vous proposer une nouvelle solution
qui nous plairait à Azmodai et moi, et qui augmenterait la
flexibibilité de Nsetup
dans des proportions inégalées. Cette approche avait été aussi proposées
par riri, qui se fait hélas remarquer par son silence ces temps-ci,
qui l'avait proposé à une époque et qui nous l'aurait sans doute
déjà réexposée sur la mailing list s'il avait pu :-)

En l'état actuel, nous savons déjà quelques petites choses
sur ce que sera notre prochain Nsetup:
- Il sera modualaire
- Il aura au moins des interfaces GTK2 et curses

Jusqu'a présent, nous aonv envisagé deux solutions pour tenir ce
"cahier des charges": une de gontran, et une de Leif...
Je dois recoannaitre qu'aucune des deux ne pas convaincu,
car elles ont leurs limites et leurs rigidité...

J'ai donc imaginé (ou repris sur riri :D ),
une troisième solution. Pour comprendre son principe,
le plus simple est de prendre l'exemple de Debian,
avec son gestionnaire de paquet apt-get.

apt-get est l'utilitaire de base, qui fonctionne en ligne de commande,
et fournit les actions de bases: ajout, suppression, mise à jour de paquets...

Il est exploité par plusieurs interfaces, comme Synaptic (gtk2),
Kynaptic (Qt) et Kpakage l'utilisent tout en étant des programmes distincts,
pouvant etre ecrits sans ce soucier du langage utilisé pour apt-get
et en en utilsant les fonctions.

C'est ainsi que je verrais le nouveau Nsetup:

Nsetup proprement dit, s'utiliserait en ligne de commande
et fournirait des commandes pour ajouter, charger ou supprimer
un module, ou encore pour autodectecter le materiel...
écrit en ruby, mais pas forcémént, ce choix n'ayant guère d'inportance,
puisqu'il serait utilisé en ligne de commande...

Et Nsetup-gtk2, Nsetup-curses, etc... qui utiliseraient
ce Nsetup en ligne de commande et lui fourniraient
dans une interface graphique, avec des menus, des listes,
des boutons, etc... Ces frontaux pourraient etre ecrits en ruby, en python,
en C, en bash, en Java.... tout ce que vous voulez, et seraient des
programmes distincts basés sur notre Nsetup en ligne de commande...

"Cela rajoute une couche de complexité", me direz vous peut-être.
Non, car le débutant utilisera <nsetup en graphique,
et n'utilisera pas Nsetup "directement" en ligne de commande.

Mais par contre des cripts pourront l'utiliser,
ou d'autres programmes via le réseau notamment: il deviendrait possible
de controler Nsetup via ssh, ou tout autre protocole, au moyen de
n'importe quelle
type de solution...

Nopus y gagnerions énormément en flexibilité, tout comme en liberté
pour le developpeur, et pourrions arriver ainsi à un utilitaire
vraiment puissant,
car à utilisation universelle: quoi de plus portable que la ligne de commande ?

Personnelement, cette solution me semble la meilleur pour
notre prochain Nsetup, tout comme à Azmodai...
Après, nous attendons vos avis sur la question,
mais je vais commencer à expérimenter ce que cela peut donner
sur le SVN...

@++
guiguilinux

Répondre à