Skip to content

Repository files navigation

C411 Ebook Prep

Outil PowerShell pour analyser, normaliser et préparer des ebooks au format EPUB, PDF ou MOBI sous Windows. Le script extrait les métadonnées locales, peut compléter les informations manquantes via Calibre, normalise les séries et tomes, récupère une couverture lorsqu'elle est disponible et génère une arborescence de release accompagnée de fichiers de présentation.

Important : ce dépôt ne contient aucun ebook et n'a pas vocation à fournir du contenu protégé. Utilisez ce logiciel uniquement avec des fichiers que vous êtes autorisé à traiter et, le cas échéant, à distribuer.

Fonctionnalités

  • EPUB, PDF et MOBI.
  • Lecture directe des métadonnées EPUB internes.
  • Lecture complémentaire via ebook-meta.exe de Calibre.
  • Recherche facultative de métadonnées et de couvertures avec fetch-ebook-metadata.exe.
  • Réparation de plusieurs formes de mojibake UTF-8 / Windows-1252.
  • Normalisation Unicode et contrôle des accents.
  • Détection des séries et tomes à partir des métadonnées et des noms de fichiers.
  • Normalisation T1, Tome 1, t.1, #1, etc. vers T01.
  • Conservation des volumes décimaux, par exemple T1.5 vers T01.5.
  • Possibilité d'inférer T01 lorsqu'un T02+ clairement apparenté est présent.
  • Protection des noms réservés Windows (AUX, CON, PRN, NUL, COM1, LPT1, etc.).
  • Extraction de la couverture intégrée lorsque possible.
  • Génération de README.md, presentation.bbcode.txt et release.nfo pour chaque release.
  • Génération d'un rapport CSV global avec statuts READY, REVIEW et SKIPPED.
  • Les fichiers source ne sont pas modifiés.

Prérequis

  • Windows 10 ou version compatible avec Windows PowerShell 5.1.
  • Windows PowerShell 5.1.
  • Calibre Portable, ou accès Internet pour permettre au script de le télécharger automatiquement.

Le script principal est volontairement conservé en UTF-16 LE avec BOM afin de rester fiable sous Windows PowerShell 5.1 avec les caractères accentués.

Installation

  1. Téléchargez ou clonez ce dépôt.
  2. Placez vos fichiers .epub, .pdf ou .mobi dans un dossier source.
  3. Ouvrez Windows PowerShell 5.1.
  4. Si nécessaire, autorisez l'exécution pour la session courante :
Set-ExecutionPolicy -Scope Process Bypass
  1. Lancez le script.

Exemple minimal depuis le dossier du projet :

.\Prepare-C411-Ebooks.ps1

Sans paramètre, le script examine les ebooks présents à côté du script et écrit le résultat dans C411_READY.

Utilisation recommandée

Avec un dossier source et un dossier de sortie explicites :

.\Prepare-C411-Ebooks.ps1 `
    -SourceDir "D:\Ebooks_A_Preparer" `
    -OutputRoot "D:\Ebooks_Prepares"

Avec un profil configuré et un tag personnalisé :

.\Prepare-C411-Ebooks.ps1 `
    -SourceDir "D:\Ebooks_A_Preparer" `
    -OutputRoot "D:\Ebooks_Prepares" `
    -ProfileUrl "https://c411.org/user/VOTRE_PROFIL" `
    -ReleaseTag "MON-TAG"

Pour désactiver les recherches de métadonnées en ligne :

.\Prepare-C411-Ebooks.ps1 -NoOnlineLookup

Pour empêcher le téléchargement automatique de Calibre :

.\Prepare-C411-Ebooks.ps1 -NoAutoDownload

Pour recréer les dossiers de release déjà présents :

.\Prepare-C411-Ebooks.ps1 -Force

Paramètres

Paramètre Description
-SourceDir Dossier contenant les EPUB/PDF/MOBI à analyser.
-OutputRoot Dossier dans lequel les releases sont générées.
-Force Supprime et recrée une release si son dossier existe déjà.
-NoOnlineLookup Désactive les recherches de métadonnées et couvertures en ligne.
-NoAutoDownload Interdit le téléchargement automatique de Calibre Portable.
-ProfileUrl URL facultative du profil à insérer dans les fichiers générés. Vide par défaut.
-ReleaseTag Tag ajouté aux noms de release. Valeur par défaut : NOTAG.

Exemple de sortie

Pour un livre reconnu comme le tome 2 d'une série :

C411_READY\
├── Nom.De.La.Serie.T02.Titre.Du.Livre.FR.[EPUB]-NOTAG\
│   ├── Nom.De.La.Serie.T02.Titre.Du.Livre.FR.[EPUB]-NOTAG.epub
│   ├── cover.jpg
│   ├── README.md
│   ├── presentation.bbcode.txt
│   └── release.nfo
├── C411_PREPARATION_REPORT.csv
└── C411_CHECKLIST.txt

La couverture peut être absente si aucune image fiable n'a pu être extraite ou récupérée.

Logique des séries et tomes

Le script effectue une pré-analyse de l'ensemble du dossier source avant de générer les releases. Cela lui permet de comparer plusieurs ebooks d'une même série.

Exemples normalisés :

Tome 1   -> T01
T1       -> T01
t.2      -> T02
#3       -> T03
T1.5     -> T01.5

Une numérotation nue telle que 01, 02, 03 n'est considérée comme une série que lorsqu'au moins deux volumes distincts partagent un préfixe cohérent.

Métadonnées en ligne et confidentialité

Lorsque les métadonnées locales sont insuffisantes, le script peut appeler fetch-ebook-metadata.exe. Le titre, l'auteur et/ou l'ISBN peuvent alors être utilisés par les sources de métadonnées configurées dans Calibre.

Si vous ne souhaitez aucune recherche en ligne réalisée par le script, utilisez -NoOnlineLookup.

Calibre Portable

Calibre n'est pas inclus dans ce dépôt. Lorsque ses outils sont introuvables dans 000_bin, le script peut télécharger l'installateur Portable depuis l'adresse officielle de Calibre.

Pour un usage plus contrôlé :

  1. installez Calibre Portable manuellement dans 000_bin ;
  2. vérifiez vous-même la provenance du téléchargement ;
  3. utilisez -NoAutoDownload.

Statuts du rapport

  • READY : aucune anomalie éditoriale détectée par les contrôles automatiques.
  • REVIEW : la release a été générée, mais un ou plusieurs éléments doivent être vérifiés manuellement.
  • SKIPPED : la release n'a pas été générée, par exemple à cause d'une collision locale ou d'un dossier déjà existant sans -Force.

Le statut READY ne constitue pas une validation juridique, éditoriale ou de droits d'auteur.

Ce que le script ne fait pas

  • Il ne crée pas de fichier .torrent.
  • Il n'upload rien sur un site ou un tracker.
  • Il ne vérifie pas automatiquement les droits de distribution d'un ouvrage.
  • Il ne garantit pas que les métadonnées récupérées en ligne soient exactes.
  • Il ne remplace pas une vérification humaine avant publication.

Développement et tests

Le dépôt contient un workflow GitHub Actions qui effectue uniquement une analyse syntaxique PowerShell du script sur Windows. Le script n'est pas exécuté par la CI et aucun ebook n'est téléchargé ou traité.

Licence

Le code de ce dépôt est distribué sous licence MIT. Voir LICENSE.

Calibre et les services ou marques cités restent soumis à leurs propres licences et conditions. Voir NOTICE.md.

About

Script PowerShell 5.1 pour préparer, normaliser et documenter des ebooks EPUB/PDF/MOBI : métadonnées, couvertures, séries, tomes, noms de release, README/NFO/BBCode et rapport CSV.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages