Site WWW de Laurent Bloch
Slogan du site

ISSN 2271-3905
Cliquez ici si vous voulez visiter mon autre site, orienté vers des sujets moins techniques.

Pour recevoir (au plus une fois par semaine) les nouveautés de ce site, indiquez ici votre adresse électronique :

Le bon ouvrier se procure de bons outils (libres et gratuits de surcroît) :
Travail informatique sous Windows
avec Notepad++, Ruby et AsciiDoctor
Article mis en ligne le 27 avril 2016
dernière modification le 27 août 2016

par Laurent Bloch
logo imprimer
Licence : CC by-nd

Cet article a été inspiré par celui de Benoît Benedetti, Administrateur Système Linux à l’Université de Nice Sophia Antipolis, « AsciiDoc et AsciiDoctor pour soigner votre documentation », dans « Gnu/Linux Magazine France » n° 190 de février 2016.

Le système Windows n’a pas été conçu pour faire de l’informatique, mais pour utiliser de l’informatique faite par d’autres, ce qui a aussi peu à voir avec l’informatique que le permis de conduire a à voir avec la thermodynamique. Windows est fait pour ceux qui ne veulent surtout pas savoir comment ça marche et de quoi il retourne.

Si l’on veut faire de l’informatique, il vaut donc mieux utiliser un système fait pour cela, dont l’archétype est Linux/Unix. Il y a trois circonstances qui justifient de faire de l’informatique sous Windows :

- être un salarié de Microsoft, ou d’un de ses sous-traitants, ou de façon générale être payé pour ce faire ;
- développer du logiciel ou du matériel destiné à fonctionner sous Windows ;
- administrer un parc de machines Windows, en assurer la sécurité, un audit...

 Créer un texte sans mise en page inutile

Cela dit, il y a toute une collection de situations intermédiaires, qui, sans être du travail proprement informatique, demandent des outils un tant soit peu professionnels. Ainsi, pour écrire le texte d’un article pour publication dans un CMS (Spip, Drupal, Wordpress...) ou dans un Wiki, Word (ou LibreOffice, ou OpenOffice, ou Google Docs) ne sont pas de bonnes solutions, parce que ces logiciels font beaucoup d’autres choses en sus d’enregistrer le texte, lequel ne représentera souvent que 5% de la taille finale du fichier créé, et ce au prix de tas de complications épuisantes, pour un résultat décevant parce que le texte apparaîtra avec toute une mise en page qui gênera plutôt qu’autre chose.

Régulièrement je suis amené à travailler avec des utilisateurs de Windows, pour rédiger une page Web, un énoncé d’exercices de TP, voire un article ou un livre, cela se finit toujours par un échange de documents Word, c’est improductif et horripilant. En outre, souvent, le logiciel qui a servi à cet usage est volé, ce qui est mal.

Ainsi, créer un texte : un jour un lecteur de mon manuel de programmation m’a reproché de ne pas avoir expliqué comment on créait le texte d’un programme. Rétrospectivement, je suis encore offusqué de cette remarque, mais je devrais plutôt la considérer comme le symptôme des dégâts intellectuels provoqués par la généralisation des interfaces graphiques, les cliquodromes, qui sont bien destinés à ne pas faire d’informatique mais à utiliser celle que d’autres ont faite. Mon père et mon grand-père, littéraires à l’état pur, se donnaient la peine de comprendre le fonctionnement des machines à vapeur, des centrales hydro-électriques et des fours Martin, ils avaient du mal mais ils en faisaient l’effort, il me semble que les non-informaticiens d’aujourd’hui pourraient entreprendre une démarche analogue, d’autant mieux que c’est plus facile à comprendre.

Donc, créer un texte : contrairement à l’opinion de plus en plus répandue, cela ne se fait pas avec Word ou un de ses succédanées, LibreOffice, OpenOffice ou Google Docs, qui sont des logiciel de traitement de texte, mais avec un éditeur de texte. Dans le monde informatique les éditeurs les plus convenables se nomment Emacs, vi ou ed, qui soit dit en passant existent sous Windows, mais qui sont sans doute d’un emploi rebutant pour la victime des cliquodromes. Aussi existe-t-il des outils d’un usage plus facile.

 Notepad++

Tout système Windows vient avec un logiciel nommé Notepad, destiné à cet usage, mais en fait peu pratique, et WordPad n’est pas meilleur. L’utilisateur de Windows qui n’aura pas encore sauté le pas et installé Emacs trouvera son bonheur avec l’excellent Notepad++, qui lui permettra de créer simplement toutes sortes de documents, y compris des programmes correctement indentés, ce qui est la première condition de leur justesse [1] (il y a même un style Scheme qui met bien les mots-clé en couleur, les parenthèses alignées et tout et tout). C’est vraiment un bon outil, installé en deux minutes, et doté de toutes les fonctions nécessaires tout en restant facile d’usage.

De grâce, pour tout ce qui n’est pas destiné à une mise en page avec polices et styles, laissez Word et ses congénères, vive Notepad++ !

 Ruby

Une fois que l’on sait créer des textes simplement, sans toutes les complications de Word/LibreOffice/OpenOffice, on aimerait bien pouvoir en faire une page HTML, ou un document PDF, ou même un document LaTeX. C’est possible avec AsciiDoc, ou aussi AsciiDoctor. Ces deux logiciels utilisent le même format très simple pour décrirela mise en page, AsciiDoc est peut-être plus rapide à installer sous Windows et peut produire du HTML (4 ou 5), du DocBook, du LaTeX, des planches de présentation et du WordPress. AsciiDoctor produit les mêmes formats, plus du PDF : un moyen simple de produire du PDF, cela ne se refuse pas, alors ce sera AsciiDoctor, mais avant d’installer AsciiDoctor il faut installer Ruby, ce qui fait l’objet de la présente section.

Le moyen le plus simple d’installer Ruby sous Windows me semble RubyInstaller. Alors allons-y : une fois l’installateur téléchargé c’est l’affaire de quelques secondes. Ruby se lance dans la fenêtre de terminal moche de Windows, c’est Windows, pour vous dégoûter de l’informatique, mais là c’est pour la bonne cause alors on continue.

Si vous utilisez un autre système que Windows, vous pouvez aussi installer Ruby (les paquets de votre distribution habituelle sont probablement trop anciens pour supporter AsciiDoctor). Ainsi sous Linux de famille Debian, les prérequis sont :

puis :

 Installation de AsciiDoctor

C’est très simple (expliqué ici aussi), dans la fenêtre de texte qui s’ouvre lorsque l’on lance Ruby, taper :

gem install asciidoctor

Puis on peut installer les outils qui produisent les différents formats de sortie :

gem install --pre asciidoctor-pdf

gem install asciidoctor-latex

 Mise en page AsciiDoc

Ce qui est séduisant avec le format AsciiDoc, c’est qu’il est simple et pourtant riche de possibilités.

C’est un langage de balises, comme LaTeX ou Html, et à l’inverse de Word/LibreOffice/OpenOffice/Google Docs, c’est-à-dire que les indications de mise en forme figurent dans le texte lui-même, sous une forme syntaxique qui les distingue du texte destiné à la publication. Voici un exemple :

On distingue facilement la syntaxe, en tête, des attributs, ou métadonnées, coderay est le nom d’un style de mise en forme à installer ainsi :

Les noms des autres attributs ne prêtent pas à confusion.

On trouvera sur le site AsciiDoc la description complète de la syntaxe.

 Produire un document

Une fois que le système de production est installé et que l’on a saisi son document avec Notepad++, on peut l’éditer au format désiré :

asciidoctor -r asciidoctor-pdf -b pdf mon-document.adoc

asciidoctor -r asciidoctor-latex -b latex mon-document.adoc

ou, plus simplement :

asciidoctor-latex mon-document.adoc

Pour personnaliser les sorties LaTeX, les préambules par défaut sont ici (selon mon installation) :

/opt/rubies/ruby-2.3.0/lib/ruby/gems/2.3.0/gems/asciidoctor-latex-1.5.0.6.dev/data

ou, sur une autre installation, ici :

/usr/local/lib/ruby/gems/2.3.0/gems/asciidoctor-latex-1.5.0.17.dev/data/ :

La sortie par défaut est en Html. On peut aussi avoir du code colorié en fonction de la syntaxe :

Chez moi, les fichiers de style selon les langages sont ici :

Le résultat n’est pas mal, en Pdf comme en Html, je ne saurais trop vous conseiller ces logiciels d’usage aisé pour de bons résultats.

Voici les résultats :

Je devrais pouvoir assez facilement produire un style Scheme à partir de celui de Clojure. Voici le corps de la sortie Html :

Notes :

[1La phrase « un programme mal indenté est un programme faux » est protégée sous la marque de Francis Dupont.

P.S. :

Cet article a été inspiré par celui de Benoît Benedetti, Administrateur Système Linux à l’Université de Nice Sophia Antipolis, « AsciiDoc et AsciiDoctor pour soigner votre documentation », dans « Gnu/Linux Magazine France » n° 190 de février 2016.


Forum
Répondre à cet article


pucePlan du site puceContact puceEspace rédacteurs puce

RSS

2004-2017 © Site WWW de Laurent Bloch - Tous droits réservés
Site réalisé sous SPIP
avec le squelette ESCAL-V3
Version : 3.87.40