• M12 — Point d'entree CLI

    AntoineVe released this 2026-09-08 15:57:53 +02:00 | 15 commits to main since this release

    Jalon M12 complet : interface en ligne de commande pour pronote-sync.

    Composants livres :

    • cli/main.py : main() avec --dry-run (tri-state) et --log-level
    • Composition root via PipelineRunner.from_settings()
    • Codes de retour : 0 succes, 1 echec, 2 argparse
    • _safe_traceback : pile expurgee (messages remplaces par 'erreur expurgee')
    • _settings_secrets : collecte redaction_secrets() + usernames + JID/recipient
    • Toutes les erreurs redigees via redact_secrets() avec secrets configures
    • Traceback DEBUG uniquement quand DEBUG est active

    Tests e2e (8 tests) :

    • Propagation dry-run et log-level
    • Succes avec avertissements (code 0)
    • Redaction des secrets en pipeline et configuration
    • Non-divulgation de l'identifiant Pronote
    • Exception inattendue : traceback expurge en DEBUG, absent en INFO
    • Rejet argparse (code 2)

    Validation : 627 tests, ruff/mypy/bandit/pre-commit verts, coverage CLI 94%.

    Downloads