52 lines
2.7 KiB
Markdown
52 lines
2.7 KiB
Markdown
# Structure des fichiers
|
||
|
||
Ce document distingue le code distribué des données propres à une installation.
|
||
|
||
## Fichiers distribués
|
||
|
||
- `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.
|
||
|
||
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.
|
||
|
||
## Données d’installation
|
||
|
||
Les emplacements suivants peuvent contenir des informations personnelles ou médicales et ne doivent pas être publiés :
|
||
|
||
| 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 |
|
||
|
||
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é.
|
||
|
||
## Fichiers temporaires
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
## Vérification avant publication
|
||
|
||
Avant de créer une version :
|
||
|
||
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.
|
||
|
||
Le fichier `.gitignore` protège les emplacements habituels, mais ne remplace pas ce contrôle.
|