Catégorie : Informatique

  • Margaret Hamilton, la femme qui a sauvé Apollo 11

    Margaret Hamilton, la femme qui a sauvé Apollo 11

    Comment Margaret Hamilton a inventé un métier pour que son code existe — et comment ce code a évité l’abandon de la mission du siècle.

    Le 20 juillet 1969, à quelques minutes de l’alunissage d’Apollo 11, l’ordinateur de bord affiche une alarme de surcharge critique. Ce qui sauve la mission ne vient pas de Houston ni des astronautes : c’est un mécanisme de gestion des priorités codé quatre ans plus tôt au MIT par Margaret Hamilton, une femme de 28 ans dont le métier n’existait pas encore de nom. Elle avait inventé le terme « software engineering » pour que son travail soit pris au sérieux. Il a fallu attendre 2003 pour qu’elle reçoive le prix le plus élevé jamais décerné par la NASA à un individu.

    20 juillet 1969. 102 heures, 38 minutes et 26 secondes après le décollage d’Apollo 11. L’Eagle descend vers la Lune. À bord, Neil Armstrong et Buzz Aldrin sont à 30 000 pieds d’altitude — environ neuf kilomètres — quand une lumière jaune clignote sur le tableau de bord. Un code apparaît sur l’écran : 1202.

    Margaret Hamilton debout à côté des listings imprimés du code source de l'ordinateur de guidage Apollo, MIT 1969
    Margaret Hamilton debout à côté des listings imprimés du code source de l’ordinateur de guidage Apollo, MIT 1969

    Armstrong appuie sur le micro, calme : « Program alarm. It’s a 1202. » À Houston, une salle entière de techniciens se fige. Personne n’a jamais vu cette alarme pendant un atterrissage. Elle signifie une chose simple et terrifiante : l’ordinateur de bord est en surcharge. Il ne peut plus traiter toutes ses tâches. La mission a coûté 10 milliards de dollars. Il reste trois minutes avant de poser le pied sur la Lune. Et le cerveau numérique de l’Eagle vient de crier à l’aide.

    Ce que personne dans cette salle ne dit à voix haute, c’est que la réponse à cette crise avait été écrite quatre ans plus tôt, au MIT, par une femme de 28 ans dont le métier n’existait pas encore.

    Le son d’un bord de mer

    Cambridge, Massachusetts, quelque part en 1965. Les bureaux du MIT Instrumentation Laboratory sont silencieux. Margaret Hamilton est seule, ou presque — sa petite fille Lauren somnole sur un coin de bureau pendant que sa mère tape des lignes de code sur un terminal. Ce n’est pas rare : il n’existe pas de garde d’enfants pour les ingénieurs qui travaillent la nuit. Hamilton amène sa fille. Lauren joue parfois avec les machines.

    Un soir, la petite appuie sur une série de touches au hasard sur un prototype de clavier de guidage — le DSKY, l’interface de l’ordinateur de bord. Les commandes se mélangent. Le programme simule une erreur qui, en conditions réelles, aurait pu faire basculer un astronaute dans le vide interplanétaire. Hamilton note l’incident. Elle veut coder un garde-fou pour empêcher ce type d’erreur humaine. Ses supérieurs la freinent : « les astronautes ne font pas d’erreurs. » Elle code le garde-fou quand même. [Smithsonian Magazine]

    💡 Le détail qui change tout : C’est la curiosité d’une enfant jouant avec des boutons qui a inspiré les mécanismes de sécurité les plus critiques du programme Apollo.

    Hamilton découvre aussi, autour de cette époque, que ses programmes produisent un son particulier quand ils tournent correctement — un bruit de fond régulier, presque hypnotique, comme le ressac d’une plage. Un collègue la réveille en pleine nuit : « Ton programme ne ressemble plus à la mer. » Elle se lève, court au laboratoire, et trouve l’anomalie. Ainsi naît, presque par accident, une nouvelle méthode de débogage : l’écoute du code. [Smithsonian Magazine]

    En 1969, un photographe du MIT capture Hamilton debout à côté d’une pile de listings imprimés — l’ensemble du code source de l’ordinateur de guidage d’Apollo. La pile est aussi haute qu’elle. Ce papier, c’est le cerveau numérique de la mission la plus médiatisée de l’Histoire.

    Le mot qu’elle a dû inventer

    En 1965, quand Hamilton prend la tête de la division logiciel du MIT Instrumentation Lab, le « software » est considéré comme une tâche auxiliaire — l’équivalent de la dactylo pour les ingénieurs mécaniciens. Il n’existe aucune école, aucun diplôme, aucune reconnaissance institutionnelle pour ce type de travail. Les équipes matérielles reçoivent les budgets, les titres, les récompenses. Les équipes logicielles reçoivent des regards dubitatifs. [Britannica]

    Hamilton se bat pour que son équipe soit traitée à égalité. Face au mépris, elle décide de créer le terme elle-même : « software engineering ». Un champ disciplinaire entier, inventé de toutes pièces pour forcer la légitimité. Elle l’a raconté : « Je voulais donner au logiciel la même crédibilité qu’aux autres disciplines d’ingénierie. » Les critiques de l’époque se moquaient : ce mot gonflait l’importance de son travail. [Wikipedia EN]

    Pendant ce temps, Hamilton invente quelque chose de radicalement différent de ce que font les autres équipes : elle code non pas pour que les choses se passent bien, mais pour que la mission survive quand elles se passent mal. Priorités dynamiques, redémarrages sélectifs, affichages d’urgence interruptibles — l’AGC doit être capable de trier seul, en temps réel, ce qui est vital de ce qui peut attendre. À 384 000 kilomètres de la Terre, sans possibilité d’intervention humaine. [Hack The Moon]

    Le module lunaire Eagle d'Apollo 11 en configuration d'atterrissage en orbite lunaire, photographié depuis le module de commande Columbia le 20 juillet 1969
    Le module lunaire Eagle d’Apollo 11 en configuration d’atterrissage en orbite lunaire, photographié depuis le module de commande Columbia le 20 juillet 1969

    Le laboratoire lui-même est un microcosme des contradictions de l’époque. Une collègue se voit refuser un crédit par la caisse du MIT sans la signature de son mari — les hommes, eux, n’en ont pas besoin. Hamilton s’en plaint. La règle change. Le code le plus critique de la course à l’espace est écrit dans ces conditions : entre une discrimination ordinaire et une révolution silencieuse. [TIME Magazine]

    « Je suis surchargé — mais je peux encore voler »

    Revenons au 20 juillet 1969. L’alarme 1202 vient de retentir. Ce qui se passe dans les circuits de l’AGC à cet instant est presque poétique : le radar de rendez-vous, laissé par inadvertance en mode automatique, inonde l’ordinateur de signaux parasites. Ces signaux volent 13 % de la puissance de calcul — un pourcentage infime, mais suffisant pour provoquer un débordement à 9 000 mètres d’altitude. [Discover Magazine]

    Interface DSKY (Display and Keyboard) de l'ordinateur de guidage Apollo sur lequel s'est affichée l'alarme 1202 lors de l'atterrissage d'Apollo 11
    Interface DSKY (Display and Keyboard) de l’ordinateur de guidage Apollo sur lequel s’est affichée l’alarme 1202 lors de l’atterrissage d’Apollo 11

    Ce que personne dans l’Eagle ni à Houston ne sait encore, c’est que le logiciel vient de diagnostiquer le problème lui-même. Il a comparé ses tâches, identifié celles qui étaient indispensables à l’atterrissage, et éliminé les autres. Le guidage du moteur, le contrôle de trajectoire : maintenus. Les données du radar de rendez-vous : supprimées. Le logiciel a dit, en substance : « Je suis surchargé, mais je peux encore voler. » [Discover Magazine]

    À Houston, le jeune ingénieur Jack Garman consulte sa feuille de codes manuscrite. Il connaît cette situation : le MIT l’a testée des centaines de fois. Il donne le GO. L’Eagle continue sa descente. Cinq alarmes retentissent en tout. Cinq fois le logiciel se redémarre, élimine le superflu, reprend le cap. Armstrong pose finalement l’Eagle dans la Mer de la Tranquillité avec environ 15 secondes de carburant restantes.

    ⚡ Analogie moderne : C’est le principe exact derrière les systèmes « graceful degradation » de nos applications aujourd’hui : Netflix qui réduit la qualité vidéo plutôt que de couper le flux, un avion qui isole une panne sans perdre le contrôle. Hamilton a posé ce paradigme en 1965, sans manuel, sans précédent.

    Margaret Hamilton regardait depuis le sol. Elle se souvient : « Mon Dieu, ça a marché. J’étais si heureuse. Mais j’étais plus heureuse que ça marche que du fait qu’on avait atterri. » [TIME Magazine]

    Pourquoi cette histoire est-elle méconnue ?

    Pendant des décennies, Apollo 11 a été l’histoire des astronautes, des ingénieurs en combinaison, des directeurs de programme. Le logiciel était invisible — par définition. On ne le photographie pas, on ne lui serre pas la main, on ne lui décerne pas de médaille en direct à la télévision.

    Il y a aussi un facteur structurel : le travail de Hamilton était considéré, institutionnellement, comme moins sérieux que celui des équipes hardware. Le terme « software engineering » qu’elle a créé était encore une provocation en 1969. L’idée même que écrire du code puisse être une discipline d’ingénierie au sens plein était controversée.

    Enfin, il y a le genre. Hamilton dirigeait une équipe dans un secteur à dominante masculine, dans une époque où une femme ne pouvait pas emp runter sans l’accord de son mari. La visibilité dont elle aurait dû bénéficier a simplement été captée ailleurs. Ce n’est qu’en 2003 que la NASA lui a remis son Exceptional Space Act Award — le plus grand montant jamais accordé à un individu dans l’histoire de l’agence. Pour un travail vieux de 34 ans. [NASA / Wikipedia EN]

    Une phrase qui reste

    En 2016, Barack Obama lui remet la Médaille présidentielle de la Liberté. Devant les caméras, il dit : « Nos astronautes n’avaient pas beaucoup de temps — mais heureusement, ils avaient Margaret Hamilton. » Ce qu’il ne dit pas, c’est que les systèmes qui font tourner vos applications aujourd’hui — la gestion des priorités, les redémarrages gracieux, la détection d’erreurs en temps réel — sont les enfants directs de ce code écrit la nuit au MIT, pendant que sa fille dormait sur un coin de bureau.

    La prochaine fois que votre application plante proprement plutôt que de tout faire crasher, remerciez une femme dont le métier n’existait pas encore.

    Pour aller plus loin

    Margaret Hamilton — Wikipedia EN https://en.wikipedia.org/wiki/Margaret_Hamilton_(software_engineer) La source la plus complète sur sa biographie et ses contributions techniques.

    Her Code Got Humans on the Moon — Smithsonian Magazine https://www.smithsonianmag.com/smithsonian-institution/margaret-hamilton-led-nasa-software-team-landed-astronauts-moon-180971575/ Le portrait narratif de référence, avec les anécdotes de laboratoire.

    Apollo 11’s 1202 Alarm Explained — Discover Magazine https://www.discovermagazine.com/apollo-11s-1202-alarm-explained-185 L’explication technique la plus claire de ce qui s’est passé dans l’AGC le 20 juillet 1969.

    Margaret Hamilton — Hack The Moon https://wehackthemoon.com/bios/margaret-hamilton Le détail technique du système de priorités et des priority displays.

    Consulter aussi : notre article sur Grace Hopper

    Grace Murray Hopper at the UNIVAC keyboard, c. 1960.
  • Grace Hopper : la femme qui a inventé le langage informatique

    Grace Hopper : la femme qui a inventé le langage informatique

    En 1952, Grace Hopper présente à ses collègues un programme capable de traduire du code symbolique en binaire. Personne ne comprend ce qu’il vient de se passer. Dix ans plus tard, elle invente COBOL — le langage informatique qui fait encore tourner aujourd’hui les systèmes bancaires et les administrations du monde entier. Retour sur la carrière d’une mathématicienne, officière de la Navy et pionnière de l’informatique que l’histoire a mis quarante ans à reconnaître.

    Philadelphie, printemps 1952. Dans une salle de conférence de la Eckert-Mauchly Computer Corporation, Grace Hopper lance un programme sur l’UNIVAC I. Les instructions s’exécutent. Le résultat s’affiche. Elle se retourne vers ses collègues ingénieurs, attend une réaction.

    Il n’y en a pas vraiment. Quelqu’un hausse les épaules. Un autre déclare qu’une machine ne peut pas écrire ses propres instructions — c’est contre nature, contre logique, contre tout ce qu’ils savent des ordinateurs. La démonstration est rangée dans un tiroir. [IEEE Spectrum]

    Ce jour-là, dans l’indifférence d’une salle de réunion de Philadelphie, venait de se produire l’une des inventions les plus importantes du XXe siècle.

    Grace Murray Hopper at the UNIVAC keyboard, c. 1960.
    SI Neg. 83-14878. Date: na.

    Grace Murray Hopper at the UNIVAC keyboard, c. 1960. Grace Brewster Murray: American mathematician and rear admiral in the U.S. Navy who was a pioneer in developing computer technology, helping to devise UNIVAC I. the first commercial electronic computer, and naval applications for COBOL (common-business-oriented language).

    Credit: Unknown (Smithsonian Institution)

    Une forêt de zéros et de uns

    Pour comprendre ce qu’a fait Grace Hopper, il faut imaginer le quotidien d’un programmeur en 1950. Pas d’écran, pas de clavier au sens moderne. Des cartes perforées. Des centaines, parfois des milliers, chacune représentant une instruction en code binaire — une succession de zéros et de uns que la machine seule pouvait lire. Une erreur de perforation sur une carte, et c’est l’ensemble du programme qui s’effondre. On recommence.

    Hopper, mathématicienne de formation, docteure de Yale, ancienne professeure à Vassar reconvertie en officier de la Navy pendant la Seconde Guerre mondiale, voyait dans cette situation quelque chose d’absurde. Pourquoi obliger les humains à parler la langue des machines ? Pourquoi ne pas obliger les machines à parler la langue des humains ? [Wikipedia EN]

    Ce renversement de perspective — si simple à formuler, si radical à l’époque — allait occuper le reste de sa vie.

    Son premier pas s’appelle A-0. Techniquement, ce n’est pas encore un langage : c’est un traducteur. Un programme capable de prendre des instructions écrites en code symbolique mathématique et de les convertir automatiquement en code binaire lisible par la machine. La nuance est cruciale, et c’est précisément celle que ses collègues n’ont pas saisie en 1952. Ils n’ont pas vu une invention. Ils ont vu un gadget. [IEEE Spectrum]

    Harvard_Mark_I_Computer_-_Left_Segment
    Harvard_Mark_I_Computer_-_Left_Segment

    « On vous a dit que c’était impossible. Continuez quand même. »

    Un an plus tard, Hopper franchit l’étape suivante. Elle rédige une proposition formelle pour sa hiérarchie chez Remington Rand : et si on écrivait les programmes directement en anglais ? Des mots, des verbes, des phrases — pas des symboles mathématiques, pas du binaire. De l’anglais.

    La réponse arrive par écrit. C’est non. Un ordinateur ne peut pas comprendre l’anglais. C’est techniquement absurde. La proposition est classée sans suite. [Yale / MIT Press Beyer]

    Hopper range le document. Et continue, en dehors des heures officielles de travail, sur son temps personnel.

    C’est l’un des détails les plus contre-intuitifs de cette histoire : l’un des bonds technologiques les plus importants de la décennie a été réalisé clandestinement, contre l’avis explicite de la direction, par une femme de 47 ans qui travaillait après l’heure.

    En 1956, Flow-Matic est opérationnel. C’est le premier compilateur en langue anglaise : vingt verbes simples — read, write, compare, transfer — suffisent à piloter un UNIVAC I. La notice d’utilisation promet : « Les analystes, les comptables, les managers peuvent utiliser ce système avec peu de formation. La connaissance du code informatique n’est pas nécessaire. » [Computer History Museum]

    Imaginez ce que cela signifie. Pour la première fois, une personne sans formation technique peut donner des ordres à un ordinateur. Flow-Matic n’est pas qu’un outil de programmation — c’est un outil de démocratisation déguisé en avancée technique. L’équivalent, pour l’informatique, de ce que Gutenberg avait fait pour le livre.

    The First Computer Bug  Moth found trapped between points at Relay # 70, Panel F, of the Mark II
    The First Computer Bug Moth found trapped between points at Relay # 70, Panel F, of the Mark II Aiken Relay Calculator while it was being tested at Harvard University, 9 September 1945. The operators affixed the moth to the computer log, with the entry: First actual case of bug being found. They put out the word that they had debugged the machine, thus introducing the term debugging a computer program. In 1988, the log, with the moth still taped by the entry, was in the Naval Surface Warfare Center Computer Museum at Dahlgren, Virginia. Courtesy of the Naval Surface Warfare Center, Dahlgren, VA., 1988. U.S. Naval History and Heritage Command Photograph.

    1959 : la réunion où son nom a failli disparaître

    En 1959, une conférence réunit les grands acteurs de l’informatique américaine sous l’égide du CODASYL — le comité chargé de créer un langage informatique universel pour les entreprises. Hopper est présente. Flow-Matic en constitue la colonne vertébrale technique.

    Le langage qui en sort s’appelle COBOL — Common Business-Oriented Language. Les spécifications sont signées. Les comptes-rendus officiels citent un comité. Le nom de Hopper n’apparaît pas en tête. [Computer History Museum, oral history 1980]

    C’est le paradoxe central de sa vie : la femme qui a rendu les ordinateurs accessibles à tous a elle-même été rendue presque invisible par l’historiographie de l’informatique. Pendant que les noms des constructeurs de machines — Eckert, Mauchly, Von Neumann — entraient dans les manuels, Hopper restait dans les notes de bas de page.

    COBOL, lui, n’a pas disparu. Aujourd’hui encore, on estime que 95 milliards de lignes de code en COBOL font tourner les systèmes bancaires, les administrations fiscales, les caisses de retraite du monde entier. Chaque fois que vous retirez de l’argent à un distributeur automatique, il y a de fortes chances qu’une instruction COBOL soit quelque part dans la chaîne. [Britannica]


    Le moment où tout bascule

    1. Grace Hopper a 60 ans. Le règlement de la Navy la force à prendre sa retraite. Elle dira plus tard que c’est « le jour le plus triste de ma vie ».

    Sept mois plus tard, on la rappelle en urgence. L’armée américaine, engagée au Vietnam, croule sous la prolifération anarchique de langages informatiques incompatibles entre eux. Elle seule, estime-t-on, peut standardiser tout ça.

    Elle restera en service actif dix-neuf ans de plus. Elle prendra sa retraite définitive en 1986, à 79 ans, grade de Rear Admiral — la première femme à atteindre ce rang dans la Navy américaine. C’est lors de cette seconde carrière qu’elle devient une figure publique, une conférencière légendaire, une pédagogue hors pair qui donnera jusqu’à 300 conférences par an pour expliquer les ordinateurs à des publics non techniques.

    Ses collègues l’appellent « Amazing Grace ».


    Pourquoi cette histoire est-elle méconnue ?

    Plusieurs facteurs se cumulent. D’abord, Hopper travaillait sur les langages — le software, la couche invisible — à une époque où la gloire revenait aux constructeurs de machines, à la couche visible. Les hardware heroes avaient des noms, des photos, des brevets. Les architectes du langage avaient des memos internes.

    Ensuite, elle était femme dans un milieu militaro-industriel quasi exclusivement masculin. Ses contributions étaient collectives par nature — elle dirigeait des équipes, défendait des standards, évangélisait des adoptions — ce qui les rend plus difficiles à attribuer clairement qu’une invention solitaire.

    Enfin, l’histoire de l’informatique a été écrite, pour l’essentiel, par ceux qui construisaient les machines. Grace Hopper construisait le dialogue entre les machines et les humains. Ce n’était pas encore ce qu’on appelait de l’informatique. [MIT Press Beyer]


    Une phrase qu’on lui a posée en 1991

    Rose Garden, Maison Blanche. Le président Bush lui remet la National Medal of Technology — la plus haute distinction technologique des États-Unis, qu’elle reçoit en première femme à titre individuel. Un journaliste lui demande ce dont elle est la plus fière dans sa carrière.

    Elle ne répond pas : le compilateur. Elle ne répond pas : COBOL.

    Elle répond : « Tous les jeunes que j’ai formés au fil des années. C’est plus important que d’avoir écrit le premier compilateur. » [Yale]

    Aujourd’hui, chaque fois que vous écrivez une ligne de code en Python, que vous interrogez une base de données, que vous parlez à un assistant vocal — vous utilisez les héritiers directs de ce qu’elle a construit. Les langages de programmation modernes descendent en ligne directe de l’intuition qu’elle a eue en 1952 dans cette salle de Philadelphie : les machines doivent parler la langue des humains, pas l’inverse.

    Elle a appris aux machines à parler. L’histoire a mis quarante ans à apprendre son nom.


    Pour aller plus loin