diff --git a/IDEES.md b/IDEES.md index 5d48473..0b16ccf 100644 --- a/IDEES.md +++ b/IDEES.md @@ -393,3 +393,38 @@ Pistes, dans l'ordre où elles se testent : parce qu'un thème (« dark fantasy ») ne contient jamais de virgule ? À poser à l'utilisateur avant de coder. Le reste suit les règles déjà tenues : dédoublonnage avant résolution, `NormalisationTexte`, premier libellé saisi = forme affichée. + +## Lot P — Ranger une envie dans une série + +Demande : depuis la liste d'envies, placer un livre souhaité dans une série, comme on y place un +livre du catalogue. C'est le **chemin inverse** de `MettreEnEnviesAsync`, qui fait déjà « place +vide → envie ». + +⚠️ **Le piège est un invariant, pas une difficulté technique** : les séries sont **communes au +foyer**, la liste d'envies est **personnelle** — et son sens même est de préparer un cadeau sans +que l'autre le voie venir. Une envie rattachée telle quelle à une série s'afficherait à tout le +monde. + +Deux façons de faire, et la première est à écarter : + +| | `ElementSerie.LivreSouhaiteId` (FK) | Une place ordinaire, titre repris de l'envie | +|---|---|---| +| Portée | ⚠️ met du **personnel dans une table commune** : le foyer verrait qui veut quoi | la place reste commune, l'envie reste personnelle — **rien ne les relie en base** | +| Ce qu'on voit | « tome 3 souhaité par Mathieu » | « tome 3 » manquant, comme n'importe quel trou | +| À l'achat | il faudrait défaire la FK | la place s'attache au `Livre` créé, geste déjà en place | + +La seconde revient à ce que fait déjà la saisie manuelle d'un tome manquant : `LivreId` reste +`NULL`, `Titre` porte celui de l'envie. Le geste ne fait alors qu'**épargner une resaisie**, ce +qui est exactement la demande. + +⚠️ Ne pas croire que « ça ne fuite rien » pour autant : un tome ajouté à une saga est visible du +foyer. Ce qui doit rester invisible est le **lien** avec la liste d'envies de quelqu'un, pas +l'existence du tome — qu'on aurait de toute façon saisie à la main. + +Deux points à trancher avant de coder : + +- **L'envie survit-elle au rattachement ?** Par cohérence avec « une envie déjà au catalogue est + signalée, jamais supprimée » : **oui**, elle reste dans la liste. Rien n'a été acheté. +- **Où se fait le geste ?** Depuis l'envie (« Ranger dans une série », avec choix de la série et + de la position), ou depuis la série (« Ajouter un tome depuis mes envies »). Le second a un + mérite : c'est là qu'on voit l'ordre de lecture, donc où l'on sait quelle position donner.