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

Next session

03.02.2025
Location
Paris

Price

2995,00€

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

Next session

Datum
City
Language and price
03.02.2025

07.02.2025
Paris
FR 2995,00€
03.02.2025

07.02.2025
A distance
FR 2995,00€
24.02.2025

28.02.2025
Strasbourg
FR 2995,00€
23.06.2025

27.06.2025
Paris
FR 2995,00€
23.06.2025

27.06.2025
A distance
FR 2995,00€
07.07.2025

11.07.2025
Strasbourg
FR 2995,00€
27.10.2025

31.10.2025
Paris
FR 2995,00€
27.10.2025

31.10.2025
A distance
FR 2995,00€
17.11.2025

21.11.2025
Strasbourg
FR 2995,00€

Organization contact details

Dawan - Service commercial

These courses might interest you

FR
Day
Paris
Computer language - Java language
06.01.2025