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