5.5 KiB
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 (démo publique) |
| GitHub | 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 |
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.
# 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)
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
- Builder l'application :
npm run build(Webpack/Vite selon la version). - Définir le dossier d'upload (par défaut
./uploads). - Lancer derrière un reverse-proxy HTTPS :
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;
}
}
- (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
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