Un homme assis derrière un ordinateur avec du code à l'écran

Les API Web expliquées simplement

Publié le

Vous consultez la météo sur votre téléphone ? Vous commandez un Uber ? Vous vous connectez avec Google ? À chaque fois, des API travaillent en coulisses. Si vous développez ou si vous voulez juste comprendre comment fonctionne le web aujourd'hui, comprendre les API est indispensable. Pas de panique, c'est beaucoup plus simple qu'il n'y paraît. Allons-y.

L'analogie du restaurant

On voit cette analogie partout mais je pense que c'est la manière la plus facile et efficace de vraiment comprendre ce qu'est une API.

L'idée c'est d'assimiler l'API au rôle d'un serveur dans un restaurant. Le client consulte le menu (la documentation), formule une demande (la requête), le serveur la transmet en cuisine (le système qui traite l'information) et revient avec le plat commandé (la réponse). L'utilisateur n'a pas besoin de connaître les détails internes du fonctionnement : seule la garantie de recevoir le bon résultat importe.

Concrètement, c'est quoi ?

Une API (Application Programming Interface), c'est une interface qui permet à un logiciel d'en interroger un autre. En gros, c'est un contrat : "Si tu me demandes ça de cette manière, je te garantis que je te renverrai ça." Ça évite de réinventer la roue à chaque projet. On veut gérer des paiements ? On se branche sur Stripe. On veut des cartes ? Google Maps. De l'authentification ? OAuth. Tout est déjà là.

Ce que ça apporte :

  • Réutiliser des fonctionnalités existantes (paiement, cartes, authentification, messagerie…)
  • Connecter facilement plusieurs services au sein d'une même application
  • Valoriser des services ou des données en les rendant accessibles via une API

Exemples du quotidien

Uber : L'application interroge l'API Google Maps pour le calcul d'itinéraires et utilise une API de paiement (Stripe, Apple Pay, etc.) pour traiter la transaction.

Connexion sociale : Le bouton « Se connecter avec Google » s'appuie sur une API d'authentification sécurisée qui permet à un site tiers de vérifier l'identité de l'utilisateur sans jamais connaître son mot de passe.

Météo : Les applications météo ne génèrent pas elles-mêmes les prévisions : elles interrogent des services externes via des API, comme OpenWeatherMap, qui renvoient les données en temps réel.

Comment ça communique ?

Une API web s'appuie généralement sur un schéma simple : une requête est envoyée, un traitement est effectué côté serveur, puis une réponse est retournée au client.

Les méthodes HTTP les plus courantes sont :

  • GET : récupérer des données (ex: afficher la liste des utilisateurs)
  • POST : créer une ressource (ex: ajouter un nouvel utilisateur)
  • PUT/PATCH : modifier une ressource (ex: changer l'email d'un utilisateur)
  • DELETE : supprimer une ressource (ex: supprimer le compte d'un utilisateur)

Les réponses sont souvent renvoyées au format JSON :

{
  "id": 1,
  "nom": "Dupont",
  "email": "dupont@example.com"
}

Les différents types d'API

Maintenant qu'on a vu comment ça communique, parlons un peu des architectures. Il existe plusieurs façons de concevoir une API, mais deux approches dominent (ou ont dominé) : REST et SOAP.

REST

REST (Representational State Transfer), c'est le standard actuel.

  • Utilise directement HTTP
  • Chaque requête est indépendante - pratique pour scaler, mais ça veut dire qu'on renvoie le contexte à chaque fois
  • JSON dans 99% des cas, même si techniquement on peut utiliser un autre format

SOAP

SOAP (Simple Object Access Protocol), c'est l'ancienne école. Plus rigide, plus verbeux, mais parfois nécessaire.

  • Utilise exclusivement XML (prépare-toi à des balises partout)
  • Intègre nativement des mécanismes de sécurité avancés (WS-Security, etc.)
  • Plus formel et plus lourd, mais adapté aux systèmes critiques (banques, assurances, grands systèmes historiques)

SOAP, franchement, sauf si on bosse dans une banque ou une grosse entreprise avec du legacy, on a peu de chances d'y toucher. REST a clairement gagné la bataille pour tout ce qui est web moderne.

Et la sécurité dans tout ça ?

Une API publique sans sécurité, c'est la porte ouverte. Du coup, la plupart des API nécessitent une authentification. Les méthodes les plus courantes :

  • API Keys : une clé unique que tu passes dans ta requête. Simple mais à ne jamais exposer côté client.
  • OAuth : le système derrière "Se connecter avec Google/Facebook". Plus complexe mais bien plus sécurisé pour gérer des permissions.
  • JWT (JSON Web Tokens) : des tokens chiffrés qui prouvent ton identité sans renvoyer ton mot de passe à chaque fois.

Pour conclure

Les API, c'est le ciment du web. Elles permettent à tous ces services qu'on utilise quotidiennement de communiquer sans que chacun doive recoder toute la stack. (et il faut bien dire que ça nous fait gagner un temps fou)

REST domine aujourd'hui parce que c'est simple et que ça marche. SOAP existe encore dans les environnements où la sécurité et la formalisation sont critiques, mais pour un projet web classique, on part souvent directement sur du REST.

Le meilleur moyen de se lancer c'est de tester des API publiques. Lire la doc, lancer quelques requêtes avec Postman ou directement en JavaScript. On comprend 10x mieux qu'en lisant des définitions.

Sources

Mots clés

JavaScript
Un ordinateur portable affichant du code sur l'écran. Protéger et sécuriser les objets en JavaScript

Découvrez comment utiliser Object.freeze() et Object.seal() en JavaScript pour protéger vos objets. Apprenez à limiter les modifications grâce à ces méthodes.

Vue à travers des lunettes avec du code informatique en arrière-plan 20 Techniques Pratiques pour les Tableaux en JavaScript

Découvrez 20 techniques essentielles pour manipuler des tableaux en JavaScript : accès aux éléments, transformations, filtrages, tri et plus encore.

Tableau de bord avec des graphiques et des documents Calculer des mesures statistiques en JavaScript

Découvrez comment calculer des mesures statistiques comme la moyenne, la médiane, le mode, la variance, l'écart-type, la plage et la somme des carrés.