# 🚀 Python PyQt6 Application Template Bienvenue ! Ce projet est **bien plus qu'un simple template** : c'est une boĂźte Ă  outils moderne pour crĂ©er rapidement des applications desktop Python Ă©lĂ©gantes, robustes et Ă©volutives. Vous voulez coder, personnaliser, traduire, mettre Ă  jour, distribuer ? Tout est dĂ©jĂ  prĂȘt ! --- ## ✹ FonctionnalitĂ©s clĂ©s - **Interface moderne (PyQt6)** : Responsive, stylĂ©e, et facile Ă  personnaliser. - **ThĂšmes dynamiques** : Passez du clair au sombre en un clic, ou crĂ©ez le vĂŽtre ! - **Multi-langues** : Français, anglais... et ajoutez-en autant que vous voulez. - **ParamĂštres utilisateurs** : Tout est sauvegardĂ© (thĂšme, langue, taille de fenĂȘtre...). - **Architecture modulaire** : Des managers pour chaque besoin, tout est organisĂ©. - **Notifications automatiques** : Les widgets s'adaptent instantanĂ©ment aux changements. - **Barre d’onglets flexible** : Ajoutez vos fenĂȘtres oĂč vous voulez, comme vous voulez. - **SystĂšme de suggestion** : Vos utilisateurs peuvent vous Ă©crire directement depuis l’app. - **Mise Ă  jour automatique** : TĂ©lĂ©chargez la derniĂšre version sans effort, avec barre de progression ! - **Build & environnement** : Scripts pour tout automatiser, sur Windows, Linux, macOS. --- ## đŸ—‚ïž Structure du projet ``` Template/ ├── app/ │ ├── core/ # Managers (thĂšme, langue, update, etc.) │ ├── ui/ │ │ ├── widgets/ # Onglets, loading bar, etc. │ │ └── windows/ # ParamĂštres, suggestion... │ └── utils/ # Fonctions utilitaires ├── data/ │ ├── assets/ # IcĂŽnes, images │ ├── lang/ # Traductions │ ├── themes/ # ThĂšmes │ └── others/ # Autres ├── tools/ # Scripts build/dev ├── config.json # Config principale ├── requirements.txt # DĂ©pendances ├── BUILD.spec # PyInstaller └── main.py # Point d’entrĂ©e ``` --- ## ⚡ DĂ©marrage Express 1. **Configurez `config.json`** (nom, version, OS, architecture, icĂŽne, dĂ©pĂŽt git...) 2. **Copiez `.env.example` → `.env` et configurez les variables requises** - Depuis la racine du projet : - Windows (PowerShell / cmd) : copy .env.example .env - Linux / macOS : cp .env.example .env - Au minimum, renseignez dans `.env` : - PYTHON_PATH : chemin absolu vers votre exĂ©cutable Python (utilisĂ© par tools/open.bat) - les identifiants email si vous comptez utiliser l'envoi de suggestions (email + mot de passe / mot de passe d'application) - Remarque : l'outil `tools/open.bat` s'appuie sur PYTHON_PATH ; sans cette variable, l'ouverture/initialisation de l'environnement Ă©chouera. 3. **Lancez le dev** - Windows : tools\open.bat (nĂ©cessite PYTHON_PATH dans `.env`) - Linux : tools/open.sh (si prĂ©sent / exĂ©cutable) - macOS : tools/open.command (si prĂ©sent / exĂ©cutable) - ExĂ©cutez depuis leur fichier parent pour que les chemins relatifs fonctionnent correctement. 4. **Build en un clic** - Windows : tools\build.bat - Linux : tools/build.sh - macOS : tools/build.command - Ces scripts supposent que `.env` est configurĂ© et que les outils requis (pyinstaller, etc.) sont installĂ©s. --- ## 🎹 ThĂšmes & 🌍 Langues - **ThĂšmes** : Ajoutez vos fichiers dans `data/themes/` (JSON). Changez les couleurs, crĂ©ez votre ambiance ! - **Langues** : Ajoutez vos fichiers dans `data/lang/` (JSON). Traduisez tout, c’est instantanĂ©. --- ## đŸ§© Managers & Architecture - **MainManager** : Le chef d’orchestre. - **SettingsManager** : Les prĂ©fĂ©rences utilisateur. - **ThemeManager** : Les couleurs et le style. - **LanguageManager** : Les textes traduits. - **AlertManager** : Les messages, confirmations, erreurs. - **UpdateManager** : Les mises Ă  jour automatiques. - **ObserverManager** : Les notifications internes. --- ## 🔄 Mise Ă  jour automatique - VĂ©rifie la derniĂšre version sur le dĂ©pĂŽt Git Ă  chaque dĂ©marrage. - Propose la mise Ă  jour si disponible. - TĂ©lĂ©charge le bon fichier selon votre OS/architecture. - Affiche une barre de progression stylĂ©e. - Lance la nouvelle version automatiquement ! --- ## 💡 Suggestions & Feedback - FenĂȘtre dĂ©diĂ©e pour envoyer vos idĂ©es ou questions par email. - SĂ©curisĂ© via `.env`. - Gestion des erreurs/succĂšs avec AlertManager. --- ## đŸ› ïž Ajouter vos fenĂȘtres & widgets - CrĂ©ez une classe hĂ©ritant de `QWidget`. - Ajoutez-la dans la barre d’onglets (`TabsWidget`). - Abonnez-vous aux notifications pour la langue/le thĂšme. --- ## 📩 DĂ©pendances - **Python 3.10+ recommandĂ©** (compatibilitĂ© testĂ©e avec 3.10/3.11). - **PyQt6** : GUI moderne. - **pyinstaller** : Build d’exĂ©cutables. - **python-dotenv** : Variables d’environnement. - **requests** : RequĂȘtes HTTP (update). --- ## 🔒 SĂ©curitĂ© - **Ne versionnez jamais `.env`** (dĂ©jĂ  dans `.gitignore`). - Utilisez un mot de passe d’application pour Gmail. --- ## 📝 Licence Attribution License — voir le fichier local [`LICENSE`](https://gitea.louismazin.ovh/LouisMazin/PythonApplicationTemplate/src/branch/main/LICENSE) pour le texte complet. Toute utilisation ou distribution doit inclure une attribution visible Ă  l'auteur : LouisMazin. --- ## đŸ€ Contribution 1. Forkez le dĂ©pĂŽt 2. CrĂ©ez une branche 3. Proposez vos modifications via pull request --- ## 🆘 Support - Ouvrez une issue sur le dĂ©pĂŽt - PrĂ©cisez votre OS, version Python, logs d’erreur --- **Ce template est fait pour vous faire gagner du temps et coder avec plaisir ! Testez-le, amĂ©liorez-le, partagez-le 🚀**