Files
anonymisation/launcher.py
Domi31tls 0a377bc001 feat(splash): splash natif PyInstaller — couvre la décompression onefile
L'exe --onefile décompresse ~720 Mo dans %TEMP% au lancement. Sur Windows,
cela prend 15-30 s AVANT que Python ne démarre. Pendant ce temps :
- Aucune fenêtre visible (même le splash tkinter existant n'était pas encore
  exécuté, car il faut d'abord l'import de Python).
- L'utilisateur clique parfois plusieurs fois, croit que l'app est plantée.

Solution : Splash natif PyInstaller (Splash() dans le .spec). L'image est
affichée PAR LE BOOTLOADER de l'exe, AVANT même le démarrage Python. Le
texte sous l'image est actualisable via pyi_splash.update_text(), puis
fermé via pyi_splash.close() une fois le splash tkinter visible.

Changements :
- assets/splash.png (480x240) : titre + sous-titre + indication de durée
- anonymisation_onefile.spec : Splash() + splash/splash.binaries dans EXE()
- launcher.py : import pyi_splash (fallback silencieux en mode dev), helpers
  _splash_update / _splash_close, fermeture du splash natif dès que le
  splash tkinter est à l'écran (évite superposition).
- .gitignore : exception !assets/** pour versionner l'image du splash
  (règle générale *.png exclut tout le reste).

Effet utilisateur attendu : fenêtre visible IMMÉDIATEMENT au double-clic,
avec message "Démarrage en cours — merci de patienter…". Suppression du
trou noir de 15-30 s.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 15:28:45 +02:00

15 KiB