# Email - Proposition Phase de Tests

---

**Objet :** Refactorisation système d'extraction PDF - Proposition phase de tests sur site

---

Bonjour,

Je vous contacte pour vous présenter les améliorations majeures apportées au système d'extraction de données PDF pour Flash Énergies, et vous proposer une phase de tests dans vos locaux.

## 🎯 Travaux réalisés

Nous avons procédé à une **refactorisation complète** du système d'extraction avec les objectifs suivants :
- **Réduction des coûts OpenAI** (~30% d'économies)
- **Amélioration de la précision** d'extraction par bailleur
- **Meilleure gestion des cas spécifiques** de chaque bailleur social

### Architecture mise en place

**1. Détection automatique du bailleur (sans IA)**
- Identification du bailleur via analyse de patterns (mots-clés, logos, codes fournisseurs)
- 9 bailleurs configurés : COTTAGE, FOH, HDN, HHF, LMH, LOGI FIM VILOGIA, LOGIS MÉTROPOLE, PARTENORD MÉTROPOLE, PARTENORD LITTORAL

**2. Système de prompts spécialisés**
- Chaque bailleur dispose de son propre fichier de règles d'extraction
- Règles adaptées aux spécificités de format de chaque bailleur
- Gestion des cas particuliers (parties communes, inversions prix/quantité, etc.)

**3. Améliorations fonctionnelles**
- Extraction correcte des adresses (lieu d'intervention vs émetteur)
- Distinction notes/prestations dans les tableaux
- Gestion des parties communes vs logements individuels
- Formatage automatique des numéros de téléphone
- Normalisation des codes de référence
- Prévisualisation XML dans l'interface

### Exemples de règles spécifiques par bailleur

**COTTAGE SOCIAL DES FLANDRES**
- Extraction prioritaire via mot-clé "LOCALISATION"
- Gestion des codes programmes (0324, 0156, etc.)
- Distinction nom locataire vs label "LOCATAIRE"

**HABITAT HAUTS DE FRANCE**
- Détection logement vs parties communes via cases cochées
- Exclusion des mentions légales standard (pied de page REMY DELBAERE)
- Extraction "Localisation des dommages"

**LMH**
- Gestion inversion prix/quantité (prix PUIS quantité)
- Normalisation codes (suppression préfixe C)
- Extraction informations complètes logement (n°, type, étage, porte)

**FLANDRE OPALE HABITAT**
- Exclusion adresse Flash Énergies (8 rue du Fort Suisse)
- Gestion prestations parties communes
- Extraction résidence + codes

**LOGIS MÉTROPOLE**
- Distinction marché vs ordre de service
- Suppression premier/dernier mot de désignation
- Recherche par similarité textuelle en BDD

## 📋 Proposition : Phase de tests sur site

Pour valider et affiner le système, je vous propose une **session de tests dans vos locaux** avec la méthodologie suivante :

### Protocole de test
- **5 PDFs réels par bailleur** (soit 45 PDFs au total)
- **Ajustements en direct** des prompts selon les résultats
- **Validation immédiate** des corrections apportées

### Objectifs
- Tester la détection automatique du bailleur (taux de réussite)
- Valider la précision d'extraction pour chaque bailleur
- Identifier et corriger les cas limites
- Ajuster les règles spécifiques si nécessaire
- Optimiser la qualité des données extraites

### Organisation proposée
- **Durée estimée :** 1 journée (ou 2 demi-journées)
- **Présence requise :** 
  - Développeur (moi-même) pour ajustements en direct
  - Personne connaissant les formats de chaque bailleur
- **Matériel nécessaire :**
  - Accès aux PDFs de test (5 par bailleur)
  - Connexion internet pour OpenAI API
  - Environnement de développement

### Déroulement
1. **Test par bailleur** (ordre suggéré par fréquence d'utilisation)
2. **Pour chaque PDF :**
   - Upload et traitement
   - Vérification des données extraites
   - Identification des erreurs éventuelles
   - Ajustement des règles si nécessaire
   - Re-test immédiat après correction
3. **Documentation** des ajustements effectués
4. **Validation finale** avec un PDF test supplémentaire

## 📊 Points d'attention spécifiques à tester

### Pour tous les bailleurs
- ✅ Détection correcte du bailleur
- ✅ Extraction référence BC
- ✅ Date d'intervention
- ✅ Gestionnaire
- ✅ Adresse lieu d'intervention (vs adresse émetteur)
- ✅ Nom locataire ou "Parties Communes"
- ✅ Téléphone locataire (exclusion Flash Énergies : 0328271260)
- ✅ Codes de référence articles
- ✅ Prestations (désignation, quantité, prix, TVA)
- ✅ Notes vs prestations facturables

### Cas spécifiques
- **COTTAGE** : Numéros de rue (ex: 0012 RUE HONEGGER)
- **HHF** : Cases logement/parties communes
- **LMH** : Ordre prix/quantité inversé + infos logement complètes
- **FOH** : Distinction prestations parties communes
- **LOGIS** : Ordre de service vs marché

## 🚀 Bénéfices attendus

Après cette phase de tests :
- **Taux de réussite élevé** sur l'ensemble des bailleurs (objectif >95%)
- **Réduction manuelle** de corrections post-traitement
- **Économies substantielles** sur coûts OpenAI
- **Système robuste** prêt pour production

## 📅 Prochaines étapes

Si cette proposition vous convient, je vous propose de :
1. Définir ensemble une date pour cette session de tests
2. Préparer les PDFs de test (5 par bailleur, idéalement variés)
3. Organiser la logistique (salle, accès, présences)

Je reste à votre disposition pour toute question ou ajustement de cette proposition.

Bien cordialement,

---

**Pièces jointes suggérées :**
- `REFACTORING.md` - Documentation technique complète
- Tableau récapitulatif des 9 bailleurs configurés
- Liste des fichiers de règles créés (cottage_rules.py, foh_rules.py, etc.)
