<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<sect1 id="zend.markup.getting-started">
    <title>Guide de démarrage avec Zend_Markup</title>

    <para>
        Ce guide pour vous aider à démarrer avec <classname>Zend_Markup</classname> utilisera le parseur BBCode
        et le moteur de rendu <acronym>HTML</acronym>. Les principes utilisés s'adaptent à d'autres formats.
    </para>

    <example id="zend.markup.getting-started.basic-usage">
        <title>Utilisation classique de Zend_Markup</title>

        <para>
            Nous allons d'abord instancier un objet <classname>Zend_Markup_Renderer_Html</classname> en utilisant
            la méthode <methodname>Zend_Markup::factory()</methodname>. Ceci créera aussi un objet
            a <classname>Zend_Markup_Parser_Bbcode</classname> qui sera ajouté à l'objet de rendu.
        </para>

        <para>
            Ensuite, nous utiliserons la méthode <methodname>render()</methodname> afin de convertir un bout de
            BBCode vers du <acronym>HTML</acronym>.
        </para>

        <programlisting language="php"><![CDATA[
// Créer une instance de Zend_Markup_Renderer_Html,
// avec Zend_Markup_Parser_BbCode comme parseur
$bbcode = Zend_Markup::factory('Bbcode');

echo $bbcode->render('[b]bold text[/b] and [i]cursive text[/i]');
// Affiche: '<strong>bold text</strong> and <em>cursive text</em>'
]]></programlisting>
    </example>

    <example id="zend.markup.getting-started.complicated-example">
        <title>Un exemple plus complexe de Zend_Markup</title>

        <para>
            Même chose ici, mais avec un bout de BBCode plus complexe.
        </para>

        <programlisting language="php"><![CDATA[
$bbcode = Zend_Markup::factory('Bbcode');

$input = <<<EOT
[list]
[*]Zend Framework
[*]Foobar
[/list]
EOT;

echo $bbcode->render($input);
/*
Devrait afficher quelque chose comme:
<ul>
<li>Zend Framework</li>
<li>Foobar</li>
</ul>
*/
]]></programlisting>
    </example>

    <example id="zend.markup.getting-started.incorrect-input">
        <title>Traitement des entrées incorrectes</title>

        <para>
            En plus d'analyser et rendre des codes de type BBCode, <classname>Zend_Markup</classname>
            peut aussi traiter les entrées non valides. La plupart des processeurs de BBCode ne sont pas
            capables de rendre toute l'entrée sous forme de <acronym>XHTML</acronym> valide.
            <classname>Zend_Markup</classname> corrige les entrées non valides et ajoute des tags de
            fermetures si nécessaire:
        </para>

        <programlisting language="php"><![CDATA[
$bbcode = Zend_Markup::factory('Bbcode');

echo $bbcode->render('some [i]wrong [b]sample [/i] text');
// Remarquez que le tag '[b]' n'est pas fermé et est aussi mal niché
// dans l'arbre; mais Zend_Markup propose un rendu correct:
// some <em>wrong <strong>sample </strong></em><strong> text</strong>
]]></programlisting>
    </example>
</sect1>
