5.0 KiB
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 |
| GitHub | https://github.com/MarcusKlaas/booklogr |
| License | MIT |
| Langage | Python 3.11+ (Flask) |
| Étoiles GitHub | 30 ⭐ |
| Dernière MAJ | 2025-09 |
| Catégorie | cat-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é)
# 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)
# 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
- Accéder à
http://localhost:8090, créer le compte local. - Générer un secret key solide (32+ caractères hex) et l'exporter.
- Sauvegarder régulièrement
data/booklogr.db(un simplecpou un cronrsync). - (Optionnel) Mettre derrière un reverse-proxy HTTPS :
livres.example.com {
reverse_proxy localhost:8090
}
- Pour un usage multi-utilisateurs familial : changer
BOOKLOGR_ALLOW_REGISTERàtruele temps de l'inscription, puisfalse.
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
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