Pré-requis : Avoir suivi le stage "Python : Initiation + Approfondissement" ou notions équivalentes
Objectifs : Construire une API en Python avec FastAPI et implémenter une couche d'accès aux données avec un ORM
Sanction : Attestation de fin de formation mentionnant le résultat des acquis
Référence : PYT101931-F
Accessibilité : Si vous êtes en situation de handicap, nous sommes en mesure de vous accueillir, n'hésitez pas à nous contacter à referenthandicap@dawan.fr, nous étudierons ensemble vos besoins
Contact : commercial@dawan.fr
3 475,00 CHF HT
Présentation des Web Services (WS) : fonctionnement, intérêt, interopérabilité
Architecture orientée services (SOA) vs microservices : composantes, technologies
FastAPI : présentation, cas d'usage, architecture
FastAPI vs autres frameworks (Flask, Django)
Design et documentation : OpenApi Specification (Swagger)
Outils de test de services web : Postman
Atelier : Installation de l'environnement de développement (VS Code + Interpréteur Python) - Création d'un projet FastAPI (structure, point d'entrée, dépendances)
Architecture REST : composantes, méthodes d'appel (GET, POST, PUT, DELETE)
Définition de routes
Gestion des paramètres de la requête
Validation des entrées : typing, pydantic
Types de réponses, format (json, xml, texte, binaire)
Gestion des erreurs
Traitements asynchrones
Déploiement d'un service RESTful
Interrogation de web services REST (Python/Javascript)
Implémentation de tests unitaires et fonctionnels (TestClient, PyTest)
Déploiement et configuration d'une application FastAPI sur un serveur (Uvicorn, Hypercorn)
Atelier : Création et interrogation d'une API REST avec FastAPI
Niveaux de sécurité
Gestion de l'authentification dans un web service (JWT, OpenID Connect)
Gestion des droits (OAuth2)
Multiples configurations : CORS, HTTPS, ...
Atelier : sécurisation globale de l'application FastAPI
Pattern DAO (Data Access Object)
Frameworks ORM : fonctionnalités, intérêt
ORMs Python : SQLAlchemy, Django ORM, PonyORM, SQLObject, Peewee, ...
Mapping des tables et gestion des clés primaires (simples, composées)
Mapping des types de bases, propriétés des colonnes
Gestion de la concurrence : optimistic (versioning), pessimistic
Gestion des relations : OneToMany/ManyToOne, OneToOne, ManyToMany
Paramétrage des cascades
Gestion des collections
Mapping de l'héritage
Stratégies de chargement : Lazy ou Eager
Atelier : Réalisation d'un schéma global de mapping d'une base de données
Langage de requêtes objet
Sélections de base, filtres
Jointures complexes
Fonctions d'agrégation, de chaine, ...
Gestion des chargements Lazy/Eager
Atelier : Réalisation d'opérations CRUD (Create Read Update Delete) - requêtes complexes
Cycle de vie des entités et validation
Intercepteurs, Event-listeners
Configuration avancée : performance et fonctionnalités
Utilisation du cache
Serveurs Websockets en Python
Atelier : Implémentation d'intercepteurs et gestion du cache.
Délai d'accès :Le délai d’accès à la formation certifiante est de 7 jours après validation du dossier. Dans le cas d’un financement via votre CPF, la validation de votre dossier devra être réalisée 11 jours ouvrés avant le début de formation
Modalités d’évaluation : Les évaluation en cours de formations sont réalisées par les ateliers de mise en pratique et les échanges avec les formateurs
Pour suivre une session à distance depuis l'un de nos centres, contactez-nous.
Aucune date de programmée actuellement. Pour plus d'information sur les prochaines sessions, nous vous invitons à joindre le service commercial par téléphone au 22 519 09 66 (prix d'un appel local) ou depuis notre formulaire de contact.