Python Avancé : Web Services + ORM

Inter-company training

Who is the training for?

Développeurs Python

Duration

5,00 day(s)

Language(s) of service

EN FR

Prerequisites

Avoir suivi le stage "Python: Initiation + Approfondissement" ou notions équivalentes

Goals

Construire une API en Python et implémenter une couche d'accès aux données avec un ORM.

Contents

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

Teaching methods

Méthodologie basée sur l'Active Learning : 75% de pratique minimum. Chaque point théorique est systématiquement suivi d'exemples et exercices.

Evaluation

Contrôle continu

Certificate, diploma

Attestation de fin de stage mentionnant le résultat des acquis

Organization contact details

Dawan - Service commercial

These courses might interest you