240 lines
5.8 KiB
Markdown
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
|