Aller au contenu principal
RéférenceHistoire de l’informatiqueDébutant

ENIAC : construire et programmer un géant électronique

Comment ENIAC est devenu un calculateur électronique généraliste : Eckert, Mauchly, six programmeuses, calcul décimal et évolution du programme en 1948.

Publié le 31 octobre 2026Lecture : 13 minPar Yann Bastien
Afficher le sommaire
  1. Un besoin militaire qui dépasse les calculatrices disponibles
  2. Construire une machine électronique à grande échelle
  3. Ce qu’ENIAC pouvait conserver et calculer
  4. Un calcul électronique, mais décimal
  5. La vitesse ne supprime pas les contraintes de mémoire
  6. Les six programmeuses au cœur du fonctionnement
  7. Des calculatrices humaines aux programmes de la machine
  8. Transformer une méthode en un calcul exécutable
  9. Configurer les connexions, puis vérifier le résultat
  10. Un parcours de travail, pas une architecture moderne miniature
  11. Des usages qui dépassent les tables de tir
  12. 1948 : les instructions encodées changent le mode de programmation
  13. Une transformation collective
  14. Une mémoire d’instructions qui n’est pas celle du Manchester Baby
  15. ENIAC, EDVAC et Colossus : trois repères à distinguer
  16. Une reconnaissance qui doit inclure la programmation
  17. Questions fréquentes
  18. ENIAC était-il binaire ?
  19. Les six programmeuses devaient-elles déplacer les câbles à chaque opération ?
  20. Pourquoi ne pas donner un temps de calcul unique pour une trajectoire ?
  21. ENIAC fonctionnait-il déjà pendant les combats de la Seconde Guerre mondiale ?
  22. La conversion de 1948 a-t-elle transformé ENIAC en EDVAC ?

En février 1946, à l’université de Pennsylvanie, ENIAC devient l’une des grandes démonstrations publiques du calcul électronique. Ses panneaux et ses milliers de tubes attirent l’attention. Pourtant, la machine ne résout aucun problème simplement parce qu’on l’allume : il faut déterminer les opérations à effectuer, préparer les données, organiser les connexions et vérifier les résultats.

Les ingénieurs J. Presper Eckert et John Mauchly ont joué des rôles majeurs dans sa conception. Les six programmeuses qui rendent ses calculs possibles accomplissent un travail tout aussi indispensable : elles traduisent une méthode mathématique en un enchaînement que cet équipement peut réellement exécuter.

L’histoire d’ENIAC relie donc deux défis. Le premier consiste à construire un grand calculateur électronique fiable. Le second est de le programmer assez précisément pour obtenir autre chose qu’une impressionnante succession d’impulsions.

Un besoin militaire qui dépasse les calculatrices disponibles

Pendant la Seconde Guerre mondiale, l’armée américaine a besoin de tables de tir. Ces tables indiquent comment régler une pièce d’artillerie selon les conditions et la distance recherchée. Leur préparation demande de nombreux calculs de trajectoires : la vitesse initiale ne suffit pas, car la gravité et la résistance de l’air interviennent aussi.

Le mot anglais computers désigne alors des personnes chargées du calcul. Ces calculateurs et calculatrices travaillent sur les trajectoires avec des instruments de calcul. On utilise également des équipements comme l’analyseur différentiel. La difficulté tient au nombre de cas à traiter et au temps nécessaire pour les calculer.

Mauchly défend l’idée d’un traitement électronique beaucoup plus rapide. Eckert apporte une contribution déterminante à sa réalisation technique. Le projet est mené à la Moore School of Electrical Engineering, avec le financement de l’armée pour le Ballistic Research Laboratory. L’accord militaire du printemps 1943 précède le contrat formel W-670-ORD-4926, daté du 5 juin 1943, répertorié dans l’inventaire des archives de l’université de Pennsylvanie, pièce Ptf 1531. L’approbation du projet et sa formalisation contractuelle sont donc deux étapes distinctes ; la construction commence cette année-là.

Le nom Electronic Numerical Integrator and Computer annonce cette ambition : effectuer numériquement des calculs, notamment l’intégration nécessaire aux trajectoires. ENIAC reste associé à la balistique, mais son organisation permet de préparer d’autres types de problèmes numériques.

Construire une machine électronique à grande échelle

Le choix des tubes électroniques, ou tubes à vide, permet de commuter des signaux sans attendre le déplacement d’un contact mécanique. Mais remplacer une opération lente par une opération rapide ne suffit pas. Il faut que l’ensemble fonctionne de façon cohérente, avec des signaux correctement formés et transmis au bon moment.

Le document technique diffusé par le War Department en 1946 décrit environ 18 000 tubes et une installation composée de grands panneaux. C’est une réalisation collective : conception des circuits, câblage, alimentation, montage, essais et maintenance mobilisent bien plus que les deux noms généralement associés au projet.

L’ingénierie porte aussi sur les moyens de vérifier la machine. Dans son entretien conservé au Smithsonian, Eckert explique que son équipe développe du matériel de test adapté, notamment des oscilloscopes et des générateurs d’impulsions. La capacité à observer un défaut fait partie de la construction d’un équipement utilisable.

ENIAC n’est pas achevé assez tôt pour remplir sa mission pendant les combats de la Seconde Guerre mondiale. Des calculs sont exécutés à la fin de 1945, puis la présentation publique a lieu en février 1946. Il faut donc distinguer le contexte de financement, les premières utilisations et l’annonce au public.

Ce qu’ENIAC pouvait conserver et calculer

Un calcul électronique, mais décimal

ENIAC travaille avec des nombres décimaux. Électronique ne signifie pas nécessairement binaire : un chiffre peut être représenté par l’état d’un circuit organisé pour distinguer dix valeurs.

Ses vingt accumulateurs peuvent chacun conserver un nombre signé de dix chiffres décimaux. Un accumulateur ne sert pas seulement de rangement : il participe aux additions et aux soustractions. Des unités complémentaires prennent en charge la multiplication, la division et l’extraction de racines carrées.

Élément Rôle dans le calcul
Accumulateurs Conserver des nombres et effectuer notamment additions et soustractions.
Unités arithmétiques complémentaires Réaliser d’autres opérations, comme la multiplication ou la division.
Tables de fonctions Fournir des valeurs préparées au moyen de commutateurs ; leur rôle évolue ensuite pour les instructions.
Commande et programmation Organiser le déclenchement et la répétition des opérations.
Équipements à cartes Introduire des données et recueillir des résultats.

Le document de 1946 conservé au Smithsonian distingue les fonctions arithmétiques, la mémoire et le contrôle. Ce sont des fonctions réparties dans l’installation ; on ne doit pas imaginer un processeur moderne unique caché derrière les panneaux.

La vitesse ne supprime pas les contraintes de mémoire

Un accumulateur peut effectuer de l’ordre de 5 000 additions par seconde. Ce chiffre décrit une capacité arithmétique, pas le nombre de trajectoires complètes calculées pendant ce temps. Une seule trajectoire demande de nombreuses opérations.

Il faut aussi distinguer les vingt nombres conservés dans les accumulateurs des constantes fournies par les tables ou les cartes. La mémoire de travail disponible pour les résultats intermédiaires est limitée, et certaines opérations mobilisent plusieurs accumulateurs. La manière de répartir les valeurs influence donc directement le programme.

Les cartes perforées relient la machine aux données préparées à l’extérieur. Dans la configuration initiale, elles ne constituent pas un flux général d’instructions comparable au chargement d’un programme moderne.

Les six programmeuses au cœur du fonctionnement

Des calculatrices humaines aux programmes de la machine

Six femmes sont sélectionnées en 1945 pour préparer les calculs d’ENIAC. Leur expérience des méthodes numériques et des trajectoires compte : elles doivent comprendre le problème avant de l’adapter à une machine encore nouvelle.

Les noms varient dans les sources selon les périodes de leur vie. Les identifier permet de reconnaître les mêmes personnes dans des documents et des témoignages différents.

Nom employé dans les récits des débuts Nom également connu
Kathleen « Kay » McNulty Kathleen Mauchly Antonelli
Jean Jennings Jean Jennings Bartik, souvent appelée Jean Bartik
Betty Snyder Frances Elizabeth « Betty » Holberton
Marlyn Wescoff Marlyn Meltzer
Frances Bilas Frances Spence
Ruth Lichterman Ruth Teitelbaum

L’IEEE Computer Society leur rend collectivement hommage. Cette liste ne désigne pas toutes les personnes qui programmeront ou exploiteront ENIAC pendant sa carrière : elle identifie les six pionnières de sa première programmation.

Selon l’IEEE Computer Society, Jean Bartik et Betty Holberton codirigent les premiers travaux de programmation. L’université de Pennsylvanie leur attribue notamment la préparation du calcul de trajectoire qui sert de base à la démonstration pour la presse en 1946.

Transformer une méthode en un calcul exécutable

Le travail ne consiste pas à recopier une équation sur un panneau. Il faut décomposer une méthode en opérations, décider où placer les nombres et déterminer dans quel ordre les unités doivent les échanger. Les schémas de la machine et les échanges avec les ingénieurs deviennent des outils essentiels.

Prenons un exemple pédagogique inspiré du problème des trajectoires, sans reproduire le programme historique. On peut approcher un mouvement en avançant par petits intervalles de temps :

  1. déterminer les forces correspondant à l’état courant ;
  2. calculer l’évolution de la vitesse ;
  3. en déduire une nouvelle position ;
  4. vérifier si le calcul doit continuer ;
  5. répéter avec l’état obtenu.

Cette méthode oblige à conserver des valeurs d’un passage au suivant. Il faut réserver des emplacements, fournir des constantes, organiser les répétitions et définir les conditions d’arrêt. Une erreur de répartition peut détruire une valeur encore nécessaire, même si chaque circuit arithmétique fonctionne correctement.

C’est une activité de programmation à part entière : elle relie le raisonnement mathématique, les ressources disponibles et les mécanismes de commande. La comparaison avec Ada Lovelace et sa note G éclaire une différence de situation : ici, la préparation d’un calcul doit aboutir à son exécution vérifiable sur une machine réelle.

Configurer les connexions, puis vérifier le résultat

Dans son état initial, ENIAC est programmé à l’aide de connexions et de commutateurs. Les trajets des nombres et les signaux qui commandent les opérations doivent être organisés. Le programme se traduit donc dans les réglages de l’installation, plutôt que dans un fichier chargé en mémoire.

Une fois la configuration prête, l’enchaînement peut se dérouler automatiquement. Les programmeuses ne refont pas manuellement chaque addition. En revanche, changer substantiellement de problème peut demander une nouvelle préparation matérielle, suivie d’essais.

Le contrôle des calculs est indissociable de ce travail. Il faut comparer les résultats attendus et obtenus, localiser l’étape où ils divergent et distinguer une mauvaise configuration d’une défaillance électronique. Une sortie imprimée ou perforée n’est pas, à elle seule, une garantie de justesse.

Le débogage ne se réduit donc pas à remplacer un tube. Il concerne aussi la méthode numérique, l’ordre des opérations, les valeurs préparées et la circulation des signaux. Reconnaître cette responsabilité évite de présenter les programmeuses comme de simples exécutantes autour d’un matériel qui aurait déjà tout résolu.

Un parcours de travail, pas une architecture moderne miniature

Préparation du calcul par les programmeuses, réglage des connexions et commutateurs, chargement des données sur cartes, calcul électronique puis récupération et vérification des résultats.

Parcours de travail simplifié pour la configuration initiale, vers 1946. Les flèches montrent les étapes de préparation et d’exécution, pas le câblage exact. Les cartes apportent ici des données ; le programme est défini par les réglages.

Ce parcours aide à distinguer trois choses : le problème mathématique, le programme qui organise les opérations et les données du cas étudié. Une même méthode peut être appliquée à de nouvelles données, sans que cela signifie que toute nouvelle méthode puisse être installée aussi facilement.

Cette distinction explique l’intérêt d’une machine généraliste. ENIAC n’est pas cantonné à une seule analyse cryptographique, mais sa souplesse a un coût de préparation. Généraliste ne veut pas dire identique à un ordinateur personnel, ni dépourvu de contraintes pratiques.

Des usages qui dépassent les tables de tir

Les premières utilisations ne se confondent pas avec la démonstration publique de balistique. L’American Physical Society décrit un calcul pour Los Alamos en décembre 1945, avant l’annonce de la machine. Ses objectifs relèvent des recherches nucléaires ; il ne faut pas en déduire qu’ENIAC aurait déjà été utilisé pour les bombardements de la guerre achevée.

Les calculs militaires et scientifiques accompagnent ensuite sa carrière. Déplacé à Aberdeen Proving Ground en 1947, ENIAC sert notamment à des recherches numériques qui demandent des traitements répétitifs importants. Les simulations nucléaires font partie de ces usages, dans un contexte où le calcul devient lui-même un outil d’expérimentation.

La portée de ces travaux dépend aussi de la préparation des programmes et de la fiabilité des résultats. Une machine peut exécuter rapidement un calcul physiquement bien défini et pourtant fournir une réponse inutile si le modèle, les données ou les contrôles sont inadéquats.

1948 : les instructions encodées changent le mode de programmation

Une transformation collective

Après la guerre, les équipes cherchent à faciliter et à réorganiser le contrôle d’ENIAC. Le document Central Control for ENIAC, rédigé par Adele Goldstine en 1947, témoigne de ces travaux. L’édition commentée décrit un effort collectif associant notamment John von Neumann, Herman et Adele Goldstine, des membres du laboratoire, Klara von Neumann, Nicholas Metropolis et un groupe dirigé par Jean Bartik.

Dans le nouveau fonctionnement, des instructions encodées sont placées dans les tables de commutateurs et lues par un dispositif de contrôle. On ne représente plus l’ensemble du programme uniquement par les connexions directes entre unités. Une séquence de codes peut déterminer les opérations et leur enchaînement.

Les recherches de Thomas Haigh, Mark Priestley et Crispin Rope replacent cette conversion dans son contexte. Le Computer History Museum situe au 12 avril 1948 l’exécution d’un programme complexe dans ce nouveau mode, consacré à une simulation de type Monte-Carlo. La machine de 1948 ne doit donc pas être décrite comme si elle était restée identique à celle de 1946.

Une mémoire d’instructions qui n’est pas celle du Manchester Baby

Les tables de commutateurs conservent des instructions que la machine peut lire, mais elle ne les réécrit pas comme des données ordinaires pendant le calcul. On peut comparer ce rôle à celui d’une mémoire en lecture seule, ou ROM, sans imaginer un composant moderne identique.

Le Manchester Baby, en 1948, expérimente un programme placé dans une mémoire électronique réinscriptible utilisée aussi pour les données. Ces différences rendent les étiquettes de « premier ordinateur à programme enregistré » délicates : il faut préciser quelle propriété et quelle configuration on compare.

Les premières machines à programme enregistré, dont Baby et EDSAC, prolongent cette comparaison. L’essentiel est de comprendre le changement d’organisation, plutôt que de transformer des réalisations différentes en un classement unique.

ENIAC, EDVAC et Colossus : trois repères à distinguer

EDVAC est un autre projet, pas le nouveau nom d’ENIAC. Le First Draft of a Report on the EDVAC, diffusé en 1945 sous le nom de John von Neumann, expose une organisation différente du calcul et de la mémoire. Il s’inscrit dans des réflexions collectives auxquelles participent notamment Eckert et Mauchly ; il ne suffit pas à attribuer le programme enregistré à une seule personne.

L’article sur l’architecture de von Neumann détaille ce principe. Ici, le point important est de séparer le projet d’une nouvelle machine et la transformation d’une machine existante : la conversion d’ENIAC et le développement d’EDVAC sont des histoires liées, mais distinctes.

Machine ou projet Repère utile pour la comparaison
Colossus Traitements électroniques programmables, spécialisés dans certaines opérations de cryptanalyse.
ENIAC initial Calcul numérique généraliste, préparé par connexions et commutateurs.
ENIAC transformé Instructions encodées dans des tables de commutateurs, avec un contrôle réorganisé.
EDVAC Projet d’une autre machine, associé à une organisation du programme et des données en mémoire.

L’histoire de Colossus et Tommy Flowers montre pourquoi « électronique », « programmable », « généraliste » et « à programme enregistré » ne sont pas des synonymes.

Une reconnaissance qui doit inclure la programmation

La présentation publique de 1946 donne une grande visibilité à ENIAC. Elle n’accorde pas aux programmeuses une reconnaissance à la hauteur de leur travail. L’université de Pennsylvanie et l’ENIAC Programmers Project rappellent combien leur rôle a été longtemps laissé dans l’ombre.

Les témoignages recueillis par Kathy Kleiman contribuent à rétablir cette part de l’histoire. Jean Bartik, Betty Holberton et leurs collègues ne doivent pas apparaître uniquement comme les noms d’un hommage tardif : leurs choix expliquent comment la machine a pu devenir un instrument de calcul.

ENIAC reste utilisé jusqu’en 1955. Son importance ne tient pas seulement à ses dimensions ou à sa vitesse. Il montre que construire un calculateur, concevoir une méthode, programmer et vérifier les résultats sont des responsabilités liées. Son héritage est celui d’un travail collectif, matériel et intellectuel.

Questions fréquentes

ENIAC était-il binaire ?

Non. Son calcul était décimal, avec notamment des accumulateurs capables de conserver des nombres de dix chiffres. Le fait d’utiliser des circuits électroniques n’impose pas, à lui seul, une représentation binaire.

Les six programmeuses devaient-elles déplacer les câbles à chaque opération ?

Non. Elles préparaient une configuration permettant ensuite un enchaînement automatique. Un nouveau problème pouvait exiger de revoir cette configuration, mais les opérations d’un calcul déjà organisé n’étaient pas toutes déclenchées manuellement.

Pourquoi ne pas donner un temps de calcul unique pour une trajectoire ?

Le temps dépend de la méthode, des données, de la précision et du périmètre retenu : calcul seul, lecture des cartes ou préparation du programme. Le débit d’addition ne permet pas de déduire directement la durée d’un problème complet.

ENIAC fonctionnait-il déjà pendant les combats de la Seconde Guerre mondiale ?

Il a été conçu et financé dans ce contexte, mais ses premières utilisations datent de la fin de 1945, après la fin des combats. La présentation publique de février 1946 est encore une autre étape.

La conversion de 1948 a-t-elle transformé ENIAC en EDVAC ?

Non. ENIAC conserve son identité et reçoit un nouveau mode de contrôle utilisant des instructions encodées. EDVAC est un autre projet. Pour comparer les formes de programme enregistré, il faut aussi distinguer les tables de commutateurs d’une mémoire électronique réinscriptible.

Cet article vous a-t-il été utile ?

Sources et références

  1. University of Pennsylvania — ENIAC Day to celebrate dedication of Penn’s historic computer (2011) (s’ouvre dans un nouvel onglet)Page en anglais
  2. University Archives, University of Pennsylvania — ENIAC Trial Exhibits Master Collection : accord militaire du printemps 1943 (s’ouvre dans un nouvel onglet)Page en anglais
  3. University Archives, University of Pennsylvania — Inventaire des pièces du procès ENIAC, Ptf 1531 : contrat daté du 5 juin 1943, p. 136 (s’ouvre dans un nouvel onglet)Page en anglais
  4. War Department — Physical Aspects, Operation of ENIAC Are Described (1946), document conservé par le Smithsonian (s’ouvre dans un nouvel onglet)Page en anglais
  5. Smithsonian Institution — Entretien avec J. Presper Eckert, 2 février 1988 (s’ouvre dans un nouvel onglet)Page en anglais
  6. IEEE Computer Society — About Women of ENIAC : les six programmeuses (s’ouvre dans un nouvel onglet)Page en anglais
  7. ENIAC Programmers Project — Documentary Info : témoignages des programmeuses et travail de Kathy Kleiman (s’ouvre dans un nouvel onglet)Page en anglais
  8. University of Pennsylvania — On ENIAC’s anniversary, a nod to its female ‘computers’ (2019) (s’ouvre dans un nouvel onglet)Page en anglais
  9. American Physical Society — December 1945: The ENIAC Computer Runs Its First, Top-Secret Program (2022) (s’ouvre dans un nouvel onglet)Page en anglais
  10. Adele K. Goldstine, Central Control for ENIAC (s’ouvre dans un nouvel onglet), Édition commentée par Mark Priestley et Thomas Haigh, 2014, 1947Page en anglais
  11. Thomas Haigh, Mark Priestley et Crispin Rope, Engineering ‘The Miracle of the ENIAC’: Implementing the Modern Code Paradigm (s’ouvre dans un nouvel onglet), IEEE Annals of the History of Computing, 36(2), p. 41–59, 2014Page en anglais
  12. Computer History Museum — Programming the ENIAC: an example of why computer history is hard (2016) (s’ouvre dans un nouvel onglet)Page en anglais
  13. Computer History Museum — The Stored Program : comparaison avec les premières machines à programme enregistré (s’ouvre dans un nouvel onglet)Page en anglais
BiographieHistoire de l’informatiqueDébutant

Ada Lovelace : la visionnaire qui imagina le programme informatique

Découvrez la vie d'Ada Lovelace, sa collaboration avec Charles Babbage, son algorithme pour la machine analytique et l'héritage de celle que l'on présente souvent comme la première programmeuse.

31 juillet 20269 min