Moins de 100 Ko de mémoire et une fréquence d’horloge de seulement 1,024 MHz. L’espace mémoire temporaire nécessaire aujourd’hui pour ouvrir un simple GIF dans un navigateur suffirait à saturer plusieurs ordinateurs de guidage d’Apollo (AGC). Habitués à des dizaines de gigaoctets de mémoire vive, notre intuition contemporaine associe spontanément l’exploration spatiale lointaine à une puissance de calcul colossale.
La mission Apollo 11 de 1969 est venue balayer cette certitude. Installé à la fois dans le module de commande et dans le module lunaire, chaque AGC disposait d’une capacité de calcul à peine comparable à celle d’un futur Apple II. Dépourvus d’interface graphique, les astronautes pilotaient l’appareil par de simples combinaisons de touches physiques. Ces deux machines historiques ont pourtant assuré l’intégralité du rendez-vous orbital et de la descente vers la surface de la Lune.
L’épopée d’Apollo a rappelé une vérité fondamentale de l’ingénierie : la limite d’un système se mesure à l’art d’épurer le logiciel jusqu’aux contraintes physiques ultimes. Plus d’un demi-siècle plus tard, l’ingénieur avionique canadien Michael Newton a fait revivre ce monument de l’informatique sur son bureau grâce au matériel open source et à l’impression 3D.
Un ingénieur avionique fabrique la console d’Apollo sur son bureau
Newton, qui assure au quotidien la maintenance des instruments de bord d’avions de ligne, a profité de son temps libre pour lancer le projet open source « Recreate Apollo ». Son ambition était claire : fabriquer sur sa table de travail une réplique fonctionnelle à l’échelle 1:1 de l’unité DSKY (Display and Keyboard), l’interface principale par laquelle les astronautes communiquait avec le vaisseau.
Photo : Le boîtier DSKY reproduit fidèlement la géométrie originale, donnant l’impression de provenir directement de la capsule spatiale. Source : Raspberry Pi
La structure extérieure est constituée d’éléments modulaires imprimés en 3D, recouverts d’une peinture automobile mate gris militaire et dotés de voyants indicateurs ultra-réalistes. Derrière ce panneau rétro se cache un nano-ordinateur Raspberry Pi. Ce dernier fait tourner un émulateur exécutant le code logiciel authentique embarqué à l’époque dans le module de commande d’Apollo 13.
Dans le numéro 171 du magazine officiel The MagPi, Newton a détaillé les raisons de ce choix technique. La consommation minime et le faible dégagement thermique de la carte permettent un fonctionnement continu et sécurisé dans un châssis fermé. La connectivité réseau simplifie le débogage à distance, et l’ensemble du système d’exploitation peut être distribué sous la forme d’une image de carte SD prête à l’emploi.
Guider une mission spatiale avec moins de 100 Ko de mémoire
Le laboratoire d’instrumentation du MIT a livré la première version de l’AGC dès 1966, trois ans avant que Neil Armstrong ne foule le sol lunaire. Les phases de conception préliminaire ont contraint l’équipe à composer entre des circuits intégrés encore balbutiants et un cahier des charges de masse impitoyable. L’AGC est ainsi devenu le premier ordinateur de l’histoire à employer des puces en silicium, absorbant à son apogée près de 60 % de la production de composants électroniques des États-Unis.
À une époque où les puces étaient rarissimes, la mémoire était rationnée à l’extrême. La machine n’offrait qu’environ 4 Ko de mémoire vive (RAM réinscriptible) pour stocker les variables de vol en temps réel. La mémoire morte (ROM) dédiée aux programmes de navigation ne comptait que quelques dizaines de kilo-octets. L’ensemble totalisait moins de 100 Ko de mémoire, tout en assurant en temps réel le calcul d’attitude, la gestion des allumages de propulseurs et la correction de trajectoire.
L’interface avec l’équipage a elle aussi été ramenée à l’essentiel. L’écran ne comportait aucun pixel, se limitant à des afficheurs numériques segmentés et des lampes d’alerte. Pour consulter les paramètres orbitaux, les astronautes devaient saisir des codes à deux chiffres désignant des « Verbes » et des « Noms ». Cette architecture bannissait toute fioriture pour réserver chaque cycle d’horloge aux équations de la mécanique céleste.
Tailler le logiciel aux limites physiques pour s’élancer vers l’espace
Confrontés à des contraintes matérielles draconiennes, les ingénieurs du MIT ont conçu des architectures logicielles en rupture avec leur temps. Pour empêcher la perte des programmes en cas de coupure de courant ou de rayonnement cosmique, le code était physiquement tissé dans des mémoires à tores de ferrite (Core Rope Memory). Des opératrices passaient minutieusement des fils de cuivre à travers des anneaux magnétiques à l’aide d’aiguilles : traverser le noyau représentait un 1, le contourner représentait un 0. Cette mémoire morte tissée à la main offrait une densité supérieure aux circuits intégrés d’alors et résistait naturellement aux chocs comme aux rayonnements.
La logique d’ordonnancement des tâches était plus ingénieuse encore. L’ingénieur Hal Laning a conçu pour ce petit calculateur un ordonnanceur préemptif par priorités. Alors qu’Apollo 11 amorçait sa descente finale vers la surface lunaire, un radar de rendez-vous mal configuré submergea le processeur d’interruptions parasites. La file d’attente interne satura rapidement, déclenchant les alarmes « 1202 » et « 1201 » restées célèbres.
Face à un tel engorgement, les systèmes d’exploitation modernes ont coutume de geler ou de planter totalement. L’ordonnanceur de l’AGC sut immédiatement faire le tri : il écarta sans hésiter les tâches non critiques, comme le rafraîchissement de l’affichage radar, et réaffecta toute la capacité de calcul aux tuyères de stabilisation et à la poussée. Ce délestage opportun préserva l’orientation du module, permettant à Apollo 11 de se poser en douceur sur la mer de la Tranquillité.
Plans historiques décodés et guide de montage de 100 pages en open source
Photo : L’ensemble des pièces imprimées en 3D a été modélisé d’après les plans techniques archivés de la NASA. Source : Raspberry Pi
Faire renaître cet instrument a exigé un minutieux travail d’archéologie industrielle. Des passionnés de l’espace ont obtenu les schémas originaux grâce aux lois d’accès à l’information. Ces documents historiques ont été numérisés et préservés par l’équipe du projet Virtual AGC, puis des bénévoles ont passé plusieurs mois à convertir les vieux plans techniques en modèles 3D exploitables par les logiciels modernes de CAO.
Newton s’est appuyé sur les travaux préliminaires de son confrère Eric, modélisant les pièces manquantes et affinant les prototypes au fil d’impressions successives. Pour intégrer les composants et commutateurs contemporains, il a opéré des ajustements pragmatiques : la coque conserve une fidélité historique de 90 %, tandis que les clips d’assemblage et la typographie des touches ont été adaptés à la précision des imprimantes 3D de bureau.
Photo : Les fichiers CAO, les schémas de câblage et le manuel de 100 pages sont disponibles gratuitement sur GitHub. Source : Raspberry Pi
Newton a placé l’ensemble de ses travaux sous licence libre sur GitHub. Au-delà des fichiers 3D et des schémas électroniques, il a rédigé un guide d’assemblage exhaustif de 100 pages. Ce pas-à-pas détaillé permet à tout amateur équipé d’un atelier de recréer chez lui un instrument de la conquête spatiale. Ce joyau technologique autrefois confiné derrière les vitrines des musées devient ainsi un support pédagogique manipulable par tous.
Pourquoi l’ère de l’abondance computationnelle a besoin de frugalité logicielle
L’écosystème logiciel contemporain s’enferme dans une dérive inflationniste sans précédent. Alors que les téléphones intègrent 12 Go de mémoire vive, nos applications subissent des ralentissements chroniques causés par des couches de dépendances superflues. Les développeurs ont pris l’habitude d’empiler d’imposantes bibliothèques : afficher un champ de texte basique requiert désormais plusieurs centaines de mégaoctets de mémoire.
La réplique de l’ordinateur de guidage d’Apollo offre un miroir salutaire à l’ingénierie moderne. Elle démontre par le matériel tangible que le voyage le plus audacieux de l’humanité ne reposait pas sur une débauche de ressources matérielles. La véritable puissance d’ingénierie réside dans la clarté des choix : savoir renoncer au superflu pour concentrer des moyens limités sur la trajectoire critique.
Si une relique cadencée à 1,024 MHz a pu nous emmener sur la Lune, nos architectures modernes feraient bien d’interroger leur propre obésité logicielle. La puissance brute n’est qu’un support d’exécution, incapable de masquer les failles structurelles d’une conception. Ce n’est qu’en gardant le sens de la mesure et le respect des limites physiques que les systèmes d’ingénierie sauront rester robustes face aux imprévus du monde réel.
Liens utiles :
- Article officiel de Raspberry Pi
- Archives du projet historique Virtual AGC
- Guide matériel open source Recreate Apollo