<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "/usr/share/sgml/docbook/dtd/xml/4.2/docbookx.dtd">
<article id="index" lang="fr"><articleinfo>
 <title>Une sélection d'éléments docbook</title>
<authorgroup>
 <author>
   <firstname>Freeduc</firstname>
   <surname>Sup</surname>
   <affiliation>
     <address><email>freeduc-sup@beaupeyrat.com</email></address>
   </affiliation>
  </author>
   <author>
   <firstname>Alix</firstname>
   <surname>Mascret</surname>
 </author>
 <author>
   <firstname>Olivier</firstname>
   <surname>Capuozzo</surname>
 </author>
</authorgroup>  

 <othercredit>
   <firstname>Valérie</firstname>
   <surname>Emin</surname>
   <contrib>Relecture</contrib>
   </othercredit>
  
 <date>01 juin 2003</date>
 <pubdate>O9 juin 2003</pubdate>
 <abstract>
   <para>
  Présentation d'une liste restreinte d'éléments DocBook 
  utilisés pour des 'polys' de la distribution 
  <ulink url="http://freeduc-sup.eu.org">freeduc-sup</ulink>.</para>
  <para> Objectif visé : faciliter une prise en main rapide de 
  ce système de rédaction de documents.</para>
  </abstract>
  <keywordset>
    <keyword>Open source</keyword>
    <keyword>DocBook</keyword>
  </keywordset>
</articleinfo>


<sect1><title>Présentation</title>
<!-- devrait passer en sect1 -->

      <para>Ce projet est né sur la liste freeduc-sup, lors de l'élaboration des documents accompagnant la distribution. L'objectif initial était de réaliser une liste minimale et exhaustive des éléments de la DTD DocBook, utilisables pour la réalisation des documents. C'est avant tout un document de travail que nous nous sommes produit. Vous ne trouverez pas, dans ce document d'éléments de cours sur xml, xsl ou les processeurs xslt. Il y a pour cela d'autres sources de données. Ce document n'est qu'un outil pour démarrer rapidement un projet d'édition.</para>
      <para>Connaissant assez bien DocBook,  nous souhaitions ensuite voir dans quelle mesure il était possible de créer un script permettant de porter ces documents de façon simple selon la dtd de  <ulink url="http://www.logidee.com/">Logidée</ulink>. En effet la société Logidée a développé pour ses propres besoins, un ensemble d'applications permettant la création de supports de cours (support étudiant, support enseignant, slides...). Ces applications sont intégrées à la liste des paquets officiels de Debian. Ils sont donc installables sur la distribution freeduc-sup comme n'importe quel paquet Debian. 
    </para>
      <para>La première partie du travail consistant à établir la liste des éléments utilisables dans la conception de document a été réalisée. C'est le document que vous lisez.</para>
      <para>La seconde partie n'est à ce jour (09/2003) pas faite.</para>
      <para>Vous trouverez donc dans ce document, les éléments de la dtd DocBook utilisables, une description du rôle de ces éléments, et la façon de les utiliser.</para>
      <para>Vous trouverez également un tutoriel permettant, en quelques minutes, de créer un premier document au format XML, puis générer une sortie au format html ou pdf. Cela devrait vous permettre de vous familiariser avec l'environnement et les manipulations de bases.</para>
      <para>Ce document a été réalisé sous GNU/Linux, avec
   <ulink url="http://www.vim.org">gvim</ulink> et <ulink url="http://www.gnu.org/software/emacs/emacs.html">Emacs</ulink>,
   au format <ulink url="http://www.oasis-open.org/docbook/">
   DocBook </ulink>, mis en page avec le 
   processeur XSLT <ulink url="http://saxon.sourceforge.net">
   saxon</ulink> développé par Michael Kay, les feuilles de 
   styles de <ulink url="http://nwalsh.com/">Norman Walsh</ulink>.
   </para>
      <para>Le processeur XSLT saxon nécessite une machine virtuelle Java. Aucune machine virtuelle n'est installée par défaut sur la version actuelle de la freeduc-sup. Cela sera peut être fait un jour.  Vous pouvez toutefois télécharger et installer le jdk de Sun. La procédure est donnée dans la section "Annexe de ce document".</para>
      <para>Bien que vous ayez une description des procédures d'installation de Java et d'utilisation de Saxon dans ce document, vous n'aurez pas besoin de ces produits pour réaliser le tutoriel. Les outils de génération html et pdf que vous utiliserez sont fournis sur la distribution freeduc-sup, mais sont également disponibles sur toutes les distributions GNU/Linux. L'exploitation de tout ce qui est dans ce document est donc transposable sur tout environnement GNU/Linux.</para>
      <para>
   <itemizedlist> <title>Références</title>
	  <listitem><para>DocBook: The Definitive Guide - copyright © by O'Reilly &amp; Associates - est consultable ici <ulink url="http://docbook.org/tdg/">http://docbook.org/tdg</ulink></para></listitem>
	  <listitem><para>DocBook home page <ulink url="http://www.oasis-open.org/docbook/">http://www.oasis-open.org/docbook/</ulink></para></listitem>
	</itemizedlist>

   </para>

</sect1>


<sect1><title>Un document se décompose en sections</title><sect2><title>Objectif</title><para>
   Créer une structure arborescente.
 </para></sect2><sect2><title>
       éléments 
        docbook</title><itemizedlist><listitem><para><emphasis role="bold">&lt;sect1&gt;</emphasis></para><para>section de niveau 1</para></listitem><listitem><para><emphasis role="bold">&lt;sect2&gt;</emphasis></para><para>section de niveau 2</para></listitem><listitem><para><emphasis role="bold">&lt;sect3&gt;</emphasis></para><para>section de niveau 3</para></listitem></itemizedlist></sect2><sect2><title>Exemple</title><programlisting><![CDATA[
  <sect3 id="section3" xreflabel="exemple de section 3">
    <title>un titre de section 3</title>
    <para>
         blabla section 3
    </para>
    <sect4 id="section3.1">
      <title>un titre de section 4</title>
      <para>
         blabla section 4
      </para>
    </sect4>
 </sect3>
]]></programlisting></sect2><sect2><title>Exemple de vue</title>
  <sect3 id="section3" xreflabel="exemple de section 3">
    <title>un titre de section 3</title>
    <para>
         blabla section 3
    </para>
    <sect4 id="section3.1">
      <title>un titre de section 4</title>
      <para>
         blabla section 4
      </para>
    </sect4>
 </sect3>
</sect2></sect1>

<sect1><title>Liste</title><sect2><title>Objectif</title><para>
   Créer une structure de liste numérotée ou non.
 </para></sect2><sect2><title>
       éléments 
        docbook</title><itemizedlist><listitem><para><emphasis role="bold">&lt;itemizedlist&gt;</emphasis></para><para>Liste à puce non numérotée</para></listitem><listitem><para><emphasis role="bold">&lt;orderedlist&gt;</emphasis></para><para>Liste ordonnée par des numéros</para></listitem><listitem><para><emphasis role="bold">&lt;listitem&gt;</emphasis></para><para>Un élément de liste (à puces ou à numéros)</para></listitem></itemizedlist></sect2><sect2><title>Exemple</title><programlisting><![CDATA[
 <para> Liste à puces</para>
  <itemizedlist>
    <listitem><para>item a</para></listitem>
    <listitem><para>item b</para></listitem>
  </itemizedlist>

 <para>Liste ordonnée</para>
  <orderedlist>
    <listitem><para>item a</para></listitem>
    <listitem><para>item b</para></listitem>
  </orderedlist>
 ]]></programlisting></sect2><sect2><title>Exemple de vue</title>
 <para> Liste à puces</para>
  <itemizedlist>
    <listitem><para>item a</para></listitem>
    <listitem><para>item b</para></listitem>
  </itemizedlist>

 <para>Liste ordonnée</para>
  <orderedlist>
    <listitem><para>item a</para></listitem>
    <listitem><para>item b</para></listitem>
  </orderedlist>
 </sect2></sect1>
 
 <sect1><title>Référence labelisée</title><sect2><title>Objectif</title><para>
   Marquer une section, une note, afin d'y faire référence à plusieurs endroits dans le document. 
 </para></sect2><sect2><title>
       éléments 
        docbook</title><itemizedlist><listitem><para><emphasis role="bold">id</emphasis></para><para>un attribut de section ou de note. Sa valeur doit être unique dans le document.</para></listitem><listitem><para><emphasis role="bold">xreflabel</emphasis></para><para>un attribut également. Sa valeur représentera le lien hypertexte.</para></listitem><listitem><para><emphasis role="bold">&lt;xref&gt; </emphasis></para><para>permet d'insérer un lien hypertexte pointant vers une autre zone du document. La valeur textuelle du lien est définie par la valeur de son attribut <literal>xreflabel</literal>.</para></listitem><listitem><para><emphasis role="bold">linkend </emphasis></para><para>Attribut de <literal>xref</literal>. Détermine le texte qui servira de lien hypertexte.</para></listitem></itemizedlist></sect2><sect2><title>Exemple</title><programlisting><![CDATA[
<para>Ce document contient une référence labelisée :</para>
  <programlisting>
    &lt;sect2 id="section3" xreflabel="exemple de section 3"&gt;

  </programlisting> 
<para>Exemple de lien vers <xref linkend="section3"/> .</para>
 ]]></programlisting></sect2><sect2><title>Exemple de vue</title>
<para>Ce document contient une référence labelisée :</para>
  <programlisting>
    &lt;sect2 id="section3" xreflabel="exemple de section 3"&gt;

  </programlisting> 
<para>Exemple de lien vers <xref linkend="section3"/> .</para>
 </sect2></sect1>

<sect1><title>Tableau</title><sect2><title>Objectif</title><para>
   Fournir une structuration tabulaire.
 </para></sect2><sect2><title>
       éléments 
        docbook</title><itemizedlist><listitem><para><emphasis role="bold">&lt;table&gt;</emphasis></para><para>débute la structure tableau.</para></listitem><listitem><para><emphasis role="bold">&lt;title&gt;</emphasis></para><para>Le titre du tableau</para></listitem><listitem><para><emphasis role="bold">&lt;tgroup&gt;</emphasis></para><para>Le tableau est structuré en groupes.</para></listitem><listitem><para><emphasis role="bold">&lt;thead&gt;</emphasis></para><para>L'entête du tableau</para></listitem><listitem><para><emphasis role="bold">&lt;row&gt;</emphasis></para><para>Déclare une ligne</para></listitem><listitem><para><emphasis role="bold">&lt;entry&gt;</emphasis></para><para>Défini le contenu d'une cellule</para></listitem><listitem><para><emphasis role="bold">&lt;tbody&gt;</emphasis></para><para>Défini le contenu du corps composé de cellules</para></listitem></itemizedlist></sect2><sect2><title>Exemple</title><programlisting><![CDATA[
 <table frame="all"><title>Un tableau</title>
 <tgroup cols="6" align="left" colsep="1" rowsep="1">
 <thead>
 <row>
   <entry>Nom</entry>
   <entry>Prenom</entry>
   <entry>Telephone</entry>
   <entry>EMail</entry>
   <entry>Num Service</entry>
   <entry>Role</entry>
 </row>
 </thead>
 <tbody>
  <row>
    <entry>Kay</entry>   
    <entry>Michael</entry>
    <entry>0122334455</entry>
    <entry>mk@saxon.org</entry>
    <entry>1</entry>
    <entry>XSLT and Co</entry>
  </row><row>
    <entry>Stallman</entry>
    <entry>Richard</entry>
    <entry>1111111111</entry>
    <entry/>
    <entry>2</entry>
    <entry>Fondateur du projet GNU et de la FSF</entry>
  </row>
 </tbody>
</tgroup>
</table>
]]></programlisting></sect2><sect2><title>Exemple de vue</title>
 <table frame="all"><title>Un tableau</title>
 <tgroup cols="6" align="left" colsep="1" rowsep="1">
 <thead>
 <row>
   <entry>Nom</entry>
   <entry>Prenom</entry>
   <entry>Telephone</entry>
   <entry>EMail</entry>
   <entry>Num Service</entry>
   <entry>Role</entry>
 </row>
 </thead>
 <tbody>
  <row>
    <entry>Kay</entry>   
    <entry>Michael</entry>
    <entry>0122334455</entry>
    <entry>mk@saxon.org</entry>
    <entry>1</entry>
    <entry>XSLT and Co</entry>
  </row><row>
    <entry>Stallman</entry>
    <entry>Richard</entry>
    <entry>1111111111</entry>
    <entry/>
    <entry>2</entry>
    <entry>Fondateur du projet GNU et de la FSF</entry>
  </row>
 </tbody>
</tgroup>
</table>
</sect2></sect1>



 <sect1><title>Texte en italique ou en gras</title><sect2><title>Objectif</title><para>
   Mettre en avant des mots ou phrases. 
 </para></sect2><sect2><title>
       éléments 
        docbook</title><itemizedlist><listitem><para><emphasis role="bold">&lt;emphasis&gt;</emphasis></para><para>mettre en italique</para></listitem><listitem><para><emphasis role="bold">&lt;emphasis role="bold"&gt;</emphasis></para><para>mettre en gras en valorisant l'attribut <literal>role</literal> à "bold" </para></listitem></itemizedlist></sect2><sect2><title>Exemple</title><programlisting><![CDATA[
 <para>
  ici en <emphasis>italic</emphasis>,
  ici en <emphasis role="bold">gras</emphasis>
</para>
 ]]></programlisting></sect2><sect2><title>Exemple de vue</title>
 <para>
  ici en <emphasis>italic</emphasis>,
  ici en <emphasis role="bold">gras</emphasis>
</para>
 </sect2></sect1>
 <sect1><title>Listing</title><sect2><title>Objectif</title><para>
   Présenter du code (fonction, module, classe, etc.). 
 </para></sect2><sect2><title>
       élément 
        docbook</title><itemizedlist><listitem><para><emphasis role="bold">&lt;programlisting&gt;</emphasis></para><para>Permet d'appliquer une police non proportionnelle afin de conserver la mise en page du document. Par commodité, on place parfois le code dans une section DATA (&lt;![CDATA[ du code ]]&gt;), afin d'éviter de redéfinir le symbole &lt; en &amp;lt;</para></listitem></itemizedlist></sect2><sect2><title>Exemple</title><programlisting><![CDATA[
 <para><emphasis role="bold">Une fonction en java</emphasis></para>
 <programlisting>
Nombre de caractères imprimables sur une ligne (format pdf ou postscript) :
0---------1---------2---------3---------4---------5---------6---------7----
75 caractères maximum pour ne pas avoir les lignes tronquées par les marges

 /*
  @param nameFile le nom du fichier initial
  @param newExt la nouvelle extension
  @return le nom du fichier initial avec une nouvelle extension.
  Dans le cas où il n'y a pas d'extension dans le nom initial,
  l'extension est ajoutée.
  exemple : changeExtension("toto.txt", "xml") rend "toto.xml"
  exemple : changeExtension("toto", "xml") rend "toto.xml"
  exemple : changeExtension("", "xml") rend ".xml"
*/
 public String changeExtension(String nameFile, String newExt) {
   String res;
   int posPt = nameFile.lastIndexOf('.');
   if (posPt &gt; 0)
     res = nameFile.substring(0, posPt) + "." + newExt;
   else
     res = nameFile + "." + newExt;
   return  res;
 }
 </programlisting>            
]]></programlisting></sect2><sect2><title>Exemple de vue</title>
 <para><emphasis role="bold">Une fonction en java</emphasis></para>
 <programlisting>
Nombre de caractères imprimables sur une ligne (format pdf ou postscript) :
0---------1---------2---------3---------4---------5---------6---------7----
75 caractères maximum pour ne pas avoir les lignes tronquées par les marges

 /*
  @param nameFile le nom du fichier initial
  @param newExt la nouvelle extension
  @return le nom du fichier initial avec une nouvelle extension.
  Dans le cas où il n'y a pas d'extension dans le nom initial,
  l'extension est ajoutée.
  exemple : changeExtension("toto.txt", "xml") rend "toto.xml"
  exemple : changeExtension("toto", "xml") rend "toto.xml"
  exemple : changeExtension("", "xml") rend ".xml"
*/
 public String changeExtension(String nameFile, String newExt) {
   String res;
   int posPt = nameFile.lastIndexOf('.');
   if (posPt &gt; 0)
     res = nameFile.substring(0, posPt) + "." + newExt;
   else
     res = nameFile + "." + newExt;
   return  res;
 }
 </programlisting>            
</sect2></sect1>

 <sect1><title>Copie écran console</title><sect2><title>Objectif</title><para>
   Présenter un état de la console. 
 </para></sect2><sect2><title>
       élément 
        docbook</title><itemizedlist><listitem><para><emphasis role="bold">&lt;screen&gt;</emphasis></para><para>Présenter le résultat d'un programme sur la sortie standard,
    ou une séquence de commandes système. Appliquer une police fixe.</para></listitem></itemizedlist></sect2><sect2><title>Exemple</title><programlisting><![CDATA[
<para>Exemple de sortie console :</para>
<screen>
$ cat bin/makeHtml.sh
java -classpath /home/kpu/xsl/saxon/lib/saxon.jar 
 com.icl.saxon.StyleSheet -o $2 
 $1 /home/kpu/xsl/stylesheets/docbook-xsl-1.60.1/xhtml/docbook.xsl
$ makeHtml.sh selection-elts.docbook selection-elts.html
$
</screen>
 ]]></programlisting></sect2><sect2><title>Exemple de vue</title>
<para>Exemple de sortie console :</para>
<screen>
$ cat bin/makeHtml.sh
java -classpath /home/kpu/xsl/saxon/lib/saxon.jar 
 com.icl.saxon.StyleSheet -o $2 
 $1 /home/kpu/xsl/stylesheets/docbook-xsl-1.60.1/xhtml/docbook.xsl
$ makeHtml.sh selection-elts.docbook selection-elts.html
$
</screen>
 </sect2></sect1>
<sect1><title>Lien vers une ressource</title><sect2><title>Objectif</title><para>
   Proposer un lien vers une ressource.
 </para></sect2><sect2><title>
       éléments 
        docbook</title><itemizedlist><listitem><para><emphasis role="bold">&lt;ulink&gt;</emphasis></para><para>nom du lien</para></listitem><listitem><para><emphasis role="bold">url</emphasis></para><para>Attribut de <literal>ulink</literal>, sa valeur localise la ressource.</para></listitem></itemizedlist></sect2><sect2><title>Exemple</title><programlisting><![CDATA[
 <para> <ulink url="./selection-dbk.xml">un lien vers une ressource ici</ulink> </para>
 <para> <ulink url="http://www.linux-france.org/prj/edu/archinet/"><citetitle>un
 autre lien ici</citetitle></ulink> </para>
 ]]></programlisting></sect2><sect2><title>Exemple de vue</title>
 <para> <ulink url="./selection-dbk.xml">un lien vers une ressource ici</ulink> </para>
 <para> <ulink url="http://www.linux-france.org/prj/edu/archinet/"><citetitle>un
 autre lien ici</citetitle></ulink> </para>
 </sect2></sect1>
<sect1><title>Image</title><sect2><title>Objectif</title><para>
   Insérer une image.
 </para></sect2><sect2><title>
       éléments 
        docbook</title><itemizedlist><listitem><para><emphasis role="bold">&lt;figure&gt;</emphasis></para><para>Permet le plus souvent une numérotation des figures dans le document.
 Pour l'impression papier (pdf ou postscript), il faut faire attention
     à la taille des images afin qu'elles ne soient pas tronquées sur les marges. Une largeur de 15 cm est généralement correcte. Pour le format, préférer le format "png".
    </para></listitem><listitem><para><emphasis role="bold">&lt;title&gt;</emphasis></para><para>
      Élément de l'élément <literal>figure</literal>. Le nom de la figure.
    </para></listitem><listitem><para><emphasis role="bold">&lt;graphic&gt;</emphasis></para><para>Concerne l'image à insérer.</para></listitem><listitem><para><emphasis role="bold">srccredit</emphasis></para><para>
      Attribut de <literal>graphic</literal>. Information sur la source du document image.
    </para></listitem><listitem><para><emphasis role="bold">fileref </emphasis></para><para>Attribut de <literal>graphic</literal>. Nom du fichier image.</para></listitem></itemizedlist></sect2><sect2><title>Exemple</title><programlisting><![CDATA[
 <figure><title>Classe VoyageTibet</title>
 <graphic srccredit="kpu" fileref="voyageTibet.png"/>
 </figure>
 ]]></programlisting></sect2><sect2><title>Exemple de vue</title>
 <figure><title>Classe VoyageTibet</title>
 <graphic srccredit="kpu" fileref="voyageTibet.png"/>
 </figure>
 </sect2></sect1>

<sect1><title>Remarques</title><sect2><title>Objectif</title><para>
   Attirer l'attention par une note de quelques lignes.
 </para></sect2><sect2><title>
       éléments 
        docbook</title><itemizedlist><listitem><para><emphasis role="bold">&lt;note&gt;</emphasis></para><para>Information en relation avec le texte courant, mais de portée plus générale.</para></listitem><listitem><para><emphasis role="bold">&lt;important&gt;</emphasis></para><para>Une note importante.</para></listitem></itemizedlist></sect2><sect2><title>Exemple</title><programlisting><![CDATA[
<para>Un exemple de note.</para> 
 <note><title>Envoi de message</title>
 <para>L'instruction suivante :</para>
 <programlisting>
 hello.exprimeToi();
 </programlisting>
 <para>Se lit de plusieurs façons, en voici deux équivalentes :</para>
 <orderedlist>
   <listitem><para>
   <emphasis>J'invoque la méthode</emphasis> <literal>exprimeToi</literal> de l'objet référencé par la variable <literal>hello</literal>.
   </para></listitem>
   <listitem><para>
   <emphasis>J'envoie le message </emphasis> <literal>exprimeToi</literal> à l'objet référencé par la variable <literal>hello</literal>.
   </para></listitem>
 </orderedlist>
 </note>
<para>Un exemple de remarque importante.</para> 
 <important><title>Brevet logiciel</title>
 <para>La créativité en danger. S'informer <ulink url="http://swpat.ffii.org/index.fr.html#intro">ici</ulink>.</para>
 </important>
 ]]></programlisting></sect2><sect2><title>Exemple de vue</title>
<para>Un exemple de note.</para> 
 <note><title>Envoi de message</title>
 <para>L'instruction suivante :</para>
 <programlisting>
 hello.exprimeToi();
 </programlisting>
 <para>Se lit de plusieurs façons, en voici deux équivalentes :</para>
 <orderedlist>
   <listitem><para>
   <emphasis>J'invoque la méthode</emphasis> <literal>exprimeToi</literal> de l'objet référencé par la variable <literal>hello</literal>.
   </para></listitem>
   <listitem><para>
   <emphasis>J'envoie le message </emphasis> <literal>exprimeToi</literal> à l'objet référencé par la variable <literal>hello</literal>.
   </para></listitem>
 </orderedlist>
 </note>
<para>Un exemple de remarque importante.</para> 
 <important><title>Brevet logiciel</title>
 <para>La créativité en danger. S'informer <ulink url="http://swpat.ffii.org/index.fr.html#intro">ici</ulink>.</para>
 </important>
 </sect2></sect1>

<sect1><title>Jeu de questions-réponses</title><sect2><title>Objectif</title><para>
   Idéal pour la construction de FAQ. 
 </para></sect2><sect2><title>
       éléments 
        docbook</title><itemizedlist><listitem><para><emphasis role="bold">&lt;qandaset&gt;</emphasis></para><para>Élément racine d'un jeu de Q/R</para></listitem><listitem><para><emphasis role="bold">&lt;qandaentry&gt;</emphasis></para><para>Structure contenant une question et ses éventuelles reponses (0 à n)</para></listitem><listitem><para><emphasis role="bold">&lt;question&gt;</emphasis></para><para>Une question. Élément enfant de <literal>qandaentry</literal> </para></listitem><listitem><para><emphasis role="bold">&lt;answer&gt;</emphasis></para><para>Une des réponses à la question. Élément enfant de <literal>qandaentry</literal> </para></listitem></itemizedlist></sect2><sect2><title>Exemple</title><programlisting><![CDATA[
<qandaset>
<qandaentry>
<question>
<para>
To be, or not to be?
</para>
</question>
<answer>
<para>
That is the question.
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Comment changer le format de papier par défaut ?</para>
</question>
<answer>
<para>Allouer la valeur <literal>A4</literal> à 'paper.type'</para>
</answer>
<answer>
<para>Dans votre fichier de redéfinition des règles : </para>
<para>&lt;xsl:param name="paper.type" select="A4" /&gt;</para>
</answer>
</qandaentry>
</qandaset>
]]></programlisting></sect2><sect2><title>Exemple de vue</title>
<qandaset>
<qandaentry>
<question>
<para>
To be, or not to be?
</para>
</question>
<answer>
<para>
That is the question.
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Comment changer le format de papier par défaut ?</para>
</question>
<answer>
<para>Allouer la valeur <literal>A4</literal> à 'paper.type'</para>
</answer>
<answer>
<para>Dans votre fichier de redéfinition des règles : </para>
<para>&lt;xsl:param name="paper.type" select="A4" /&gt;</para>
</answer>
</qandaentry>
</qandaset>
</sect2></sect1>


<sect1><title>Entête du document</title><sect2><title>Objectif</title><para>Informations générales sur le document.  L'exemple ci-dessous est celui utilisé comme source docbook de ce document. Voici quelques uns de ces éléments, pour les autres, référez vous à l'exemple ci-après.</para></sect2><sect2><title>
       éléments 
        docbook</title><itemizedlist><listitem><para><emphasis role="bold">&lt;article&gt;</emphasis></para><para>Élément racine d'un article</para></listitem><listitem><para><emphasis role="bold">&lt;groupauthor&gt;</emphasis></para><para>Pour rassembler les auteurs (&lt;author&gt;)</para></listitem><listitem><para><emphasis role="bold">&lt;author&gt;</emphasis></para><para>Un des auteurs du document (voir l'exemple pour connaître les éléments retenus décrivant un auteur)</para></listitem><listitem><para><emphasis role="bold">&lt;othercredit&gt;</emphasis></para><para>Une personne ou entité, autre qu'un auteur, ayant participé au document.</para></listitem><listitem><para><emphasis role="bold">&lt;date&gt;</emphasis></para><para>Date de création du document</para></listitem><listitem><para><emphasis role="bold">&lt;pubdate&gt;</emphasis></para><para>Dernière date de publication</para></listitem><listitem><para><emphasis role="bold">&lt;abstract&gt;</emphasis></para><para>Un résumé du document, contenant également des infos légales.</para></listitem><listitem><para><emphasis role="bold">&lt;keywordset&gt;</emphasis></para><para>Un ensemble de mots clés pouvant être utilisé pour un référencement.</para></listitem><listitem><para><emphasis role="bold">&lt;keyword&gt;</emphasis></para><para>Un mot clé.</para></listitem></itemizedlist></sect2><sect2><title>Exemple</title><programlisting><![CDATA[

<articleinfo>
 <title>Une sélection d'éléments docbook</title>
<authorgroup>
 <author>
   <firstname>Freeduc</firstname>
   <surname>Sup</surname>
   <affiliation>
     <address><email>freeduc-sup@beaupeyrat.com</email></address>
   </affiliation>
  </author>
   <author>
   <firstname>Alix</firstname>
   <surname>Mascret</surname>
 </author>
 <author>
   <firstname>Olivier</firstname>
   <surname>Capuozzo</surname>
 </author>
</authorgroup>  

 <othercredit>
   <firstname>Valérie</firstname>
   <surname>Emin</surname>
   <contrib>Relecture</contrib>
   </othercredit>
  
 <date>01 juin 2003</date>
 <pubdate>O9 juin 2003</pubdate>
 <abstract>
   <para>
  Présentation d'une liste restreinte d'éléments DocBook 
  utilisés pour des 'polys' de la distribution 
  <ulink url="http://freeduc-sup.eu.org">freeduc-sup</ulink>.</para>
  <para> Objectif visé : faciliter une prise en main rapide de 
  ce système de rédaction de documents.</para>
  </abstract>
  <keywordset>
    <keyword>Open source</keyword>
    <keyword>DocBook</keyword>
  </keywordset>
</articleinfo>
 ]]></programlisting></sect2></sect1>




<sect1><title>Annexe : comment transformer ?</title>
<!--ATTENTION cette partie sera au final insérée dans un sect1 (d'où la présence
de sect2 et non de sect1) -->
<para>Il faut, avant toute transformation, valider le document source. Cela est réalisé grâce à un parseur (parser en Anglais).
On peut comparer cette opération à la validation grammaticale et syntaxique que réalise un compilateur sur un source.
Des exemples d'outils et la façon de les utiliser sont donnés dans la partie tutoriel. Aucune transformation
ne sera possible si le document n'est pas "valide", ou au mieux "bien formé".
</para>
   <para>Il existe 2 techniques : une basée sur les sgmltools (outils de transformation basés sur DSSSL et le système jade) et l'autre sur xml et xslt.</para>
    <sect2><title>sgmltools</title>
      <para><emphasis role="bold">sgmltools</emphasis> : un ensemble d'outils de transformation basés sur <literal>jade</literal> et disponible sur les principales distributions GNU/Linux.</para>
      <para>Exemple d'utilisation :</para>
      <screen>
$ <emphasis role="bold">db2html test.xml</emphasis>
output is test
Using catalogs: /etc/sgml/xml-docbook-4.1.2-1.0-14.cat
Using stylesheet: /usr/share/sgml/docbook/utils-0.6.11/docbook-utils.dsl#html
Working on: /home/kpu/docbook/test.xml
$
</screen>
      <para>Suite à cette commande, le répertoire ./test est créé et contient les documents HTML.</para>
      <para>Autre exemple, conversion vers du PDF</para>
      <screen>
$ <emphasis role="bold">db2pdf test.xml</emphasis>
Using catalogs: /etc/sgml/xml-docbook-4.1.2-1.0-14.cat
Using stylesheet: /usr/share/sgml/docbook/utils-0.6.11/docbook-utils.dsl#print
Working on: /home/kpu/docbook/test.xml
$
</screen>
      <para>Le document <literal>test.pdf</literal> est créé dans le réprertoire courant.</para>
    </sect2>
    <sect2><title>xslt</title>
      <para>Un document DocBook est un document XML valide (qui respecte la DTD DocBook).</para>
      <para>Pour transformer une document XML, nous utilisons une à plusieurs feuilles de style XSLT et un processeur XSLT.</para>
      <para>Il nous faut donc :</para>
      <itemizedlist>
	<listitem><para><emphasis role="bold">Un processeur XSLT</emphasis></para>
	  <para>Nous présenterons quelques exemples qui utilisent :</para>
	  <itemizedlist>
	    <listitem><para>saxon : un processeur xslt écrit en java par <ulink url="http://saxon.sourceforge.net"> Michael Kay</ulink>.
 </para></listitem>
	    <listitem><para>xsltproc : un processeur xslt écrit en C (<ulink url="http://xmlsoft.org/XSLT/">voir ici</ulink>).</para></listitem>
	  </itemizedlist>
	</listitem>
	<listitem><para>Un document source en DocBook</para></listitem>
	<listitem><para>Une ou plusieurs feuilles de styles basées sur la DTD DocBook.</para> 
	  <para>Vous trouverez une collection de feuilles des styles xslt <ulink url="http://docbook.sourceforge.net/projects/xsl/">http://docbook.sourceforge.net/projects/xsl/</ulink> (choisir <emphasis>XSL stylesheet distribution</emphasis>) permettant de traiter des documents DocBook en différents formats.</para>
	</listitem>
      </itemizedlist>
<para>Il existe d'autrs processeurs XSLT écrits en C ou en C++ comme  <ulink url="http://xml.apache.org">xalan</ulink>, <ulink url="http://http://www.gingerall.com/">sablotron</ulink> et bien d'autres encore. Une liste de produits et outils autour d'xml  est accessible <ulink url="http://www.garshol.priv.no/download/xmltools/"> ici</ulink>.</para>
<sect3> <title>Exemple de génération d'un document HTML</title> 
      <screen>
CLASSPATH=saxon.jar:$CLASSPATH
export CLASSPATH
java  com.icl.saxon.StyleSheet  filename.xml \
      docbook-xsl-1.60.1/html/docbook.xsl &gt; output.html
</screen>
      <para>On suppose ici que <literal>saxon.jar</literal> est situé dans le répertoire courant, et que ce même répertoire contient un répertoire <literal>DocBook</literal> correspondant au résultat de la décompression du fichier <literal>docbook-xsl-1.60.1.tar.gz</literal> - <ulink url="http://nwalsh.com/">voir ici</ulink>.</para>
      <para>Avec <literal>saxon</literal> vous devez préalablement avoir installé un <literal>JRE</literal> (<emphasis>java runtime engine</emphasis>) ou un JDK (<emphasis>java developement kit</emphasis>) - qui inclut un JRE.</para>
<para>Vous avez un document qui décrit la procédure de téléchargement et d'installation de Java sur une machine GNU/Linux <ulink url="http://www.linux-france.org/prj/edu/archinet/DA/install-java/"> ici</ulink>.</para>
      <para>Sous GNU/Linux, vous pouvez plus simplement utiliser le processeur <literal>xsltproc </literal> : </para>
      <programlisting>
 xsltproc docbook-xsl-1.60.1/html/docbook.xsl filename.xml &gt; output.html
</programlisting>
      <para>Attention, l'ordre des arguments est inversé par rapport aux outils sous java.</para>
</sect3>      
<sect3> <title>Exemple de génération d'un document PDF</title>
      <para>Pour produire une document PDF, on s'appuie sur FOP, un projet libre en open source de la fondation Apache <ulink url="http://xml.apache.org/fop/"> http://xml.apache.org/fop/ </ulink>. Pour cela on réalise une opération en 2 passes : une pour générer un fichier FO (formatting object) et une deuxième pour transformer en PDF.</para>

      <screen>
 CLASSPATH=saxon.jar:fop.jar:$CLASSPATH
 export CLASSPATH
 java  com.icl.saxon.StyleSheet filename.xml \
       docbook-xsl-60.1/fo/docbook.xsl &gt; output.fo
 java  org.apache.fop.apps.CommandLine output.fo output.pdf
</screen>
</sect3>
    </sect2>
</sect1>   
 
<sect1>
<!-- Cette partie va passer en sect1 -->

<title>Prise en main de la DTD DocBook </title>

 <para>
Cette partie doit vous permettre de prendre en main rapidement l'environnement de développement de documentation disponible sur la distribution freeduc-sup. Quelques adaptations mineures seront sûrement nécessaires sur d'autres distributions.
</para>
<para>Nous allons utiliser Emacs comme éditeur car il est configuré pour supporter le <ulink url="http://sourceforge.net/projects/psgml/">mode psgml</ulink> qui est un ensemble de macros simplifiant l'édition de documents xml.</para>
<para> Voir aussi <ulink url="http://www.lysator.liu.se/~lenst/about_psgml/psgml.html"> la documentation</ulink> des macros. </para>
<para>La DTD DocBook est supposée installée sur votre système ici : <literal>/usr/share/sgml/docbook/dtd/xml/4.2/docbookx.dtd</literal>. Si ce n'est pas le cas, vous pouvez vous la procurer ici : <ulink url=" http://www.oasis-open.org/docbook/xml/"> http://www.oasis-open.org/docbook/xml/</ulink>, choisir <literal> DocBook XML V4.2</literal> en archive ZIP que vous décompresserez.</para>
<para>Mettez vous dans un répertoire de travail et copiez l'image "voyageTibet.png" qui fait partie de ce document dans le répertoire.</para>
<para>Ouvrez, dans ce répertoire un nouveau document avec emacs :
<programlisting> 
$&gt;emacs index.xml&amp;

</programlisting>
</para>
<sect2><title>Création de l'entête</title>
<para>
Tout document commence par une déclaration. Vous pouvez saisir ou copier l'extrait ci-dessous :
<programlisting> 
&lt;?xml version="1.0" encoding="iso-8859-1"?&gt;
&lt;!DOCTYPE article PUBLIC "-//OASIS//DTD docbook XML V4.2//EN" 
"/usr/share/sgml/docbook/dtd/xml/4.2/docbookx.dtd"&gt;

&lt;article lang="fr"&gt;
&lt;articleinfo&gt;
    &lt;title&gt;Titre de l'article&lt;/title&gt;
    &lt;author&gt;
      &lt;firstname&gt;Votre Nom&lt;/firstname&gt;
      &lt;surname&gt;Votre prénom&lt;/surname&gt;
      &lt;affiliation&gt;
	&lt;address&gt;&lt;email&gt;Votre adresse de mèl&lt;/email&gt;&lt;/address&gt;
      &lt;/affiliation&gt;
    &lt;/author&gt;
    &lt;date&gt;Ici la date de conception&lt;/date&gt;
    &lt;pubdate&gt;Ici la date de publication ou de dernière modification&lt;/pubdate&gt;
    &lt;abstract&gt;
      &lt;para&gt;Résumé ou présentation succinte de l'article&lt;/para&gt;
    &lt;/abstract&gt;
  &lt;/articleinfo&gt;
&lt;sect1&gt;&lt;title&gt;&lt;/title&gt;
&lt;para&gt;
&lt;/para&gt;
  &lt;/sect1&gt;
&lt;/article&gt;


</programlisting>
Vous pourrez ensuite l'adapter et le garder comme squelette pour tous les documents que vous aurez à réaliser.
</para>
<para>A ce stade vous avez déjà un document complet, valide, qui contient déjà une section bien que celle-ci soit vide.</para>

    </sect2>
<sect2><title>Le corps du document</title>
<para>Mettez un titre à la section "sect1", entre les éléments "title" et "/title". Saisissez ensuite ou copier le morceau de texte ci-dessous qui permet d'insérer un morceau de texte et  une image. </para>
<programlisting> 
&lt;sect1&gt;&lt;title&gt;Creation d'un paragraphe&lt;/title&gt;
&lt;para&gt;Pour insérer un élément a partir d'Emacs avec le mode psgml, 
      il suffit de taper "CTRL c i", puis entrer l'élément a inserer, 
      par exemple "para".  &lt;/para&gt;
    &lt;para&gt;Pour fermer un élément qui est ouvert , 
    il faut positionner le curseur à l'endroit où doit venir la balise 
    de fermeture et taper "CTRL /. &lt;/para&gt;

&lt;para&gt;Pour contrôler la validité du document directement à partir d'Émacs 
      il faut utiliser "CTRL c v".&lt;/para&gt;
&lt;para&gt;Une autre option consiste à utiliser par exemple
un parseur externe comme "xmllint" en ligne de commande.
&lt;/para&gt;
&lt;programlisting&gt;
$ xmllint --noout  --loaddtd --valid  index.xml
&lt;/programlisting&gt;


&lt;para&gt;Ajoutons une image :
&lt;figure&gt;
	&lt;title&gt;Voyage au Tibet&lt;/title&gt;
	&lt;graphic fileref="voyageTibet.png"/&gt;
      &lt;/figure&gt;
&lt;/para&gt;
  &lt;/sect1&gt;
</programlisting>
<para>
La première partie du document est terminée. Il faut vérifier qu'il est conforme
a la dtd DocBook. Pour cela il faut utiliser un "parser".</para>
<para>Emacs permet de faire cela assez simplement avec la commande "CTRL c v".</para>
<para>Le résultat du contrôle apparaît dans une fenêtre du bas. Si des erreurs apparaissent il faut les corriger.
En général ce sont des balises de fermetures qui manquent.</para>
<para>Voici un exemple d'erreur :
<programlisting> 
nsgmls:index.xml:35:9:E: end tag for "sect1" 
       omitted, but OMITTAG NO was specified
nsgmls:index.xml:21:0: start tag was here
</programlisting>
Ici il manque une balise "sect1" ligne 35 pour fermer la balise qui ouvre ligne 21.</para>
<para>Deux warnings peuvent apparaître que vous pouvez laisser, ils n'influeront en rien
sur le document final.
<programlisting> 
nsgmls:/usr/share/sgml/declaration/xml.dcl:1:W: 
       SGML declaration was not implied
nsgmls:/usr/share/sgml/declaration/xml.dcl:31:27:W: characters in the document 
       character set with numbers exceeding 65535 not supported
</programlisting>
</para>
<para>Vérifier la bonne structure du document et corrigez les éventuelles erreurs.</para>
    </sect2>

<sect2><title>Modifier le document</title>
<para>Nous allons rajouter un deuxième niveau de section contenant une liste. Nous allons le mettre
juste avant la balise de fermeture "/sect1".</para>
<para>
<programlisting> 

&lt;sect2&gt;&lt;title&gt;Compilation du source xml&lt;/title&gt;
 &lt;orderedlist&gt;
  &lt;listitem&gt;&lt;para&gt;
  db2html index.xml pour générer un document html sur "n" pages
            &lt;/para&gt;&lt;/listitem&gt;
  &lt;listitem&gt;&lt;para&gt;
  db2html -u index.xml pour générer un document html sur une seule page
            &lt;/para&gt;&lt;/listitem&gt;
  &lt;listitem&gt;&lt;para&gt;db2pdf index.xml pour produire une sortie pdf
            &lt;/para&gt;&lt;/listitem&gt;
      &lt;/orderedlist&gt;
&lt;para&gt;Pensez, pour les documents html, à copier l'image dans 
le répertoire de destination. Dans notre exemple il s'agit du 
répertoire "index".&lt;/para&gt;
    &lt;/sect2&gt;

</programlisting>
</para>
<para>Enfin nous allons compléter le document avec une autre section "sect1" faisant
référence à la licence qui couvre ce document :


<programlisting> 
&lt;sect1&gt;    &lt;title&gt;Licence&lt;/title&gt;
&lt;para&gt;Ce document est couvert par la licence 
      &lt;ulink url="http://www.gnu.org/copyleft/gpl.html"&gt;GPL&lt;/ulink&gt;.&lt;/para&gt;
&lt;para&gt;Le site officiel est &lt;ulink url="http://ici mettre l'url"&gt;ici&lt;/ulink&gt;.
&lt;/para&gt;
&lt;para&gt;Vous pouvez utiliser, copier, modifier, distribuer librement ce 
document. Son utilisation n'engage en aucune façon la responsabilité de son 
auteur.&lt;/para&gt;
&lt;/sect1&gt;

</programlisting>

</para>

    </sect2>

<sect2><title>Transformer le document xml</title>
<para>Il ne reste plus qu'à transformer ce document xml au format html ou pdf. Pour réaliser 
la génération, mettez vous dans le répertoire où se trouve le document et utilisez :
<screen>
db2html index.xml pour générer un document html sur "n" pages
db2html -u index.xml pour générer un document html sur une seule page
db2pdf index.xml pour produire une sortie pdf
</screen>
</para>
<para>La génération html se fait par défaut dans le répertoire "index" (nom du document).
Si vous utilisez deux fois de suite la commande "db2html", la version qui est dans le répertoire
index sera détruite.
</para>
<para>Si l'image n'apparaît pas dans le document html, vérifier qu'elle existe bien dans le répertoire
index.</para>
    </sect2>
</sect1>


<sect1> <title>Finaliser tout ça</title>

<para>Il ne reste plus qu'à automatiser un peu tout ça. Pour cela il est possible de créer un "Makefile" qui permettra
la génération automatique de tous les formats de sortie.
</para>
<para>Nous allons en faire un tout simple qui va faire l'essentiel pour nous.</para>

<programlisting>
# Makefile, utilise dsssl
# À adapter pour xsl/xslt fo

# On considère que le fichier se nomme index.xml
FILE=index

all:	txt html rtf pdf 

clean:
	rm -rf index_multi_page index_mono_page *.pdf *.ps *.txt *.rtf

parse:
	nsgmls -sv -wxml /usr/share/sgml/declaration/xml.dcl index.xml


# Sortie txt
# Pour consulter avec more ou less, pas avec un éditeur
# ou alors virer la table des matières.
txt:	htm
	html2text index_mono_page/${FILE}.html &gt; ${FILE}.txt

# Sortie html sur un seul fichier html
htm:
	db2html -o index_mono_page -u index.xml
	cp -Rf images index_mono_page
 
# Sortie html sur plusieurs pages
html:
	db2html -o index_multi_page index.xml
	cp -Rf images index_multi_page

# Sortie pdf
# On passe par  une génération postscript
# On édite les document 1 feuille par page et 2 feuilles par page
pdf:	
	db2ps ${FILE}.xml
	psnup -pletter -Pa4 -b.05 -m.01 -2 ${FILE}.ps ${FILE}_2p.ps
	ps2pdf ${FILE}.ps
	ps2pdf ${FILE}_2p.ps


# Sortie RTF
rtf:	
	db2rtf ${FILE}.xml

</programlisting>

<para>Vous pouvez utiliser tout simplement ce Makefile avec les commandes "make parse", "make clean", "mke rtf", "make all" ...</para>
<para>La génération d'un document de plus de 200 pages est réalisée comme ça automatiquement dans tous les formats de sortie en moins de 2 minutes sur ma machine.</para>

</sect1>




<sect1>


<title>Conclusion </title>

<para>Si vous êtes arrivé jusque là, votre environnement fonctionne correctement. Il ne reste plus qu'à 
se familiariser un peu plus avec la liste des éléments DocBook, le mode psgml, et tester d'autres
processeurs XSLT comme Saxon.
</para>
<para>Vous découvrirez avec le temps la joie de n'avoir à maintenir qu'un seul source de votre document, indépendant des diffférents formats de sortie.</para>

      <para><ulink url="http://www.sagehill.net/docbookxsl/index.html">Le guide complet sur xsl DocBook</ulink> vous donnera toutes les indications détaillées sur l'utilisation de saxon, xalan, xsltproc, fop.</para>

<para><ulink url="http://www.docbook.org/tdg/en/">DocBook: The Definitive Guide</ulink> de Norman WALSH, vous donnera tous les autres éléments sur la dtd de DocBook dont vous pourriez avoir besoin.</para>
</sect1>


<sect1>


<title>Listing complet du tutoriel </title>
<programlisting> 
&lt;?xml version="1.0" encoding="iso-8859-1"?&gt;
&lt;!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" 
"/usr/share/sgml/docbook/dtd/xml/4.2/docbookx.dtd"&gt;

&lt;article lang="fr" id="index.html"&gt;
&lt;articleinfo&gt;
    &lt;title&gt;Titre de l'article&lt;/title&gt;
    &lt;author&gt;
      &lt;firstname&gt;Votre Nom&lt;/firstname&gt;
      &lt;surname&gt;Votre prénom&lt;/surname&gt;
      &lt;affiliation&gt;
	&lt;address&gt;&lt;email&gt;Votre adresse de mèl&lt;/email&gt;&lt;/address&gt;
      &lt;/affiliation&gt;
    &lt;/author&gt;
    &lt;date&gt;Ici la date de conception&lt;/date&gt;
    &lt;pubdate&gt;
      Ici la date de publication ou de dernière modification&lt;/pubdate&gt;
    &lt;abstract&gt;
      &lt;para&gt;Résumé ou présentation succinte de l'article&lt;/para&gt;
    &lt;/abstract&gt;
  &lt;/articleinfo&gt;
&lt;sect1&gt;&lt;title&gt;Création d'un paragraphe&lt;/title&gt;
 &lt;para&gt;Pour insérer un élément a partir d'emacs avec le mode psgml, 
    il suffit de taper "CTRL c i", puis entrer l'élément à insérer, 
    par exemple "para".  &lt;/para&gt;
    &lt;para&gt;Pour fermer un élément qui est ouvert , 
    il faut positionner le curseur à l'endroit où doit venir la balise 
    de fermeture et taper "CTRL /. &lt;/para&gt;
&lt;para&gt;Pour contrôler la validité du document directement à partir d'Émacs 
      il faut utiliser "CTRL c v".&lt;/para&gt;
&lt;para&gt;Une autre option consiste à utiliser par exemple
un parseur externe comme "xmllint" en ligne de commande.
&lt;/para&gt;
&lt;programlisting&gt;
$ xmllint --noout  --loaddtd --valid  index.xml
&lt;/programlisting&gt;

 &lt;para&gt;Ajoutons une image :

&lt;figure&gt;
	&lt;title&gt;Voyage au Tibet&lt;/title&gt;
	&lt;graphic srccredit="vt" fileref="voyageTibet.png"/&gt;
&lt;/figure&gt;
&lt;/para&gt;

&lt;sect2&gt;&lt;title&gt;Compilation du source xml&lt;/title&gt;
 &lt;orderedlist&gt;
  &lt;listitem&gt;&lt;para&gt;
     db2html index.xml pour générer un document html sur "n" pages
  &lt;/para&gt;&lt;/listitem&gt;
  &lt;listitem&gt;&lt;para&gt;
    db2html -u index.xml pour générer un document html sur une seule pag
  &lt;/para&gt;&lt;/listitem&gt;
  &lt;listitem&gt;&lt;para&gt;
    db2pdf index.xml pour produire une sortie pdf
  &lt;/para&gt;&lt;/listitem&gt;
 &lt;/orderedlist&gt;
&lt;para&gt;Pensez, pour les documents html, à copier l'image dans le répertoire
de destination. Dans notre exemple il s'agit du répertoire "index".&lt;/para&gt;
    &lt;/sect2&gt;
  &lt;/sect1&gt;


&lt;sect1&gt;    &lt;title&gt;Licence&lt;/title&gt;
&lt;para&gt;Ce document est couvert par la licence 
      &lt;ulink url="http://www.gnu.org/copyleft/gpl.html"&gt;GPL&lt;/ulink&gt;.
&lt;/para&gt;
&lt;para&gt;
Le site officiel est &lt;ulink url="http://ici mettre l'url"&gt;ici&lt;/ulink&gt;.
&lt;/para&gt;
 &lt;para&gt;
Vous pouvez utiliser, copier, modifier, distribuer librement ce document. 
Son utilisation n'engage en aucune façon la responsabilité de son auteur.
&lt;/para&gt;
&lt;/sect1&gt;

&lt;/article&gt;

</programlisting>
</sect1>





</article>
