From 9b94e242f35457111b761975c354ac3471bd3843 Mon Sep 17 00:00:00 2001 From: Louis Mazin Date: Fri, 26 Sep 2025 20:04:58 +0200 Subject: [PATCH] readme adjust --- README.md | 325 ++++++++++++++++++------------------------------------ 1 file changed, 108 insertions(+), 217 deletions(-) diff --git a/README.md b/README.md index 5624ed0..16c6de9 100644 --- a/README.md +++ b/README.md @@ -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** 🚀 \ No newline at end of file +**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) \ No newline at end of file