4.7 KiB
4.7 KiB
Chargement Dynamique des Fichiers de Test
Vue d'ensemble
Le système de chargement dynamique des fichiers de test permet à l'application de charger automatiquement tous les fichiers présents dans le dossier test-files/ au lieu d'utiliser une liste de fichiers codée en dur.
Fonctionnalités
🔄 Chargement Automatique
- Détection automatique : L'application parcourt le dossier
test-files/au démarrage - Filtrage intelligent : Seuls les fichiers supportés sont chargés
- Logs détaillés : Chaque étape du chargement est loggée dans la console
📁 Types de Fichiers Supportés
- PDF :
.pdf - Images :
.jpg,.jpeg,.png,.tiff - Texte :
.txt,.md - Documents :
.docx
🎯 Avantages
- Flexibilité : Ajoutez simplement des fichiers dans
test-files/pour les tester - Maintenance : Plus besoin de modifier le code pour ajouter de nouveaux fichiers de test
- Développement : Facilite les tests avec différents types de documents
Architecture
Fichiers Modifiés
src/services/testFilesApi.ts (Nouveau)
// API pour gérer les fichiers de test
export interface TestFileInfo {
name: string
size: number
type: string
lastModified: number
}
export async function getTestFilesList(): Promise<TestFileInfo[]>
export async function loadTestFile(fileName: string): Promise<File | null>
export function filterSupportedFiles(files: TestFileInfo[]): TestFileInfo[]
src/views/UploadView.tsx (Modifié)
- Remplacement de la liste codée en dur par un chargement dynamique
- Ajout de logs détaillés pour le debugging
- Gestion d'erreurs améliorée
Flux de Chargement
graph TD
A[Démarrage de l'application] --> B[Vérification mode DEV]
B --> C[Appel getTestFilesList()]
C --> D[Vérification de chaque fichier]
D --> E[Filtrage des fichiers supportés]
E --> F[Chargement des fichiers valides]
F --> G[Création des objets Document]
G --> H[Ajout au store Redux]
H --> I[Déclenchement de l'extraction]
Utilisation
Ajouter de Nouveaux Fichiers de Test
- Placez vos fichiers dans le dossier
test-files/ - Redémarrez l'application (ou rechargez la page)
- Vérifiez les logs dans la console du navigateur
Exemple de Logs
🔄 [BOOTSTRAP] Chargement des fichiers de test...
📁 [BOOTSTRAP] Fichiers trouvés: ["IMG_20250902_162159.jpg", "sample.pdf", ...]
✅ [BOOTSTRAP] Fichiers supportés: ["IMG_20250902_162159.jpg", "sample.pdf", ...]
📄 [BOOTSTRAP] Chargement de IMG_20250902_162159.jpg...
✅ [BOOTSTRAP] IMG_20250902_162159.jpg chargé (1052.7 KB)
🎉 [BOOTSTRAP] 5 fichiers chargés avec succès
🔍 [BOOTSTRAP] Déclenchement de l'extraction pour IMG_20250902_162159.jpg
Configuration
Variables d'Environnement
VITE_DISABLE_LLM=true: Désactive l'utilisation des LLMVITE_USE_RULE_NER=true: Active l'extraction par règlesVITE_LLM_CLASSIFY_ONLY=false: Désactive la classification LLM
Mode Développement
Le chargement dynamique ne s'active qu'en mode développement (import.meta.env.DEV).
Tests
Script de Test
Un script de test est disponible : test-dynamic-files.cjs
node test-dynamic-files.cjs
Vérifications Automatiques
- ✅ Existence du dossier
test-files/ - ✅ Liste des fichiers disponibles
- ✅ Filtrage des fichiers supportés
- ✅ Accessibilité via le serveur de développement
- ✅ Chargement des fichiers individuels
Dépannage
Problèmes Courants
Aucun fichier chargé
- Vérifiez que le dossier
test-files/existe - Vérifiez que les fichiers ont des extensions supportées
- Consultez les logs de la console
Fichiers non accessibles
- Vérifiez que le serveur de développement est démarré
- Vérifiez les permissions des fichiers
- Testez l'accès direct via l'URL :
http://localhost:5174/test-files/nom-du-fichier
Erreurs de chargement
- Vérifiez la taille des fichiers (limite de mémoire du navigateur)
- Vérifiez le format des fichiers
- Consultez les logs d'erreur dans la console
Évolutions Futures
Améliorations Possibles
- API serveur : Créer une vraie API pour lister les fichiers
- Cache : Mettre en cache la liste des fichiers
- Filtres : Permettre de filtrer par type de document
- Métadonnées : Ajouter des métadonnées aux fichiers de test
- Interface : Créer une interface pour gérer les fichiers de test
Intégration CI/CD
- Tests automatisés : Intégrer les tests dans la pipeline CI
- Validation : Valider automatiquement les nouveaux fichiers de test
- Documentation : Générer automatiquement la documentation des fichiers de test