Signaler les doublons à l'ajout d'un livre, sans jamais les refuser
Rien n'empêchait de rescanner un livre déjà catalogué. Plutôt qu'un index unique — qui interdirait le second exemplaire, cas parfaitement légitime — la création répond 409 avec les fiches semblables, et « confirmerDoublon » enregistre la même saisie. Deux critères, dont aucun n'est une clé : ISBN identique, ou clé d'œuvre et auteur communs. La clé d'œuvre étant un préfixe de TitreNormalise, SQL dégrossit sur la colonne indexée et l'égalité exacte se vérifie ensuite en mémoire. Vérifié en exécution : avertissement, retour au formulaire intact, et ajout confirmé créant bien un second exemplaire. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -80,28 +80,6 @@ rendu en canvas, pas sur une image de caméra.
|
||||
|
||||
# Retours d'usage du 2026-08-19 (3ᵉ série)
|
||||
|
||||
## Bug — un livre déjà catalogué peut être réencodé
|
||||
|
||||
Vérifié dans le code : `ServiceCatalogue.CreerAsync` ne fait **aucun** contrôle de doublon, et
|
||||
`HasIndex(l => l.Isbn)` n'est **pas** unique. Scanner deux fois le même livre crée deux fiches.
|
||||
|
||||
⚠️ **À trancher avant de coder : refuser, ou avertir ?** Refuser tout net serait un piège, car
|
||||
posséder deux exemplaires est légitime — on garde le sien et on prête l'autre. Et l'ISBN est
|
||||
facultatif, donc il ne peut pas être le seul critère.
|
||||
|
||||
Trois critères candidats, de plus en plus large :
|
||||
|
||||
| Critère | Attrape | Rate / gêne |
|
||||
|---|---|---|
|
||||
| **ISBN identique** | le rescan du même livre, cas visé | rien si l'ISBN manque ; refuse un second exemplaire |
|
||||
| **Clé d'œuvre + auteur** (`CleOeuvre`, comme la liste d'envies) | la saisie manuelle sans ISBN | confond le poche et le grand format, qui sont deux éditions possédées |
|
||||
| **les deux, en avertissement** | tout ce qui précède | demande une confirmation de plus |
|
||||
|
||||
Piste privilégiée : **avertir et laisser confirmer** (« Vous avez déjà *Germinal* — ajouter
|
||||
quand même ? »), plutôt que l'index unique qui interdirait le second exemplaire. La liste
|
||||
d'envies, elle, refuse — mais elle décrit une envie, pas un objet, et deux exemplaires d'une
|
||||
envie n'ont pas de sens.
|
||||
|
||||
## À l'ajout d'un livre, signaler l'envie correspondante
|
||||
|
||||
**Décidé le 2026-08-19 : on ne supprime rien, on signale.** La liste d'envies marque l'entrée
|
||||
|
||||
Reference in New Issue
Block a user