Refine public documentation and code comments
This commit is contained in:
parent
d7fb2b4413
commit
0a482afe9d
16 changed files with 195 additions and 628 deletions
|
|
@ -1,60 +1,52 @@
|
|||
# Audit des fichiers du projet
|
||||
# Structure des fichiers
|
||||
|
||||
Audit réalisé le 31 août 2026. Les éléments non applicatifs ont ensuite été déplacés, sans suppression, vers le dossier voisin `ARCHIVES/Globinours-recuperation-2026/`.
|
||||
Ce document distingue le code distribué des données propres à une installation.
|
||||
|
||||
## Résumé
|
||||
## Fichiers distribués
|
||||
|
||||
Le cœur déployable de Globinours est désormais séparé de ses données temporaires. Les **612 Mo** de travail historique ont quitté `Twix Codex`, qui ne représente plus qu’environ **130 Mo** avec ses données et sauvegardes locales.
|
||||
- `app/` contient les contrôleurs, services, routes et vues ;
|
||||
- `public/` est la seule racine à exposer au serveur web ;
|
||||
- `resources/` contient les traductions, l’identité visuelle et les ressources livrées ;
|
||||
- `migrations/` contient l’évolution versionnée du schéma SQLite ;
|
||||
- `scripts/` regroupe les migrations, sauvegardes, contrôles et imports ;
|
||||
- `deploy/` fournit des exemples de configuration ;
|
||||
- `tests/` utilise exclusivement une base temporaire ;
|
||||
- `docs/` contient le manuel et la documentation technique.
|
||||
|
||||
## Éléments indispensables
|
||||
Tous les fichiers `migrations/*.sql` sont nécessaires. Une installation vierge les utilise pour construire sa base ; une installation existante applique seulement ceux qui ne figurent pas encore dans sa table `_migrations`. Une migration publiée ne doit être ni modifiée, ni renommée, ni supprimée.
|
||||
|
||||
- `app/`, `public/`, `resources/` : code, interface et ressources livrées ;
|
||||
- `migrations/` : **indispensable**. Les 81 fichiers SQL correspondent aux 81 migrations enregistrées dans `_migrations`. Ils reconstruisent une installation neuve et mettent à niveau les anciennes bases ;
|
||||
- `data/refuge.sqlite` et les médias présents dans `data/` ou `public/media/` : données de l’instance ;
|
||||
- `storage/` : sauvegardes, journaux, rapports et dumps ASM3 encore associés aux travaux d’import ;
|
||||
- `scripts/`, `deploy/`, `tests/` et `docs/` : maintenance, déploiement, contrôles et documentation.
|
||||
## Données d’installation
|
||||
|
||||
## Doublons confirmés
|
||||
Les emplacements suivants peuvent contenir des informations personnelles ou médicales et ne doivent pas être publiés :
|
||||
|
||||
Les comparaisons récursives ne montrent aucune différence entre :
|
||||
| Emplacement | Contenu |
|
||||
|---|---|
|
||||
| `data/refuge.sqlite` | Base SQLite de l’installation |
|
||||
| `data/association/` | Identité et logo de l’association |
|
||||
| `data/private-media/` | Photos privées |
|
||||
| `data/medical-documents/` | Ordonnances et résultats médicaux |
|
||||
| `public/media/` | Images destinées à l’interface ou au mini-site |
|
||||
| `storage/backups/` | Sauvegardes complètes |
|
||||
| `storage/logs/` | Journaux applicatifs |
|
||||
| `storage/asm3-imports/` | Sources et rapports d’import ASM3 |
|
||||
|
||||
- `tmp/Website/` et le projet voisin `Website/` ;
|
||||
- `tmp/repositories/Android/` et le projet voisin `Android/` ;
|
||||
- `tmp/repositories/yunohost/` et le projet voisin `yunohost/`.
|
||||
Le paquet YunoHost place ces éléments dans le répertoire persistant de l’instance et crée les liens nécessaires depuis le code déployé.
|
||||
|
||||
Les trois copies placées dans `tmp/` étaient donc redondantes. Elles sont conservées dans l’archive de récupération, sans toucher aux projets voisins.
|
||||
## Fichiers temporaires
|
||||
|
||||
## Données temporaires historiques
|
||||
Le dossier `tmp/` est réservé au travail local et reste ignoré par Git. Il ne doit contenir aucune dépendance nécessaire au fonctionnement, ni être copié dans un paquet de production.
|
||||
|
||||
| Élément | Taille approximative | Conclusion |
|
||||
|---|---:|---|
|
||||
| `tmp/recup_chat/` | 580 Mo | Sources PDF/CSV de la récupération historique. Non nécessaires au fonctionnement quotidien, mais à conserver ailleurs tant que la récupération n’est pas officiellement clôturée. |
|
||||
| `tmp/recup_photo/` | 24 Mo | Anciennes photos ASM3 déjà importées. Non nécessaires à l’exécution ; archivage externe conseillé avant suppression. |
|
||||
| `tmp/dump_asm3.sql` | 5 Mo | Copie de travail d’un dump déjà importé. Les scripts historiques le prennent encore comme chemin par défaut ; mieux vaut rendre leur argument obligatoire avant suppression définitive. |
|
||||
| rapports et simulations `tmp/*.json` / `tmp/*.md` | moins de 300 Ko | Traces de migration utiles uniquement pour l’audit historique. |
|
||||
| `tmp/test/` | 156 Ko | Documents de test, non nécessaires en production. |
|
||||
Les sources d’import, rapports ponctuels, exports de diagnostic et anciennes copies du projet doivent être conservés hors du dépôt. Ils peuvent contenir des données sensibles même lorsqu’ils ne sont plus utilisés par l’application.
|
||||
|
||||
`tmp/` est maintenant vide, hormis son éventuel fichier `.gitkeep`, et reste entièrement ignoré par Git. Il ne doit jamais être copié dans un paquet de production. Les scripts historiques exigent désormais un chemin source explicite et ne dépendent plus de sa présence.
|
||||
## Vérification avant publication
|
||||
|
||||
## Stockage applicatif
|
||||
Avant de créer une version :
|
||||
|
||||
- `storage/backups/` : environ 88 Mo. Ce ne sont pas des doublons de code mais de vraies sauvegardes ; définir une politique de rotation avant nettoyage.
|
||||
- `storage/asm3-imports/` : environ 25 Mo pour cinq imports. Trois travaux sont encore marqués `failed` ou `analyzed`, deux seulement étant finalisés ou analysés. Ces fichiers doivent être nettoyés depuis une fonction applicative qui synchronise également `asm3_import_jobs`, pas manuellement.
|
||||
- `storage/logs/` et `storage/reports/` : petits et utiles au diagnostic.
|
||||
1. vérifier l’état de Git et les fichiers non suivis ;
|
||||
2. confirmer l’absence de `.env`, de base SQLite et de sauvegarde ;
|
||||
3. contrôler les médias et documents éventuellement versionnés ;
|
||||
4. exécuter `php tests/run.php` ;
|
||||
5. conserver tous les fichiers de migration ;
|
||||
6. construire le paquet depuis un arbre Git propre.
|
||||
|
||||
## Dossiers vides
|
||||
|
||||
Les anciens dossiers vides `conf/` et `doc/`, distincts des vrais dossiers `deploy/` et `docs/`, ont été retirés lors du nettoyage pré-1.0 du 2 septembre 2026.
|
||||
|
||||
## Nettoyage réalisé et suite recommandée
|
||||
|
||||
1. ✅ copies de travail et sources historiques déplacées vers `ARCHIVES/Globinours-recuperation-2026/` ;
|
||||
2. ✅ chemins des anciens scripts rendus obligatoires au lieu de dépendre de `tmp/` ;
|
||||
3. protéger l’archive externe, car elle contient des documents et données personnelles historiques ;
|
||||
4. ajouter une politique de rotation des sauvegardes et une suppression contrôlée des imports ASM3 ;
|
||||
5. ✅ dossiers réellement vides `conf/` et `doc/` retirés ;
|
||||
6. conserver sans exception tous les fichiers `migrations/*.sql`.
|
||||
|
||||
## Nettoyage pré-1.0 du 2 septembre 2026
|
||||
|
||||
Le script historique `architecture.sh` et les trois tableurs ponctuels revenus dans `tmp/` ont été déplacés sans suppression vers `ARCHIVES/Globinours-nettoyage-pre-1.0-20260902/`. Le dossier `tmp/` ne contient plus que son fichier `.gitkeep`.
|
||||
Le fichier `.gitignore` protège les emplacements habituels, mais ne remplace pas ce contrôle.
|
||||
|
|
|
|||
Loading…
Reference in a new issue