Ajouter la liste d'envies personnelle, son export et la bibliographie par auteur
La liste d'envies vit dans une table séparée (LivreSouhaite) plutôt que dans un statut de plus sur Livre : un livre souhaité n'est pas possédé, et le loger dans Livres l'aurait fait entrer dans le catalogue, les compteurs et les prêts, au prix d'un « et qui n'est pas souhaité » à répéter dans chaque lecture. La portée est personnelle, comme le statut de lecture — mais ici Utilisateur est une vraie frontière : toute lecture filtre dessus. Bibliographie : SRU BnF interrogé par bib.author, vérifié le 2026-08-18. Deux filtres mesurés sur des réponses réelles sont indispensables — le type de document (l'index mêle livres audio, jeux et spectacles) et surtout l'auteur réel de la notice, « all » rapprochant les mots sur l'ensemble des auteurs : « Émile Zola » remonte sinon toute l'œuvre de sa fille Denise Le Blond-Zola. Les rééditions sont regroupées par clé d'œuvre (183 notices Werber -> 51 œuvres). Le rapprochement avec l'étagère se fait par titre, pas par ISBN, qui désigne une édition et non une œuvre ; ses limites sont dites à l'écran. Export en deux formats, tous deux du texte sans dépendance : .txt groupé par auteur pour la librairie, .csv à séparateur point-virgule et BOM pour le tableur. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -24,6 +24,14 @@ public class IsbnLookupServiceTests
|
||||
IsbnInterroges.Add(isbn);
|
||||
return Task.FromResult((Reponse(isbn), Avertissement));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Ces tests ne portent que sur la cascade ISBN : la recherche par auteur n'y intervient
|
||||
/// pas, mais l'interface l'exige. Elle est couverte par BnfBibliographieParserTests.
|
||||
/// </summary>
|
||||
public Task<(ResultatBibliographie, string?)> RechercherParAuteurAsync(
|
||||
string auteur, CancellationToken ct = default) =>
|
||||
Task.FromResult((new ResultatBibliographie(), (string?)null));
|
||||
}
|
||||
|
||||
private sealed class OpenLibraryFake : IOpenLibraryClient
|
||||
@@ -181,5 +189,13 @@ public class IsbnLookupServiceTests
|
||||
DerniereCouverture = urlCouverture;
|
||||
return Task.FromResult(((IReadOnlyList<CandidatLivre>)[], (string?)null));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Ces tests ne portent que sur la cascade ISBN : la recherche par auteur n'y intervient
|
||||
/// pas, mais l'interface l'exige. Elle est couverte par BnfBibliographieParserTests.
|
||||
/// </summary>
|
||||
public Task<(ResultatBibliographie, string?)> RechercherParAuteurAsync(
|
||||
string auteur, CancellationToken ct = default) =>
|
||||
Task.FromResult((new ResultatBibliographie(), (string?)null));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user