Connexion / Inscription Account
Jump to section

Une API REST, qu'est-ce que c'est ?

Copier l'URL

Une API REST (également appelée API RESTful) est une interface de programmation d'application (API ou API web) qui respecte les contraintes du style d'architecture REST et permet d'interagir avec les services web RESTful. L'architecture REST (Representational State Transfer) a été créée par l'informaticien Roy Fielding.

Essayer Red Hat OpenShift API Management

Une API est un ensemble de définitions et de protocoles qui facilite la création et l'intégration de logiciels d'applications. Elle est parfois considérée comme un contrat entre un fournisseur d'informations et un utilisateur d'informations, qui permet de définir le contenu demandé au consommateur (l'appel) et le contenu demandé au producteur (la réponse). Par exemple, l'API conçue pour un service de météo peut demander à l'utilisateur de fournir un code postal et au producteur de renvoyer une réponse en deux parties : la première concernant la température maximale et la seconde la température minimale.

En d'autres termes, lorsque vous souhaitez interagir avec un ordinateur ou un système pour récupérer des informations ou exécuter une fonction, une API permet d'indiquer au système ce que vous attendez de lui, afin qu'il puisse comprendre votre demande et y répondre. 

Vous pouvez vous représenter une API comme un médiateur entre les utilisateurs ou clients et les ressources ou services web auxquels ils souhaitent accéder. Pour une entreprise, c'est aussi une solution pour partager des ressources et des informations, tout en maintenant un certain niveau de sécurité, de contrôle et d'authentification, en déterminant qui est autorisé à accéder à quoi. 

Autre avantage des API : vous n'avez pas besoin de connaître le fonctionnement exact de la mise en cache, c'est-à-dire de savoir comment vos ressources sont récupérées ni d'où elles proviennent.

Conseils de conception pour les développeurs de microservices

REST est un ensemble de contraintes architecturales. Il ne s'agit ni d'un protocole, ni d'une norme. Les développeurs d'API peuvent mettre en œuvre REST de nombreuses manières.

Lorsqu'un client émet une requête par le biais d'une API RESTful, celle-ci transfère une représentation de l'état de la ressource au demandeur ou point de terminaison. Cette information, ou représentation, est fournie via le protocole HTTP dans l'un des formats suivants : JSON (JavaScript Object Notation), HTML, XLT, Python, PHP ou texte brut. Le langage de programmation le plus communément utilisé est JSON, car, contrairement à ce que son nom indique, il ne dépend pas d'un langage et peut être lu aussi bien par les humains que par les machines. 

Autre point à retenir : les en-têtes et paramètres jouent également un rôle majeur dans les méthodes HTTP d'une requête HTTP d'API RESTful, car ils contiennent des informations d'identification importantes concernant la requête (métadonnées, autorisation, URI, mise en cache, cookies, etc.). Il existe des en-têtes de requête et des en-têtes de réponse. Chacun dispose de ses propres informations de connexion HTTP et codes d'état.

Une API RESTful doit remplir les critères suivants :

  • Une architecture client-serveur constituée de clients, de serveurs et de ressources, avec des requêtes gérées via HTTP
  • Des communications client-serveur stateless, c'est-à-dire que les informations du client ne sont jamais stockées entre les requêtes GET, qui doivent être traitées séparément, de manière totalement indépendante
  • La possibilité de mettre en cache des données afin de rationaliser les interactions client-serveur
  • Une interface uniforme entre les composants qui permet un transfert standardisé des informations Cela implique que :
    • les ressources demandées soient identifiables et séparées des représentations envoyées au client ;
    • les ressources puissent être manipulées par le client au moyen de la représentation reçue, qui contient suffisamment d'informations ;
    • les messages autodescriptifs renvoyés au client contiennent assez de détails pour décrire la manière dont celui-ci doit traiter les informations ;
    • l'API possède un hypertexte/hypermédia, qui permet au client d'utiliser des hyperliens pour connaître toutes les autres actions disponibles après avoir accédé à une ressource.
  • Un système à couches, invisible pour le client, qui permet de hiérarchiser les différents types de serveurs (pour la sécurité, l'équilibrage de charge, etc.) impliqués dans la récupération des informations demandées
  • Du code à la demande (facultatif), c'est-à-dire la possibilité d'envoyer du code exécutable depuis le serveur vers le client (lorsqu'il le demande) afin d'étendre les fonctionnalités d'un client 

Bien que l'API REST doive répondre à l'ensemble de ces critères, elle est considérée comme étant plus simple à utiliser qu'un protocole tel que SOAP (Simple Object Access Protocol), qui est soumis à des contraintes spécifiques, dont la messagerie XML, la sécurité intégrée et la conformité des transactions, ce qui le rend plus lourd et moins rapide. 

Puisque REST est un ensemble de directives mises en œuvre à la demande, les API REST sont plus rapides et légères, et offrent une évolutivité accrue. Elles sont donc idéales pour l'IoT (Internet des objets) et le développement d'applications mobiles

Red Hat® Integration est une solution centrée sur les API qui fournit des fonctionnalités de connectivité entre les applications, de transformation des données, de composition et d'orchestration des services, de diffusion de messages en temps réel, de capture des modifications de données et de gestion des API, le tout, à partir d'un seul endroit, afin de connecter les applications et les données au sein d'une infrastructure hybride. Elle est associée avec une plateforme et une chaîne d'outils cloud-native, pour assurer la prise en charge du développement d'applications modernes. 

Red Hat 3scale API Management est un élément de la solution Red Hat Integration qui vous permet de partager, distribuer, contrôler et monétiser vos API sur une plateforme d'infrastructure, pensée pour les performances, le contrôle, la sécurité et la croissance. Les composants de 3scale peuvent être hébergés sur site, dans le cloud ou les deux. 

Les outils d'intégration qui peuvent vous être utiles

Red Hat Integration logo

Ensemble complet de technologies d'intégration et de messagerie.

Red Hat 3scale API Management

Plateforme de gestion des API.

Service de gestion des API géré pour Red Hat OpenShift Dedicated.

Illustration - mail

Ce type de contenu vous intéresse?

Inscrivez-vous à notre newsletter Red Hat Shares.