2025-08-19 20:15:49 +02:00

152 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🚀 HoDA - 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 donglets flexible** : Ajoutez vos fenêtres où vous voulez, comme vous voulez.
- **Système de suggestion** : Vos utilisateurs peuvent vous écrire directement depuis lapp.
- **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/ # Paramètres par défaut
├── tools/ # Scripts build/dev
├── config.json # Config principale
├── requirements.txt # Dépendances
├── BUILD.spec # PyInstaller
└── main.py # Point dentrée
```
---
## ⚡ Démarrage Express
1. **Configurez `config.json`**
(nom, version, OS, architecture, icône, dépôt git...)
2. **Copiez `.env.example` → `.env`**
(chemin Python, email, mot de passe...)
3. **Lancez le dev**
- Windows : `tools\open.bat`
- Linux : `tools/open.sh`
- macOS : `tools/open.command`
4. **Build en un clic**
- Windows : `tools\build.bat`
- Linux : `tools/build.sh`
- macOS : `tools/build.command`
---
## 🎨 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, cest instantané.
---
## 🧩 Managers & Architecture
- **MainManager** : Le chef dorchestre.
- **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 donglets (`TabsWidget`).
- Abonnez-vous aux notifications pour la langue/le thème.
---
## 📦 Dépendances
- **PyQt6** : GUI moderne.
- **pyinstaller** : Build dexécutables.
- **python-dotenv** : Variables denvironnement.
- **requests** : Requêtes HTTP (update).
---
## 🔒 Sécurité
- **Ne versionnez jamais `.env`** (déjà dans `.gitignore`).
- Utilisez un mot de passe dapplication pour Gmail.
---
## 📝 Licence
MIT License. Voir le fichier LICENSE.
---
## 🤝 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 derreur
---
**Ce template est fait pour vous faire gagner du temps et coder avec plaisir !
Testez-le, améliorez-le, partagez-le 🚀**