Pourquoi?

 


informatique

Pourquoi Ariane 5 avait-elle explosé en plein vol ?

Plus puissante, moins chère, capable de transporter de plus gros satellites, la petite dernière de la famille Ariane devait permettre à l'ESA de faire la nique aux américains, russes ou encore japonais.

Ariane 5

KOUROU, Guyane. 4 Juin 1996, 37 secondes après le décollage la fusée explose en plein ciel à 4000 m d'altitude. Comment cela a-t-il pu se produire ? Après enquête, les ingénieurs du CNES se sont aperçu que par mesure d'économie, le logiciel de navigation de la fusée Ariane 5 était celui qui avait été conçu pour Ariane 4. Mais cela à suffit pour créer une incompatibilité entre le logiciel et le matériel.

Tout tenait à une seule petite variable : celle allouée à l'accélération horizontale. En effet, l'accélération maximum d'Ariane 4 était d'environ 64, la variable a été codée sur 8 bits. Dans un ordinateur, les informations sont codées dans un alphabet un peu spécial appelé language binaire. Un bit équivaut à une lettre d'un alphabet contenant les deux lettres "0" et "1" ; ainsi tout mot (ou valeur de variable) s'écrit par combinaison de ces deux lettres. Donc un mot de 8 bits s'écrit par une combinaison de 8 lettres, chacune de ces lettres étant soit un "0" soit un "1". En base binaire, cela nous fait 2^8=256 valeurs possibles (256 combinaisons de 8 bits), suffisant pour coder la valeur 64 qui s'écrit 1000000 et nécessite 8 bits. Mais voilà, Ariane 5 était plus véloce : son accélération pouvait atteindre la valeur 300 (qui vaut 100101100 en binaire et nécessite 9 bits). Ainsi, la variable codée sur 8 bits a connu un dépassement de capacité puisque son emplacement mémoire n'était pas assez grand pour accepter une valeur aussi grande, il aurait fallu la coder sur un bit de plus, à savoir 9, ce qui nous aurait fait 2^9=512 comme valeur limite, alors suffisant pour coder la valeur 300. De ce dépassement de capacité, a résulté une valeur absurde dans la variable, ne correspondant pas à la réalité. Par effet domino, le logiciel face à des valeurs vraiment pas normales décida de l'autodestruction de la fusée.

Un tel bogue informatique a coûté plus d'un milliard de Francs. Il aurait pu être évité si les ingénieurs avaient révisés tous les logiciels. Avoir décidé de faire cette économie leur a coûté très cher.



Précédent Introduction Version imprimable Suivant

index