Python Avancé : Web Services + ORM

Formation inter-entreprise

À qui s'adresse la formation?

Développeurs Python

Durée

5,00 jour(s)

Langues(s) de prestation

EN FR

Prochaine session

03.02.2025
Lieu
Paris

Prix

2995,00€

Prérequis

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

Objectifs

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

Contenu

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

Méthodes pédagogiques

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

Évaluation

Contrôle continu

Certificat, diplôme

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

Prochaine session

Date
Ville
Language & prix
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€

Contact pour cette formation

Dawan - Service commercial

Ces formations pourraient vous intéresser

FR
Journée
Paris
Langages informatiques - Langage java
06.01.2025