NoWayOS
FR
GitHub
MenuFermer

13 novembre 2026

Le secours qui n’était pas une copie

Apollo 11 emportait deux systèmes de guidage bâtis sur des principes différents, et a eu besoin des deux. Ariane 5 en emportait deux identiques, et une seule faute a arrêté les deux. Cette différence porte un nom, et NoWayOS est construit pour se trouver du bon côté.

Tout le monde sait qu’il faut un système de secours. Moins nombreux sont ceux qui posent la question gênante qui suit : un secours de quoi, au juste ?

Cinq alarmes

Le 20 juillet 1969, le module lunaire d’Apollo 11 était à quelques minutes de la surface de la Lune quand son ordinateur de guidage a déclenché une alarme sur laquelle l’équipage a dû interroger le centre de contrôle. Puis une autre. Cinq en tout, dans la dernière partie de la descente.

L’ordinateur était surchargé. Ce qu’il a fait ensuite compte parmi les grandes réussites d’ingénierie de cette histoire : à chaque fois, il a redémarré, abandonné le travail qui pouvait attendre et repris aussitôt celui qui ne le pouvait pas. L’alunissage s’est poursuivi.

C’est la partie que tout le monde raconte. Celle qui mérite d’être racontée ensuite s’est produite le lendemain.

Le second système

Le module lunaire emportait un second système de guidage, et ce n’était pas une copie de rechange du premier. Une autre entreprise l’avait construit, sur un autre principe. Le système principal gardait ses repères grâce à une plateforme qui pivotait librement sur des cardans. Le second n’avait pas de cardans du tout : ses capteurs étaient fixés directement au vaisseau, et il déterminait où était le haut par le calcul.

Il était là pour ramener l’équipage en orbite si le système principal venait à s’arrêter. Pendant l’alunissage, on n’a pas fait appel à lui.

Puis, lors de la remontée pour s’amarrer au module de commande, une série de manœuvres a amené la plateforme du système principal dans la seule position qu’une plateforme à cardans ne supporte pas, et il a perdu sa référence d’attitude. L’équipage est passé sur le second système pour stabiliser le vaisseau, et s’est amarré.

Le second système n’aurait pas pu tomber en panne de la même façon. Il n’avait pas la pièce.

Deux fois le même

Voici maintenant l’autre histoire. En 1996, la première Ariane 5 a décollé avec deux centrales de référence inertielle pour lui dire dans quelle direction elle pointait : l’une active, l’autre en réserve. Elles étaient identiques, jusqu’au logiciel.

Trente-sept secondes après le décollage, un nombre, dans ce logiciel, est devenu trop grand pour la place qui lui était réservée. La centrale en réserve s’est arrêtée. La centrale active, qui exécutait le même code sur le même vol, s’est arrêtée elle aussi. Le rapport de la commission d’enquête est public, et il est sans détour : il n’y avait rien vers quoi basculer, parce que le secours avait déjà suivi le même chemin.

Deux copies. Une faute. Plus rien.

Comment les ingénieurs l’appellent

Une faute qui emporte ensemble un système et son secours est une défaillance de cause commune. La parade est la redondance diversifiée : un second système construit assez différemment pour que ce qui arrête le premier ne se trouve pas dans le second.

La navette spatiale volait ainsi. Quatre de ses ordinateurs de vol exécutaient le logiciel d’une entreprise ; le cinquième exécutait un logiciel écrit séparément par une autre. Quatre copies vous protègent d’un ordinateur qui tombe en panne. Elles ne vous protègent pas d’un programme qui est faux, parce que les quatre l’exécutent.

Cela a un coût. Le premier lancement de la navette a été annulé parce que le cinquième ordinateur et les quatre autres n’arrivaient pas à s’accorder sur l’heure. Deux conceptions demandent plus de travail qu’une, et il faut les faire se rejoindre.

Où NoWayOS entre en scène

La plupart des appareils dédiés tournent aujourd’hui sur l’un d’un très petit nombre de systèmes d’exploitation généralistes. Leurs secours aussi. Quand un défaut apparaît dans un moteur de navigateur, un bureau ou un noyau de dizaines de millions de lignes, ou quand une mauvaise mise à jour est diffusée, il apparaît partout où ce logiciel tourne, le même jour.

Un appareil NoWayOS est différent en profondeur. Son noyau est seL4, environ 10 000 lignes. Tout ce que nous avons écrit au-dessus est en Rust. Il n’a ni moteur de navigateur, ni bureau, ni shell ; un défaut dans l’un d’eux ne s’y trouve donc pas.

NoWayOS n’a donc pas besoin de remplacer ce que vous exploitez pour être utile. Il peut se tenir à côté : une seconde façon d’accomplir une tâche essentielle, bâtie sur un autre principe.

Ce qu’il ne fait pas

La diversité a des limites, et nous préférons que vous les appreniez de nous.

Elle donne à un appareil NoWayOS des fautes différentes, pas une absence de fautes. Elle ne fait rien pour ce que deux systèmes partagent : l’alimentation, le réseau, les services derrière eux, ou une erreur sur ce que la tâche devait être. Et certaines des briques open source de NoWayOS sont aussi utilisées dans d’autres logiciels ; c’est pourquoi chaque image énumère chaque composant qu’elle contient, pour que vous puissiez lire ce qu’elle a en commun avec le système d’à côté.

NoWayOS est en développement : c’est donc un rôle pour lequel il est conçu, pas un rôle qu’il a déjà tenu. La page Sécurité dit sur quoi il repose.

Les ingénieurs d’Apollo n’ont pas emporté un second système parce qu’ils s’attendaient à ce que le premier tombe en panne. Ils l’ont emporté parce qu’ils ne pouvaient pas prouver qu’il ne tomberait pas en panne, et ils ont veillé à ce que ce qui arrêterait le premier ne trouve rien de familier dans le second.