Skip to content

Latest commit

 

History

History
120 lines (89 loc) · 3.03 KB

File metadata and controls

120 lines (89 loc) · 3.03 KB

Guide de Génération d'Exécutable - Minuteur

🎯 Résumé

Cette application minuteur peut être convertie en exécutable autonome grâce à PyInstaller. L'exécutable généré fonctionne sans installation Python sur le système cible.

📊 Informations de Build

  • Outil utilisé : PyInstaller 6.15.0
  • Taille de l'exécutable : ~57 MB (avec toutes les dépendances)
  • Format : Dossier (--onedir) - requis pour CustomTkinter
  • Plateformes supportées : Linux (testé), Windows et macOS possibles

🛠 Prérequis

  1. Poetry installé
  2. Environnement activé :
    poetry install

🚀 Génération de l'Exécutable

Méthode Simple

Utilisez le script automatisé :

python build_exe.py

Méthode Manuelle

poetry run pyinstaller \
  --name Minuteur \
  --windowed \
  --onedir \
  --collect-all customtkinter \
  --collect-all pystray \
  --collect-all PIL \
  --clean \
  --noconfirm \
  minuteur/main.py

📁 Structure de Sortie

dist/
└── Minuteur/
    ├── Minuteur           # Exécutable principal (Linux)
    ├── Minuteur.exe       # Exécutable principal (Windows)
    └── _internal/         # Bibliothèques et dépendances
        ├── customtkinter/
        ├── PIL/
        ├── pystray/
        └── ...

✅ Test de l'Exécutable

# Linux
./dist/Minuteur/Minuteur

# Windows
dist\Minuteur\Minuteur.exe

🔧 Fonctionnalités Incluses

  • Interface CustomTkinter : Thèmes sombres/clairs
  • System Tray : Icône dans la barre système
  • Temps dynamique : Affichage temps restant dans le tray
  • Notifications : Alertes de fin de minuteur
  • Auto-suffisant : Aucune dépendance externe requise

📦 Distribution

Pour distribuer l'application :

  1. Copier le dossier complet dist/Minuteur/
  2. L'utilisateur final lance simplement Minuteur (ou Minuteur.exe)
  3. Aucune installation Python/Poetry requise sur le système cible

🐛 Résolution de Problèmes

Erreur de thème CustomTkinter

FileNotFoundError: blue.json

Solution : L'option --collect-all customtkinter est incluse automatiquement.

Problème d'icône System Tray

PIL cannot create tray icon

Solution : L'option --collect-all PIL gère les dépendances d'images.

Taille importante (~57MB)

C'est normal pour une application GUI Python avec :

  • CustomTkinter + thèmes
  • PIL/Pillow + codecs images
  • pystray + dépendances système
  • Python runtime complet

🎨 Optimisations Possibles

  • Exclure modules inutilisés : --exclude-module
  • Compression UPX : Réduction ~30% de taille
  • One-file : Impossible avec CustomTkinter (limitation technique)

📋 Compatibilité

  • Linux : ✅ Testé et fonctionnel
  • Windows : ✅ Compatible (non testé)
  • macOS : ✅ Compatible (non testé)

Note : PyInstaller ne fait pas de compilation croisée. Pour Windows, construire sur Windows. Pour macOS, construire sur macOS.