Aller au contenu
hexora

Concevoir et documenter une API : OpenAPI, versions et sécurité

Une bonne API se conçoit comme un contrat : décrite en OpenAPI, versionnée sans casser ses clients, sécurisée selon l’OWASP. Le guide pour dirigeants et chefs de projet.

Par la rédaction Hexora7 min de lecture
Main qui dessine au feutre un schéma de blocs reliés par des flèches sur un tableau blanc
Photo : Beatriz Cattel / Unsplash

L’essentiel en 30 secondes

  • Une API est un contrat entre votre application et ceux qui l’utilisent : partenaires, clients, autres outils internes ou agents IA.
  • OpenAPI est le format standard pour décrire ce contrat : opérations, paramètres, formats de données, erreurs et sécurité, dans un fichier lisible par les humains et les machines.
  • Concevoir le contrat avant de coder (approche dite API-first) permet de valider l’API avec ses futurs utilisateurs et de développer en parallèle.
  • Une API se fait évoluer sans casser ses clients : changements compatibles d’abord, nouvelle version majeure seulement en cas de rupture, avec un calendrier de retrait annoncé.
  • La première faille des API est le contrôle d’accès objet par objet : l’OWASP la classe en tête de son Top 10 de la sécurité des API (édition 2023).

Concevoir une API, c’est rédiger un contrat entre votre application et ceux qui vont l’utiliser : partenaires, clients, autres outils internes, et de plus en plus des agents IA. Ce contrat se décrit dans un format standard, OpenAPI, qui sert à la fois de documentation, de base de tests et de référence commune. Une API bien conçue évolue sans casser ses utilisateurs grâce à une politique de versions claire, et elle est sécurisée dès la conception, en commençant par le contrôle d’accès à chaque donnée.

Ce guide s’adresse aux dirigeants, DSI et chefs de projet qui commandent ou supervisent une API. Il ne remplace pas la documentation technique, mais il donne les bonnes questions à poser.

Qu’est-ce qu’une API, et pourquoi la concevoir comme un contrat ?

Une API (interface de programmation) est la porte d’entrée qui permet à un programme de lire ou de modifier les données d’une application, sans passer par ses écrans. Quand votre ERP envoie une commande à votre outil logistique, quand un client B2B récupère ses factures automatiquement, quand un agent IA consulte un stock : une API est à l’œuvre.

Penser l’API comme un contrat change la façon de travailler. Une fois publié, ce contrat engage : des tiers construisent leurs propres développements dessus, et chaque modification non maîtrisée peut casser leurs intégrations. C’est pourquoi la conception de l’API mérite autant d’attention que celle des écrans.

L’enjeu est connu. Le rapport 2025 de Postman sur l’état des API indique que 82 % des organisations interrogées ont adopté une approche API-first à un degré ou à un autre, et que 25 % fonctionnent entièrement selon ce principe. Le même rapport souligne la difficulté : 55 % des équipes peinent avec une documentation incohérente.

OpenAPI : le format de référence pour décrire une API

La spécification OpenAPI, maintenue par l’OpenAPI Initiative et publiée en version 3.2.0 en septembre 2025, est le standard le plus répandu pour décrire une API web. Un document OpenAPI est un fichier texte (YAML ou JSON) qui recense :

  • les opérations : chaque adresse (par exemple /commandes/{id}) et chaque action possible (lire, créer, modifier, supprimer) ;
  • les paramètres et les données échangées, avec leur type, leur format et leurs contraintes (un numéro de SIREN à neuf chiffres, une date au format ISO) ;
  • les réponses possibles, y compris les erreurs ;
  • les règles de sécurité : quel mode d’authentification, quelles permissions pour quelle opération ;
  • des exemples de requêtes et de réponses.

Ce fichier unique alimente toute une chaîne d’outils : documentation interactive que les développeurs de vos partenaires peuvent tester dans leur navigateur, génération de code client, tests automatiques qui vérifient que l’API respecte son contrat, serveurs de simulation pour développer avant que l’API n’existe.

Concevoir le contrat avant le code

L’approche dite API-first consiste à écrire et valider la description OpenAPI avant de développer. Ses avantages sont concrets :

  1. Les futurs utilisateurs valident tôt. Le partenaire qui consommera l’API relit le contrat et signale ce qui manque, avant qu’une ligne de code ne soit écrite.
  2. Les équipes travaillent en parallèle. Le front-end ou le partenaire développe contre un serveur simulé pendant que l’API se construit.
  3. La documentation est toujours juste. Elle découle du contrat, au lieu d’être rédigée après coup et de diverger.

Les règles de conception qui évitent les mauvaises surprises

Une API agréable à utiliser obéit à quelques principes simples, que tout chef de projet peut vérifier.

Principe Ce qu’il signifie Erreur fréquente
Nommage cohérent Des ressources au pluriel, en minuscules, un même terme pour un même concept partout /client, /customers et /tiers dans la même API
Vocabulaire métier Les noms reflètent votre métier, pas la structure de la base de données Exposer tbl_cde_lig au lieu de lignes-commande
Erreurs normalisées Un format d’erreur unique, lisible et exploitable par programme Un message en texte libre, différent à chaque opération
Pagination systématique Les listes sont découpées en pages, avec un moyen d’obtenir la suite Une liste qui renvoie cent mille commandes d’un coup
Idempotence des créations Rejouer une requête après une coupure ne crée pas de doublon Deux commandes identiques après une erreur réseau
Dates et montants sans ambiguïté Dates au format ISO 8601 avec fuseau, montants avec devise « 03/04 » : 3 avril ou 4 mars ?

Pour les erreurs, inutile de réinventer : la RFC 9457 de l’IETF définit un format standard de « détails de problème » pour les API HTTP (type d’erreur, titre, statut, détail), que la plupart des outils savent exploiter. L’idempotence et la reprise sur erreur sont détaillées dans notre article sur la fiabilité des synchronisations.

Meuble de fichiers en bois aux dizaines de tiroirs étiquetés
Une API documentée, c’est un catalogue où chaque tiroir a une étiquette claire. Photo : Jan Antonin Kolar / Unsplash

Versions : faire évoluer une API sans casser ses clients

Une API vit. Il faudra ajouter des champs, des opérations, parfois revenir sur un choix. La règle d’or : ne jamais casser un client existant sans l’avoir prévenu et accompagné.

On distingue deux types de changements :

  • Les changements compatibles : ajouter une opération, ajouter un champ optionnel dans une réponse, accepter un nouveau paramètre facultatif. Les clients existants continuent de fonctionner, à condition d’avoir été développés pour ignorer les champs inconnus.
  • Les changements cassants : supprimer ou renommer un champ, rendre un paramètre obligatoire, changer le sens d’une valeur. Ils exigent une nouvelle version majeure.

La gestion sémantique de version formalise cette distinction avec trois nombres (majeur, mineur, correctif) : seul un changement de numéro majeur signale une rupture de compatibilité. Pour une API publique, on expose en général seulement le numéro majeur, par exemple dans l’adresse (/v2/commandes) ou dans un en-tête.

Une politique de versions saine tient en cinq engagements :

  1. Privilégier systématiquement les changements compatibles.
  2. Publier un journal des modifications daté et lisible.
  3. Annoncer toute dépréciation à l’avance, avec une date de retrait.
  4. Mesurer qui utilise encore l’ancienne version, et contacter les derniers utilisateurs.
  5. Maintenir au plus deux versions majeures en parallèle.

Sécurité : les failles qui reviennent le plus souvent

Les API sont devenues une cible privilégiée, car elles exposent directement les données. L’OWASP, fondation de référence en sécurité applicative, publie un Top 10 des risques propres aux API, dont l’édition 2023 place en tête le défaut de contrôle d’autorisation au niveau de l’objet.

Concrètement : un client authentifié demande /factures/1042, puis essaie /factures/1043… et obtient la facture d’un autre client, parce que l’API vérifie qu’il est connecté, mais pas que cette facture lui appartient. Ce contrôle doit être fait à chaque requête, côté serveur.

Les autres points de vigilance du classement se traduisent en exigences simples :

  • Authentification robuste : jetons à durée limitée (OAuth 2.0), jamais de clés partagées entre plusieurs clients, rotation des secrets.
  • Contrôle des propriétés : un client ne doit ni lire ni modifier les champs qui ne le concernent pas (un prix d’achat, un statut de validation).
  • Limitation de la consommation : quotas et limites de débit, pour éviter qu’un client, ou un agent IA mal réglé, ne sature le service.
  • Inventaire à jour : savoir quelles API et quelles versions sont exposées, et retirer celles qui ne servent plus.
  • Méfiance envers les API tierces : valider aussi les données reçues de vos fournisseurs d’API.

Ce dernier point prend de l’importance avec l’IA : selon le même rapport de Postman, 51 % des développeurs s’inquiètent d’appels non autorisés ou excessifs provenant d’agents IA. Le panorama général des risques applicatifs est présenté dans notre article sur l’OWASP Top 10.

Documenter pour être utilisé

Une documentation générée depuis OpenAPI est nécessaire, pas suffisante. Une API réellement adoptée offre aussi :

  • un guide de démarrage : obtenir ses accès et réussir un premier appel en quelques minutes ;
  • des cas d’usage complets : « synchroniser son catalogue », « récupérer ses factures du mois » ;
  • un environnement de test avec des données fictives ;
  • le journal des modifications et le calendrier des dépréciations ;
  • un contact et des engagements de service clairs.

Une bonne documentation sert aussi les agents IA : une description OpenAPI précise, avec des descriptions explicites pour chaque opération, leur permet de comprendre quand et comment appeler votre API. C’est le principe des connecteurs présentés dans notre article sur le Model Context Protocol.

La checklist avant de publier une API

  • Le contrat OpenAPI est écrit, relu par au moins un futur utilisateur et versionné avec le code.
  • Les noms reflètent le métier et sont cohérents d’une opération à l’autre.
  • Les erreurs suivent un format unique (RFC 9457 ou équivalent).
  • Chaque requête vérifie que l’appelant a le droit d’accéder à l’objet demandé.
  • Les listes sont paginées, les créations idempotentes, les débits limités.
  • La politique de versions et de dépréciation est écrite et publiée.
  • Un guide de démarrage et un environnement de test sont disponibles.
  • Les appels sont journalisés et supervisés.

Que vous deviez ouvrir votre application à des partenaires, exposer les données d’un SaaS B2B à vos clients ou simplement connecter vos outils entre eux, la qualité du contrat d’API conditionne tout le reste. Nous concevons et développons ce type de projets dans le cadre de nos intégrations et API sur mesure ; pour une première analyse de votre besoin, utilisez notre diagnostic en ligne.

Intégrations & API

Vos outils se parlent enfin.

Connecter vos outils existants et automatiser les échanges de données.

Sources et références

  1. OpenAPI Specification v3.2.0 · OpenAPI Initiative
  2. 2025 State of the API Report · Postman
  3. OWASP Top 10 API Security Risks – 2023 · OWASP
  4. RFC 9457 : Problem Details for HTTP APIs · IETF
  5. Gestion sémantique de version 2.0.0 · semver.org
  • API
  • OpenAPI
  • documentation API
  • versionnement
  • sécurité API
FAQ

Vos questions, nos réponses

Qu’est-ce qu’OpenAPI, en une phrase ?

OpenAPI est une spécification ouverte qui permet de décrire une API web dans un fichier structuré (YAML ou JSON) : chaque opération, ses paramètres, ses réponses, ses erreurs et ses règles d’authentification. À partir de ce fichier, on génère une documentation interactive, des tests et du code client.

Quelle différence entre OpenAPI et Swagger ?

Swagger est le nom d’origine de la spécification, rebaptisée OpenAPI en 2016 lorsqu’elle a été confiée à l’OpenAPI Initiative, sous l’égide de la Linux Foundation. Le nom Swagger désigne aujourd’hui surtout une famille d’outils qui lisent et affichent des descriptions OpenAPI.

Faut-il une API REST ou GraphQL ?

Pour la plupart des intégrations entre entreprises, une API REST décrite en OpenAPI reste le choix le plus simple à comprendre, à sécuriser et à documenter. GraphQL se justifie quand de nombreux clients différents ont besoin de composer finement les données qu’ils récupèrent, par exemple pour plusieurs applications front-end.

Combien de temps faut-il maintenir une ancienne version d’API ?

Il n’y a pas de durée universelle : elle dépend du nombre de clients, de leurs cycles de développement et des engagements contractuels. L’essentiel est d’annoncer la date de retrait à l’avance, de mesurer qui utilise encore l’ancienne version et d’accompagner individuellement les derniers utilisateurs.

Une API interne a-t-elle besoin d’être documentée ?

Oui. Une API interne non documentée devient dépendante des personnes qui l’ont écrite, se duplique faute d’être trouvée et freine chaque nouveau projet. Le rapport 2025 de Postman indique que 34 % des répondants ne parviennent pas à trouver les API existantes de leur organisation.

À lire ensuite

Tous les articles →

Un projet ? Parlons-en.

Démarrer un projet