# 📋 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 fichier - `findExistingFileByHash(hash)` : Trouve les fichiers existants par hash - `saveJsonCache(hash, result)` : Sauvegarde un résultat dans le cache - `getJsonCache(hash)` : Récupère un résultat depuis le cache - `listCacheFiles()` : Liste tous les fichiers de cache #### 📡 Nouvelles Routes API - `GET /api/cache` : Liste les fichiers de cache avec métadonnées - `GET /api/cache/:hash` : Récupère un résultat de cache spécifique - `DELETE /api/cache/:hash` : Supprime un fichier de cache - `GET /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 hash - `CHANGELOG.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é ```mermaid 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_