<?xml version="1.0" encoding="utf-8"?>
<fiche title="From Markup to Markdown" isbn="978-8-8688-2930-7">
  <authors><author>Jim Hall</author></authors>
  <editor>Apress / Springer</editor>
  <pubyear>2026</pubyear>
  <date>2026-09-30</date>
<content>
  <p>Aujourd'hui, bien des gens croient que la seule façon d'écrire un
  texte (sans le faire générer par un <wikipedia name="Grand modèle de
  langage">LLM</wikipedia>) est d'utiliser un <wikipedia name="Traitement de texte">logiciel de
  traitement de textes</wikipedia> graphique comme <wikipedia
  name="Writer (traitement de texte)">Writer</wikipedia>. Mais il
  existe une autre méthode, plus ancienne mais toujours valable, les
  <wikipedia name="Langage de balisage">langages de
  marquage</wikipedia>. C'est pour cela que j'ai acheté <link
  url="https://link.springer.com/book/10.1007/979-8-8688-2931-4">ce
  livre</link>, qui retrace l'histoire de ces langages de marquage et
  vise surtout leur utilisation pour l'<wikipedia name="Rédaction
  technique">écriture de textes technique et
  scientifiques</wikipedia>.</p>
  <p>Je le dis tout de suite, j'ai été déçu. <link
  url="https://link.springer.com/book/10.1007/979-8-8688-2931-4">Le
  livre</link> est cher (un peu moins en <wikipedia name="EPUB
  (format)">EPUB</wikipedia> ou <wikipedia name="Portable Document
  Format">PDF</wikipedia> mais quand même) pour un contenu qui semble
  surtout fait de divers articles de <wikipedia>blog</wikipedia> mis
  bout à bout. Certains de ces articles sont très intéressants,
  parlant de sujets peu ou pas abordés das la plupart des sources,
  mais d'autres sont vraiment minces (<wikipedia>TeX</wikipedia> et
  <wikipedia>LaTeX</wikipedia> expédiés en 16 pages, dont de longs
  copier-coller de la sortie de ces programmes très bavards, ce qui
  est tout à fait inutile). De même, l'auteur a choisi de publier
  l'intégralité des programmes d'exemple. Ces programmes sont une très
  bonne idée, ils rendent plus concrets les cas discutés mais les
  mettre dans le livre, plutôt que sur un site Web à part, était une
  mauvaise idée.</p>
  <p>Le livre commence avec <wikipedia xml:lang="en" name="TYPSET and
  RUNOFF">Runoff</wikipedia>, ancêtre de ces langages de
  marquage. Vous plongerez dans l'archéologie avec ce système, créé
  « juste après que nous ayions cessé de chasser les mammouths avec
  des outils de pierre ». (Vous pouvez d'ailleurs lire sa très
  intéressante histoire <link
  url="https://technicallywewrite.com/2023/08/06/runoff">sur le blog
  de l'auteur</link>.) Runoff date de l'époque où les impressions
  sortaient d'une grosse imprimante à laquelle les utilisateurs
  n'avaient pas accès directement. Pour vous dire mon âge, j'ai
  travaillé avec un tel système à l'<wikipedia name="Institut national de recherche sur les transports et leur sécurité">INRETS</wikipedia> dans
  les années 1980 et il y avait encore des opérateurs dont le
  principal travail était de sortir les <foreign>listings</foreign> de
  l'imprimante et de les déposer dans des casiers au noms des
  utilisateurs. Runoff était écrit en <wikipedia xml:lang="en"
  name="MAD (programming language)">MAD</wikipedia> et vous avez du
  code source en MAD p. 14 à 16. Dans les pages suivantes, l'auteur
  ré-implémente Runoff en <wikipedia name="C
  (langage)">C</wikipedia>. L'exercice est intéressant (et fournira
  sans doute des bonnes idées de travaux pratiques à bien des
  enseignants) mais est sans doute trop détaillé, surtout si vous
  connaissez déjà C. L'auteur dit que cette partie est lisible par
  quelqu'un qui n'est pas programmeur, que tout est expliqué, ce qui
  est vrai mais me laisse quand même sceptique. C n'est pas le langage
  le plus lisible…</p>
  <p>Puis Runoff évolue, des descendants apparaissent, l'auteur
  détaille <wikipedia xml:lang="en">nroff</wikipedia> et même ses
  <wikipedia name="Macro-définition">macros</wikipedia> -ms. (Là encore, point personnel, j'ai
  écrit des documentations en -ms. Des <wikipedia name="Request for
  comments">RFC</wikipedia> ont été écrits avec nroff, cf. <rfc
  num="2223"/>, section 20.) Autant cette partie est importante
  historiquement, autant lister autant de macros -ms était à mon avis
  excessif.</p>
  <p>Puis le monde change et les <wikipedia name="Traitement de texte">traitements de
  texte</wikipedia> modernes apparaissent. (Mais sans jamais avoir
  remplacé les langages de marquage.) Le premier cité est évidemment
  <wikipedia>WordStar</wikipedia>. J'apprends dans ce livre qu'en plus
  de ses menus, il avait aussi des marques (<foreign>dot
  commands</foreign>), très inspirées de celles de nroff, comme les
  premiers navires à vapeur, qui gardaient mâts et voiles au cas
  où. On pouvait donc formater ses documents Wordstar avec des
  <computer>.PA</computer> et <computer>.HE</computer> inclus dans le
  texte (p. 155 à 156)… L'auteur décrit ensuite le format sous lequel
  WordStar enregistre ses documents et écrit un programme en
  <wikipedia name="C (langage)">C</wikipedia> pour les lire. (Les
  logiciels de traitement de texte modernes ont un format bien trop
  complexe pour que cet exercice soit encore réaliste.) Parmi les
  points rigolos de ce format, le remplissage
  pour que tout fichier, même vide, contienne toujours un multiple de
  128 octets, ce qui facilitait la tâche du programme de
  relecture. (Dans cette heureuse époque où on lisait en C des
  fichiers venus de l'extérieur sans se demander s'ils ne
  décencheraient pas une faille de sécurité latente.) Mais bon, là
  encore, avoir mis tout le code source dans le livre est une mauvaise
  idée. (Même remarque pour les affichages de déboguage, avec
  l'intégralité des octets de remplissage, p. 177.)</p>
  <p>Le livre détaille aussi l'histoire de l'impression puisque, à
  l'époque, il n'était guère envisageable de lire un long texte sur
  l'écran (et du temps de Runoff, on n'avait même pas toujours un
  écran). Le papier était donc crucial, et le livre explique le
  fonctionnement d'une <wikipedia name="Imprimante" anchor="Imprimante_à_aiguilles_ou_imprimante_matricielle">imprimante matricielle</wikipedia>
  puis crée une émulation en logiciel (toujours en C) d'une telle
  imprimante, permettant d'afficher sur l'écran à quoi aurait
  ressemblé un texte imprimé sur une telle machine. S'il y a dans ce
  livre de nombreuses pages passionnantes sur des points peu connus,
  là encore, l'auteur détaille trop.</p>
  <p>Enfin on en arrive à <wikipedia name="Hypertext Markup
  Language">HTML</wikipedia> mais la partie sur le Web contient
  vraiment des erreurs énormes. Dire (p. 231) que le premier
  <wikipedia name="Navigateur web">navigateur Web</wikipedia> date de 1994 alors qu'il a
  cinq ans de plus, par exemple. Ou ne pas citer le
  <wikipedia name="Organisation européenne pour la recherche nucléaire">CERN</wikipedia> une seule fois et prétendre que le Web a
  été inventé à l'<wikipedia name="Université de l'Illinois Urbana-Champaign">UIUC</wikipedia>, ce qui est
  grave. Sinon, sur le Web, notez qu'on peut parfaitement écrire des
  documents complexes, y compris des livres, <link
  url="https://1024.socinfo.fr/2024/11/1024_24_2024_059.html">joliment
  formatés avec les techniques du Web</link> comme le fait <link
  url="https://www.site.sarahgarcin.com/epe/fr/projects/c-f-editions">C&amp;F
  Éditions</link>. L'auteur décrit aussi
  <wikipedia>Markdown</wikipedia>, une alternative légère à XML et
  HTML (<rfc num="7764" local="true"/>), et développe un logiciel de
  conversion de Markdown vers HTML.</p>
  <p>Le livre se termine par une présentation du système de gestion de
  documents <wikipedia name="Extensible Markup
  Language">XML</wikipedia> <wikipedia name="Darwin Information Typing Architecture">DITA</wikipedia> dont je ne
  vois pas trop l'intérêt, il ne semble pas faire grand'chose de plus
  que <wikipedia xml:lang="en">XInclude</wikipedia> ou des techniques similaires
  comme les <wikipedia xml:lang="en" name="SGML entity">entités XML</wikipedia>. Puisqu'on parle de
  XML, j'en profite pour me faire de la publicité et dire que <link
  url="https://cyberstructure.fr/">mon livre</link> a été <link
  local="livre-tech">écrit en XML</link>.</p>
  <p>Le livre concerne surtout le passé, vous n'y trouverez pas des
  systèmes récents comme <link local="typst">Typst</link>. Les
  langages de marquage ne sont pas une survivance du passé mais un
  domaine très actif et très utilisé (par exemple <link
  local="blog-implementation">pour ce blog</link>).</p>
</content>
</fiche>

  
