# Séparation du fond et de la forme

En informatique, la séparation du fond et de la forme est un point important de la création et de la gestion d'un document par outil informatique.

## Définition

La séparation du fond et de la forme consiste à séparer le message d'un document de sa présentation. On définira d'un côté le corps du document, par exemple le texte d'un article Wikipédia, et de l'autre côté la forme, comme la présentation des titres et des paragraphes.

## Concept

Avec l’avènement du numérique dans la création documentaire, les pratiques d’écriture ont changé. L'informatique apporte une couche abstraite supplémentaire à l’écriture et à la forme documentaire et change la définition de ce que nous pouvons appeler communément un document. Ce domaine propose des techniques clés qui montrent que les auteurs sont amenés à changer leurs pratiques.
Un même document peut par exemple être multisupport. Le multisupport correspond en fait à la caractéristique d'un document à être présenté sur différents supports. Typiquement, un cours donné par un professeur peut être présenté aux élèves de manières variées, sur des supports différents : un support papier comme un polycopié, un diaporama (Powerpoint, Beamer ou autre) et/ou un site internet interactif. Chacun de ces supports aura des exigences de présentation différentes. Pour plus de cohérence et d'efficacité, les auteurs ont intérêt à construire des contenus pouvant être publiés sur différents supports.
Ces nouvelles contraintes amènent l’auteur à séparer le fond de la forme de son document. D'où l'émergence de chaînes éditoriales du type WYSIWYM qui exigent cette approche contrairement aux traitements de texte type WYSIWYG qui ne font que la permettre et, par manque de formation, sont le plus souvent mal utilisés de manière spontanée.

## Intérêt

La séparation du fond et de la forme n'est pas une nécessité en soi ; elle n'est pas liée à une contrainte du logiciel ou du matériel.
Traditionnellement, la création d'un document — article, livre, affiche, tract… — était assurée par plusieurs métiers spécialisés : l'auteur, qui rédigeait le texte, le ou les correcteurs, le typographe qui s'assurait de la mise en page. L'outil informatique, lorsque le fond est bien balisé et séparé de la forme, réalise ces tâches automatiquement, en sous-produit de la rédaction. Comme il y a dissociation des deux aspects, ils peuvent être modifiés séparément : il est ainsi facile de tester plusieurs présentations d'un même document.
La séparation du fond et de la forme facilite ces essais et l'intervention de plusieurs auteurs (multi-authoring).
L'auteur se concentre sur le contenu du document. La mise en forme est traitée avant (mise en page à l'écran pour la rédaction confortable) ou après (pour la publication sous diverses formes), souvent déléguée à quelqu'un d'autre : secrétaire ou graphiste.
Elle permet également la recherche de tous les éléments de même type, par exemple pour en faire une liste : table des matières (liste de titres), liste de figures, de tableaux, référencement (références croisées, moteur de recherche, inclusion dans une base de données)…
La séparation du fond et de la forme facilite également la migration d'un document vers d'autres formes (single sourcing) : un fichier à imprimer en page web ou vice versa, génération d'une aide électronique à partir du document à imprimer… Cela facilite également l'interprétation par d'autres logiciels : logiciel de sortie en braille ou de lecture vocale (accessibilité) par exemple.
La séparation du fond et de la forme devient vite nécessaire avec les documents de grande taille. Cependant, c'est une bonne habitude à prendre, et d'aucuns la recommandent également pour les documents de petite taille.

## Exemple

Les titres d'un texte se distinguent, pour le lecteur, du corps du texte par leur police (fonte, corps, graisse…) et leur mise en page (filets, espaces, alignement…). On pourrait, à chaque fois que l'on rencontre un titre, définir sa typographie, mais :
* on risquerait de ne pas définir à chaque fois rigoureusement la même typographie, et donc de ne pas avoir un document homogène ;
* si l'on veut changer cette mise en forme, il faudrait retrouver tous les titres et le faire individuellement.
Autre exemple : au sein d'un texte, les éléments de code d'un programme, les noms de programme, les entrées au clavier et les messages à l'écran sont souvent en police à chasse fixe (type Courier). Si l'on veut modifier la police d'un de ces éléments, une recherche de la mise en forme nous donnerait la totalité des éléments précités, ce qui serait peu efficace. Et la tâche est d'autant plus fastidieuse que les occurrences sont fréquentes.
Le problème est multiplié :
* lorsque plusieurs personnes éditent des documents de la même collection : comment assurer la cohérence et d'ailleurs comment la vérifier ?
* lorsqu'un document existe et que son format ou le support du document doit changer : passage du A4 au A5 par exemple, ou bien publication sur papier et en ligne ;
* lorsque les documents ont plusieurs destinataires qui exigent chacun l'usage de norme propre, par exemple la Snecma pour plusieurs avionneurs, ou un arsenal pour les trois armées de terre, de l'air et de mer, sans oublier les ventes à des armées étrangères ;
* il n'est pas possible au lecteur de personnaliser l'apparence : les préférences de l'auteur s'imposent.
Si le logiciel le permet, il vaut donc mieux indiquer la fonction de l'élément de texte — dans notre exemple « titre de chapitre », « titre de section », « nom de programme »… — et indiquer une seule fois dans le document, ou mieux encore hors du document (c'est la notion de profil ou de feuille de style), comment les éléments de ce type sont mis en forme. L'auteur indique à la machine, avec sa terminologie, ce qu'il écrit. La machine réalise automatiquement la mise en forme à partir de cette indication formelle de la nature de l'information inscrite. La machine exécute automatiquement — dès la rédaction, après compilation (p. ex. LaTeX) ou lors de l'interprétation (p. ex. XHTML/CSS) — un travail autrefois réalisé lors de la transcription du manuscrit. La machine demande seulement plus de rigueur dans l'expression qu'une dactylo ou un compositeur. Pour simplifier les collaborations, il est préférable que la terminologie utilisée pour décrire le contenu du document soit normalisée.
Cette considération a été à l'origine du marquage GML (Generalized Markup Language), par Goldfarb en 1979, qui devint par la suite la norme SGML. Le CERN utilisant beaucoup GML en créa une extension pour Internet qui rencontra un succès planétaire : HTML.

## Applications
### Création de pages web

Pour la création de pages web, il est recommandé d'écrire le contenu en XHTML (ou en HTML), et de décrire la mise en forme en CSS, de préférence placée dans un fichier séparé.
Parmi les bonnes habitudes à prendre :
* utiliser la balise <em>…</em> — mise en emphase, qui indique la fonction de la portion de texte, et peut être retranscrit en italiques, en couleur (pour un affichage en mode texte) ou par une intonation particulière de la voix pour un lecteur vocal — plutôt que <i>…</i> (mise en italiques) ;
* utiliser la balise <strong>…</strong> (mise en emphase forte) plutôt que <b>…</b> (caractères gras) ;
* utiliser la balise <code>…</code> (code source de programme) plutôt que <tt>…</tt> (style machine à écrire) ;
* utiliser la balise <q>citation</q> plutôt que "citation" ou «&nbsp;citation&nbsp;».

### Sites Web

Certains sites Web font remplir un formulaire et s'en servent pour produire un document. C'est par exemple le cas des sites proposant de mettre un CV en ligne : on remplit un certain nombre de champs (état civil, diplômes, expériences…) et la mise en forme est faite par le moteur du site.

### Traitement de texte

Les logiciels de traitement de texte modernes permettent en général la définition de styles.
Ainsi, on indiquera qu'une portion de texte est dans un style déterminé, correspondant à la désignation fonctionnelle de l'information, et la mise en forme du style sera définie dans la boîte de dialogue de définition des styles.
Il faut veiller soigneusement à ce que le nom des styles ait une signification fonctionnelle et non typographique. On écrira par exemple « Titre de chapitre » et non « Titre centré ». Plusieurs styles peuvent parfaitement avoir, cela étant, le même aspect typographique à un moment donné, mais les différencier permettra de les différencier dans le futur.
Ainsi par exemple, lorsqu'IBM introduisit en 1979 le GML, la marque « titre » (:h1) ne se différenciait dans ses effets de la marque « mise en relief » (:hi1) que par un saut de ligne conditionnel ; pour le reste, l'imprimante effectuait juste une mise en gras par double frappe. Lorsque quatre ans plus tard apparurent chez ce constructeur ses premières imprimantes typographiques, les mises en relief :hi1 se traduisirent par de l'italique à corps égal, et les titres :h1 par du corps 14 romain gras, sans que l'on ait une virgule à changer aux textes eux-mêmes ; par ailleurs, ces textes restaient également imprimables sur des imprimantes classiques : le GML s'était révélé un cheval de Troie pour inciter toute sa clientèle à passer immédiatement à la typographie, puisque les bénéfices en étaient immédiats.
Avec le traitement de texte, la séparation du fond et de la forme exige de ne placer aucun caractère de mise en page superflu : paragraphes vides, tabulations en début de ligne — ou d'ailleurs où que ce soit —, sauts de page non exigés par la fonction, espaces multiples, etc. En effet, tout caractère de mise en page non indispensable est de la « forme » qui pollue le « fond ». Certains programmes tentent de les retirer automatiquement, mais leur fiabilité n'est pas parfaite.

### LaTeX

Le langage et système de composition de documents LaTeX dispose d'environnements ou d'instruction permettant la séparation fond/forme : \chapter{…}, \section{…}, \begin{tabular}…\end{tabular}, … On peut également définir des macro-instructions (commandes personnelles) dans l'en-tête, par exemple
pour mettre les noms de fichiers en police à chasse fixe.

### MediaWiki

Avec le logiciel MediaWiki, qu'utilise Wikipédia, les titres sont signalés par des signes égal (voir Aide:Syntaxe > Titre), ce qui permet de générer un sommaire de la page, les liens par deux paires de crochets (voir Aide:Syntaxe > Les liens), les tableaux sont dans des paires accolade/tube (voir Aide:Syntaxe > Tableaux). Il s'agit là de description du fond. La mise en forme est déterminée automatiquement ; elle est personnalisable si vous êtes un utilisateur enregistré (voir Aide:Préférences utilisateur).
La séparation fond/forme passe aussi par la création de modèles (voir Aide:Modèle) : dans le corps du texte, on indique simplement le modèle, et la mise en forme est définie dans la page de modèle. C'est le cas par exemple du modèle {{API}} pour la phonétique internationale, le modèle {{s}} pour les siècles, le modèle {{Chiffrage mesure}} pour le chiffrage des mesures de musique sur Wikibooks…
Le logiciel générant in fine du HTML avec une feuille de style CSS, on peut aussi utiliser des classes, comme la classe explain pour les explications :
    donne
    SNCF.