Installe l'archive self-contained publiée en release du dépôt du code, amd64 ou arm64 selon la machine. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
3.3 KiB
Où vivent les données
| Quoi | Où |
|---|---|
| Binaires et client web | /var/www/mabibli |
| Base SQLite | /home/yunohost.app/mabibli/mabibli.db |
| Journaux | journalctl -u mabibli |
La base est séparée des binaires : une mise à jour remplace /var/www/mabibli sans toucher
aux données, et le schéma est migré automatiquement au démarrage. Rien à lancer à la main.
Qui a accès
⚠️ MaBibli est une application privée
Elle n'est pas faite pour être publique. L'installation la règle sur
all_users— les comptes du serveur — et ne pose pas la question, parce qu'il n'y a pas de bonne raison de l'ouvrir plus large.N'ajoutez jamais le groupe
visitorsà la permissionmabibli.main.Deux raisons, et ce sont des propriétés du code, pas des préférences :
- L'application n'a aucune authentification à elle. Elle lit l'en-tête
YNH_USERque le portail YunoHost injecte à chaque requête, et lui fait confiance. Ouverte aux visiteurs, plus personne n'écrit cet en-tête : tout ce qui est personnel — statuts de lecture, liste d'envies — devient lisible et modifiable par n'importe qui.- Toute personne autorisée peut tout modifier, y compris supprimer des livres du catalogue commun. Il n'existe ni rôle, ni lecture seule, ni journal des suppressions. C'est assumé pour un foyer, dont les membres se connaissent.
Restreindre plus (un groupe dédié) est parfaitement légitime, et se fait dans les permissions YunoHost (
mabibli.main). C'est l'élargissement qui est un contresens.
MaBibli n'a pas de connexion propre : l'identité vient du portail YunoHost. Réglez les accès
dans les permissions YunoHost (mabibli.main), pas dans l'application.
La collection est commune à toutes les personnes autorisées. Les statuts de lecture sont personnels, les prêts sont communs.
⚠️ Ne jamais élargir l'écoute du service. Il écoute sur 127.0.0.1 uniquement, et c'est
une frontière de sécurité : l'application fait confiance à l'en-tête YNH_USER parce que
SSOwat l'écrase à chaque requête. Un service joignable directement permettrait de le forger.
Sauvegarde manuelle
La base est en mode WAL : un cp du fichier .db peut ne rien sauvegarder du tout.
sqlite3 /home/yunohost.app/mabibli/mabibli.db ".backup '/quelque/part/mabibli.db'"
yunohost backup create fait déjà ce qu'il faut, sans arrêter le service.
Ce dont le serveur a besoin
- Accès sortant HTTPS vers
catalogue.bnf.fretopenlibrary.org, pour pré-remplir les fiches depuis un ISBN. Sans lui l'application marche, mais toute saisie devient manuelle. - HTTPS pour le scan du code-barres : les navigateurs n'ouvrent la caméra qu'en contexte sécurisé. Le certificat Let's Encrypt de YunoHost suffit ; joindre le serveur par son IP locale fera toujours échouer le scan. La saisie manuelle reste disponible.
- Un domaine entier. MaBibli ne s'installe pas sous un sous-chemin : le client Blazor fige son chemin de base à la compilation, et rien n'est compilé sur le serveur.
Le détail — conception du paquet, publication, mise à jour pas à pas, retour arrière — est dans le README du dépôt du code.