Le module usage_telemetry est maintenant réellement branché : la GUI V6
envoie les statistiques au portail après chaque run (les stats web
restaient vides sans cela).
- processing_runner : RunSummary porte une liste DocResult (ordinal,
page_count via page_count_for, status, duration_ms, extension) — peuplée
dans la boucle. Aucun nom/chemin de fichier.
- usage_telemetry : report_run_summary(summary, base_url, license_ref,
machine_id, session, ...) construit le payload depuis le RunSummary et
l'envoie (non bloquant). N'envoie RIEN sans license_ref. Spool JSONL si
échec réseau.
- tab_usage : _finish() déclenche l'envoi en thread daemon (jamais bloquant
pour l'UI ni le run).
- app : fournit le reporter à UsageTab avec le contexte licence (base_url du
LicenseClient, license_ref via local_status, machine_id, app_version).
Tests : RunSummary.documents peuplé (0 chemin) ; report_run_summary (payload
correct, réseau KO → spool sans crash, pas d'envoi sans licence) ; _finish
appelle le reporter. 252 tests unit OK (0 régression), self-test OK.
V5/moteur/app_aivanov intacts, 0 dépendance. Aucun build/push sans GO Dom.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Cinq retours utilisateur sur l'exécutable Windows GUI V6.
- Thème : `_render()` vidait les widgets mais conservait le cache
`_tab_frames`/`_visible_tab` → l'onglet Utilisation se vidait (TclError
sur widget détruit) au changement de thème. Reset du cache dans
`_render()` → onglet actif recréé proprement.
- Onglet principal « Configuration » → « Administration » (clé interne
inchangée).
- Sous-onglet « Règles 2 » → « Règles » (le « 2 » était un badge non
câblé).
- Actions de maquette non câblées (Partage Export/Import, Règles Nouvelle
règle/Recharger/Tester/Fermer) désactivées + suffixe « (à venir) » via
`_mockup_button` : plus aucune action morte qui semble fonctionner.
- Aide « ? » restaurée (façon V5) : `ui_kit.HelpButton`/`help_button`
réutilisable ouvrant une fenêtre d'aide en français simple, posée sur
Utilisation, Administration (Réglages/Masquage/Partage/Règles) et
À propos. Partage : phrase visible + aide expliquant qu'on partage les
réglages, jamais les documents patients.
`tests/unit/test_gui_v6_app_shell.py` : régression thème, libellés,
présence d'aide, navigation. 228 tests unit OK (0 régression), self-test
GUI V6 OK. V5/moteur/app_aivanov non touchés, aucune dépendance ajoutée.
Verdict Qwen requis avant push/build/diffusion.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>