Margaret Hamilton n’était pas censée inventer le concept du logiciel moderne et permettre aux hommes de poser le pied sur la Lune… mais c’est pourtant ce que cette savante de génie a fait. Découvrez l’incroyable destin de cette femme hors du commun, qui a énormément apporté au projet Apollo et dont les recherches ont révolutionné le monde digital.
Nous sommes en 1960 aux États-Unis. Margaret Hamilton a 24 ans et vient d’obtenir un poste de programmeur au Massachusetts Institute of Technology. Avec ce travail, elle espère pouvoir financer les études de son mari à Harvard Law, qui lui renverra ensuite l’ascenseur pour qu’elle obtienne un diplôme d’études supérieures en mathématiques.
Au même moment, le programme spatial Apollo est mis sur les rails, et l’informaticienne de génie va réaliser d’incroyables exploits dans son laboratoire du MIT, en changeant à jamais ce qu’il est humainement et numériquement possible de faire.
UNE COMPOSANTE INDISPENSABLE AU FONCTIONNEMENT DE SON ÉQUIPE
Le profil de Margaret Hamilton est plutôt atypique dans l’Amérique conservatrice des années 60, où le rôle de la femme se résume souvent à élever les enfants. Cette mère d’une fillette de quatre ans, prénommée Lauren, n’hésite pas à l’emmener avec elle dans les laboratoires du MIT lorsqu’elle travaille tard le soir et les week-ends. Ces interminables journées de travail vont lui permettre de créer les algorithmes nécessaires au fonctionnement du système embarqué du programme Apollo.
Margaret adore l’esprit de camaraderie qui règne au sein des labos du MIT, les blagues de geek qui fusent sans arrêt, et les longues discussions enflammées autour d’un bon verre une fois la journée terminée. Dans les couloirs du célèbre institut de recherche, peu de gens se doutent de son importance, mais dans le labo, elle est un membre à part entière de l’équipe, une composante indispensable à son fonctionnement.
Malheureusement, à l’instar des nombreuses femmes travaillant dans le domaine de l’industrie et de la technologie, Hamilton est confrontée au sexisme ambiant de l’époque, et sa contribution aux projets importants auxquels elle participe n’est que peu mise en avant. Un comble quand on sait que ses travaux vont permettre la création du logiciel informatique, au sens moderne du terme.
En 1961, le monde du logiciel est sur le point de changer du tout au tout avec le programme Apollo lancé par John F. Kennedy, et il en va de même pour la carrière de Margaret Hamilton. Elle et ses collègues du MIT inventent les concepts de base de la programmation informatique, et écrivent le code qui va permettre de créer le premier ordinateur portable au monde.
HAMILTON BÂTIT LES FONDATIONS SUR LESQUELLES S’APPUIERA L’INDUSTRIE LOGICIELLE
Hamilton devient une véritable experte en programmation, à une époque ou cette science n’en est encore qu’à ses premiers balbutiements. C’est elle qui va la codifier et bâtir les fondations sur lesquelles s’appuient encore aujourd’hui les logiciels du marché.
Plus d’une décennie avant la naissance de Microsoft, le concept du logiciel reste extrêmement vague et n’est même pas inclus dans le budget du programme Appolo. Mais à mesure que le projet progresse, la NASA prend conscience qu’il jouera un rôle central dans la réussite des missions spatiales et lunaires. En 1965, Hamilton devient officiellement directrice du département génie logiciel du MIT Instrumentation Laboratory, chargé de concevoir le système embarqué du programme Apollo.
ELLE TRAVAILLE JOUR ET NUIT SUR SON CODE
Cette période riche en avancées scientifiques et technologiques ne laisse que peu de répit à Margaret Hamilton. La pression qui pèse sur ses épaules est énorme, et il n’est pas rare qu’elle passe des nuits entières à plancher sur son code.
À la mi-1968, plus de 400 personnes travaillent sur le logiciel d’Apollo, car il représente le sésame qui permettra à l’Amérique de distancer l’URSS dans leur course à la Lune. Une réalisation qui définira complètement le monde digital tel que nous le connaissons aujourd’hui, dont l’industrie logicielle pèse à l’heure actuelle plus de 400 milliards de dollars.
La programmation de l’époque consiste en fait à perforer des piles de cartes qui sont ensuite traitées par un ordinateur central géant baptisé Honeywell, chargé de simuler le fonctionnement de l’atterrisseur Apollo. Un fois le code éprouvé, il est transmis à un groupe de couturières expertes qui filent des fils de cuivre à travers des anneaux magnétiques (1 en code binaire), ou les contournent (0 en code binaire).
LA MÉMOIRE EST LITTÉRALEMENT CÂBLÉE ET PRESQUE INDESTRUCTIBLE
Bien avant l’invention de la mémoire vive et des lecteurs de disquettes, la mémoire du système embarqué du programme Apollo est littéralement câblée… et presque indestructible.
Les vols d’Apollo vont nécessiter l’utilisation de deux machines quasi identiques : la première sera intégrée au module lunaire, et la seconde au module de commande qui permet de transporter les astronautes depuis la Terre. Ces ordinateurs portables pesant chacun 70 kilos sont uniques en leur genre : ils sont notamment les premiers à utiliser des circuits intégrés plutôt que des transistors, et à intégrer une technologie de pilotage automatique, précurseur de celle employée aujourd’hui par nos avions de ligne.
SON LOGICIEL PERMET À NEIL ARMSTRONG DE POSER LE PIED SUR LA LUNE
Le système est capable de stocker plus de 12 000 instructions dans sa mémoire permanente (les fameuses cordes de cuivre patiemment filées par les couturières), et 1 024 dans sa mémoire temporaire et effaçable. Et si cette technologie semble aujourd’hui complètement archaïque, c’est bien elle et le logiciel codé par Hamilton et son équipe qui vont permettre à Neil Armstrong de poser le pied sur la Lune.
Nous sommes le 20 juillet 1969, seulement quelques minutes avant que le module Aigle d’Apollo 11 ne se pose sur la mer de la Tranquillité. Durant cette phase critique de la mission, l’ordinateur Apollo commence à afficher des messages d’erreur particulièrement inquiétants. Cela est en réalité dû à des calculs inutiles à la réussite de l’alunissage qui submergent sa mémoire. Mais grâce au traitement asynchrone de l’ordinateur et au code patiemment développé par Margaret Hamilton et son équipe, le logiciel fait fi de ces erreurs et donne la priorité aux opérations indispensables à l’alunissage : la mission est couronnée de succès.
Quelques années plus tôt, sa fille avait accidentellement lancé un programme de pré-lancement baptisé P01 en jouant avec les touches du terminal alors que le simulateur était en plein vol. Persuadée que cela pourrait arriver à un astronaute, Hamilton avait proposé d’ajouter du code pour éviter le crash, une proposition rejetée par la NASA qui estimait que ses astronautes étaient parfaits et ne commettraient pas d’erreurs.
HAMILTON PARVENAIT À TÉLÉCHARGER DE NOUVELLES DONNÉES DEPUIS HOUSTON
Mais c’est précisément ce qui allait se produire fin 1968, seulement cinq jours après le vol historique d’Apollo 8 qui avait orbité pour la première fois autour de la Lune. L’astronaute Jim Lovell a accidentellement enclenché la commande P01 durant le vol, et toutes les données de navigation collectées devant lui permettre de revenir sur Terre se sont effacées. Hamilton et son équipe ont redoublé d’efforts, et sont finalement parvenus à télécharger de nouvelles données de navigation depuis Houston.
Les travaux de Margaret Hamilton ont été non seulement indispensables à la conquête spatiale et à la réussite des missions Apollo, mais ont aussi posé les bases du monde digital tel que nous le connaissons avec l’invention du logiciel informatique. Une contribution essentielle encore largement sous-estimée aujourd’hui. Pour aller plus loin, découvrez aussi ces 30 femmes talentueuses qui ont révolutionné des milieux dominés par les hommes.
Une femme extraordinaire. J’ai vu toute l’histoire de la mission pour aller sur la lune, il y a quelques jours sur ART. Magnifique documentaire.