chore(rgpd): replace CHCB/Bayonne/Saint-Denis/Réunion refs in source + configs (D-12)
Anonymise toutes les références à des entités réelles (CHCB, Bayonne, Saint-Denis, Réunion, etc.) dans le code source, les configurations YAML, les scripts/outils, et les tests unitaires. Conserve les tests synthétiques (cases) intentionnels. - profile key chcb_strict → chuxx_strict - CHCB → CHUXX, Bayonne → Chicago, Saint-Denis → Springfield, Réunion → Province Bêta, 64100/97400 → 12345, FINESS → 999999999, préfixe tél 05.59.44 → 0X.XX.XX - renomme tools/test_chcb_leak.py → tools/test_force_term_leak.py Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -16,7 +16,7 @@ def test_all_cro():
|
||||
"""Test la propagation des dates de naissance sur tous les CRO."""
|
||||
|
||||
# Chercher tous les CRO dans les 59 OGC
|
||||
ogc_dir = Path("/home/dom/Téléchargements/II-1 Ctrl_T2A_2025_CHCB_DocJustificatifs (1)")
|
||||
ogc_dir = Path("/home/dom/Téléchargements/II-1 Ctrl_T2A_2025_CHUXX_DocJustificatifs (1)")
|
||||
|
||||
# Trouver tous les CRO (compte rendu opératoire)
|
||||
print("Recherche de tous les CRO dans le corpus...")
|
||||
@@ -59,25 +59,25 @@ def test_all_cro():
|
||||
date_context_pattern = re.compile(r'Né(?:e)?\s+le\s+(\d{1,2}[\s/.\-]+\d{1,2}[\s/.\-]+\d{2,4})', re.IGNORECASE)
|
||||
context_leaks = date_context_pattern.findall(anonymized_text)
|
||||
|
||||
# Scanner "CHCB" en clair
|
||||
chcb_leaks = re.findall(r'\bCHCB\b', anonymized_text)
|
||||
# Scanner "CHUXX" en clair
|
||||
chuxx_leaks = re.findall(r'\bCHUXX\b', anonymized_text)
|
||||
|
||||
# Compter les fuites totales
|
||||
total_leaks = len(context_leaks) + len(chcb_leaks)
|
||||
total_leaks = len(context_leaks) + len(chuxx_leaks)
|
||||
|
||||
status = "✅" if total_leaks == 0 else "❌"
|
||||
print(f" {status} Fuites 'Né(e) le': {len(context_leaks)}, Fuites CHCB: {len(chcb_leaks)}")
|
||||
print(f" {status} Fuites 'Né(e) le': {len(context_leaks)}, Fuites CHUXX: {len(chuxx_leaks)}")
|
||||
|
||||
if context_leaks:
|
||||
print(f" Exemples dates: {context_leaks[:3]}")
|
||||
if chcb_leaks:
|
||||
print(f" Exemples CHCB: {chcb_leaks[:3]}")
|
||||
if chuxx_leaks:
|
||||
print(f" Exemples CHUXX: {chuxx_leaks[:3]}")
|
||||
|
||||
results.append({
|
||||
'file': pdf_path.name,
|
||||
'path': str(pdf_path),
|
||||
'context_leaks': len(context_leaks),
|
||||
'chcb_leaks': len(chcb_leaks),
|
||||
'chuxx_leaks': len(chuxx_leaks),
|
||||
'success': total_leaks == 0
|
||||
})
|
||||
|
||||
@@ -100,13 +100,13 @@ def test_all_cro():
|
||||
success_count = sum(1 for r in results if r.get('success', False))
|
||||
error_count = sum(1 for r in results if 'error' in r)
|
||||
total_context_leaks = sum(r.get('context_leaks', 0) for r in results)
|
||||
total_chcb_leaks = sum(r.get('chcb_leaks', 0) for r in results)
|
||||
total_chuxx_leaks = sum(r.get('chuxx_leaks', 0) for r in results)
|
||||
|
||||
print(f"Documents testés: {len(results)}")
|
||||
print(f"Succès: {success_count}/{len(results)} ({success_count/len(results)*100:.1f}%)")
|
||||
print(f"Erreurs: {error_count}")
|
||||
print(f"Fuites 'Né(e) le' totales: {total_context_leaks}")
|
||||
print(f"Fuites CHCB totales: {total_chcb_leaks}")
|
||||
print(f"Fuites CHUXX totales: {total_chuxx_leaks}")
|
||||
print(f"Temps total: {elapsed_time:.1f}s ({elapsed_time/len(results):.1f}s/doc)")
|
||||
|
||||
# Liste des documents avec fuites
|
||||
@@ -119,7 +119,7 @@ def test_all_cro():
|
||||
print(f"\n{doc['file']}")
|
||||
print(f" Path: {doc['path']}")
|
||||
print(f" Fuites dates: {doc.get('context_leaks', 0)}")
|
||||
print(f" Fuites CHCB: {doc.get('chcb_leaks', 0)}")
|
||||
print(f" Fuites CHUXX: {doc.get('chuxx_leaks', 0)}")
|
||||
|
||||
# Liste des erreurs
|
||||
error_docs = [r for r in results if 'error' in r]
|
||||
@@ -148,7 +148,7 @@ def test_all_cro():
|
||||
f.write(f"Succès: {success_count}/{len(results)} ({success_count/len(results)*100:.1f}%)\n")
|
||||
f.write(f"Erreurs: {error_count}\n")
|
||||
f.write(f"Fuites 'Né(e) le' totales: {total_context_leaks}\n")
|
||||
f.write(f"Fuites CHCB totales: {total_chcb_leaks}\n")
|
||||
f.write(f"Fuites CHUXX totales: {total_chuxx_leaks}\n")
|
||||
f.write(f"Temps total: {elapsed_time:.1f}s ({elapsed_time/len(results):.1f}s/doc)\n\n")
|
||||
|
||||
if failed_docs:
|
||||
@@ -159,7 +159,7 @@ def test_all_cro():
|
||||
f.write(f"{doc['file']}\n")
|
||||
f.write(f" Path: {doc['path']}\n")
|
||||
f.write(f" Fuites dates: {doc.get('context_leaks', 0)}\n")
|
||||
f.write(f" Fuites CHCB: {doc.get('chcb_leaks', 0)}\n\n")
|
||||
f.write(f" Fuites CHUXX: {doc.get('chuxx_leaks', 0)}\n\n")
|
||||
|
||||
if error_docs:
|
||||
f.write("=" * 80 + "\n")
|
||||
|
||||
Reference in New Issue
Block a user