Files
2026-06-09 18:40:21 +02:00

129 lines
5.0 KiB
Markdown

---
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