# Petite histoire des API

Aujourd'hui, la plupart des usages numériques (lire ses mails, poster du contenu, utiliser une IA, etc.) déclenchent des dizaines d'appels API. Ça n'a pas toujours été le cas : petit retour en arrière...

### Le web 1.0 : des pages et des formulaires

Au début des années 90, le web sert à afficher des **documents**. Le navigateur demande une page, le serveur la renvoie. Et c'est tout !

- Pas de JavaScript : il arrive en 1995 et sert surtout à faire clignoter des images. 
    - Retour dans le passé : [https://spacejam.com/1996/](https://spacejam.com/1996/)
- Seulement deux verbes HTTP utilisés en pratique : `GET` pour afficher une page et `POST` pour envoyer un formulaire.
- Chaque action recharge **toute** la page.

```html
<form action="/livre-dor.php" method="POST">
  <input name="message" value="Super site, bravo au webmaster !">
  <button>Signer le livre d'or</button>
</form>
```

<p class="callout info">Les autres verbes (`PUT`, `DELETE`…) existent dans HTTP depuis 1996, mais un formulaire HTML `<form>` ne sait toujours envoyer que `GET` ou `POST`, même en 2026.</p>

### Faire parler les machines entre elles

À la fin des années 90, les entreprises veulent que leurs programmes s'échangent des données, pas seulement des pages pour humains.

- **1998 – XML-RPC**, puis **SOAP** : on appelle une fonction à distance en envoyant une enveloppe XML. Puissant, mais très verbeux.
- **2000 – REST** : dans sa thèse, [Roy Fielding (un des auteurs de HTTP)](https://fr.wikipedia.org/wiki/Roy_Fielding) décrit un style d'architecture qui utilise le web tel qu'il est : des ressources, des URL et les verbes HTTP.
- **2002 – [Le mémo Bezos](https://medium.com/api-university/the-api-mandate-install-api-thinking-at-your-company-4335433b7d0b)** : chez Amazon, toutes les équipes doivent exposer leurs données uniquement via des interfaces de service. Ceux qui ne le font pas seront licenciés. Ambiance. C'est l'ancêtre d'AWS.

### Le web devient une application

- **2005 – AJAX** : Gmail et Google Maps chargent des données en arrière-plan sans recharger la page. Le navigateur devient un **client d'API**.
- **2007 – l'iPhone** : les applications mobiles n'affichent pas de HTML, elles ont besoin de données brutes. Il faut des API partout.
- **Années 2010 – l'ère des API publiques** : Twitter, Google Maps, Stripe, OpenWeather… Des entreprises vendent même **uniquement** une API. JSON remplace XML.
- **2015 – OpenAPI** (ex-Swagger) : un format standard pour décrire une API.

### Aujourd'hui : les machines consomment les API

Les applications « SPA » (React, Vue…) sont des coquilles vides qui récupèrent tout leur contenu par API.

<p class="callout success">Une API bien conçue et bien documentée sert aussi bien un développeur humain qu'une IA. C'est le fil conducteur de ce cours.</p>

<table id="bkmrk-ann%C3%A9e%C3%89tape-1991le-we" style="width: 49.7619%; height: 349.203px;"><thead><tr style="height: 55.2188px;"><th style="width: 20.1324%; height: 55.2188px;">Année</th><th style="width: 79.8676%; height: 55.2188px;">Étape</th></tr></thead><tbody><tr style="height: 34.1094px;"><td style="width: 20.1324%; height: 34.1094px;">1991</td><td style="width: 79.8676%; height: 34.1094px;">Le web : pages et formulaires</td></tr><tr style="height: 34.1094px;"><td style="width: 20.1324%; height: 34.1094px;">1998</td><td style="width: 79.8676%; height: 34.1094px;">XML-RPC, puis SOAP</td></tr><tr style="height: 34.1094px;"><td style="width: 20.1324%; height: 34.1094px;">2000</td><td style="width: 79.8676%; height: 34.1094px;">Thèse de Fielding : REST</td></tr><tr style="height: 34.1094px;"><td style="width: 20.1324%; height: 34.1094px;">2005</td><td style="width: 79.8676%; height: 34.1094px;">AJAX</td></tr><tr style="height: 55.2188px;"><td style="width: 20.1324%; height: 55.2188px;">2007</td><td style="width: 79.8676%; height: 55.2188px;">iPhone : les API deviennent indispensables</td></tr><tr style="height: 34.1094px;"><td style="width: 20.1324%; height: 34.1094px;">2010+</td><td style="width: 79.8676%; height: 34.1094px;">API publiques, JSON</td></tr><tr style="height: 34.1094px;"><td style="width: 20.1324%; height: 34.1094px;">2015</td><td style="width: 79.8676%; height: 34.1094px;">OpenAPI</td></tr><tr style="height: 34.1094px;"><td style="width: 20.1324%; height: 34.1094px;">2024</td><td style="width: 79.8676%; height: 34.1094px;">MCP : les IA consomment les API</td></tr></tbody></table>