Retour au blogTutoriels

Les API REST expliquees simplement : comprendre et utiliser les API web

18 janvier 202611 min de lecture

Les Sables Web

Fondateur, Les Sables Web

Introduction

Lorsque vous consultez la meteo sur votre telephone, que vous payez en ligne avec Stripe ou que vous vous connectez avec Google, vous utilisez une API (Application Programming Interface). Les API sont les intermediaires invisibles qui permettent aux applications de communiquer entre elles.

Le style d'architecture le plus repandu pour les API web est REST (Representational State Transfer), defini par Roy Fielding dans sa these de doctorat en 2000.

Qu'est-ce qu'une API

L'analogie du restaurant

Imaginez un restaurant. Vous (le client) ne pouvez pas entrer directement dans la cuisine (le serveur). Vous passez par le serveur (l'API) qui transmet votre commande a la cuisine et vous rapporte votre plat.

Dans le monde du web :

  • Le client : votre application (navigateur, appli mobile)
  • L'API : l'intermediaire qui recoit les requetes et renvoie les reponses
  • Le serveur : la base de donnees et la logique metier

Pourquoi les API existent

Les API permettent de :

  • Reutiliser des fonctionnalites : plutot que de creer votre propre systeme de paiement, utilisez l'API de Stripe
  • Separer le frontend du backend : une meme API peut servir un site web, une appli mobile et un chatbot
  • Partager des donnees : les API publiques permettent aux developpeurs d'acceder a des services tiers

Les principes de REST

Les ressources

En REST, tout est une ressource identifiee par une URL :

  • /api/articles : la collection d'articles
  • /api/articles/42 : l'article avec l'identifiant 42
  • /api/articles/42/commentaires : les commentaires de l'article 42

Les verbes HTTP

REST utilise les methodes HTTP pour definir l'action a effectuer :

Methode Action Exemple
GET Lire une ressource GET /api/articles → liste des articles
POST Creer une ressource POST /api/articles → creer un article
PUT Remplacer une ressource PUT /api/articles/42 → remplacer l'article 42
PATCH Modifier partiellement PATCH /api/articles/42 → modifier un champ
DELETE Supprimer une ressource DELETE /api/articles/42 → supprimer l'article 42

Les codes de statut

Chaque reponse HTTP contient un code de statut qui indique le resultat :

  • 200 OK : la requete a reussi
  • 201 Created : une ressource a ete creee avec succes
  • 400 Bad Request : la requete est malformee (donnees manquantes, format incorrect)
  • 401 Unauthorized : authentification requise
  • 403 Forbidden : authentifie mais pas autorise
  • 404 Not Found : la ressource n'existe pas
  • 429 Too Many Requests : limite de requetes depassee
  • 500 Internal Server Error : erreur cote serveur

Le format JSON

Les API REST echangent generalement des donnees au format JSON (JavaScript Object Notation) :

{
  "id": 42,
  "titre": "Mon article",
  "auteur": {
    "nom": "Marie Dupont",
    "email": "marie@exemple.fr"
  },
  "tags": ["web", "tutoriel"],
  "publie": true
}

JSON est lisible par les humains et facilement traitable par les machines.

Utiliser une API en pratique

Avec fetch en JavaScript

// GET : recuperer des articles
const response = await fetch('https://api.exemple.fr/articles');
const articles = await response.json();
console.log(articles);

// POST : creer un article
const newArticle = await fetch('https://api.exemple.fr/articles', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer votre-token-ici'
  },
  body: JSON.stringify({
    titre: 'Nouvel article',
    contenu: 'Le contenu de l'article...'
  })
});

Avec cURL en ligne de commande

# GET
curl https://api.exemple.fr/articles

# POST avec authentification
curl -X POST https://api.exemple.fr/articles \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer votre-token" \
  -d '{"titre": "Nouvel article"}'

Avec un outil graphique

Postman et Insomnia sont des outils populaires qui permettent de tester des API visuellement, sans ecrire de code. Ils offrent un historique des requetes, la gestion des environnements (dev, staging, production) et le partage de collections entre equipes.

L'authentification

Les cles API

La methode la plus simple : une cle unique transmise dans un en-tete HTTP :

Authorization: Api-Key votre-cle-secrete

OAuth 2.0

Le standard pour l'authentification deleguee (« Se connecter avec Google »). OAuth 2.0 permet a un utilisateur d'autoriser une application tierce a acceder a ses donnees sans partager son mot de passe.

Les JSON Web Tokens (JWT)

Un JWT est un jeton signe qui contient des informations sur l'utilisateur. Il est transmis dans l'en-tete Authorization: Bearer <token> et verifie cote serveur sans interroger la base de donnees.

Les bonnes pratiques

  1. Versionner votre API : /api/v1/articles permet de faire evoluer l'API sans casser les clients existants
  2. Paginer les resultats : ne jamais renvoyer des milliers d'elements en une seule reponse
  3. Documenter avec OpenAPI : le standard OpenAPI (ex-Swagger) genere une documentation interactive
  4. Limiter les requetes (rate limiting) : protegez votre serveur contre les abus
  5. Utiliser HTTPS : toujours, sans exception

Conclusion

Les API REST sont le ciment du web moderne. Comprendre leur fonctionnement vous permet d'integrer des services tiers, de construire des architectures flexibles et de collaborer efficacement entre equipes frontend et backend.

Partager :
Contact

Parlons de votre projet

Decrivez votre besoin en quelques lignes. Je vous reponds sous 24h avec une premiere analyse et un devis gratuit, sans engagement.

En soumettant ce formulaire, vous acceptez que vos donnees soient utilisees pour repondre a votre demande. Aucune donnee n'est partagee avec des tiers. Politique de confidentialite. Ce site est protege par reCAPTCHA et les Regles de confidentialite et Conditions d'utilisation de Google s'appliquent.