Note le lot P : ranger une envie dans une série, sans la trahir au foyer

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
mathieu
2026-08-20 23:14:50 +02:00
co-authored by Claude Opus 5
parent bdcf97a3e6
commit 0c98abdecd
+35
View File
@@ -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.