C’est quoi une Api REST ?

C’est quoi une API rest ?

REST est l’acronyme de “Representational State Transfer” inventé par Roy T. Fielding. c’est une solution qui permet de gérer ses données entre différents système d’exploitation et différents langages de programmation. C’est une architecture de services Web qui repose sur le protocole HTTP : On accède à une ressource (par son URI unique) pour procéder à diverses opérations.

HTTP va fournir les opération nécessaires à la manipulation de la ressource :
. GET pour récupérer la ressource
. POST pour créer la ressource
. PUT pour modifier la ressource
. DELETE pour supprimer la ressource.

Qu’est-ce qu’un service Web ?

La technologie des services Web est un moyen rapide de distribution de l’information entre clients, fournisseurs, partenaires commerciaux et leurs différentes plates-formes. En d’autres termes, un service Web est tout simplement un programme accessible au moyen d’Internet et n’est lié à aucun système d’exploitation ou langage de programmation !

Une Application REST va fonctionner en 3 étapes :

Voici un exemple, depuis mon application iOS, android ou depuis un site web je souhaite consulter une liste de fournisseur

1. L’Api REST vérifie s’ il n’y a pas d’erreurs ?
2. Si il y a une erreur elle renvoie un message.
3. Si il n’ y a pas d’erreur , elle renvoie une liste de fournisseurs.

En code, voici ce qui se passe :

1. Pas d’erreur

"success": true,

2. Pas de message

"msg": null,

3. Liste des fournisseurs disponibles

"result": {
  fournisseurs: [
    {
      "id": 1,
      "name": "Fournisseur 1",
      "statue": "true",
      "checkedAt":"2019-05-17T21:16:03.251Z",
    },
    {
      "id": 2,
      "name": "Fournisseur 2",
      "statue": "false",
      "checkedAt":"2019-05-17T21:16:23.251Z",
    }
  ];
},

 

L’application REST peut être connectée depuis différents site web mais aussi depuis un smartphone, si je modifie ou supprime un fournisseur depuis mon smartphone, il serai supprimé depuis les sites se connectant à cette même application.

La ressource

Dans le REST, le plus important est la ressource. On utilise la ressource, ou plutôt sa représentation. La ressource est “quelque chose” que l’on créé, qui va évoluer avec le temps.  On peut la modifier et la détruire via un “composant”.

Le composant

Le composant est un acteur qui agit sur une ressource via un canal. Chaque composant peut être lié à plusieurs ressources et plusieurs autres composants. Ces liaisons permettent des interactions sans états.

Les types MIME

Le Content-Type ou MIME Type est très important puisque c’est lui qui est utilisé par le navigateur pour déterminer le type du fichier, pas l’extension. C’est en fonction de ce type de fichier que le navigateur  déterminera l’action à accomplir (visualisation, téléchargement, etc..).

L’URI

L’uri ou “Uniform Ressource Identifier” est une courte chaîne de caractère qui va permettre d’identifier une ressource de manière permanente sur un réseau, même si la ressource est déplacée ou supprimée. Connaître l’URI suffit pour agir sur la ressource.
Cette notion d’URI est fondamentale car c’est le système global et unique d’identification du Web. L’URI est la pierre angulaire de l’architecture Web.

Différence entre URL et URI

URI la lettre “i” pour identification et URL la lettre “l” pour localisation, les localisateurs sont également des identificateurs , de sorte que chaque URL est également un URI, mais il existe des URI qui ne sont pas des URL

Les avantages des URI sont nombreux :

. liens

. favoris

. mécanismes de cache

. indexation par les moteurs de recherches

A noter : En utilisant les URI, il est possible de déployer une application partout dans le monde sans infrastructure additionnelle comme des annuaires ou des “registries”. Déployer un autre système de nommage qui aurait les mêmes propriétés que les URI serait très coûteux.

Quelle est la différence entre REST et RESTful ?

Il n’y a aucune différence, RESTful est simplement l’adjectif qui qualifie une architecture de type REST.

Quelles sont les différences entre SOAP et REST ?

REST et SOAP sont tous les deux des architectures utilisées pour fournir des services web.
REST est souvent utilisé lorsque la simplicité de mise en oeuvre est recherchée, il est lisible (pas d’enveloppe XML superflue) et facile à tester (un navigateur suffit) tout en étant facile de mise en oeuvre (un script PHP classique peut souvent être considéré comme RESTful).
SOAP est l’acronyme de “Simple Object Access Protocol”, il est intégré dans de nombreux outils de développements (possibilité d’export de classes en web services, possibilité de génération automatique de clients à partir des WSDL) et permet des contrôles forts sur les types de données attendus.

Quelques exemples d’API REST

L’API d’Instagram permet à votre application d’accéder aux comptes utilisateurs, aux photos, aux tags et plus encore.
L’API de Gmail tourne autour de 5 aspects principaux : les messages, les libellés, les brouillons, l’historique et les objets.

Comme toute chose dans la vie, une API est amenée à bouger dans le temps.

 

“Versioning an interface is just a « polite » way to kill deployed clients.”

Roy Fielding

 

Vous êtes arrivé au bout de cet article, j’en conclus qu’il vous a plu, alors envoyez moi un max d’étoiles ⭐⭐⭐⭐⭐,  et partagez le avec vos amis et vos connaissances sur les réseaux sociaux, avec les boutons ci-dessous :

4.9 (97.65%) 17 vote[s]

Partager cet article sur les réseaux sociaux :

Articles similaires