Files
Mathieu LimonierandClaude Opus 5 1373532345 Paquet YunoHost de MaBibli 1.0.0
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>
2026-08-22 22:36:27 +02:00

3.3 KiB

Où vivent les données

Quoi
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 permission mabibli.main.

Deux raisons, et ce sont des propriétés du code, pas des préférences :

  1. L'application n'a aucune authentification à elle. Elle lit l'en-tête YNH_USER que 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.
  2. 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.fr et openlibrary.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.