Comment une conversion de nombre ratée a-t-elle détruit la première Ariane 5 en plein vol ?
Pour son vol inaugural le 4 juin 1996 depuis Kourou, la toute nouvelle fusée européenne Ariane 5 se désintègre 37 secondes après le décollage. En cause : un logiciel de guidage repris tel quel d’Ariane 4, où la conversion d’une valeur de vitesse en nombre entier sur 16 bits dépasse sa capacité et déclenche une correction de trajectoire catastrophique. Les quatre satellites Cluster de l’Agence spatiale européenne sont perdus.
Le contexte
Développée par l’Agence spatiale européenne et Arianespace pour succéder à la famille Ariane 4, dont le dernier exemplaire ne volera qu’en 2003, la nouvelle Ariane 5 doit placer en orbite des charges utiles bien plus lourdes grâce à une poussée largement supérieure à celle de ses devancières. Le 4 juin 1996 à 12h34 UTC, elle décolle pour la première fois depuis le pas de tir ELA-3 du Centre spatial guyanais à Kourou, avec à son bord les quatre satellites Cluster de l’Agence spatiale européenne, conçus pour étudier en formation la magnétosphère terrestre. Pour gagner du temps de développement, une partie du logiciel du Système de Référence Inertielle (SRI), chargé de calculer l’attitude et la trajectoire de la fusée, est directement reprise du code déjà validé et éprouvé d’Ariane 4, sans être entièrement revérifiée au regard des performances de vol très différentes du nouveau lanceur.
L’erreur
Parmi les valeurs que ce module logiciel continue de calculer par précaution, même après le décollage, figure la composante horizontale de la vitesse de la fusée, exprimée en nombre à virgule flottante sur 64 bits puis convertie en nombre entier signé sur 16 bits, une capacité maximale de 32 767. Or Ariane 5 accélère nettement plus vite qu’Ariane 4 sur sa trajectoire initiale, si bien qu’à T+36,7 secondes cette valeur dépasse largement ce plafond : la conversion provoque un débordement (overflow) qui déclenche une exception logicielle non gérée. Le calculateur principal s’arrête net et bascule vers son unité de secours, strictement identique et exécutant le même code — qui rencontre l’instant d’après exactement la même erreur et s’arrête à son tour. Privé de ses deux systèmes de référence inertielle, le calculateur de vol interprète alors des données de diagnostic brutes envoyées par le SRI comme s’il s’agissait de véritables informations de trajectoire, et ordonne une correction d’attitude extrême et injustifiée.
La chute
Soumise à des angles d’attaque aérodynamiques bien au-delà de ce qu’elle peut supporter, la fusée commence à se disloquer en vol dès T+39 secondes ; le système de sauvegarde du champ de tir déclenche alors l’autodestruction pour éviter tout risque au sol. L’intégralité du lanceur et sa charge utile, les quatre satellites Cluster, sont détruits en quelques secondes au-dessus de l’océan Atlantique, sous les yeux des équipes de contrôle et des invités présents pour ce vol inaugural très attendu. Une commission d’enquête indépendante, présidée par le mathématicien français Jacques-Louis Lions, remet son rapport dès le mois suivant : elle établit que la variable en cause n’avait aucune utilité opérationnelle après le décollage et qu’elle aurait pu être neutralisée sans aucun risque, mais que personne n’avait revérifié cette hypothèse de conception héritée d’Ariane 4 dans le contexte de vol du nouveau lanceur.
Les conséquences
La perte totale de la mission, lanceur et satellites compris, est estimée à plus de 370 millions de dollars, un coup dur pour un programme européen qui devait justement démontrer sa fiabilité face à la concurrence américaine et russe. Le rapport Lions recommande une revue exhaustive de toutes les hypothèses de conception du logiciel de vol, un traitement systématique des exceptions plutôt que des arrêts non gérés, et des essais en conditions représentatives du vol réel plutôt qu’une simple réutilisation de code jugé fiable par ailleurs. Arianespace suit scrupuleusement ces recommandations avant le vol suivant, qui a lieu en octobre 1997 et se déroule sans incident majeur.
Et depuis ?
Ariane 5 devient ensuite l’un des lanceurs les plus fiables au monde, effectuant plus de cent missions jusqu’à sa retraite en 2023, dont le lancement du télescope spatial James Webb fin 2021. L’Agence spatiale européenne reconstruit intégralement la mission Cluster, relancée en quatre exemplaires depuis Baïkonour à bord de fusées russes Soyouz en 2000 sous le nom de Cluster II, toujours en service pour l’étude de la magnétosphère plus de deux décennies plus tard. Le vol 501 reste aujourd’hui l’un des cas d’école les plus cités dans l’enseignement du génie logiciel pour illustrer les dangers de la réutilisation de code sans revérification complète des hypothèses de départ, et le rôle critique d’une gestion rigoureuse des exceptions dans les systèmes embarqués critiques.
Sources
- Vol 501 d’Ariane 5 — Wikipédia
- Ariane flight V88 — Wikipedia
Histoires liées



