La stratégie de développement du bootstrap mérite une petite explication.
Ce « petit » morceau de code unique de quelques 6500 lignes aujourd’hui a pour rôle de recherche et charger la bibliothèque nebule et l’application demandée par l’utilisateur.
Son interface est sommaire, spartiate. L’utilisateur moyen n’a pas beaucoup de raison de s’y aventurer en temps normal. Si le bootstrap apparaît c’est sûrement pour un problème grave…
Son code résulte de la tension forte entre le besoin d’une code de démarrage unique des applications et le besoin récurrent de mise à jour en cas de faille.
Pour cela il intègre une bibliothèque réduite et limité de nebule afin de pouvoir manipuler les objets et liens en provenance uniquement des entités autorités. Ensuite, une fois l’application chargée, c’est le code de la bibliothèque complète qui est utilisée, mais celle-ci est tenu à jour en recherchant toujours la dernière version disponible. Et il en est de même pour les différentes applications.
Le code du bootstrap a été fait en programmation procédurale (dit libpp) afin qu’il n’y ai pas de confusion avec le code de la bibliothèque complète en programmation orientée objet (dit libpoo).
Afin de pouvoir être d’une certaine utilité en cas de problème, le bootstrap intègre trois toutes petites applications :
- app 0 : sélection de l’application à lancer pour l’utilisateur.
- app 1 : documentation nebule.
- app 2 : application par défaut, ne fait rien que d’afficher une page simple.