namespace MaBibli.Client.Composants; /// /// Ce qu'un coup de scanner a produit : le code du livre ou de la revue, et son add-on éventuel. /// /// EAN-13 normalisé, seul code qui identifie l'ouvrage. /// /// Contenu de l'add-on EAN-2, imprimé à côté du code principal sur les périodiques. /// /// /// ⚠️ L'EAN-2 est une indication, jamais une donnée acquise. Il porte le numéro de /// parution d'une revue — c'est sa raison d'être normative — mais rien n'a pu être vérifié sur /// des magazines réels : la vérification demande un exemplaire devant la caméra. Il est donc /// proposé à l'utilisateur dans un champ qu'il corrige, jamais enregistré tel quel. /// /// L'add-on EAN-5 n'est pas remonté : il porte un prix, et le confondre avec un /// numéro créerait des numéros « 00595 » que personne ne comprendrait. /// /// public readonly record struct CodeScanne(string Code, string? Parution); /// Forme brute renvoyée par scanner-camera.js, avant validation de l'ISBN. internal sealed record LectureCodeBarres(string? Code, string? Parution);