Des outils pour vos collègues : CLI et GUI

Un script que vous seul savez lancer est un script que vous seul utiliserez. On transforme du code qui marche en vrais outils : une ligne de commande avec aide et valeurs par défaut sensées, une jolie interface dans le terminal, une petite fenêtre pour ceux qui n'ouvrent jamais de terminal, et une façon de l'installer chez un collègue sans cours magistral sur les virtualenvs.

Durée : 2 ou 3 jours · Niveau : intermédiaire

Pour qui : toute personne écrivant des scripts Python que d'autres, techniques ou non, doivent lancer.

Prérequis : connaître les bases de Python : fonctions, modules, fichiers.

Tools for your colleagues: CLI and GUI

Jour 1 — De vraies lignes de commande

  • Ce qui rend un outil agréable à utiliser
  • Arguments, options et sous-commandes avec argparse
  • Réglages en CLI, env et .env avec pydantic-settings
  • Fichiers de configuration : TOML et où les ranger
  • Codes de sortie, stdin, stdout et stderr : jouer le jeu des pipes
  • Logging VS print
  • Couleurs, tableaux et barres de progression avec rich
  • Des tracebacks lisibles avec rich
  • Tester une CLI avec pytest

Jour 2 — Les interfaces

  • Des interfaces dans le terminal avec textual
  • Widgets, mise en page et style dans textual
  • Réagir aux événements
  • Lancer de longues tâches sans geler l'interface
  • Une première fenêtre avec Tkinter
  • La même avec PySide : quand ça vaut le coup
  • Formulaires, sélecteurs de fichiers et boîtes de dialogue
  • Séparer la logique de l'interface

Jour 3 — Optionnel : la distribution

  • Packager son outil avec pyproject.toml
  • Points d'entrée : une commande pour le lancer
  • Installer avec uv tool et pipx
  • Scripts autonomes avec les dépendances inline de uv
  • Un seul exécutable avec Nuitka ou PyInstaller
  • Machines Windows verrouillées : WinPython
  • Mettre à jour un outil déjà entre les mains des utilisateurs
  • Écrire un README que les gens lisent vraiment

Passez au niveau supérieur en Python !