Initial vault setup

This commit is contained in:
2026-06-09 18:40:21 +02:00
commit bda02d587f
3692 changed files with 402457 additions and 0 deletions
@@ -0,0 +1,135 @@
---
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