Aller au contenu
Retour

EpubTools

Raphaël CC-BY

Code source

EPUB Tools

Application locale d’inspection et de correction de fichiers EPUB.

image


Fonctions

EPUB Tools propose six fonctions :

PageFonction
MétadonnéesAffiche titre, auteur, langue, éditeur, date… extraits du manifeste OPF, ainsi que la couverture si elle est détectée
AperçuFeuillette l’EPUB chargé, repaginable ou fixed layout, avec sommaire et curseur de position (fichiers jusqu’à 500 Mo). Voir ci-dessous
EPUBcheckLance le validateur officiel W3C et liste les erreurs et avertissements de conformité — utile avant de soumettre un fichier à une plateforme de distribution
Images auditListe toutes les images de l’EPUB avec leur type, taille et résolution (calculée à la demande). Les images dépassant 5,6 Mpx — seuil courant des liseuses et tablettes — sont signalées. Si des images hors seuil sont détectées, une fonction de redimensionnement automatique est proposée sur la même page : elle réduit les images concernées, met à jour les attributs HTML correspondants et produit un nouvel EPUB corrigé, nommé <nom>_resized.epub, dans le dossier de sortie choisi (Téléchargements par défaut). Options : écraser un fichier existant, valider le résultat avec EPUBcheck. Le chemin complet du fichier produit est affiché, avec un bouton pour ouvrir le dossier
Epub to markdownConvertit l’EPUB chargé en bundle Markdown (un fichier .md par chapitre). Réservé aux EPUB repaginables. Voir ci-dessous
Traitement par lotApplique le redimensionnement à tous les EPUB d’un dossier et, en option, remplace leur couverture par un JPG fourni. Voir ci-dessous

Les pages Métadonnées, Aperçu, EPUBcheck, Images audit et Epub to markdown portent sur l’EPUB chargé dans la barre latérale (1 Go maximum).


Aperçu

La page Aperçu affiche l’EPUB chargé dans un feuilleteur intégré, sans quitter l’application ni installer de liseuse.

L’aperçu est proposé pour les fichiers de 500 Mo maximum : au-delà, le navigateur devrait garder tout le fichier en mémoire et l’affichage deviendrait trop lent. Le chargement d’un gros fichier prend quelques secondes (barre de progression).

Le rendu est assuré par foliate-js, le moteur de la liseuse Foliate. Il est proche de celui d’une liseuse, sans en être la copie exacte : pour une validation finale, rien ne remplace un test sur l’appareil cible.

L’aperçu fonctionne quand le navigateur tourne sur le même poste que l’application (cas normal avec run.bat). Ouverte depuis un autre poste du réseau, la zone d’aperçu reste vide.


Conversion en Markdown

La page Epub to markdown convertit l’EPUB chargé en un dossier de fichiers Markdown, facile à relire, à rechercher ou à retravailler dans un éditeur de texte. Le fichier original n’est pas modifié.

Réservé aux EPUB repaginables. Si l’OPF déclare une mise en page fixe (<meta property="rendition:layout">pre-paginated</meta>), la conversion est refusée : le texte d’un fixed layout est découpé en blocs positionnés et ne donnerait pas un Markdown exploitable.

Utilisation

  1. Dossier de sortie : laissé vide, il vaut le dossier Téléchargements. Le bundle y est créé dans un sous-dossier nommé d’après le titre du livre (le chemin complet est affiché avant le lancement).
  2. Convertir en Markdown : produit le bundle, puis indique le nombre de chapitres et d’images. Le bouton Ouvrir le dossier de sortie l’affiche dans l’Explorateur.

Un dossier déjà présent n’est remplacé que si l’option Écraser le dossier existant est cochée, et seulement s’il s’agit d’un bundle produit par l’outil (présence de metadata.yaml) : un dossier sans rapport portant le même nom n’est jamais supprimé.

Résultat

Téléchargements/
└── le_petit_prince/
    ├── metadata.yaml        ← titre, auteur, langue, identifiant, éditeur, date, couverture
    ├── chapters/
    │   ├── ch001_titre.md   ← un fichier par document du spine, dans l'ordre de lecture
    │   └── …
    └── images/
        └── cover.jpg

La conversion reprend le code de l’outil en ligne de commande epub-markdown, dont le README détaille les règles appliquées et la reconversion Markdown → EPUB.


Redimensionnement des images


Traitement par lot

La page Traitement par lot travaille directement sur un dossier du disque : aucune limite de taille (contrairement au chargement d’un fichier unique, limité à 1 Go), et les fichiers originaux ne sont jamais modifiés.

Utilisation

  1. Dossier source : coller le chemin du dossier contenant les EPUB (le « Copier en tant que chemin » de l’Explorateur, avec guillemets, est accepté). Cocher Inclure les sous-dossiers si besoin.
  2. Dossier de sortie : laissé vide, il vaut <dossier source>\_redimensionnes. Il doit être différent du dossier source.
  3. Analyser le dossier : affiche pour chaque EPUB le nombre d’images, les images hors seuil, la couverture de remplacement trouvée et le statut (À traiter, Conforme, À vérifier, Erreur).
  4. Lancer le traitement : produit les EPUB corrigés puis un rapport (poids avant/après, couverture remplacée, résultat EPUBcheck), exportable en CSV (s’ouvre directement dans Excel). Le bouton Ouvrir le dossier de sortie affiche les fichiers produits dans l’Explorateur.

Remplacement de la couverture (EAN13)

Les EPUB à traiter sont nommés par leur EAN13. Si un JPG du même nom se trouve dans le même dossier, il remplace la couverture de l’EPUB :

a_traiter/
├── 9782070368228.epub
├── 9782070368228.jpg     ← nouvelle couverture de 9782070368228.epub
└── 9782070612758.epub    ← pas de JPG : couverture inchangée

Options

OptionEffet
Remplacer la couverture par le JPG du même nomActive le remplacement décrit ci-dessus (coché par défaut)
Copier aussi les EPUB conformesCopie tels quels les EPUB sans modification, pour obtenir un lot complet dans le dossier de sortie
Écraser les fichiers existantsSinon, un EPUB déjà présent dans le dossier de sortie est ignoré
Valider avec EPUBcheckValide chaque EPUB modifié (compter quelques secondes par fichier)

Les EPUB corrigés gardent le même nom et la même arborescence de sous-dossiers. Un fichier illisible ou en erreur est signalé dans le rapport sans interrompre le lot.


Installation et lancement (Windows)

Prérequis : Python 3.10 ou supérieur, installé et ajouté au PATH.

Installation

Double-cliquer sur install.bat.

Le script effectue en une seule passe :

  1. Installation des dépendances Python (streamlit, Pillow, lxml, et pour la conversion Markdown EbookLib, beautifulsoup4, markdownify, PyYAML)
  2. Téléchargement et installation dans tools/ :
    • EPUBcheck 5.3.0 — le validateur officiel W3C
    • JRE portable Temurin 21 — l’environnement Java nécessaire à EPUBcheck
  3. Création d’un raccourci EPUB Tools sur le Bureau, épinglable à la barre des tâches

Aucune installation de Java sur le système n’est requise. Si les outils sont déjà présents, le script le détecte et ne re-télécharge rien.

tools/
├── epubcheck-5.3.0/
│   ├── epubcheck.jar
│   └── lib/
└── jre/
    └── jdk-21.x.x-jre/
        └── bin/
            └── java.exe

Lancement

Double-cliquer sur le raccourci EPUB Tools (Bureau) ou sur run.bat.

L’application s’ouvre dans le navigateur par défaut à l’adresse http://localhost:8501.


Composants tiers

ComposantUsageLicence
EPUBcheckValidation (installé par install.bat dans tools/)BSD-3-Clause
foliate-jsMoteur du feuilleteur (copie partielle dans assets/foliate-js/, version dans VERSION.txt)MIT
epub2md (projet epub-markdown)Conversion EPUB → Markdown (copie dans epub2md/)—