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.