REST
REST définit des règles d’architecture pour des interfaces distribuées : ressources, requêtes sans état et liens en font partie.
Accéder aux ressources par une interface uniforme
REST signifie Representational State Transfer et désigne un style d’architecture. Les applications échangent des représentations de ressources, par exemple l’état actuel d’un projet. Ses contraintes comprennent la séparation du client et du serveur, des requêtes sans état, l’indication du caractère réutilisable en cache des réponses et une interface uniforme. Les liens des représentations orientent vers les étapes possibles suivantes ; une adresse HTTP renvoyant du JSON ne suffit pas à respecter ces contraintes.
Dans un portail de projets fictif, l’application demande une représentation du projet avec GET /projects/P-42. Elle contient aussi un lien vers /projects/P-42/tasks, prévu pour accéder aux tâches associées. Les deux chemins sont nos propres exemples de conception. La requête doit apporter les informations nécessaires à sa compréhension par le serveur ; celui-ci ne devrait pas avoir à reconstituer un dialogue antérieur avec ce client. Les données du projet peuvent toutefois être conservées durablement. « Sans état » décrit ici la communication, pas l’absence de base de données.
L’équipe d’intégration doit donc examiner les règles réelles concernant les ressources, les liens, les droits et la réutilisation des réponses. L’étiquette REST ne répond pas à elle seule à ces questions.
Sources
Termes associés
- APIUne API définit comment un logiciel peut utiliser les fonctions ou données proposées par un autre logiciel.
- GraphQLGraphQL permet de demander des champs via un schéma d’API typé. Le serveur reste responsable de l’accès aux données et des droits.
- OpenAPIOpenAPI décrit les interfaces HTTP sous une forme lisible par machine : chemins, paramètres et réponses. La description doit correspondre au service.
- Server-Sent EventsLes Server-Sent Events transmettent du texte du serveur au client par HTTP, par exemple sur l’avancement d’une tâche en arrière-plan.
- ETagUn ETag identifie une version de représentation d’une ressource HTTP et permet des lectures ou modifications conditionnelles.
- Cross-Origin Resource SharingCORS contrôle l’accès du navigateur aux réponses d’une autre origine. Il ne remplace ni la connexion ni la vérification des droits de l’API.
Votre projet avec ASES
Décrivez-nous votre projet. Nous revenons vers vous avec une première évaluation.