Digital-Echo logo

Services

image article

Qu'est-ce qu'une API REST ?

Une API REST est une interface de programmation d'application permettant d'interagir avec différents services via le protocole http. L'architecture REST a été créée en 2000 par l'informaticien Roy Fielding..

Modifié le 07/11/2022 - Nathan Francois


Qu'est-ce qu'une API?

L'acronyme signifie Application Programming Interface(API)  en Anglais, et peut être traduit en français par "Interface de Programmation d'Application".

Une API, ou interface de programme d'application, est un ensemble de règles qui définissent comment les applications peuvent se connecter et communiquer entre elles pour s'échanger des données ou accéder à des fonctionnalités. Elle sert de médiateur entre la ressource et l'utilisateur souhaitant y accéder tout en gardant un niveau certain de sécurité via une authentification de l'utilisateur par exemple. Elle permet également de formatter les données de la réponse en fonction de la requête de l'utilisateur.

Par exemple, l'API Google Map permet d'inclure des cartes, des géocodes, des lieux, et d'autres contenus provenant de Google sur votre pages Web.

 

Qu'est-ce qu'une API REST?

Le terme Representational state transfer(REST) désigne un ensemble de contraintes pour la réalisation d'architecture logicielle destiné à apporter aux systèmes efficacité, fiabilité et scalabilité. Un système est dit "RESTful" si il respecte les 6 contraintes architecturales définissant le système REST.

Une API REST est donc une une application hébergeant et partageant ces ressources aux utilisateurs au moyen du protocole HTTP tout en respectant les 6 contraintes REST ci-dessous.

 

Les 6 contraintes d'une API RESTful :

  1. Client - Serveur - Une architecture constituée de clients souhaitant accéder aux ressources hébergées par des serveurs au moyen de requêtes effectuées via le protocole HTTP
  2. Stateless Server - Les requêtes doivent contenir toutes les informations nécessaires au traitement de la demande. Chaque requête doit-être traitée indépendamment. Il ne doit pas y avoir de session côté serveur.
  3. Cache - La réponse du serveur doit contenir les informations de mise en cache pour le client.
  4. Uniform interface - La contrainte d'interface uniforme permet de simplifier et découpler l'architecture, ce qui permet à chaque composant d'évoluer indépendamment. Les quatre contraintes de l'interface uniforme sont les suivantes :
    1. Identification des ressources dans les requêtes - Les ressources doivent-être identifiables via l'URI, exemple : GET URL/articles/1 pour récupérer l'article 1.
    2. Manipulation des ressources par des représentations - Les ressources doivent fournir suffisament d'information pour être modifiable par le client.
    3. Messages auto-descriptifs - Les messages doivent contenir suffisament d'informations pour permettre au client d'utiliser la ressource.
    4. Hypermédia comme moteur d'état de l'application (HATEOAS) - Le client doit être en mesure d'utiliser dynamiquement les hyperliens fournis par le serveur pour utiliser l'ensemble des ressources.
  5. Layered System - Le système doit permettre le rajout de couches intermédiaires (proxy, firewall, équilibrage de charge…) tout en restant invisible pour l'utilisateur.
  6. Code-on-Demand Architecture (optionnelle) - L’architecture doit permettre d’exécuter du code exécutable depuis le serveur directement sur le client si celui-ci en fait la demande afin d'étendre ces fonctionnalités.

 

Le protocole HTTP

Les API REST utilisent pleinement le protocole Hypertext Transfer Protocol(HTTP) pour communiquer entre les client et le serveur. Le client effectue une requête HTTP et le serveur renvoie une réponse au format HTTP.

Le client utilise différentes méthodes de requête HTTP pour interroger le serveur :

  • GET - La méthode GET demande une représentation de la ressource spécifiée. Les requêtes GET sont utilisées afin de récupérer des données.
  • POST - La méthode POST est utilisée pour envoyer une entité vers la ressource indiquée. Cela entraîne généralement un changement d'état de la ressource.
  • PUT - La méthode PUT remplace toutes les représentations actuelles de la ressource visée par le contenu de la requête.
  • DELETE - La méthode DELETE supprime la ressource indiquée.
  • HEAD - La méthode HEAD demande une réponse identique à une requête GET pour laquelle on aura omis le corps de la réponse (on a uniquement l'en-tête).
  • OPTIONS - La méthode OPTIONS est utilisée pour décrire les options de communications avec la ressource visée.
  • CONNECT - La méthode CONNECT établit un tunnel vers le serveur identifié par la ressource cible.
  • TRACE - La méthode TRACE réalise un message de test aller/retour en suivant le chemin de la ressource visée.
  • PATCH - La méthode PATCH est utilisée pour appliquer des modifications partielles à une ressource.

 

Conclusion

Une API REST est une application hébergée sur un serveur fournissant des ressources modifiables par les clients au moyen du protocole HTTP de façon simplifiée tout en offrant une grande scalabilité et une couche de sécurité supplémentaire.

Les plus récents


user logo

Nathan Francois

07/11/2022

Partager :

Les plus populaires

Les articles les plus consultés en ce moment.

image article

Les 12 meilleurs API REST gratuites 2022

Un classement des meilleurs API gratuites pour vos applications web et mobile en 2022.


Digital-Echo logo

© Digital-Echo. 2021

Lorsque vous visitez ou interagissez avec nos sites, services ou outil, nous pouvons stocker vos informations de navigation. Celles-ci ne seront pas partagées et nous permettent d′améliorer l′expérience utilisateur pour vous offrir une navigation plus rapide et plus sûre.

Politique de confidentialité