Introduction à l'informatique · L1 · Section 4/7
Histoire brève
Progression
#Brève histoire de l'informatique
#Prérequis
Aucun. Ce chapitre sert de carte ; les notions croisées (compilateur, système d'exploitation, réseau) sont détaillées dans matériel et logiciel.
#Objectifs d'apprentissage
- Ordonner les grandes vagues techniques, de 1800 à aujourd'hui.
- Associer à chaque vague l'abstraction nouvelle qu'elle apporte.
- Situer un outil actuel (conteneur, navigateur, framework) dans cette lignée.
#Jalons structurants
#Machines programmables (1800-1930)
Du métier à tisser de Jacquard aux machines analytiques de Babbage et aux notes d'Ada Lovelace, une idée émerge : un programme peut décrire une suite d'actions séparée de la machine. Les cartes perforées prouvent qu'on peut stocker des instructions et les remplacer sans toucher au matériel.
#Fondements théoriques (1930-1950)
Alan Turing et Alonzo Church formalisent ce qui est calculable. Les premiers ordinateurs électroniques (Colossus, ENIAC) automatisent des calculs réels, mais la programmation reste câblée : changer de programme demande de rebrancher la machine.
#Langages et systèmes (1950-1970)
Le compilateur (Fortran en 1957, COBOL en 1959) permet d'écrire des programmes proches du problème plutôt que du matériel. Les systèmes d'exploitation multi-tâches partagent la machine entre plusieurs utilisateurs et introduisent fichiers, processus et gestion de la mémoire.
#Standardisation et réseaux (1970-1990)
UNIX popularise la philosophie « tout est fichier » et des outils composables, écrits en C. Le micro-ordinateur rend l'informatique personnelle et abordable. ARPANET puis Internet démocratisent la communication entre machines.
#Web, mobile, cloud (1990-2010)
Le web déploie le modèle client-serveur à grande échelle sur des standards ouverts : HTTP, HTML, CSS, puis JavaScript. Smartphones et tablettes imposent l'interface tactile et une forte contrainte énergétique. Le cloud rend l'infrastructure élastique : on loue de la capacité à la demande.
#Données et IA à grande échelle (2010 à aujourd'hui)
Les architectures distribuées, les GPU et l'apprentissage profond transforment la vision, le langage et la recommandation. Gouvernance, éthique et consommation énergétique deviennent des sujets de conception, pas des annexes : voir informatique et société.
#Le fil directeur : chaque vague ajoute une abstraction
| Vague | Abstraction gagnée | Ce que vous cessez de gérer |
|---|---|---|
| Compilateurs | écrire a + b au lieu d'assembleur | les registres et les instructions machine |
| Systèmes d'exploitation | fichiers, processus, sockets | les disques, la mémoire physique, les cartes |
| Réseaux et web | HTTP, URL, navigateur | les paquets, la retransmission, le routage |
| Cloud et conteneurs | capacité à la demande | les serveurs physiques et leur dimensionnement |
| IA de service | API de langage et de vision | l'entraînement et l'hébergement des modèles |
Chaque palier simplifie le précédent, jamais gratuitement : il ajoute des couches à comprendre quand quelque chose se casse.
#Exercice
Associez chaque usage à l'abstraction qui le rend possible, parmi : compilateur, système d'exploitation, pile web, cloud.
- Écrire
x = y + 1sans connaître le fonctionnement du CPU. - Ouvrir un fichier sans connaître le modèle du SSD.
- Charger une page web sans gérer les retransmissions perdues.
- Absorber un pic de trafic avec 100 serveurs supplémentaires, sans acheter un seul rack.
#Éléments de correction
- Le compilateur (avec l'abstraction du langage de haut niveau) traduit vers le code machine.
- Le système d'exploitation et son système de fichiers exposent
openetread. - La pile web : TCP fiabilise le transport, HTTP structure l'échange, le navigateur orchestre le rendu.
- Le cloud : virtualisation et orchestration transforment le matériel en capacité facturable à la demande.
#À retenir
Chaque vague introduit une abstraction qui cache la précédente : le compilateur cache l'assembleur, l'OS masque le matériel, le web masque les protocoles bas niveau. Situer un outil dans cette pile aide à lire sa documentation, à anticiper ses limites et à expliquer vos décisions d'architecture.