fix(chatbot-taff): useStorage('assets:taff') — lecture JSON native Nitro

- 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 <noreply@anthropic.com>
This commit is contained in:
Jules Neny
2026-05-07 01:13:21 +02:00
parent 70b9b1aa3c
commit 4d7e8bede9
2 changed files with 10 additions and 6 deletions

View File

@@ -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: {

View File

@@ -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,