Automatisation et scripting avec Python

Si vous copiez les mêmes fichiers, remplissez le même tableur ou cliquez sur les mêmes boutons chaque semaine, un script peut le faire à votre place. On apprend juste assez de Python pour être autonome, puis on passe le reste du temps sur ce dont l'automatisation a vraiment besoin : fichiers, formats, autres programmes, bases de données et Web.

Durée : 3 ou 4 jours · Niveau : débutant

Pour qui : les personnes avec peu d'expérience en programmation souhaitant automatiser des tâches, ou ayant des besoins de scripting (administration système, bancs de test, etc.).

Prérequis : comprendre le principe de l'automatisation. Avoir fait quelques scripts est un plus.

Automation and scripting with Python

Jour 1 — Découvrir Python

  • Rappels sur le terminal
  • Installation de Python : les bonnes pratiques
  • Utilisation de l'interpréteur
  • Premier programme "Hello World"
  • Les variables : déclaration et affectation
  • Les types de base : int, float, str, bool
  • Opérateurs arithmétiques
  • Conditions et contrôle de flux
  • Comprendre les erreurs et la stack trace
  • Listes et tuples
  • Itération avec les boucles while et for
  • Les dictionnaires et les sets

Jour 2 — Structurer un programme

  • Les fonctions
  • Le système d'import
  • Créer ses propres modules
  • Lire et écrire un fichier
  • Parcourir le système de fichiers avec pathlib
  • Accumuler et compter
  • Filtrer avec et sans listes en compréhension
  • Ordonner ses données
  • Les exceptions
  • try/except/finally
  • Utiliser un debugger

Jour 3 — Automatisation

  • uv pour la gestion de ses scripts
  • Installer des bibliothèques tierces
  • Parsing d'arguments avec argparse
  • Variables d'environnement
  • Lancer un autre programme via le subprocessing
  • Sauver des secrets dans un keyring
  • Fichiers CSV, JSON, TOML, YAML et XML
  • Se connecter à une base de données SQL
  • Révision sur le protocole HTTP
  • Les bases des requêtes Web
  • Interroger une API distante

Jour 4 — Optionnel : aller plus loin

  • Garder un journal de l'activité des scripts avec le logging
  • S'assurer de données propres et sécurisées avec Pydantic
  • Générer des fichiers à partir de modèles jinja
  • Normaliser les requêtes aux bases de données avec un ORM
  • Générer de la fausse donnée avec Faker
  • Réagir à un changement du système de fichiers avec watchfiles
  • Lancer de longues tâches dans des files d'attente avec huey
  • Mettre en cache des gros jeux de données avec diskcache

Passez au niveau supérieur en Python !