DocBook

Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis Docbook)
Aller à : navigation, rechercher

DocBook est un langage de balisage conçu à l'origine pour la documentation technique informatique (matériel et logiciel). C'est à l'origine une Définition de type de document (DTD) SGML développée par l'éditeur O'Reilly pour les besoins de l'édition technique (et plus particulièrement informatique). Elle a été portée depuis sous forme de schéma XML et de règle Relax NG pour la dernière version 5.0.

Actuellement maintenu et standardisé par le DocBook Technical Comittee du consortium OASIS, DocBook XML peut être utilisé pour tout type de documentation technique (rapports, normes, documentation, etc.)

La grande force de DocBook est d'être à la fois un format SGML et, depuis quelques années, un format XML totalement orienté sémantique. Il n'inclut en effet aucune information de mise en forme ce qui permet d'utiliser ensuite la documentation ainsi structurée par tout type de support / lecteur. Un ensemble de feuille de styles XSLT est disponible pour transformer des documents DocBook vers de nombreux formats comme HTML, PDF, RTF, Javadocetc.

DocBook est en train de s'imposer comme le format standard pour la documentation logicielle (notamment dans la communauté Open Source) et commence à être utilisé dans l'industrie. La normalisation par l'OASIS devrait d'ailleurs le rendre de plus en plus prisé.

Plusieurs logiciels permettent d'enregistrer et d'ouvrir des fichiers écrits dans ce format : OpenOffice (depuis la version 3.0), XML Copy Editor.

Histoire[modifier | modifier le code]

DocBook a été conçu par [:en:HAL_Computer_SystemsHaL|Computer Systems]] et O'Reilly & Associates en 1991 en s'inspirant des travaux de l'Open Software Foundation qui envisageait le langage SGML pour écrire les manuels de référence des versions OSF d'UNIX.

La popularité croissante du projet engendra la création du Davenport Group qui est officiellement à la charge du projet dès 1994.

Depuis 1998, DocBook est géré par le DocBook Technical Commitee de l'organisme de normalisation OASIS. De ce fait, il est indépendant vis-à-vis des logiciels propriétaires.

À l'origine le schéma DocBook est une DTD SGML qui deviendra également un schéma XML à partir de la version 4.1. Maintenant (v5.x), DocBook est également une grammaire XML définie par les schémas RelaxNG, W3C XML Schema[1].

Porteurs du projet[modifier | modifier le code]

Depuis 1998, DocBook est maintenu par le DocBook Technical Committee d'OASIS. Il s'agit d'un groupe de personne chargé du développement et de l'évolution du standard DocBook. Actuellement, les membres visibles publiquement sont (le tableau ci-dessous est directement issu du site d'OASIS[2]) :

Personne Organisation Rôle
Larry Rowland Hewlett-Packard Membre votant
Loren Cahlander Individu Membre
Nic Gibson Individu Membre
Richard Hamilton Individu Membre votant
Nancy Harrison Individu Membre votant
Jirka Kosek Individu Membre votant
Robert Stayton Individu Secrétaire
Norman Walsh Mark Logic Corporation Président
Patricia Gee Oracle Membre
Scott Hudson Schneider Electric Industries SAS Membre votant


DocBook étant un standard, il est porté par une large communauté[3] constituée à la fois de groupes/entreprises et d'individus. On dénombre environs 100 acteurs principaux qui portent le standard, l'utilisent ou contribuent à son développement. Le langage est notamment porté par la communauté de l'open source qui s'en sert pour les documentations techniques de nombreux projets. Par exemple, les documentations des projets GNOME, KDE, FreeBSD, OpenACS,... sont écrites en DocBook.

Un format séparant le contenu de la présentation[modifier | modifier le code]

DocBook est un schéma, son rôle est de définir la structure logique, c'est-à-dire l'organisation des éléments d'un document. Contrairement à des formats de traitement de texte, tel l'OpenDocument, le format DocBook ne contient strictement que le contenu du document, présenté de façon hiérarchisée.

DocBook n'est pas directement un format de document fini mais a plutôt pour but de produire des documents dans les formats souhaités.

L'organisation physique et spatiale d'un document n'est pas gérée par DocBook. Il n'est ainsi pas possible de spécifier en DocBook des couleurs de texte ou de mise en forme. C'est le rôle de feuilles de style de gérer la présentation du document. Il existe des feuilles de style par exemple pour générer, à partir du document DocBook, du PDF ou du HTML.

Ces feuilles de style peuvent se paramétrer pour adapter l'apparence du résultat à telle ou telle charte graphique. Elles sont en général écrites en langage XSLT, sans que ce soit une obligation.

Créer un document DocBook[modifier | modifier le code]

Outils pour DocBook SGML[modifier | modifier le code]

Auparavant, lorsque DocBook était un langage SGML, un fichier DocBook était converti dans un autre format grâce à une feuille de style DSSSL spécifiant comment transformer le fichier en un document au format lisible (PDF par exemple).

À l'époque de DocBook SGML, on utilisait les DocBook-tools, un groupe de packages gratuits, fonctionnant ensemble et permettant entre autres de former des documents finis à partir de fichiers DocBook.

Parmi les formats de publication (formats finaux, simplement lisibles par l'oeil humain), les fichiers DocBook peuvent être convertis notamment en HTML, DVI (TeX), PDF, PostScript, RTF,...

Pour la création de documents DocBook, il était nécessaire d'avoir :

  • le package sgml-common qui contient les outils et les ressources de base nécessaires à la production de document SGML (il sert à créer et à maintenir des catalogue SGML centralisés),
  • le logiciel jade qui transforme les fichiers DocBook en formats de publication à partir des DTD et des DSSSL.
  • le package jadetex qui contient les macros permettant de générer un fichier TeX intermédiaire qui sera transformé ensuite en un fichier final formaté.
  • la DTD DocBook : docbook-dtdXX-sgml, qui contient la version XX de la DTD de DocBook,

Étaient également nécessaires les packages perl-SGMLSpm et docbook-utils. Le premier est l'interface entre Perl et SGML. Le deuxième contient un ensemble des scripts simplifiant la manipulation de jade.

Outils pour DocBook XML[modifier | modifier le code]

Aujourd'hui, DocBook respecte le standard XML, sa conversion vers un autre format se fait par l'intermédiaire de feuilles de style XSL, une conversion est réalisée vers XSL-FO dont le processeur va ensuite pouvoir convertir le fichier vers un format final.

Les documents finaux peuvent être au format HTML, PDF, PCL, PS, SVG

Les packages à installer sont différents et moins nombreux que pour DocBook SGML :

  • docbook-dtdXX-xml qui contient le schéma DTD de la version XX de DocBook ;
  • docbook-style-xsl, où se trouvent les feuilles de styles XSL ;
  • libxslt (qui a besoin de la bibliothèque XML libxml2), le moteur de transformation XSLT qui permet le passage vers un document lisible.

Un environnement Java est nécessaire pour FOP (Formatting Objects Processor), le processeur XSL-FO.

Organisation d'un document DocBook[modifier | modifier le code]

Exemples de codes[modifier | modifier le code]

Exemple pour un article en Docbook version 4

<book id="exemple_de_livre">
   <title>Livre très simple</title>
   <chapter id="exemple_de_chapitre">
      <title>Chapitre très court</title>
      <para>Bonjour tout le monde !</para>
      <para>Ceci est un autre paragraphe...</para>
   </chapter>
</book>

Exemple pour un article en Docbook version 5

<?xml version="1.0" encoding="ISO-8859-15"?>
<article version="5.0" xml:lang="fr" xmlns="http://docbook.org/ns/docbook"
         xmlns:xlink="http://www.w3.org/1999/xlink"
         xmlns:xi="http://www.w3.org/2001/XInclude"
         xmlns:svg="http://www.w3.org/2000/svg"
         xmlns:m="http://www.w3.org/1998/Math/MathML"
         xmlns:html="http://www.w3.org/1999/xhtml"
         xmlns:db="http://docbook.org/ns/docbook">
  <info>
    <title>Titre de l'article</title>
    <author>
      <personname><surname>Moi Même</surname></personname>
    </author>
    <pubdate>2011</pubdate>
  </info>
<section xml:id="first_section"><title>Titre de la section</title>
<para>Bonjour tout le monde !</para>
<para>Autre paragraphe...</para>
</section>
 
</article>

Organisation générale[modifier | modifier le code]

Pour tout fichier DocBook, la structure générale du document est sensiblement la même.

L'élément racine, la balise <article> ou <book> englobe la totalité des éléments du document.

DocBook définit un livre comme étant un ensemble composé d'un bloc où sont inscrits les méta informations concernant celui-ci(<bookinfo>), d'une suite de chapitres (<chapter>), éventuellement d'une suite d'annexes(<appendix>) et/ou d'un glossaire.

Le bloc <bookinfo> contient des informations telles que le nom de (ou des) auteur(s), le titre du livre, ou encore la date de sa publication. Un chapitre est une suite de sections (<sect1>), elles-mêmes pouvant être divisées en un certain nombre de sous-sections, et ce récursivement (<sect2>,...).

Les chapitres et les sections comportent tous un titre (<title>) et au moins un paragraphe (<para>). Les contenus lisibles par le lecteur final se trouvent entre les balises <para>...< /para>. À l'intérieur de ces paragraphes, on peut trouver du texte, des images, des listes, des tableaux,...

Les annexes ont la même structure que les chapitres.

Pour les articles, la structure est allégée, on retrouve le bloc méta-information (<info>) mais les balises <chapter> n'existent plus, on passe directement aux niveaux de sections (<sect1>, <sect2>,...). De même, il n'y a plus d'annexes, ni de glossaire.

Notes et références[modifier | modifier le code]

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]