HoDA_Radio/README.md
2025-09-21 20:13:54 +02:00

162 lines
5.6 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.

# 🚀 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/ # Autres
├── 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` 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, 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
- **Python 3.10+ recommandé** (compatibilité testée avec 3.10/3.11).
- **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
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 derreur
---
**Ce template est fait pour vous faire gagner du temps et coder avec plaisir !
Testez-le, améliorez-le, partagez-le 🚀**