Description
Ce programme de formation en Python est conçu pour les développeurs souhaitant développer un backend sous la forme d'une API. FastAPI est le dernier framework en date couvrant ce besoin.
Il intègre les concepts modernes de programmation Python qui lui confèrent rapidité et haute disponibilité (programmation asynchronysme) et robustesse (validation des données avec les annotations de type). Il permet l'intégration flexible de nombreux frameworks tiers comme
SQLAlchemy pour la partie ORM et Pydantic pour la partie modèle serialisable
Objectifs
- Développer une API Rest moderne avec le framework FastAPI
- Appréhender les principes des services REST
- Serialiser et valider des données JSON
- Persister et requêter des données en base de données
- Déployer et sécuriser une API
Récapitulatif
Public
Développeurs, ingénieurs, chefs de projets proches du développement
Prérequis
Avoir des connaissances de base en programmation Python
Méthodes et modalités pédagogiques
Formation réalisée en Présentiel, Distanciel ou Dual-Learning selon la formule retenue.
Moyens et supports pédagogiques
Mise à disposition d'un poste de travail sur nos formations en Présentiel.
Mise à disposition de nos environnements de visio sur nos formations en Distanciel
Remise d'une documentation pédagogique numérique pendant la formation
La formation est constituée d'apports théoriques, d'exercices pratiques et de réflexions
Dans le cas d'une formation sur site Entreprise, le client s'engage à avoir toutes les ressources pédagogiques nécessaires (salle, équipements, accès internet, TV ou Paperboard...) au bon déroulement de l'action de formation conformément aux prérequis indiqués dans le programme de formation
Modalités de suivi et d'évaluations
Auto-positionnement des stagiaires avant la formation
Émargement des stagiaires et formateur par 1/2 journée
Exercices de mise en pratique ou quiz de connaissances tout au long de la formation permettant de mesurer la progression des stagiaires
Auto-évaluation des acquis de la formation par les stagiaires
Questionnaire de satisfaction à chaud et à froid à l'issue de la formation
Programme détaillé
Introduction
- Historique Python et FastAPI
- Documentation
- Création de projet
- Gestion des dépendances
- Environnement virtuel
- Démarrage du projet, mode développeur
Controleur Rest
- Routage, méthode HTTP
- Documentation Swagger/ReDoc
- Paramétre de chemin
- Paramétre de requête
- Paramétre de body
- Paramétre de formulaire
- Modèle serialisable avec Pydantic
- Validation des paramètres et réponses
- Serialisation JSON, modèle Pydantic et alternatives
Controleur Avancé
- Mode asynchrone
- Ressources statiques
- Réponse et status personnalisés (fichiers, streams, ...)
- Paramètres d'entêtes et cookie
- Gestion des erreurs
- Tâche de fond
ORM
- Configuration du moteur de connexion
- Configuration de la génération DDL
- Dépendance de session, DI
- Modèles SQLModel et SQLAlchemy
- Gestion des clés primaires
- Mapping de colonne
- CRUD
- Mapping des associations
- Requêtes avec l'ORM
- Requêtes natives
- Gestion des transactions
- Gestion des migrations avec Alembic
Tests
- Tests avec pytest et mock
- Bases de test
- Tests HTTP avec starlette et la classe TestClient
Securité
- Middleware et CORS
- Authentification
- Https en amont
Déploiement
- Déploiement Uvicorn
- Déploiement Docker
- Déploiement Cloud