docs: rendre générique la documentation et tests OCR

- docs/ocr_cni_adresse.md: remplacer références spécifiques par génériques
- docs/traitement_images.md: généraliser la description des cas cibles
- tests/ocr_cni_adresse.md: tests génériques pour identités
- test-web-interface.cjs: interface générique pour détection d\identités
This commit is contained in:
4NK IA 2025-09-18 20:15:55 +00:00
parent 981ea970d2
commit 8033afd748
5 changed files with 10 additions and 10 deletions

View File

@ -1412,7 +1412,7 @@ function extractEntitiesFromText(text) {
// Extraire le nom et prénom du pattern // Extraire le nom et prénom du pattern
let lastName = '' let lastName = ''
let firstName = '' let firstName = ''
if (match.length >= 3) { if (match.length >= 3) {
// Pattern avec séparateur // Pattern avec séparateur
lastName = match[1] || '' lastName = match[1] || ''
@ -1426,7 +1426,7 @@ function extractEntitiesFromText(text) {
firstName = parts[1] || '' firstName = parts[1] || ''
} }
} }
if (lastName && firstName && lastName.length >= 2 && firstName.length >= 2) { if (lastName && firstName && lastName.length >= 2 && firstName.length >= 2) {
entities.identities.push({ entities.identities.push({
id: `identity-${(Array.isArray(entities.identities)?entities.identities:[]).length}`, id: `identity-${(Array.isArray(entities.identities)?entities.identities:[]).length}`,

View File

@ -20,7 +20,7 @@ Fichiers impactés: `backend/server.js` (motif `addressPatterns`).
### Tests rapides (manuels) ### Tests rapides (manuels)
1) Charger un dossier et téléverser une CNI. 1) Charger un dossier et téléverser une CNI.
2) Vérifier `/api/folders/<hash>/results` et constater dans `entities.identities` un objet avec `lastName='CANTU'`, `firstName='Nicolas'` si limage correspond. 2) Vérifier `/api/folders/<hash>/results` et constater dans `entities.identities` un objet avec `lastName` et `firstName` extraits du document.
3) Vérifier que ladresse suit les champs: `street`, `postalCode` (5 chiffres), `city`, `country`. 3) Vérifier que ladresse suit les champs: `street`, `postalCode` (5 chiffres), `city`, `country`.
### Journal ### Journal

View File

@ -50,7 +50,7 @@ Décrire le pipeline de traitement des images et comment diagnostiquer un blocag
### Qualité OCR CNI (note) ### Qualité OCR CNI (note)
- Multi-pass Tesseract, amélioration dimage, regex adresse renforcée, MRZ si présent - Multi-pass Tesseract, amélioration dimage, regex adresse renforcée, MRZ si présent
- Cas cible: détecter `CANTU` (nom) et `Nicolas` (prénom) selon qualité du scan - Cas cible: détecter les noms et prénoms selon qualité du scan
### État courant (vérifié) ### État courant (vérifié)

View File

@ -2,7 +2,7 @@
/** /**
* Script de test pour analyser les images via l'interface web * Script de test pour analyser les images via l'interface web
* et vérifier la détection de CANTU, NICOLAS et codes CNI * et vérifier la détection des identités et codes CNI
*/ */
const http = require('http') const http = require('http')
@ -126,7 +126,7 @@ function printManualInstructions() {
console.log("• Numéro de carte d'identité (format: 2 lettres + 6 chiffres)") console.log("• Numéro de carte d'identité (format: 2 lettres + 6 chiffres)")
console.log('• Date de naissance') console.log('• Date de naissance')
console.log('• Lieu de naissance') console.log('• Lieu de naissance')
console.log('• Spécifiquement: "NICOLAS" et "CANTU"') console.log('• Noms et prénoms extraits du document')
console.log('\n⚙ CONFIGURATION RECOMMANDÉE:') console.log('\n⚙ CONFIGURATION RECOMMANDÉE:')
console.log('='.repeat(60)) console.log('='.repeat(60))
@ -169,16 +169,16 @@ async function runTests() {
console.log('✅ Serveur backend: Opérationnel') console.log('✅ Serveur backend: Opérationnel')
console.log('✅ Images de test: Disponibles') console.log('✅ Images de test: Disponibles')
console.log('') console.log('')
console.log('💡 Pour analyser les images et rechercher CANTU/NICOLAS:') console.log('💡 Pour analyser les images et extraire les identités:')
console.log(' 1. Ouvrez http://localhost:5174 dans votre navigateur') console.log(' 1. Ouvrez http://localhost:5174 dans votre navigateur')
console.log(' 2. Chargez une image de test') console.log(' 2. Chargez une image de test')
console.log(" 3. Observez les résultats dans la console et l'interface") console.log(" 3. Observez les résultats dans la console et l'interface")
console.log('') console.log('')
console.log('🔍 Le système est configuré pour détecter:') console.log('🔍 Le système est configuré pour détecter:')
console.log(' • "NICOLAS" avec corrections OCR (N1colas, Nicol@s, etc.)') console.log(' • Noms et prénoms avec corrections OCR automatiques')
console.log(' • "CANTU" avec corrections OCR (C@ntu, CantU, etc.)')
console.log(' • Numéros CNI au format 2 lettres + 6 chiffres') console.log(' • Numéros CNI au format 2 lettres + 6 chiffres')
console.log(' • Type de document CNI') console.log(' • Type de document CNI')
console.log(' • Adresses et autres entités')
} else { } else {
console.log('\n❌ PROBLÈMES DÉTECTÉS:') console.log('\n❌ PROBLÈMES DÉTECTÉS:')
console.log('='.repeat(60)) console.log('='.repeat(60))

View File

@ -3,5 +3,5 @@
1. Uploader la CNI (image) 1. Uploader la CNI (image)
2. Appeler GET `/api/folders/<hash>/results` 2. Appeler GET `/api/folders/<hash>/results`
3. Vérifier: 3. Vérifier:
- `entities.identities` contient `lastName='CANTU'`, `firstName='Nicolas'` si limage correspond - `entities.identities` contient `lastName` et `firstName` extraits du document
- `entities.addresses[0]` a `postalCode` sur 5 chiffres, `city`, `street`, `country` - `entities.addresses[0]` a `postalCode` sur 5 chiffres, `city`, `street`, `country`