1.8 KiB
Notes de maintenance
Stockage et sauvegardes
Les fichiers PDF et les exports de sauvegarde sont des données d’exécution. Ils sont volontairement exclus de Git par storage/ et backups/ afin qu’aucune facture ni sauvegarde ne soit envoyée au dépôt source. En recette et en production, ces dossiers doivent être montés sur des volumes Docker persistants.
Le module server/databaseBackup.ts produit un dump SQL autonome sans dépendre de mysqldump. Il exporte la structure de chaque table puis ses données par lots de 500 lignes. Il conserve au plus dix fichiers .sql locaux ; une sauvegarde est également téléchargée immédiatement depuis l’interface.
Authentification et accès
Les routes de téléchargement BAP, de sauvegarde DB et de récupération de sauvegardes vérifient désormais la session JWT auth_token. Les sauvegardes DB sont strictement réservées aux administrateurs. Les cookies utilisent Secure; SameSite=None derrière HTTPS et basculent vers SameSite=Lax en HTTP local pour rester compatibles avec les navigateurs.
Imports web
L’endpoint d’import web accepte uniquement des PDF de 20 Mo maximum, valide l’en-tête %PDF, normalise le nom du fichier et sauvegarde le document dans le stockage persistant avant analyse IA. Les erreurs détaillées restent dans les logs du serveur ; l’API retourne un message générique pour ne pas exposer de secret ou de détail d’infrastructure.
Contrôles avant livraison
Avant chaque livraison, exécuter les commandes suivantes depuis la racine du projet :
pnpm test
pnpm run check
pnpm run build
Les scripts ponctuels d’exploitation ou contenant des identifiants ne doivent jamais rester dans le répertoire du projet ni être ajoutés au dépôt.