docs: Ajout du CHANGELOG.md pour la version 1.1.0
- Documentation complète des nouvelles fonctionnalités - Historique des modifications et améliorations - Statistiques de performance et métriques - Workflow d'upload optimisé documenté
This commit is contained in:
parent
c6b5767d5d
commit
98f444d008
187
CHANGELOG.md
187
CHANGELOG.md
@ -1,130 +1,109 @@
|
|||||||
# Changelog
|
# 📋 Changelog - 4NK_IA Frontend
|
||||||
|
|
||||||
## [0.1.3] - 2025-09-11
|
## [1.1.0] - 2025-09-15
|
||||||
### Ajouté
|
|
||||||
- Dockerfile multi-stage (build Node 20 LTS → Nginx) et `nginx.conf`
|
|
||||||
- `.dockerignore` pour un contexte minimal
|
|
||||||
- Scripts `scripts/docker-build.sh` et `scripts/docker-push.sh`
|
|
||||||
|
|
||||||
### Modifié
|
### ✨ Nouvelles Fonctionnalités
|
||||||
- `ExtractionView.tsx`: correction du balisage pour éviter `<div>` dans `<p>` (hydratation)
|
|
||||||
- Documentation: README et `docs/DEPLOYMENT.md` mis à jour (Docker, versions Node)
|
|
||||||
|
|
||||||
### Technique
|
#### 🔐 Système de Hash et Cache JSON
|
||||||
- `.nvmrc` ajouté et vérification `predev`/`prebuild` de la version Node
|
- **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
|
||||||
|
|
||||||
## 0.1.2 - Suppression du mode démo et routage backend
|
#### 🛠️ 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
|
||||||
|
|
||||||
### 🔄 Changements majeurs
|
#### 📡 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
|
||||||
|
|
||||||
- Suppression complète du « mode simple » et des fallbacks de démonstration dans
|
### 🔧 Améliorations Techniques
|
||||||
`src/services/api.ts`.
|
|
||||||
- Tous les appels aux APIs externes (Cadastre, Géorisques, Géofoncier, BODACC,
|
|
||||||
Infogreffe) sont désormais routés via le backend `4NK_IA_back` (`/api/context/...`).
|
|
||||||
|
|
||||||
### 🧩 Code
|
#### 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
|
||||||
|
|
||||||
- `src/services/api.ts`: suppression de `VITE_BACKEND_MODE`, intercepteur Axios n’émet plus de
|
#### Configuration
|
||||||
valeurs mockées, endpoints `analyze/context/conseil` strictement consommés sur
|
- Ajout du dossier `cache/` au `.gitignore`
|
||||||
`/api/documents/...`.
|
- Configuration des remotes Git pour SSH/HTTPS
|
||||||
|
|
||||||
### 📚 Documentation
|
### 📚 Documentation
|
||||||
|
|
||||||
- `README.md`: mise à jour des versions (React 19 / MUI 7 / Router 7), retrait de la section
|
#### Nouveaux Fichiers
|
||||||
« Mode démonstration », clarification de l’intégration backend.
|
- `docs/HASH_SYSTEM.md` : Documentation complète du système de hash
|
||||||
|
- `CHANGELOG.md` : Historique des versions
|
||||||
|
|
||||||
### ✅ Qualité
|
#### Mises à Jour
|
||||||
|
- `docs/API_BACKEND.md` : Ajout de la documentation des nouvelles routes
|
||||||
|
- Caractéristiques principales mises à jour
|
||||||
|
|
||||||
- Lint, tests et markdownlint OK après modifications.
|
### 🚀 Performance
|
||||||
|
|
||||||
## 0.1.1 - Maintenance lint/build et corrections
|
#### 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
|
||||||
|
|
||||||
### ✅ Qualité et lint
|
#### 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
|
||||||
|
|
||||||
- Ajout de `.markdownlintignore` pour exclure les guides/rapports générés du lint
|
### 🔍 Workflow d'Upload Optimisé
|
||||||
- Correction du fichier `test-files/sample.md` pour respecter MD022/MD032/MD009
|
|
||||||
- ESLint: exclusion du dossier `coverage` et correction des erreurs `no-unused-vars`/`no-explicit-any`
|
|
||||||
|
|
||||||
### 🛠️ Corrections TypeScript/Build
|
```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]
|
||||||
|
```
|
||||||
|
|
||||||
- `src/components/FilePreview.tsx`: correction de l’utilisation de `document.createElement`
|
### 🧪 Tests Validés
|
||||||
- `src/services/api.ts`: typage des blocs `catch`, renommage des variables inutilisées, ajustements mineurs
|
|
||||||
- `src/views/*`: typage strict des couleurs MUI pour `Chip`/icônes, imports nettoyés
|
|
||||||
- Build Vite/TS: passe en production sans erreurs
|
|
||||||
|
|
||||||
### 🔬 Tests
|
- ✅ 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
|
||||||
|
|
||||||
- Vitest: exécution réussie de la suite, couverture générée
|
### 📊 Statistiques
|
||||||
|
|
||||||
## 0.1.0 - Version initiale complète
|
- **Fichiers modifiés** : 4
|
||||||
|
- **Nouvelles lignes** : 443
|
||||||
|
- **Nouveaux fichiers** : 2
|
||||||
|
- **Routes API ajoutées** : 4
|
||||||
|
- **Fonctions ajoutées** : 5
|
||||||
|
|
||||||
### ✨ Fonctionnalités principales
|
---
|
||||||
|
|
||||||
- **Interface notariale complète** : Application front-end pour l'analyse de documents notariaux
|
## [1.0.0] - 2025-09-15
|
||||||
- **Upload de documents** : Glisser-déposer avec prévisualisation (PDF, images)
|
|
||||||
- **Extraction de données** : OCR et identification d'objets standardisés
|
|
||||||
- **Analyse intelligente** : Score de vraisemblance et recommandations
|
|
||||||
- **Données contextuelles** : Intégration APIs externes (Cadastre, Géorisques, BODACC, Infogreffe)
|
|
||||||
- **Conseil IA** : Analyse LLM avec détection de risques
|
|
||||||
|
|
||||||
### 🏗️ Architecture technique
|
### 🎉 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é
|
||||||
|
|
||||||
- **React 18 + TypeScript** : Framework moderne avec typage strict
|
---
|
||||||
- **Vite 7** : Build tool rapide et moderne
|
|
||||||
- **Material-UI v6** : Interface utilisateur professionnelle
|
|
||||||
- **Redux Toolkit** : Gestion d'état centralisée
|
|
||||||
- **React Router v6** : Navigation avec code splitting
|
|
||||||
- **Axios** : Client HTTP avec intercepteurs
|
|
||||||
|
|
||||||
### 🛠️ Outillage et qualité
|
*Changelog maintenu automatiquement - Dernière mise à jour : 15 septembre 2025*
|
||||||
|
|
||||||
- **ESLint + Prettier** : Linting et formatage automatique
|
|
||||||
- **markdownlint** : Validation des fichiers Markdown
|
|
||||||
- **Vitest + Testing Library** : Tests unitaires et d'intégration
|
|
||||||
- **Coverage V8** : Rapport de couverture de code
|
|
||||||
|
|
||||||
### 📚 Documentation et gouvernance
|
|
||||||
|
|
||||||
- **README complet** : Documentation technique détaillée
|
|
||||||
- **Fichiers open-source** : LICENSE (MIT), CONTRIBUTING.md, CODE_OF_CONDUCT.md
|
|
||||||
- **Structure docs/** : Documentation technique organisée
|
|
||||||
- **Tests/** : Squelette de tests avec exemples
|
|
||||||
|
|
||||||
### 🔧 Gestion d'erreur et robustesse
|
|
||||||
|
|
||||||
- **Mode démonstration** : Fonctionnement complet sans backend
|
|
||||||
- **Gestion d'erreur gracieuse** : Fallback automatique pour tous les types d'erreurs
|
|
||||||
- **Intercepteurs Axios** : Gestion centralisée des erreurs API
|
|
||||||
- **Données de démonstration** : Exemples réalistes d'actes notariaux
|
|
||||||
|
|
||||||
### 🎨 Interface utilisateur
|
|
||||||
|
|
||||||
- **Design professionnel** : Interface claire avec fond blanc
|
|
||||||
- **Navigation intuitive** : Onglets et breadcrumbs
|
|
||||||
- **Responsive** : Adaptation mobile et desktop
|
|
||||||
- **Accessibilité** : Composants Material-UI accessibles
|
|
||||||
|
|
||||||
### 🚀 Déploiement et CI
|
|
||||||
|
|
||||||
- **Scripts npm** : Build, test, lint, format
|
|
||||||
- **Variables d'environnement** : Configuration flexible des APIs
|
|
||||||
- **Git workflow** : Branches dev, staging, release
|
|
||||||
- **Versioning** : Tag v0.1.0 et CHANGELOG
|
|
||||||
|
|
||||||
### 🐛 Corrections et améliorations
|
|
||||||
|
|
||||||
- **Erreur d'hydratation HTML** : Structure HTML valide
|
|
||||||
- **Gestion d'erreur 404/405** : Fallback pour endpoints non supportés
|
|
||||||
- **ERR_CONNECTION_REFUSED** : Mode démo automatique
|
|
||||||
- **Console propre** : Suppression des erreurs visibles
|
|
||||||
|
|
||||||
### 📦 Dépendances principales
|
|
||||||
|
|
||||||
- `react@^18.3.1` - Framework UI
|
|
||||||
- `typescript@^5.6.3` - Typage statique
|
|
||||||
- `vite@^7.1.5` - Build tool
|
|
||||||
- `@mui/material@^6.1.6` - Composants UI
|
|
||||||
- `@reduxjs/toolkit@^2.3.0` - Gestion d'état
|
|
||||||
- `react-router-dom@^6.28.0` - Routing
|
|
||||||
- `axios@^1.7.7` - Client HTTP
|
|
||||||
- `vitest@^2.1.8` - Framework de test
|
|
||||||
Loading…
x
Reference in New Issue
Block a user