Files
wiki/Catalogue-Self-Hosted/apps/app-booklogr.md
T
2026-06-09 18:40:21 +02:00

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

  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 :
livres.example.com {
    reverse_proxy localhost:8090
}
  1. 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

Pages Liées