---
title: BiblioReads
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, books, lecteur, epub, minimaliste, open-source, static]
confidence: medium
contested: false
sources: [https://selfh.st/apps/?tag=Books, https://github.com/jeffshee/biblioreads]
---

# 📜 BiblioReads

> **Le lecteur de livres en ligne ultra-minimaliste** — uploadez un EPUB, lisez-le dans le navigateur. Pas de catalogue, pas de réseau social : juste la lecture.

| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | [https://biblioreads.com](https://biblioreads.com) (démo publique) |
| **GitHub** | [https://github.com/jeffshee/biblioreads](https://github.com/jeffshee/biblioreads) |
| **License** | GPL-3.0 |
| **Langage** | JavaScript (Node.js, Express, EPUB.js) |
| **Étoiles GitHub** | 10 ⭐ |
| **Dernière MAJ** | 2024-08 |
| **Catégorie** | [[cat-books\|Books]] |

## Description

BiblioReads est un **lecteur EPUB en ligne** radicalement simple : vous déposez un fichier `.epub` dans l'interface, et il s'ouvre dans le navigateur avec un **rendu soigné** (pagination, marque-pages, progression). Pas de base de données centrale, pas de comptes, pas de synchronisation cloud : la philosophie est celle d'un **Dropbox + liseuse** combinés.

L'application utilise **EPUB.js** (la référence Mozilla) pour le rendu, et un backend **Node.js / Express** minimal pour servir les fichiers et stocker les **annotations locales** (localStorage du navigateur). Le code est léger (< 500 lignes effectives) et conçu pour être **forké et modifié** facilement — ce qui en fait un excellent point de départ pour qui veut un lecteur maison sans les 50 Mo de Calibre-Web.

BiblioReads n'a **pas vocation à être un Calibre** : pas de gestion de bibliothèque, pas de métadonnées enrichies, pas d'OPDS, pas d'import Goodreads. C'est un **lecteur**, point. Idéal pour **héberger un petit kiosque EPUB** accessible depuis n'importe quel navigateur (PC, tablette, smartphone), sans rien de plus.

**Points forts** : ultra-simple à déployer, code minimal et lisible, EPUB.js éprouvé, support multi-formats partiels (EPUB, PDF, MOBI via convert), idéal pour kiosques familiaux.

**Points faibles** : projet peu étoilé (10 ⭐), dernière release vieille d'un an+, pas de catalogue distant, pas de multi-utilisateurs natif, pas de synchro entre appareils, ergonomie très basique (pas de thèmes, pas de recherche full-text), et **confiance limitée** sur la robustesse long terme.

## Installation

### Via Docker (placeholder communautaire)

L'image officielle n'est pas toujours à jour ; privilégier un build local.

```yaml
# docker-compose.yml
services:
  biblioreads:
    build: https://github.com/jeffshee/biblioreads.git
    container_name: biblioreads
    restart: unless-stopped
    environment:
      - PORT=3000
      - NODE_ENV=production
    volumes:
      - ./uploads:/app/uploads
    ports:
      - "3000:3000"
```

### Installation manuelle (Node.js)

```bash
git clone https://github.com/jeffshee/biblioreads.git
cd biblioreads
npm install
npm run build
npm start
```

Prérequis : **Node.js 18+**, **npm 9+**, **500 Mo de RAM** suffisent.

## Configuration

1. Builder l'application : `npm run build` (Webpack/Vite selon la version).
2. Définir le **dossier d'upload** (par défaut `./uploads`).
3. Lancer derrière un **reverse-proxy HTTPS** :

```nginx
server {
    listen 443 ssl http2;
    server_name livres.example.com;
    ssl_certificate /etc/letsencrypt/live/livres.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/livres.example.com/privkey.pem;

    client_max_body_size 100M;  # EPUB jusqu'à 100 Mo

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
```

4. (Optionnel) Brancher un **stockage S3** ou un **dossier NFS** pour les EPUB.

## Alternatives

### Open source
- [[app-calibre-web]] — Gestionnaire + lecteur, plus complet
- [[app-librum-books]] — Lecteur EPUB avec synchro multi-appareils
- [[app-mybibliotheca]] — Catalogue de bibliothèque, pas de lecteur
- **ReaderMode / Pocket** — Lecture différée web, pas EPUB
- **Kavita** (cf. [[app-kavita]]) — Lecteur manga/BD très complet

### Propriétaires
- **Kindle Cloud Reader** — Lecteur Amazon officiel, fermé
- **iBooks / Apple Books** — Lecteur Apple, fermé
- **Google Play Livres** — Lecteur Google, fermé
- **ReadEra** — App mobile Android, pas self-hostable

## Sécurité

- ✅ **HTTPS** obligatoire pour servir les EPUB
- ✅ **Limite de taille** d'upload côté reverse-proxy (ex. 100 Mo)
- ✅ **Pas d'auth par défaut** : usage mono-utilisateur ou kiosque familial
- ⚠️ **Pas d'auth native** : ajouter un reverse-proxy auth (BasicAuth, Authelia) si exposition publique
- ⚠️ **EPUB = archives ZIP** : risque XSS si rendu sans sandbox, EPUB.js isole par défaut
- ⚠️ **localStorage** : les annotations ne sont pas chiffrées au repos
- ⚠️ **Confiance projet** : 10 ⭐, maintenance sporadique — prévoir un fork si critique

## Ressources

- [Dépôt GitHub](https://github.com/jeffshee/biblioreads)
- [Démo publique](https://biblioreads.com)
- [EPUB.js](https://github.com/futurepress/epub.js)
- [selfh.st — Books](https://selfh.st/apps/?tag=Books)

## Pages Liées

- [[cat-books]] — Catégorie parente
- [[app-calibre-web]] — Lecteur + gestionnaire plus complet
- [[app-librum-books]] — Lecteur EPUB avec synchro cloud
- [[recettes-docker-compose]] — Templates Docker
- [[app-caddy]] — Reverse-proxy HTTPS
