Par Maurice Wilkes (1940s/50s) / Roy Fielding (REST, 2000) · Formalisé pour le Web en 2000 (Thèse de Roy Fielding) · Sources officielles vérifiées
En résumé
Ensemble normalisé de protocoles, règles et définitions permettant à des composants logiciels distincts de communiquer et d'échanger des données de façon sécurisée et automatisée.
Une API (Interface de Programmation d'Application) définit les requêtes possibles, la structure des données transmises et les formats de réponse attendus entre un client et un serveur. Sur le web, les APIs s'appuient principalement sur le protocole HTTP et s'articulent autour de plusieurs paradigmes dominants : REST (Representational State Transfer), GraphQL, gRPC (Remote Procedure Call avec Protocol Buffers) et les Webhooks pour la communication asynchrone.
Une API robuste en production repose sur des standards stricts de transport, de sécurité et de versioning.
Utilisation sémantique des verbes HTTP (GET pour la lecture, POST pour la création, PUT/PATCH pour la modification, DELETE pour la suppression) et des statuts (200 OK, 201 Created, 400 Bad Request, 401 Unauthorized, 404 Not Found, 500 Server Error).
Protection des accès via des jetons Bearer JWT (JSON Web Tokens), clés d'API (API Keys), OAuth 2.0 pour la délégation de droits, et rate limiting (limitation du débit de requêtes pour éviter les abus).
Standardisation des contrats d'interface via la spécification OpenAPI / Swagger, permettant de générer automatiquement des SDKs clients et une documentation interactive.
Données techniques vérifiées auprès des documentations officielles, des RFCs et des spécifications standards.