Acter la liste d'envies dans CLAUDE.md et nettoyer IDEES.md

Retire d'IDEES.md la section « Pour plus tard — livres souhaités », désormais
implémentée, et acte dans CLAUDE.md les trois décisions structurantes : table
dédiée pour la liste d'envies, SRU BnF par bib.author pour la bibliographie,
export en .txt et .csv.

Consigne dans CLAUDE.md ce que la source renvoie réellement (Werber 203 notices
-> 51 œuvres, Zola 2692 annoncées -> 87 œuvres sur 200 lues) et ce que le
rapprochement par titre rate, l'interface énonçant la même limite à l'écran.

Deux points relevés en passant et laissés à IDEES.md : la ligature « œ » que
NormalisationTexte ne réduit pas à « oe » (L'Œuvre de Zola y échappe, et le
défaut touche aussi la recherche du catalogue), et le plafond de 200 notices.

Corrige au passage une ponctuation bancale du bandeau de bibliographie, et
restreint le BOM UTF-8 au seul CSV.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
mathieu
2026-08-18 14:03:29 +02:00
co-authored by Claude Opus 5
parent 8b8fe3be6e
commit 231b0b2a11
2 changed files with 186 additions and 9 deletions
+25 -9
View File
@@ -31,18 +31,34 @@ Correction envisagée : une fois `dc:creator` nettoyé, si le titre **se termine
---
## Pour plus tard — livres souhaités
## Recherche : la ligature « œ » n'est pas réduite à « oe »
Idée de fonctionnalité, **hors périmètre v1**, à ne pas implémenter sans décision explicite.
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.
**La liste d'envies est personnelle**, pas commune : chacun la sienne, comme le statut de lecture. C'est le pendant naturel de la décision actée sur les statuts.
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.
**Export de la liste d'envies** souhaité — pour l'emporter en librairie ou la partager avant un anniversaire. Format à choisir le moment venu ; du texte simple ou du CSV suffira probablement, et reste lisible partout sans dépendance.
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.
Pouvoir suivre les livres qu'on aimerait acquérir. Le déclencheur serait le regroupement par auteur : en cliquant sur un auteur déjà présent dans la bibliothèque (exemple donné : Bernard Werber), afficher **sa bibliographie complète**, avec les ouvrages déjà possédés grisés — et la possibilité de marquer les autres comme souhaités.
---
Ce que ça impliquerait, à évaluer le moment venu :
## Bibliographie : ce qui reste à creuser
- Une source pour les bibliographies par auteur. La BnF sait interroger par auteur, mais l'ordre et l'exhaustivité restent à vérifier ; OpenLibrary expose les œuvres liées à un auteur.
- Un moyen d'identifier un auteur de façon stable, donc probablement une **table `Auteur`** plutôt que le champ texte actuel — c'est le changement de modèle le plus lourd de cette idée.
- Un statut « souhaité » distinct des statuts de lecture existants, ou une entité séparée pour ne pas mélanger inventaire et liste d'envies.
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.