← tous les articles
·7 min de lecture

Ma bibliothèque numérique auto-hébergée, de la demande à la liseuse

Livres, BD, magazines : tout dans une bibliothèque rangée toute seule, qu'on alimente en un clic et qui se synchronise avec n'importe quelle liseuse. Kobo, Kindle, PocketBook, Boox : mode d'emploi.

#auto-hébergement#livres#liseuse#homelab

Des EPUB dans un dossier « Téléchargements », des BD dans un autre, des magazines en PDF éparpillés un peu partout… et au moment de lire, impossible de retrouver quoi que ce soit. Je voulais l’équivalent de ce que j’ai déjà pour les films et les séries : une vraie bibliothèque, rangée toute seule, qu’on alimente en un clic, et qui se retrouve sur la liseuse sans câble.

Voici ce que j’ai monté. Tout tourne chez moi, sur mon homelab, avec uniquement des logiciels libres.

Le principe en une image

Le circuit d’un livre : demande, téléchargement, bibliothèque, liseuse

Quatre briques, chacune avec un rôle précis :

Brique Rôle En une phrase
Shelfmark La porte d’entrée « Je veux ce livre » : on cherche, on clique, c’est tout.
LazyLibrarian La veille Il surveille mes auteurs et récupère leurs nouveautés dès leur sortie.
Calibre-Web Automated La bibliothèque Il range, corrige les fiches, convertit, et sert les livres à la liseuse.
Un petit script maison Le bibliothécaire Il classe chaque arrivée dans le bon rayon.

La bibliothèque : Calibre-Web Automated

Le cœur du système, c’est Calibre-Web Automated (CWA). C’est une version « automatisée » de Calibre-Web, l’interface web de Calibre, le logiciel de référence pour gérer des livres numériques.

Son grand atout : un dossier de dépôt. Tout fichier qu’on y pose est avalé, analysé et ajouté à la bibliothèque :

  • il lit le titre, l’auteur et la série dans le fichier, et va chercher la couverture et le résumé s’il en manque ;
  • il convertit au besoin les formats exotiques (MOBI, AZW3…) en EPUB, le format que lisent toutes les liseuses ;
  • il laisse en revanche les BD (CBZ, CBR) et les PDF tels quels, sinon on obtiendrait des pages illisibles.

Une seule bibliothèque, mais des rayons : Calibre-Web sait créer des étagères « magiques », remplies automatiquement selon des règles. J’en ai quatre :

  • 📖 Livres : romans, essais… tout ce qui n’est pas dans un autre rayon ;
  • 💬 BD & mangas ;
  • 📰 Presse : les journaux, datés d’un jour précis ;
  • 🗞️ Magazines.

L’étagère « Livres » de Calibre-Web : les couvertures, les auteurs et le numéro dans la série

L’étagère « BD & mangas », remplie automatiquement d’après le format des fichiers

Le rangement repose sur une étiquette par document. C’est là qu’intervient mon petit script : toutes les heures, il regarde ce qui est arrivé sans étiquette et le classe d’après son format. Un CBZ va en BD. Un PDF avec une date du jour dans son titre va en Presse, les autres PDF en Magazines. Je n’ai jamais à ranger quoi que ce soit à la main.

La fiche d’un livre : série et numéro de tome, langue, étiquette, éditeur et date de parution corrigés

💡 Un piège à connaître. Juste après un import, CWA retravaille la fiche pendant quelques minutes et écrase ce qu’on y a modifié entre-temps. Mon script attend donc dix minutes avant de poser ses étiquettes, puis vérifie qu’elles sont bien restées.

Demander un livre : Shelfmark

Pour les films et les séries, j’utilise Seerr : on cherche un titre, on clique sur « Demander », et le reste se fait tout seul. Pour les livres, l’outil historique, Readarr, a été abandonné par ses développeurs. Son remplaçant le plus agréable s’appelle Shelfmark, et il est écrit par l’auteur de CWA, ce qui ne gâche rien.

À l’usage, c’est exactement ce que je voulais :

  1. je tape un titre ou un auteur ;
  2. Shelfmark affiche les livres avec leur couverture (fiches Open Library), et signale ceux que j’ai déjà ;
  3. je choisis une version, en français et au format EPUB par défaut ;
  4. il télécharge, renomme le fichier et le dépose dans le dossier de CWA. Deux minutes plus tard, le livre est sur son étagère.

Une recherche dans Shelfmark : les livres de l’auteur avec leur couverture, un bouton « Get » pour chacun

Le badge « In library » : Shelfmark sait ce qui est déjà dans la bibliothèque

Détail pratique : on s’y connecte avec les comptes de Calibre-Web. Un seul identifiant pour toute la bibliothèque.

Shelfmark a une limite : sa recherche passe par les fiches de livres. Un numéro de magazine n’a pas de fiche, donc pour la presse, je passe par une recherche classique dans mes sources. Le fichier tombe ensuite dans le même circuit et se range tout seul.

Suivre un auteur : LazyLibrarian

Shelfmark sert pour un livre précis. Pour ne rien rater des prochaines sorties d’un auteur, j’ai gardé LazyLibrarian :

  • j’ajoute un auteur, par exemple Franck Thilliez ;
  • ses livres déjà parus ne bougent pas : je ne veux pas télécharger toute sa bibliographie d’un coup ;
  • dès qu’un nouveau titre paraît, il passe en « recherché », il est récupéré, et il arrive dans la bibliothèque comme les autres.

LazyLibrarian : une recherche sur l’auteur, avec les boutons « Ajouter l’auteur » et « Ajouter le livre »

Réglage important : il faut lui dire de copier les fichiers vers CWA, et non de les déplacer. Le dossier de dépôt de CWA efface tout ce qu’il importe, et on ne veut pas perdre l’original.

Et la liseuse dans tout ça ?

C’est la partie la plus agréable : Calibre-Web parle à toutes les liseuses, mais pas de la même façon selon la marque.

Kobo : la synchronisation complète ⭐

C’est le meilleur cas, et la raison pour laquelle je conseille une Kobo à qui veut une bibliothèque perso. Calibre-Web sait se faire passer pour la boutique Kobo :

  1. dans Calibre-Web, on ouvre son profil. À la ligne Jeton de synchro Kobo, le bouton Créer/Visualiser donne une adresse personnelle ;
  2. on branche la Kobo en USB, on ouvre le fichier .kobo/Kobo/Kobo eReader.conf et, dans la section [OneStoreServices], on remplace la ligne api_endpoint= par cette adresse ;
  3. on éjecte, on appuie sur Synchroniser, et les livres arrivent.

Dans le profil Calibre-Web : le bouton qui crée le jeton de synchronisation Kobo, et l’option pour ne synchroniser que certaines étagères

Le résultat : les livres apparaissent avec leur couverture, on choisit quelles étagères synchroniser (Livres et Presse, sans les BD par exemple), et la progression de lecture remonte dans Calibre-Web. La boutique Kobo continue de fonctionner, car Calibre-Web lui transmet tout ce qu’il ne gère pas lui-même.

Il faut seulement que la bibliothèque soit joignable depuis l’extérieur, en HTTPS, pour pouvoir synchroniser hors de chez soi. Chez moi, elle est derrière mon reverse proxy, avec un certificat Let’s Encrypt.

Kindle : l’envoi par e-mail

Amazon ne laisse pas un serveur tiers se brancher sur la Kindle. On passe donc par Send to Kindle :

  1. dans Calibre-Web, on configure un serveur d’envoi d’e-mails (paramètres SMTP) ;
  2. dans son profil, on renseigne son adresse @kindle.com ;
  3. sur le site d’Amazon, on autorise l’adresse d’expédition du serveur ;
  4. sur chaque livre, un bouton Envoyer vers la Kindle apparaît.

Depuis 2022, Send to Kindle accepte directement l’EPUB. En revanche, pas de CBZ pour les BD, et la progression de lecture ne remonte pas. Ça marche, mais c’est la solution la moins intégrée.

PocketBook, Vivlio, Boox et les autres : OPDS

OPDS, c’est un catalogue de livres standard, que beaucoup de liseuses et d’applications savent lire. Calibre-Web en publie un à l’adresse /opds de la bibliothèque. On l’ajoute avec son identifiant et son mot de passe, puis on parcourt sa bibliothèque depuis la liseuse et on télécharge ce qu’on veut lire.

  • PocketBook : dans l’application « Bibliothèque réseau ».
  • Boox (Android) : avec une application de lecture compatible OPDS, comme KOReader, Moon+ Reader ou Librera.
  • Téléphone et tablette : même principe avec une application compatible OPDS.

KOReader : le couteau suisse

KOReader est une application de lecture libre, qui s’installe sur la plupart des liseuses (Kobo, Kindle débridée, PocketBook, Android). Elle gère l’OPDS, les PDF et les BD bien mieux que les lecteurs d’origine. Et CWA intègre un serveur KOSync : la progression de lecture est synchronisée entre la liseuse, le téléphone et la tablette.

Et sans liseuse ?

Calibre-Web a un lecteur intégré : un clic sur un livre, et on lit dans le navigateur, sur n’importe quel écran. Pratique pour feuilleter une BD sur la tablette.

Récapitulatif

Je veux… J’utilise
Un livre ou une BD précise Shelfmark : je cherche, je clique
Toutes les nouveautés d’un auteur LazyLibrarian : « Ajouter un auteur »
Lire, ou envoyer sur la liseuse Calibre-Web
Ranger Personne : c’est automatique 😄

Ce que j’en retiens

  • Une seule bibliothèque, plusieurs portes d’entrée : chaque outil fait une chose et la fait bien, et tout converge vers le même dossier de dépôt.
  • Copier, jamais déplacer : c’est la règle d’or dès qu’un outil confie ses fichiers à un autre.
  • Le choix de la liseuse compte autant que le logiciel : avec une Kobo, l’expérience est celle d’une boutique, mais avec ma bibliothèque derrière.

Prochaine étape : choisir la liseuse. Je penche pour une Kobo Libra Colour, pour la couleur des BD et la synchronisation native. Ce sera sûrement l’objet d’un prochain article.

⚖️ Une bibliothèque auto-hébergée n’est qu’un outil de rangement : à chacun de n’y faire entrer que des livres qu’il a le droit de posséder.