Sépare consultation et édition pour les lots B1 B2 B3

Réutilise la carte livre du catalogue, sépare les modes des séries et des envies, et déplie les œuvres bibliographiques non possédées.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
LIMONIER Mathieu
2026-08-20 13:11:43 +02:00
co-authored by Copilot
parent 5d45eb492e
commit 3d5e73838e
8 changed files with 238 additions and 87 deletions
+20
View File
@@ -1766,6 +1766,26 @@ affichée, convertir en WebP). IDEES.md posait la question à mesurer avant de s
règle que pour l'AOT WASM — non fait tant que la taille du cache image n'a pas montré de
problème réel en usage.
## Lot B — consulter d'abord, modifier ensuite (2026-08-20)
`CarteLivre.razor` est le composant partagé des cartes du catalogue. Il reçoit un `LivreDto`,
porte la couverture, les auteurs et les étiquettes de format, type, statut, prêt et éditeur,
et le catalogue l'utilise lui-même. Une œuvre bibliographique possédée réutilise cette carte
quand son livre est disponible.
Pour une série, `/series/{id}` est la consultation : parenté, tomes, carte du livre rattaché,
réordonnancement, rattachement, ajout et retrait restent des gestes courants. Seuls le titre,
la parenté dans un cycle et la suppression sont dans `/series/{id}/edition`. Comme pour la
fiche livre, le composant s'abonne à `LocationChanged` car les routes partagent le même paramètre.
Pour les envies, `/souhaits` consulte et conserve l'export et la suppression courante.
`/souhaits/ordre` porte exclusivement le réordonnancement (flèches et glisser-déposer), afin
que ces contrôles ne puissent pas être déclenchés en faisant défiler la liste.
Une œuvre bibliographique non possédée n'a pas de fiche locale. Son titre est donc un bouton
qui déplie inline son ISBN et son nombre d'éditions, tandis que les œuvres possédées ouvrent
leur fiche via la carte partagée.
## Installation YunoHost — éprouvée en production le 2026-08-18
Le paquet vit dans le dépôt `mabibli_ynh` (voir « Deux dépôts distincts »). Installé,