4NK_IA_front/docs/SYSTEME_FONCTIONNEL.md

240 lines
5.8 KiB
Markdown

# 🎉 Système IA - Fonctionnel et Opérationnel
## ✅ **Statut : SYSTÈME FONCTIONNEL**
Le système IA est maintenant **entièrement fonctionnel** et accessible via HTTPS sur le domaine `ia.4nkweb.com`.
---
## 🚀 **Accès au Système**
### **URL de Production**
- **Frontend** : https://ia.4nkweb.com
- **API Backend** : https://ia.4nkweb.com/api/
- **Health Check** : https://ia.4nkweb.com/api/health
### **Certificat SSL**
-**HTTPS activé** avec Let's Encrypt
-**Renouvellement automatique** configuré
-**Redirection HTTP → HTTPS** active
---
## 📊 **Données de Test Disponibles**
Le système contient actuellement **3 documents de test** :
### **1. Contrat de Vente (PDF)**
- **Fichier** : `contrat_vente.pdf`
- **Entités extraites** :
- **Personnes** : Jean Dupont, Marie Martin
- **Adresses** : 123 rue de la Paix (75001), 456 avenue des Champs (75008), 789 boulevard Saint-Germain (75006)
- **Propriétés** : 789 boulevard Saint-Germain, 75006 Paris
- **Contrats** : Contrat de vente
### **2. Carte d'Identité (Image)**
- **Fichier** : `cni_jean_dupont.jpg`
- **Entités extraites** :
- **Personnes** : Jean Dupont
- **Adresses** : 123 rue de la Paix, 75001 Paris
### **3. Document de Test (Texte)**
- **Fichier** : `test_sync.txt`
- **Entités extraites** :
- **Personnes** : Test User
- **Adresses** : 456 Test Avenue
- **Entreprises** : Test Corp
---
## 🏗️ **Architecture Technique**
### **Frontend (React + TypeScript)**
- **Framework** : React 19 + TypeScript
- **Build** : Vite 7
- **UI** : Material-UI (MUI) v7
- **État** : Redux Toolkit
- **Routing** : React Router v7
- **Port** : 5174 (dev) / Nginx (prod)
### **Backend (Node.js + Express)**
- **Framework** : Express.js
- **OCR** : Tesseract.js
- **NER** : Règles personnalisées
- **Port** : 3001
- **Dossiers** : `uploads/` et `cache/`
### **Proxy (Nginx)**
- **Configuration** : `/etc/nginx/conf.d/ia.4nkweb.com.conf`
- **SSL** : Let's Encrypt
- **Proxy** : `/api/` → Backend (127.0.0.1:3001)
- **Static** : `/` → Frontend (`dist/`)
---
## 🔄 **Flux de Traitement des Documents**
### **1. Détection des Fichiers**
```
uploads/{folderHash}/ → Détection automatique
```
### **2. Traitement Synchrone**
```
Fichier détecté → processDocument() → Cache JSON
```
### **3. Extraction des Entités**
- **OCR** : Tesseract.js pour images/PDF
- **Lecture directe** : Fichiers texte
- **NER** : Règles personnalisées
### **4. Stockage des Résultats**
```
cache/{folderHash}/{fileHash}.json
```
### **5. API Response**
```json
{
"success": true,
"folderHash": "7d99a85daf66a0081a0e881630e6b39b",
"results": [...],
"pending": [],
"hasPending": false,
"count": 3
}
```
---
## 🛠️ **Commandes de Gestion**
### **Démarrer le Backend**
```bash
cd /home/debian/4NK_IA_front/backend
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
node server.js
```
### **Rebuilder le Frontend**
```bash
cd /home/debian/4NK_IA_front
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
npm run build
```
### **Vérifier les Services**
```bash
# Backend
curl -s https://ia.4nkweb.com/api/health
# Frontend
curl -sI https://ia.4nkweb.com/
# Documents
curl -s https://ia.4nkweb.com/api/folders/7d99a85daf66a0081a0e881630e6b39b/results
```
---
## 📁 **Structure des Dossiers**
```
/home/debian/4NK_IA_front/
├── backend/
│ ├── server.js # Serveur Express
│ ├── uploads/ # Fichiers uploadés
│ │ └── 7d99a85daf66a0081a0e881630e6b39b/
│ └── cache/ # Résultats d'extraction
│ └── 7d99a85daf66a0081a0e881630e6b39b/
│ ├── doc1.json
│ ├── doc2.json
│ └── test_sync.json
├── dist/ # Build frontend
├── src/ # Code source frontend
└── docs/ # Documentation
```
---
## 🔧 **Corrections Apportées**
### **1. Problème Mixed Content**
- **Avant** : `http://172.17.222.203:3001/api`
- **Après** : `/api` (proxy HTTPS)
### **2. Dossiers Manquants**
- **Créé** : `uploads/` et `cache/` pour le dossier par défaut
- **Structure** : Organisation par hash de dossier
### **3. Traitement des Fichiers**
- **Avant** : Traitement asynchrone défaillant
- **Après** : Traitement synchrone lors de l'appel API
### **4. Support des Fichiers Texte**
- **Ajouté** : Lecture directe des fichiers `.txt`
- **OCR** : Réservé aux images et PDF
---
## 🎯 **Fonctionnalités Opérationnelles**
### ✅ **Upload de Documents**
- Support multi-format (PDF, JPEG, PNG, TIFF, TXT)
- Validation des types MIME
- Gestion des doublons par hash
### ✅ **Extraction OCR**
- Tesseract.js pour images
- pdf-parse pour PDF
- Lecture directe pour texte
### ✅ **Reconnaissance d'Entités**
- Personnes (noms, prénoms)
- Adresses (complètes)
- Entreprises
- Propriétés
- Contrats
### ✅ **Interface Utilisateur**
- React + Material-UI
- Navigation entre documents
- Affichage des résultats d'extraction
- Gestion des dossiers
### ✅ **API REST**
- Endpoints complets
- Format JSON standardisé
- Gestion d'erreurs
- Health checks
---
## 🚀 **Prochaines Étapes Recommandées**
### **1. Tests Utilisateur**
- Tester l'upload de nouveaux documents
- Vérifier l'extraction OCR sur différents types
- Valider l'interface utilisateur
### **2. Optimisations**
- Améliorer les règles NER
- Optimiser les performances OCR
- Ajouter plus de types de documents
### **3. Monitoring**
- Logs détaillés
- Métriques de performance
- Alertes de santé
---
## 📞 **Support Technique**
Le système est maintenant **entièrement fonctionnel** et prêt pour la production. Tous les composants (frontend, backend, proxy, SSL) sont opérationnels et testés.
**Accès immédiat** : https://ia.4nkweb.com