Files
nav-carte/V2-cadrage/J-prompt-session-2-fiche.md
2026-04-28 14:00:05 +02:00

3.1 KiB

J — Prompt Sonnet 2 : Page fiche détaillée + commentaires

Lancer APRÈS validation checkpoint étape 2 (Sonnet 1). Peut tourner en parallèle avec Sonnet 3 (étape 6 contribuer) — pas de conflit attendu sur les fichiers.

Mission

Construire la page fiche détaillée /fiche/[id] + section commentaires modérés.

Contexte (lis AVANT)

Racine projet : nav-carte/

Specs (toutes dans nav-carte/V2-cadrage/) :

  1. Spec session : H-prompt-session-2-front.md (section "Étape 3")
  2. Wireframes : E-spec-frontend.md (page fiche)
  3. Pipe collaboration / modération : F-spec-pipe-collaboration.md §3 (filtre éthique Mistral Nemo)
  4. Palette : palette-nav-v2.md
  5. Schéma DB : F-spec-pipe-collaboration.md §2

Code base :

  • nav-carte/pages/fiche/ (squelette V1 à enrichir)
  • nav-carte/components/OrgCard.vue (réutilisable pour card en haut)
  • nav-carte/server/routes/ (proxy NocoDB existant)
  • Note Sonnet 1 (à lire dans JOURNAL-V2.md) : conventions composants + résolutions de conflits

Livrables

  • Route SSR : /fiche/[id]
  • Composants :
    • FicheDetail.vue — affichage complet : nom, description_enrichie si dispo sinon description_user, tags fonctions, échelle, territoire, URL, localisation (mini-carte Leaflet)
    • CommentSection.vue — liste commentaires moderation_status: approved, tri chronologique
    • CommentForm.vue — formulaire (nom + email + commentaire 50-500 chars) + submit API
  • API endpoints :
    • GET /api/fiche/[id] — proxy NocoDB
    • POST /api/comment — filtre éthique Mistral Nemo synchrone (timeout 2s, fallback : moderation_status: pending si timeout). Cf. F §3.
  • Méta SEO dynamiques : <title>{nom} — NAV, description (extrait description), og:image (logo par défaut)
  • Bouton "← retour carte" qui restaure les query params filtres
  • Rate limit POST commentaire : Redis (cf. Sonnet 3 si déjà en place, sinon coordonner)

Règles

  • Accents français
  • Palette respectée
  • Mobile-first
  • Pas de Google Fonts
  • Pas de modif schéma NocoDB
  • Pas de touche à : carte index, sidebar filtres, formulaire /contribuer, worker IA

Délégation cascade autorisée

Sous-agents Task (Sonnet) pour : recherche pattern Mistral Nemo dans codebase, génération composant isolé, audit V1 fiche.

Critère de fin

  • npm run dev charge /fiche/[id] pour une fiche seed (ex : id=1)
  • Commentaire posté apparaît avec status correct (approved si filtre OK, pending sinon)
  • Bouton retour carte préserve filtres URL
  • Mobile testé (devtools)
  • Commits atomiques

Doute / blocage

  • Mistral Nemo non configuré → POST commentaire = pending direct + TODO dans journal
  • Spec ambiguë → tranche au plus simple, note dans JOURNAL-V2.md
  • Blocage dur → STOP + reporte

Résumé attendu

## S2 Étape 3 — [DONE / BLOCKED]

### Livrables
- ✓ ... / ✗ ...

### Décisions
- ...

### À tester
- /fiche/1, /fiche/2, post commentaire, retour carte avec filtres

### Fichiers modifiés / Commits
- ...

### Coordination Sonnet 3
- Rate limit Redis : posé / à poser ?