Accéder à l'en-tête Accéder au contenu principal Accéder au pied de page

API pragmatiquescentrées sur le métier

Pragmatic API Design formation arolla

Description

Objectifs

Concevoir des API robustes et centrées sur le métier pour faciliter leur compréhension, leur maintenance et assurer leur pérennité, en intégrant les impératifs de qualité logicielle (Software Craftsmanship) et de résilience face aux contraintes réglementaires (CRA).
Cette formation met l’accent sur :

Architecture modulaire et évolutive :
Maîtriser le faible couplage et la forte cohésion.
Appliquer des transformations architecturales (ex:
refactoring vers l'architecture hexagonale ou les
services stateless) pour permettre des changements
avec un impact minimal.

L’alignement métier (Domain-Driven Design) :
Utiliser le DDD pour que la conception de l'API
reflète précisément la réalité du domaine métier,
assurant la lisibilité et la compréhensibilité du code à long terme.

Sécurité et conformité (Security by Design) :
Intégrer la Security by Design, devenue une
obligation légale (CRA), afin de minimiser le risque
financier, sachant que les manquements peuvent
entraîner des amendes allant jusqu'à 2,5 % du chiffre d'affaires annuel mondial*.

Qualité et productivité :
Mettre en œuvre les bonnes pratiques (Software
Craftsmanship) pour obtenir un code de haute
qualité (jusqu'à deux fois plus rapide et 15 fois moins de défauts). Une gestion efficace de la dette
technique (qui gaspille 23 % à 42 % du temps de
dev) permet d'augmenter l'efficacité de livraison
d'au moins 25 %*.

Sécurité et conformité (Security by Design) : En adoptant les pratiques du Software Craft, nous transformons ces interfaces en contrats stables permettant une évolution indépendante des composants. Cette approche permet non seulement de réduire le couplage, mais aussi d'intégrer les impératifs de résilience face aux nouvelles contraintes réglementaires, telles que le Cyber Resilience Act (CRA)*.

Programme

L'API comme levier stratégique et produit
La formation débute par une immersion dans l’écosystème moderne des API en analysant leur évolution, des architectures distribuées historiques aux microservices actuels. Plutôt que de voir l'API comme un simple connecteur technique, nous l'abordons comme un produit à part entière (API as a Product). Nous explorons comment une stratégie centrée sur les cas d'usage et l'empathie envers le développeur utilisateur permet de limiter la dette technique et d'augmenter le ROI. Cette introduction pose les bases du Software Craft en démontrant qu'une interface de qualité est le premier rempart contre l'obsolescence logicielle.

Modélisation métier et Design tactique
Une fois la vision produit établie, nous plongeons dans la conception structurelle en utilisant les principes du Domain-Driven Design (DDD). L'objectif est d'apprendre à découper son domaine en contextes délimités (Bounded Contexts) pour définir une granularité d'API pertinente, évitant ainsi le piège du couplage fort. Nous étudions comment transformer une logique métier complexe en un contrat d'interface clair, en s'appuyant sur des principes de Clean Architecture. Cette étape est cruciale pour garantir que l'API reflète fidèlement les besoins business tout en restant techniquement maintenable.

Excellence technique et Standards du Web
Ce volet se concentre sur l'implémentation pragmatique des conventions REST et HTTP. Nous détaillons les bonnes pratiques de nommage, l'utilisation rigoureuse des verbes et des codes de statut, ainsi que la gestion avancée des ressources via le filtrage, le tri et la pagination. Un accent particulier est mis sur l'explorabilité et la documentation vivante (Doc-as-Code), afin que le contrat d'API devienne une source de vérité auto-générée, facilitant ainsi l'intégration pour les clients externes et internes.

Architecture résiliente et qualité du code
Le design d'une API ne s'arrête pas à son interface ; il s'étend à la robustesse de son implémentation. Nous appliquons ici les principes SOLID et la Loi de Demeter pour garantir une forte cohésion du code. Vous découvrez comment rendre un service idempotent et stateless pour assurer sa scalabilité. Nous explorons également l'architecture hexagonale comme outil de découplage, permettant de protéger le cœur métier des évolutions techniques et de faciliter l'usage de doublures de tests pour simuler des interactions complexes.

Cycle de vie, testabilité et gouvernance
Le cycle de vie d'une API est abordé sous l'angle de la pérennité et de la sécurité. Nous intégrons les concepts de Design-by-Contract et de Test-Driven Development (TDD) pour assurer une testabilité totale, même sur du code legacy, grâce aux techniques de "Seams" et de "Golden Master". La gouvernance est traitée à travers le prisme du Cyber Resilience Act (CRA), incluant le Threat Modeling et la gestion du SBOM. Enfin, nous étudions les stratégies de versioning et de migration fluide, garantissant un support long terme et une évolution constante sans rupture pour les utilisateurs.

Public et Prérequis

Cette formation s’adresse principalement aux développeuses, développeurs, architectes, et chefs ou cheffes de projets IT souhaitant maîtriser les concepts et les bonnes pratiques autour de la conception d’API pragmatiques. Il est recommandé d’avoir une compréhension basique des API et une expérience dans le développement logiciel.
Pour chaque formation, un quizz de validation des prérequis sera transmis 2 semaines en amont et en fin de session pour valider les acquis.

Matériel pédagogique

Les formateurs distribueront les supports de la formation au format électronique PDF à la fin de la formation.

A savoir

La formation est donnée en français ou en anglais. Les supports de formation sont en anglais. La formation alternera entre théorie et mise en pratique à travers divers exercices et études de cas pour permettre une meilleure assimilation des concepts présentés.
Pour toute personne en situation de handicap, n’hésitez pas à nous contacter au 07 63 74 20 95 ou à formation@arolla.fr.
Par ailleurs, toutes nos formations sont accessibles en distanciel.

Formateurs

Dorra bartaguiz formatrice Arolla

Dorra Bartaguiz

Formatrice et CTO Arolla

Les prochaines sessions

Contactez-nous

Gwenaëlle Rispal

Software crafter - Fullstack JAVA

« Tout le monde est bienveillant et s’entraide spontanément. On le voit sur le réseau social d’Arolla, dès qu’on pose une question, dans les 10 minutes on a une solution. Et puis avoir des jours de destaffing pour travailler ensemble et monter en compétence sans empiéter sur l’agenda personnel est un vrai plus. Enfin le programme d’ArollAcademy couronne le tout puisqu’il joue un double rôle : il forme des juniors et permet aux arolliens expérimentés de transmettre leur savoir. »

Arnaud Courtès formateur Arolla et lead tech craft artisan logiciel

Arnaud Courtes

Lead tech et formateur

« Arolla, c’est avant tout faire partie d’une super communauté, bienveillante, toujours présente quand il y a besoin et techniquement au top. C’est très stimulant. Arolla, c’est aussi la possibilité de réaliser ce que l’on veut vraiment faire en matière de carrière avec l’appui de personnes expérimentées. Ce sont enfin des clients intéressés en majorité par la qualité et le craft et le fait de pouvoir choisir sa mission. »

Ils nous font confiance

ALD automotive black and white PNG Arolla

Banque et services

ALD Automotive

Banque et assurance

Crédit Agricole – Corporate & Investment Bank
décathlon arolla data craft

Retail (grande distribution)

Decathlon

Banque et assurance

ING Direct
Monoprix Black and white PNG Arolla

Retail (grande distribution)

Monoprix

Nos dernières formations

Voir toutes les formations
Crafting ML-powered products formation arolla
IA stratégie

Crafting Machine learning

Cette formation couvre les concepts clés de l'apprentissage automatique, y compris les projets, les modèles et les applications ML (Machine Learning), ainsi que les utilisations typiques de ML dans les entreprises.

Durée

2 jours

Voir
Python craft formation signature arolla
Qualité

Python Craft

Développez une compréhension fine du fonctionnement de Python pour travailler sans casser les fonctionnalités existantes tout en rendant l'application évolutive.

Durée

2 jours

Voir