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,