Débogue tes humanités
Les formats
# Plan de la séance
- Qu’est-ce qu’un format ?
- Quelles sont ses implications techniques et politiques ?
- En pratique ! Exercices d’encodage
# 1. Les formats
# 1. Les formats
# 1.1. Qu’est-ce que un format ? – les origines du terme
Les formats de papier pour l’imprimé, première apparition technique du terme ?
# 1. Les formats
# 1.2. Et les formats informatiques ?
Une façon particulière d’organiser et structurer des données dans un fichier.
En informatique, au niveau le plus fondamental, tout est exprimé dans un alphabet numérique binaire : 0 et 1. Un format, c’est une convention qui établit la correspondance entre une certaine succession de 0 et de 1, et quelque chose d’autre : par exemple une couleur, ou une lettre de l’alphabet, ou la position d’un pixel sur un écran. L’expression « format texte » désigne une catégorie de formats pour lesquels le contenu en binaire des fichiers encode des caractères textuels uniquement.
# 2. Implications technique et politiques
# 2. Implications technique et politiques
# 2.1. L’interopérabilité
Transmission d’informations entre machines
# 2. Implications technique et politiques
# 2.2. Format ouvert ou fermé ?
Standards et licences.
# 3. PDF, DOCX, XML, MD, HTML de plus près
Standards et licences.
# 3. PDF, DOCX, XML, MD, HTML de plus près
# 3.1. PDF
- Portable Document Format : pour afficher et imprimer les fichiers toujours de la même manière
- 1991 par Adobe
- Depuis 2008, standard ouvert : ISO standard 32000-1:2008
- Le fichier est structuré sur quatre niveaux
- Header : indique la version de la spécification PDF du fichier
- Body : contenant les objets qui constituent le document contenu dans le dossier
- Cross-reference Table : contenant les informations sur les objets indirects dans le fichier
- Trailer : indiquant l’emplacement de la cross-reference table dans le corps du fichier.
- À l’intérieur de la balise
body
, chaque page est traitée individuellement - En raison de cette structure complexe, les fichiers PDF sont beaucoup plus lourds qu’un simple fichier texte – c’est-à-dire, dans un format texte brut.
# 3. PDF, DOCX, XML, MD, HTML de plus près
# 3.2. DOCX
.doc
(à partir de MS Word 97) : format binaire, lisible uniquement par le logiciel propriétaire Microsoft Word- Suite aux pressions de la communauté, Microsoft a publié une spécification pour ce format
.docx
(depuis 2007) : est format par défaut des documents produit avec le logiciel Microsoft Word.doc
+x
(XML) : intégration du langage de balisage XML- Qu’est-ce qu’un fichier DOCX ? C’est simplement un dossier zip contenant des fichiers XML !
- S’il est possible de lire l’encodage d’un fichier
.docx
, son format s’avrère très verbeux – essayez pour voir !
# 3. PDF, DOCX, XML, MD, HTML de plus près
# 3.3. XML
- XML : acronyme pour Extensible Markup Language
- Créée en 1998
- Les données sont stockées sous forme de texte brut : les informations sont créées, stockées, transportées et partagées indépendamment des logiciels utilisés
- XML est conçu pour la structuration stricte de données
- Il permet de décrire une structure hiérarchique
- Les informations sont validées par des schémas : un schéma définit et contraint les caractéristiques qu’un document XML donné peut avoir. Par exemple : un livre doit comporter un titre (obligatoire), mais peut contenir des chapitres (facultatif)
- C’est un format général pour décrire les données. (On dira aussi : un méta-format.) Il n’y a pas un seul format XML, mais bien plusieurs schémas possibles !
# 3. PDF, DOCX, XML, MD, HTML de plus près
# 3.5. HTML
- HTML : acronyme pour Hypertext Markup Language
- Créé en 1993
- C’est le langage du Web, permettant d’écrire des hyperdocuments, reliés entre eux par des hyperliens (hyperlinks)
- Comme XML, HTML a été conçu pour marquer le texte de manière structurelle et non pour décrire la présentation d’une page web
- En 2000, HTML est devenu un standard international (ISO/IEC 15445:2000)
- La cinquième version (« HTML5 », officialisée en 2014), s’adapte à l’évolution du Web
# 3. PDF, DOCX, XML, MD, HTML de plus près
# 3.6. La structure d’un fichier HTML
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Titre dans l'onglet</title>
</head>
<body>
<h1>Titre</h1>
<p>Ceci contient un paragraphe.</p>
</body>
</html>
# 3. PDF, DOCX, XML, MD, HTML de plus près
# 3.4. Markdown
- Créé en 2004
- Les données sont stockées sous forme de texte brut : les informations sont créées, stockées, transportées et partagées indépendamment des logiciels utilisés
- C’est un langage de balisage léger. Mark up et mark down : baliser, mais baliser « moins »
- Lisible par les humains, mais également pratique pour la rédaction
- Un surcouche de HTML : tous elements HTML sont valides dans les documents Markdown
- Tableau d’équivalence avec HTML
# 3. PDF, DOCX, XML, MD, HTML de plus près
# 3.5. Exercice avec Markdown
Baliser le texte d’un article avec du markdown
Lien vers le texte brut à baliser
Identifier
- le titre, sous-titre
- image initiale
- référence
- titre en italique
# 4. Conversion entre formats
# 4. Conversion entre formats
# 4.1. La conversion
Pour les formats textuels, la conversion consiste en la transformation de balises (plus légères) en d’autres balises (plus verbeuses).
En entrée :
- texte balisé
- métadonnées sérialisées
- bibliographie structurée
En sortie :
- texte mis en forme, selon la d’affichage (comme les titres en gras ou en italique)
- bibliographie formatée selon la convention choisie (APA, MLA, Études françaises, etc.)
# 4. Conversion entre formats
# 4.2. Conversion entre formats
Des logiciels permettent de passer aisément d’un format à un autre, comme Pandoc :
- Créé 2006, par le philosophe John MacFarlane
- Pandoc est un convertisseur « agnostique », il n’impose pas une pratique par rapport à un balisage.
- Bien que ce logiciel puisse faire des conversions entre une myriade de formats, certaines conversions sont impossibles : un format complexe peut être trop difficile à réduire, au risque de perdre la majorité des informations, ou encore il peut être impossible de le lire (c’est le cas des formats binaires dont aucune spécification n’est publiée).
# 4. Conversion entre formats
# 4.3. Fonctionnement de Pandoc
Pandoc fonctionne en ligne de commande, avec un schéma classique d’options.
En rappel : en ligne de commande, on commence toujours par appeler un programme (ici, pandoc
), en lui fournissant une séquence d’arguments (comme un fichier source à convertir) et d’options (gestion du format, recours à un modèle, etc.).
<programme> <fichier.entrée> (optionnel: <fichier.sortie>, <drapeau>, etc.)
# 4. Conversion entre formats
# 4.4. Pandoc – Exemples
Conversion d’un fichier source au format markdown. Notez que le format de sortie n’a pas été précisé : par défaut, Pandoc répondra au format HTML, directement dans la console, sans enregistrer la réponse dans un fichier. Essayez pour voir ce que ça donne !
#!/bin/bash
pandoc mon-fichier.md
# ...
html
, nommé mon-fichier.html
(à partir du fichier source mon-fichier.md
). On y fournit également les « drapeaux » (ou options) de ligne de commande permettant d’expliciter le format d’entrée (--from
, ou -f
pour faire court) :
#!/bin/bash
# Note: les barres obliques inversées permettes de poursuivre l'écriture
# de la commande sur une ligne séparée.
pandoc \
--from markdown \
--to html \
mon-fichier.md \
--output mon-fichier.html`
# => "mon-fichier.html" sera produit !
mon-modele.html
, appelé avec l’option --template
de Pandoc :
#!/bin/bash
# Note: les barres obliques inversées permettes de poursuivre l'écriture
# de la commande sur une ligne séparée.
pandoc \
--from markdown \
--to html \
--template mon-modele.html \
mon-fichier.md \
--output mon-fichier.html
# => "mon-fichier.html" sera produit !
# 5. Pandoc en pratique
# 5. Pandoc en pratique
# 5.1. Installer Pandoc
- Terminal
- Windows : Start > Windows Power Shell
- à partir de Windows 10 : installer l’application Ubuntu on Windows
- Mac : chercher « terminal »
- Linux : chercher « terminal »
- Windows : Start > Windows Power Shell
# 5. Pandoc en pratique
# 5.2. Installation – Deuxième étape
Pour installer Pandoc, suivez les instructions sur cette page : https://docs.zettlr.com/fr/installing-pandoc/
# 6. Exercice
- Créer un document Markdown avec des niveaux de titre, une liste, une citation longue et de l’emphase (italique et gras)
- Lancer la commande
pandoc mon-fichier.md
, en l’adaptant selon les exemples montrés précédemment - Ouvrir le fichier HTML obtenu
# 6. Exercice
# 6.1. Ajouter des métadonnées
Pour ajouter des métadonnées, on débutera l’écriture du document markdown avec un bloc au format YAML, délimité par les triplets suivants ---
:
|
|
Essayez de convertir votre fichier markdown en HTML, puis en DOCX.
(Indice : manuel d’utilisateur de Pandoc)
# dans votre répertoire courant...
.
├── mon-fichier.docx
├── mon-fichier.html
└── mon-fichier.md
Ouvrez les fichiers obtenus. Que remarquez-vous ?
# 6. Exercice
# 6.2. Appliquer un modèle
Créez un fichier HTML avec le code suivant :
|
|
Lancez la conversion en HTML en appliquant le modèle/template, puis ouvrez le document obtenu.
# Ressources
- Arthur Perret, L’écriture académique au format texte, https://www.arthurperret.fr/2021-09-21-ecriture-academique-format-texte.html
- Antoine Fauchié, Fabriques de publication : Pandoc, https://www.quaternum.net/2020/04/30/fabriques-de-publication-pandoc/
- Dennis Tenen et Grant Wythoff, « Rédaction durable avec Pandoc et Markdown », Programming Historian, https://programminghistorian.org/fr/lecons/redaction-durable-avec-pandoc-et-markdown
- Nicolas Sauret et Marcello Vitali-Rosati, tutorielMdPandoc, https://framagit.org/stylo-editeur/tutorielmdpandoc
- Documentation de Pandoc : https://pandoc.org/MANUAL.html
Déb/u/o/gue tes humanités
CC BY-NC-SA Chaire de recherche du Canada sur les écritures numériques, Bibliothèque des lettres et des sciences humaines, Ouvroir d'histoire de l'art et de muséologie numérique. — giulia.ferretti@umontreal.ca ; louis-olivier.brassard@umontreal.ca