Demander un devis
Formation

Formation API REST : concevoir, sécuriser, documenter et tester une API que d'autres développeurs utilisent sans avoir à vous appeler

En bref. Une formation pour les développeurs qui doivent ouvrir une API à une application mobile, à un partenaire ou à un autre logiciel : écrire le contrat OpenAPI avant le code, l'implémenter avec Laravel 13, authentifier et limiter les appelants, fermer les risques de l'OWASP, tester chaque refus, puis documenter et versionner. Elle s'adresse aux développeurs back-end, aux intégrateurs et aux équipes qui relient plusieurs logiciels, avec huit participants au plus. Elle dure trois jours en six demi-journées, ou une journée de revue sur votre propre API, en intra, en inter, à distance ou en formule hybride. Le prix est fixé sur devis.

Mis à jour le

Que saurez-vous faire à la fin de la formation, et qu'est-ce qu'elle laisse de côté ?

Une API a des utilisateurs que vous ne rencontrerez peut-être jamais : le développeur de l'application mobile, l'équipe technique d'un partenaire, la personne qui reprendra le code dans trois ans. Tous vont deviner votre intention à partir de ce que renvoie le serveur. Cette formation apprend à concevoir depuis leur place : un contrat lisible avant le code, des réponses prévisibles, des refus explicites, une documentation qui suffit. Elle traite ensuite ce qui fait tomber les API en production, à savoir les contrôles d'accès oubliés, les jetons éternels et les listes sans limite.

À la fin des trois jours, chaque participant a produit et défendu une API complète. Un contrat OpenAPI 3.1 validé par un linter. Son implémentation en Laravel 13, avec des ressources qui filtrent les champs, une pagination plafonnée et un format d'erreur unique. Une authentification par jetons à durée limitée et à capacités restreintes. Des tests qui prouvent qu'un appelant ne peut ni lire ni modifier l'objet d'un autre. Une documentation qu'un collègue a suivie sans aide jusqu'à son premier appel réussi, et un plan écrit pour la prochaine version.

Plusieurs sujets voisins ont leur propre formation. Les bases du framework (routes, Eloquent, authentification par session, déploiement) sont traitées dans la fiche Laravel et PHP, reliée en bas de page ; les bases de PHP et de MySQL dans la formation au développement web. Utiliser l'API d'un autre éditeur depuis n8n ou Make, sans écrire de code, relève de la fiche Intégrations API en no-code et low-code. Appeler un modèle d'IA depuis un logiciel en service se travaille dans la formation intégrer l'IA dans ses logiciels existants. GraphQL et gRPC sont seulement situés par rapport à REST.

La formation ne livre pas non plus une API à votre place. Si l'enjeu est d'obtenir rapidement un connecteur ou une API métier en production, la prestation API REST et intégrations répond mieux. Les deux se combinent souvent : une API construite par un prestataire, puis une équipe interne formée pour la relire, la tester et la faire évoluer sans repartir de zéro à chaque demande d'un partenaire.

Que doit-on savoir faire sans aide au terme des trois jours ?

  • Choisir la méthode et le code de statut de chaque opération en citant la règle de la RFC 9110 qui le justifie.
  • Rédiger une description OpenAPI 3.1 qui passe le linter Spectral sans erreur, exemples de réponses en erreur compris.
  • Transformer un modèle Eloquent en réponse JSON qui n'expose que les champs prévus par le contrat.
  • Paginer une liste avec une taille maximale imposée par le serveur, quelle que soit la valeur demandée par le client.
  • Émettre, restreindre, faire expirer et révoquer un jeton d'accès, puis prouver chaque refus par un test automatisé.
  • Démontrer, route par route, qu'un appelant ne lit ni ne modifie l'objet d'un autre appelant.
  • Renvoyer toutes les erreurs dans un format unique, sans pile d'appels, nom de table ni requête SQL.
  • Publier une documentation qu'un développeur extérieur suit seul jusqu'à son premier appel réussi.
  • Annoncer le retrait d'une ancienne version avec une date, sans casser les applications qui l'utilisent encore.

Pour qui est cette formation, à quel niveau et avec quel poste de travail ?

Elle vise des personnes qui savent déjà écrire une application côté serveur et une requête SQL. Avant le devis, un court test de positionnement demande d'écrire une route qui lit une table et renvoie du JSON, puis de la publier sur une branche Git. Il sert à composer des groupes homogènes de huit personnes au plus, pas à écarter qui que ce soit.

  • Développeurs back-end PHP et Laravel

    Ils renvoient déjà du JSON depuis leurs contrôleurs, souvent en retournant le modèle entier. Ils apprennent à concevoir avant de coder, à filtrer ce qui sort, à protéger chaque objet et à prouver ces protections par des tests.

  • Développeurs Node.js, Python ou Java

    Le contrat, les codes de statut, les risques de l'OWASP et la documentation ne dépendent d'aucun langage. Le fil rouge de référence est écrit en Laravel 13 ; en inter, un participant peut implémenter le sien avec NestJS, Express ou Flask, et le formateur relit son code dans ce langage.

  • Développeurs mobiles et front-end

    Ils consomment des API tous les jours et subissent leurs défauts : champs qui changent de nom, erreurs illisibles, listes énormes. Ils viennent apprendre à négocier le contrat avec l'équipe serveur, ou à écrire eux-mêmes la petite API dont leur application a besoin.

  • Équipes qui ouvrent leurs données

    Intégrateurs, éditeurs de logiciels, services informatiques de PME : un partenaire, un bailleur ou un client réclame un accès automatisé. Il faut décider ce que l'on expose, à qui, pour combien de temps, et comment on le retire.

  • Prérequis

    Écrire une application côté serveur dans un langage au moins, des requêtes SQL simples, l'usage courant de Git et la lecture d'un document JSON. Pour suivre le fil rouge en Laravel, connaître les routes, les contrôleurs et Eloquent. Les normes et les documentations sont en anglais ; une lecture lente suffit.

  • Poste de travail

    Un ordinateur portable avec droits d'installation, PHP 8.3 au moins, Composer, une base de données locale, Git, Node.js pour faire tourner Spectral, et un client d'API ; la version gratuite de Bruno suffit. La liste d'installation part une semaine avant la première séance, avec une vérification à distance.

Quel est le programme, demi-journée par demi-journée ?

Jour 1, matin : HTTP tel que la norme le définit, puis le contrat avant le code3 h 30
  • Ce que la RFC 9110 dit vraiment des méthodes : GET, HEAD, OPTIONS et TRACE ne modifient rien ; PUT et DELETE peuvent être rejouées sans effet supplémentaire ; POST ne le peut pas.
  • Découper le métier du fil rouge en ressources (revendeurs, produits, commandes, lignes de commande) et décider quelles relations méritent une adresse imbriquée.
  • Écrire à la main une première description OpenAPI 3.1 en YAML : chemins, paramètres, schémas, exemples de réponses réussies et d'erreurs.
  • Passer le fichier au linter Spectral et corriger chaque avertissement avant d'écrire une seule ligne de PHP.
  • Exercice : relecture croisée des contrats, chaque participant cherchant ce qu'un développeur mobile ne pourrait pas deviner.
Jour 1, après-midi : du contrat au code avec Laravel 133 h 30
  • La commande install:api : le fichier routes/api.php, le préfixe /api ajouté d'office, le groupe de middleware sans état et l'installation de Sanctum.
  • Contrôleurs d'API et requêtes de formulaire : valider sur le serveur et répondre 422 avec la liste des champs en cause.
  • Ressources Eloquent (JsonResource) pour choisir champ par champ ce qui sort, avec des relations incluses seulement quand elles ont été chargées.
  • Pagination : les clés data, links et meta produites par Laravel, et une taille de page plafonnée côté serveur, quoi que demande le client.
  • Un format d'erreur unique pour toute l'API, sur le modèle application/problem+json de la RFC 9457, sans trace technique dans la réponse.
Jour 2, matin : authentifier les appelants3 h 30
  • Jetons personnels de Sanctum : émission, stockage haché en SHA-256, valeur en clair montrée une seule fois, révocation.
  • Capacités des jetons (abilities) pour cantonner un partenaire à la lecture, et middleware qui les vérifie route par route.
  • Durée de vie : Sanctum ne fait expirer aucun jeton par défaut ; on fixe une expiration et l'on purge les jetons échus avec sanctum:prune-expired.
  • Le jeton voyage dans l'en-tête Authorization, jamais dans l'adresse, comme le recommande la RFC 6750 sur les jetons porteurs.
  • Clé par partenaire, jeton par appareil, OAuth 2.0 quand un tiers agit au nom de vos utilisateurs : trancher sur trois situations concrètes.
Jour 2, après-midi : autoriser, limiter, résister aux abus3 h 30
  • Les dix risques du Top 10 de l'OWASP pour les API, édition 2023, chacun reproduit sur le fil rouge avant d'être corrigé.
  • Contrôle d'appartenance de chaque objet par une Policy, et liaisons imbriquées limitées à leur parent avec scopeBindings.
  • Champs modifiables déclarés un par un : un revendeur ne change ni son plafond de crédit ni son propre statut.
  • Limitation de débit avec RateLimiter : quota par jeton ou par adresse IP, réponse 429, et compteur réservé aux réponses 404 pour freiner l'énumération des identifiants.
  • Origines CORS limitées aux applications connues, mode débogage coupé, en-têtes de réponse relus un par un.
Jour 3, matin : tester l'API et son contrat3 h 30
  • Tests de fonctionnalité avec getJson et postJson, assertions sur le statut, assertJsonPath et assertJsonStructure.
  • Sanctum::actingAs pour tester chaque capacité de jeton, et un test qui échoue dès qu'une route accepte un appel sans droit.
  • Vérifier que les réponses réelles respectent toujours les schémas du fichier OpenAPI, pour que le contrat et le code ne divergent pas.
  • Une collection de requêtes Bruno rangée dans le dépôt Git, à côté du code, que n'importe quel développeur peut rejouer.
  • Exercice : écrire d'abord le test qui prouve une faille trouvée la veille, le voir échouer, puis corriger.
Jour 3, après-midi : documenter, versionner, publier3 h 30
  • Générer la documentation à partir du code avec Scramble ou Scribe, puis la confronter au contrat écrit le premier matin.
  • Rédiger ce qu'aucun générateur n'écrit : démarrage en cinq minutes, obtention d'un jeton, exemples complets, erreurs les plus fréquentes.
  • Préparer la version suivante : ajouts sans rupture, préfixe /v2 pour une rupture, en-têtes Deprecation et Sunset sur l'ancienne version.
  • Émettre ses propres webhooks : événement nommé, signature calculée avec un secret partagé, nouvelles tentatives espacées, identifiant d'événement unique.
  • Évaluation : chacun ajoute une ressource à l'API d'un autre participant en ne s'aidant que de sa documentation.

Sur quel fil rouge et avec quels exercices les participants travaillent-ils ?

  1. Le fil rouge : l'API d'un grossiste

    Fourni avant la session

    Un grossiste approvisionne des revendeurs. Leur application mobile lit le catalogue et passe des commandes ; un livreur partenaire lit les commandes prêtes à partir. Trois consommateurs, trois niveaux de droits, des montants en francs CFA : assez pour rencontrer tous les problèmes réels. En intra, le sujet est remplacé par un besoin de l'organisation, toujours sur des données fictives.

  2. Le contrat relu par un autre

    1 heure, jour 1

    Chaque contrat OpenAPI passe entre les mains d'un autre participant, qui joue le développeur mobile et note chaque question qu'il devrait poser par téléphone. Format des dates, montant avec ou sans décimales, champ absent ou nul, tri par défaut : chaque question notée est un trou du contrat à combler.

  3. Changer de revendeur

    1 heure, jour 2

    Connecté avec le jeton du revendeur A, le participant demande la commande du revendeur B, puis tente de modifier son propre plafond de crédit, puis appelle une route réservée au grossiste. Chaque porte qui s'ouvre devient une règle dans une Policy ou une liste de champs, puis un test qui doit échouer avant la correction.

  4. La rafale et l'énumération

    45 minutes, jour 2

    Un petit script envoie cinq cents requêtes en quelques secondes, puis essaie les identifiants de commande un par un. On observe ce que l'API répond, on règle les quotas, et l'on vérifie que les tentatives sur des identifiants inexistants sont freinées plus tôt que les appels normaux.

  5. La commande envoyée deux fois

    45 minutes, jour 3

    La connexion du téléphone coupe juste après l'envoi d'une commande ; l'application renvoie la même requête au retour du réseau, et le grossiste reçoit deux commandes. Les participants conçoivent la parade côté serveur : une clé fournie par le client, enregistrée avec la première réponse, et la même réponse renvoyée à chaque répétition.

  6. La revue d'une API publique réelle

    1 heure, jour 3

    Le groupe lit le code de l'API du découpage administratif du Bénin publiée par le formateur en 2024, décrite plus bas. Chacun dresse la liste de ce qu'il garderait et de ce qu'il changerait aujourd'hui, en s'appuyant sur ce qui a été vu depuis le premier matin.

  7. L'appel sans aide

    1 heure, évaluation finale

    Chaque participant reçoit l'URL de la documentation d'un autre, un jeton de test et une tâche : ajouter une ressource côté client, la créer, la relire, provoquer une erreur de validation. Ce qui bloque est noté par écrit et renvoyé à l'auteur, qui corrige sa documentation avant la fin de la journée.

Avec quelle version d'OpenAPI écrit-on le contrat, et pourquoi pas avec la plus récente ?

Selon l'OpenAPI Initiative, la version 3.2.1 de la spécification OpenAPI a été publiée le 10 septembre 2026. Elle permet de décrire une API HTTP sans dépendre d'aucun langage, dans un document JSON ou YAML que les personnes comme les programmes savent lire ; ses schémas s'appuient sur JSON Schema dans sa version 2020-12. Elle connaît cinq types de mécanismes de sécurité : apiKey, http, oauth2, openIdConnect et mutualTLS. C'est le texte que l'on ouvre en séance pour trancher une question de syntaxe, plutôt qu'un tutoriel de blog.

Le contrat du fil rouge s'écrit pourtant en 3.1, et ce choix fait partie de la leçon. Les outils suivent la norme avec retard : la page du dépôt de Spectral, lue le 5 octobre 2026, annonce la prise en charge d'OpenAPI 2.0, 3.0 et 3.1, et Scramble indique produire des documents au format 3.1.0. Rédiger en 3.2 dès aujourd'hui, c'est risquer qu'un linter, un générateur de documentation ou un générateur de clients refuse le fichier. On choisit une version en vérifiant toute la chaîne d'outils, pas en retenant le numéro le plus élevé.

Deux méthodes coexistent dans les équipes. Le contrat d'abord : on écrit le fichier à la main, on le fait valider par les consommateurs, puis on vérifie que le code le respecte. Le code d'abord : on développe, et un outil comme Scramble ou Scribe produit la description. La formation pratique les deux, dans cet ordre, puis compare les fichiers obtenus. Les écarts sont instructifs : un champ oublié dans une ressource, un code d'erreur jamais décrit, un paramètre de pagination que le générateur n'a pas vu. Chaque équipe repart en sachant lequel des deux documents fait foi chez elle.

Quel code de statut l'API doit-elle renvoyer, et dans quel cas ?

Les décisions que chaque participant doit savoir justifier côté serveur, d'après la RFC 9110 (juin 2022), la RFC 6585 (avril 2012), la RFC 6750 (octobre 2012) et la RFC 9457 (juillet 2023), consultées le 5 octobre 2026. Le point de vue inverse, celui de la personne qui reçoit ces codes dans un outil d'automatisation, relève de la fiche sur les intégrations sans code.
Situation côté serveurRéponseCe que dit la normeErreur fréquente constatée en séance
Une commande vient d'être créée201Un en-tête Location désigne la ressource créée (RFC 9110)Répondre 200 sans dire où retrouver la commande
Suppression réussie, rien à renvoyer204Aucun contenu dans le corps de la réponseRenvoyer 200 et un message « supprimé » que personne ne lit
JSON illisible ou paramètre de forme invalide400La requête ne peut pas être comprise telle quelleConfondre ce cas avec une valeur métier refusée
JSON correct, mais quantité négative ou produit inconnu422Contenu bien formé mais impossible à traiter (RFC 9110, section 15.5.21)Laisser la base rejeter la valeur et répondre 500
Jeton absent, expiré ou révoqué401En-tête WWW-Authenticate obligatoire ; erreur invalid_token selon la RFC 6750Répondre 403, ce qui laisse croire que le jeton est valide
Jeton valide mais capacité insuffisante403Erreur insufficient_scope selon la RFC 6750Masquer tous les refus derrière un 404 au point de rendre le diagnostic impossible
Commande appartenant à un autre revendeur404La RFC 9110 admet que le serveur ne révèle pas l'existence d'une ressourceRépondre 403, qui confirme à l'appelant que l'identifiant existe
Méthode non prévue sur cette adresse405En-tête Allow obligatoire, avec les méthodes acceptéesLaisser le framework renvoyer une page HTML
Modification fondée sur une version périmée de la commande412 ou 409Requête conditionnelle avec ETag et If-Match contre la mise à jour perdueÉcraser sans prévenir la modification d'un collègue
Corps envoyé en XML ou en formulaire415Type de contenu non pris en charge par l'opérationLire quand même et enregistrer des champs vides
Quota dépassé, ou maintenance en cours429 ou 503Retry-After indique quand revenir : RFC 6585 pour 429, RFC 9110 pour 503Ne rien indiquer, ce qui pousse les clients à réessayer en boucle
Toute erreur, quel que soit son codeCorps application/problem+jsonMembres type, title, status, detail et instance ; pas de pile d'appels (RFC 9457)Un format d'erreur différent dans chaque contrôleur

Quel exercice révèle chacun des dix risques de l'OWASP pour les API ?

Les dix risques du Top 10 de l'OWASP consacré à la sécurité des API, édition 2023, la dernière que le site du projet présentait le 5 octobre 2026, et la façon dont chacun est provoqué puis fermé sur le fil rouge.
Risque (OWASP 2023)Comment on le provoque en séanceCe que l'on met en place, et le test qui le prouve
API1, autorisation au niveau de l'objetLe revendeur A demande la commande du revendeur B en changeant l'identifiantPolicy appelée dans chaque action, liaison limitée au parent ; le test attend un 404
API2, authentificationRejouer un jeton révoqué, le passer dans l'adresse, essayer cent mots de passe sur la route d'émissionExpiration fixée, révocation, limite par adresse e-mail sur l'émission ; le test attend un 401 après révocation
API3, autorisation au niveau des propriétésGlisser le plafond de crédit dans un PATCH ; chercher des champs internes dans les réponsesChamps modifiables listés, ressource qui choisit les champs lus ; le test vérifie que le champ protégé n'a pas bougé
API4, consommation de ressources sans limiteDemander cent mille lignes par page, envoyer un fichier énorme, lancer la rafaleTaille de page plafonnée, taille des requêtes bornée, quotas ; le test attend un 429 au-delà du quota
API5, autorisation au niveau des fonctionsAppeler la route de modification des tarifs avec un jeton de revendeurCapacité du jeton et rôle vérifiés sur la route, refus par défaut ; le test attend un 403
API6, accès sans limite aux flux métier sensiblesRéserver par script tout le stock d'un produit en promotionLimite propre au flux, par revendeur et par jour ; le test porte sur la quantité cumulée
API7, falsification de requête côté serveurDéclarer une adresse interne comme destination de webhookListe de domaines autorisés, adresses privées refusées ; le test essaie 127.0.0.1 et une adresse du réseau local
API8, mauvaise configuration de sécuritéProvoquer une erreur avec le mode débogage actif, appeler depuis une origine inconnueDébogage coupé, CORS restreint, erreurs au format problème ; le test vérifie l'absence de trace dans le corps
API9, inventaire des API mal tenuRetrouver une route de test oubliée en listant les routes de l'applicationContrat comparé à la sortie de php artisan route:list, dates de retrait inscrites ; un test échoue si une route n'est pas décrite
API10, consommation non sûre d'API tiercesFaire renvoyer au faux service du livreur un JSON inattendu ou une réponse très lenteRéponses du tiers validées, délai d'attente borné ; le test simule le tiers avec Http::fake

Que montre la revue d'une API réelle, celle du découpage administratif du Bénin ?

Le dépôt public bj-decoupage contient une API écrite par Richard SALANON avec Laravel 10 : selon l'historique GitHub consulté le 5 octobre 2026, son premier commit date du 19 mars 2024 et le dernier du lendemain. Ses routes, toutes en lecture, suivent la hiérarchie du pays, des départements aux communes, aux arrondissements puis aux quartiers, et désignent les parents par leur nom. Les contrôleurs portent des annotations en français destinées à Scribe, présent parmi les dépendances de développement, qui en tire la documentation. Un projet réel, petit et public : exactement ce qu'il faut pour une revue honnête.

La revue fait apparaître ce qu'un participant doit savoir repérer seul. Appelée sans paramètre, la route des quartiers renvoie la liste entière en une seule réponse ; avec la pagination, la taille de page demandée n'a pas de plafond. L'OWASP range ces deux points sous la consommation de ressources sans limite. Une recherche sans résultat répond 404 avec un message, là où beaucoup de clients attendent un 200 et une liste vide. Aucune version n'apparaît dans les adresses, et le dossier des tests ne contient que l'exemple livré avec le framework.

Rien de cela n'est grave pour un référentiel de données publiques en lecture seule, et c'est l'intérêt de l'exercice : peser chaque défaut selon l'usage. Le même choix deviendrait dangereux sur des commandes ou des données personnelles. Le calendrier compte aussi : selon les notes de version de Laravel, la version 10 ne reçoit plus de correctifs de sécurité depuis le 4 février 2025. Les participants rédigent donc un plan de reprise dans l'ordre : tests de caractérisation, pagination plafonnée, préfixe /v1 gardé pour les clients actuels, puis montée de version.

Quelle méthode, et que garde chaque participant une fois les trois jours passés ?

Chaque demi-journée suit le même rythme : un problème montré sur le fil rouge, la règle qui le résout avec sa source, puis une à deux heures sur le projet de chacun. Le formateur relit le code dans les requêtes de fusion des dépôts, comme le ferait un collègue exigeant.

  • Huit participants au plus

    Relire sérieusement des Policies, des ressources et des tests sur huit dépôts différents prend déjà toute l'attention du formateur. Au-delà, une route mal protégée passe inaperçue jusqu'à l'évaluation finale, ce qui est trop tard.

  • Une source primaire pour chaque règle

    Chaque décision renvoie à la RFC, à la spécification OpenAPI, au Top 10 de l'OWASP ou à la documentation de Laravel. Le but est que le participant y cherche seul la réponse à la prochaine question, au lieu de recopier l'habitude du dernier projet.

  • L'attaque avant la défense

    Aucune protection n'est présentée sans l'attaque qui la justifie, menée par un participant sur la copie locale de l'API d'un autre. Une faille que l'on a soi-même exploitée ne s'oublie pas.

  • Votre propre API, en intra

    Les exercices peuvent porter sur une copie du dépôt de l'organisation, avec une base anonymisée ou remplie de données fictives. Un engagement de confidentialité est signé avant tout accès au code si l'organisation le souhaite.

  • Des supports qui servent ensuite

    Contrat OpenAPI de référence, dépôt du fil rouge découpé en étapes, grille de revue d'API, collection Bruno, modèle de page de démarrage et liste de contrôle avant publication, dans des formats modifiables.

  • Un suivi convenu au devis

    Pendant la période prévue, la relecture du contrat de la première API réelle de chaque participant, ou d'une branche de son projet, et les questions d'application par un canal direct.

Avec quels outils travaille-t-on, et lesquels sont payants ?

Versions et tarifs relevés le 5 octobre 2026 sur les pages officielles citées dans les sources ; montants en dollars américains, hors taxes, susceptibles de changer. Aucun abonnement n'est exigé pour suivre la formation.
OutilRôle pendant la formationVersion ou offreCoût d'éditeur
Laravel et SanctumFramework du fil rouge et jetons d'accèsLaravel 13, sorti le 17 mars 2026 ; Sanctum installé par install:apiGratuits et open source
PHPLangage du fil rouge8.3 au minimum pour Laravel 13 ; 8.4 et 8.5 reçoivent des correctifs de sécurité jusqu'à fin 2028 et fin 2029Gratuit
Spécification OpenAPILe contrat de l'APIVersion 3.2.1 publiée le 10 septembre 2026 ; contrat du fil rouge rédigé en 3.1Spécification ouverte
SpectralLinter du contrat, règles de style et règles de sécuritéOpenAPI 2.0, 3.0 et 3.1Gratuit, licence Apache 2.0
ScrambleDocumentation tirée du code Laravel, sans annotationsDocuments au format OpenAPI 3.1.0Version gratuite et open source ; offre PRO payante pour certains paquets
ScribeDocumentation tirée du code et d'annotations : page HTML avec testeur, collection Postman, fichier OpenAPIVersion 5, pour Laravel 9 ou plus récentGratuit et open source
Pest ou PHPUnitTests de fonctionnalité de l'APIFournis avec le squelette d'application LaravelGratuits
BrunoClient d'API dont les collections sont des fichiers rangés dans GitÉdition open sourceGratuit ; Pro à 6 dollars et Ultimate à 11 dollars par utilisateur et par mois, en paiement annuel
PostmanClient d'API, utilisé quand l'équipe s'en sert déjàOffre Free limitée à un utilisateurSolo à 9 dollars par mois ; Team à 19 dollars par utilisateur et par mois, en paiement annuel

Que disent les enquêtes sur la façon dont les équipes conçoivent et testent leurs API ?

  • 93 % Répondants qui utilisent REST, devant les webhooks (50 %), les WebSockets (35 %) et GraphQL (33 %), parmi plus de 5 700 développeurs, architectes et dirigeants interrogés en 2025 Source : Postman, 2025 State of the API Report
  • 55 % Répondants gênés par une documentation incohérente ou périmée ; 34 % ne retrouvent pas les API qui existent déjà dans leur organisation (2025) Source : Postman, 2025 State of the API Report
  • 17 % Équipes qui pratiquent les tests de contrat, contre 67 % pour les tests fonctionnels comme pour les tests d'intégration (2025) Source : Postman, 2025 State of the API Report
  • 26 % Équipes qui appliquent une gestion sémantique des versions, alors que 60 % versionnent leurs API (2025) Source : Postman, 2025 State of the API Report
  • 25 % Organisations qui se disent entièrement « API-first », contre 82 % qui le sont au moins en partie (2025) Source : Postman, 2025 State of the API Report
  • 4 février 2025 Fin des correctifs de sécurité de Laravel 10 ; Laravel 13, sorti le 17 mars 2026, en reçoit jusqu'au 17 mars 2028 (notes consultées le 5 octobre 2026) Source : Laravel, notes de version 13.x

Que retenir de ces chiffres avant de concevoir votre propre API ?

Ils viennent de l'enquête annuelle d'un éditeur d'outils, Postman, et se lisent comme tels : ils décrivent surtout des équipes déjà équipées. Ils confirment pourtant ce que montrent les projets. REST reste la base, utilisée par 93 % des répondants, et la moitié d'entre eux manipulent aussi des webhooks, ce qui justifie le temps passé sur l'émission d'événements. Ce qui manque n'est pas la technique mais la discipline : 55 % des répondants se heurtent à une documentation incohérente ou périmée, et un tiers ne retrouvent pas les API déjà construites chez eux.

Une API que personne ne trouve ni ne comprend finit recodée à côté, avec ses propres failles. C'est pourquoi la documentation est ici un livrable vérifié par un autre participant, et non une tâche de fin de projet. L'écart sur les tests dit la même chose : deux tiers des équipes vérifient que leur code fonctionne, 17 % seulement qu'il tient la promesse faite à ses clients. La matinée du troisième jour sert à combler cet écart, avec des tests qui comparent les réponses réelles au contrat.

Reste le versionnage. Selon la même enquête, 60 % des équipes versionnent leurs API, mais 26 % seulement appliquent une numérotation qui dit si un changement casse quelque chose. Les clients découvrent alors la rupture en production. Depuis la RFC 9745, publiée en mars 2025, l'en-tête Deprecation annonce dans chaque réponse qu'une ressource est ou sera dépréciée ; combiné à l'en-tête Sunset, qui ne peut pas porter une date antérieure, il donne aux consommateurs une échéance lisible par leurs propres programmes.

Quels projets d'API les participants mènent-ils, en Afrique francophone et en Europe ?

Éditeur de logiciel scolaire, Cotonou

L'application des parents doit afficher notes, absences et reçus de scolarité ; les premières routes renvoient les modèles entiers, numéros de téléphone des enseignants compris.

Contrat écrit avec l'équipe mobile, ressources qui ne laissent sortir que les champs prévus, jeton par appareil avec expiration, et un test qui vérifie qu'un parent ne voit que ses propres enfants.

Logisticien, Lomé ou Douala

Des boutiques en ligne veulent suivre leurs colis sans appeler le service client ; aujourd'hui, un fichier part chaque soir par e-mail.

API en lecture par clé de partenaire aux capacités limitées, webhooks émis à chaque changement de statut, signés et renvoyés en cas d'échec, et une page de documentation en français avec des exemples complets.

Projet de données ouvertes, Burkina Faso ou Bénin

Un référentiel public de localités et d'établissements doit servir à des développeurs inconnus sans faire tomber un serveur modeste.

API en lecture seule sur le modèle du découpage administratif, pagination plafonnée, réponses mises en cache, quotas par adresse IP et documentation générée, avec un préfixe de version dès la première publication.

Réseau de pharmacies, Abidjan ou Dakar

Les officines commandent au grossiste depuis une application mobile ; sur un réseau instable, un seul appui sur le bouton produit parfois deux commandes.

Clé d'idempotence sur la création des commandes, contrôle d'appartenance de chaque officine, format d'erreur unique, et des tests qui envoient deux fois la même requête.

Éditeur SaaS, Paris ou Bruxelles

Les clients réclament une API publique ; la première version, livrée vite, doit déjà renommer trois champs.

Version 2 sous un nouveau préfixe, en-têtes Deprecation et Sunset sur la version 1, journal des appels par client pour savoir qui prévenir, et contrat OpenAPI tenu comme référence unique.

Service informatique, Genève ou Montréal

Deux applications internes lisent directement la base l'une de l'autre, et chaque changement de schéma casse la voisine.

Une API interne décrite par un contrat remplace l'accès direct ; les tests de contrat tournent dans l'intégration continue des deux équipes, formées à distance sur leur fuseau horaire.

Quel format choisir pour former votre équipe aux API ?

Le format se décide au premier échange, selon le nombre de développeurs, l'existence d'une API à reprendre, la confidentialité du code et la connexion disponible. Huit participants au plus par groupe.
FormatDurée et rythmeContenuPour qui
Intra-entrepriseTrois jours, consécutifs ou répartis sur deux semainesLe fil rouge cède la place à l'API réelle ou en projet de l'organisation, sur une copie ; règles d'équipe écrites en fin de sessionUne équipe qui construit ou maintient une API
Inter-entreprisesTrois joursFil rouge du grossiste, ou projet personnel dans le langage du participantDéveloppeurs indépendants, petites structures, profils isolés
Journée de revueUne journée, soit deux demi-journéesVotre API passée au crible des dix risques de l'OWASP, du contrat et de la documentation ; premiers tests écrits sur place ; rapport remis le soirÉquipes dont l'API est déjà en production
À distanceSix séances de trois heures trente, sur deux semainesPartage d'écran, revue dans les requêtes de fusion, attaques menées sur des copies localesÉquipes réparties entre plusieurs pays
HybridePremier jour en salle à Cotonou ou dans vos locaux, la suite à distanceContrat et premières routes côte à côte, puis sécurité et tests à distanceGroupes qui veulent démarrer ensemble

Combien coûte la formation API REST, et qu'est-ce qui fait varier le prix ?

Aucun montant n'est affiché : la formation est chiffrée sur devis, après le test de positionnement. Ni le premier échange, ni le cadrage, ni le devis ne sont facturés. Le règlement se fait par Mobile Money (MTN, Moov), carte bancaire, PayPal, virement ou espèces ; un éventuel abonnement à Postman, à Bruno ou à un hébergement reste payé directement à l'éditeur.

Formation de trois jours

Sur devis

  • Six demi-journées sur le fil rouge ou votre API
  • Revue du code dans les dépôts
  • Contrat, tests et documentation de référence
  • Évaluation finale et attestation

Journée de revue de votre API

Sur devis

  • Analyse au regard des dix risques de l'OWASP
  • Comparaison du contrat et des routes réelles
  • Premiers tests de sécurité écrits avec l'équipe
  • Rapport de revue écrit

Suivi après la formation

Sur devis

  • Relecture du contrat de votre première API réelle
  • Relecture d'une branche
  • Questions d'application pendant la période convenue

Ce qui fait varier le prix

  • Le nombre de participants et de groupes, huit développeurs au plus par groupe.
  • Le travail sur votre propre API, qui suppose une copie du dépôt et une base anonymisée.
  • L'ajout de la journée de revue, avant ou après la formation.
  • La relecture dans un autre langage que PHP, quand des participants implémentent en Node.js, en Python ou en Java.
  • Le mode : sur place à Cotonou, dans vos locaux, à distance ou en formule hybride, avec les déplacements éventuels.
  • La langue des séances et des supports, en français ou en anglais, et la durée du suivi.

Un fonds de formation continue peut-il prendre en charge la formation API REST ?

Aucune prise en charge n'est promise ici : chaque fonds décide selon ses propres règles, et seule sa réponse écrite engage. En Côte d'Ivoire, la page du FDFP consacrée à l'habilitation, consultée le 5 octobre 2026, l'exige de tout opérateur privé qui sollicite ses financements, centres de formation internes compris, en dispense les structures situées hors du pays, et l'accorde pour une année. Au Bénin, le FODEFCA fonctionne selon les statuts approuvés par le décret n° 2022-286 du 11 mai 2022. Au Sénégal, le 3FPT a un guichet pour le personnel des entreprises et un autre pour les demandes individuelles, avec un dépôt en ligne.

En France, France Compétences rappelle que, depuis le 1er janvier 2022, un prestataire n'accède aux fonds publics ou mutualisés qu'avec la certification Qualiopi. Richard SALANON n'est pas certifié Qualiopi et n'est ni habilité ni agréé par aucun fonds. Avant de signer, transmettez au fonds le programme demi-journée par demi-journée et le devis, conservez sa réponse, et budgétez la formation comme si elle n'était pas financée. Les feuilles de présence, l'évaluation finale et l'attestation servent quel que soit le dispositif ; les règles par pays figurent sur la page formation en entreprise.

Quels défauts réapparaissent après la formation, et comment les empêcher de revenir ?

Sous la pression d'une livraison, les raccourcis reviennent. Voici les plus fréquents ; chacun a une parade mécanique plutôt qu'une bonne résolution.

  • Renvoyer le modèle entier

    Retourner directement la commande depuis le contrôleur expose demain la colonne ajoutée aujourd'hui, même confidentielle. Toute réponse passe par une ressource qui liste ses champs, et un test vérifie la structure exacte avec assertJsonStructure.

  • Vérifier qui appelle, oublier ce qu'il demande

    Le jeton est valide, donc la requête passe : c'est le premier risque du classement de l'OWASP. Chaque route qui reçoit un identifiant a son test de refus pour un autre appelant, écrit avant la route elle-même.

  • Laisser le contrat vieillir

    Le code évolue, le fichier OpenAPI non, et la documentation devient fausse en quelques semaines. Le linter et les tests de contrat tournent dans l'intégration continue : une réponse qui s'écarte du schéma bloque la fusion.

  • Renommer un champ sans changer de version

    Remplacer total par montant_total paraît anodin ; toutes les applications qui lisaient total cassent le même jour. Un ajout ne casse rien, alors qu'un renommage ou une suppression exige une nouvelle version et une date annoncée.

  • Des erreurs trop bavardes

    Une exception non interceptée renvoie la requête SQL, le nom d'une table ou le chemin d'un fichier. Le gestionnaire d'exceptions convertit tout au format problème, et le mode débogage reste coupé partout ailleurs que sur le poste du développeur.

  • Compter sur le client pour se limiter

    L'application mobile ne demande que vingt lignes, alors personne ne plafonne côté serveur ; un script, lui, en demande cent mille. Les limites vivent sur le serveur : taille de page, taille des requêtes, quotas.

  • Émettre des webhooks sans signature ni reprise

    Le partenaire ne peut pas savoir si l'appel vient bien de vous, et un échec à trois heures du matin perd l'événement pour toujours. Signature, identifiant unique, nouvelles tentatives espacées et journal des envois font partie de la conception, pas des finitions.

Connexion, paiements, données personnelles, langue : que change le contexte local pour une API ?

Selon les chiffres 2025 de l'UIT, 36 % des habitants de l'Afrique utilisent Internet, contre 74 % de la population mondiale et 23 % dans les pays à faible revenu. Une API destinée à des applications utilisées en Afrique francophone doit donc économiser chaque octet : réponses paginées et légères, champs choisis par le client quand c'est utile, compression, et en-têtes qui évitent au téléphone de télécharger de nouveau ce qui n'a pas changé. Les ressources JSON:API de Laravel 13, présentées le premier après-midi, gèrent justement les ensembles de champs partiels et le paramètre include.

Les paiements par Mobile Money arrivent souvent en deux temps : l'API enregistre une commande, puis reçoit plus tard la confirmation de l'agrégateur. Le contrat prévoit donc des statuts intermédiaires (en attente, confirmé, échoué) et des montants en francs CFA stockés en nombres entiers. Le choix de l'agrégateur relève du comparatif FedaPay, KKiaPay et CinetPay. Pour les requêtes répétées après une coupure, l'en-tête Idempotency-Key est très répandu sans être normalisé : le brouillon de l'IETF qui le décrivait, révisé le 15 octobre 2025, a expiré sans devenir une RFC. On le décrit donc dans son propre contrat.

Avec des données personnelles, un défaut de contrôle d'accès ne fait pas fuir une fiche, mais une base entière. Au Bénin, la loi n° 2017-20 du 20 avril 2018 portant code du numérique encadre ces traitements et leur transfert hors du pays. En France, la CNIL a adopté par la délibération n° 2023-050 du 25 mai 2023 une recommandation technique sur le partage de données par API ; sa synthèse du 24 novembre 2023 insiste sur l'authentification, des droits réévalués régulièrement, la transmission des seules données nécessaires, la journalisation, le chiffrement et une documentation tenue à jour. Le programme recoupe ces points un à un.

Les normes, la spécification et la documentation des outils sont en anglais ; les séances et les supports sont en français, ou en anglais à la demande. La documentation que les participants écrivent pour leurs propres consommateurs se rédige dans la langue de ces derniers : exemples en français, champ detail des erreurs compréhensible par un développeur francophone, formats de date et de numéros de téléphone locaux écrits noir sur blanc dans le contrat. Un développeur d'Abidjan ou de Bruxelles doit pouvoir réussir son premier appel sans traduire quoi que ce soit.

Pourquoi apprendre à concevoir des API avec Richard SALANON ?

Richard SALANON est consultant en digitalisation et développeur logiciel, basé à Cotonou, au Bénin. Il crée des sites, des applications web et mobiles, des automatisations et des intégrations d'intelligence artificielle, déploie Odoo et Dolibarr, et forme les équipes à ces outils, pour des entreprises d'Afrique francophone, d'Europe et du Canada.

Ses API se lisent en public. Outre le dépôt du découpage administratif écrit avec Laravel en 2024, son compte GitHub contient l'API REST d'Allo Artisan, plateforme béninoise de mise en relation entre particuliers et artisans, écrite en TypeScript avec NestJS et PostgreSQL. Ses dépendances, lues le 5 octobre 2026, comprennent le module Swagger de NestJS pour la documentation, un module de limitation du débit et Jest pour les tests. Entre ces deux projets se dessine le chemin que la formation fait parcourir en trois jours : de routes qui fonctionnent à une API documentée, limitée et testée.

Formé à EPITECH (2022), il travaille dans le numérique depuis 6 ans, a créé Wapy, un assistant WhatsApp à intelligence artificielle pour les entreprises d'Afrique francophone, et co-fondé Audyxa. Il indique avoir formé plus de 200 personnes au numérique, à l'IA, à l'automatisation et aux ERP, et a travaillé, sur place ou à distance, dans 15 pays d'Afrique francophone, d'Europe et d'Amérique du Nord. Il n'est certifié par aucun éditeur.

Sa manière de former tient en engagements vérifiables : un test de positionnement avant le devis, huit participants au plus, une source primaire derrière chaque règle, aucune donnée réelle dans les exercices, une évaluation sur l'API d'un autre participant et une réponse sous 24 heures. Son parcours est détaillé sur la page Richard SALANON, les pays où il intervient sur la page zones d'intervention, et les autres formations du domaine sur la page formations en développement.

Que retenir avant d'inscrire vos développeurs ?

Écrivez le contrat avant le code et faites-le relire par ceux qui l'utiliseront ; vérifiez l'appartenance de chaque objet, pas seulement l'identité de l'appelant ; donnez une date de fin à chaque jeton ; plafonnez tout côté serveur ; prouvez chaque refus par un test ; documentez pour quelqu'un qui ne pourra pas vous appeler ; annoncez toute rupture avec une date. Le reste du catalogue est sur la page formations.

Vos développeurs doivent-ils ouvrir une API, ou reprendre celle qui existe déjà ?

Indiquez le nombre de développeurs, leur langage, l'API à construire ou à reprendre et le format souhaité : vous recevez une réponse sous 24 heures, un test de positionnement, puis un devis détaillé.

Demander la formation API REST

Questions fréquentes

Faut-il connaître Laravel pour suivre la formation API REST ?

Pour suivre le fil rouge, il faut connaître les routes, les contrôleurs et Eloquent ; la fiche Laravel et PHP les enseigne et se suit très bien avant celle-ci. Un développeur Node.js, Python ou Java peut implémenter son projet dans son propre langage : le contrat, les codes de statut, les risques de l'OWASP et la documentation ne dépendent d'aucun framework.

Quelle différence avec la formation aux intégrations API sans code ?

Celle-ci s'adresse aux développeurs qui construisent une API et la mettent à disposition des autres. La fiche Intégrations API en no-code et low-code apprend à des profils non développeurs à utiliser les API existantes depuis n8n, Make ou Zapier. Une équipe métier et une équipe technique peuvent suivre les deux et partager ensuite le même vocabulaire.

Pourquoi REST plutôt que GraphQL ?

Parce que REST reste de loin le style le plus utilisé : 93 % des répondants de l'enquête Postman de 2025, contre 33 % pour GraphQL. La formation situe GraphQL et gRPC et dit quand ils se justifient, mais consacre son temps aux erreurs qui touchent toutes les API HTTP : autorisations, limites, documentation et versions.

Jetons Sanctum, JWT ou OAuth 2.0 : que choisit-on ?

Sanctum suffit pour vos propres applications et pour des partenaires à qui vous remettez un jeton : il stocke les jetons hachés et gère des capacités et une expiration. OAuth 2.0 se justifie quand une application tierce agit au nom de vos utilisateurs avec leur accord. Les jetons JWT sont présentés avec leur limite principale : un jeton signé reste valable jusqu'à son expiration, sauf mécanisme de révocation ajouté.

Faut-il acheter un abonnement à Postman ?

Non. L'édition open source de Bruno suffit et range les collections dans le dépôt Git ; l'offre gratuite de Postman, limitée à un utilisateur au 5 octobre 2026, convient aussi pour travailler seul. Les offres payantes ne servent qu'au travail à plusieurs sur une même collection.

Peut-on travailler sur l'API de notre entreprise ?

Oui, en intra ou lors de la journée de revue, sur une copie du dépôt et une base anonymisée ou remplie de données fictives. Un engagement de confidentialité peut être signé avant l'accès au code. La session se termine par des règles d'équipe écrites : contrat, tests exigés, procédure de publication des versions.

Notre API tourne sur une ancienne version de Laravel : par où commencer ?

Par des tests de caractérisation sur les routes les plus utilisées, avant de toucher au code, puis par les corrections de sécurité les moins risquées : plafonds de pagination, expiration des jetons, contrôles d'appartenance. La montée de version vient ensuite. Pour mémoire, Laravel 10 ne reçoit plus de correctifs de sécurité depuis le 4 février 2025.

La formation traite-t-elle les webhooks ?

Du côté de celui qui les émet : choix des événements, signature, identifiant unique, nouvelles tentatives et journal des envois. Recevoir et traiter les webhooks d'un agrégateur de paiement depuis un outil d'automatisation relève de la fiche sur les intégrations sans code.

Combien coûte la formation, et comment la régler ?

Le prix est établi sur devis, selon le nombre de développeurs, le format, le travail sur votre propre API, l'ajout de la journée de revue et la durée du suivi. Ni le premier échange, ni le cadrage, ni le devis ne sont facturés. Le règlement se fait par Mobile Money, carte bancaire, PayPal, virement ou espèces.

Obtient-on une certification ?

Non. La formation se conclut par une évaluation sur l'API d'un autre participant et une attestation de fin de formation. Richard SALANON n'est certifié par aucun éditeur ni par aucun organisme de normalisation : le contrat, les tests et la documentation produits restent la meilleure preuve des acquis.

Un fonds de formation peut-il financer la session ?

Peut-être, selon le pays et le dossier. Le FDFP exige l'habilitation des opérateurs privés, sauf ceux situés hors de Côte d'Ivoire ; en France, les fonds publics ou mutualisés exigent la certification Qualiopi, que Richard SALANON ne détient pas. Interrogez le fonds par écrit, programme et devis en main, avant de vous engager.

Sources

  1. IETF, RFC 9110 « HTTP Semantics » (juin 2022) : méthodes sûres et idempotentes, codes de statut, requêtes conditionnelles, consulté le
  2. IETF, RFC 9457 « Problem Details for HTTP APIs » (juillet 2023), consulté le
  3. IETF, RFC 6750 « OAuth 2.0 Bearer Token Usage » (octobre 2012), consulté le
  4. IETF, RFC 6585 « Additional HTTP Status Codes » (avril 2012) : code 429, consulté le
  5. IETF, RFC 9745 « The Deprecation HTTP Response Header Field » (mars 2025), consulté le
  6. IETF Datatracker, brouillon « The Idempotency-Key HTTP Header Field » (révision 07, expirée), consulté le
  7. OpenAPI Initiative, OpenAPI Specification 3.2.1 (10 septembre 2026), consulté le
  8. OWASP, API Security Top 10, édition 2023, consulté le
  9. Laravel, notes de version 13.x et politique de support, consulté le
  10. Laravel, routage : install:api, liaisons imbriquées et limitation de débit, consulté le
  11. Laravel, Sanctum : jetons d'API, capacités, expiration et tests, consulté le
  12. Laravel, ressources d'API Eloquent et ressources JSON:API, consulté le
  13. Laravel, tests HTTP et tests d'API JSON, consulté le
  14. PHP, branches maintenues et calendrier de support, consulté le
  15. Stoplight, dépôt GitHub de Spectral (versions d'OpenAPI prises en charge, licence), consulté le
  16. Scramble, générateur de documentation OpenAPI pour Laravel, consulté le
  17. Scribe, documentation d'API pour Laravel, consulté le
  18. Postman, offres et tarifs, consulté le
  19. Bruno, offres et tarifs, consulté le
  20. Postman, 2025 State of the API Report (page de présentation), consulté le
  21. Postman, 2025 State of the API Report (rapport complet, PDF), consulté le
  22. GitHub, dépôt bj-decoupage (API REST du découpage administratif du Bénin), consulté le
  23. GitHub, dépôt alloartisan-api (API REST d'Allo Artisan), consulté le
  24. CNIL, API : les recommandations de la CNIL sur le partage de données (24 novembre 2023), consulté le
  25. Légifrance, délibération n° 2023-050 du 25 mai 2023 portant adoption d'une recommandation technique relative à l'utilisation des API, consulté le
  26. Union internationale des télécommunications, Facts and Figures 2025 : usage d'Internet, consulté le
  27. Secrétariat général du Gouvernement du Bénin, loi n° 2017-20 du 20 avril 2018 portant code du numérique, consulté le
  28. FDFP, procédures d'habilitation des opérateurs de formation, consulté le
  29. Secrétariat général du Gouvernement du Bénin, décret n° 2022-286 du 11 mai 2022 portant approbation des statuts du FODEFCA, consulté le
  30. 3FPT, guichets de financement, consulté le
  31. France Compétences, Qualiopi : l'obligation qualité en vigueur depuis le 1er janvier 2022, consulté le

Pour aller plus loin

Parlons de votre projet

Décrivez votre besoin : je reviens vers vous avec une première recommandation, sans engagement.

Demander un devis
Demander un devis WhatsApp