01

Script CLI — Gestionnaire de Tâches

Construisez un gestionnaire de tâches en ligne de commande qui utilise un fichier JSON comme persistance. Vous appliquerez les dataclasses, la gestion d'erreurs, le typage et la manipulation de fichiers.

dataclass json argparse typing Débutant

🎯 Objectifs

  1. Créer la dataclass Task avec les champs du fil rouge (id, titre, statut, priorite, created_at)
  2. Persister les tâches dans un fichier tasks.json via json.dump / json.load
  3. Implémenter les 4 opérations CRUD : ajouter, lister, mettre à jour, supprimer
  4. Créer une interface CLI avec argparse
  5. Gérer les erreurs : fichier absent, ID introuvable, arguments manquants

💻 Interface CLI attendue

# Ajouter une tâche
python solution.py add "Corriger le bug auth" --priorite high

# Lister toutes les tâches
python solution.py list

# Lister par statut
python solution.py list --statut in_progress

# Mettre à jour le statut
python solution.py update 1 --statut done

# Supprimer
python solution.py delete 2

# Aide
python solution.py --help

💡 Sortie attendue

$ python solution.py list
ID  TITRE                      STATUT       PRIORITE
──────────────────────────────────────────────────────
1   Corriger le bug auth       in_progress  high
2   Écrire les tests           todo         medium
3   Déployer en production     done         low

🔑 Points clés à maîtriser

⬇ Télécharger solution.py 📖 Revoir le cours 🧠 QCM