Commit Graph
35 Commits
Author SHA1 Message Date
devcodetools 208fe98f1b feat(ui): suppression d'une carte avec confirmation (P3-6, F-07)
CardDeleteButton ouvre un dialog modal (aria-modal, aria-labelledby) qui
résume la carte à supprimer. Confirmation : cardsApi.remove puis retour à
la liste /cards. Annuler referme sans REMOVE. Test F-07 couvre l'ouverture,
l'annulation (remove non appelé) et la confirmation (remove + navigation).
2026-09-21 19:13:27 +02:00
devcodetools 03a6b7b455 feat(ui): page édition d'une carte pré-remplie (P3-5, F-06)
Page /cards/:id/edit : charge la carte via cardsApi, pré-remplit CardForm
en mode edit et enregistre via cardsApi.update. Ajoute un test F-06 au
form (pré-remplissage + update + navigation). Coche P3-5 dans TODO.
2026-09-21 19:06:38 +02:00
devcodetools 2e131dddcb feat(ui): formulaire de création de carte avec navigation (F-05)
CardForm en mode création : champs question/réponse/thème, validation
HTML + affichage derreur API, soumission via cardsApi.create puis
redirection vers le détail de la carte créée (next/navigation).
2026-09-21 18:52:02 +02:00
devcodetools 3fdb558697 deps(test): @testing-library/user-event pour les intéractions de formulaire 2026-09-21 18:50:17 +02:00
devcodetools 9224fe003d feat(ui): page détail d'une carte avec édition (F-09)
CardDetail affiche question, réponse révélée, thème et tags, avec liens
Modifier et retour à la liste. Page /cards/[id] qui la monte.
2026-09-21 18:45:40 +02:00
devcodetools b030896e06 feat(ui): page liste des cartes avec lien création (F-08)
Route /cards montant CardList + action 'Nouvelle carte' vers /cards/new.
2026-09-21 18:44:08 +02:00
devcodetools d82a82baf3 feat(ui): liste des cartes cliquable avec thème (F-08)
Composant CardList : charge les cartes via cardsApi.list(), affiche
question + thème, chaque entrée est un lien vers le détail. Gère les
états chargement, vide et erreur (ApiClientError).
2026-09-21 18:43:54 +02:00
devcodetools 405ce6e603 feat(ui): client API typé (list, CRUD, random, thèmes) avec gestion d'erreurs 2026-09-21 18:35:28 +02:00
devcodetools de00a827ed style(api): newline final manquant dans la factory de service 2026-09-21 18:26:26 +02:00
devcodetools 1b8aac89f9 test(api): couvrir les routes CRUD, random, thèmes et les helpers HTTP
Ajoute les tests des routes /api/cards, /api/cards/[id], /api/cards/random
et /api/cards/themes, ainsi que les tests des helpers http (handleError,
parseJsonBody) et de la factory getCardService. Corrige le formatage des
fichiers sources embarqués non formatés par les commits précédents.
2026-09-21 18:22:06 +02:00
devcodetools 19a5a47b28 feat(api): tirage aléatoire (global ou par thème) et liste des thèmes 2026-09-21 18:00:04 +02:00
devcodetools ae3e87d916 feat(api): route CRUD cards (liste, détail, création, modification, suppression) 2026-09-21 17:59:48 +02:00
devcodetools e4aa5f4b3b test(service): CardService et schémas de validation 2026-09-21 17:59:25 +02:00
devcodetools 12670b7134 feat(service): CardService générique sur l'abstraction CardRepository 2026-09-21 17:58:59 +02:00
devcodetools a3d9be86d8 feat(validation): schémas zod et erreurs applicatives 2026-09-21 17:58:59 +02:00
devcodetools c997010c8c deps: ajouter zod pour la validation des entrées 2026-09-21 17:58:24 +02:00
devcodetools 77ac6e0e21 style: formater sources et scripts (prettier) 2026-09-21 17:55:34 +02:00
devcodetools 01337ef480 test(repo): mock de Collection sans any et export CardDocument 2026-09-21 17:55:34 +02:00
devcodetools 9d743d898f fix(docker): épingler mongo:8.2 pour compatibilité noyau 7.x 2026-09-21 17:55:33 +02:00
devcodetools 2ddb687286 test(repo): couvrir les implémentations mysql et mongo de CardRepository 2026-09-21 17:51:17 +02:00
devcodetools 4140942ae3 fix(docker): utiliser le port hôte 27018 pour mongo (hors plage 16 bits) 2026-09-21 17:51:17 +02:00
devcodetools b02f937c96 feat(config): sélecteur de repository selon DB_IMPL 2026-09-21 17:47:33 +02:00
devcodetools dca234f298 feat(repo): implémentation MongoDB de CardRepository 2026-09-21 17:47:23 +02:00
devcodetools ab24d329b9 feat(repo): implémentation MySQL de CardRepository 2026-09-21 17:46:45 +02:00
devcodetools 2721326a07 feat(domain): interface générique CardRepository 2026-09-21 17:46:21 +02:00
devcodetools 68a8e1c236 feat(domain): entité Card et CardInput 2026-09-21 17:46:06 +02:00
devcodetools 94cc624364 chore(env): variables de connexion aux 2 SGBD 2026-09-21 17:46:00 +02:00
devcodetools 2b7a05cd7d deps: ajouter les drivers mysql2 et mongodb 2026-09-21 17:45:52 +02:00
devcodetools 60494b9bf1 feat(db): collection cards MongoDB et seed 2026-09-21 17:45:42 +02:00
devcodetools 8ec38c158a feat(db): schéma MySQL cards et seed 2026-09-21 17:45:30 +02:00
devcodetools 0e714f507b chore(docker): conteneurs mysql et mongo dédiés avec volumes nommés 2026-09-21 17:45:12 +02:00
devcodetools 2ec13f5895 style: formater GOAL.md et TODO.md (prettier) 2026-09-21 17:42:19 +02:00
devcodetools 6981da23f1 test(app): couvrir la page PWA hors connexion 2026-09-21 17:42:19 +02:00
devcodetools fc859de030 config(vitest): fixer le seuil de coverage à 80% 2026-09-21 17:40:35 +02:00
devcodetools 03f03f7ad2 chore: initial commit 2026-09-21 17:28:26 +02:00