REST en français

Introduction à REST

REST, qui signifie REpresentational State Transfer, est un style architectural utilisé pour concevoir des API. Ce concept a été formalisé par Roy Fielding dans sa dissertation sur les architectures basées sur réseau. Il repose sur plusieurs principes qui orientent la manière dont les API sont construites.

Les contraintes de REST

REST repose sur six contraintes fondamentales qui guident la conception d’une API. Chaque contrainte contribue à garantir que l’API soit optimale, maintenable et scalable. Voici ces contraintes :

  1. Interface Uniforme : L’API doit utiliser des méthodes HTTP standard pour chaque opération réalisée sur une ressource. Les méthodes courantes incluent GET, POST, PUT, et DELETE.
  2. Système en Couches : L’architecture peut être constituée de plusieurs couches, où chaque couche joue un rôle distinct. Par exemple, la couche de données et la couche d’authentification peuvent être hébergées sur des serveurs différents, permettant ainsi une meilleure séparation des responsabilités.
  3. Mise en Cache : Les réponses des clients doivent pouvoir être mises en cache. De plus, le serveur doit indiquer aux clients combien de temps garder une réponse dans leur cache.
  4. Modèle Client-Serveur : Le client et le serveur doivent être des entités séparées, communiquant via des requêtes et des réponses HTTP.
  5. Statelessness (Sans État) : Le serveur ne doit pas conserver d'informations relatives à l'état ou à la session du client. C’est au client de gérer ces informations.
  6. Code à la Demande (optionnel) : Dans certaines circonstances, l’API peut envoyer du code exécutable au client. Cela permet au client de faire des traitements dynamiques selon les besoins. Le JavaScript est souvent utilisé à cet effet.