Initial vault setup
This commit is contained in:
@@ -0,0 +1,128 @@
|
||||
---
|
||||
title: BookLogr
|
||||
created: 2026-06-07
|
||||
updated: 2026-06-07
|
||||
type: app
|
||||
tags: [catalogue, books, python, flask, suivi-lecture, personnel, simple]
|
||||
confidence: high
|
||||
contested: false
|
||||
sources: [https://selfh.st/apps/?tag=Books, https://github.com/MarcusKlaas/booklogr]
|
||||
---
|
||||
|
||||
# 🪶 BookLogr
|
||||
|
||||
> **Le journal de lectures minimaliste et efficace** — une app Python/Flask pour pister ce qu'on lit, ce qu'on a lu, et garder ses impressions, sans le bruit d'un Goodreads.
|
||||
|
||||
| Métadonnée | Valeur |
|
||||
| :--- | :--- |
|
||||
| **Site web** | [https://github.com/MarcusKlaas/booklogr](https://github.com/MarcusKlaas/booklogr) |
|
||||
| **GitHub** | [https://github.com/MarcusKlaas/booklogr](https://github.com/MarcusKlaas/booklogr) |
|
||||
| **License** | MIT |
|
||||
| **Langage** | Python 3.11+ (Flask) |
|
||||
| **Étoiles GitHub** | 30 ⭐ |
|
||||
| **Dernière MAJ** | 2025-09 |
|
||||
| **Catégorie** | [[cat-books\|Books]] |
|
||||
|
||||
## Description
|
||||
|
||||
BookLogr est une **application web minimaliste** de **suivi de lectures**, écrite en **Python / Flask** par Marcus Klaas. Le parti pris est radical : pas de réseau social, pas de federation, pas de catalogues à 200 millions d'ouvrages. Juste un **journal personnel** pour savoir ce que vous lisez, à quelle date, et ce que vous en avez pensé.
|
||||
|
||||
L'interface sobre propose trois « étagères » : **To-Read**, **Currently Reading** et **Read**. Vous ajoutez un livre manuellement (titre, auteur, ISBN optionnel), vous notez sur 5 étoiles, vous écrivez une **note libre**, et c'est tout. Pas de synchro Kindle, pas de scrobble, pas de partage : **vous, vos livres, et basta**.
|
||||
|
||||
Le projet brille par sa **simplicité de déploiement** : un fichier `app.py`, une base **SQLite** par défaut, **Bootstrap 5** pour l'UI, et une stack entièrement en Python standard. Idéal pour un **Raspberry Pi**, un **VPS léger** ou un **YunoHost**. Le code reste lisible (< 1000 lignes) et **personnalisable** en quelques minutes.
|
||||
|
||||
**Points forts** : ultra-léger (~ 50 Mo de RAM), SQLite embarqué, UI claire, philosophie "less is more", libre et modifiable.
|
||||
|
||||
**Points faibles** : pas de catalogue distant (pas d'OpenLibrary/Google Books), pas d'import Goodreads, pas d'application mobile, fonctionnalités figées, pas d'OPDS, communauté très réduite (30 étoiles).
|
||||
|
||||
## Installation
|
||||
|
||||
### Via Docker (recommandé)
|
||||
|
||||
```yaml
|
||||
# docker-compose.yml
|
||||
services:
|
||||
booklogr:
|
||||
image: ghcr.io/marcusklaas/booklogr:latest
|
||||
container_name: booklogr
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- BOOKLOGR_SECRET_KEY=change-me-to-a-long-random-string
|
||||
- BOOKLOGR_DATABASE_URL=sqlite:////data/booklogr.db
|
||||
- TZ=Europe/Paris
|
||||
volumes:
|
||||
- ./data:/data
|
||||
ports:
|
||||
- "8090:5000"
|
||||
```
|
||||
|
||||
### Installation manuelle (Python pur)
|
||||
|
||||
```bash
|
||||
# Cloner et installer
|
||||
git clone https://github.com/MarcusKlaas/booklogr.git
|
||||
cd booklogr
|
||||
python3 -m venv venv
|
||||
source venv/bin/activate
|
||||
pip install -r requirements.txt
|
||||
|
||||
# Lancer
|
||||
export BOOKLOGR_SECRET_KEY=$(python3 -c "import secrets; print(secrets.token_hex(32))")
|
||||
export FLASK_APP=booklogr
|
||||
flask run --host 0.0.0.0 --port 5000
|
||||
```
|
||||
|
||||
Prérequis : **Python 3.11+**, **pip**, **SQLite 3**, **2 Go de RAM** suffisent largement.
|
||||
|
||||
## Configuration
|
||||
|
||||
1. Accéder à `http://localhost:8090`, créer le compte local.
|
||||
2. Générer un **secret key** solide (32+ caractères hex) et l'exporter.
|
||||
3. Sauvegarder régulièrement `data/booklogr.db` (un simple `cp` ou un cron `rsync`).
|
||||
4. (Optionnel) Mettre derrière un **reverse-proxy HTTPS** :
|
||||
|
||||
```caddy
|
||||
livres.example.com {
|
||||
reverse_proxy localhost:8090
|
||||
}
|
||||
```
|
||||
|
||||
5. Pour un **usage multi-utilisateurs familial** : changer `BOOKLOGR_ALLOW_REGISTER` à `true` le temps de l'inscription, puis `false`.
|
||||
|
||||
## Alternatives
|
||||
|
||||
### Open source
|
||||
- [[app-mybibliotheca]] — Gestionnaire plus complet, PHP/SQLite
|
||||
- [[app-jelu]] — Version sociale et fédérée (Kotlin)
|
||||
- [[app-librum-books]] — Lecteur EPUB avec catalogue
|
||||
- **OpenReads** — Suivi de lectures mobile-first, Flutter
|
||||
- **Tachiyomi** — Surtout manga, pas livres
|
||||
|
||||
### Propriétaires
|
||||
- **Goodreads** — L'original, social mais tracking Amazon
|
||||
- **StoryGraph** — Moderne, freemium, pas self-hostable
|
||||
- **Notion / Obsidian** — Templates manuels possibles, sans la structure livre
|
||||
|
||||
## Sécurité
|
||||
|
||||
- ✅ **Authentification** : email + mot de passe (werkzeug hashing)
|
||||
- ✅ **Sessions Flask** signées (itsdangerous)
|
||||
- ✅ **CSRF** sur les formulaires
|
||||
- ✅ **HTTPS** recommandé (HSTS via reverse-proxy)
|
||||
- ⚠️ **Pas de 2FA** : coupler avec un SSO tiers si besoin
|
||||
- ⚠️ **Secret key** : à garder **strictement confidentiel**, ne pas le commit
|
||||
- ⚠️ **Sauvegarde SQLite** : backup quotidien du fichier `booklogr.db`
|
||||
|
||||
## Ressources
|
||||
|
||||
- [Dépôt GitHub](https://github.com/MarcusKlaas/booklogr)
|
||||
- [Issues / Roadmap](https://github.com/MarcusKlaas/booklogr/issues)
|
||||
- [selfh.st — Books](https://selfh.st/apps/?tag=Books)
|
||||
|
||||
## Pages Liées
|
||||
|
||||
- [[cat-books]] — Catégorie parente
|
||||
- [[app-mybibliotheca]] — Alternative PHP plus complète
|
||||
- [[app-jelu]] — Version sociale et fédérée
|
||||
- [[recettes-docker-compose]] — Templates Docker
|
||||
- [[app-caddy]] — Reverse-proxy HTTPS
|
||||
Reference in New Issue
Block a user