Prérequis
Bases solides de Python (variables, boucles, fonctions), notions de système d’exploitation (fichiers, permissions) et familiarité avec la ligne de commande.
Durée
3 jours
Contenu Technique de la Formation
Cette formation couvre l’écosystème Python dédié à l’automatisation de tâches système et métier. Vous apprendrez à construire des scripts robustes, portables et maintenables en exploitant les modules système (os, pathlib, subprocess), les outils CLI modernes (click, typer, argparse) et les bibliothèques métier (requests, openpyxl, csv, schedule, watchdog). L’accent est mis sur la gestion d’erreurs, la cross-plateforme et l’empaquetage professionnel avec setuptools.
- os et pathlib — manipulation portative des chemins, fichiers et répertoires cross-platform
- subprocess et execution shell — lancer des commandes système, capturer outputs, gérer les processus
- argparse, click et typer — CLI modernes avec validation d’arguments et aide auto-générée
- requests et openpyxl — récupération HTTP, parsing JSON, manipulation de fichiers Excel en masse
- csv, logging et exception handling — traitement de données tabulaires, logs structurés, assertions robustes
- schedule et watchdog — tâches programmées récurrentes, monitoring de changements fichiers
Objectifs de la Formation
Les objectifs visés par cette formation sont :
- Écrire et déboguer des scripts Python autonomes utilisant os, pathlib et subprocess pour l’automatisation système
- Concevoir des CLI portables avec argparse, click ou typer intégrant validation et gestion d’erreurs
- Manipuler des fichiers Excel massifs avec openpyxl et traiter des données CSV avec logging intégré
- Implémenter des requêtes HTTP structurées avec requests et gérer les erreurs réseau avec retry logic
- Empaqueter et distribuer des scripts avec setuptools, créer des entry points et tester cross-platform
- Orchestrer des tâches répétées (schedule) et surveiller l’état du système de fichiers (watchdog)
Table des Matières
Fondamentaux d’automatisation système avec os, pathlib et subprocess
- Chemins absolus et relatifs avec pathlib — API orientée objet vs os.path
- Énumération récursive de répertoires — glob, rglob, Path.iterdir()
- Lancement de processus externes — subprocess.run, Popen, gestion du stdin/stdout/stderr
- Signaux et terminaison de processus — timeout, préservation des ressources
- Gestion d’erreurs système — FileNotFoundError, PermissionError, exception handling structuré
- Scripts portables Windows/Linux/Mac — chemins normalisés, encodages Unicode
Interfaces en ligne de commande avec argparse, click et typer
- argparse natif — positional/optional arguments, sous-commandes, formatage de l’aide
- click — décorateurs minimalistes, options complexes, contextes partagés
- typer — type hints et validation automatique, génération de documentation
- Gestion des configurations — fichiers .ini, variables d’environnement, secrets
- Validateurs personnalisés et callbacks — conversion de types, constraints
- Tests unitaires de CLI — mocker les arguments, capturer les outputs
Manipulation de données tabulaires et opérations web
- Requêtes HTTP avec requests — GET/POST/PUT/DELETE, headers, authentification
- Parsing et sérialisation JSON — structure de schémas, gestion des dates
- Fichiers Excel avec openpyxl — lecture/écriture, formules, feuilles multiples
- CSV avec le module csv — reader/writer, dialects, gestion des encodages
- Gestion des erreurs réseau — retry strategies, timeouts, fallbacks
- Nettoyage et validation de données — regex, pandas-like transformations en pur Python
Logging, monitoring et orchestration de tâches
- Logging structuré — logger hierarchy, handlers, formatters, FileHandler
- schedule — planification de tâches récurrentes, expressions cron simplifiées
- watchdog — monitoring événementiel de répertoires, FileSystemEventHandler
- Gestion des erreurs et retry logic — exponential backoff, circuit breaker
- Boucles d’exécution (event loops) — threading et async-await basiques
- Débogage de scripts longs — breakpoints, pdb, logging en production
Empaquetage, distribution et tests de scripts autonomes
- setup.py et setuptools — déclaration de dépendances, entry_points CLI
- MANIFEST.in et inclusion de ressources non-Python — données, configs
- Versionning sémantique — __version__, fichiers VERSION, git tags
- Tests unitaires et intégration — pytest, mocks, fixtures pour CLI
- Construction de wheels et distribution sur PyPI ou repo privé
- Installation en mode développement (pip install -e .) et gestion d’environnements virtuels
En Pratique
Automatiser des opérations de fichiers avec os et pathlib
- Créer des scripts cross-platform pour parcourir et manipuler des répertoires
- Gérer les chemins portativement sur Windows, Linux et macOS
Exécuter et monitorer des processus système
- Lancer des commandes shell et capturer leurs outputs
- Implémenter des retry logiques et gestion d'erreurs robuste
Concevoir des CLI intuitives avec argparse et click
- Construire des interfaces en ligne de commande avec validation des arguments
- Tester et déboguer vos scripts autonomes
Traiter Excel, PDF et APIs
- Lire et générer des fichiers Excel et PDF programmatiquement
- Intégrer des endpoints REST et traiter les réponses JSON
Modalités et Inscription
Cette formation est proposée selon deux formules pour s'adapter au mieux à vos besoins :
Session régulière
Des sessions sont organisées à intervalles réguliers. Demandez les prochaines dates planifiées pour vous inscrire à la prochaine session.
Sur mesure & intra-entreprise
Vous souhaitez former vos équipes directement dans vos locaux ou adapter le programme technique à votre contexte d'entreprise ? Contactez-nous pour obtenir un devis personnalisé.