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.
- EPUB, PDF et MOBI.
- Lecture directe des métadonnées EPUB internes.
- Lecture complémentaire via
ebook-meta.exede 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. versT01. - Conservation des volumes décimaux, par exemple
T1.5versT01.5. - Possibilité d'inférer
T01lorsqu'unT02+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.txtetrelease.nfopour chaque release. - Génération d'un rapport CSV global avec statuts
READY,REVIEWetSKIPPED. - Les fichiers source ne sont pas modifiés.
- 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.
- Téléchargez ou clonez ce dépôt.
- Placez vos fichiers
.epub,.pdfou.mobidans un dossier source. - Ouvrez Windows PowerShell 5.1.
- Si nécessaire, autorisez l'exécution pour la session courante :
Set-ExecutionPolicy -Scope Process Bypass- Lancez le script.
Exemple minimal depuis le dossier du projet :
.\Prepare-C411-Ebooks.ps1Sans paramètre, le script examine les ebooks présents à côté du script et écrit le résultat dans C411_READY.
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 -NoOnlineLookupPour empêcher le téléchargement automatique de Calibre :
.\Prepare-C411-Ebooks.ps1 -NoAutoDownloadPour recréer les dossiers de release déjà présents :
.\Prepare-C411-Ebooks.ps1 -Force| 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. |
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.
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.
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 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é :
- installez Calibre Portable manuellement dans
000_bin; - vérifiez vous-même la provenance du téléchargement ;
- utilisez
-NoAutoDownload.
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.
- 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.
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é.
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.