Apollo 11 : le code source de l’ordinateur de bord disponible sur GitHub
Déjà un bug identifié
Le 11 juillet 2016 à 07h05
2 min
Internet
Internet
Disponible depuis quelques années déjà, le code source de l'ordinateur de bord de la mission Apollo 11 est désormais sur GitHub. Chacun peut donc l'explorer, remonter des bugs et proposer des suggestions... ce qui n'a évidemment pas tardé.
Apollo 11 est une mission spatiale très particulière : c'est la première à avoir envoyé des hommes sur la Lune (c'est aussi la cinquième habitée du programme Apollo). Le 20 juillet 1969, Neil Armstrong et Buzz Aldrin ont ainsi foulé notre satellite naturel pour la première fois dans l'histoire de l'humanité. Presque 47 ans plus tard, Chris Garry a publié sur GitHub le code source de l'ordinateur de bord de la fusée. Pour rappel, Google en avait déjà publié une partie à l'occasion du 40e anniversaire.
À l'époque, c'est le MIT qui a conçu et développé le logiciel embarqué pour cette mission d'exploration spatiale. L'équipe était alors dirigée par l'informaticienne Margaret Hamilton, une des pionnières dans son domaine. Pour en savoir plus sur celle qui a permis d'envoyer des humains sur la Lune, sachez que Wired lui a récemment consacré un article complet.
Quoi qu'il en soit, tout le monde peut donc s'amuser à décortiquer et analyser le code source du module de commande de l'ordinateur de bord (AGC) de la capsule ainsi que celui du module lunaire. Si la mission était un succès sur toute la ligne (malgré quelques peurs au moment de l'alunissage), certains ont d'ores et déjà remonté un « bug », en expliquant la manière de le reproduire. Bien évidemment, cela passe d'abord par la construction d'une fusée et son lancement dans l'espace.
Pour rappel, plusieurs milliers de photos du programme Apollo avaient été mises en ligne l'année dernière. Elles proviennent de sources diverses comme la NASA, le Centre spatial Lyndon B. Johnson et le Lunar & Planetary Institute.
Commentaires (54)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 11/07/2016 à 08h05
Merci pour la piste, en suivant un peu on trouve de la lecture
Ce que j’y voit dans les premières pages me fait penser que c’est un CPU maison comme on faisait à l’époque.
Ce qui est impressionnant, c’est l’environnement logiciel mis en place la dessus " />
Le 11/07/2016 à 08h14
Le 11/07/2016 à 08h15
Ça aurait été par mal de coller cette célèbre photo de Margaret Hamilton
https://upload.wikimedia.org/wikipedia/commons/2/2e/Margaret_Hamilton.gif
Le 11/07/2016 à 08h31
Le 11/07/2016 à 08h35
Processeur fabriqué par Fairchild semiconductor disposant d’un quarantaine d’instructions.
A cette époque Fairchild comportait parmi ses employés des gens comme Gordon Moore ou Robert Noyce…
Le 11/07/2016 à 08h40
Les commentaires dans le bug report, trop bons " />
Le 11/07/2016 à 08h46
époque bénie ou on gardait les dumps et listings papier et on les revendait avec le carton pour se payer une bouffe en fin de mois
Plus tard on les a utilisés pour protéger le sol pendant les travaux de peinture à la maison!
Les dumps traces et autres listings dématérialisés ont tué les bonne bouffes et les travaux de peinture
" />
Le 11/07/2016 à 08h51
Merci à tous ceux qui ont partagé leur connaissance sur le CPU
Pour le tissage des mémoires à tores, c’était des femmes qui le faisait en raison de la taille des mains.
Par contre, elles s’y flinguaient les yeux quasi à coup sûr.
Même pour la RAM les mémoires à tores sont restées en usage dans le domaine spatial bien plus longtemps que sur terre, en raison de leur grande résistance aux rayons cosmiques.
Le 11/07/2016 à 08h59
t’as un truc sur wikipedia sur l’AGC
Wikipedia
Le 11/07/2016 à 09h03
Yep, on trouve à peu de chose près la même chose sur ce genre de truc de megalo (c’est russe évidemment) YouTube
Le 11/07/2016 à 09h18
Et voilà, j’avais oublié de chercher sur Wikipedia " />
Merci de m’avoir gentiment indiqué l’article.
Le 11/07/2016 à 09h29
Le 11/07/2016 à 09h38
Le 11/07/2016 à 10h07
à noter que ce processeur est constitué de milliers de puces logiques simples (à l’époque on ne savait mettre que quelques transistors par puce), le tout relié par un immonde et immense plat de spaghetti de câbles.
The Apollo flight computer was the first to use integrated circuits (ICs). While the Block I version used 4,100 ICs, each containing a single three-input NOR gate, the later Block II version (used in the crewed flights) used 2,800 ICs, each with dual three-input NOR gates”
Le 11/07/2016 à 10h08
merci, je télécharge le programme et je mets à jour mes vaisseaux de KSP.
Le 13/07/2016 à 02h05
Je trouve quand même assez formidable qu’un logiciel de 1969 ait été en mesure de conduire l’humain sur la Lune. Alors que de nos jours, 50 ans plus tard, on se tâte toujours pour essayer de dessiner une ébauche de vaisseau capable de mener l’homme sur Mars.
Je me doute bien qu’il y a des contraintes supplémentaires liées à la gravité martienne et à la durée du voyage, (et notamment la décalcification des os entraînée par une apesanteur trop longue), mais j’ai l’impression que ça n’explique pas tout.
Faut croire que la fin de la concurrence soviétique a considérablement limité l’intérêt d’une telle mission. Je pense que c’est davantage une question de volonté que d’obstacles difficiles à surmonter, même si ces derniers existent. Après tout, voyager sur la Lune semblait impossible dans les années 50, et les USA y sont parvenus seulement 10 ans après.
Le 13/07/2016 à 06h15
Bah il faut des mesures précises au départ sinon à l’arrivé tu as des gros soucis.
Le 13/07/2016 à 09h01
Tout en haut, le point d’exclamation dans un triangle (n’apparait que lorsque tu fais défiler le site vers le bas).
Le 13/07/2016 à 19h20
La présence du bug que la NASA à caché depuis des décennies est la preuve que nous ne sommes jamais allé sur la Lune.
" />
Le 11/07/2016 à 10h21
Le 11/07/2016 à 10h39
Le hard le confirme souvent.😈
Le 11/07/2016 à 10h54
Le 11/07/2016 à 11h12
Ah non, maintenant c’est Typescript, comme ça même les dev Java ne sont pas dépaysés :-*
Le 11/07/2016 à 11h52
Margaret Hamilon avec un peu de code version bois mort
Le 11/07/2016 à 11h55
Le 11/07/2016 à 12h08
Ah damned, pas lu tous les comm’ " />
Le 11/07/2016 à 12h28
Merci pour ce lien. J’aurais une excuse à fournir lorsqu’une personnes viendra me voir avec un bug. " />
Le 11/07/2016 à 12h53
J’ai même expliqué à quoi ça servait pendant les 2 premières générations
" />
Le 11/07/2016 à 12h57
Une petite photo des femmes travaillant chez Raytheon et câblant les programmes d’Apollo.
L’AGC avait 46 ko de ROM et 2 Ko de RAM.
Le 11/07/2016 à 18h42
Je me demande a quoi ressemble un bout de code de hubble (^.^)
Le 11/07/2016 à 21h36
Java et Javascript sont nés (pour le “grand” public) la même année : en 1995.
Les 2 sont des trucs de vieux alors ?
Cependant Java arrive en tête dans pratiquement tous les classements qu’on trouve sur le Web.
Le 12/07/2016 à 05h33
Ils seront superproductifs à tout faire à la souris n’empêche. Et cela permet d’économiser les écrans tactiles et les claviers c’est bien ça.
Le 12/07/2016 à 09h29
pas du x86 en tout cas.
Le 12/07/2016 à 09h31
ouaih c’est space.
En aero on cause en miles, inch etc … jamais en mètre …
Le 11/07/2016 à 07h20
Il est où ?
Le 11/07/2016 à 07h21
Le 11/07/2016 à 07h22
C’est en assembleur, c’est ça ?
Le 11/07/2016 à 07h25
vient juste de regarder un fichier et paf le coup de vieux " /> de l’assembleur
Le 11/07/2016 à 07h25
J’aime bien le fichier sobrement intitulé “THE_LUNAR_LANDING.s” " />
Le 11/07/2016 à 07h28
“certains ont d’ores et déjà remonté un « bug », en expliquant la manière de le reproduire. Bien évidemment, cela passe d’abord par la construction d’une fusée et son lancement dans l’espace. ”
C’est surtout que le bug en question fait référence a Apollo 13 ^^ .
Le 11/07/2016 à 07h34
Le 11/07/2016 à 07h36
Tien, des commentaires de sources que j’ai vue, ils travaillent en mètres. Ils ont du galéré un peut les Américains" />
" />
Le 11/07/2016 à 07h39
Dingue, on trouve même le code de l’easter egg (PINBALL_GAME*.s)
" />
Le 11/07/2016 à 07h41
je rappelle qu’un incident a eu lieu a cause de ça déjà :p
Mais sinon la Nasa travaille quasiment à 100% en mètres.
Le 11/07/2016 à 07h42
ha ils vont loin dans le fake, non seulement ils n’ont rien envoyé sur la lune mais ils font un faux code source " />
Le 11/07/2016 à 07h45
Et quelqu’un a une idée du processeur ?
(les instructions ne me raccrochent à rien que je connaisse)
Le 11/07/2016 à 07h47
ils ont même mis des bugs pour faire plus vrai, les sournois !
Le 11/07/2016 à 07h49
Il y a au moins l’échec de Mars Climate Orbiter :
“Il semble que la perte de Mars Climate Orbiter doit simplement être mise sur le compte d’un problème d’unité dans l’expression d’une force de poussée. Les ingénieurs de Lockheed Martin Astronautics (Denver dans le Colorado), la firme qui a conçu et fabriqué la sonde martienne, avaient apparemment gardé la mauvaise habitude de travailler avec les unités du système anglo-saxons. De leur côté, les ingénieurs du Jet Propulsion Laboratory (Pasadena en Californie) travaillaient depuis des années dans le système métrique, reconnu au niveau international comme étant le système de référence. Il semble que lors du transfert des données entre le centre de Lockheed et celui du JPL, personne ne se soit rendu compte qu’il fallait convertir les données, chacun étant persuadé que l’un utilisait les mêmes unités que l’autre ! Les données qui proviennent de Lockheed sont pourtant soumises à des procédures particulièrement sévères de vérification, mais celles ci sont restées parfaitement inopérantes. L’erreur était apparemment trop grossière pour être détecté, et elle est passée comme un poisson dans l’eau à travers les barrières du système de vérification.” (source : nirgal.net)
Le 11/07/2016 à 07h51
Oui je me pose la même question.
Génial sinon !
Edit : une piste :http://www.ibiblio.org/apollo/yaYUL.html
Le 11/07/2016 à 07h53
En tout cas on se marre bien dans la déclaration de bug sur github " />
Le 11/07/2016 à 07h09
La Corée du nord est sur la brèche :)
Le 11/07/2016 à 07h10
Excellente initiative. Nous allons pouvoir voir les merveilles que l’on faisait avec la technologie de l’époque !
" />" />" />" />" />
Le 11/07/2016 à 07h14
Trois fautes dans l’article :
Faudrait vous relire un peu plus, la prochaine fois. " />
Le 11/07/2016 à 07h17
Faudrait penser à utiliser le bouton “Signalez une erreur” la prochaine fois " />