[ZF-10089] Zend_Log
[zend.git] / documentation / manual / fr / tutorials / quickstart-intro-mvc.xml
blob137334dec3660a2bfb37509e4bf5bf0e1516b436
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- EN-Revision: 20106 -->
3 <!-- Reviewed: no -->
4 <sect1 id="learning.quickstart.intro">
5     <title>Zend Framework &amp; Introduction MVC</title>
7     <sect2 id="learning.quickstart.intro.zf">
8         <title>Zend Framework</title>
10         <para>
11             Zend Framework est un cadre de travail open source orienté objets pour des applications
12             web basées sur <acronym>PHP</acronym> 5. Zend Framework est souvent appelé une
13             "bibliothèque de composants" car ses composants sont faiblement couplés et vous
14             pouvez les utiliser de manière plus ou moins indépendante. Mais Zend Framework propose
15             aussi une solution avancée Model-View-Controller (<acronym>MVC</acronym>) qui peut être
16             utilisée pour monter des structures de base pour vos applications. Une liste complète
17             des composants de Zend Framework avec une brève description peut être trouvée dans
18             <ulink url="http://framework.zend.com/about/components">l'aperçu des composants</ulink>.
19             Ce guide de démarrage montre les composants les plus utilisés dans Zend Framework, comme
20             <classname>Zend_Controller</classname>, <classname>Zend_Layout</classname>,
21             <classname>Zend_Config</classname>, <classname>Zend_Db</classname>,
22             <classname>Zend_Db_Table</classname>, <classname>Zend_Registry</classname>, ainsi que
23             quelques aides de vue.
24         </para>
26         <para>
27             En utilisant ces composants nous allons construire un livre d'or reposant sur une base
28             de données, simple, en quelques minutes. Le code source complet pour cette application
29             est disponible dans les formats&#160;:
30         </para>
32         <itemizedlist>
33             <listitem>
34                 <para>
35                     <ulink
36                         url="http://framework.zend.com/demos/ZendFrameworkQuickstart.zip">zip</ulink>
37                 </para>
38             </listitem>
40             <listitem>
41                 <para>
42                     <ulink
43                         url="http://framework.zend.com/demos/ZendFrameworkQuickstart.tar.gz">tar.gz</ulink>
44                 </para>
45             </listitem>
46         </itemizedlist>
47     </sect2>
49     <sect2 id="learning.quickstart.intro.mvc">
50         <title>Model-View-Controller</title>
52         <para>
53             Qu'est ce que <acronym>MVC</acronym> dont tout le monde parle et pourquoi se pencher
54             dessus&#160;? <acronym>MVC</acronym> est bien plus qu'un acronyme de trois lettres
55             (<acronym>TLA</acronym>) que vous pouvez sortir pour faire "élégant"&#160;; c'est
56             devenu un standard de conception des applications Web modernes, ceci pour de bonnes
57             raisons. La plupart du code des application se retrouvent dans une de ces
58             catégories&#160;: présentation, logique métier, accès aux données. Le pattern
59             <acronym>MVC</acronym> modélise cette séparation à merveille. Le résultat final est
60             qu'un code de présentation peut être travaillé à un endroit de l'application alors que
61             la logique métier et l'accès aux données le sont à d'autres endroits. La plupart des
62             développeurs ont trouvé cette séparation indispensable pour maintenir le code global
63             organisé, particulièrement lorsque plusieurs développeurs travaillent ensemble sur la
64             même application.
65         </para>
67         <note>
68             <title>Plus d'informations</title>
70             <para>
71                 Cassons le pattern pour voir les pièces individuellement&#160;:
72             </para>
74             <para>
75                 <inlinegraphic width="321" scale="100" align="center" valign="middle"
76                     fileref="figures/learning.quickstart.intro.mvc.png" format="PNG" />
77             </para>
79             <itemizedlist>
80                 <listitem>
81                     <para>
82                         <emphasis>Model</emphasis> - C'est la partie qui définit la fonctionnalité
83                         de base de l'application derrière des abstractions. L'accès aux données
84                         et la logique métier sont définis dans cette couche.
85                     </para>
86                 </listitem>
88                 <listitem>
89                     <para>
90                         <emphasis>View</emphasis> - La vue définit exactement ce qui sera présenté à
91                         l'utilisateur. Normalement les contrôleurs passent des données à chaque vue
92                         à rendre dans un format précis. Les vues collectent les données de
93                         l'utilisateur aussi. Ici vous trouverez principalement du
94                         <acronym>HTML</acronym>.
95                     </para>
96                 </listitem>
98                 <listitem>
99                     <para>
100                         <emphasis>Controller</emphasis> - Les contrôleurs sont la colle qui lie
101                         tout. Ils manipulent les modèles, décident de la vue à rendre en fonction
102                         de la requête utilisateur et d'autres facteurs, passent les données dont
103                         chaque vue a besoin et passent éventuellement la main à un autre contrôleur.
104                         La plupart des experts <acronym>MVC</acronym> experts recommandent <ulink
105                             url="http://weblog.jamisbuck.org/2006/10/18/skinny-controller-fat-model">de
106                             garder les contrôleurs les plus simples et petits possibles</ulink>.
107                     </para>
108                 </listitem>
109             </itemizedlist>
111             <para>
112                 Bien sûr <ulink url="http://ootips.org/mvc-pattern.html">on pourrait en dire plus
113                 </ulink> sur ce pattern critique, mais nous avons là suffisament d'informations
114                 pour comprendre l'application de livre d'or que nous allons construire.
115             </para>
116         </note>
117     </sect2>
118 </sect1>