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

Comprendre le besoin
  • Présentation des Web Services (WS): fonctionnement, intérêt, interopérabilité
  • Architecture orientée service (SOA): composantes, technologies
  • Technologies: Architecture REST, Websockets
  • Plates-formes à services web
  • Choix de l'implémentation
  • Design et documentation: Swagger
  • Outils de test de services web

Atelier: Installation de l'environnement de développement et d'exécution, choix d'une implémentation de WebService, description d'un service

Implémenter et interroger des services web REST
  • Architecture REST: composantes, méthodes d'appel
  • Flask ou Django: présentation des outils pour des services REST
  • Envoi de paramètres, validations
  • Type de réponse, format
  • Gestion des erreurs
  • Déploiement d'un service RESTful
  • Interrogation de web services REST (Python/Javascript)

Atelier: Création et interrogation d'une API REST

Sécuriser un service web
  • Niveaux de sécurité
  • Gestion de l'authentification dans un web service
  • Gestion des droits
  • Cryptographie au niveau des messages
  • Signatures de messages
  • Standards de sécurité disponibles

Atelier: sécurisation globale de l'API

Réaliser un mapping relationnel objet (ORM)
  • 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

Ecrire des requêtes avec un ORM
  • 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

Découvrir des fonctionnalités avancées
  • 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.

Atelier: Implémentation d'un salon de discussion utilisant des websockets.

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