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
- Rappels ciblés sur les structures de données Python : listes, dictionnaires, tuples, sets, compréhensions
- Fonctions, arguments, valeurs par défaut, arguments nommés, *args et **kwargs
- Gestion d'environnements virtuels : venv, pip, fichier requirements.txt
- Introduction aux gestionnaires modernes : uv, poetry (panorama)
- Structure d'un projet Python : packages, modules, organisation des fichiers
3
Module 2 / Lisibilité, typing et bonnes pratiques (2h)
2h
- Style de code et PEP 8 : convention de nommage, indentation, longueur de ligne
- Typing moderne : annotations de type, collections typées, Optional / Union, intérêt et limites du typage statique avec mypy
- Docstrings et conventions de documentation : Google, NumPy, reST
- Qualité automatisée du code : ruff pour le linting et le formatting, panorama de black et isort dans les environnements existants
- Logging au lieu de print : module logging, niveaux, configuration
- Gestion des erreurs : exceptions, try/except, exceptions personnalisées
4
Module 3 / Manipulation de données avec pandas (3h)
3h
- Manipuler les opérations pandas essentielles pour comprendre, corriger et faire évoluer des scripts data existants.
- Le DataFrame pandas : structure, création, lecture depuis CSV / Excel / Parquet
- Indexation, sélection, filtrage : loc, iloc, conditions booléennes
- Transformation des colonnes : opérations vectorisées, assign, map, usage raisonné de apply
- Gestion des valeurs manquantes : isna, fillna, dropna
- Agrégations et groupements : groupby, agg
- Jointures et concaténation : merge, concat
- Approfondi en TP : transformation d'un jeu de données représentatif d'un cas data
5
Jour 2 / Code maintenable, tests et interactions SQL (7h)
7h
6
Module 4 / Lecture et compréhension de code existant (1h30)
1h
- Méthodologie de lecture d'un projet Python inconnu : point d'entrée, dépendances, flux
- Outils d'exploration : pydoc, IDE, debugger
- Identifier les patterns courants : classes, modules, fonctions utilitaires
- Repérer les zones à risque : code legacy, fonctions trop longues, couplage fort
- Approfondi en TP : analyse d'un script Python représentatif et restitution
7
Module 5 / Refactoring et amélioration de code (2h)
2h
- Principes de refactoring : extraire des fonctions, réduire la complexité, supprimer la duplication
- Patterns courants : substitution des nombres magiques, encapsulation, séparation des responsabilités
- Refactoring sécurisé : tester avant, refactorer, retester
- Conventions et lisibilité : noms parlants, fonctions courtes, séparation logique
- Approfondi en TP : refactoring d'un script existant avec mesure de l'impact
8
Module 6 / Tests unitaires avec pytest (1h30)
1h
- Pourquoi tester : robustesse, non-régression, documentation vivante
- Premiers tests avec pytest : structure, conventions, exécution
- Assertions et types de tests : tests de fonctions, paramétrage avec parametrize
- Fixtures pytest : préparation de données, partage entre tests
- Mocks et patches : principes d'isolation des dépendances externes, selon le niveau du groupe
- Approfondi en TP : écriture de tests pour un module Python existant
9
Module 7 / Interactions avec une base de données SQL (1h)
1h
- Connecteurs Python pour bases de données : psycopg, pymysql, sqlite3
- SQLAlchemy en panorama : connexion, exécution de requêtes et cas d'usage par rapport aux connecteurs natifs
- Bonnes pratiques : connexion, paramétrage des requêtes, gestion des transactions
- Sécurité : prévention des injections SQL, gestion des credentials
- Intégration pandas / SQL : read_sql, to_sql
- Approfondi en TP : script complet de lecture, transformation et écriture de données entre SQL et DataFrame
10
Atelier final de synthèse (1h)
1h
- 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.
- Discussion ouverte sur les pratiques et défis rencontrés par les participants
- 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)
2200 € HT
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