Les formats
Sommaire
# 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 ?
Le terme format est un terme technique, son usage permet de délimiter les caractéristiques d’un objet : avec le format nous donnons un certain nombre de données, d’instructions, ou de règles. Pourquoi définir tout cela ? L’objectif est de constituer une série d’informations compréhensible, utilisable et communicable.
Pour prendre un exemple concret du côté du livre, l’impression d’un document nécessite de s’accorder sur un format de papier. Les largeurs, longueurs et orientation sont normalisées, des standards sont établis, ils permettent alors de concevoir des imprimantes qui peuvent gérer des types définis de papier.
Sans des formats de papier il est difficile de créer des machines adéquates, comme des presses à imprimer ou des imprimantes. L’usage du format dans l’imprimerie est sans doute la première apparition de ce terme technique. Cependant, il est intéressant de noter que le format est ainsi d’abord attaché au livre et à sa fabrication.
Notons également que des outils ou des processus sont associés au concept de format : les instructions sont définies pour qu’une action soit réalisée par un agent – humain, analogique, mécanique, numérique.
Le concept de format è étroitement lié avec le concept de média : les médias supportent des formats spécifiques (par exemple, un lecteur MP3 lit uniquement les informations sonores au format MP3). L’existence des médias dépend de l’existence des formats.
# 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.
Un fichier (vidéo, image ou texte) peut être produit, transmis ou lu par l’ordinateur en raison du fait qu’il est encodé dans un format numérique.
Un format informatique est le lien entre l’infrastructure et l’agent (humain ou programme) qui utilise cette infrastructure.
Le choix des formats informatiques détermine la manière dont les informations sont créés, stockées, envoyées, reçues, interprétées, affichées. Aujourd’hui les formats prennent une place importante dans notre environnement, et leur incidence dépasse le domaine de l’informatique, leur étude a pourtant été longtemps délaissée dans le champ des médias.
Exemple du format DOC ou .doc
: le logiciel Microsoft Word ne peut pas
lire n’importe quel format informatique, les données doivent être
structurées d’une façon précise pour que le logiciel puisse les
interpréter, et ensuite les modifier, et enfin produire une nouvelle
version du fichier. Ici le format DOC a été créé pour les besoins d’un
logiciel spécifique.
Dans cet exemple c’est le format informatique qui est le résultat du
logiciel, mais d’autres fonctionnement sont possibles. Par ailleurs, le
format DOC est longtemps resté propriétaire (jusqu’à l’arrivée du format
DOCX), ses spécifications n’étaient pas publiques et des brevets
empêchaient toute initiative de développement d’un logiciel autre que
Word capable de lire ou de modifier des fichiers .doc
.
# 2. Implications technique et politiques
# 2. Implications technique et politiques
# 2.1. L’interopérabilité
Transmission d’informations entre machines
L’interopérabilité est un principe qui permet à plusieurs machines de dialoguer :
- en s’accordant sur des règles pour définir une série d’informations, les machines peuvent lire et écrire un fichier ;
- si ces spécifications sont clairement énoncées, il n’y a alors plus de dépendance vis-à-vis d’un logiciel spécifique ;
- la question de l’interopérabilité est intimement liée à la standardisation et à l’ouverture du format.
# 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 !
Un paquet DOCX contient habituellement ces dossiers, ainsi que de nombreux fichiers :
word/
: contient le contenu principal du document (texte, styles, thèmes)_rels/
: liste des principales parties du paquetdocProps/
: contient les propriétés du document – dont certaines sont liées à l’application Microsoft Word[Content_Types].xml
: contient des informations sur les types de médias contenus dans le document
# 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>
Pour consulter le html
des pages web : view-source:
+ lien.
Par exemple, pour consulter le code source de l’article Sens Public dans le navigateur : view-source:
+ https://www.sens-public.org/articles/1600/
Quelques balises html : voir ICI
# 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
Markdown permet de baliser :
- des niveaux de titre, paragraphe, citation longue, listes
- du texte en gras, souligné, italique
- des liens, des images, tableaux, et même des commentaires
# 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
# ...
Production d’un fichier HTML. Le prochain exemple crée un fichier 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 !
Utilisation d’un modèle. La troisième commande applique un modèle ou gabarit (en anglais : template), permettant ainsi
de prérégler le rendu du document. On gagnera ainsi du temps en réutilisant un modèle fréquemment utilisé. Ici, on suppose l’existence du fichier 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)
Suite à vos conversions, vous devriez obtenir la série de fichiers suivants :
# 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