Développement logiciel
Développer des API de production avec Python et FastAPI
Les développeurs Python livrent souvent une API qui fonctionne en développement, puis affronte trafic, clients et erreurs réels. Elle couvre le traitement asynchrone, la validation Pydantic, l'injection de dépendances, l'authentification, les contrats OpenAPI versionnés, les erreurs structurées, les tests et le déploiement conteneurisé.
Aperçu
Un apprentissage pratique pour le transfert en situation de travail.
L'écart entre un endpoint FastAPI qui fonctionne et une API de production tient à tout ce que les tutoriels omettent : ce qui se passe quand un appel externe bloque la boucle d'événements, comment un client apprend qu'un champ a changé, où les jetons d'authentification sont vérifiés, et ce que doit contenir un corps d'erreur pour qu'un partenaire d'intégration puisse déboguer sans appeler le support. Les participants construisent un seul service sur toute la formation : modèles typés de requête et de réponse, dépendances et sessions de base de données injectées, autorisation par jeton, contrat OpenAPI publié, suite de tests sans base de données active et image conteneur déployable.
Prérequis
Connaissance pratique de Python, y compris fonctions, classes et gestion de paquets. Une familiarité avec HTTP et les bases relationnelles est utile mais non requise.
Objectifs
- Construire des endpoints FastAPI asynchrones sans bloquer la boucle d'événements.
- Modéliser requêtes et réponses avec la validation Pydantic et des schémas typés.
- Gérer sessions de base de données, configuration et clients via l'injection de dépendances.
- Mettre en place une authentification par jeton et des règles d'autorisation par route.
- Publier et versionner un contrat OpenAPI sur lequel les partenaires d'intégration peuvent s'appuyer.
- Tester, conteneuriser et déployer le service avec sondes de santé et journalisation structurée.
Public cible
- Développeurs Python créant ou maintenant des services back-end
- Ingénieurs back-end migrant depuis Flask ou Django REST Framework
- Ingénieurs data et machine learning exposant des modèles sous forme de services
- Développeurs d'intégration publiant des API pour partenaires et équipes internes
- Développeurs full-stack responsables de leur propre couche de services
- Responsables techniques définissant les standards d'API des équipes Python
Programme
Une structure claire pour le parcours d'apprentissage.
Programme
Les points du programme sont regroupés dans un seul bloc au lieu de créer un module par ligne.
Module 1 : Fondamentaux de FastAPI et traitement asynchrone des requêtes
Routage, paramètres de chemin et de requête, et cycle de vie d'une requête
Endpoints asynchrones et synchrones : ce qui bloque réellement la boucle d'événements
Tâches d'arrière-plan, limites de concurrence et opérations longues
Structurer un projet destiné à dépasser le fichier unique
Module 2 : Validation des données et conception de schémas avec Pydantic
Modèles de requête et de réponse, contraintes de champs et validateurs personnalisés
Séparer les modèles de domaine internes des schémas d'API publics
Sérialisation, alias et gestion des champs optionnels et nullables
Erreurs de validation indiquant précisément à l'appelant ce qu'il doit corriger
Module 3 : Injection de dépendances, persistance et configuration
Le système de dépendances : portées, surcharges et ressources partagées
Sessions de base de données, pool de connexions et frontières transactionnelles
Paramètres, secrets et configuration d'environnement sans valeurs codées en dur
Injecter clients HTTP, caches et services tiers pour faciliter les tests
Module 4 : Authentification, autorisation et protection de l'API
Flux OAuth2 password et bearer, émission et vérification des jetons
Règles d'autorisation au niveau des routes et des ressources
CORS, limitation de débit et contrôles de taille et de délai des requêtes
Gestion des identifiants, rotation des clés et journalisation exploitable en audit
Module 5 : Contrats, erreurs et versionnage des API
Documentation OpenAPI générée et maintenue exacte à mesure que le code évolue
Enveloppes d'erreur cohérentes, codes de statut et détails de problème
Stratégies de versionnage et dépréciation d'un endpoint sans casser les clients
Pagination, filtrage et idempotence des opérations d'écriture
Module 6 : Tests, packaging et mise en production
Tester les endpoints avec pytest, des clients de test et des surcharges de dépendances
Fixtures et doublures supprimant le besoin d'une base de données active
Conteneuriser le service avec Uvicorn et un gestionnaire de processus de production
Sondes de santé, journalisation structurée et métriques d'un service déployé
Supports fournis
- Manuel de formation, exemples de code commentés et notes de référence
- Environnement de laboratoire et dépôts de démarrage
- Exercices, check-lists et modèles de code réutilisables
- Certificat de participation 4D
- Accompagnement technique après la formation
Options de formation
Les programmes peuvent être organisés en entreprise, en ligne ou dans un format hybride selon le calendrier, la localisation et les objectifs de vos équipes. Lorsqu'un certificat ou un examen externe est inclus, les règles et frais de certification restent soumis aux politiques de l'organisme certificateur, tandis que 4D assure la formation et l'accompagnement à la préparation.
Pourquoi choisir 4D
4D adapte cette formation aux intégrations que votre service doit réellement prendre en charge : consommateurs internes, systèmes partenaires ou endpoints de service de modèles. Les participants repartent avec un service FastAPI fonctionnel, un contrat OpenAPI publié et revu au regard de vos exigences, et un dispositif de tests et de déploiement immédiatement extensible.
Formations liées
Fondamentaux de la programmation Python
Une introduction pratique à Python pour les ingénieurs et analystes qui ont besoin de code opérationnel plutôt que d'extraits de tutoriel. Les participants acquièrent de l'aisance avec les types, les collections, les fonctions, les fichiers et la gestion des erreurs, puis construisent un programme complet.
View coursePython intermédiaire et pratiques de code propre
Conçue pour les développeurs dont le code Python fonctionne mais résiste au changement. Le programme couvre dataclasses, générateurs, décorateurs, gestionnaires de contexte et annotations de types, puis applique les refactorings qui transforment un module interminable en unités testées contrôlées par black, ruff et mypy.
View courseAutomatisation et scripting Python pour les tâches métier
Destinée aux équipes qui perdent chaque semaine des heures en manipulations de fichiers, de tableurs et de rapports. Les participants automatisent ces tâches avec Python : traitement de fichiers en lot, Excel et CSV, appels d'API REST, alertes par e-mail et tâches planifiées qui signalent clairement toute défaillance.
View course