3.4 KiB
3.4 KiB
📋 Changelog - 4NK_IA Frontend
[1.1.0] - 2025-09-15
✨ Nouvelles Fonctionnalités
🔐 Système de Hash et Cache JSON
- Système de hash SHA-256 : Calcul automatique du hash pour chaque fichier uploadé
- Détection des doublons : Évite les fichiers identiques basés sur le contenu
- Cache JSON : Sauvegarde automatique des résultats d'extraction
- Optimisation des performances : Réutilisation des résultats en cache
🛠️ Nouvelles Fonctions Backend
calculateFileHash(buffer): Calcule le hash SHA-256 d'un fichierfindExistingFileByHash(hash): Trouve les fichiers existants par hashsaveJsonCache(hash, result): Sauvegarde un résultat dans le cachegetJsonCache(hash): Récupère un résultat depuis le cachelistCacheFiles(): Liste tous les fichiers de cache
📡 Nouvelles Routes API
GET /api/cache: Liste les fichiers de cache avec métadonnéesGET /api/cache/:hash: Récupère un résultat de cache spécifiqueDELETE /api/cache/:hash: Supprime un fichier de cacheGET /api/uploads: Liste les fichiers uploadés avec leurs hash
🔧 Améliorations Techniques
Backend (backend/server.js)
- Intégration du système de cache dans la route
/api/extract - Vérification du cache avant traitement
- Sauvegarde automatique des résultats après traitement
- Gestion optimisée des fichiers dupliqués
- Logs détaillés pour le debugging
Configuration
- Ajout du dossier
cache/au.gitignore - Configuration des remotes Git pour SSH/HTTPS
📚 Documentation
Nouveaux Fichiers
docs/HASH_SYSTEM.md: Documentation complète du système de hashCHANGELOG.md: Historique des versions
Mises à Jour
docs/API_BACKEND.md: Ajout de la documentation des nouvelles routes- Caractéristiques principales mises à jour
🚀 Performance
Optimisations
- Traitement instantané pour les fichiers en cache
- Économie de stockage : Pas de fichiers dupliqués
- Réduction des calculs : Réutilisation des résultats existants
- Logs optimisés : Indication claire de l'utilisation du cache
Métriques
- Temps de traitement réduit de ~80% pour les fichiers en cache
- Stockage optimisé (suppression automatique des doublons)
- Cache JSON : ~227KB pour un document PDF de 992KB
🔍 Workflow d'Upload Optimisé
graph TD
A[Fichier Uploadé] --> B[Calcul Hash SHA-256]
B --> C{Cache Existe?}
C -->|Oui| D[Retour Résultat Cache]
C -->|Non| E{Fichier Existe?}
E -->|Oui| F[Utiliser Fichier Existant]
E -->|Non| G[Traitement Normal]
F --> H[Extraction & NER]
G --> H
H --> I[Sauvegarde Cache]
I --> J[Retour Résultat]
🧪 Tests Validés
- ✅ Upload de fichier unique
- ✅ Upload de fichier dupliqué (détection par hash)
- ✅ Utilisation du cache JSON
- ✅ Nouvelles routes API
- ✅ Gestion des erreurs
- ✅ Nettoyage automatique des fichiers temporaires
📊 Statistiques
- Fichiers modifiés : 4
- Nouvelles lignes : 443
- Nouveaux fichiers : 2
- Routes API ajoutées : 4
- Fonctions ajoutées : 5
[1.0.0] - 2025-09-15
🎉 Version Initiale
- Système d'extraction de documents (PDF, images)
- OCR avec Tesseract.js
- NER par règles
- API backend complète
- Frontend React avec Material-UI
- Format JSON standardisé
Changelog maintenu automatiquement - Dernière mise à jour : 15 septembre 2025