karbe/src/lib
Claude Integration 62cc464738 feat(plugins): foundation système Plugin Karbé
- Modèle Prisma Plugin (key, name, description, category, version, enabled,
  config JSONB, migrationsApplied, timestamps) + migration SQL
- PluginRegistry (src/lib/plugins/registry.ts) avec 12 plugins déclarés :
  visuels (theme-guyane, landing-hero, landing-sections, image-gallery-seed,
  demo-carbets-seed), métier (access-type, seasonality, pirogue-providers,
  min-stay), contenus (content-pages, legal-pages), i18n (i18n-fr-en)
- Server helpers (server.ts) : sync, isEnabled, getEnabledKeys, toggle avec
  hooks onEnable/onDisable, updateConfig, cache 5s
- Client bridge (client.tsx) : PluginProvider + useIsPluginEnabled
- Composant <IfPluginEnabled plugin=... fallback=...>
- Guard requirePluginOr404 pour pages et routes
- Page admin /admin/plugins avec table toggle par catégorie + édition config
- Route PATCH /api/admin/plugins/[key] + GET
- Layout async qui sync registry + passe enabledKeys au PluginProvider

Tous plugins en enabled=false par défaut, activation pilotée depuis l'admin.
2026-05-30 22:17:10 +00:00
..
plugins feat(plugins): foundation système Plugin Karbé 2026-05-30 22:17:10 +00:00
amenities.ts feat(espace-hote): CRUD carbet propriétaire + upload médias S3/MinIO 2026-05-29 04:58:12 +00:00
authorization.ts feat(auth): add multi-role NextAuth with role guards 2026-05-29 10:46:54 +00:00
booking.ts feat(booking): API réservation + availability + lib métier 2026-05-30 14:42:29 +00:00
carbet-access.ts feat(espace-hote): CRUD carbet propriétaire + upload médias S3/MinIO 2026-05-29 04:58:12 +00:00
carbet-last-booked.ts feat(carbet): add lastBookedAt and endpoint 2026-05-30 17:52:41 +00:00
carbet-public.ts feat(reviews): avis & notes carbet (SYS-8) 2026-05-30 15:08:55 +00:00
carbet-search.ts feat(reviews): avis & notes carbet (SYS-8) 2026-05-30 15:08:55 +00:00
format.ts feat(carbets): public search + carbet detail page (SSR/SEO) 2026-05-29 22:24:25 +00:00
media.ts feat(espace-hote): CRUD carbet propriétaire + upload médias S3/MinIO 2026-05-29 04:58:12 +00:00
password.ts feat(auth): add multi-role NextAuth with role guards 2026-05-29 10:46:54 +00:00
prisma.ts feat(auth): add multi-role NextAuth with role guards 2026-05-29 10:46:54 +00:00
reviews-server.ts feat(reviews): avis & notes carbet (SYS-8) 2026-05-30 15:08:55 +00:00
reviews.ts feat(reviews): avis & notes carbet (SYS-8) 2026-05-30 15:08:55 +00:00
slug.ts feat(espace-hote): CRUD carbet propriétaire + upload médias S3/MinIO 2026-05-29 04:58:12 +00:00
storage.ts feat(espace-hote): CRUD carbet propriétaire + upload médias S3/MinIO 2026-05-29 04:58:12 +00:00
stripe.ts feat(payment): intégration Stripe (subscription loueur + booking checkout + webhook) 2026-05-30 15:00:21 +00:00