BookCreator
Dans un flux éditorial traditionnel, créer un livre demande beaucoup d'opérations manuelles fastidieuses et sources d'erreurs. À chaque nouveau projet, l'éditeur ou le maquettiste doit jongler entre plusieurs fichiers modèles InDesign : la couverture, les pages de titre, les chapitres, les annexes. Pour chaque fichier, il faut insérer ou modifier manuellement les informations du livre : le titre, le sous-titre, l'auteur, l'édition, la date d'impression, l'ISBN, le copyright. Puis il faut importer les textes souvent depuis des documents Word douteux.
Ces saisies manuelles, répétées document par document, multiplient les risques : oublis, fautes de frappe, incohérences entre les fichiers, erreurs dans les codes-barres, oublis de mise à jour de dates ou de mentions légales. À cela s'ajoutent des tâches techniques comme la génération correcte d'un code-barres EAN13 à partir de l'ISBN, la vérification des numéros de pages, et la synchronisation des en-têtes.
Chaque étape semble minime, mais la somme de ces tâches grignote un temps considérable et rend l'ensemble du processus vulnérable aux erreurs humaines. Pour un éditeur qui gère de multiples titres par an, standardiser, automatiser et sécuriser ces étapes devient essentiel pour gagner en efficacité, en fiabilité et en sérénité.
Fonctionnement général
BookCreator est un script avancé pour Adobe InDesign conçu pour automatiser toute la phase de création d'un livre à partir de modèles.
En partant d'un fichier de métadonnées (YAML standardisé, le même que vous pouvez utiliser avec Pandoc pour générer un epub), il permet de :
- Générer automatiquement un .indb (livre InDesign) complet et la couverture
- Créer tous les documents InDesign (.indd) nécessaires à partir de templates modèles
- Insérer les métadonnées (titre, auteur, éditeur, ISBN, date d'impression, etc.) dans les pages de titre, les en-têtes, et les sections du livre
- Générer et insérer un code-barres EAN13 valide à partir de l'ISBN fourni
- Injecter automatiquement les textes dans les chapitres
- Préparer un projet entièrement structuré, prêt pour la correction fine et la finalisation
En quelques minutes, un projet complet et propre est généré, sans saisies manuelles répétitives, sans erreurs typographiques, et dans le respect total de la maquette éditoriale. Le livre est prêt pour la correction fine et à la mise en page finale.
Utilisation
Étape 1 — Préparer les fichiers
- Créez un fichier YAML manuellement ou depuis le script contenant toutes les informations du livre : titre, auteur, ISBN, éditeur, date, et liste des fichiers texte en Markdown (input-files).
- Organisez vos modèles InDesign (.indd) dans un dossier accessible.
Étape 2 — Lancer BookCreator
- Exécutez le script BookCreator.jsx depuis votre panneau Scripts dans InDesign.
Étape 3 — Remplir ou vérifier les informations
- Si le fichier YAML est importé, BookCreator charge automatiquement les métadonnées.
- Sinon, vous pouvez saisir les données manuellement via l'interface intégrée.
- Le bouton “Book Information” ouvre une fenêtre détaillée pour configurer toutes les métadonnées.
Étape 4 — Génération automatique
- BookCreator crée les documents .indd nécessaires.
- Insère automatiquement les données dans les bons blocs de texte (pages de titre, têtes de chapitre, en-têtes de page) en remplaçant des placeholders que vous aurez mis dans vos modèles.
- Génère un code-barres vectoriel pour l'ISBN si besoin.
Étape 5 — Injection du contenu
- BookCreator peut injecter automatiquement le contenu des fichiers textes Markdown dans les chapitres.
- Le script détecte intelligemment quels fichiers Markdown correspondent à quels chapitres.
Placeholders et variables
Pour que BookCreator puisse remplacer les informations du livre dans vos modèles, vous devez insérer des placeholders spécifiques dans vos documents InDesign :
| Placeholder | Description |
|---|---|
| «Book_Author» | Nom de l'auteur |
| «Book_Title» | Titre du livre |
| «Subtitle» | Sous-titre |
| «ISBN_Print» | ISBN de la version imprimée |
| «ISBN_Ebook» | ISBN de la version numérique |
| «Critical_Apparatus» | Appareil critique |
| «Translation» | Traduction |
| «Original_Title» | Titre original (avec préfixe optionnel) |
| «Cover_Credit» | Crédit couverture (avec préfixe optionnel) |
| «Print_Date» | Date d'impression |
| «Editions» | Éditions |
| «Funding» | Financement |
| «Rights» | Droits et licences |
| «Price» | Prix |
| «Document_Title» | Titre du document actuel (extrait du contenu Markdown) |
| «EAN13_Print» | Emplacement pour le code-barres EAN13 de l'ISBN imprimé |
| «EAN13_Ebook» | Emplacement pour le code-barres EAN13 de l'ISBN ebook |
Détection et injection Markdown
BookCreator inclut un système sophistiqué pour trouver et injecter le contenu Markdown approprié dans chaque document :
- Configuration YAML : Dans votre fichier YAML, définissez un tableau `input-files` listant tous vos fichiers Markdown.
- Recherche intelligente : BookCreator recherche les fichiers dans plusieurs emplacements potentiels :
- Dossiers `text`, `Text`, `texte`, `Textes`, `md`, `markdown`…
- Dossier du projet et dossier de configuration
- Algorithme de correspondance : Le script utilise un système de score pour déterminer quel fichier Markdown correspond le mieux à chaque document, en analysant :
- Les parties descriptives des noms de fichiers
- Les mots-clés comme “chapter”, “introduction”, “conclusion”
- Les correspondances numériques
- Cadre cible : Le contenu Markdown est injecté dans :
- Un cadre de texte avec le label “content” ou “contenu”
- Ou le premier cadre de texte du document si aucun n'est étiqueté
- Extraction de titre : BookCreator peut extraire automatiquement le premier titre H1 du Markdown et l'utiliser pour remplacer «Document_Title» dans le document.
Structure du livre
Le script prend en charge plusieurs types de documents pour créer un livre complet :
- Modèle de chapitre : Utilisé pour chaque chapitre du livre
- Modèles avant chapitres : Pages liminaires (titre, copyright, préface…)
- Modèles après chapitres : Pages finales (index, bibliographie, colophon…)
- Modèle de couverture : Pour la couverture du livre
Format du fichier YAML
BookCreator utilise un format YAML standard, compatible avec Pandoc :
--- title: Titre du livre subtitle: Sous-titre author: Nom de l'auteur date: "2023" isbn-print: 978-2-9565793-4-7 isbn-ebook: 978-2-9565793-5-4 rights: "CC BY-NC-SA 4.0" originalTitle: Original Title coverCredit: Artist Name critical: Editor Notes translation: Translator Name editions: Publisher Name funding: Funding Information price: €19.90 input-files: - 01-introduction.md - 02-chapter1.md - 03-chapter2.md - 04-conclusion.md ---
Les champs `input-files` sont particulièrement importants pour l'injection de contenu Markdown.
Optimisation du workflow éditorial
BookCreator s'intègre parfaitement dans un workflow éditorial moderne :
- Utilisation de fichiers Markdown pour le contenu (compatible avec Pandoc, GitHub, etc.)
- Format YAML standard pour les métadonnées (réutilisable pour l'export EPUB, PDF…)
- Automatisation des tâches répétitives et sujettes aux erreurs
- Conservation des styles InDesign pour un contrôle typographique professionnel
- Bilinguisme intégré pour les équipes internationales
Ce script représente une solution complète pour simplifier et sécuriser la production éditoriale, en combinant les avantages des workflows numériques modernes avec la puissance de mise en page d'InDesign.
Astuces avancées
Débordement de texte
Le module PageOverflow gère automatiquement le débordement de texte en :
- Détectant intelligemment les cadres qui débordent
- Ajoutant des pages en respectant les paramètres de mise en page (pages gauches/droites)
- Créant des cadres de texte liés avec les marges appropriées
- Assurant la continuité du texte à travers le document
Champs optionnels
Certains champs sont supprimés complètement s'ils sont vides :
- «Critical_Apparatus»
- «Translation»
- «Original_Title»
- «Cover_Credit»
- «Editions»
- «Funding»
Cette fonction permet d'adapter la mise en page automatiquement sans laisser d'espaces vides.
Compatibilité avec Pandoc
Les métadonnées YAML utilisées par BookCreator sont compatibles avec Pandoc, facilitant un workflow multiformat :
- Créez un seul fichier YAML pour tous vos besoins
- Réutilisez les mêmes métadonnées pour la génération PDF, EPUB, HTML
- Maintenez une cohérence parfaite entre toutes les versions
Gestion internationale
BookCreator est entièrement internationalisé avec prise en charge du français et de l'anglais :
- Détection automatique de la langue de l'interface InDesign
- Menu déroulant pour changer la langue manuellement
- Traductions complètes pour tous les éléments de l'interface et messages
- Support des formats de date et conventions localisés
Gestion des ISBN et codes-barres
BookCreator offre une gestion complète des ISBN :
- Validation : Vérification automatique du format et calcul du chiffre de contrôle
- Génération EAN13 : Conversion automatique des ISBN en codes-barres EAN13 valides
- Rendu vectoriel : Création de codes-barres vectoriels directement dans InDesign, sans images externes
Architecture technique
BookCreator est structuré de manière modulaire, utilisant une architecture basée sur des namespaces et des classes. Voici les principaux composants du script :
Modules principaux
- YAMLParser : Un parseur YAML personnalisé pour traiter les fichiers de métadonnées
- Analyse et génère des fichiers YAML avec support pour les structures imbriquées
- Gère les listes, chaînes multilignes, valeurs scalaires et types de données
- I18n : Module d'internationalisation pour gérer les traductions en français et anglais
- Détection automatique de la langue de l'interface InDesign
- Gestion des traductions via la fonction `__()` avec substitution de variables
- TextUtils : Utilitaires pour le formatage et l'application de texte
- Traitement des balises `<br>` et des espaces de fin de ligne
- PageOverflow : Gestion automatique du débordement de texte
- Détection des cadres qui débordent et ajout de pages selon les besoins
- Création et liaison de nouveaux cadres de texte en respectant les marges
- Book : Classe principale gérant la création de livres
- Validation des données du livre
- Génération à partir de modèles
- Injection de contenu Markdown
- LogManager : Gestion centralisée des erreurs et messages
- BookUtils : Regroupe des utilitaires spécialisés :
- ISBN : Validation et génération de codes-barres EAN13
- Document : Manipulation des documents InDesign, variables, placeholders
- File : Opérations sur les fichiers YAML et Markdown
- UI : Interfaces utilisateur pour la configuration et le paramétrage