Après plusieurs tentatives d'implémentation de la solution Docker + Wine pour cross-compiler vers Windows, nous avons rencontré des obstacles significatifs :
-
Architecture Wine Complexe
- Conflits wine32/wine64 dans l'environnement Docker
- Configuration X11/Xvfb problématique pour les installations GUI
- Gestion des displays virtuels (
:99) conflictuelle
-
Installation Python Windows
- Chemins d'installation non reconnus par Wine
- Exécutables .exe Windows non trouvés après installation
- Variables d'environnement PATH non persistantes
-
CustomTkinter + pystray Challenges
- GUI libraries nécessitent environnement Windows natif
- System tray émulé dans Wine = comportement imprévisible
- Thèmes CustomTkinter peuvent ne pas fonctionner
Complexité :
# .github/workflows/build.yml
strategy:
matrix:
os: [windows-latest, ubuntu-latest, macos-latest]
runs-on: ${{ matrix.os }}- ✅ Cross-compilation native
- ✅ Build automatique
- ✅ Distribution multi-plateforme
# Sur VirtualBox Windows 10
git clone <repo>
poetry install
poetry run python build_exe.py- ✅ Environnement Windows natif
- ✅ Contrôle total
⚠️ Setup manuel
- AWS EC2 Windows
- Azure VM Windows
- Google Cloud Compute Windows
✅ Implémenté et Fonctionnel :
- Build Linux native via PyInstaller
- Script automatisé
build_exe.py - Application complète avec GUI + system tray
- Exécutable ~57MB prêt pour distribution
⏸️ En Cours (Docker+Wine) :
- Dockerfile.wine (partiellement fonctionnel)
- Scripts d'aide wine-pip, wine-pyinstaller
- Configuration Xvfb pour headless
Pour ce projet : Utiliser GitHub Actions pour une solution propre et professionnelle.
Docker + Wine reste une approche expérimentale intéressante mais:
- Trop complexe pour le retour sur investissement
- Maintenance difficile
- Résultats incertains pour GUI applications
- Implémenter GitHub Actions workflow
- Tester build Windows sur VM locale (si disponible)
- Garder le build Linux actuel comme référence
Rapport généré après 2h+ d'expérimentation Docker+Wine