Guide du développeur Nsetup

Introduction

Notre nouveau Nsetup sera écrit en ruby, un langage de programmation interprêté orienté objet. L’usage du Bash y sera abandonné si ce n’est, éventuellement, pour quelques scripts annexes.

La vocation de notre nouvelle version est d’être multi-interface, c’est à dire adaptée au différents toolkits. Pour l’instant, les deux toolkits dans lesquels implémenter Nsetup sont en priorité GTK2 et Ncurses, mais il sera tout à fait possible de porter Nsetup en Qt et autres toolkits suivant les développeurs disponibles.

Surtout, notre nouveau Nsetup sera entièrement modulaire, avec un protocole de gestion des modules, une uniformisation de leurs interfaces et la possibilité d’ajouter/supprimer des modules de manière dynamique.

Pour parvenir à remplir toutes ces contraintes techniques, nous avons envisagé plusieurs architectures, comme la création d’un bibliothèque d’abstraction graphique Ngui, ou la séparation en Nsetup distinct des différentes interfaces.

La solution que nous avons retenue est celle de Gontran, consistant à mettre dans Nsetup une variante pour chaque interface des modules, partagant la base de leur code en commun. Comme vous le verrez, j’ai ici un peu reaménagé cette solution par rapport à l’originale de Gontran, pour mieux l’adapter selon moi à Nsetup : à vous d’apprécier ou non le bien fondé de ces réaménagements .

Voilà, entrons maintenant dans le vif du sujet :-)

Organisation générale de Nsetup

 Guiguilinux, à toi de jouer
 
guide_dev_nsetup.txt · Dernière modification: 19/10/2005 17:27
 
Recent changes RSS feed Creative Commons License Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki