Note de la rédaction : Cet article fait partie d’une série de réflexion sur la mission Apollo 11, 50 ans plus tard.
Sans les ordinateurs à bord du vaisseau spatial Apollo, il n’y aurait pas eu d’alunissage, pas de premier pas triomphant, pas de point culminant pour les voyages spatiaux humains. Un pilote n’aurait jamais pu naviguer jusqu’à la lune, comme si un vaisseau spatial était simplement un avion plus puissant. Les calculs nécessaires pour effectuer les ajustements en vol et la complexité des commandes de poussée dépassaient les capacités humaines.
L’ordinateur de guidage Apollo, sous ses deux formes – l’une à bord du vaisseau spatial central, l’autre sur le module lunaire – était un triomphe de l’ingénierie. Les ordinateurs avaient été de la taille d’une pièce et remplis de tubes à vide, et si l’ordinateur Apollo, avec ses 70 livres, n’était pas encore exactement miniature, il a amorcé « la transition entre les gens qui se vantent de la taille de leurs ordinateurs… et ceux qui se vantent de la taille de leurs ordinateurs », a plaisanté un jour l’historien de l’aérospatiale et de l’informatique du MIT, David Mindell, lors d’une conférence.
Les tendances que cet ordinateur annonçait n’ont cessé de filer, de manière exponentielle, pendant des décennies : Du grand au petit, des tubes à vide au silicium, du matériel au logiciel. Aujourd’hui, si vous comparez la puissance de calcul utilisée par la NASA avec n’importe quel appareil courant, d’une montre à une carte de vœux en passant par un micro-ondes, cela provoque un vertige technologique. Michio Kaku, physicien et auteur populaire, l’a exprimé ainsi : « Aujourd’hui, votre téléphone portable a plus de puissance informatique que l’ensemble de la NASA en 1969, lorsqu’elle a placé deux astronautes sur la lune »
Mais ces dictons masquent la puissance réelle de l’ordinateur d’Apollo. Bien sûr, tout appareil contemporain a une capacité de calcul brute largement supérieure à celle de la première machine, mais l’ordinateur d’Apollo était remarquablement capable, fiable et à la hauteur de la tâche qui lui était confiée. Vous ne pourriez pas réellement guider un vaisseau spatial vers la lune avec une sonnette intelligente.
Plus dans cette série
Lisez : Que signifiera l’alunissage pour l’avenir ?
Pour comprendre l’importance du système Apollo et pourquoi sa minuscule puissance de traitement brute n’est pas pertinente, il suffit d’écouter le programmeur informatique OG et historien bénévole de la NASA Frank O’Brien, qui a passé sa vie à détailler avec amour les fonctions de l’ordinateur de guidage Apollo. Le père d’O’Brien était pilote, Frank est donc devenu un enfant de militaire. Il s’est intéressé aux ordinateurs dès son plus jeune âge, et lorsqu’un vieil ami de son père a gravi les échelons à la NASA, il est entré en possession des manuels techniques qui régissaient le fonctionnement de l’ordinateur.
« À 13 ans, je reçois une boîte à Noël, d’environ deux pieds de côté, pesant un million de livres », m’a dit O’Brien. « Je l’ouvre, et il y avait tous les manuels techniques sur Apollo. Vous aviez des tonnes et des tonnes d’enfants qui regardaient des Playboy ; je lisais sur les ordinateurs de guidage. »
Depuis lors, il a passé d’innombrables heures à apprendre précisément comment ces machines fonctionnaient. Même à l’adolescence, il pouvait piloter le simulateur Apollo de la NASA. À l’âge adulte, après avoir obtenu un diplôme en informatique et travaillé longtemps comme programmeur en entreprise, il a écrit le livre The Apollo Guidance Computer, une ode à la machine.
L’ordinateur de guidage d’Apollo dans le module de commande avait deux tâches principales. D’abord, il calculait la trajectoire nécessaire vers la lune, calibrée par les mesures astronomiques que les astronautes effectuaient en vol, avec un sextant qui n’est pas sans rappeler celui utilisé par les navigateurs océaniques. Ils alignaient la lune, la Terre ou le soleil d’un côté, et fixaient la position d’une étoile de l’autre. L’ordinateur mesurait précisément ces angles et recalculait sa position. Deuxièmement, il contrôlait les nombreux composants physiques de l’engin spatial. L’AGC pouvait communiquer avec 150 dispositifs différents à l’intérieur du vaisseau spatial – une tâche extrêmement compliquée. « Il possède des dizaines de propulseurs et toutes sortes d’interfaces, ainsi qu’une plate-forme de guidage et le sextant », explique O’Brien. « Vous commencez à additionner tous ces éléments et vous vous dites, sacré cannoli. C’est vraiment capable. »
Conceptuellement, le laboratoire d’instrumentation du MIT, qui a conçu le système, l’a construit sur la base du travail qu’il avait effectué pour le système de missiles guidés Polaris, conçu pour lancer des armes nucléaires depuis les sous-marins américains. Le matériel de l’ordinateur Apollo, comme Mindell l’a noté, était assez bien compris « dans le monde de l’avionique militaire ».
Sa construction a dominé le projet au début – le laboratoire a fortement sous-estimé la complexité de la tâche d’ingénierie logicielle. Pendant des années, jusque dans les années 1970, les programmeurs utilisaient encore des cartes perforées pour coder. Mais la nécessité d’avoir les astronautes d’Apollo et les ingénieurs de la NASA « dans la boucle », pour prendre des décisions, exigeait un type de logiciel différent. Il devait y avoir une interface. De multiples opérations devaient fonctionner en même temps.
Lire : La montre qui est allée sur la lune
La concentration initiale sur le matériel a verrouillé ce que O’Brien a appelé une « architecture primitive » tout en ouvrant un espace pour Margaret Hamilton, une femme dans le programme Apollo fortement masculin, pour diriger la conception du logiciel. Lorsqu’il est apparu clairement que c’était dans le logiciel que la mission se déroulerait, l’équipe d’Hamilton s’est élargie pour atteindre 350 personnes à son apogée. Le système qu’ils ont construit était remarquablement avancé.
Pour maximiser l’architecture intégrée, Hamilton et ses collègues ont mis au point ce qu’ils ont appelé « The Interpreter » – que nous appellerions aujourd’hui un schéma de virtualisation. Il leur permettait d’exécuter cinq à sept machines virtuelles simultanément dans deux kilo-octets de mémoire. C’était terriblement lent, mais « maintenant vous avez toutes les capacités dont vous avez toujours rêvé, en logiciel », a déclaré O’Brien.
Les astronautes communiquaient avec l’ordinateur par le biais du DSKY, abréviation de « display and keyboard ». Ils tapaient des chiffres et obtenaient des réponses. Il n’est pas facile de décrire le système d’interface utilisateur, mais il reposait sur une série de codes de programme, ainsi que sur des codes « verbes » et « noms ». Les verbes étaient des choses que l’ordinateur pouvait faire (« 78 UPDATE PRELAUNCH AZIMUTH »). Les noms étaient des quantités numériques ou des mesures (« 33 TIME OF IGNITION »). On était loin de la simplicité du « pointer-cliquer ».
La plupart de la mémoire du système avait été tissée, littéralement, sur la mémoire des cordes, mais certaines pouvaient être écrites, à la fois par les astronautes et à distance depuis le contrôle de mission. La prouesse la plus brillante en matière d’ingénierie logicielle a sans doute été le logiciel conçu par J. Halcombe Laning qui hiérarchisait les tâches de calcul du système.
Ceci s’est avéré être une avancée salvatrice pour la mission Apollo 11. Alors que le module lunaire descendait, le bruit d’un de ses radars a commencé à alimenter le système en mauvaises données. L’ordinateur de guidage a compris qu’il avait un problème, mais a pu rester fonctionnel tout au long de la descente, rejetant les mauvaises informations et poursuivant ses opérations plus importantes, sauvant ainsi la mission.
Le récit populaire de ce moment – à l’époque et encore aujourd’hui – soutient que l’ordinateur avait des problèmes et que Neil Armstrong, prenant le contrôle « manuel », a piloté le vaisseau spatial jusqu’à la surface de la lune. Les humains l’ont fait ! Les ordinateurs ne nous arrivent pas à la cheville !
Mais l’atterrisseur lunaire était un système de vol par câble. Toute commande donnée par Armstrong devait passer par l’ordinateur. Il est donc probablement plus exact de dire que lorsque Armstrong s’est posé sur la lune, il a dit à l’ordinateur où toucher le sol. Il n’y avait pas de contrôle manuel utilisable ; le véritable triomphe était la flexibilité de l’interaction homme-ordinateur.
Les historiens tels que Mindell, qui a modélisé la descente sur une base seconde par seconde, n’accordent pas beaucoup de crédit à la nécessité des actions d’Armstrong. Il avait toujours besoin de l’ordinateur pour contrôler le vaisseau. « S’il avait été réglé sur l’atterrissage automatique, il serait descendu de toute façon, avec moins de bruit, mais peut-être au milieu d’un champ de rochers », conclut Mindell. L’histoire des prouesses humaines était presque un parfait renversement de la réalité.
Compte tenu de tout cela, il n’est peut-être pas surprenant qu’O’Brien prenne ombrage de l’idée qu’un micro-ondes ou une calculatrice puisse être considéré comme « aussi puissant » que l’ordinateur d’Apollo.
« Comment définissez-vous la puissance ? » demande O’Brien. « C’est formidable de dire : ‘Cette machine est si puissante’. Qu’entendez-vous par là ? »
Pour lui, il ne s’agit pas du nombre brut de transistors, mais de la machine adaptée à la mission. La capacité, pas la puissance. « Nous devions aller sur la lune, en descendre et en revenir, de manière autonome. Ils ont atteint leurs objectifs : être précis après un quart de million de miles, atteindre une cible à moins de 500 à 600 pieds et à un dixième de pied par seconde », a déclaré O’Brien. « Et vous vous dites : ‘Ma montre est plus puissante’. Non, elle ne l’est pas. »
La leçon, peut-être, est simple : Si votre téléphone est tellement plus puissant que les ordinateurs qui ont mis l’humanité sur la lune, alors pourquoi vous regardez Instagram toute la journée ? Le calcul est un moyen, pas une fin.