diff --git a/nuxt.config.ts b/nuxt.config.ts index 6ea9ddc..f84f305 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -28,12 +28,6 @@ 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 1b3cfdb..b76fbb1 100644 --- a/server/api/chatbot-taff.post.ts +++ b/server/api/chatbot-taff.post.ts @@ -4,6 +4,8 @@ * Lit plateformes-taff.json, appelle Mistral Small, retourne recommandations. */ +// @ts-ignore — JSON import résolu par Vite/Rollup +import taffData from '../../public/data/plateformes-taff.json' import { checkRateLimitJson } from '~/server/utils/rateLimitJson' interface PlateformeMinimal { @@ -65,23 +67,16 @@ export default defineEventHandler(async (event) => { throw createError({ statusCode: 400, statusMessage: 'Question trop courte.' }) } - // Lire le JSON via Nitro serverAssets (bundelé avec le serveur, dev + prod) - let plateformes: PlateformeMinimal[] = [] - try { - 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, - description_courte: p.description_courte, - scoring: p.scoring, - secteurs_servis: p.secteurs_servis, - cout_entree: p.cout_entree, - })) - } catch (e) { - throw createError({ statusCode: 500, statusMessage: 'Données plateformes introuvables.' }) - } + // Données bundlées statiquement à la compilation (import JSON) + const plateformes: PlateformeMinimal[] = ((taffData as any).plateformes ?? []).map((p: any) => ({ + id: p.id, + nom: p.nom, + type: p.type, + description_courte: p.description_courte, + scoring: p.scoring, + secteurs_servis: p.secteurs_servis, + cout_entree: p.cout_entree, + })) const context = plateformes.map(p => ({ id: p.id, diff --git a/server/api/plateformes-taff.get.ts b/server/api/plateformes-taff.get.ts new file mode 100644 index 0000000..1dd5ee0 --- /dev/null +++ b/server/api/plateformes-taff.get.ts @@ -0,0 +1,9 @@ +/** + * GET /api/plateformes-taff + * Retourne les données TAFF — JSON importé statiquement (bundlé par Rollup). + * Utilisé par le chatbot-taff en interne et potentiellement par le front. + */ +// @ts-ignore — JSON import résolu par Vite/Rollup +import data from '../../public/data/plateformes-taff.json' + +export default defineEventHandler(() => data)