Ma chaîne de création

d'une page Web

13/02/2024

lien envoyant dans un autre onglet pour télécharger le fichier PDF de l'article

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 :

Conclusion

Schématiquement, mon processus de création de pages web se déroule de la manière suivante dans la version de base :

Processus principal de création de page à base de TeXmacs et NetBeans

Et en cas de besoin spécifique d'édition que ne permettrait pas TeXmacs, le séquencement devient :

Processus secondaire de création de page à base de TeXmacs, Kile, Pandoc et NetBeans

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.