- Optimisation des listes de passages (user/admin) - Amélioration du flux de création avec validation temps réel - Amélioration du flux de consultation avec export multi-formats - Amélioration du flux de modification avec suivi des changements - Ajout de la génération PDF pour les reçus - Migration de la structure des uploads - Implémentation de la file d'attente d'emails - Ajout des permissions de suppression de passages - Corrections de bugs et optimisations performances 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
3.1 KiB
3.1 KiB
Réorganisation de l'arborescence des uploads
📅 Date : 20/08/2025
🎯 Objectif
Uniformiser et simplifier l'arborescence des fichiers uploads pour une meilleure organisation et maintenance.
📂 Arborescence actuelle (PROBLÈME)
uploads/
├── entites/
│ └── 5/
│ ├── logo/
│ ├── operations/
│ │ └── 1525/
│ │ └── documents/
│ │ └── exports/
│ │ └── excel/
│ │ └── geosector-export-*.xlsx
│ └── recus/
│ └── 3124/
│ └── recu_*.pdf
└── 5/
└── operations/
├── 1525/
└── 2021/
Problèmes identifiés :
- Duplication des structures (dossier
5à la racine ET dansentites/) - Chemins trop profonds pour les exports Excel (6 niveaux)
- Incohérence dans les chemins
✅ Nouvelle arborescence (SOLUTION)
uploads/
└── {entite_id}/ # Un seul dossier par entité à la racine
├── logo/ # Logo de l'entité
│ └── logo_*.{jpg,png}
├── operations/ # Exports par opération
│ └── {operation_id}/
│ └── *.xlsx # Exports Excel directement ici
└── recus/ # Reçus par opération
└── {operation_id}/
└── recu_*.pdf
📝 Fichiers à modifier
1. EntiteController.php (Upload logo)
Actuel : /entites/{$entiteId}/logo
Nouveau : /{$entiteId}/logo
2. ReceiptService.php (Stockage reçus PDF)
Actuel : /entites/{$entiteId}/recus/{$operationId}
Nouveau : /{$entiteId}/recus/{$operationId}
3. ExportService.php (Export Excel)
Actuel : /{$entiteId}/operations/{$operationId}/exports/excel
Nouveau : /{$entiteId}/operations/{$operationId}
4. ExportService.php (Export JSON)
Actuel : /{$entiteId}/operations/{$operationId}/exports/json
Nouveau : /{$entiteId}/operations/{$operationId} (ou supprimer si non utilisé)
🔄 Plan de migration
Étape 1 : Modifier le code
- Mettre à jour tous les chemins dans les contrôleurs et services
- Tester en environnement DEV
Étape 2 : Script de migration des fichiers existants
Créer un script PHP pour :
- Lister tous les fichiers existants
- Les déplacer vers la nouvelle structure
- Supprimer les anciens dossiers vides
Étape 3 : Déploiement
- Exécuter le script de migration sur REC
- Vérifier le bon fonctionnement
- Exécuter sur PROD
🚀 Avantages de la nouvelle structure
- Plus simple : Chemins plus courts et plus logiques
- Plus cohérent : Une seule structure pour toutes les entités
- Plus maintenable : Facile de naviguer et comprendre
- Performance : Moins de niveaux de dossiers à parcourir
⚠️ Points d'attention
- Vérifier les permissions (nginx:nobody 775/664)
- S'assurer que les anciens fichiers sont bien migrés
- Mettre à jour la documentation
- Informer l'équipe du changement