Fondamentaux du développement
Python avancé : objet, concurrence, tests et performance
Écrire du Python robuste et efficace : décorateurs, générateurs, POO avancée, threads, réseau, tests et optimisation.
- Durée
- 21 h · 3 jours
- Niveau
- Intermédiaire
- Format
- Présentiel · Distanciel · Mixte
- Effectif max.
- 12 participants
Présentation
Ce programme approfondit Python pour les développeurs qui maîtrisent déjà les bases : fonctions d’ordre supérieur, générateurs, décorateurs, programmation objet avancée, concurrence, sockets, sérialisation, accès aux bases, tests et optimisation. Il montre aussi comment interfacer Python avec d’autres langages.
À qui s’adresse ce programme
- Développeurs Python intermédiaires
- Data engineers et ingénieurs backend
- Équipes qui industrialisent des scripts
Prérequis
- Pratique régulière de Python (fonctions, classes, modules)
Objectifs pédagogiques
- Utiliser générateurs, décorateurs et fonctions d’ordre supérieur
- Appliquer la programmation objet avancée
- Écrire du code concurrent avec les threads
- Communiquer en réseau avec les sockets
- Persister avec JSON, pickle et bases de données
- Tester avec unittest et pytest
- Profiler et optimiser
Programme détaillé
6 modules · 21 h · 3 jours
Jour 1
Fonctions avancées et générateurs
50 % théorie · 50 % pratique
- Fonctions d’ordre supérieur
- Module collections
- Générateurs et itérateurs
- Décorateurs
- Introspection
Programmation objet avancée et concurrence
30 % théorie · 70 % pratique
- Héritage multiple et MRO
- Classes abstraites et descripteurs
- Métaclasses : principes
- Threads, verrous et sémaphores
- Pools de threads
🛠 Ateliers pratiques
Atelier de concurrence1,5 h
Paralléliser un traitement de données.
✅ Livrable : Un script concurrent mesuré
Jour 2
Réseau et sérialisation
50 % théorie · 50 % pratique
- Sockets TCP et UDP
- Client et serveur simples
- Sérialisation : JSON et pickle
- Manipuler du XML
- Sécurité de la désérialisation
Bases de données
30 % théorie · 70 % pratique
- SQLite et MySQL depuis Python
- Requêtes préparées
- Transactions
- Introduction aux ORM
- Organisation de la couche de données
🛠 Ateliers pratiques
Couche de données2 h
Écrire un module d’accès aux données réutilisable.
✅ Livrable : Un module de persistance
Jour 3
Intégration avec d’autres langages
50 % théorie · 50 % pratique
- Appeler du code C avec ctypes ou cffi
- Liaisons modernes (pybind11)
- Interopérabilité avec Java
- Quand choisir une extension native
- Packaging
Tests et optimisation
30 % théorie · 70 % pratique
- unittest et pytest
- Mocks et couverture
- Profilage
- Complexité algorithmique et structures
- Bonnes pratiques de performance
🛠 Ateliers pratiques
Optimiser un script2 h
Profiler et accélérer un script lent.
✅ Livrable : Un rapport avant/après
Outils et technologies
MySQLPythonSQLiteVisual Studio Code
Méthodes pédagogiques
- Alternance d’exposés courts et de travaux pratiques
- Démonstrations en direct par le formateur
- Projet fil rouge construit au fil des modules
- Corrections collectives et échanges sur les bonnes pratiques
Évaluation
- Exercices pratiques corrigés à chaque module
- Mini-projet réalisé en fin de formation
- Quiz de validation des acquis
Matériel requis
- Un ordinateur avec une connexion internet
- Python 3 et un éditeur de code
Ressources fournies
- Support de cours et dépôt d’exercices corrigés
Débouchés
- Un code plus idiomatique et plus rapide
- Une suite de tests automatisés
- Une boîte à outils de patterns Python
Les cours vidéo associés
Mes cours en vidéo qui accompagnent ce programme : pour préparer la formation ou réviser ensuite. Accès gratuit avec un compte.

