Lizzie Crowdagger : le blog

Un blog avec de la fantasy urbaine, des lesbiennes, des vampires, des flingues et des motos
Home

Aller au menu | Aller à la recherche

Mot-clé - informatique

Fil des billets Fil des commentaires

Extrait du premier Lacets rouges & magie noire : Betty et Karima

, 18:09

The Fat and the Furious, épisode 1 de la série de fantasy urbaine Lacets rouges & magie noireVoici un nouvel extrait du premier épisode de Lacets rouges & magie noire. Intitulé The Fat and the Furious, celui-ci est maintenant disponible en version numérique pour les abonné·e·s Tipeee. Abonnez-vous (à partir d’1€ par mois) pour avoir accès à la version numérique ; et si vous  préférez recevoir dans votre boîte aux lettres des versions papiers imprimées au format fanzine, vous avez encore quelques jours pour souscrire l’abonnement papier (à partir de 5€ par mois).

Cet extrait fait suite au précédent, qui présentait le personnage de Cookie. Celui-ci introduit deux nouveaux personnages, Betty et Karima.

Lire la suite...

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.

Caribon, un logiciel pour détecter les répétitions

, 18:20

En tant qu'autrice qui écrit en français, il y a toujours un moment assez pénible à la relecture d'un texte : repérer les répétitions et les éliminer. Ou, en tout cas, essayer de les éliminer. En réduire un peu le nombre, en tout cas.

L'objectif de ce billet, un peu hors sujet pour ce blog (quoique ce n'est pas la première fois que je présente un logiciel lié à l'écriture), est de vous présenter un petit programme qui vise à aider les auteurs à repérer ces répétitions. J'y case aussi quelques réflexions sur ces fichues répétitions, parce qu'en fait il y a plus à dire sur le sujet qu'on ne pourrait le penser à première vue.

Caribon en ligne

Ne faisons pas durer le suspens plus longtemps : le logiciel dont je veux vous parler s'appelle Caribon, et il y a une version utilisable en ligne ici. Pas besoin d'installer quoi que ce soit sur votre ordinateur, vous pouvez juste copier/coller un texte de votre choix et, zou, ça marche[1].

Si vous copiez/collez un document depuis un traitement de texte, comme LibreOffice, la mise en page devrait être préservée. Bon, avec un roman en entier c'est un peu too much et le serveur va vous envoyer bouler (d'après mes quelques essais, c'est possible de monter jusqu'à environ 30000 mots, mais ça varie sans doute selon la charge du serveur).

Je ne vais pas détailler toutes les options possibles (il y a une page de documentation si ça vous intéresse), mais je vais discuter un peu de certaines fonctionnalités, parce que je les trouve intéressantes et que ça permet d'aborder des questions liées à la jonction « linguistique / informatique ».

Racinisation

Un souci, quand on veut détecter les répétitions, c'est de réussir à faire comprendre au logiciel que des mots peuvent être de la même famille : par exemple le singulier et le pluriel d'un même mot, ou des conjugaisons différentes d'un même verbe sont des répétitions, même si ce n'est pas exactement le même mot.

Pour cela, Caribon utilise une bibliothèque dite de racinisation, ou stemming en anglais. La racinisation, c'est le fait de ne garder que la racine (ou le radical) d'un mot : par exemple, mange, mangerai et mangés ont tous trois la même racine. Il y a des algorithmes pour ça, et notamment la bibliothèque Snowball qui fournit des algorithmes pour différentes langues (parce qu'évidemment, il faut adapter à chaque langue).

Recherche approximative

Malheureusement, ces algorithmes ne sont pas parfaits. D'une part, ils ne se débrouillent pas forcément très bien sur les exceptions : par exemple il est impossible, juste avec un algorithme, de savoir que vais et irai sont le même verbe.

Sur ce cas précis, il n'y a pas beaucoup de solution à part avoir un dictonnaire énorme listant toutes les exceptions de chaque langue (donc, plus une approche algorithmique). Et d'ailleurs, pour en revenir au sujet des répétitions : est-ce que « vais » et « irai » en sont vraiment une, alors que les deux mots ne se ressemblent pas du tout ?.

En revanche, pour un certain nombre de cas, il peut être utile de « repérer » des mots (ou plutôt des racines) qui sont similaires sans être tout à fait identiques. C'est ce qui s'appelle la « recherche approximative »[2], alias fuzzy string searching ou approximate string matching en anglais. C'est notamment pratique lorsque l'algorithme de racinisation a des loupés... ou alors quand c'est vous, et que par exemple vous avez fait une faute de frappe mais que « répétition » et «répetition » étaient censés être le même mot.

Cela introduit néanmoins un souci lorsque des mots similaires ne sont en fait pas le même mot : la recherche approximative risque par exemple de considérer que pétition et répétition en sont une, de répétition. Mais là encore je pense qu'on peut débattre : est-ce que ça devrait être le cas ou pas ? D'un côté, ce n'est pas le même mot, mais de l'autre ils sonnent en partie pareil. Et c'est là que je réalise que s'il y a un consensus certain sur le fait qu'il faut éviter les répétitions, je ne suis pas sûre qu'il y ait une opinion aussi unanime sur ce qui constitue exactement une répétition.

Toujours est-il que Caribon vous propose d'activer ou de désactiver cette recherche approximative, et d'en modifier le paramètre (le « seuil d'approximation »). Mais alors, comment ça marche, la recherche approximative ? En gros ça se base sur la distance de Levenshtein, qui consiste à définir la distance entre deux mots comme le nombre d'opérations basiques (ajout d'une lettre, retrait d'une lettre, permutation de deux lettres) pour passer d'un mot à l'autre. Concrètement, Caribon divise cette distance entre deux mots par la taille du mot (lequel ? le premier ou le second, j'imagine) et si ce nombre (entre 0 et 1, qui correspond à un « taux de ressemblance ») est inférieur au « seuil d'approximation », alors les deux mots sont considérés comme une répétition.

À noter que ces deux notions, la « racinisation » et la « recherche approximative de mots », si elles servent ici juste à détecter des répétitions, sont en fait assez fondamentales pour un certain nombre de champs, comme les corrections orthographiques ou quand vous tapez du texte dans un moteur de recherche. Même si après, il y a évidemment des algorithmes beaucoup plus compliqués que ça.



Mots à ignorer

Caribon fournit également une liste de mots à ignorer, du moins pour le français et l'anglais. Il est aussi possible de rajouter d'autres mots à cette liste. Ces mots ne seront donc pas considérés comme des répétitions.

Bon, là il n'y a pas grand chose à dire d'intéressant sur l'algorithme sous-jacent, mais ça soulève encore une fois la question : une répétition, c'est quoi exactement ? Typiquement, il y a des mots qu'il est assez évident qu'on veut ignorer (le, la, les, des, ...) et d'autres où ça va dépendre des gens. Par exemple, selon certaines personnes, il faut éviter les répétitions des verbes être ou avoir, ce qui peut poser particulièrement problème si on écrit un texte au passé composé. Autre exemple : les noms propres, répétitions ou pas ? Vaut-il mieux utiliser des périphrases sans grand intérêt pour parler de vos protagonistes (comme alterner « le jeune homme » et « l'aventurier » pour ne pas répéter le nom de votre héros) ou alors se dire que si on répète les noms des personnages, c'est pas bien gênant ? (Là encore, Caribon vous laisse le choix, avec une case à cocher « Ignorer les noms propres ».)

La version en ligne de commande

Caribon est un logiciel libre que vous pouvez aussi télécharger et lancer sur votre ordinateur. En plus de la version « site web », il y a une version utilisable en ligne de commande, qui permet de générer des documents HTML semblables à ce qu'on peut voir avec la version en ligne. Il est également possible d'afficher les répétitions sur la sortie standard du terminal, mais pour pour un gros document ce n'est pas très pratique.

L'intérêt principal de l'exécuter sur votre ordinateur, c'est que ça va beaucoup plus vite : par exemple, si la version en ligne m'envoie balader quand j'essaie de lui passer l'intégralité du manuscrit d'Une autobiographie transsexuelle (avec des vampires), le programme téléchargé sur la machine arrive à l'analyser en moins d'une demi-seconde.

Par contre, avant de pouvoir lancer ce programme, il vous faudra le compiler,ce qui implique au minimum de copier/coller quelques lignes de commande, et je ne suis pas sûre que ça marche très bien sous Windows. Plutôt pour les gens qui s'y connaissent déjà un peu plus techniquement, donc ; pour les autres, il faudra se contenter de la version en ligne.

Conclusion

En commençant cet article, j'avais peur qu'il soit fort court puisque je ne voyais pas quoi mettre à part deux liens pour faire de la pub. Au final, il est plutôt trop long. Toujours est-il que j'espère que ce logiciel pourra être utile à quelques personnes, voire que mes élucubrations sur les répétitions ou comment les repérer auront intéressé des gens. Dans tous les cas, je vais m'arrêter là : il faut que je reprenne la relecture d'un roman et... oh, mon Dieu, tant de mots soulignés, j'ai vraiment fait autant de répétitions ?

Notes

[1] Ça devrait marcher. Avec l'informatique, on ne sait jamais.

[2] En fait, je ne sais pas si ça s'appelle vraiment comme ça, j'ai juste essayé de traduire, si ça se trouve il y a une autre formulation consacrée.

Billets connexes

É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