Le blog de Lizzie Crowdagger

Ici, je discute écriture et auto-édition, fanzines et livres numériques, fantasy et fantastique, féminisme et luttes LGBT ; et puis de mes livres aussi quand même pas mal
Home

Aller au menu | Aller à la recherche

Sortie de la version 0.14.0 de Crowbook, et petit retour d'expérience personnel

, 21:46

Logo du logiciel libre Crowbook, qui convertit du Markdown vers PDF, HTML et EPUBJe suis heureuse de vous annoncer la sortie de la version 0.14.0 de Crowbook.

Si vous souhaitez l’installer, le plus simple est de télécharger le binaire adapté à votre système d’exploitation (disponibles pour Linux, Windows, OS X et Free BSD).

Crowbook, c’est quoi ?

Crowbook est un logiciel libre (licence LGPL) qui convertit des livres écrits au format Markdown vers les format HTML, EPUB et PDF (en passant par LaTeX). Par rapport à d’autres équivalents, Crowbook essaie de faire un peu plus attention à la typographie, particulièrement française, et propose quelques fonctionnalités un peu particulières.

C’est ce que j’utilise maintenant pour la totalité de mes textes auto-édités, que ce soit pour la version disponible sur ce site, pour les fichiers vendus sur les plate-formes de vente en ligne, ou pour les impressions papier. Si vous voulez voir à quoi ça peut ressembler, vous pouvez regarder au hasard Pas tout à fait des hommes, en version PDF, HTML ou EPUB.

Ce n’est d’ailleurs pas pour rien que cette version 0.14.0 sort quelques jours après le dernier épisode de La chair & le sang : la publication d’un texte (avec ce qu’elle implique de relecture) est aussi l’occasion de vérifier que la dernière version du logiciel fonctionne à peu près correctement et de corriger quelques bugs.

Retour sur cette expérience

Vu que j’ai déjà parlé plusieurs fois ici de ce logiciel, je ne vais pas présenter son fonctionnement plus en détail (si vous voulez en savoir plus, consultez l’article précédent), ni m’attarder sur les nouveautés depuis la dernière fois (il y en a assez peu, essentiellement des modifications cosmétiques quand on exécute Crowbook ou l’ajout de la possibilité d’ajouter une dédicace). Je voudrais plutôt revenir sur pourquoi j’ai créé ce logiciel, l’expérience que j’en tire et le futur que je vois.

Pourquoi j’ai commencé ce projet

J’utilisais déjà le format Markdown pour écrire mes romans, mais à l’époque j’utilisais le convertisseur Pandoc pour transformer les fichiers sources au format HTML, EPUB et PDF. Si vous appréciez le format Markdown, je vous recommande d’ailleurs (si ce n’est pas déjà fait) de jeter un coup d’œil à ce logiciel, capable de convertir vers et depuis beaucoup de formats.

Malgré les qualités de Pandoc, il y avait quelques petites choses qui ne me satisfaisaient pas tout à fait :

  • j’aime bien séparer mes fichiers par chapitres ; c’est possible de le faire avec Pandoc en les concaténant, mais cela me posait parfois quelques soucis (par exemple chapitre_10.md se retrouvant avant chapitre_1.md) ;
  • peu de support des normes de typographie française, comme les différentes espaces insécables.

Par ailleurs, j’avais envie de créer un nouveau projet avec le langage de programmation Rust, parce que je trouvais ce langage intéressant. Cet aspect n’est pas négligeable : sans ça, je me serais contentée d’utiliser les petits work-arounds qui fonctionnaient jusque là.

Le Dogfooding comme guide de développement

Assez rapidement, j’ai réussi (grâce à l’existence de quelques bibliothèques existantes, notamment pour parser un fichier Markdown) à avoir une version à peu près utilisable pour mes besoins personnels, et j’ai commencé (sans difficulté) à passer de Pandoc à Crowbook pour certains livres, avant de le faire pour tous (les fichiers sources Markdown de tous mes textes publiés sous licence libre sont d’ailleurs visibles sur Github).

J’ai donc commencé à utiliser Crowbook au quotidien (enfin, sauf les jours où je n’écrivais pas). En informatique, c’est la notion de dogfooding : être la première utilisatrice des logiciels qu’on développe. C’est d’ailleurs ce qui a guidé (et guide toujours) le développement : j’ajoute les fonctionnalités dont j’ai besoin ou qui pourraient m’être utiles (et parfois celles que je pense être utiles à d’autres ou qu’on me demande si ça ne nécessite pas trop de boulot).

C’est sans doute pour ça que Crowbook a évolué de manière assez différente des autres convertisseurs Markdown qui existent à ma connaissance. En dehors du fait qu’il gère censément mieux (en tout cas je l’espère) la typographie française, il contient des fonctionnalités qui peuvent sembler incongrues pour ce type de logiciel :

  • un mode proofread qui génère une copie pour la relecture en pouvant détecter les répétitions dans le texte ou en utilisant un correcteur grammatical (LanguageTool et/ou Grammalecte) ;
  • un début de support pour écrire de la fiction interactive ;
  • la possibilité d’ajouter une dédicace via la ligne de commande.

À chaque fois, cela correspondait à un besoin ou une envie personnelle, dont je ne sais pas si elle sera vraiment utile à quelqu’un d’autre, mais pour lequel moi je vois un intérêt.

Bilan en tant qu’utilisatrice

Du coup, vu que j’ai créé ce projet avant tout pour moi (même si je suis évidemment très contente s’il est utilisé par d’autres !), quel bilan j’en tire en tant qu’utilisatrice ? Est-ce que ça m’a fait gagner du temps, est-ce que ça m’a aidé pour écrire ?

(En dehors, évidemment, du fait que le temps passé à programmer n’était pas consacré à écrire de la fiction ; mais je ne suis pas sûre que ça marche mathématiquement et que j’aurais écrit plus si je ne l’avais pas fait : en tant qu’écrivaine holistique, me lancer dans des projets annexes fait partie intégrante du processus d’écriture.)

Ma foi, ça n’a pas non plus bouleversé les choses ; cela dit, le fait de pouvoir relativement simplement lancer à la fois LanguageTool et Grammalecte sur le même texte a rendu la partie correction grammaticale un peu plus facile (même si ces outils sont imparfaits, comme je l’expliquais dans un billet sur ce sujet ; cela dit, le fait qu’ils ont tendance à ne pas exactement les mêmes erreurs, pouvoir lancer les deux en parallèle n’est pas inintéressant). Peut-être que le rendu en EPUB ou HTML est un peu meilleur, au moins en ce qui concerne la typographie (pour le reste, c’est assez subjectif).

Sinon, je pense qu’il faut être réaliste et ne pas exagérer l’apport d’un logiciel sur le travail d’écriture. C’est un outil, mais ce n’est pas ça qui va écrire à ma place ou quoi que ce soit. Au mieux, ça permet d’éviter un peu de friction au moment des conversions, mais cela reste de toute façon une partie assez faible du travail.

Bilan en tant que développeuse

C’est évidemment surtout en tant que développeuse que cette expérience a été intéressante : elle m’a emmenée à connaître un peu mieux un langage de programmation, mais aussi à développer un certain nombre de bibliothèques Rust utilisables séparément (epub-builder pour créer le fichier EPUB, crowbook-text-processing pour la partie « nettoyage typographique », ou encore crowbook-intl pour l’internationalisation du programme). Ça m’a permis de m’impliquer un peu plus dans cette communauté, et y compris de participer à la RustFest de Zurich (qui était une expérience formidable <3).

Surtout, chose à laquelle je ne m’attendais pas forcément au début, il semblerait qu’il y au moins quelques autres personnes qui utilisent Crowbook, et m’ont fait des rapports de bugs, des suggestions de fonctionnalités, voire carrément des contributions au code. C’est à la fois enthousiasmant, mais aussi un peu flippant (« oups il y a des gens qui ont peut-être en fait vraiment lu mon code source dégueulasse, et j’espère vraiment qu’il n’y a pas un bug qui efface le disque dur »), et en tout cas une expérience assez nouvelle.

Et le futur ?

Quand au futur de Crowbook, je n’ai pas forcément d’idées très précises. Je sais juste que (au moins pour un moment) je compte continuer à l’utiliser pour mes textes, et que ça impliquera sans doute la correction de quelques bugs l’ajout de nouvelles fonctionnalités au fil de l’eau. J’aimerais bien essayer de proposer une interface graphique mais je ne sais pas trop comment le faire et ça sort de mon domaine de compétences (non pas que le reste de Crowbook en faisait vraiment partie à la base, cela dit).

J’aimerais également sortir une version 1.0 dans pas trop longtemps, mais ça implique un peu de travail de nettoyage de code et de rédaction de documentation (notamment pour que celle-ci soit disponible aussi en français) avant.

Et puis, il s’agit d’un logiciel libre, et je suis évidemment ouverte aux contributions.

Bref, je vais continuer à m’occuper un peu de Crowbook, même si ce sera sans doute de manière moins intensive qu’à ses débuts, au moins pour mes besoins personnels. Et vous l’utilisez également et qu’il vous est utile, j’en serais très contente <3


Si vous aimez ce que j’écris (qu’il s’agisse de fiction ou de code), vous pouvez me soutenir en vous abonnant (à partir d’1€ par mois) sur Tipeee, et vous aurez en contrepartie accès à des textes inédits (et des zines à partir de 5€ par mois !).

Abonnez-vous sur : tipeee

Pour être tenu·e au courant de mes dernières parutions, vous pouvez vous inscrire à ma liste de diffusion (faible trafic, pas plus d’un message par mois) :

Crowbook, version 0.11.0

, 13:46

logo.png

Oui, je viens encore vous embêter avec Crowbook, mais, promis, c'est la dernière fois de l'année !

Mais c'est quoi, déjà ?

Pour rappel, Crowbook est un logiciel libre (licence LGPL) qui convertit des fichiers écrits au format Markdown vers du PDF, de l'HTML ou de l'EPUB. Par rapport à d'autres équivalents, Crowbook essaie de faire un peu plus attention à la typographie, particulièrement française.

C'est ce que j'utilise maintenant pour la totalité de mes textes auto-édités, que ce soit pour la version disponible sur ce site, pour les fichiers vendus sur les plate-formes de vente en ligne, ou pour les impressions papier.

Le format Markdown

L'intérêt du format Markdown pour des textes de fiction, c'est que c'est essentiellement du texte brut et qu'on peut taper à la chaîne sans se poser de questions : c'est le convertisseur qui s'occupe de tout. Un petit exemple :

Un titre de chapitre
============

Ensuite, c'est juste du texte brut. Il y a un peu de syntaxe pour formater un peu,
mais en vrai pour un roman à part les *italiques* on n'a pas besoin de grand chose !

*****

Ah, si, il y a la ligne avec les petites étoiles pour séparer des scènes que j'utilise
pas mal aussi. Voilà, vous connaissez les trois éléments de syntaxe Markdown
nécessaires pour rédiger un roman !

Le « format Crowbook »

Bon, avec ça vous avez un contenu, mais il manque encore des choses pour générer de vrais documents finis, comme donner un nom d'auteur, un titre à l'œuvre, préciser la langue, dire quels formats doivent être générés, éventuellement mettre une image de couverture, etc. Pour ça, il faut passer quelques indications en plus à Crowbook. Pour un texte court, ça peut se faire à l'intérieur du fichier Markdown, en mettant ces indications en en-tête :

---
author: Jean-Pierre Écrivain
title: Ma première Œuvre !
lang: fr

output.html: oeuvre.html
output.pdf: oeuvre.pdf
output.epub: oeuvre.epub
---

Ma première Œuvre !
=============

Voilà ma première Œuvre ! Je suis *super* content ! 
Grâce à Crowbook, je n'ai pas à me prendre la tête 
avec la mise en page, la typographie et tout ce merdier,
c'est fabuleux !

*****

Je vais de ce pas publier sur les plate-formes de vente 
en ligne et devenir riche.

Une fois le texte écrit, il n'y a plus qu'à exécuter une simple ligne de commande, crowbook -s oeuvre.md, pour générer les fichiers HTML, PDF, et EPUB. Évidement, pour un roman, il y aura plusieurs chapitres, et il faudra un fichier différent pour la configuration du livre que pour les chapitres écrits en Markdown, mais ce n'est guère plus compliqué :

author: Jean-Pierre Écrivain
title: Mon premier roman !
lang: fr

output.html: roman.html
output.pdf: roman.pdf
output.epub: roman.epub

- prologue.md
+ chapitre_01.md
+ chapitre_02.md
(...)

Démo et exemples

Si vous voulez voir un peu plus interactivement à quoi ça ressemble et ce que peut donner Crowbook, vous pouvez jouer avec la version de démo en ligne. Pour des exemples plus concrets (avec des options un peu plus complexes utilisées), vous pouvez aussi regarder le dépôt Github contenant mes textes publics.

Installer Crowbook

Si vous voulez installer Crowbook, vous pouvez télécharger les exécutables pour la dernière version :

Vous pouvez aussi regarder les instructions pour le compiler sur la page Github.

Plus d'informations

Pour plus d'informations, consultez la la page Github ou le guide d'utilisation (pour l'instant, les deux sont uniquement en anglais).

Quoi de neuf, docteur ?

Bon, et du coup, cette version 0.11.0, elle apporte quoi de nouveau ? Eh, bien, pas mal de choses, à vrai dire, mais les plus importantes sont les suivantes :

Gestion des parties

C'était un truc qui me bloquait encore pour passer un texte ou deux à Crowbook (notamment L'énième Prophétie, même si ce n'est pas franchement le texte que je trouvais le plus urgent de republier, mais ça pourrait concerner aussi Une autobiographie transsexuelle (avec des vampires) – mais comme celui-ci a trouvé un éditeur ce n'est plus moi qui m'occupe de sa mise en page – ou La chair & le sang – mais il faudrait d'abord que je finisse de l'écrire) : la gestion des parties, au-dessus des chapitres donc. Maintenant que c'est fait, ça veut dire que je vais pouvoir finir de passer mes livres sous Crowbook (c'est en cours pour L'Énième Prophétie, qui était le seul à ne pas y être passé et à qui il ne manque plus qu'une relecture).

Des corrections et ajouts de fonctionnalités mineures

Cette version corrige aussi un certain nombre de choses (comme des petits soucis dans la table des matières EPUB si vous vouliez afficher plus que les chapitres), ajoute des petites fonctionnalités (comme la possibilité d'utiliser des nombres romains pour numéroter les chapitres, ou encore celle de mettre une favicon pour les documents HTML). Rien de majeur cependant, mais des petits trucs en plus.

Un petit nettoyage de printemps hiver

Même si ça n'est pas forcément le truc le plus voyant, il y aussi eu un boulot de fait pour nettoyer l'« interface », c'est à dire à la fois le nom des options qu'on peut passer à Crowbook, mais aussi celui des fonctions qu'on peut appeler (puisque Crowbook est aussi utilisable comme bibliothèque, c'est d'ailleurs comme ça que la version de démo en ligne fonctionne). Tout ça n'est pas en soit très intéressant mais devrait permettre de publier une version 1.0 d'ici, j'espère, pas trop longtemps. J'en profite pour dire aux personnes qui seraient intéressées par ce logiciel que c'est le bon moment pour faire des retours si vous trouvez des noms mal choisis, parce que ce sera plus dur à modifier après la version 1.0 :)

Bilan et perspectives

Au départ Crowbook n'était qu'un petit projet expérimental sur lequel je ne pensais pas passer autant de temps. C'est devenu un peu plus gros que ce à quoi je m'attendais. Ça correspond maintenant bien à mes besoins, puisque je l'utilise pour tous mes romans et nouvelles (et, à vrai dire, je souffre maintenant quand je dois écrire un billet de blog sous Dotclear et essayer de foutre des espaces insécables à la main si je ne veux pas que mes guillemets et mes points d'interrogation se retrouvent seuls en début de ligne).

Si ça peut aussi convenir à d'autres personnes, j'en serai très heureuse, mais il y a encore du boulot à faire pour rendre ça un peu accessible, et notamment pour améliorer la documentation et en proposer une version française, puisque je pense que Crowbook a surtout de l'intérêt pour les auteurs et autrices francophones. Il y a aussi un travail de polissage à faire, améliorer la mise en page proposée par défaut, corriger des bugs, etc.

Bref, si vous testez Crowbook et que ça correspond à vos attentes, j'en serai très contente, si vous testez Crowbook et que ça ne correspond pas à vos attentes, n'hésitez pas à faire un bug report pour expliquer ce qui ne va pas.

Et sur ce et même si ce n'est pas forcément le meilleur article de blog pour conclure sur ça, bonne année et meilleurs vœux !


Pour me permettre de pouvoir continuer à diffuser des textes (et des logiciels !) librement, vous pouvez vous abonner sur Tipeee à partir d'1€ par mois, ce qui vous donnera accès à mes prochains textes de fiction en avant-première.


Crowbook, version 0.10.3

, 13:06

Comme ça fait quelques mois que je n'en avais pas parlé, je me suis dit qu'il pouvait être intéressant de faire un petit billet à l'occasion de la sortie de la version 0.10.3 de Crowbook.

Rappel

Pour rappel, Crowbook est un logiciel libre qui convertit des fichiers écrits au format Markdown vers du PDF, de l'HTML ou de l'EPUB. C'est ce que j'utilise maintenant pour la quasi-totalité des textes disponibles sur ce site.

L'intérêt du format Markdown pour des textes de fiction, c'est que c'est essentiellement du texte brut et qu'on peut taper à la chaîne sans se poser de questions : c'est le convertisseur qui s'occupe de tout. Si vous voulez voir à quoi ça ressemble, vous pouvez regarder le dépôt Github contenant mes textes publics, jouer avec la version de démo en ligne de Crowbook.

Il y a pas mal de convertisseurs Markdown qui existent. Si j'ai commencé à développer celui-ci, en plus d'une certaine envie de réinventer la roue, c'est parce que, bien souvent, ceux-ci ne géraient pas les règles de typographie française, comme ces (foutus) espaces insécables (j'avais d'ailleurs écrit un article sur ce sujet).

Comme j'ai déjà parlé de Crowbook dans différents billets de blog, un premier pour présenter ce logiciel et un second à l'occasion de la version 0.7.0, je ne vais pas revenir en détail sur le fonctionnement et plutôt me contenter de rappeler :

Quoi d'neuf, doc ?

Mais voyons plutôt les changements depuis la dernière fois que j'en ai parlé.

  • Il y a maintenant une version de démo en ligne, si vous voulez voir à quoi ça ressemble sans rien avoir à installer sur votre ordinateur.
  • J'ai enfin eu l'occasion d'avoir un PC sous Windows sous la main pendant les vacances, et j'ai pu tester un peu ce que ça donnait, donc maintenant les versions pour Windows devraient marcher à peu près (ce qui, hum, n'était pas trop le cas avant). Du moins, tant que vous n'essayez pas de générer du format EPUB (où vous aurez besoin de la commande zip) ou, pire, du PDF (où vous aurez besoin d'une installation fonctionnelle de LaTeX, ce qui d'après ce qu'on m'en a dit, vous fera entrer dans un monde de douleur pour l'installer comme il faut sous Windows).
  • Crowbook est maintenant traduit en français (mais pas encore le guide d'utilisation ; ça va venir, promis).
  • Niveau typographie, les apostrophes ' et les guillemets anglais " sont maintenant remplacés par leurs équivalents “typographiques” plus ‘jolis’. Et il y a une option, si vous galérez sur votre clavier pour taper les guillemets « français » ou les tirets cadratins (—) – ou semi-cadratins – pour pouvoir utiliser à la place les chaînes de caractères <<, >>, --- et -- (comme avec LaTeX).
  • Il est maintenant possible de générer des versions de relecture, qui peuvent souligner les répétitions et même utiliser un détecteur grammatical (ce qui vous demandera d'installer et de lancer LanguageTool). Bon, là on sort un peu du convertisseur Markdown et en pratique c'est un peu compliqué à utiliser, mais c'est des fonctionnalités que je trouve utiles en tant qu'écrivaine alors je me disais autant les y rajouter.
  • Des bugs corrigés, et sans doute de nouveaux bugs ajoutés. Pour plus de détails, vous pouvez regarder le ChangeLog.
  • Ah et il y a un logo, maintenant :

logo.png


Pour me permettre de pouvoir continuer à diffuser des textes (et des logiciels !) librement, vous pouvez vous abonner sur Tipeee à partir d'1€ par mois, ce qui vous donnera accès à mes prochains textes de fiction en avant-première.


Crowbook est maintenant en version 0.7.0

, 13:34

(Mise à jour du 2016-09-11 : évidemment, il suffisait que je fasse un billet de blog pour annoncer une nouvelle sortie pour que je me motive à corriger quelques trucs et à sortir une nouvelle version le lendemain... Cela dit, cela ne change pas grand-chose, j'ai juste un peu mis à jour ce billet.)

Je vous avais déjà présenté Crowbook il y a quelques mois. Il s'agit d'un logiciel (libre[1]) pour générer des livres aux formats HTML, EPUB et PDF[2] à partir de fichiers sources au format Markdown. Par rapport à d'autres « concurrents » équivalents, il se distingue par deux objectifs un peu différents de ceux-ci :

  • être centré sur les romans et nouvelles, avec un support plus limité de choses qui sont surtout utiles pour de la documentation technique (coloration syntaxique pour du code informatique, formules mahématiques, etc.) ;
  • respecter (à peu près) la typographie française, et permettre à des auteurs et autrices francophones de ne pas avoir à se soucier d'insérer les bons espaces insécables devant des '?', '!' et autres ':'.

Depuis quelques mois, c'est ce que j'utilise pour à peu près tous mes romans et nouvelles (sauf certains des plus anciens). Cela m'a emmenée à devoir corriger un certain nombre de bugs, mais je trouve ce programme maintenant être à peu près utilisable puisque j'ai tout de même de moins en moins à y toucher. Évidemment, le fait qu'il corresponde à peu près à mes besoins et n'est plus trop buggé pour mon utilisation ne veut pas dire que ça s'appliquera de la même manière pour d'autres personnes, mais disons qu'il devrait moins évoluer dans les mois à venir[3].

Bref, Crowbook est maintenant en version 0.6.0, 0.7.0 et si l'idée d'écrire des textes au format Markdown vous attire et que vous aimez bien bidouiller un peu quand même (le rendu PDF nécessitera notamment que vous ayez LaTeX d'installé sur votre ordinateur), vous pouvez y jeter un coup d'œil. (Je me rends bien compte que ça concerne une minorité d'écrivain·e·s.)

Pour l'installer, vous pouvez soit :

Je ne vais pas m'étendre sur le fonctionnement du logiciel et vous renvoyer pour ça sur la page Github et le guide d'utilisation, même si c'est en anglais. N'hésitez pas à me faire part de vos retours.

Et si tout ça ne vous intéresse pas particulièrement et que vous voulez juste voir à quoi peut ressembler un bouquin mis en page avec ce machin, vous pouvez bien évidemment regarder mes romans et nouvelles qui l'utilisent dorénavant, comme :

Là encore, même si vous n'utilisez pas Crowbook, n'hésitez pas si vous avez des remarques à faire sur la mise en page, en particulier s'il y a quelque chose qui s'affiche bizarrement sur votre liseuse : je n'ai pas les possibilités techniques de tester le rendu sur beaucoup d'appareils[4].


Si vous aimez ce que je fais et que vous voulez me soutenir financièrement, il y a une page Tipeee où vous pouvez vous abonner à partir d'1€ par mois. En contrepartie, vous aurez accès à mes prochains textes de fiction en avant-première.


Notes

[1] Sous licence LGPL, plus précisément.

[2] Avec un support très, très, très expérimental de LibreOffice mais qui n'est pas du tout la priorité.

[3] Évidemment, il suffisait que je dise ça pour me motiver à corriger un souci (voire la partie rayée ci-après) que j'avais en tête depuis quelques mois, et qui m'a pris moins de temps que prévu. Cela dit, ça reste une évolution assez mineure. Au rang quand même des choses pas très bien gérées, on notera les images, et la « politique par défaut » discutable (mais changeable en modifiant la feuille de style utilisateur) de les agrandir pour qu'elles prennent une bonne partie de la largeur de l'écran, qui n'est pas adaptée à toutes les images (en témoigne le build status au début du guide d'utilisation), mais qui est compliqué à mieux gérer parce que le format Markdown ne permet pas de spécifier comment une image devrait être affichée.

[4] Ou alors, vous pouvez m'offrir des liseuses pour que je puisse tester dessus moi-même, si vous préférez. Peut-être même qu'un jour Crowbook sera tellement populaire que les constructeurs m'enverront leur modèle en avant-première pour s'assurer que les EPUBs générés s'affichent correctement dessus. Ou peut-être même qu'un jour les constructeurs de liseuses afficheront correctement les attributs CSS basiques et qu'il n'y aura plus à s'embêter à essayer de contourner leurs limitations. On peut rêver, après tout.

Mise à jour de la mise en page d'un certain nombre de textes

, 01:56

J'ai mis à jour la mise en page d'un certain nombre de romans et nouvelles disponibles sur ce site, en passant à un nouvel outil (Crowbook, dont j'avais déjà parlé quelques mois plus tôt). Les textes concernés sont les suivants :

Il y a encore quelques textes qui n'ont pas été convertis au nouveau système, mais ça constitue quand même l'essentiel de ce qui est disponible sur ce site.

Normalement, il ne devrait y avoir que des avantages :

  • ces textes sont maintenant disponibles au format EPUB (livre numérique), ce qui était déjà le cas d'une partie, mais pas de tous ;
  • la mise en page HTML et EPUB devraient être améliorées, sans changement notable pour les versions PDF.

J'en ai aussi profité pour corriger un peu Sorcières & Zombies au passage, avec des modifications un peu plus lourdes sur Créatures de rêve puisque la fin a été modifiée.

Évidemment, il est possible qu'il y ait eu quelques soucis, et que quelques problèmes de mise en page ou des coquilles se soient glissées au cours de cette conversion ; n'hésitez pas à me les signaler, ou à me faire part de vos retours sur la mise en page si vous pensez qu'il y a un souci avec un format (ou un support de lecture, c'est dur de tester partout).

Crowbook : un outil pour transformer un livre vers HTML, Epub et PDF

, 22:22

Grâce à l'argent que je gagne avec les ventes de mes livres, j'ai décidé d'embaucher une informaticienne indépendante pour qu'elle me fasse un logiciel adapté à mes besoins (et peut-être aux vôtres, sait-on jamais). J'ai donc le plaisir de vous présenter Crowbook, un outil pour transformer un livre écrit en Markdown en différents formats (HTML, EPUB, PDF, et en théorie ODT même s'il y a encore du boulot à faire pour ce dernier).

Pourquoi ?

Cela fait un certain temps que je suis passée au format Markdown pour écrire mes nouvelles et romans, parce que je trouve ça simple et efficace, puisqu'il s'agit essentiellement (du moins pour un roman) de texte brut, avec quelques balises pour les chapitres, le gras, etc.. Par exemple :

Chapitre 1
======

Un paragraphe dont un morceau est *en italiques*.

Cependant, la « chaîne » que j'utilisais avant me posait quelques soucis : c'était un peu compliqué (il y avait des tas de Makefiles partout, un scrpit qui preprocessait mes fichiers pour gérer les espaces insécables, etc.) et le résultat n'était pas toujours aussi customisable que je l'aurais voulu. Je voulais donc un outil :

  • où j'ai un fichier unique en entrée, qui établit différentes options pour le roman (son titre, sa langue, son fichier de couverture) et liste tous les fichiers Markdown qui constituent les chapitres ;
  • et qui me donne un résultat qui correspond à ce que je veux sans que j'ai besoin de passer cinquante options (s'il y a des options à passer, je veux les mettre une fois pour toutes dans le fichier de configuration).

Le résultat

Le résultat c'est donc Crowbook. Je n'ai pas encore eu le temps de passer tous mes textes sur cet outil (surtout que je voudrais en profiter pour corriger certaines choses sur un ou deux), mais vous pouvez déjà voir le résultat pour Pas tout à fait des hommes (HTML, PDF, EPUB, ODT).

Installer Crowbook

Crowbook est un logiciel libre (licence LGPL), donc vous pouvez l'utiliser librement, accéder à ses sources, les modifier, etc. Pour télécharger Crowbook, le plus simple est probablement de télécharger un exécutable précompilé :

(Si vous êtes sous Debian ou Ubuntu, vous pouvez maintenant aussi récupérer un ".deb" et l'installer avec sudo dpkg -i crowbook-0.4.0-1_i686.deb ; auquel cas, ignorez les instructions ci-dessous ^^)

(Vous pouvez également le compiler à partir des sources ; pour cela je vous invite à regarder la page Github du projet.)

Une fois que vous avez extrait le programme crowbook de l'archive, vous pouvez l'exécuter directement en vous plaçant dans le bon répertoire. Cela dit, vous voudrez peut-être l'installer dans un répertoire accessible par votre PATH pour pouvoir l'exécuter depuis n'importe où. il y a pour cela la méthode bourrin, qui nécessite les droits d'utilisateur root :

$ sudo cp crowbook /usr/bin

mais je recommande plutôt de l'installer dans votre répertoire HOME :

$ cp crowbook ~/bin
$ export PATH=–/bin/:$PATH

(la dernière ligne est à copier dans votre fichier .bashrc si vous ne voulez pas avoir à la retaper à chaque fois que vous ouvrez un terminal.)

Et voilà !

(Ces indications sont valables pour Linux et devraient être vraies aussi pour Mac OS X. Je ne sais pas comment on fait sous Windows, désolée.)

Utilisation

Pour initialiser un livre avec un certain nombre de fichiers Markdown:

$ crowbook --create mon_livre.book chapitre_*.md

Il faut ensuite éditer à la main le fichier mon_livre.book. Ce n'est pas si compliqué, celui pour Pas tout à fait des hommes se limite à ça :

author: Lizzie Crowdagger
title: Pas tout à fait des hommes
lang: fr
subject: fantasy

cover: couv/cover.png
epub.version: 3

output.epub: endr.epub
output.html: endr.html
output.pdf: endr.pdf
output.odt: endr.odt

- chapitre_01.md
- chapitre_02.md
...
- chapitre_15.md

ensuite, il suffit de faire

$ crowbook mon_livre.book

et roulez jeunesse ! (Il y a plus d'options, cela dit, mais pour plus d'informations allez voir la page GitHub).

Spécificités de Crowbook

Alors peut-être que vous êtes un peu rabat-joie et que vous vous dites « d'accord, tout ça c'est bien beau, mais il y a déjà des programmes qui font ça, celui il a quoi de particulier ? ». Ce à quoi je répondrai que, d'abord, il y a Crow dans le nom, ce qui fait que c'est quand même tout de suite beaucoup plus cool. Je veux dire, si vous avez le choix, dans une soirée un peu classe, entre dire « pour mes bouquins j'utilise Gitbook » et « pour mes bouquins, j'utilise Crowbook », vous préférez quelle version ?

Ensuite, crowbook essaie de prendre en compte les soucis de la typographie française (et peut-être d'autres langues dans un futur lointain), et notamment ces purée de @!#☠ d'espaces insécables à mettre avant '?', ';' ou encore '!'. À ma dernière poussée de rigidité typographique, je m'étais amusée à regarder sur quelques-uns des livres numériques que j'avais achetés, combien mettaient correctement des espaces fines insécables avant les signes de ponctuation double. Eh bien, il n'y en avait aucun. Sérieusement, il y en a qui vont pleurer parce que maintenant on peut écrire « nénufar » mais ça ne choque personne que dans des livres publiés, de la Littérature, oui Madame, on estime que « oh une espace fine insécable c'est trop dur à mettre j'ai qu'à mettre une espace insécable justifiante à la place » ?

Bon, j'ai bien conscience que ces histoires d'espaces fines insécables, d'espaces cadratins et compagnie, ça peut sembler abstrait et abscons, mais voici un exemple du rendu que ça peut donner pour les dialogues, où il faut normalement utiliser une espace de taille fixe (en l'occurrence cadratin) et non pas justifiante (dont la taille va varier pour que le texte soit aligné à droite). Dans un cas (à droite) on va avoir des débuts de dialogue alignés, c'est propre, c'est carré, dans l'autre les répliques ne sont pas alignées :

crowbook2.png

(Remarque : j'ai dû faire remonter un bug dans Crowbook aujourd'hui (en vérifiant le rendu de certains fichiers) puisqu'auparavant il affichait une espace fine insécable, ce qui « collait » les dialogues au tiret. Comme quoi essayer d'avoir une typographie correcte, ce n'est vraiment pas évident...)

Cave canem Caveat emptor

Crowbook est actuellement en version 0.4. Le numéro plutôt bas devrait vous mettre la puce à l'oreille : ce n'est encore pas très mature, il y a sans doute des bugs, etc. Par ailleurs :

  • le programme utilise la commande zip pour générer les fichiers EPUB, donc ça ne marchera pas si elle n'est pas installée sur votre système (même si ça me paraît peu probable ?) ;
  • de même, c'est latex qui est utilisé pour générer du PDF, et il est pour le coup moins improbable que ce logiciel ne soit pas installé sur votre machine.

Voilà, je crois que c'est tout pour le moment. Sur ce, je vais retourner m'atteler à la conversion de mes livres, en espérant ne pas trop découvrir de bugs !

(Billet mis à jour le premier mars 2016)

Écrire des textes avec Pandoc, #2 : un bilan

, 17:51

Il y a quelques temps déjà, j'avais fait un petit article sur Pandoc, un logiciel en ligne de commande qui permet de convertir un texte formatté de façon très légère (Markdown, qui se rapproche qu'on peut trouver sur pas mal de Wikis ou de blogs), et qui est pratiquement, en fait, du texte brut, en plein de formats différents : PDF, LaTeX, HTML, ePub, ...

Maintenant, ça fait quelques temps que je l'utilise pour mes projets, et je me suis dit que ça pouvait être intéressant d'en tirer un petit bilan. Je m'excuse si ce billet est assez technique et obscur pour beaucoup de gens, mais je me suis dit que ça pouvait en intéresser éventuellement.

La mise en place

La mise en place n'est vraiment pas très compliqué : c'est, après tout, une ligne de commande assez simple à exécuter, même si je trouve plus simple à l'usage d'avoir un petit script ou un Makefile qui permet de ne pas avoir à retaper les bonnes options à chaque fois et qui génère d'un coup d'un seul les fichiers PDF, ePub, OpenOffice et HTML.

La seule petite contrainte c'est si, comme moi, on aime bien séparer un même texte en plusieurs fichiers (typiquement, pour un roman, un par chapitre), puisqu'il faut passer au logiciel les fichiers dans le bon ordre, histoire de ne pas avoir le chapitre 14 avant le chapitre 2. Personellement, j'ai résolu ça de façon simple en me contentant de préfixer le nom de chaque fichier par un numéro, du genre : "01_titre_chapitre.md", ce qui fait qu'il n'y a qu'à faire la commande :

$ pandoc -o nom.epub *.md

Et hop, c'est réglé et on a un truc à peu près correct. La seule relative difficulté, c'est d'adapter les fichiers LaTeX pour que le PDF généré ressemble plus à ce que j'ai envie d'avoir, mais adapter mon fichier template en fichier template compréhensible par pandoc n'a pas été très difficile.

Le résultat

Dans l'ensemble, le résultat me convainc. Si vous voulez une idée de ce que ça peut donner, vous pouvez lire la nouvelle Une leçon d'humanité et voir ce que ça donne pour les différents formats.

Pour moi, le seul souci apparaît quand j'ai envie de faire des trucs un peu plus originaux au niveau du formattage : y compris des petits trucs comme commencer les chapitres au numéro 0 ou sauter un chapitre en cours de roman (ie. passer du 12 au 14, ou avoir le chapitre 4, un chapitre «Interlude», puis un chapitre 5). Cela dit, ça ne concerne pas la plupart des textes, et vu le gain de temps je trouve aussi pratique de prendre quelques minutes pour modifier le fichier généré au moment de le publier.

Bilan

Avantages :

  • une fois qu'on est un peu rôdée, c'est vraiment simple et on écrit «au kilomètre», sans se poser de questions de mise en page (bon, à la limite, c'est presque aussi vrai pour LaTeX, mais quand même un peu moins) ;
  • la possibilité de générer beaucoup de formats différents sans galérer : hop, on lance une ligne de commande, et on a cinq formats de sortie différents, je trouve quand même ça très pratique ;
  • je pense que c'est quand même plus facile à prendre en main que LaTeX :)

Inconvénients :

  • pas forcément le top du top de la configurabilité, même si pour écrire des romans et des nouvelles ça pose, en pratique, rarement problème ;
  • j'ai conscience que c'est quand même réservé à un public «geek» qui maîtrise un peu la ligne de commande, même si ça pourrait être faisable de développer quelque chose de plus graphique et que ça existe peut-être déjà...

Écrire des textes avec Pandoc, #1 : une introduction

, 06:21

Aujourd'hui, enfin, cette nuit (je suis un animal nocturne) j'ai découvert (enfin, façon de parler, j'étais déjà tombé dessus avant, mais passons) Pandoc, et je me suis dit que ça pouvait quand même être super pratique, alors j'avais envie de vous le faire partager.

Qu'est-ce que c'est ? Basiquement, c'est un logiciel en ligne de commande qui permet de convertir un texte formatté de façon très légère (Markdown, qui se rapproche qu'on peut trouver sur pas mal de Wikis ou de blogs), et qui est pratiquement, en fait, du texte brut, en plein de formats différents : PDF, LaTeX, HTML, ePub, ...

Lire la suite...

Billets connexes