Université Abderrahmane Mira de Béjaia
Faculté des Sciences Exactes
Département d’Informatique
Le REST
(Cours 5)
Dr H. EL BOUHISSI
Septembre 2023
Objectifs du cours
1 Découvrir le les Service Web REST
2 Comprendre les briques de base des Services REST
REST - Définition
REST acronyme de REpresentational State Transfert : Concept introduit en 2000
dans la thèse de Roy FIELDING (un des créateurs du protocole HTTP).
REST est une manière de construire une application pour les systèmes distribués
comme le World Wide Web.
Ce n’est pas:
•Un format
•Un protocole
•Un standard
REST n’est pas un standard: Pas de recommandation du W3C
Les 5 règles à suivre pour implémenter REST
Style d’architecture inspiré de l’architecture WEB et repose sur le HTTP.
Permet l’envoi de messages sans enveloppe SOAP et dans un encodage libre (XML,
JSON, binaire, simple texte).
Les 5 règles à suivre pour implémenter REST
Règle n°1 : l’URI comme identifiant des ressources
REST se base sur les URI (Uniform Resource Identifier) afin d’identifier une ressource. Il est
nécessaire de prendre en compte la hiérarchie des ressources et la sémantique des URL
pour les éditer. Par exemple : une ressource : « liste de livres »
Non OK : http://mywebsite.com/book OK : http://mywebsite.com/books
Règle n°2 : les verbes HTTP comme identifiant des opérations
La seconde règle d’une architecture REST est d’utiliser les verbes HTTP existants plutôt
que d’inclure l’opération dans l’URI de la ressource. Ainsi, généralement pour une
ressource, il y a 4 opérations possibles (CRUD) :
Créer (create) → POST
Afficher (read) → GET
Mettre à jour (update) → PUT
Supprimer (delete) → DELETE
Les 5 règles à suivre pour implémenter REST
Règle n°3 : les réponses HTTP comme représentation des ressources
Il est important d’avoir à l’esprit que la réponse envoyée n’est pas une ressource, c’est la
représentation d’une ressource. Ainsi, une ressource peut avoir plusieurs représentations
dans des formats divers : HTML, XML, CSV, JSON, etc.
C’est au client de définir quel format de réponse il souhaite recevoir via l’entête Accept. Il
est possible de définir plusieurs formats.
Règle n°4 : les liens comme relation entre ressources
Les liens d’une ressource vers une autre ont tous une chose en commun : ils indiquent la
présence d’une relation.
Règle n°5 : un paramètre comme jeton d’authentification
Comment authentifier une requête ? La réponse est très simple et est massivement utilisée
par des APIs renommées (Google, Yahoo, etc.) : le jeton d’authentification.
Services REST : Fournisseurs
Description de services Web REST
Langages : WSDL 2.0,WADL, RSDL (Restful Service Description Language), SERIN
(Semantic RESTFul Interfaces).
• WSDL2.0 : Évolution de Web Service Description Language recommandé en
2007 par le W3C. Il permet de spécifier un binding HTTP au lieu de SOAP
• WADL (Web Application Description Language) : Un langage de description
XML de services de type REST.
Permet une description de services par éléments de type: ressource, méthode,
paramètre, requête, réponse.
Pas assez de Framework qui supportent la description WADL
Dr
Description de services Web REST : WADL
Description de services Web REST : WADL
Exemples de service web REST
TP 5 et TP 6
REST vs SOAP (Simple Object Access Protocol)