Files
mabibli/IDEES.md
T
mathieuandClaude Opus 5 49eb8e1c98 Distinguer romans et BD par un type de document
Format disait physique ou numérique, jamais roman ou BD. Trois valeurs
seulement : une valeur s'ajoute sans migration, la renommer une fois posée
sur des centaines de fiches, non.

Le défaut est « non précisé », pas « roman » : les fiches existantes n'ont
pas été saisies avec cette question en tête, et un AddColumn suffit
justement parce que la valeur par défaut ne prétend rien. L'interface
n'affiche donc que ce qui a été choisi, comme pour le format.

Filtre ajouté aux DEUX implémentations, serveur et hors-ligne, avec quatre
jeux de critères de plus dans le test qui les confronte.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-19 21:45:37 +02:00

166 lines
9.2 KiB
Markdown

# IDEES.md — améliorations envisagées
Ce fichier recueille les idées et corrections identifiées en cours de route, **pas encore implémentées**. Il n'a pas valeur de décision : rien ici n'est acté tant que ce n'est pas repris dans `CLAUDE.md` ou traité dans une phase.
Le travail visuel de fond (couleurs, typographie, mise en page) est repoussé volontairement : il sera fait quand les fonctionnalités seront en place.
---
## Qualité des données
### Recherche insensible aux accents
« Emile » ne trouve pas « Émile ». Gênant sur un fonds francophone.
**Semble réglé par la refonte du schéma** (colonnes normalisées, voir `CLAUDE.md`) : vérifié le 2026-08-18 sur l'API, `recherche=Emile` remonte bien les livres d'« Émile Zola ». Laissé ici faute d'avoir été traité comme un point à part entière — à confirmer sur un fonds réel avant de le retirer.
---
## Recherche : la ligature « œ » n'est pas réduite à « oe »
Repéré le 2026-08-18 en implémentant la liste d'envies. `NormalisationTexte.Normaliser`
décompose en **NFD**, qui sépare les accents mais laisse les ligatures intactes — seul NFKD les
défait. Conséquence : `L'Œuvre` et `L'oeuvre` ne se rencontrent jamais.
Ce n'est pas propre à la liste d'envies : la même fonction alimente la **recherche du catalogue**
et la **clé unique des auteurs**. Zola a écrit *L'Œuvre*, que la BnF orthographie avec la
ligature ; un utilisateur qui tape « oeuvre » ne le trouvera pas, et ne verra pas non plus le
livre grisé dans la bibliographie.
Correction envisagée : passer en NFKD, ou traiter explicitement `œ`/`Œ` et `æ`/`Æ`. **Non fait
volontairement** — changer cette fonction déplace deux invariants en base (les colonnes
normalisées et l'index unique `CleRegroupement`). `ServiceRenormalisation` sait recalculer les
colonnes au démarrage, mais la fusion d'auteurs que la nouvelle règle provoquerait mérite d'être
regardée avant. Documenté par un test (`CleOeuvreTests.Ne_reduit_pas_la_ligature_oe`) pour que
la limite reste visible.
---
## Bibliographie : ce qui reste à creuser
La bibliographie par auteur est implémentée (voir `CLAUDE.md`). Deux pistes non traitées :
- **Plafond de 200 notices.** Suffisant pour un auteur contemporain (Werber : 203, Nothomb : 277),
très insuffisant pour un classique (Zola : 2692). L'écran le dit, mais on pourrait charger les
pages suivantes à la demande plutôt que d'annoncer un extrait.
- **OpenLibrary en second rideau.** La BnF ne connaît pas les auteurs étrangers non traduits ;
l'écran affiche alors une liste vide et l'explique. OpenLibrary expose les œuvres d'un auteur
(`/authors/{id}/works.json`) et pourrait prendre le relais — à ne faire que si le cas se
présente réellement en usage.
---
# Retours d'usage du 2026-08-18 (2ᵉ série)
Demandes et anomalies remontées après quelques jours d'usage réel. **Rien n'est acté** :
ce qui suit est la matière brute, classée par sujet, avec ce que le diagnostic a déjà établi.
## Scan et saisie d'ISBN
### Le scan caméra rate souvent sur ordinateur
**Deux remèdes appliqués**, tous deux dans `CLAUDE.md` : la **douchette USB** (champ focalisé,
validation sur `Entrée`) et surtout la **bascule de ZXing.Net vers zbar** — c'était bien le
décodeur, contrairement à ce qu'on avait conclu de mesures de vitesse.
Reste à confirmer en usage réel. Si cela ne suffisait toujours pas : choisir la caméra quand il
y en a plusieurs, exposer un curseur de zoom/torche là où l'API le permet, et laisser **déposer
une photo** du code-barres à décoder.
### ISBN `9782846391009` : résolu — c'était le décodeur
Le livre existe bien à la BnF : l'échec était **au décodage de l'image**. Confirmé le
2026-08-19 — zbar lit ce code-barres, ZXing.Net ne le lisait pas, sur le même appareil et le
même livre. La bascule est faite (voir `CLAUDE.md`).
⚠️ **À confirmer avec le livre en main** : la vérification faite jusqu'ici porte sur un EAN-13
rendu en canvas, pas sur une image de caméra.
---
# Retours d'usage du 2026-08-19 (3ᵉ série)
## Les magazines : une fiche par revue, les numéros à l'intérieur
⚠️ La demande jumelle, **les BD**, est traitée : `TypeDocument` existe (voir `CLAUDE.md`).
Restent les champs propres à la BD — série, tome, scénariste/dessinateur — à ne faire que si le
besoin se confirme, le modèle mettant aujourd'hui tous les auteurs dans `LivreAuteur` sans
distinguer les rôles. La question des **séries** rejoint celle des sagas, plus bas.
⚠️ Rouvre la décision du lot 1, qui écartait le catalogage des périodiques faute de modèle.
Le modèle est maintenant choisi.
**Décidé le 2026-08-19 : une fiche par REVUE**, et dans sa page, la sélection d'un numéro
précis. C'est exactement ce qui évite le défaut redouté — douze numéros d'un même magazine ne
font plus douze fiches identiques, puisqu'ils partagent la fiche de leur revue.
Ce que cela demande :
- un **ISSN** sur la fiche de revue, distinct de l'ISBN. ⚠️ Ranger un code `977` dans
`Livre.Isbn` casserait tout lookup ultérieur sur cette fiche ;
- une table de **numéros** rattachés à la revue, portant au minimum un numéro et une date de
parution ;
- reprendre le flux `977` : il nomme aujourd'hui la revue et bascule sur la saisie manuelle, il
devra créer ou compléter la fiche puis proposer d'ajouter le numéro scanné. ⚠️ Les deux
chiffres de parution du code-barres **ne sont pas un numéro fiable** ; l'add-on **EAN-2**, que
zbar sait maintenant décoder, est le bon candidat — à vérifier sur des magazines réels ;
- décider ce qu'un **prêt** signifie pour une revue : on prête un numéro, pas un abonnement.
## Sagas et cycles : plusieurs livres, un ordre de lecture
Demandé le 2026-08-19. Cas donné : [Drizzt Do'Urden](https://fr.wikipedia.org/wiki/Drizzt_Do%27Urden)
**plusieurs regroupements de plusieurs livres, à lire dans un ordre précis**. Vaut pour les
romans comme pour les BD.
C'est la première demande du projet qui porte sur une **relation entre livres** plutôt que sur
un livre. Ce que le cas Drizzt impose, et qu'un simple champ « série » ne couvrirait pas :
- **Deux niveaux.** *La Légende de Drizzt* regroupe plusieurs trilogies (*L'Elfe noir*,
*La Séquence de l'Icewind Dale*…) : un cycle contient des séries, qui contiennent des tomes.
Un champ texte plat perdrait ce regroupement.
- **L'ordre de lecture n'est pas l'ordre de publication.** *L'Elfe noir* est une préquelle écrite
après. C'est précisément l'information qu'on vient chercher : elle doit être **stockée**, pas
déduite de l'année.
- **Un livre peut appartenir à plusieurs regroupements** (une intégrale, une série, un cycle).
- **Ce qu'on possède est partiel.** L'intérêt de l'écran est de montrer les trous — « il vous
manque le tome 3 » — comme la bibliographie montre déjà ce qui manque d'un auteur.
Questions à trancher avant tout modèle :
- **D'où viennent les séries ?** La BnF ne les expose pas de façon exploitable en Dublin Core.
Saisie à la main, déduction depuis le titre (« Tome 3 »), ou source tierce ?
- **Portée** : commune au foyer, comme le catalogue, ou personnelle ? L'ordre de lecture est une
propriété de l'œuvre et non du lecteur — donc commune, a priori.
- **Les tomes non possédés** existent-ils en base, ou sont-ils seulement affichés ? S'ils
existent, ils ressemblent beaucoup à des envies, et il faudra dire comment les deux cohabitent.
⚠️ Ne pas confondre avec le regroupement d'œuvres de la bibliographie (`CleOeuvre`), qui réunit
les **rééditions d'un même titre**. Ici, ce sont des titres **différents** qui se suivent.
## Auteurs et bibliographie
### Homonymes : « Between two worlds », un autre Robert Harper
Constaté le 2026-08-19 en vérifiant la bibliographie de Robert A. Harper : parmi les 7 œuvres
retenues figure *Between two worlds : a new introduction to geography* (1973, Houghton Mifflin),
qui est d'un **géographe homonyme**, pas du psychothérapeute.
Le post-filtre d'auteur ne peut rien : `RapprochementAuteurs` compare des **noms**, et ces
deux-là portent le même. Départager demanderait les dates de vie (`dc:creator` les porte souvent :
« Harper, Robert A. (1915-2004) »), ce que le parser jette aujourd'hui au nettoyage ISBD.
⚠️ Ne pas en faire une urgence : une œuvre en trop se voit et s'ignore, contrairement à une œuvre
manquante. Piste si le cas se répète : conserver les dates extraites de `dc:creator` et écarter
une notice dont les dates contredisent celles majoritairement observées pour l'auteur.
### OpenLibrary en second rideau — la justification est retombée
Le cas « Robert A. Harper » semblait l'imposer : il s'est révélé être un **délai dépassé**, pas un
trou de couverture (voir `CLAUDE.md`). La BnF connaît bien cet auteur.
La piste reste valable pour les auteurs étrangers **non traduits**, avec ses deux difficultés
inchangées : résoudre un nom vers un identifiant OpenLibrary (`/search/authors.json`), étape sans
équivalent BnF et sensible aux homonymes ; et des œuvres remontées **en langue originale**, donc
non rapprochables du catalogue par `CleOeuvre` — l'écran afficherait une liste où presque rien ne
serait marqué « possédé ». À ne faire que si le cas se présente réellement.