- Hors-ligne : consultation seule via cache des reponses GET. SQLite WASM cote client ecarte. L'UI devra desactiver explicitement les ecritures hors-ligne plutot que de les laisser echouer. - Portee des donnees : collection commune au foyer. `UtilisateurId` (proprietaire) devient `AjoutePar` (tracabilite) — ne jamais filtrer les lectures dessus. - Sources ISBN : BnF (SRU) en principale, OpenLibrary en secours. Motif : OpenLibrary est lacunaire sur le fonds francais. API BnF pas encore testee, a valider avant implementation. - SSO : en-tetes SSOwat `YNH_USER` / `YNH_USER_EMAIL` / `YNH_USER_FULLNAME`. OIDC ecarte, non documente par YunoHost (verifie ce jour). Corrige au passage le nom d'en-tete, qui n'est pas `Remote-User`. - Ebooks : fiches uniquement, pas de stockage de fichiers. Les prets ne concernent donc que les livres physiques. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
31 lines
1.9 KiB
Markdown
31 lines
1.9 KiB
Markdown
# MaBibli
|
|
|
|
Application de gestion de bibliothèque personnelle, self-hosted sur YunoHost.
|
|
|
|
## Demande initiale
|
|
|
|
Gérer une bibliothèque personnelle (livres physiques et numériques), avec :
|
|
|
|
- **Liste des livres physiques**
|
|
- **Liste des livres ebooks**
|
|
- **Gestion de prêts** — prêter un livre à quelqu'un, marquer comme récupéré, historique des prêts
|
|
- **Récupération automatique des infos via ISBN** (titre, auteur, éditeur, couverture) — scan caméra + saisie manuelle
|
|
- **Consultation hors-ligne** de la bibliothèque existante (le lookup ISBN, lui, nécessite le réseau)
|
|
- **Statuts de lecture** — à lire, en cours, lu, etc.
|
|
|
|
## Contraintes techniques
|
|
|
|
- **Langage** : C# / ASP.NET Core
|
|
- **Frontend** : Blazor WebAssembly, en **PWA** (installable, utilisable hors-ligne pour la consultation de la bibliothèque déjà enregistrée)
|
|
- **Scan code-barres** : **ZXing.Net** (décodage EAN-13 en C#, pas de bibliothèque JS tierce)
|
|
- **Accès** : smartphone (GSM) et PC, via navigateur
|
|
- **Multi-utilisateur** : géré via le SSO de **YunoHost** (en-têtes SSOwat, pas d'auth custom) — **collection commune** au foyer, avec traçabilité de qui a ajouté chaque livre
|
|
- **Base de données** : **SQLite**
|
|
- **Hébergement** : **YunoHost**, en installation **native (sans Docker)** — packaging façon `_ynh`, inspiré de [radarr_ynh](https://github.com/YunoHost-Apps/radarr_ynh) (déploiement .NET self-contained, pas de dépendance dotnet-runtime côté système)
|
|
- **Sources ISBN** : cascade **BnF (SRU) puis OpenLibrary** — bases libres, sans clé API, pas de dépendance à Google Books. La BnF passe en premier pour la couverture du fonds francophone. Voir `CLAUDE.md` pour le détail
|
|
- **Ebooks** : fiches d'inventaire uniquement, les fichiers ne sont pas hébergés par l'application
|
|
|
|
## Statut
|
|
|
|
Projet en tout début de structuration. Voir `CLAUDE.md` pour le contexte complet à destination de Claude Code.
|