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