docs(changelog): tâche G5 — suggestions d'idées DeepSeek
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
dee3c181f6
commit
886ecbb433
1 changed files with 43 additions and 0 deletions
|
|
@ -37,6 +37,49 @@ Chaque entrée suit ce format :
|
|||
- Code source de `src/entities/user/access.ts` et `lib.ts` avec tests
|
||||
|
||||
|
||||
## 2026-04-21 — Tâche G5 — Suggestions d'idées DeepSeek
|
||||
|
||||
### Ajouté
|
||||
- **Backend** — `POST /sujets/idees` : génère 5 suggestions
|
||||
d'idées via DeepSeek pour aider l'étudiant à prolonger sa
|
||||
rédaction (prompt coach TCF Canada, temperature 0.5,
|
||||
timeout 15 s via AbortSignal, JSON strict
|
||||
`{ idees: string[] }`)
|
||||
- `generateIdees(consigne, contenu)` dans `src/lib/deepseek.ts`
|
||||
(validation tableau non vide)
|
||||
- 5 tests route `POST /sujets/idees` : 401 sans auth,
|
||||
400 sujet_consigne manquant, 400 contenu < 30 mots,
|
||||
200 succès avec idees[], 500 DeepSeek throw
|
||||
- **Frontend** — `getIdees(consigne, contenu)` dans
|
||||
`entities/report/api.ts` (POST `/sujets/idees`,
|
||||
timeoutMs 15 000)
|
||||
- Hook `useIdees` — `useMutation` exposant
|
||||
`{ idees, isLoading, error, fetchIdees, reset }`
|
||||
- Composant `IdeesSuggestions` — modal shadcn Dialog avec
|
||||
liste à puces, états loading/erreur/succès,
|
||||
`reset()` automatique à la fermeture
|
||||
- Bouton "Suggestions d'idées" (icône Lightbulb) dans
|
||||
`SimulationForm` à côté de "Changer de sujet"
|
||||
- Prop `plan: Plan` ajouté à `SimulationForm` (wiring
|
||||
`planData.plan` depuis `SimulationPage`)
|
||||
|
||||
### Règles d'accès
|
||||
- Règle D respectée : `hasAccess(plan, 'tips')` obligatoire
|
||||
- Plan Free : bouton visible mais désactivé avec tooltip
|
||||
"Disponible en Standard" (tips=false pour Free)
|
||||
- Standard + Premium : bouton actif dès 30 mots écrits
|
||||
- Désactivé également si `!sujet`, `isSubmitting`, ou
|
||||
`idees.isLoading`
|
||||
|
||||
### Tests
|
||||
- Backend — Typecheck : 0 erreur, Vitest : 144/144 passés
|
||||
(+5 tests POST /sujets/idees)
|
||||
- Frontend — Typecheck : 0 erreur, Vitest : 67/67 passés
|
||||
- Test manuel : validé avec compte Standard (bouton actif
|
||||
à 30+ mots, modal affiche 5 idées) et Free (bouton
|
||||
verrouillé avec tooltip)
|
||||
|
||||
|
||||
## 2026-04-21 — Tâche G4 + Refonte page /sujets + Fix quota simulations
|
||||
|
||||
### Ajouté
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue