Globinours/docs/15-audit-structure-fichiers.md

2.7 KiB
Raw Permalink Blame History

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 site public
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.