ebc5f95d4937041de70ef92b968d1a336714da1a
Le piege que CLAUDE.md signale : en Blazor WebAssembly le code tourne dans le navigateur alors que SQLite vit sur le serveur, et le service worker ne met en cache que les assets. Sans travail explicite, l'application demarre hors-ligne et affiche une bibliotheque vide. - js/cache-hors-ligne.js : instantanes JSON dans IndexedDB, et surveillance des bascules online/offline. Aucune logique metier. - CacheHorsLigne / EtatReseau : lecture-ecriture des instantanes, et etat reseau combinant navigator.onLine (fiable seulement par sa negation) avec le sort reel des appels HTTP. - ServiceLivresApi : les lectures retombent sur le cache, les ecritures sont refusees. Le catalogue entier est memorise, pas les reponses filtrees : c'est ce qui rend la recherche hors-ligne possible sur tout le fonds. - FiltreLivresLocal : pendant navigateur de FiltreLivres, avec un test qui confronte les deux implementations sur les memes donnees. - Interface : pastille et bandeau d'etat avec la date de synchronisation, et actions d'ecriture desactivees avec leur raison plutot que boutons morts. - js/mise-a-jour.js : les empreintes WASM etant desactivees, le service worker est le seul cache-busting du projet. L'enregistrement journalise desormais ses echecs, et un bandeau propose la nouvelle version sans attendre la fermeture de tous les onglets. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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 (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.mdpour 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.
Releases
2
Languages
C#
67.8%
HTML
25.8%
CSS
4%
JavaScript
2.2%
Dockerfile
0.2%