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>
3.6 KiB
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
Titres BnF contenant le nom de l'auteur
Cas constaté — ISBN 9782749942636 :
dc:title = "Le plus grand défi de l'histoire de l'humanité : face à la
catastrophe écologique et sociale (Nouvelle éd. augmentée)
Aurélien Barrau"
dc:creator = "Barrau, Aurélien (1973-....). Auteur du texte"
Le nom de l'auteur est collé en fin de titre sans le séparateur ISBD /. La règle de nettoyage documentée dans CLAUDE.md ne peut donc pas s'appliquer : il n'y a pas de ponctuation à couper. Ce n'est ni un doublon, ni un défaut de notre parsing — la notice est sale à la source.
Correction envisagée : une fois dc:creator nettoyé, si le titre se termine par ce nom exact, le retirer. Heuristique volontairement stricte (comparaison en fin de chaîne uniquement) pour ne pas mutiler les titres qui contiennent légitimement un nom de personne.
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.