Une seule entrée d'ajout : « Ajouter un ouvrage »

Le geste réel est « j'ai un truc avec un code-barres », pas « je vais cataloguer un
livre » : obliger à savoir d'avance ce qu'on tient était un détour, d'autant que le
décodage distingue déjà un 978/979 d'un 977. Le même écran est atteint depuis le
catalogue et depuis les revues.

⚠️ Le MODÈLE ne bouge pas : une revue reste une Revue, jamais un Livre. Fondre les deux
tables aurait obligé à répéter « et qui n'est pas une revue » à chaque lecture du
catalogue, des compteurs, des doublons, des séries et des bibliographies.

- /ajout (alias /ajout/isbn) : « Ajouter un ouvrage », deux saisies manuelles distinctes
  puisque, sans code à lire, il faut bien trancher soi-même.
- Nouvelle page /revues/ajout : titre, ISSN et éditeur, puis la fiche de la revue. Elle
  remplace le champ posé au milieu de la liste des revues.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
mathieu
2026-08-20 21:13:01 +02:00
co-authored by Claude Opus 5
parent bd4fea2638
commit 0c4babd7b9
4 changed files with 152 additions and 60 deletions
+19 -5
View File
@@ -1,18 +1,28 @@
@page "/ajout"
@page "/ajout/isbn"
@inject ServiceLivresApi Api
@inject NavigationManager Navigation
@inject EtatReseau Reseau
@implements IDisposable
<PageTitle>MaBibli — ajouter par ISBN</PageTitle>
<PageTitle>MaBibli — ajouter un ouvrage</PageTitle>
<h1 class="titre-page">Ajouter par ISBN</h1>
@*
Entrée UNIQUE d'ajout, atteinte depuis le catalogue comme depuis les revues.
Le geste réel est « j'ai un truc avec un code-barres », pas « je vais cataloguer un livre » :
obliger à savoir d'avance ce qu'on tient était un détour, d'autant que le décodage sait
déjà distinguer un 978/979 (livre) d'un 977 (publication en série). Le modèle, lui, ne
bouge pas : une revue reste une Revue, jamais un Livre — voir CLAUDE.md.
*@
<h1 class="titre-page">Ajouter un ouvrage</h1>
@if (_etape == Etape.Saisie)
{
<p class="message-discret">
Scannez le code-barres, ou saisissez l'ISBN imprimé sur le livre.
Une douchette USB fonctionne telle quelle : le champ est déjà actif.
Scannez le code-barres, ou saisissez le code imprimé sur l'ouvrage — livre ou
magazine, l'application reconnaît lequel. Une douchette USB fonctionne telle quelle :
le champ est déjà actif.
</p>
@*
@@ -57,7 +67,11 @@
@onclick="OuvrirScanner">
Scanner
</button>
<a class="bouton bouton-discret" href="ajout/manuel">Saisir à la main</a>
@* Deux saisies manuelles, parce qu'il faut bien trancher soi-même quand aucun code
n'est là pour le faire : c'est le seul endroit où l'entrée unique doit poser la
question. *@
<a class="bouton bouton-discret" href="ajout/manuel">Saisir un livre</a>
<a class="bouton bouton-discret" href="revues/ajout">Saisir une revue</a>
</div>
}