Je 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 !). |
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) : |