4NK_IA_front/docs/SYSTEME_FONCTIONNEL.md

5.8 KiB

🎉 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

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

{
  "success": true,
  "folderHash": "7d99a85daf66a0081a0e881630e6b39b",
  "results": [...],
  "pending": [],
  "hasPending": false,
  "count": 3
}

🛠️ Commandes de Gestion

Démarrer le Backend

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

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

# 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