From aed03e6b6fdc2b72705e1cfdbc52de7fc9433491 Mon Sep 17 00:00:00 2001 From: mathieu Date: Mon, 17 Aug 2026 22:26:48 +0200 Subject: [PATCH] Documenter deux constats operationnels issus de la phase 2 - Couvertures OpenLibrary : 502 intermittents mesures sur un meme ISBN. Ne pas valider l'URL par un HEAD ; c'est a l'interface de gerer l'image cassee. - OpenLibrary : certaines editions n'ont aucun champ `authors`, le double appel documente ne suffit donc pas. Le repli via `/works/` est desormais implemente et documente. Co-Authored-By: Claude Opus 5 --- CLAUDE.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 31f9a44..39c8b2f 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -172,6 +172,8 @@ Conversion ISBN-13 → ISBN-10 (uniquement pour le préfixe `978`) : retirer `97 | `dc:creator` | `Zola, Émile (1840-1902). Auteur du texte` | `Émile Zola` — retirer les dates entre parenthèses, le rôle après le point, puis inverser `Nom, Prénom` | | `dc:publisher` | `le Livre de poche (Paris)` | `le Livre de poche` — retirer la ville en fin de chaîne | +- **Couvertures OpenLibrary : 502 intermittents.** Mesuré en phase 2 — trois appels consécutifs sur le même ISBN ont donné 200, 200, puis 502. Ne **jamais** valider l'URL par un HEAD avant de l'afficher : on supprimerait au hasard des couvertures existantes. L'URL est émise systématiquement, et **l'interface doit gérer l'image cassée** (`onerror`), le `?default=false` garantissant un 404 franc plutôt qu'un placeholder silencieux. +- **OpenLibrary : le double appel auteur ne suffit pas toujours.** Cas réel (*Introduction to Algorithms*) : l'édition n'a aucun champ `authors`, seulement `contributions` et `by_statement`. Le repli implémenté passe par `/works/{id}.json` → clés d'auteurs → `/authors/{id}.json`, puis en dernier recours `by_statement`. Sans ce repli, l'auteur serait vide — c'est la même classe de bug que celui de BookLogr, sous une autre forme. - **Livres étrangers absents**, comme attendu du dépôt légal français : *Introduction to Algorithms* et *Effective Java* introuvables sous les deux formes d'ISBN. C'est exactement le rôle d'OpenLibrary en second rideau — la cascade est donc bien nécessaire, pas seulement confortable. ## Intégration SSO YunoHost