Consigner les retours d'usage du 2026-08-19 (3ᵉ série)
Trois points remontés, tous avec leur arbitrage identifié mais non tranché : - doublon à l'ajout : vérifié, CreerAsync ne contrôle rien et l'index sur Isbn n'est pas unique. Reste à décider refus ou avertissement, un second exemplaire étant légitime ; - retirer l'envie correspondante à l'ajout : la difficulté est la portée (catalogue commun, envies personnelles), pas le rapprochement ; - BD et magazines : les BD demandent surtout un type de document, les magazines rouvrent la décision actée de ne pas cataloguer les périodiques. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -155,6 +155,92 @@ celui de ZXing.Net : le coût d'une bibliothèque n'est pas le poids de son asse
|
|||||||
l'EAN-2 est précisément ce qui accompagne les périodiques en `977`.
|
l'EAN-2 est précisément ce qui accompagne les périodiques en `977`.
|
||||||
- **Plus de pipeline image maison** à entretenir (capture, réduction, recadrage, `RGBLuminanceSource`).
|
- **Plus de pipeline image maison** à entretenir (capture, réduction, recadrage, `RGBLuminanceSource`).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# 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, retirer l'envie correspondante
|
||||||
|
|
||||||
|
Demandé : si le livre ajouté figure dans la liste d'envies, l'en retirer.
|
||||||
|
|
||||||
|
⚠️ **La difficulté est la portée, pas le rapprochement.** Le catalogue est **commun**, la liste
|
||||||
|
d'envies est **personnelle** — ce sont les deux portées que `CLAUDE.md` oppose explicitement.
|
||||||
|
« Retirer l'envie » n'a donc pas une seule réponse :
|
||||||
|
|
||||||
|
- **la sienne uniquement** : simple, sûr, ne franchit aucune frontière. Mais si Camille souhaitait
|
||||||
|
le livre et que Mathieu l'ajoute, Camille garde une envie pour un livre que le foyer possède.
|
||||||
|
- **celle de tout le monde** : cohérent avec « le livre est commun », mais **modifie
|
||||||
|
silencieusement la liste d'un autre**, et lui fait perdre sa note (« demandé à Noël »). L'API
|
||||||
|
ne sait pas — délibérément — écrire dans la liste d'autrui : ce serait une brèche à ouvrir
|
||||||
|
dans un invariant tenu jusqu'ici.
|
||||||
|
- **ne rien supprimer, mais signaler** : la liste d'envies marque l'entrée « déjà au catalogue ».
|
||||||
|
Non destructif, respecte la frontière, et l'écran de bibliographie sait déjà distinguer
|
||||||
|
`Possede` de `Souhaite`.
|
||||||
|
|
||||||
|
⚠️ Le rapprochement se ferait par `CleOeuvre` + auteur, avec les mêmes limites que la
|
||||||
|
bibliographie (titre retraduit, tome, intégrale — voir `CLAUDE.md`). Une suppression sur un
|
||||||
|
rapprochement faillible est **irréversible** ; un signalement ne l'est pas. C'est un argument de
|
||||||
|
poids pour la troisième voie.
|
||||||
|
|
||||||
|
## Bandes dessinées et magazines
|
||||||
|
|
||||||
|
Deux demandes distinctes, de coût très différent.
|
||||||
|
|
||||||
|
### Les BD : surtout une question de type de document
|
||||||
|
|
||||||
|
Une BD est déjà catalogable telle quelle — elle a un ISBN, la BnF la connaît (vérifié au lot 6 :
|
||||||
|
la BD de Dobbs tirée de *La bête humaine* remonte bien). Ce qui manque est de pouvoir **la
|
||||||
|
distinguer** : `Format` dit physique ou numérique, pas roman ou BD.
|
||||||
|
|
||||||
|
Piste : un `TypeDocument` (roman / BD / magazine…) à côté de `Format`, avec migration, filtre au
|
||||||
|
catalogue et étiquette. ⚠️ Suivre la règle déjà actée pour le format : **n'afficher que ce qui
|
||||||
|
n'est pas le cas par défaut**, sinon chaque ligne du catalogue porte une étiquette qui n'apprend
|
||||||
|
rien.
|
||||||
|
|
||||||
|
Champs propres à la BD (série, tome, scénariste/dessinateur) : à ne faire que si le besoin se
|
||||||
|
confirme. Le modèle actuel met tous les auteurs dans `LivreAuteur` sans distinguer les rôles.
|
||||||
|
|
||||||
|
### Les magazines : cela rouvre une décision actée
|
||||||
|
|
||||||
|
⚠️ `CLAUDE.md` (lot 1) écarte **délibérément** le catalogage des périodiques : « le modèle de
|
||||||
|
données n'a ni numéro ni date de parution, et les deux chiffres de parution du code ne sont pas
|
||||||
|
exploitables comme numéro fiable — douze numéros d'un même magazine partagent leur ISSN et
|
||||||
|
créeraient douze fiches identiques ». Le scan d'un code `977` nomme donc la revue et bascule sur
|
||||||
|
la saisie manuelle, **sans** l'ISBN.
|
||||||
|
|
||||||
|
Les supporter vraiment demande de lever exactement ce qui avait motivé le refus :
|
||||||
|
|
||||||
|
- un **ISSN** distinct de l'ISBN (le ranger dans `Livre.Isbn` casserait tout lookup ultérieur) ;
|
||||||
|
- un **numéro** et une **date de parution**, seuls capables de distinguer deux exemplaires ;
|
||||||
|
- de décider si un magazine est **une fiche par numéro** ou **une fiche par revue avec des
|
||||||
|
numéros rattachés** — c'est le vrai choix de modélisation, et il change la migration ;
|
||||||
|
- de reprendre le flux `977` pour qu'il crée au lieu d'expliquer.
|
||||||
|
|
||||||
|
À trancher avant tout code. Le reste (filtres, prêts, hors-ligne) suit mécaniquement une fois le
|
||||||
|
modèle arrêté.
|
||||||
|
|
||||||
## Auteurs et bibliographie
|
## Auteurs et bibliographie
|
||||||
|
|
||||||
### Homonymes : « Between two worlds », un autre Robert Harper
|
### Homonymes : « Between two worlds », un autre Robert Harper
|
||||||
|
|||||||
Reference in New Issue
Block a user