Commit Graph

12 Commits

Author SHA1 Message Date
a138b26738 Fix faux positifs PDF (EDS_TEL, EDS_VILLE) + détection noms Notes IDE
- Skip EDS_TEL dans PDF (valeurs Pouls détectées comme N° de téléphone)
- Ajout EDS_VILLE au whole-word matching (évite "GEL" dans "GELULE")
- Filtre stop words étendu à EDS_HOPITAL et EDS_VILLE dans la détection NER
- Détection noms soignants dans "Note IDE\nPrenom NOM" (BARGAIN, LACOTE, etc.)
- Stop words : semaine, jour, matin, soir, nuit, midi

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 17:22:38 +01:00
2236fdcd01 Correction majeure des faux positifs et fuites d'anonymisation PDF
- Fix fuites critiques trackare : extraction multi-occurrences (re.finditer),
  noms soignants multi-lignes, N° épisode, tokens GLOBAL sur final_text
- Fix faux positifs PDF : whole-word matching pour tokens courts (<5 chars)
  au lieu de les ignorer (corrige Emma/Lili non masqués + évite substring)
- Skip EDS_SECU dans PDF (valeurs vitales PA/Pouls détectées comme N° sécu)
- Skip EDS_DATE dans PDF (dates rendaient les tableaux illisibles)
- Filtre dosages détectés comme noms (10MG, 300UI, 1 000)
- Filtre EDS_NOM multi-mots contenant des stop words (SI DIARRHEES)
- Regex CODE_POSTAL : exclure unités médicales (13000 UI ≠ code postal)
- Stop words massivement enrichis (~100+ termes médicaux, médicaments,
  abréviations, en-têtes de colonnes trackare)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 17:01:32 +01:00
5ed2312d93 Amélioration majeure de l'anonymisation regex : trackare, noms composés, faux positifs
- Parseur trackare spécifique (détection par contenu, extraction structurée des PII)
- Support format "Dr X. NOM" et "Mme X. NOM" (initiales + noms composés avec tiret)
- Détection noms personnel médical (Aide, Cadre Infirmier, etc.)
- Masquage RPPS, établissements (EHPAD/SSR/USLD standalone), lieux de naissance
- Stop words médicaux enrichis (~270 entrées : DCI, spécialités, termes contextuels)
- Détection compagnon (noms adjacents à des noms connus dans le texte brut)
- Protection noms composés (JEAN-PIERRE traité comme un tout, pas JEAN + PIERRE)
- Nettoyage codes postaux orphelins, téléphones fragmentés/partiels
- Désactivation masquage dates génériques, AGE avec contexte obligatoire
- GUI : extraction OGC depuis le nom du répertoire parent, incrustation sur les pages

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 00:25:18 +01:00
db1508d1c2 Ajout build portable : Python embarqué + lanceur .bat (sans compilation)
Nouveau workflow build-portable.yml :
- Télécharge Python embeddable (zip officiel, ~15 Mo)
- Installe pip + requirements dedans
- Copie tkinter depuis l'installation complète
- Copie nos scripts + config + modèle NER
- Crée un lanceur Pseudonymisation.bat (double-clic)
- Aucune compilation C, pas de faux positif antivirus

Pour l'utilisateur : dézipper → double-cliquer Pseudonymisation.bat

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 23:27:32 +01:00
2d90bbbce4 Fix build Nuitka : ne compiler que nos modules, copier les packages tels quels
- Re-ajoute --nofollow-import-to pour tous les packages externes lourds
  (onnxruntime, numpy, transformers, PIL, fitz, pdfplumber, etc.)
- Ajoute --no-deployment-flag=excluded-module-usage pour autoriser
  leur import à l'exécution
- Nouvelle étape : pip install --target=dist pour copier les packages
  Python directement dans le dossier de distribution
- Nuitka ne compile en C que nos 4 modules + stdlib + tkinter
- Les packages externes restent en bytecode Python natif (fiable)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 23:08:29 +01:00
9e06bbfa1d Fix _app_dir() pour Nuitka + crash log visible sans console
- _app_dir() utilise toujours Path(__file__).parent au lieu de
  dir() qui ne détecte pas __compiled__ dans une fonction
- Ajout crash.log + messagebox en cas d'erreur fatale
  (même avec --windows-console-mode=disable)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 22:11:44 +01:00
801a71a6b4 Fix build Nuitka : retirer --nofollow-import-to qui excluait les modules
Les flags --nofollow-import-to excluent complètement les modules du bundle
au lieu de juste sauter leur compilation C. pdfplumber, fitz, PIL etc.
étaient absents de l'exe. Augmente aussi le timeout à 120min.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 17:44:45 +01:00
67042bc3f1 Build en mode dossier (pas onefile) pour éviter faux positif antivirus
- --standalone sans --onefile : produit un dossier au lieu d'un exe compressé
- Windows Defender ne bloque plus (pas de technique d'extraction suspecte)
- Le dossier est zippé pour distribution facile
- Renommé en Pseudonymisation/ pour plus de clarté

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 15:54:06 +01:00
30a9b39367 Fix build : retirer orderedset (incompatible Python 3.12 Windows)
orderedset ne compile pas sur Windows/Python 3.12
(longintrepr.h manquant). C'est optionnel pour Nuitka.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 08:00:36 +01:00
24b6fae5b0 Optimiser le build Nuitka : cache + nofollow-import
- Cache Nuitka entre les builds (accélère les rebuilds)
- --nofollow-import-to pour les gros packages déjà compilés
  (onnxruntime, numpy, transformers, PIL, etc.)
- Nuitka les inclut tels quels sans les recompiler en C

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 18:37:03 +01:00
2e7e31a1f9 Embarquer modèle NER + chargement auto au démarrage
- GUI V5 : charge DistilCamemBERT-NER automatiquement en arrière-plan
- _app_dir() : chemin compatible Nuitka onefile
- Build Nuitka : inclut models/ + config/ dans le .exe
- GitHub Actions : étape download model avant compilation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 15:31:17 +01:00
8339069c83 Initial commit — Pseudonymisation de PDF v5
- GUI v5 : vue unique épurée (tkinter), 2 étapes visuelles
- Core ONNX : anonymisation regex + NER optionnel
- Extraction globale des noms depuis champs structurés
  (Patient, Rédigé par, MME/Madame, DR)
- Génération simultanée PDF Image + PDF Anonymisé (structure préservée)
- Build Windows via Nuitka (script batch + GitHub Actions CI)
- install.sh pour setup/run Linux

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 15:03:37 +01:00