Source docs/publication.fr.md · 1de96aa

Publier dans une bibliothèque

Le propriétaire d’un volume utilise Publier ce livre pour mettre une copie en file. Le worker construit un EPUB, y compris depuis TXT, JSON ou DOCX, sans appel modèle ni mot de licence supplémentaire. Livre publié signifie que le fichier est écrit, pas que le serveur de lecture l’a déjà indexé.

Installation

Dans Réglages › Publication en bibliothèque, l’administrateur active l’envoi, choisit un dossier et, s’il le souhaite, l’automatisme à la fin des traductions et relectures. Ces valeurs remplacent DELIVERY_DIR ; Revenir à DELIVERY_DIR restaure l’environnement. Un chemin relatif se trouve sous DATA_DIR. Le chemin est celui du worker, avec des droits d’écriture pour son utilisateur.

Saisir un chemin ne monte pas un dossier de l’hôte. Exemple de fichier Compose complémentaire à adapter à votre installation, sans remplacer ses volumes existants :

services:
  worker:
    volumes:
      - /srv/libris-publication:/library

Renseignez ensuite /library dans Libris. Montez le même dossier dans la bibliothèque, en lecture seule lorsqu’elle ne fait que lire ; un importeur qui déplace les fichiers nécessite d’autres droits. Vérifiez qui peut lire ce dossier : l’automatisme publie les volumes terminés de l’installation, pas seulement ceux de l’administrateur. Des lecteurs extérieurs à Libris peuvent y accéder.

Configurer la bibliothèque

BibliothèqueÉtape restante
KomgaActivez les sous-dossiers par série, ajoutez le dossier parent comme bibliothèque et autorisez EPUB. Activez l’import des métadonnées EPUB des livres et séries, puis choisissez un scan périodique ou manuel.
KavitaActivez Un sous-dossier par série ; aucun livre ne doit rester à la racine de sa bibliothèque. Configurez son scanner. Le regroupement dépend aussi des métadonnées EPUB.
Calibre-Web classiqueUtilisez un dossier d’arrivée séparé de la bibliothèque Calibre, avec un importeur vers sa base. Copier un EPUB à côté de metadata.db ne l’importe pas.
OPDS / liseuseAprès indexation, utilisez le catalogue OPDS de votre bibliothèque pour acquérir le livre. OPDS n’est pas un protocole universel de téléversement.

Procédures des projets : Komga, Kavita, import automatique Calibre-Web. Libris n’écrit jamais dans metadata.db et ne stocke aucun identifiant HTTP de bibliothèque.

Suivi et reprise

Actualiser la publication montre l’état durable, le nombre de tentatives et la prochaine échéance. Après huit échecs, Réessayer la publication permet de repartir une fois le dossier ou le livre corrigé. Un worker redémarré reprend une réservation expirée après cinq minutes. Un échec de publication ne change pas le succès du travail de traduction. Un collaborateur peut consulter l’état mais seul le propriétaire peut demander un envoi ; le chemin serveur n’est pas exposé aux lecteurs.

L’automatisme couvre aussi le pipeline complet qui commence par l’analyse. Si la demande elle-même ne peut pas être enregistrée en base, le rapport du travail indique delivery.error_code=queue_failed et le journal delivery=queue_failed : aucune reprise automatique n’est promise pour une demande non enregistrée. Après résolution, utilisez Publier ce livre ; la traduction reste terminée.

Changer de dossier refuse les anciennes demandes : relancez explicitement pour choisir la nouvelle destination. Désactiver l’envoi bloque les prochaines écritures ; réactiver permet aux demandes encore en attente de repartir. Les fichiers déjà copiés ne sont jamais supprimés par une désactivation, la suppression du volume dans Libris ou un rollback.

Les noms portent l’identifiant du volume : les homonymes ne s’écrasent pas. La nouvelle copie remplace atomiquement l’ancienne ; un échec de préparation laisse l’ancien EPUB intact. Les sous-dossiers ont des identifiants de série stables. Changer l’organisation ou déplacer un volume peut laisser une ancienne copie à classer manuellement : Libris ne supprime aucun fichier externe silencieusement.

Nom de série et ordre des tomes

Un volume rattaché à une série porte son nom actuel dans les métadonnées EPUB 3 belongs-to-collection, avec collection-type=series et son numéro dans group-position. Sans numéro dans Libris, aucun ordre n’est inventé. Le titre du livre reste distinct du nom de série. Ces métadonnées remplacent l’ancienne série éventuellement importée, y compris les champs Calibre ; les autres collections explicitement typées restent conservées. Sans série Libris, le regroupement du fichier original est conservé.

Pour une source EPUB 2, cette publication passe en EPUB 3 avec une navigation ajoutée ; images, styles et ordre des chapitres restent conservés. EPUBCheck bloque un fichier non conforme au lieu de publier une conversion dégradée. Les exports téléchargés directement ne changent pas de format pour cette seule raison ; ces métadonnées concernent la publication et la livraison par mail.

Après modification de la série ou du numéro, redemandez la publication des tomes concernés puis faites scanner la bibliothèque. Les chemins UUID restent les mêmes. Un lecteur peut néanmoins recréer son propre regroupement lors d’un changement de nom : la conservation de ses identifiants internes et de sa progression de lecture ne dépend pas de Libris.

Correspondances documentées par Komga et Kavita.

Limites et vérification

Pas d’export partiel masquant des passages non traduits. Précontrôle avant chargement Python : 100 000 passages, 5 000 chapitres, 60 millions de caractères/JSON des passages et 60 millions de métadonnées des chapitres. Ce sont des bornes de travail, pas une limite physique absolue de mémoire. Les validations du fichier source et d’EPUBCheck restent applicables.

Les tests de Libris vérifient les fichiers, la file et la reprise. Des essais isolés dans Komga et Kavita vérifient également l’indexation de deux volumes TXT publiés et les métadonnées de série ; cela ne vérifie pas votre configuration externe. Les volumes sans couverture gardent cette limite. Validez un livre témoin non confidentiel dans votre lecteur avant d’activer l’automatisme.

Vers Nextcloud ou un serveur WebDAV

La publication en bibliothèque écrit dans un dossier monté dans le worker et choisi par l’administrateur. Pour déposer un livre dans son Nextcloud, ownCloud ou NAS, chaque compte peut enregistrer une connexion WebDAV (Mon compte › Connexions Nextcloud / WebDAV, activée par WEBDAV_HOSTS) puis utiliser Envoyer vers Nextcloud/WebDAV depuis la page du livre : même file durable, mêmes états et mêmes reprises, dans le format et le dossier de son choix. Une connexion peut aussi recevoir automatiquement chaque livre terminé de son compte (case Envoyer automatiquement chaque livre terminé vers cette connexion), indépendamment de la publication automatique en bibliothèque. Voir le guide d’utilisation.