A environ 16h le 20 juillet 1969,
l'Humanité était à quelques minutes d'atterrir sur la surface de la Lune.
Mais avant que les astronautes ne commencent leur descente finale,
une alarme d'urgence s'alluma.
Quelque chose surchargeait l'ordinateur
et menaçait d'interrompre l'atterrissage.
Sur Terre, Margaret Hamilton retenait son souffle.
Elle dirigeait l'équipe qui a développé le logiciel de vol révolutionnaire,
elle savait donc qu'il n'y avait pas d'erreur possible pour cette mission.
Mais l'origine de cet incident de dernière minute
prouvera bientôt que son logiciel fonctionnait exactement comme prévu.
Née 33 ans plus tôt à Paoli, dans l'Indiana, elle a toujours été curieuse.
Au lycée, elle étudia les mathématiques et la philosophie,
avant de prendre un poste de recherche au MIT
pour payer ses études supérieures.
Là, elle croisa son premier ordinateur en développant un logiciel
pour aider la recherche dans le domaine récent de la théorie du chaos.
Puis au laboratoire Lincoln,
Hamilton développa des logiciels
pour le premier système de défense aérien d'Amérique
recherchant des aéronefs ennemis.
Mais quand elle apprit que le célèbre ingénieur Charles Draper
cherchait de l'aide pour envoyer l'Homme sur la Lune,
elle rejoint immédiatement son équipe.
La NASA comptait sur Draper et son groupe de plus de 400 ingénieurs
pour inventer le premier ordinateur compact de vol,
l'Apollo Guidance Computer.
En utilisant des entrées des astronautes,
l'appareil serait chargé de guider, piloter
et contrôler le vaisseau spatial.
A une époque où un ordinateur peu fiable remplissait une salle entière,
l'AGC devait opérer sans erreur,
et rentrer dans un espace de 0,03 mètre cube (30L).
Draper divisa le laboratoire en deux équipes,
une pour concevoir le matériel, et une pour développer le logiciel.
Hamilton dirigea l'équipe qui créa le logiciel de bord
pour le vaisseau et le module lunaire.
Ce travail, pour lequel elle inventa le terme
« software engineering » (NDT : Génie logiciel)
avait un enjeu énorme.
Des vies humaines étaient concernées, chaque programme devait être parfait.
Le logiciel de Margaret devait rapidement détecter les erreurs imprévues
et régler le problème en temps réel.
Mais ce type de programme flexible était difficile à concevoir,
car les premiers logiciels ne pouvaient traiter des tâches
que dans un ordre prédéterminé.
Pour résoudre ce problème,
Margaret conçut son programme de manière « asynchrone »,
c'est-à-dire que les tâches importantes interrompraient celles qui l'étaient moins.
Son équipe assigna à chaque tâche un unique ordre de priorité
pour assurer que chacune soit traitée dans le bon ordre
et au bon moment, peu importe les imprévus.
Après cette avancée,
Margaret réalisa que son logiciel pourrait aussi aider les astronautes
à travailler dans un environnement asynchrone.
Elle a conçu l'affichage priorisé
qui interromprait les tâches du planning des astronautes
pour les prévenir des urgences.
L'astronaute pourrait alors communiquer avec la salle de contrôle
pour déterminer la bonne voie à suivre.
Cela a marqué la première fois qu'un logiciel de vol a communiqué directement,
et de manière asynchrone, avec un pilote.
C'était cette sécurité qui avait déclenché les alarmes juste avant l'alunissage.
Buzz Aldrin réalisa rapidement son erreur,
il avait activé par erreur le radar de rendez-vous.
Ce radar était essentiel pour leur retour sur Terre,
mais il utilisait une partie vitale des ressources de calcul.
Heureusement, l'Apollo Guidance Computer était bien équipé pour gérer ça.
Pendant la surcharge, le logiciel redémarra les programmes
autorisés seulement pour les tâches prioritaires,
dont les programmes nécessaires pour l'alunissage.
L'affichage priorisé donna un choix aux astronautes
alunir ou ne pas alunir.
Avec peu de temps à perdre, le centre de contrôle donna l'ordre.
L'alunissage d'Apollo 11 dépendait des astronautes, de la salle de contrôle,
des logiciels et matériels,
travaillant ensemble comme un système intégré de systèmes.
Les contributions de Hamilton furent essentielles
pour le travail des ingénieurs et scientifiques
inspirés par le but de John F. Kennedy d'atteindre la lune.
Et son travail vital a été utile au-delà d'Apollo 11,
plus aucun bug n'a été trouvé
dans les logiciels de vol des missions Apollo avec équipage.
Après son travail pour Apollo,
Hamilton a fondé une entreprise utilisant son langage universel pour systèmes,
pour révolutionner les systèmes et logiciels.
En 2003, la NASA a honoré ses réussites
avec la plus importante récompense financière
jamais offerte à un individu.
Et 47 ans après que son logiciel a guidé les astronautes jusqu'à la Lune,
Hamilton a reçu la médaille présidentielle de la Liberté
pour avoir changé notre manière de voir la technologie.