Les types d’API les plus courants : REST, SOAP et RPC

types api

Les API sont des interfaces de programmation d’applications qui permettent à des programmes, des applications ou à des services distincts de communiquer entre eux. Mais toutes les API ne sont pas identiques. En effet, les API sont définies par un ensemble de règles et de spécifications, qui varient en fonction de l’usage. Dans cet article, nous allons voir ensemble les types d’API les plus courants.

API REST (ou API web)

Les API REST, généralement appelées API RESTful sont conçues pour être accessibles via le web en utilisant le protocole HTTP ou HTTPS. Elles sont très utilisées pour les applications web et mobiles.

En effet, lorsque vous accédez à l’application météo sur votre smartphone, elle utilise très probablement une API Web pour récupérer les données météorologiques d’un serveur distant.

On peut aussi, par exemple, créer un site internet de presse où les informations sont directement prises des google actualités top stories grâce à une API.

Les API REST suivent les principes de l’architecture REST (Representational State Transfer), l’approche la plus courante pour développer des API.
Elle repose sur une architecture client-serveur qui distingue les parties front-end et back-end de l’API. Cette distinction permet une grande souplesse en matière de développement et d’application.

REST se distingue des autres architectures par sa caractéristique est qu’il est “stateless”. Cela signifie que l’API ne conserve ni état ou ni données entre les différentes requêtes.

Cette caractéristique offre un avantage en termes de performance, car REST prend en charge la mise en cache.

Ainsi, elle peut stocker temporairement des réponses pour des API qui ne sont pas sensibles au temps ou qui sont lentes.
Elles ont également la capacité de communiquer soit directement, soit indirectement à travers des systèmes comme les passerelles API et les équilibres de charge.

On distingue 4 types d’API REST (web) :

  • API publiques. Ouvertes à tous, ces interfaces sont développées par des entreprises pour partager leurs ressources. Elles demandent généralement une authentification et peuvent être monétisées par utilisation.
  • API partenaires. Réservées à des utilisateurs spécifiques, elles facilitent les échanges entre entreprises, comme le partage de données avec des CRM. Elles offrent une haute sécurité et privilégient la rémunération des partenaires via services plutôt que par utilisation.
  • API internes. Utilisées en interne, elles connectent différents systèmes d’une entreprise. Réputée pour avoir une sécurité faible, cette approche évolue face aux menaces actuelles.
  • API composites. Combinant plusieurs interfaces, elles orchestrent des opérations complexes ou interdépendantes, offrant souvent une meilleure performance que les API individuelles.

API SOAP (Simple Object Access Protocol)

Contrairement aux API RESTful, les API SOAP sont un protocole standard qui permet aux programmes de communiquer entre eux via le Web. Les API SOAP sont une norme de messagerie du W3C pour les API Web, généralement en XML.

Compatible avec plusieurs protocoles comme HTTP et SMTP, SOAP est extensible et ne dépend pas du style. À la différence de REST, plus souple, SOAP est strict et bien réglementé. Contrairement à REST qui utilise souvent OpenAPI, SOAP s’appuie principalement sur son propre IDL.

API RPC (Remote Procedure Call)

L’API RPC permet à un programme d’exécuter une procédure dans un autre espace d’adresse, généralement sur un autre ordinateur sur un réseau.

Contrairement aux API REST qui échangent principalement des données ou des ressources, les API RPC déclenchent des actions ou exécutent des processus.

Les API RPC peuvent être codées en JSON et en XML.

Share This Post