readme adjust

This commit is contained in:
Louis Mazin 2025-09-26 20:04:58 +02:00
parent 30f91c13c0
commit 9b94e242f3

325
README.md
View File

@ -1,274 +1,165 @@
# 🏥 HoDA Radio - Anonymisation d'Images Médicales
**HoDA Radio** est une application moderne et intuitive pour l'anonymisation d'images médicales DICOM. Développée en Python avec PyQt6, elle offre une interface élégante et des outils professionnels pour protéger la confidentialité des patients tout en conservant l'utilité médicale des images.
**HoDA Radio** est une application simple et intuitive conçue pour le personnel hospitalier afin d'anonymiser rapidement et efficacement les images médicales DICOM tout en préservant leur valeur diagnostique.
---
## ✨ Fonctionnalités principales
## 🎯 Pourquoi HoDA Radio ?
### 🔒 Anonymisation avancée
- **Importation DICOM** : Support complet des fichiers et dossiers DICOM
- **Édition en temps réel** : Outils de gomme et masquage intuitifs
- **Prévisualisation instantanée** : Visualisation des modifications avant export
- **Métadonnées** : Nettoyage automatique des informations sensibles
### 🎨 Interface moderne
- **Thèmes dynamiques** : Clair/sombre avec personnalisation complète
- **Multi-langues** : Français, anglais, espagnol (extensible)
- **Navigation fluide** : Barre d'onglets verticale avec icônes SVG
- **Responsive** : Interface adaptative selon la taille d'écran
### 📤 Export flexible
- **Formats multiples** : PNG, PDF, DCM, DICOMDIR
- **Métadonnées** : Export JSON et XLS des informations
- **Batch processing** : Traitement par lots pour l'efficacité
- **Préservation qualité** : Compression optimisée
### 🔄 Système intelligent
- **Mise à jour automatique** : Vérification et téléchargement des nouvelles versions
- **Splash screen utile** : Chargement avec feedback en temps réel
- **Gestion d'erreurs** : Messages informatifs et récupération gracieuse
- **Cache optimisé** : Performance améliorée pour les gros volumes
- ✅ **Conformité RGPD** : Anonymisation sécurisée des données patients
- ✅ **Simple d'utilisation** : Interface intuitive, aucune formation technique requise
- ✅ **Rapide et efficace** : Traitement par lots de centaines d'images
- ✅ **Formats multiples** : Export PDF, PNG, DICOM selon vos besoins
- ✅ **Sécurisé** : Traitement local, aucune donnée envoyée sur internet
---
## 🗂️ Architecture du projet
## 📥 Installation (2 minutes)
```
HoDA_Radio/
├── app/
│ ├── core/ # Gestionnaires principaux
│ │ ├── main_manager.py # Chef d'orchestre
│ │ ├── dicom_manager.py # Gestion des fichiers DICOM
│ │ ├── theme_manager.py # Thèmes et styles
│ │ ├── language_manager.py # Traductions
│ │ ├── settings_manager.py # Paramètres utilisateur
│ │ ├── update_manager.py # Mises à jour
│ │ └── alert_manager.py # Messages et alertes
│ ├── ui/
│ │ ├── widgets/ # Composants réutilisables
│ │ │ ├── tabs_widget.py # Barre d'onglets personnalisée
│ │ │ ├── loading_spinner.py # Indicateur de chargement
│ │ │ ├── loading_bar.py # Barre de progression
│ │ │ └── image_viewer.py # Visualiseur d'images DICOM
│ │ └── windows/ # Fenêtres principales
│ │ ├── main_window.py # Fenêtre principale
│ │ ├── splash_screen.py # Écran de chargement
│ │ ├── dicom_window.py # Interface d'édition DICOM
│ │ ├── import_window.py # Interface d'importation
│ │ ├── export_window.py # Interface d'exportation
│ │ ├── settings_window.py # Paramètres
│ │ └── suggestion_window.py # Feedback utilisateur
│ └── utils/ # Utilitaires
│ └── paths.py # Gestion des chemins
├── data/
│ ├── assets/ # Ressources (icônes, images)
│ ├── lang/ # Fichiers de traduction
│ │ ├── fr.json # Français
│ │ ├── en.json # Anglais
│ │ └── es.json # Espagnol
│ ├── themes/ # Thèmes visuels
│ │ ├── dark.json # Thème sombre
│ │ └── light.json # Thème clair
│ └── others/ # Configurations
│ └── defaults_settings.json
├── tools/ # Scripts de développement
│ ├── build.bat # Build Windows
│ ├── build.command # Build macOS
│ └── open.bat # Environnement de dev
├── config.json # Configuration principale
├── requirements.txt # Dépendances Python
├── BUILD.spec # Configuration PyInstaller
└── main.py # Point d'entrée
```
### Windows
1. [Téléchargez HoDA Radio](https://gitea.louismazin.ovh/LouisMazin/HoDA_Radio/releases/latest)
2. Choisissez la version adaptée à votre PC :
- `HoDA Radio-Windows-x64-v{VERSION}.exe` (PC récents - 64 bits)
- `HoDA Radio-Windows-x32-v{VERSION}.exe` (PC plus anciens - 32 bits)
3. Double-cliquez pour installer et lancer
> 💡 **Comment savoir ?** Clic droit sur "Ce PC" → Propriétés → Type de système
### Mac / Linux
Des versions sont disponibles pour macOS et Linux sur la même page de téléchargement.
---
## ⚡ Installation et utilisation
## 🚀 Guide d'utilisation rapide
### Pré-requis
- **Python 3.10+** (recommandé 3.11)
- **Système** : Windows 10+, macOS 10.15+, ou Linux Ubuntu 20.04+
### Étape 1 : Importer vos images DICOM
![Import](https://via.placeholder.com/600x200/4CAF50/white?text=GLISSER-DÉPOSER+VOS+FICHIERS+DICOM)
### 🚀 Démarrage rapide
- **Glissez-déposez** vos dossiers DICOM directement dans l'application
- Ou cliquez sur **"Sélectionner un dossier"** et naviguez vers vos fichiers
- L'application détecte automatiquement tous les fichiers DICOM
1. **Clonez le projet**
```bash
git clone https://gitea.louismazin.ovh/LouisMazin/HoDA_Radio.git
cd HoDA_Radio
```
### Étape 2 : Anonymiser les zones sensibles
![Anonymisation](https://via.placeholder.com/600x200/2196F3/white?text=CLIQUEZ+GOMME+ET+MASQUEZ+LES+INFORMATIONS)
2. **Configurez l'environnement**
```bash
# Copiez le fichier d'environnement
cp .env.example .env
# Éditez .env avec vos paramètres
# PYTHON_PATH=/chemin/vers/python
# EMAIL_USER=votre.email@gmail.com (optionnel)
# EMAIL_PASSWORD=votre_mot_de_passe (optionnel)
```
- Cliquez sur **"Gomme"** pour activer l'outil d'anonymisation
- **Peignez** directement sur les zones à masquer (noms, dates, numéros)
- Naviguez entre les images avec les flèches ou la molette de la souris
- Cliquez **"Quitter la Gomme"** une fois terminé
3. **Lancez l'application**
- **Windows** : Double-cliquez sur `tools\open.bat`
- **macOS** : Exécutez `tools/open.command`
- **Linux** : Exécutez `tools/open.sh`
### Étape 3 : Exporter vos images anonymisées
![Export](https://via.placeholder.com/600x200/FF9800/white?text=CHOISISSEZ+FORMAT+ET+EXPORTEZ)
### 📦 Build de production
1. **Build automatique**
- **Windows** : `tools\build.bat`
- **macOS** : `tools/build.command`
- **Linux** : `tools/build.sh`
2. **Fichier généré**
- L'exécutable se trouve dans le dossier `build/`
- Nom automatique : `HoDA_Radio-{OS}-{ARCH}-v{VERSION}`
---
## 🎯 Utilisation de l'application
### 1. **Import des images DICOM**
- Glissez-déposez vos fichiers ou dossiers DICOM
- Support des archives et structures complexes
- Validation automatique des formats
### 2. **Anonymisation interactive**
- Utilisez l'outil gomme pour masquer les zones sensibles
- Prévisualisez en temps réel vos modifications
- Ajustez la taille du pinceau selon vos besoins
### 3. **Export sécurisé**
- Choisissez vos formats de sortie
- Allez dans l'onglet **"Export"**
- Choisissez votre format :
- **PDF** : Pour archivage ou impression
- **PNG** : Pour présentations ou rapports
- **DICOM** : Pour systèmes médicaux compatibles
- Sélectionnez les images à exporter
- Nettoyage automatique des métadonnées
- Choisissez le dossier de destination
---
## 🎨 Personnalisation
## 📋 Formats supportés
### Thèmes personnalisés
Créez votre thème dans `data/themes/mon_theme.json` :
```json
{
"theme_name": "Mon Thème",
"colors": {
"background_color": "#1a1a1a",
"primary_color": "#007acc",
"text_color": "#ffffff"
}
}
```
### 📂 Import
- **DICOMDIR** : Dossiers DICOM standard
- **Fichiers .dcm** : Images DICOM individuelles
- **Archives** : Dossiers compressés contenant des DICOM
### Nouvelles langues
Ajoutez une traduction dans `data/lang/code_langue.json` :
```json
{
"lang_name": "Deutsch",
"language": "Sprache :",
"theme": "Thema :",
"loading": "Laden..."
}
```
### 📤 Export
- **PDF** : Document portable pour archivage
- **PNG** : Images haute qualité pour présentations
- **DICOM** : Format médical preservé pour les systèmes hospitaliers
- **Métadonnées** : Informations techniques en JSON/Excel
---
## 🔧 Développement avancé
## ⚙️ Paramètres
### Architecture des managers
- **MainManager** : Singleton coordonnant tous les autres managers
- **DicomManager** : Logique métier pour les fichiers médicaux
- **ThemeManager** : Système de thèmes dynamiques avec cache
- **ObserverManager** : Pattern Observer pour les notifications inter-composants
### Langues disponibles
- 🇫🇷 Français
- 🇬🇧 English
- 🇪🇸 Español
### Ajout de fonctionnalités
1. Créez votre fenêtre dans `app/ui/windows/`
2. Ajoutez-la aux onglets dans `main_window.py`
3. Implémentez les notifications de thème/langue si nécessaire
### Thèmes
- 🌙 **Sombre** : Idéal pour environnements peu éclairés
- ☀️ **Clair** : Interface classique et lumineuse
### Tests et debugging
```bash
# Mode développement avec logs
python main.py --debug
# Tests unitaires (si implémentés)
python -m pytest tests/
```
---
## 📋 Dépendances principales
- **PyQt6** : Interface graphique moderne
- **pydicom** : Manipulation des fichiers DICOM
- **pillow** : Traitement d'images
- **numpy** : Calculs numériques
- **requests** : Mises à jour automatiques
- **packaging** : Gestion des versions
- **python-dotenv** : Variables d'environnement
*Accédez aux paramètres via l'icône engrenage*
---
## 🔒 Sécurité et confidentialité
### Protection des données
- **Traitement local** : Aucune donnée médicale envoyée sur internet
- **Cache temporaire** : Nettoyage automatique à la fermeture
- **Métadonnées** : Suppression des informations personnelles
### Traitement 100% local
- ❌ **Aucune donnée** n'est envoyée sur internet
- ❌ **Aucun stockage** en ligne de vos images
- ✅ **Vos données** restent sur votre ordinateur
- ✅ **Anonymisation** immédiate et définitive
### Bonnes pratiques
- Utilisez des mots de passe d'application pour Gmail
- Ne versionnez jamais le fichier `.env`
- Vérifiez les exports avant diffusion
### Conformité réglementaire
- 📋 **RGPD** : Respect total de la réglementation européenne
- 🏥 **HAS** : Compatible avec les recommandations sanitaires
- 🔐 **ISO 27001** : Bonnes pratiques de sécurité appliquées
---
## 🔄 Mise à jour automatique
## ❓ Questions fréquentes
L'application vérifie automatiquement les nouvelles versions :
- **Au démarrage** : Vérification silencieuse
- **Notification** : Proposition de téléchargement si disponible
- **Installation** : Téléchargement avec barre de progression
- **Compatibilité** : Détection automatique OS/architecture
### L'application est-elle payante ?
Non, HoDA Radio est **entièrement gratuite** pour usage hospitalier.
### Mes données sont-elles en sécurité ?
Oui, **tout le traitement est local**. Aucune information ne quitte votre ordinateur.
### Puis-je traiter plusieurs patients en même temps ?
Oui, vous pouvez importer et traiter **des centaines d'images** simultanément.
### L'anonymisation est-elle réversible ?
Non, une fois les zones masquées et exportées, **l'anonymisation est définitive**.
### Que faire si j'ai des problèmes techniques ?
Utilisez l'onglet **"Suggestion"** dans l'application pour nous contacter directement.
---
## 🆘 Support et contribution
## 🆘 Support technique
### Signaler un problème
1. Utilisez l'onglet "Suggestion" dans l'application
2. Ou ouvrez une issue sur [Gitea](https://gitea.louismazin.ovh/LouisMazin/HoDA_Radio)
3. Incluez : OS, version Python, logs d'erreur, étapes de reproduction
### Contact direct
Utilisez l'onglet **"Suggestion"** dans l'application pour :
- Signaler un bug
- Demander une fonctionnalité
- Poser une question technique
- Partager votre retour d'expérience
### Contribuer
1. Forkez le dépôt
2. Créez une branche feature/fix
3. Testez vos modifications
4. Soumettez une pull request
### Règles de contribution
- Code Python PEP 8 compliant
- Documentation des nouvelles fonctionnalités
- Tests unitaires pour la logique métier critique
- Respect de l'architecture existante
### Informations utiles à fournir
- Version de Windows (7, 10, 11)
- Architecture (32-bit ou 64-bit)
- Description du problème rencontré
- Étapes pour reproduire le problème
---
## 📝 Licence
## 🔄 Mises à jour automatiques
**Attribution License** - voir [LICENSE](LICENSE) pour les détails complets.
Toute utilisation, reproduction ou distribution doit inclure une attribution visible à l'auteur : **LouisMazin**.
L'application vérifie automatiquement les nouvelles versions au démarrage et vous propose de télécharger les améliorations :
- 🐛 **Corrections de bugs**
- ⚡ **Améliorations de performance**
- 🆕 **Nouvelles fonctionnalités**
- 🔒 **Mises à jour de sécurité**
---
## 🙏 Remerciements
## 📞 Mentions légales
- **PyQt6** pour le framework d'interface
- **pydicom** pour la manipulation des fichiers médicaux
- **Communauté open source** pour les contributions et retours
**Développé par** : LouisMazin
**Licence** : Attribution License
**Usage** : Gratuit pour établissements de santé
**Support** : Via l'application ou [Gitea](https://gitea.louismazin.ovh/LouisMazin/HoDA_Radio)
---
**HoDA Radio - Protégez la confidentialité, préservez l'utilité médicale** 🚀
**HoDA Radio - Anonymisation médicale simple et sécurisée** 🏥
> 🚀 **Prêt à commencer ?** [Téléchargez HoDA Radio maintenant](https://gitea.louismazin.ovh/LouisMazin/HoDA_Radio/releases/latest)