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 - 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 - ✅ **Conformité RGPD** : Anonymisation sécurisée des données patients
- **Importation DICOM** : Support complet des fichiers et dossiers DICOM - ✅ **Simple d'utilisation** : Interface intuitive, aucune formation technique requise
- **Édition en temps réel** : Outils de gomme et masquage intuitifs - ✅ **Rapide et efficace** : Traitement par lots de centaines d'images
- **Prévisualisation instantanée** : Visualisation des modifications avant export - ✅ **Formats multiples** : Export PDF, PNG, DICOM selon vos besoins
- **Métadonnées** : Nettoyage automatique des informations sensibles - ✅ **Sécurisé** : Traitement local, aucune donnée envoyée sur internet
### 🎨 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
--- ---
## 🗂️ Architecture du projet ## 📥 Installation (2 minutes)
``` ### Windows
HoDA_Radio/ 1. [Téléchargez HoDA Radio](https://gitea.louismazin.ovh/LouisMazin/HoDA_Radio/releases/latest)
├── app/ 2. Choisissez la version adaptée à votre PC :
│ ├── core/ # Gestionnaires principaux - `HoDA Radio-Windows-x64-v{VERSION}.exe` (PC récents - 64 bits)
│ │ ├── main_manager.py # Chef d'orchestre - `HoDA Radio-Windows-x32-v{VERSION}.exe` (PC plus anciens - 32 bits)
│ │ ├── dicom_manager.py # Gestion des fichiers DICOM 3. Double-cliquez pour installer et lancer
│ │ ├── theme_manager.py # Thèmes et styles
│ │ ├── language_manager.py # Traductions > 💡 **Comment savoir ?** Clic droit sur "Ce PC" → Propriétés → Type de système
│ │ ├── settings_manager.py # Paramètres utilisateur
│ │ ├── update_manager.py # Mises à jour ### Mac / Linux
│ │ └── alert_manager.py # Messages et alertes Des versions sont disponibles pour macOS et Linux sur la même page de téléchargement.
│ ├── 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
```
--- ---
## ⚡ Installation et utilisation ## 🚀 Guide d'utilisation rapide
### Pré-requis ### Étape 1 : Importer vos images DICOM
- **Python 3.10+** (recommandé 3.11) ![Import](https://via.placeholder.com/600x200/4CAF50/white?text=GLISSER-DÉPOSER+VOS+FICHIERS+DICOM)
- **Système** : Windows 10+, macOS 10.15+, ou Linux Ubuntu 20.04+
### 🚀 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** ### Étape 2 : Anonymiser les zones sensibles
```bash ![Anonymisation](https://via.placeholder.com/600x200/2196F3/white?text=CLIQUEZ+GOMME+ET+MASQUEZ+LES+INFORMATIONS)
git clone https://gitea.louismazin.ovh/LouisMazin/HoDA_Radio.git
cd HoDA_Radio
```
2. **Configurez l'environnement** - Cliquez sur **"Gomme"** pour activer l'outil d'anonymisation
```bash - **Peignez** directement sur les zones à masquer (noms, dates, numéros)
# Copiez le fichier d'environnement - Naviguez entre les images avec les flèches ou la molette de la souris
cp .env.example .env - Cliquez **"Quitter la Gomme"** une fois terminé
# É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)
```
3. **Lancez l'application** ### Étape 3 : Exporter vos images anonymisées
- **Windows** : Double-cliquez sur `tools\open.bat` ![Export](https://via.placeholder.com/600x200/FF9800/white?text=CHOISISSEZ+FORMAT+ET+EXPORTEZ)
- **macOS** : Exécutez `tools/open.command`
- **Linux** : Exécutez `tools/open.sh`
### 📦 Build de production - Allez dans l'onglet **"Export"**
- Choisissez votre format :
1. **Build automatique** - **PDF** : Pour archivage ou impression
- **Windows** : `tools\build.bat` - **PNG** : Pour présentations ou rapports
- **macOS** : `tools/build.command` - **DICOM** : Pour systèmes médicaux compatibles
- **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
- Sélectionnez les images à exporter - Sélectionnez les images à exporter
- Nettoyage automatique des métadonnées - Choisissez le dossier de destination
--- ---
## 🎨 Personnalisation ## 📋 Formats supportés
### Thèmes personnalisés ### 📂 Import
Créez votre thème dans `data/themes/mon_theme.json` : - **DICOMDIR** : Dossiers DICOM standard
```json - **Fichiers .dcm** : Images DICOM individuelles
{ - **Archives** : Dossiers compressés contenant des DICOM
"theme_name": "Mon Thème",
"colors": {
"background_color": "#1a1a1a",
"primary_color": "#007acc",
"text_color": "#ffffff"
}
}
```
### Nouvelles langues ### 📤 Export
Ajoutez une traduction dans `data/lang/code_langue.json` : - **PDF** : Document portable pour archivage
```json - **PNG** : Images haute qualité pour présentations
{ - **DICOM** : Format médical preservé pour les systèmes hospitaliers
"lang_name": "Deutsch", - **Métadonnées** : Informations techniques en JSON/Excel
"language": "Sprache :",
"theme": "Thema :",
"loading": "Laden..."
}
```
--- ---
## 🔧 Développement avancé ## ⚙️ Paramètres
### Architecture des managers ### Langues disponibles
- **MainManager** : Singleton coordonnant tous les autres managers - 🇫🇷 Français
- **DicomManager** : Logique métier pour les fichiers médicaux - 🇬🇧 English
- **ThemeManager** : Système de thèmes dynamiques avec cache - 🇪🇸 Español
- **ObserverManager** : Pattern Observer pour les notifications inter-composants
### Ajout de fonctionnalités ### Thèmes
1. Créez votre fenêtre dans `app/ui/windows/` - 🌙 **Sombre** : Idéal pour environnements peu éclairés
2. Ajoutez-la aux onglets dans `main_window.py` - ☀️ **Clair** : Interface classique et lumineuse
3. Implémentez les notifications de thème/langue si nécessaire
### Tests et debugging *Accédez aux paramètres via l'icône engrenage*
```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
--- ---
## 🔒 Sécurité et confidentialité ## 🔒 Sécurité et confidentialité
### Protection des données ### Traitement 100% local
- **Traitement local** : Aucune donnée médicale envoyée sur internet - ❌ **Aucune donnée** n'est envoyée sur internet
- **Cache temporaire** : Nettoyage automatique à la fermeture - ❌ **Aucun stockage** en ligne de vos images
- **Métadonnées** : Suppression des informations personnelles - ✅ **Vos données** restent sur votre ordinateur
- ✅ **Anonymisation** immédiate et définitive
### Bonnes pratiques ### Conformité réglementaire
- Utilisez des mots de passe d'application pour Gmail - 📋 **RGPD** : Respect total de la réglementation européenne
- Ne versionnez jamais le fichier `.env` - 🏥 **HAS** : Compatible avec les recommandations sanitaires
- Vérifiez les exports avant diffusion - 🔐 **ISO 27001** : Bonnes pratiques de sécurité appliquées
--- ---
## 🔄 Mise à jour automatique ## ❓ Questions fréquentes
L'application vérifie automatiquement les nouvelles versions : ### L'application est-elle payante ?
- **Au démarrage** : Vérification silencieuse Non, HoDA Radio est **entièrement gratuite** pour usage hospitalier.
- **Notification** : Proposition de téléchargement si disponible
- **Installation** : Téléchargement avec barre de progression ### Mes données sont-elles en sécurité ?
- **Compatibilité** : Détection automatique OS/architecture 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 ### Contact direct
1. Utilisez l'onglet "Suggestion" dans l'application Utilisez l'onglet **"Suggestion"** dans l'application pour :
2. Ou ouvrez une issue sur [Gitea](https://gitea.louismazin.ovh/LouisMazin/HoDA_Radio) - Signaler un bug
3. Incluez : OS, version Python, logs d'erreur, étapes de reproduction - Demander une fonctionnalité
- Poser une question technique
- Partager votre retour d'expérience
### Contribuer ### Informations utiles à fournir
1. Forkez le dépôt - Version de Windows (7, 10, 11)
2. Créez une branche feature/fix - Architecture (32-bit ou 64-bit)
3. Testez vos modifications - Description du problème rencontré
4. Soumettez une pull request - Étapes pour reproduire le problème
### 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
--- ---
## 📝 Licence ## 🔄 Mises à jour automatiques
**Attribution License** - voir [LICENSE](LICENSE) pour les détails complets. L'application vérifie automatiquement les nouvelles versions au démarrage et vous propose de télécharger les améliorations :
- 🐛 **Corrections de bugs**
Toute utilisation, reproduction ou distribution doit inclure une attribution visible à l'auteur : **LouisMazin**. - ⚡ **Améliorations de performance**
- 🆕 **Nouvelles fonctionnalités**
- 🔒 **Mises à jour de sécurité**
--- ---
## 🙏 Remerciements ## 📞 Mentions légales
- **PyQt6** pour le framework d'interface **Développé par** : LouisMazin
- **pydicom** pour la manipulation des fichiers médicaux **Licence** : Attribution License
- **Communauté open source** pour les contributions et retours **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)