Tout le monde a déjà perdu du travail à cause d'un problème inopiné d'ordinateur. Un bug n'était évidemment pas acceptable pour les missions Apollo, les premières pour lesquelles la navigation et la vie des astronautes ont été confiées à un ordinateur. Malgré des signaux d'alarme passés à la postérité pour avoir fait palpiter le coeur de Neil Armstrong durant la descente vers la Lune, l'ordinateur d'Apollo a réalisé un sans faute et posé les jalons de la navigation aérienne et des systèmes d'exploitation modernes. Voici comment l'ordinateur d'Apollo, appelé en anglais Apollo Guidance Computer (AGC), a façonné le monde d'aujourd'hui, bien qu'étant des millions de fois moins puissant qu'un smartphone de 2019.

La révolution des puces

Des circuits intégrés indispensables à la miniaturisation de l'ordinateur embarqué dans les modules spatiaux (Smithsonian National Air and Space Museum/AFP - HO)

Les circuits intégrés, ou puces électroniques, étaient essentiels à la miniaturisation requise pour que les ordinateurs puissent physiquement être embarqués à bord de capsules spatiales, au lieu des encombrants ordinateurs à tubes qui les précédaient. La Nasa n'a pas inventé la puce électronique -- l'honneur en revient à Jack Kilby (Texas Instruments) et à Robert Noyce, cofondateur de Fairchild Semiconductor et d'Intel.

Mais la Nasa, avec l'armée américaine qui avait besoin de puces pour guider ses missiles balistiques pointés vers l'URSS, ont accéléré leur développement en générant une énorme demande. "Ils exigeaient un niveau absolument dingue et inimaginable de fiabilité", dit à l'AFP Frank O'Brien, historien des vols spatiaux et auteur d'un livre de référence sur l'ordinateur d'Apollo.

Au début des années 1960, la Nasa et le Pentagone ont acheté un million de puces, selon l'historien, poussant les fabricants à produire des puces à la durée de vie bien plus longue que les quelques heures de leur origine.

Multitâches

Photo non datée de Margaret Hamilton, membre du laboratoire Draper, qui travailla sur l'ordinateur Apollo (Smithsonian National Air and Space Museum/AFP - HO)

Les ordinateurs modernes et les smartphones savent gérer des myriades de tâches simultanées : messageries, plans GPS, applications... A l'inverse, les premiers ordinateurs "n'avaient pas énormément de choses à faire, ils étaient là pour faire des calculs et remplacer les humains qui les auraient faits sur des calculettes mécaniques", dit Seamus Tuohy, directeur des systèmes spatiaux chez Draper, société issue du laboratoire d'instrumentation du MIT, où la machine Apollo a été conçue.

Tout cela a commencé à changer avec l'ordinateur Apollo. Il faisait la taille d'une mallette et devait, lui, jongler avec une multitude de tâches vitales : la navigation, la gestion de l'oxygène, de la température ou encore des appareils de filtrage du dioxyde de carbone, pour que les astronautes puissent respirer un air sain.

Contrairement aux premiers ordinateurs, où l'opérateur humain donnait à la machine une série de calculs à faire et attendait le résultat (parfois pendant des jours), l'ordinateur Apollo n'avait pas le luxe du temps, alors que le vaisseau filait vers la Lune. Il devait aussi être capable de recevoir des commandes des pilotes en temps réel.

La Nasa voulait aussi un ordinateur autonome car l'agence avait peur que les Soviétiques ne brouillent les communications entre l'équipage et le centre de contrôle au sol. Tout cela nécessitait donc une "architecture" informatique, conçue principalement par l'ingénieur Hal Laning.

Temps réel

Les ingénieurs de la Nasa voulaient aussi passer à l'étape supérieure, par rapport aux cartes à trous des ordinateurs primitifs. Ils ont donc inventé trois éléments-clés: les interrupteurs qu'on retrouve à ce jour dans les cockpits des avions; un joystick commandant pour la première fois le système par voie électronique; et une sorte de clavier appelé DSKY ("display and keyboard"), révolutionnaire pour l'époque. Sur ce clavier, les astronautes pouvaient taper des codes à deux chiffres pour former des commandes du type "verbe + nom": par exemple, "allumer les propulseurs" ou "se fixer sur telle étoile".

Frank O'Brien compare cela à ce qu'un touriste parlant mal anglais dirait aux Etats-Unis : "manger pizza".

Clavier et écran de l'Apollo Guidance Computer dans le module de commande. Crédit : domaine public

Test réussi

Alors que le module lunaire avec Neil Armstrong et Buzz Aldrin descendait vers la Lune, l'alarme de l'ordinateur Apollo a retenti à plusieurs reprises, donnant l'impression qu'il avait... planté. Si cela avait été le cas, le module n'aurait plus pu évaluer son altitude, sa vitesse et sa trajectoire. Un crash aurait été probable.

Mais à Houston, au sol, les ingénieurs de la Nasa ont vite compris que l'ordinateur était seulement saturé d'informations. Tous les systèmes fonctionnaient bien en réalité. Mais grâce à une programmation astucieuse, l'ordinateur avait automatiquement allégé sa charge et suspendu certaines tâches, pour prioriser les fonctions essentielles pour alunir.

"Le comportement de l'ordinateur face à la saturation fut une véritable percée", dit Paul Ceruzzi, spécialiste de l'électronique aérospatiale au Smithsonian Institute. L'historien Frank O'Brien souligne que le vrai calibre de l'ordinateur Apollo dépasse sa capacité de mémoire, ridicule par rapport aux standards actuels: 38 kilo-octets. "Avec cette capacité très faible, ils ont réalisé des choses incroyables qui nous semblent aujourd'hui normales", dit-il.