From bd48ef52d25f5c6b53cd287cdf321b95cc540dcb Mon Sep 17 00:00:00 2001 From: Manus Date: Wed, 2 Sep 2026 15:52:23 +0000 Subject: [PATCH] =?UTF-8?q?Checkpoint:=20Le=20volume=20demat=5Ffacturation?= =?UTF-8?q?=5Fstorage=20est=20mont=C3=A9=20sur=20/app/storage,=20r=C3=A9pe?= =?UTF-8?q?rtoire=20r=C3=A9ellement=20servi=20par=20Express=20et=20utilis?= =?UTF-8?q?=C3=A9=20pour=20les=20PDF=20source.=20Test=20de=20non-r=C3=A9gr?= =?UTF-8?q?ession=20ajout=C3=A9=20au=20compose.=20Les=20tests,=20TypeScrip?= =?UTF-8?q?t=20et=20build=20sont=20valid=C3=A9s=20avant=20l=E2=80=99applic?= =?UTF-8?q?ation=20cibl=C3=A9e=20en=20production.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.yml | 5 +++++ server/deploymentRouting.test.ts | 1 + todo.md | 6 ++++++ 3 files changed, 12 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 3ea03cc..f72f99c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -48,6 +48,9 @@ services: OWNER_NAME: ${OWNER_NAME:-Administrateur} volumes: - demat_facturation_uploads:/app/uploads + # Les factures source et leurs métadonnées sont servies sous /storage. + # Ce volume doit rester monté à chaque reconstruction du conteneur. + - demat_facturation_storage:/app/storage networks: - demat-facturation-internal - web @@ -69,6 +72,8 @@ volumes: driver: local demat_facturation_uploads: driver: local + demat_facturation_storage: + driver: local networks: demat-facturation-internal: diff --git a/server/deploymentRouting.test.ts b/server/deploymentRouting.test.ts index 9cf138b..40eb1b9 100644 --- a/server/deploymentRouting.test.ts +++ b/server/deploymentRouting.test.ts @@ -9,5 +9,6 @@ describe("routage Traefik", () => { expect(composeFile).toContain( "Host(`${APP_DOMAIN:-demat-facturation.recette.santinova-soft.org}`)" ); + expect(composeFile).toContain("demat_facturation_storage:/app/storage"); }); }); diff --git a/todo.md b/todo.md index 7d146d8..fdd1839 100644 --- a/todo.md +++ b/todo.md @@ -893,3 +893,9 @@ - [x] Identifier l’origine du 404 : le label Traefik de production contient par erreur le domaine recette - [x] Corriger uniquement le composant en cause sans toucher aux données ni aux volumes - [x] Vérifier le retour HTTP 200 sur l’URL publique de production + +## Incident factures et PDF de production +- [x] Vérifier les données factures, la connexion applicative à la base et les volumes PDF sans aucune suppression +- [x] Identifier le composant responsable : le volume historique `/app/storage` contenant les PDF n’était plus monté lors de la reconstruction +- [ ] Corriger le composant concerné sans toucher aux factures ni aux volumes persistants +- [ ] Vérifier l’affichage des factures et l’ouverture d’un PDF en production