Python Avancé : Web Services + ORM
Wat zijn de doelstellingen van de opleiding?
Opleidingsprogramma
Connaître le besoin et l'écosystème
- Présentation des Web Services (WS) : fonctionnement, intérêt, interopérabilité
- Architecture orientée service (SOA) : composantes, technologies
- Technologies : Architecture REST
- Design et documentation : Swagger
- Outils de test de services web
Interroger des services web REST
- Outils d'interrogation en Python
- Gestion des paramètres d'accès aux API
- Types d'authentification aux API RESTful (BASIC HTTP, Bearer Token etc.)
Atelier : Interroger des services web ouverts et avec authentification
Implémenter un service web REST
- Rappels sur l'architecture REST
- Composantes et méthodes d'appel
- Sérialisation des données
- Conseils pour la création de points d'entrée REST
Implémenter un service web avec Python
- Bibliothèques d'API REST : FastAPI, Flask ou Sanic
- Déclarer des routes et des méthodes
- Accepter des paramètres
- Validation des paramètres et gestion des erreurs
- Authentification (BASIC, Bearer Token)
Atelier : Créer un service web avec FastAPI
Implémenter un service web avec Django
- Découverte de l'écosystème des frameworks REST pour Django (DRF, Ninja)
- Déclarer des routes et des méthodes
- Accepter des paramètres
- Validation des paramètres et gestion des erreurs
- Authentification (BASIC, Bearer Token)
- Gestion des droits dans Django
- Mise en cache (Memcached ou Redis)
Atelier : Créer un service web avec Django-Ninja
Déploiement d'un service web
- Architecture de base d'un déploiement Django
- Architecture de base d'un déploiement FastAPI
Manipuler des bases de données en programmation objet (ORM)
- Principe des ORM (Pattern DAO)
- Bibliothèques d'ORM Python : SQLObject, SQLAlchemy, Peewee, PonyORM, Django
Découverte d'un ORM
- Choix d'un ORM
- Découvrir les concepts de base des ORMs
- Mapping : modèles, colonnes, métadonnées de tables
- Gérer son schéma de données
- Concept de migrations de schéma
- Gestion des relations entre tables : n à 1, 1 à 1, n à n
- Optimisations (syndrome des n+1 requêtes, etc.)
Atelier : Découverte de l'ORM Peewee et Django
Ecrire des requêtes avec un ORM
- Sélections de base, filtres
- Jointures en SQL et jointures en objet
- Fonctions d'agrégation, scalaires et de fenêtrage
- Désérialisation lazy/eager
Atelier : Développer une couche modèle efficacement
Découvrir des fonctionnalités avancées
- Mettre en cache (ex. Redis ou autres)
- Outils de mise en cache avec Django
- Siganux (intercepteurs, event-listeners)
Atelier : Découvrir les outils de cache pour ORM



Een ogenblik, aub...