# 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 dans `entites/`) - 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 1. Mettre à jour tous les chemins dans les contrôleurs et services 2. Tester en environnement DEV ### Étape 2 : Script de migration des fichiers existants Créer un script PHP pour : 1. Lister tous les fichiers existants 2. Les déplacer vers la nouvelle structure 3. Supprimer les anciens dossiers vides ### Étape 3 : Déploiement 1. Exécuter le script de migration sur REC 2. Vérifier le bon fonctionnement 3. 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