Retour aux formations
IA & Data
Python intermédiaire : maintenance, qualité et évolution de scripts data
2 jour(s) • 14h
Description
Cette formation s'adresse à des profils techniques déjà familiers de Python, confrontés à des scripts ou projets data existants qu'ils doivent comprendre, fiabiliser et faire évoluer. Elle vise à consolider les pratiques professionnelles indispensables : structuration du code, lisibilité, typage, logging, tests, refactoring, manipulation de données et interactions SQL. L'approche est résolument orientée pratique, sur des exemples représentatifs d'un environnement professionnel data : scripts de transformation, manipulation de DataFrames, intégration avec une base de données, structuration et tests d'un module Python.
Objectifs pédagogiques
- Consolider les pratiques Python utiles à la maintenance de code existant : structure, environnements, lisibilité et conventions
- Lire, comprendre et documenter un projet Python existant
- Identifier les zones de fragilité d'un script Python : complexité, duplication, dépendances, gestion d'erreurs
- Refactorer progressivement du code pour améliorer sa lisibilité, sa maintenabilité et sa robustesse
- Manipuler les opérations pandas essentielles dans des scripts de transformation de données
- Interagir avec une base SQL depuis Python en respectant les bonnes pratiques de connexion, de requêtage et de sécurité
- Mettre en place des tests unitaires simples avec pytest pour sécuriser les évolutions
- Utiliser les outils de qualité courants : formatter, linter, typing et logging
Public concerné
Développeurs migration et profils techniques manipulant du code Python existant
Analytics engineers et data engineers
Profils techniques amenés à maintenir, faire évoluer ou reprendre des scripts Python data
BI developers en transition vers des tâches d'ingestion / transformation
Toute personne pratiquant Python à un niveau intermédiaire et souhaitant consolider ses pratiques professionnelles
Prérequis
Pratique régulière de Python à un niveau intermédiaire
Maîtrise des structures de base : variables, types, conditions, boucles, fonctions
Familiarité avec l'utilisation d'un terminal en ligne de commande
Notions de SQL appréciées (la formation s'adresse à des profils manipulant souvent des données)
Aucune connaissance préalable en data science avancée requise
Déroulé du programme
1
Jour 1 / Bonnes pratiques modernes Python et manipulation de données (7h)
7h
2
Module 1 / Rappels structurants et environnements de travail (1h30)
1h
3
• Rappels ciblés sur les structures de données Python : listes, dictionnaires, tuples, sets, compréhensions
4
• Fonctions, arguments, valeurs par défaut, arguments nommés, *args et **kwargs
5
• Gestion d'environnements virtuels : venv, pip, fichier requirements.txt
6
• Introduction aux gestionnaires modernes : uv, poetry (panorama)
7
• Structure d'un projet Python : packages, modules, organisation des fichiers
8
Module 2 / Lisibilité, typing et bonnes pratiques (2h)
2h
9
• Style de code et PEP 8 : convention de nommage, indentation, longueur de ligne
10
• Typing moderne : annotations de type, collections typées, Optional / Union, intérêt et limites du typage statique avec mypy
11
• Docstrings et conventions de documentation : Google, NumPy, reST
12
• Qualité automatisée du code : ruff pour le linting et le formatting, panorama de black et isort dans les environnements existants
13
• Logging au lieu de print : module logging, niveaux, configuration
14
• Gestion des erreurs : exceptions, try/except, exceptions personnalisées
15
Module 3 / Manipulation de données avec pandas (3h)
3h
16
• Manipuler les opérations pandas essentielles pour comprendre, corriger et faire évoluer des scripts data existants.
17
• Le DataFrame pandas : structure, création, lecture depuis CSV / Excel / Parquet
18
• Indexation, sélection, filtrage : loc, iloc, conditions booléennes
19
• Transformation des colonnes : opérations vectorisées, assign, map, usage raisonné de apply
20
• Gestion des valeurs manquantes : isna, fillna, dropna
21
• Agrégations et groupements : groupby, agg
22
• Jointures et concaténation : merge, concat
23
• Approfondi en TP : transformation d'un jeu de données représentatif d'un cas data
24
Jour 2 / Code maintenable, tests et interactions SQL (7h)
7h
25
Module 4 / Lecture et compréhension de code existant (1h30)
1h
26
• Méthodologie de lecture d'un projet Python inconnu : point d'entrée, dépendances, flux
27
• Outils d'exploration : pydoc, IDE, debugger
28
• Identifier les patterns courants : classes, modules, fonctions utilitaires
29
• Repérer les zones à risque : code legacy, fonctions trop longues, couplage fort
30
• Approfondi en TP : analyse d'un script Python représentatif et restitution
31
Module 5 / Refactoring et amélioration de code (2h)
2h
32
• Principes de refactoring : extraire des fonctions, réduire la complexité, supprimer la duplication
33
• Patterns courants : substitution des nombres magiques, encapsulation, séparation des responsabilités
34
• Refactoring sécurisé : tester avant, refactorer, retester
35
• Conventions et lisibilité : noms parlants, fonctions courtes, séparation logique
36
• Approfondi en TP : refactoring d'un script existant avec mesure de l'impact
37
Module 6 / Tests unitaires avec pytest (1h30)
1h
38
• Pourquoi tester : robustesse, non-régression, documentation vivante
39
• Premiers tests avec pytest : structure, conventions, exécution
40
• Assertions et types de tests : tests de fonctions, paramétrage avec parametrize
41
• Fixtures pytest : préparation de données, partage entre tests
42
• Mocks et patches : principes d'isolation des dépendances externes, selon le niveau du groupe
43
• Approfondi en TP : écriture de tests pour un module Python existant
44
Module 7 / Interactions avec une base de données SQL (1h)
1h
45
• Connecteurs Python pour bases de données : psycopg, pymysql, sqlite3
46
• SQLAlchemy en panorama : connexion, exécution de requêtes et cas d'usage par rapport aux connecteurs natifs
47
• Bonnes pratiques : connexion, paramétrage des requêtes, gestion des transactions
48
• Sécurité : prévention des injections SQL, gestion des credentials
49
• Intégration pandas / SQL : read_sql, to_sql
50
• Approfondi en TP : script complet de lecture, transformation et écriture de données entre SQL et DataFrame
51
Atelier final de synthèse (1h)
1h
52
• Reprise guidée d'un mini-projet Python : identification des problèmes, priorisation des corrections, refactoring ciblé, ajout d'un test simple et sécurisation d'un flux pandas / SQL.
53
• Discussion ouverte sur les pratiques et défis rencontrés par les participants
54
• Recommandations personnalisées pour la mise en application immédiate
Informations
Durée
2 jour(s)
14h
Tarif
Sur demande
Formations similaires
IA & Data
Migration vers le Cloud
2 jour(s)
Sur demande
IA & Data
Agents IA — Concevoir des systèmes autonomes avec LangChain et LangGraph - Avancé
3 jour(s)
Sur demande
IA & Data
AI Act européen — Comprendre vos obligations et vous mettre en conformité - Niveau débutant
1 jour(s)
Sur demande
IA & Data
Analyse bayésienne (4-107)
3 jour(s)
Sur demande