From 4d7e8bede993d0c5e0f396433085cce90fe52f0b Mon Sep 17 00:00:00 2001 From: Jules Neny Date: Thu, 7 May 2026 01:13:21 +0200 Subject: [PATCH] =?UTF-8?q?fix(chatbot-taff):=20useStorage('assets:taff')?= =?UTF-8?q?=20=E2=80=94=20lecture=20JSON=20native=20Nitro?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - nuxt.config.ts: nitro.serverAssets pointe sur public/data/ - chatbot-taff: useStorage remplace readFileSync et $fetch (fonctionne dev + prod sans dépendance filesystem ni réseau) Co-Authored-By: Claude Sonnet 4.6 --- nuxt.config.ts | 6 ++++++ server/api/chatbot-taff.post.ts | 10 ++++------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/nuxt.config.ts b/nuxt.config.ts index f84f305..6ea9ddc 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -28,6 +28,12 @@ export default defineNuxtConfig({ // Leaflet ne fonctionne pas en SSR — forcer le rendu côté client ssr: true, + nitro: { + serverAssets: [ + { baseName: 'taff', dir: './public/data' }, + ], + }, + vite: { cacheDir: 'C:/Users/jules/AppData/Local/nav-carte-vite-cache', optimizeDeps: { diff --git a/server/api/chatbot-taff.post.ts b/server/api/chatbot-taff.post.ts index 33efa48..1b3cfdb 100644 --- a/server/api/chatbot-taff.post.ts +++ b/server/api/chatbot-taff.post.ts @@ -65,14 +65,12 @@ export default defineEventHandler(async (event) => { throw createError({ statusCode: 400, statusMessage: 'Question trop courte.' }) } - // Lire le JSON statique des plateformes (servi en public par Nitro) + // Lire le JSON via Nitro serverAssets (bundelé avec le serveur, dev + prod) let plateformes: PlateformeMinimal[] = [] try { - const origin = getRequestURL(event).origin - const json = await $fetch<{ plateformes: PlateformeMinimal[] }>('/data/plateformes-taff.json', { - baseURL: origin, - }) - plateformes = (json.plateformes ?? []).map((p: any) => ({ + const raw = await useStorage('assets:taff').getItem('plateformes-taff.json') as { plateformes: PlateformeMinimal[] } | null + if (!raw) throw new Error('null') + plateformes = (raw.plateformes ?? []).map((p: any) => ({ id: p.id, nom: p.nom, type: p.type,