Le fichier expliquait POURQUOI les choix avaient ete faits — le mode WAL mesure a 4 Ko contre 205 Ko, la justification du domaine entier, la portee commune ou personnelle de chaque donnee. Ces raisons ont leur place dans le README du depot du code, pas dans un panneau que YunoHost affiche apres installation. Ne restent que les gestes : ou sont les donnees, ou se reglent les acces, la commande de sauvegarde manuelle correcte, et ce dont le serveur a besoin pour fonctionner. 82 lignes -> 47. ⚠ L'acces sortant vers catalogue.bnf.fr et openlibrary.org est conserve : c'est le seul endroit du projet ou il soit documente. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
48 lines
2.1 KiB
Markdown
48 lines
2.1 KiB
Markdown
## 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 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.**
|
|
|
|
```bash
|
|
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](https://git.akbar.nohost.me/mathieu/mabibli#readme).
|