Commit Graph

3 Commits

Author SHA1 Message Date
ab5a24fa68 feat(ui): refonte UI — logo aivanonym + palette magenta/pêche + onglets + v5.5
Intégration du logo "aivanonym" (gradient magenta → rose → pêche → noir)
fourni par le propriétaire. Refonte visuelle complète :

• APP_VERSION bump v5.4 → v5.5

• Assets (tous générés depuis assets/icons/logo.png) :
  - assets/icons/app.ico multi-résolution 16→256 (icône EXE Windows)
  - assets/icons/icon_{16,32,48,64,128,256,512}.png (fallback + taskbar)
  - assets/logo_header.png (260×61, intégré dans l'en-tête de la GUI)
  - assets/logo_splash.png (335×80, intégré dans le splash)
  - assets/splash.png redessiné avec logo + bandeau gradient primary→accent

• Palette dérivée du logo (remplace l'ancien bleu) :
  - CLR_PRIMARY       #E91E63  magenta logo (CTA, liens)
  - CLR_PRIMARY_DARK  #C2185B  hover / pressed
  - CLR_PRIMARY_LIGHT #FCE4EC  fond doux (tags, cartes)
  - CLR_ACCENT        #FFB74D  pêche logo (secondaire)
  - CLR_ACCENT_LIGHT  #FFF3E0
  - CLR_TEXT/SECONDARY proches du noir/gris du logo

• Pseudonymisation_Gui_V5.py :
  - Helper _asset(name) : résout sous sys._MEIPASS/assets en mode frozen
  - _apply_window_icon() : iconbitmap (.ico sur Windows) + iconphoto (PNG)
  - _load_image_safe() : charge PIL avec ref persistante (évite GC tkinter)
  - Header fixe hors onglets : logo image + baseline "100% local"
  - Ligne accent magenta sous le header (inspiration logo)
  - Onglets custom uniformes (remplace ttk.Notebook dont les tabs avaient
    des tailles variables selon l'état) : tous les boutons identiques,
    seule une bordure basse magenta signale l'onglet actif. _switch_tab()
    gère l'affichage du contenu et la mise à jour des styles.
  - Onglet 1 "Anonymisation" : workflow principal (choix, lancer, résultats)
  - Onglet 2 "Paramètres" : 3 listes (whitelist/blacklist/stopwords) +
    export/import + save. Plus de section repliable — respiration visuelle.
  - Boutons export/import repensés avec les couleurs de la palette

• anonymisation_onefile.spec :
  - datas : ajout du dossier assets/ entier
  - EXE(icon=assets/icons/app.ico) : le .exe a maintenant le logo dans
    l'Explorateur Windows, la barre des tâches, le gestionnaire des tâches

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 22:04:41 +02:00
f17438c2ec ui(splash): retirer ligne statique qui chevauche le texte dynamique
L'utilisateur a signalé un chevauchement visuel entre la ligne statique
"Premier lancement : 30-60 secondes…" du PNG et la ligne dynamique
PyInstaller (qui affiche "Chargement EDS-Pseudo…", etc.) affichée par
pyi_splash.update_text().

Correctifs :
- PNG redessiné avec 3 lignes statiques seulement (titre, sous-titre,
  "Démarrage en cours — merci de patienter…") et une ZONE LIBRE y=170-235
  pour le texte dynamique.
- text_pos du Splash() ajusté à (60, 195) pour centrer dans la zone libre.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 16:15:02 +02:00
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