J'en ai profité pour revoir complètement le noyau (le moteur quoi), et j'ai trouvé un truc simple mais fonctionnel pour implémenter un système de rollback (en gros on peut reprendre à n'importe quel endroit, refaire certaines parties, nettoyer jusqu'à un certain point, etc..)

C'est assez prometteur et je m'en félicite :-) Bien que cela ait un peu compliqué le code principal, ça m'a permit de mieux l'arranger (par exemple, toute l'initialisation est confinée dans un script). J'ai également fait une mini-vérification du système hôte au démarrage pour être sûr que tous les outils dont Ngadkm a besoin sont présents.

Je n'ai toujours pas mis ça sur svn, j'attends d'être arrivé au même endroit dans cette nouvelle implémentation que ce qu'il y a dessus. Pour les intéressés, ne vous inquiétez pas, ça devrait venir assez vite maintenant.

Pour vous mettre l'eau à la bouche, voilà une petite capture de la sortie terminal (on peut choisir ses couleurs selon ses préférences), qui ne fait pas grand, mais montre à quoi ça va ressembler, et permet de voir le principe du rollback.

Un premier jet.

La première commande a échoué, car j'avais mal terminé un script, cela permet de voir les messages d'erreur bien flashy :-)

Le deuxième essai est plus sympa, car on voit déjà que Ngadkm sait attendre des choses de la ligne de commande, pour ... le commander. L'option -d active le mode debug (messages affichés en cyan). Le premier paramètre demande de reconstruire ce qui a déjà été fait, mais en ne commençant qu'à partir de l'étape create-tmpsys (ne touche pas la première étape prepare-tmpsys). On peut donc réellement contrôler et l'affichage et le comportement de Ngadkm.