_. Margaret Hamilton

Margaret Hamilton

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.

_. Biographie

 Margaret Hamilton

Née le 17 août 1936 dans l’Indiana, Margaret Hamilton se passionne, une fois le lycée terminé, pour les nombres. À 22 ans, elle obtient son diplôme de mathématiques et enseigne rapidement sa discipline. Elle soutient son mari alors que ce dernier passe son diplôme de droit à Harvard. Le plan initial était de soutenir son époux pendant 3 ans, le temps qu’il obtienne son diplôme et que ce dernier lui rende ensuite la pareille, pour qu’elle puisse se consacrer à l’étude des mathématiques fondamentales.

Dans une interview pour le site Makers, elle racontait comment les femmes des étudiants en droit étaient censées leur préparer le thé : 

« Ils souhaitaient que les femmes, moi comprise, leur servent le thé, et j’ai rétorqué à mon mari :“Il est hors de question que je serve du thé. Si je vais à l’école de droit d’Harvard, très bien, j’y ferai ce qu’y font les hommes. Mais je ne serai pas mise dans cette position". Il était très fier de moi, du fait que j’ai pris cette position. »

En 1960, alors qu’elle n’a que 24 ans, Margaret Hamilton prend cependant un poste au MIT MITpour développer des logiciels de prédiction météorologique sur des ordinateurs LGP-30 Ordinateur LGP-30  et PDP-16,1 Ordinateur PDP-16,1 et se découvre une nouvelle passion. Dès 1961, elle travaille pour le SAGE Project Semi-Automatic Ground Environment (SAGE) est le
nom d'un système d'arme américain ultra-secret
opérationnel de 1952 à 1984.
Il permettait de produire en temps réel une
image unifiée de l'espace aérien à l'échelle
du territoire national et de pouvoir apporter
une réponse tactique immédiate en cas de danger.
, l’un des premiers systèmes informatiques de défense antimissile, et subit un bizutage un peu particulier : 

" Ce qu’ils avaient l’habitude de faire, quand vous veniez de débuter dans l’organisation, c’était de vous assigner à un programme que personne n’avait été capable de comprendre et de faire fonctionner. Quand j’ai débuté, ils m’ont mise dessus également. C’était une programmation piégée, et la personne qui l’avait écrite s’était amusée à mettre tous les commentaires en grec et en latin. Donc on m’a assigné à ce programme, et je l’ai finalement fait fonctionner. Il imprimait même ses réponses en latin et en grec. J’étais la première à le faire marcher."

Ses compétences et sa capacité à venir à bout de ce programme font de Margaret Hamilton une candidate idéale pour le rôle de développeur pour la NASA NASA:en 1963, elle est recrutée par le laboratoire Draper du MIT, qui a pour mission de gérer les logiciels du programme Apollo. 

_. Mission Apollo 11

 Apollo 11

Apollo 11 est une mission du programme spatial américain Apollo au cours de laquelle, pour la première fois, des hommes se sont posés sur la Lune,le 20 juillet 1969 Atterissage d'Apollo 11 sur la Lune (21h56 à Houston, lundi 21 juillet 1969 02h56 en France). L'agence spatiale américaine, la NASA, remplit ainsi l'objectif fixé par le président John F. Kennedy en 1961 de poser un équipage sain et sauf sur la Lune avant la fin des années 1960. Dans le but de démontrer la supériorité des États-Unis sur l'Union soviétique mise à mal par les succès soviétiques au début de l'ère spatiale dans le contexte de la guerre froide qui oppose ces deux pays. Ce défi est lancé alors que la NASA n'a pas encore placé en orbite un seul astronaute. Le projet aboutit grâce à une mobilisation de moyens humains et financiers considérables qui permet à l'agence spatiale de rattraper son retard sur le programme spatial soviétique puis de dépasser celui-ci.

Apollo 11 est l'aboutissement d'une série de missions qui permettent la mise au point des techniques spatiales nécessaires, des vaisseaux spatiaux et d'un lanceur géant ainsi que la reconnaissance des sites d'atterrissage sur la Lune.

_. Hamilton et Apollo 11

 Margaret Hamilton durant
le programme Apollo

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 Margaret et sa fille, 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  Margaret et certains de ses collègues inventent les concepts de base de la programmation informatique, et écrivent le code  Extrait du code du programme qui va permettre de créer le premier ordinateur portable au monde.

M. Hamilton devient une véritable experte en programmation, à une époque où 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 Apollo. 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, M. Hamilton devient officiellement directrice du département génie logiciel du MIT Instrumentation Laboratory, chargé de concevoir le système embarqué du programme Apollo.

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  Logiciel de simulation , 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. Une fois le code éprouvé, il est transmis à un groupe de couturières  couturières qui filent
des fils de cuivre
expertes qui filent des fils de cuivre à travers des anneaux magnétiques (1 en code binaire), ou les contournent (0 en code binaire).

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écurseure de celle employée aujourd’hui par nos avions de ligne.

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  Margaret Hamilton se tenant
auprès du code du logiciel de navigation
qu'elle et son équipe ont produit pour
le programme Apollo.
codé par Hamilton et son équipe qui vont permettre à Neil Armstrong  L'équipe d'astronautes d'Apollo 11:
Neil A. Armstrong, Michael Collins et
Edwin E. "Buzz" Aldrin
Elle parvient notamment à créer un système de priorisation des tâches qui va s'avérer vital à la mission Apollo 11.

Nous sommes le 20 juillet 1969, seulement quelques minutes avant que le Module Aigle d’Apollo 11  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.  Succès de la mission Apollo 11

"L'ordinateur était programmé pour faire mieux que simplement identifier une situation d'erreur. Des programmes de récupération avait été incorporés dans le logiciel qui permettaient d'éliminer les tâches ayant les priorités plus faibles et d’exécuter les plus importantes. Si l'ordinateur n'avait pas reconnu le problème et entrepris ces actions de récupérations, je doute qu'Apollo 11 aurait réussi son atterrissage sur la Lune comme il l'a fait."

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 :

" Je me souviens, je prenais ma fille avec moi la nuit et le week-end. Une fois, elle s’est mise à jouer à l’astronaute et d’un coup le système de simulation a planté. J’ai réalisé qu’elle avait sélectionné PO1 - le programme d’atterrissage - pendant le vol. J’ai commencé à m'inquiéter et à penser à ce qui se passerait si les astronautes faisait ce qu’elle venait de faire. Je suis allée voir la direction pour leur dire qu’il fallait apporter des changements au programme. Ils ont dit : “Ça n’arrivera jamais, nos astronautes sont super entraînés, ils ne font pas d’erreurs”."

Mais c’est précisément ce qui allait se produire fin 1968, seulement cinq jours après le vol historique d’Apollo 8   Apollo 8qui 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.  Centre de contrôle, Houston

Après le MIT, Margaret Hamilton co-fonde sa propre entreprise de développement logiciel, Higher Order Software, puis, en 1986, la société Hamilton Technologies, où elle développe son propre langage de programmation.

En 2003, 27 ans après son départ de la NASA, l'agence spatiale lui remet enfin un "Exceptionnal Space Act Award" pour l'ensemble de ses contributions scientifiques et techniques au programme Apollo. Le Dr Paul Corto, qui l'a nommée pour la récompense se déclare "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". Non seulement Margaret Hamilton a créé les fondements de ce qu'est l'informatique moderne, mais elle est même à l'origine du nom de sa discipline, le "software engineering", pour "génie logiciel".

Quelques années plus tard, en 2017, elle reçoit la Médaille présidentielle de la liberté  Margaret récompensée par Obama, remise par Barack Obama, la plus haute distinction aux États-Unis.

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.

_. Galerie

_. Liens

_. Daily Geek show

_. France Culture

_. Makers

_. Nasa