3.1 KiB
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/) :
- Spec session :
H-prompt-session-2-front.md(section "Étape 3") - Wireframes :
E-spec-frontend.md(page fiche) - Pipe collaboration / modération :
F-spec-pipe-collaboration.md§3 (filtre éthique Mistral Nemo) - Palette :
palette-nav-v2.md - 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_enrichiesi dispo sinondescription_user, tags fonctions, échelle, territoire, URL, localisation (mini-carte Leaflet)CommentSection.vue— liste commentairesmoderation_status: approved, tri chronologiqueCommentForm.vue— formulaire (nom + email + commentaire 50-500 chars) + submit API
- API endpoints :
GET /api/fiche/[id]— proxy NocoDBPOST /api/comment— filtre éthique Mistral Nemo synchrone (timeout 2s, fallback :moderation_status: pendingsi 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 devcharge/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 =
pendingdirect + 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 ?