Implémente C1 à C5 pour les séries et cycles
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
co-authored by
Copilot
parent
3d5e73838e
commit
ddc60898da
@@ -1908,3 +1908,29 @@ Points à réévaluer en cours de route, sans blocage :
|
||||
- **Wikidata en 3ᵉ source ISBN** : uniquement si la cascade BnF → OpenLibrary montre ses limites en usage réel.
|
||||
- **Démarrage hors-ligne par le service worker** : à confirmer dans un navigateur ordinaire, l'environnement d'automatisation ne permettant pas d'enregistrer un service worker (voir la section dédiée). Le reste du hors-ligne, lui, est vérifié.
|
||||
- **Taille de l'instantané** : 10 livres pèsent ~2,4 Ko de JSON. Rien à optimiser avant plusieurs milliers de fiches ; si le jour vient, découper par pages plutôt que renoncer à l'instantané complet, qui est ce qui rend la recherche hors-ligne possible.
|
||||
|
||||
## Lot C — séries, cycles et arborescence (2026-08-20)
|
||||
|
||||
Le cycle affiche désormais un arbre de profondeur non bornée par la base : `ArbreSerie.razor`
|
||||
descend récursivement les séries à partir de la liste plate de `GET /api/series`. Le chemin déjà
|
||||
rendu est transmis au composant afin qu'une boucle résiduelle en base coupe le rendu au lieu de
|
||||
provoquer une récursion Razor infinie ; le garde-fou serveur de remontée reste borné par le nombre
|
||||
de séries.
|
||||
|
||||
Les séries directement contenues dans un cycle se réordonnent par flèches via
|
||||
`PUT /api/series/{id}/sous-series/ordre`. Les tomes conservent leur propre ordre et la règle
|
||||
hors-ligne reste la même : les boutons d'écriture restent visibles mais désactivés avec
|
||||
`EtatReseau.MotifHorsLigne`.
|
||||
|
||||
Le pliage/dépliage est un état local de l'écran (`HashSet<int>`), volontairement non persistant :
|
||||
il s'agit d'un confort de lecture, pas d'une propriété de la série. Une série repliée montre son
|
||||
résumé ; une série dépliée montre ses tomes et ses descendants.
|
||||
|
||||
Les compteurs « possédés / total » sont calculés côté client par `TotauxSeries`, en sommant
|
||||
récursivement les éléments directs et ceux de tous les descendants. Le calcul est lui aussi
|
||||
protégé contre une boucle.
|
||||
|
||||
Depuis une place manquante, un ISBN passe par la cascade BnF puis OpenLibrary existante. Le
|
||||
candidat choisi peut créer un livre du catalogue puis rattacher la place, ou créer une envie avec
|
||||
les métadonnées complètes, notamment l'auteur trouvé par le lookup. Les revues (préfixe `977`) ne
|
||||
font pas partie de ce flux : `ElementSerie.LivreId` ne pointe que vers `Livre`.
|
||||
|
||||
Reference in New Issue
Block a user