Margaret Hamilton, pionnière de l’ingénierie logicielle moderne et directrice de l’équipe en charge du logiciel embarqué dans la mission lunaire Apollo 11, est décédée le 30 septembre dernier, à 90 ans. C’est la revue du MIT, où elle a découvert les joies du logiciel à partir de 1959 au département de météorologie, avant d’y exercer pendant près de vingt ans, qui a annoncé la nouvelle, mardi 7 octobre, saluant sa contribution exceptionnelle à l’informatique et son rôle iconique en faveur de la reconnaissance des femmes dans l’univers des sciences et de la technologie.
« Dire que Margaret Hamilton était une pionnière – dire qu’elle était en avance sur son temps – serait un euphémisme dramatique. Elle était ingénieure logicielle à une époque où ce domaine en était à ses débuts, et elle a non seulement développé elle-même un code avancé, mais a également dirigé une équipe dans l’utilisation de cette technologie naissante pour développer l’un des systèmes les plus complexes jamais réalisés par l’humanité », salue Olivier de Weck, professeur du programme Apollo et directeur par intérim du département d’aéronautique et d’astronautique du MIT.
Née en 1936 dans l’Indiana, Margaret Hamilton a poursuivi des études de mathématiques à l’université du Michigan, avant de rejoindre en 1959 le département de météorologie du MIT pour y travailler sur un logiciel de prévision météo. Deux ans plus tard, elle bascule vers le projet Semi-Automatic Ground Environment (SAGE), le premier système de défense aérienne des États-Unis, où elle écrit le logiciel d’un prototype d’ordinateur dédié à la détection d’avions hostiles.
En 1965, elle répond à une publicité parue dans le journal. Elle fait la promotion des recrutements ouverts par l’Instrumentation Lab du MIT, qui cherche à monter une équipe pour envoyer l’homme sur la lune, sur fond de course aux étoiles opposant les États-Unis à la Russie. Elle postule, et se voit confier l’élaboration du logiciel de vol embarqué pour le programme Apollo, d’abord seule, puis à la tête d’une équipe.

Entre autres avancées, elle y développe ce qui deviendra un concept clé de la conception logicielle, la programmation défensive, c’est-à-dire la capacité à anticiper les erreurs, les dysfonctionnements ou les usages imprévus pour garantir qu’un logiciel continue à fonctionner même en cas d’anomalie. Elle raconte à ce sujet une anecdote fondatrice.
Passionnée par son travail, elle emmène souvent sa fille Lauren avec elle. Un jour, cette dernière joue avec le simulateur installé dans le Lab qui reproduit une tentative de mission, et déclenche la procédure d’atterrissage alors que la mission est encore en vol, provoquant un crash. Margaret Hamilton décide alors de mettre au point un correctif logiciel dédié, mais on lui rétorque que des astronautes surentraînés ne commettraient jamais une telle bévue. L’incident s’est pourtant produit en conditions bien réelles en 1968 au cours de la mission Apollo 8, et c’est Hamilton et son logiciel qui ont été appelés à la rescousse pour fiabiliser la capsule.
Son immense contribution au programme s’est également incarnée au cours de la mission Apollo 11, celle qui a permis à Neil Armstrong et Buzz Aldrin de fouler le sol lunaire. Alors que le module Eagle s’approche du satellite terrestre, une erreur se déclenche en raison d’un composant défectueux et entraine une surcharge, laissant craindre un crash complet du système. Les routines de priorisation et de délestage implémentées par Hamilton et son équipe permettent alors de couper toutes les fonctions non critiques, pour libérer les ressources nécessaires à l’alunissage. Ce code source a d’ailleurs été rendu public il y a dix ans.
Cette approche défensive et cette logique, inédites à l’époque, de fiabilisation du logiciel constituent l’un des héritages les plus marquants des travaux de Margaret Hamilton, qui a par la suite fondé sa société et développé Universal Systems Language.
Il aura fallu attendre le début des années 2000 pour que ses travaux valent à Margaret Hamilton ses premières reconnaissances honorifiques, dont un NASA Exceptional Space Act Award attribué en 2003.
Le Dr Paul Corto, qui l’a nommée pour la récompense, s’était alors déclaré « surpris de découvrir qu’elle n’avait jamais été officiellement reconnue pour ses travaux pionniers. Ses concepts de logiciel asynchrone, de programmation des priorités, de tests de bout en bout et de capacité de décision humaine, comme l’affichage des priorités, ont posé les bases de la conception de logiciels ultra-fiables ».
En novembre 2016, Margaret Hamilton reçoit des mains de Barack Obama la Medal of Freedom pour l’ensemble de ses contributions scientifiques.






