<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<sect1 id="learning.plugins.intro">
    <title>Introduction</title>

    <para>
        Zend Framework utilise abondamment la notion de plugin. Les plugins permettent à la fois
        l'extensibilité mais aussi la personnalisation du framework tout en gardant votre code
        séparé de celui de Zend Framework.
    </para>

    <para>
        Typiquement, les plugins dans Zend Framework fonctionnent comme suit:
    </para>

    <itemizedlist>
        <listitem>
            <para>
                Les plugins sont des classes dont la définition va varier en fonction du composant
                considéré. Par exemple vous aurez soit besoin d'implémenter une interface, soit
                d'étendre une classe très souvent abstraite. Un plugin est donc une classe.
            </para>
        </listitem>

        <listitem>
            <para>
                Les plugins relatifs aux même fonctionnalités vont partager un préfixe de classe.
                Par exemple, si vous avez crée des aides de vue, il se peut que celle-ci partagent
                le préfixe "<classname>Foo_View_Helper_</classname>".
            </para>
        </listitem>

        <listitem>
            <para>
                Tout ce qui suit le préfixe est appelé <emphasis>nom du plugin</emphasis> ou
                <emphasis>nom court</emphasis> (contrairement au "nom long", qui représente le
                nom de la classe complet). Par exemple, si le préfixe du plugin est
                "<classname>Foo_View_Helper_</classname>", et le nom de la classe
                "<classname>Foo_View_Helper_Bar</classname>", le nom du plugin est
                "<classname>Bar</classname>".
            </para>
        </listitem>

        <listitem>
            <para>
                Les noms de plugins sont sensibles à la casse à l'exception de la première
                lettre qui peut être soit en majuscules soit en minuscules. Dans nos
                exemples, nous aurions pu utiliser "bar" ou "Bar" de manière équivalente.
            </para>
        </listitem>
    </itemizedlist>

    <para>
        Voyons maintenant comment utiliser des plugins.
    </para>
</sect1>
