Introduction
Pour bien comprendre cet article, il est important d'avoir lu le cahier des charges du site ⎋ . En effet, les éléments marquants à retenir sont la minimisation du poids des pages, l'absence de javascript, un site statique (même s'il est propulsé par un mini CMS ⎋ maison qui génère les pages statiques), la conformité au RGAA (je n'y suis pas encore).
La chaîne actuelle
Avant de travailler avec la chaîne de création d'une page Web que je vais vous décrire, j'utilisais Seamonkey ⎋ avec sa fonctionnalité Composer pour écrire le texte au format HTML et le reprendre ensuite avec NetBeans ⎋ qui me permet de gérer mon projet. Netabeans assure la finalisation du code avec les spécificités du CMS, la gestion des versions, le débogage du code de génération du site, le déploiement.
Ce que je cherche à remplacer est l'étape d'écriture comme expliqué ci-dessous.
Le cahier des charges
L'avantage de Composer est de proposer une interface WYSIWYG ⎋, certes vieillote, mais efficace, tout en créant du code minimaliste, ce qui est une caractéristique majeure que je recherche. Je ne suis pas particulièrement à la recherche d'une interface WYSIWIG ; une interface WYSIWYM ⎋ ou simplement une aide à la saisie me conviennent.
Je souhaite pouvoir faire des documents de qualité au format PDF, afin qu'ils puissent être utilisés hors ligne ; en effet, mon site est hébergé sur un micro-serveur à mon domicile (Raspberry Pi 4) et je compte pouvoir l'arrêter de temps en temps. Et la seule impression de la page Web dans un fichier PDF ne me satisfait pas ; par exemple, un fichier PDF peut avoir des notes de bas de page alors qu'une page Web ne les a qu'en fin de document ; imprimer la page Web conserve bien évidemment les notes en fin d'impression.
Je cherche aussi une solution qui soit facile à prendre en main, qui me fasse gagner du temps, que je puisse paramétrer pour mieux répondre à mes attentes, qui soit capable d'intégrer des fonctionnalités au gré de mes besoins.
La solution
Il existe une solution qui répond bien à la qualité des documents, avec un haut niveau de paramétrage et une grande évolutivité. Il s'agit de LaTeX ⎋. C'est est un système de composition de haute qualité ; il intègre des fonctionnalités destinées à la production de documentation technique et scientifique. Même si ce que je produis n'est pas scientifique, cela se rapproche malgré tout de documentations techniques.
Mais voilà, sans éditeur, écrire en LaTeX revient à écrire du code, ce qui ne répond pas à la notion de facilité et gain de temps. Je dois donc trouver un éditeur pour m'accompagner dans l'écriture.
Je pense tout de suite à LyX ⎋, qui est un excellent outil : il combine la puissance et la flexibilité de TeX ⎋ / LaTeX avec la facilité d'utilisation d'une interface graphique WYSIWYM. Même si j'aime beaucoup cet outil, car il oblige à structurer fortement les documents pour rester dans un modèle, il est un peu trop verbeux à mon goût dans ses exports TeX ou HTML ; de plus, il impose des instructions CSS, ce qui va à l'encontre de la gestion d'un thème dans mon CMS.
Je teste ensuite quelques outils accessibles bien évidemment depuis les dépôts de ma distribution Fedora, qui ne me conviennent pas, plus par goût que par les fonctionnalités.
Mon choix va finalement se porter non pas sur un outil, mais sur trois. En temps normal, je n'en utiliserai qu'un seul, le premier, mais dans certains cas, je pourrai utiliser les trois. Il s'agit de :
-
TeXmacs ⎋
, sans être une surcouche de TeX / LaTeX, permet d'exporter, entre autres, aux formats PDF, TeX ou HTML ; il est WYSIWYG et dispose d'une interface qui est bien pensée pour faciliter grandement l'écriture ; il ne m'aura fallu que quelques minutes pour comprendre.
TeXmacs : écriture, export LaTeX, lorsque le besoin de combiner avec les deux autres sera présent ; sinon, il permet l'écriture, l'export PDF et l'export HTML.
-
Kile ⎋
est un environnement d'écriture intégré pour créer des documents LaTeX et dispose de nombreux contrôles ; c'est un éditeur directement en code LaTeX, mais comme quasiment tout est écrit avec TeXmacs puis exporté au format LaTeX, il me permet de faire les derniers ajustements si nécessaire, et d'exporter au format PDF ; pour ce dernier type d'export, Kile est vraiment minimaliste et laisse l'intégrale maîtrise par rapport aux styles à appliquer.
Kile : import LaTeX, ajustements, export PDF
-
Pandoc ⎋
est le couteau suisse des conversions de documents de presque n'importe quel format vers presque n'importe quel format ; il se lance en ligne de commande, mais grâce à l'intégration de Kile, j'ai défini une nouvelle commande pour créer des fichiers HTML. Je n'ai donc finalement à utiliser que deux outils.
Pandoc : conversion d'un fichier LaTeX au format HTML
Conclusion
Schématiquement, mon processus de création de pages web se déroule de la manière suivante dans la version de base :
Et en cas de besoin spécifique d'édition que ne permettrait pas TeXmacs, le séquencement devient :
Il me reste des optimisations à trouver pour améliorer ce dernier enchainement. Je traite encore l'intégration des liens pour s'ouvrir dans un autre onglet. Il va me falloir un peu de temps pour que je comprenne bien la partie de LaTeX qui m'est utile.
Mais d'ores et déjà, j'atteinds mes objectifs, ce qui me convient très bien.