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
Taux de retour à l’emploi : Aucune donnée disponible
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 € 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.
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 02/318.50.01 (prix d'un appel local) ou depuis notre formulaire de contact.