cvs: smarty /docs/fr bookinfo.xml getting-started.xml translation.xml /docs/fr/appendixes resources.xml tips.xml /docs/fr/designers config-files.xml language-basic-syntax.xml
"Yannick Torres" <[email protected]>
| Newsgroups | gmane.comp.php.cvs.smarty |
|---|---|
| Message-ID | <cvsyannick1103661102@cvsserver> |
yannick Tue Dec 21 15:31:42 2004 EDT
Modified files:
/smarty/docs/fr/appendixes resources.xml tips.xml
/smarty/docs/fr/designers config-files.xml
language-basic-syntax.xml
/smarty/docs/fr bookinfo.xml getting-started.xml translation.xml
Log:
sync with EN
#Hello all ;)
--
Smarty CVS Mailing List (http://cvs.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
yannick-20041221153142.txt
(text/plain, 31.4 KB)
http://cvs.php.net/diff.php/smarty/docs/fr/appendixes/resources.xml?r1=1.3&r2=1.4&ty=u
Index: smarty/docs/fr/appendixes/resources.xml
diff -u smarty/docs/fr/appendixes/resources.xml:1.3 smarty/docs/fr/appendixes/resources.xml:1.4
--- smarty/docs/fr/appendixes/resources.xml:1.3 Mon Apr 19 13:08:12 2004
+++ smarty/docs/fr/appendixes/resources.xml Tue Dec 21 15:31:41 2004
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.3 $ -->
-<!-- EN-Revision: 1.3 Maintainer: didou Status: ready -->
+<!-- $Revision: 1.4 $ -->
+<!-- EN-Revision: 1.4 Maintainer: didou Status: ready -->
<chapter id="resources">
<title>Ressources</title>
<para>
http://cvs.php.net/diff.php/smarty/docs/fr/appendixes/tips.xml?r1=1.4&r2=1.5&ty=u
Index: smarty/docs/fr/appendixes/tips.xml
diff -u smarty/docs/fr/appendixes/tips.xml:1.4 smarty/docs/fr/appendixes/tips.xml:1.5
--- smarty/docs/fr/appendixes/tips.xml:1.4 Sun May 23 12:32:19 2004
+++ smarty/docs/fr/appendixes/tips.xml Tue Dec 21 15:31:41 2004
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.4 $ -->
-<!-- EN-Revision: 1.4 Maintainer: didou Status: ready -->
+<!-- $Revision: 1.5 $ -->
+<!-- EN-Revision: 1.5 Maintainer: didou Status: ready -->
<chapter id="tips">
<title>Trucs et astuces</title>
<para></para>
@@ -47,11 +47,14 @@
<example>
<title>assigner une valeur par défaut à une variable de template</title>
<programlisting>
-{* faites cela qq part en haut de votre template *}
+<![CDATA[
+{* faites cela quelque part en haut de votre template *}
{assign var="title" value=$title|default:"no title"}
-{* si $title est vide, il contiendra alors no "no title" *}
-{$title}</programlisting>
+{* si $title est vide, il contiendra alors la valeur "no title" *}
+{$title}
+]]>
+ </programlisting>
</example>
</sect1>
<sect1 id="tips.passing.vars">
@@ -64,8 +67,8 @@
</para>
<example>
<title>passer le titre au template d'en-tête</title>
-<programlisting>
-
+ <programlisting>
+<![CDATA[
mainpage.tpl
------------
@@ -85,17 +88,19 @@
header.tpl
----------
-<HTML>
-<HEAD>
-<TITLE>{$title|default:"BC News"}</TITLE>
-</HEAD>
-<BODY>
+<HTML>
+<HEAD>
+<TITLE>{$title|default:"BC News"}</TITLE>
+</HEAD>
+<BODY>
footer.tpl
----------
-</BODY>
-</HTML></programlisting>
+</BODY>
+</HTML>
+]]>
+ </programlisting>
</example>
<para>
Quand la page principale est conçue, le titre "Main page" est passé à header.tpl
@@ -115,31 +120,48 @@
pour avoir un contrôle total sur le formatage des dates et de comparer
facilement les dates entre elles.
</para>
- <para>
- NOTE : à partir Smarty 1.4.0, vous pouvez passer les dates à Smarty
- sous la forme de timestamps Unix ou MySQL, ou tout autre format de dates
- que comprend strtotime().
- </para>
+ <note>
+ <para>
+ A partir Smarty 1.4.0, vous pouvez passer les dates à Smarty
+ sous la forme de timestamps Unix ou MySQL, ou tout autre format de dates
+ que comprend strtotime().
+ </para>
+ </note>
<example>
- <title>utilisation de date_format</title>
-<programlisting>
+ <title>Utilisation de date_format</title>
+ <programlisting>
+<![CDATA[
{$startDate|date_format}
-
-OUTPUT:
-
+]]>
+ </programlisting>
+ <para>
+ Affichera :
+ </para>
+ <screen>
+<![CDATA[
Jan 4, 2001
-
-
+]]>
+ </screen>
+ <programlisting>
+<![CDATA[
{$startDate|date_format:"%Y/%m/%d"}
-
-OUTPUT:
-
+]]>
+ </programlisting>
+ <para>
+ Affichera :
+ </para>
+ <screen>
+<![CDATA[
2001/01/04
-
-
-{if $date1 < $date2}
+]]>
+ </screen>
+ <programlisting>
+<![CDATA[
+{if $date1 < $date2}
...
-{/if}</programlisting>
+{/if}
+]]>
+ </programlisting>
</example>
<para>
En utilisant la fonction {html_select_date} dans un template, le programmeur
@@ -147,24 +169,33 @@
Voici une fonction qui devrait vous être utile.
</para>
<example>
- <title>conversion des éléments date d'un formulaire en timestamp</title>
-<programlisting>
+ <title>Conversion des éléments date d'un formulaire en timestamp</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
+
// cela suppose que vos éléments de formulaire soient nommés
// startDate_Day, startDate_Month, startDate_Year
-$startDate = makeTimeStamp($startDate_Year,$startDate_Month,$startDate_Day);
+$startDate = makeTimeStamp($startDate_Year, $startDate_Month, $startDate_Day);
-function makeTimeStamp($year="",$month="",$day="")
+function makeTimeStamp($year="", $month="", $day="")
{
- if(empty($year))
- $year = strftime("%Y");
- if(empty($month))
- $month = strftime("%m");
- if(empty($day))
- $day = strftime("%d");
-
- return mktime(0,0,0,$month,$day,$year);
-}</programlisting>
+ if(empty($year)) {
+ $year = strftime("%Y");
+ }
+ if(empty($month)) {
+ $month = strftime("%m");
+ }
+ if(empty($day)) {
+ $day = strftime("%d");
+ }
+
+ return mktime(0, 0, 0, $month, $day, $year);
+}
+?>
+]]>
+ </programlisting>
</example>
</sect1>
<sect1 id="tips.wap">
@@ -180,53 +211,63 @@
la modification de l'en-tête échouera.
</para>
<example>
- <title>utilisation d'insert pour écrire un en-tête Content-Type WML</title>
-<programlisting>
+ <title>Utilisation d'insert pour écrire un en-tête Content-Type WML</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
+
// assurez-vous que Apache est configuré pour les extensions .wml !
-// mettez cette fonction qq part dans votre applications
+// mettez cette fonction quelque part dans votre applications
// ou dans Smarty.addons.php
-function insert_header() {
- // cette fonction attend un argument $content
- extract(func_get_arg(0));
- if(empty($content))
- return;
- header($content);
- return;
+function insert_header()
+{
+ // cette fonction attend un argument $content
+ if (empty($params['content'])) {
+ return;
+ }
+ header($params['content']);
+ return;
}
-// votre template Smarty DOIT commencer avec la balise d'insertion
+?>
+]]>
+ </programlisting>
+ <para>
+ votre template Smarty <emphasis>doit</emphasis> commencer avec la balise d'insertion :
+ </para>
+ <programlisting>
+<![CDATA[
+{insert name=header content="Content-Type: text/vnd.wap.wml"}
-<?xml version="1.0"?>
-<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
+<?xml version="1.0"?>
+<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
-<!-- begin new wml deck -->
-<wml>
-<!-- begin first card -->
-<card>
-<do type="accept">
-<go href="#two"/>
-</do>
-<p>
-Welcome to WAP with Smarty!
-Press OK to continue...
-</p>
-</card>
-<!-- begin second card -->
-<card id="two">
-<p>
-Pretty easy isn't it?
-</p>
-</card>
-</wml></programlisting>
+<!-- begin new wml deck -->
+<wml>
+ <!-- begin first card -->
+ <card>
+ <do type="accept">
+ <go href="#two"/>
+ </do>
+ <p>
+ Welcome to WAP with Smarty!
+ Press OK to continue...
+ </p>
+ </card>
+ <!-- begin second card -->
+ <card id="two">
+ <p>
+ Pretty easy isn't it?
+ </p>
+ </card>
+</wml>
+]]>
+ </programlisting>
</example>
</sect1>
<sect1 id="tips.componentized.templates">
<title>Templates composants</title>
<para>
- Cette astuce tient plus du hack qu'autre chose mais n'en demeure pas
- moins une idée plutôt chouette. Utilisez-la à vos propres risques. ;-)
- </para>
- <para>
Traditionnellemnt, la programmation avec des templates dans les applications
se déroule de la façon suivante : d'abord vous récupérez vos variables
dans l'application PHP (peut-être avec des requêtes en base de données), puis
@@ -236,102 +277,70 @@
puis les assignerions ensuite pour les afficher. Mais ne serait-ce pas
mieux de pouvoir ajouter ce téléscripteur à n'importe quelle application
en incluant directement le template sans avoir à se soucier de la récupération
- des données.
+ des données ?
</para>
<para>
- Vous pouvez intégrer du PHP dans vos templates avec les balises
- {php}{/php}. Avec cette méthode, vous pouvez inclure des templates complets,
- dans la mesure où ils récupèrent leurs propres données pour les assigner
- à leurs propres variables. Avec le traitement intégré
- de cette façon, vous pouvez garder le template et le traitement ensemble.
- Ainsi, on ne se soucie plus d'où vient le contenu du template,
- tout vient comme un seul et unique composant.
+ Vous pouvez réaliser celà en écrivant un plugin personnalisé pour récupérer le contenu
+ et l'assigner à une variable du template.
</para>
<example>
- <title>template composant</title>
-<programlisting>
-{* Smarty *}
-
-{php}
-
- // notre fonction pour récupérer les données
- function fetch_ticker($symbol,&$ticker_name,&$ticker_price) {
- // du traitement qui récupère $ticker_name
- // $ticker_price
- }
-
- // appelle la fonction
- fetch_ticker("YHOO",$ticker_name,$ticker_price);
-
- // assigne les variables
- $this->assign("ticker_name",$ticker_name);
- $this->assign("ticker_price",$ticker_price);
+ <title>Template composant</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
-{/php}
+// Efface le fichier "function.load_ticker.php" dans le répertoire des plugins
-Stock Name: {$ticker_name} Stock Price: {$ticker_price}</programlisting>
- </example>
- <para>
- A partir de Smarty 1.5.0, il y a même un moyen plus propre. Vous
- pouvez inclure du PHP dans votre template avec la balise {include_php ...}.
- De cette façon, vous pouvez garder séparée la logique applicative
- de la logique de présentation. Reportez-vous à la fonction <link
- linkend="language.function.include.php">include_php</link> pour plus
- d'informations.
- </para>
- <example>
- <title>template composant avec include_php</title>
-<programlisting>
-load_ticker.php
----------------
-
-<?php
- // notre fonction pour récupérer les données
- function fetch_ticker($symbol,&$ticker_name,&$ticker_price) {
- // put logic here that fetches $ticker_name
- // and $ticker_price from some resource
- }
+// notre fonction pour récupérer les données
+function fetch_ticker($symbol,&$ticker_name,&$ticker_price)
+{
+ // du traitement qui récupère $ticker_name
+ // depuis la ressource ticker
+ return $ticker_info;
+}
- // appelle la fonction
- fetch_ticker("YHOO",$ticker_name,$ticker_price);
+function smarty_function_load_ticker($params, &$smarty)
+{
+ // appel de la fonction
+ $ticker_info = fetch_ticker($params['symbol']);
- // assigne les variables
- $this->assign("ticker_name",$ticker_name);
- $this->assign("ticker_price",$ticker_price);
-?>
-
-
-index.tpl
----------
-
-{* Smarty *}
+ // assignation de la variable de template
+ $smarty->assign($params['assign'], $ticker_info);
+}
+?>
+]]>
+ </programlisting>
+ <programlisting>
+<![CDATA[
+{* in index.tpl *}
-{include_php file="load_ticker.php"}
+{load_ticker symbol="YHOO" assign="ticker"}
-Stock Name: {$ticker_name} Stock Price: {$ticker_price}</programlisting>
+Stock Name: {$ticker.name} Stock Price: {$ticker.price}
+]]>
+ </programlisting>
</example>
</sect1>
<sect1 id="tips.obfuscating.email">
<title>Dissimuler les adresses email</title>
<para>
Vous-êtes vous déjà demandé pourquoi vos adresses emails sont sur autant
- de mailing listes de spam ? Une façon pour les spammers de récupérer les
+ de listes de diffusion de spam ? Une façon pour les spammers de récupérer les
adresses est de parcourir les pages Web. Voici une façon de remédier
à ce problème : mettre votre adresse email dans du Javascript brouillé
au milieu de votre source HTML, sans que cela ne gêne l'affichage sur le
navigateur Web. Cela est fait grâce au plugin mailto.
</para>
<example>
- <title>exemple de dissimulation d'une adresse email</title>
+ <title>Exemple de dissimulation d'une adresse email</title>
<programlisting>
-
-index.tpl
----------
+<![CDATA[
+{* in index.tpl *}
Send inquiries to
{mailto address=$EmailAddress encode="javascript" subject="Hello"}
-
-</programlisting>
+]]>
+ </programlisting>
</example>
<note>
<title>Note technique</title>
http://cvs.php.net/diff.php/smarty/docs/fr/designers/config-files.xml?r1=1.4&r2=1.5&ty=u
Index: smarty/docs/fr/designers/config-files.xml
diff -u smarty/docs/fr/designers/config-files.xml:1.4 smarty/docs/fr/designers/config-files.xml:1.5
--- smarty/docs/fr/designers/config-files.xml:1.4 Sat Jul 3 04:43:11 2004
+++ smarty/docs/fr/designers/config-files.xml Tue Dec 21 15:31:42 2004
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.4 $ -->
-<!-- EN-Revision: 1.3 Maintainer: gerald Status: ready -->
+<!-- $Revision: 1.5 $ -->
+<!-- EN-Revision: 1.4 Maintainer: gerald Status: ready -->
<chapter id="config.files">
<title>Fichiers de configuration</title>
<para>
@@ -34,7 +34,7 @@
# hidden section
[.Database]
-host=mon.domaine.com
+host=mon.example.com
db=ADDRESSBOOK
user=php-user
pass=foobar
http://cvs.php.net/diff.php/smarty/docs/fr/designers/language-basic-syntax.xml?r1=1.6&r2=1.7&ty=u
Index: smarty/docs/fr/designers/language-basic-syntax.xml
diff -u smarty/docs/fr/designers/language-basic-syntax.xml:1.6 smarty/docs/fr/designers/language-basic-syntax.xml:1.7
--- smarty/docs/fr/designers/language-basic-syntax.xml:1.6 Sun Jul 4 05:39:38 2004
+++ smarty/docs/fr/designers/language-basic-syntax.xml Tue Dec 21 15:31:42 2004
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.6 $ -->
-<!-- EN-Revision: 1.4 Maintainer: gerald Status: ready -->
+<!-- $Revision: 1.7 $ -->
+<!-- EN-Revision: 1.5 Maintainer: gerald Status: ready -->
<chapter id="language.basic.syntax">
<title>Bases syntaxiques</title>
<para>
@@ -17,6 +17,7 @@
</para>
&designers.language-basic-syntax.language-syntax-comments;
+ &designers.language-basic-syntax.language-syntax-variables;
&designers.language-basic-syntax.language-syntax-functions;
&designers.language-basic-syntax.language-syntax-attributes;
&designers.language-basic-syntax.language-syntax-quotes;
http://cvs.php.net/diff.php/smarty/docs/fr/bookinfo.xml?r1=1.5&r2=1.6&ty=u
Index: smarty/docs/fr/bookinfo.xml
diff -u smarty/docs/fr/bookinfo.xml:1.5 smarty/docs/fr/bookinfo.xml:1.6
--- smarty/docs/fr/bookinfo.xml:1.5 Mon Oct 25 07:20:44 2004
+++ smarty/docs/fr/bookinfo.xml Tue Dec 21 15:31:42 2004
@@ -1,26 +1,35 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.5 $ -->
-<!-- EN-Revision: 1.5 Maintainer: didou Status: ready -->
+<!-- $Revision: 1.6 $ -->
+<!-- EN-Revision: 1.6 Maintainer: didou Status: ready -->
<bookinfo id="bookinfo">
<title>Smarty - le moteur et compilateur de templates PHP</title>
<authorgroup id="authors">
<author>
- <firstname>Monte</firstname><surname>Ohrt <[email protected]></surname>
+ <firstname>Monte</firstname>
+ <surname>Ohrt <[email protected]></surname>
</author>
<author>
- <firstname>Andrei</firstname><surname>Zmievski <[email protected]></surname>
+ <firstname>Andrei</firstname>
+ <surname>Zmievski <[email protected]></surname>
</author>
</authorgroup>
<authorgroup id="translators">
<author>
- <firstname>Arnaud</firstname><surname>Cogoluègnes <[email protected]></surname>
+ <firstname>Arnaud</firstname>
+ <surname>Cogoluègnes <[email protected]></surname>
</author>
<author>
- <firstname>Gérald</firstname><surname>Croës <[email protected]></surname>
+ <firstname>Gérald</firstname>
+ <surname>Croës <[email protected]></surname>
</author>
<author>
- <firstname>Mehdi</firstname><surname>Achour <[email protected]></surname>
+ <firstname>Mehdi</firstname>
+ <surname>Achour <[email protected]></surname>
</author>
+ <author>
+ <firstname>Yannick</firstname>
+ <surname>Yannick <[email protected]></surname>
+ </author>
</authorgroup>
<pubdate>&build-date;</pubdate>
<copyright>
http://cvs.php.net/diff.php/smarty/docs/fr/getting-started.xml?r1=1.7&r2=1.8&ty=u
Index: smarty/docs/fr/getting-started.xml
diff -u smarty/docs/fr/getting-started.xml:1.7 smarty/docs/fr/getting-started.xml:1.8
--- smarty/docs/fr/getting-started.xml:1.7 Mon Oct 25 07:20:44 2004
+++ smarty/docs/fr/getting-started.xml Tue Dec 21 15:31:42 2004
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.7 $ -->
-<!-- EN-Revision: 1.6 Maintainer: didou Status: ready -->
+<!-- $Revision: 1.8 $ -->
+<!-- EN-Revision: 1.7 Maintainer: didou Status: ready -->
<part id="getting.started">
<title>Pour commencer</title>
@@ -12,6 +12,8 @@
Cela s'explique plus facilement dans une situation où le
programmeur et le designer de templates jouent des rôles différents, ou,
comme la plupart du temps, sont deux personnes distinctes.
+ </para>
+ <para>
Supposons par exemple que vous concevez une page Web qui affiche un
article de newsletter. Le titre, le sous-titre, l'auteur et le corps
sont des éléments de contenu, ils ne contiennent aucune information
@@ -40,7 +42,8 @@
pour l'afficher, etc. sont toutes des actions relatives à du traitement
de présentation. Cela ne signifie pas que Smarty requiert une telle séparation
de votre part. Smarty ne sais pas quoi est quoi, c'est donc à vous de placer
- la logique de présentation dans vos templates. Ainsi, si vous NE désirez PAS
+ la logique de présentation dans vos templates. Ainsi, si vous
+ <emphasis>ne désirez pas</emphasis>
disposer de logique métier dans vos templates, placez tous vos contenus
dans des variables au format texte uniquement.
</para>
@@ -58,33 +61,80 @@
Quelques caractéristiques de Smarty :
</para>
<itemizedlist>
- <listitem><para>Il est très rapide.</para></listitem>
- <listitem><para>Il est efficace, le parser PHP s'occupe
- du sale travail.</para></listitem>
- <listitem><para>Pas d'analyse de template coûteuse, une seule compilation.
- </para></listitem>
- <listitem><para>Il sait ne recompiler que les fichiers de templates
- qui ont été modifiés.</para></listitem>
- <listitem><para>Vous pouvez créer des <link linkend="language.custom.functions">
- fonctions utilisateurs</link> et des <link linkend="language.modifiers">
- modificateurs de variables</link> personnalisés, le langage de
- template est donc extrémement extensible.</para></listitem>
- <listitem><para>Syntaxe des templates configurable, vous
- pouvez utiliser {}, {{}}, <!--{}-->, etc comme délimiteurs.
- </para></listitem>
- <listitem><para>Les instructions if/elseif/else/endif
- sont passées au parser PHP, la syntaxe de l'expression {if...}
- peut être aussi simple ou aussi complexe que vous
- le désirez.</para></listitem>
- <listitem><para>Imbrication illimitée de sections,
- de 'if', etc. autorisée.</para></listitem>
- <listitem><para>Il est possible d'inclure du code PHP
- directement dans vos templates, bien que cela ne soit pas obligatoire
- (ni conseillé), vu que le moteur est extensible.</para></listitem>
- <listitem><para>Support de cache intégré.</para></listitem>
- <listitem><para>Sources de templates arbitraires.</para></listitem>
- <listitem><para>Fonctions de gestion de cache personnalisables.</para></listitem>
- <listitem><para>Architecture de plugins</para></listitem>
+ <listitem>
+ <para>
+ Il est très rapide.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Il est efficace, le parser PHP s'occupe du sale travail.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Pas d'analyse de template coûteuse, une seule compilation.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Il sait ne recompiler que les fichiers de templates qui ont été modifiés.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Vous pouvez créer des <link linkend="language.custom.functions">
+ fonctions utilisateurs</link> et des <link linkend="language.modifiers">
+ modificateurs de variables</link> personnalisés, le langage de
+ template est donc extrémement extensible.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Syntaxe des templates configurable, vous
+ pouvez utiliser {}, {{}}, <!--{}-->, etc. comme délimiteurs.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Les instructions if/elseif/else/endif
+ sont passées au parser PHP, la syntaxe de l'expression {if...}
+ peut être aussi simple ou aussi complexe que vous
+ le désirez.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Imbrication illimitée de sections, de 'if', etc. autorisée.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Il est possible d'inclure du code PHP
+ directement dans vos templates, bien que cela ne soit pas obligatoire
+ (ni conseillé), vû que le moteur est extensible.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Support de cache intégré.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Sources de templates arbitraires.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Fonctions de gestion de cache personnalisables.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Architecture de plugins
+ </para>
+ </listitem>
</itemizedlist>
</chapter>
@@ -127,9 +177,9 @@
linkend="constant.smarty.dir">SMARTY_DIR</link> qui
représente le chemin complet de la bibliothèque Smarty. En fait,
si votre application trouve le fichier
- <emphasis>Smarty.class.php</emphasis>, vous n'aurez pas
+ <filename>Smarty.class.php</filename>, vous n'aurez pas
besoin de définir la variable SMARTY_DIR, Smarty s'en chargera pour vous.
- En revanche, si <emphasis>Smarty.class.php</emphasis>
+ En revanche, si <filename>Smarty.class.php</filename>
n'est pas dans votre répertoire d'inclusion ou que vous ne
donnez pas un chemin absolu à votre application, vous
devez définir SMARTY_DIR explicitement. SMARTY_DIR
@@ -154,7 +204,7 @@
<para>
Essayez de lancer le script ci-dessus. Si vous obtenez une erreur indiquant
- que le fichier <emphasis>Smarty.class.php</emphasis> n'est pas trouvé,
+ que le fichier <filename>Smarty.class.php</filename> n'est pas trouvé,
tentez l'une des actions suivantes :
</para>
@@ -201,19 +251,21 @@
Maintenant que les fichiers de la librairie sont en place,
il est temps de définir les répertoires de Smarty, pour votre application.
Smarty a besoin de quatre répertoires qui sont (par défaut)
- <emphasis>templates</emphasis>,
- <emphasis>templates_c</emphasis>, <emphasis>configs</emphasis> et
- <emphasis>cache</emphasis>. Chacun d'entre eux peut être défini
- via les attributs <emphasis>$template_dir</emphasis>,
- <emphasis>$compile_dir</emphasis>, <emphasis>$config_dir</emphasis> et
- <emphasis>$cache_dir</emphasis> respectivement. Il est vivement
+ <filename class="directory">templates</filename>,
+ <filename class="directory">templates_c</filename>,
+ <filename class="directory">configs</filename> et
+ <filename class="directory">cache</filename>. Chacun d'entre eux peut être défini
+ via les attributs <varname>$template_dir</varname>,
+ <varname>$compile_dir</varname>, <varname>$config_dir</varname> et
+ <varname>$cache_dir</varname> respectivement. Il est vivement
conseillé que vous régliez ces répertoires séparément pour chaque
application qui utilise Smarty.
</para>
<para>
Assurez-vous de bien connaître chemin de la racine
de votre arborescence Web. Dans notre exemple, la racine
- est "/web/www.mydomain.com/docs". Seul Smarty
+ est <filename
+ class="directory">/web/www.example.com/docs/</filename>. Seul Smarty
accède aux répertoires en question, et jamais le serveur Web.
Pour des raisons de sécurité, il est donc conseillé de
sortir ces répertoires dans un répertoire
@@ -228,15 +280,16 @@
environnement pour n'importe quelle autre application, il suffit de
remplacer "livredor" avec le nom de votre application. Nous allons
mettre nos répertoires Smarty dans
- "/web/www.mydomain.com/smarty/livredor/".
+ <filename
+ class="directory">/web/www.example.com/smarty/livredor/</filename>.
</para>
<para>
Vous allez avoir besoin d'au moins un fichier à la racine de
l'arborescence Web,
il s'agit du script auquel l'internaute a accès. Nous allons l'appeler
- "index.php" et le placer dans un sous-répertoire
- appelé "/livredor/".
- </para>
+ <filename>index.php</filename> et le placer dans un sous-répertoire
+ appelé <filename class="directory">/livredor/</filename>.
+ </para>
<note>
<title>Technical Note</title>
@@ -244,7 +297,7 @@
Il est pratique de configurer le serveur Web de
sorte que "index.php" soit identifié comme fichier
par défaut de ce répertoire. Aicnsi, si l'on tape
- "http://www.mydomain.com/livredor/", le script index.php soit
+ "http://www.example.com/livredor/", le script index.php soit
exécuté sans que "index.php" ne soit spécifié dans l'URL. Avec Apache
vous pouvez régler cela en ajoutant "index.php" à la ligne où se
trouve DirectoryIndex (séparez chaque entrée par un espace).
@@ -264,12 +317,12 @@
/usr/local/lib/php/Smarty/internals/*.php
/usr/local/lib/php/Smarty/plugins/*.php
-/web/www.mydomain.com/smarty/livredor/templates/
-/web/www.mydomain.com/smarty/livredor/templates_c/
-/web/www.mydomain.com/smarty/livredor/configs/
-/web/www.mydomain.com/smarty/livredor/cache/
+/web/www.example.com/smarty/livredor/templates/
+/web/www.example.com/smarty/livredor/templates_c/
+/web/www.example.com/smarty/livredor/configs/
+/web/www.example.com/smarty/livredor/cache/
-/web/www.mydomain.com/docs/livredor/index.php
+/web/www.example.com/docs/livredor/index.php
]]>
</screen>
</example>
@@ -290,11 +343,11 @@
<title>régler les permissions d'accès</title>
<programlisting role="shell">
<![CDATA[
-chown nobody:nobody /web/www.mydomain.com/smarty/livredor/templates_c/
-chmod 770 /web/www.mydomain.com/smarty/livredor/templates_c/
+chown nobody:nobody /web/www.example.com/smarty/livredor/templates_c/
+chmod 770 /web/www.example.com/smarty/livredor/templates_c/
-chown nobody:nobody /web/www.mydomain.com/smarty/livredor/cache/
-chmod 770 /web/www.mydomain.com/smarty/livredor/cache/
+chown nobody:nobody /web/www.example.com/smarty/livredor/cache/
+chmod 770 /web/www.example.com/smarty/livredor/cache/
]]>
</programlisting>
</example>
@@ -316,7 +369,7 @@
</para>
<example>
- <title>Edition de /web/www.mydomain.com/smarty/templates/index.tpl</title>
+ <title>Edition de /web/www.example.com/smarty/templates/index.tpl</title>
<screen>
<![CDATA[
@@ -349,7 +402,7 @@
</para>
<example>
- <title>édition de /web/www.mydomain.com/docs/livredor/index.php</title>
+ <title>édition de /web/www.example.com/docs/livredor/index.php</title>
<screen>
<![CDATA[
<?php
@@ -358,10 +411,10 @@
$smarty = new Smarty;
- $smarty->template_dir = '/web/www.mydomain.com/smarty/livredor/templates/';
- $smarty->compile_dir = '/web/www.mydomain.com/smarty/livredor/templates_c/';
- $smarty->config_dir = '/web/www.mydomain.com/smarty/livredor/configs/';
- $smarty->cache_dir = '/web/www.mydomain.com/smarty/livredor/cache/';
+ $smarty->template_dir = '/web/www.example.com/smarty/livredor/templates/';
+ $smarty->compile_dir = '/web/www.example.com/smarty/livredor/templates_c/';
+ $smarty->config_dir = '/web/www.example.com/smarty/livredor/configs/';
+ $smarty->cache_dir = '/web/www.example.com/smarty/livredor/cache/';
$smarty->assign('name','Ned');
@@ -376,8 +429,9 @@
<para>
Dans notre exemple, nous avons configuré les chemins absolus
pour chacun des répertoires Smarty. Si
- '/web/www.mydomain.com/smarty/livredor/' est dans votre
- include_path PHP alors ces réglages ne sont pas nécessaires.
+ <filename
+ class="directory">/web/www.example.com/smarty/livredor/</filename>
+ est dans votre include_path PHP alors ces réglages ne sont pas nécessaires.
Quoi qu'il en soit il est plus efficace et (par expérience)
moins générateur d'erreurs de les définir avec des chemins
absolus. Cela nous garantit que Smarty récupèrera les bons fichiers.
@@ -385,7 +439,7 @@
</note>
<para>
- Et maintenant appelez le fichier index.php avec navigateur
+ Et maintenant appelez le fichier <filename>index.php</filename> avec navigateur
Web. Vous devriez voir "Hello, Ned!".
</para>
<para>
@@ -406,7 +460,7 @@
propre classe fille et de l'initialiser selon votre environnement.
De la sorte, nous n'aurons plus besoin de configurer à chaques fois les
chemins de notre environnement. Créons un nouveau répertoire
- "/php/includes/livredor/" et un nouveau fichier appelé "setup.php".
+ "/php/includes/livredor/" et un nouveau fichier appelé <filename>setup.php</filename>.
Dans notre exemple d'environnement, "/php/includes" est notre
include_path PHP. Assurez-vous de faire la même chose ou alors d'utiliser
des chemins absolus.
@@ -430,18 +484,18 @@
function Smarty_livredor() {
- // Constructeur de la classe. Appelé automatiquement
- // à l'instanciation de la classe.
+ // Constructeur de la classe.
+ // Appelé automatiquement à l'instanciation de la classe.
$this->Smarty();
- $this->template_dir = '/web/www.mydomain.com/smarty/livredor/templates/';
- $this->compile_dir = '/web/www.mydomain.com/smarty/livredor/templates_c/';
- $this->config_dir = '/web/www.mydomain.com/smarty/livredor/configs/';
- $this->cache_dir = '/web/www.mydomain.com/smarty/livredor/cache/';
+ $this->template_dir = '/web/www.example.com/smarty/livredor/templates/';
+ $this->compile_dir = '/web/www.example.com/smarty/livredor/templates_c/';
+ $this->config_dir = '/web/www.example.com/smarty/livredor/configs/';
+ $this->cache_dir = '/web/www.example.com/smarty/livredor/cache/';
$this->caching = true;
- $this->assign('app_name','Guest Book');
+ $this->assign('app_name', 'Guest Book');
}
}
@@ -455,7 +509,7 @@
</para>
<example>
- <title>édition de /web/www.mydomain.com/docs/livredor/index.php</title>
+ <title>Edition de /web/www.example.com/docs/livredor/index.php</title>
<programlisting role="php">
<![CDATA[
<?php
http://cvs.php.net/diff.php/smarty/docs/fr/translation.xml?r1=1.3&r2=1.4&ty=u
Index: smarty/docs/fr/translation.xml
diff -u smarty/docs/fr/translation.xml:1.3 smarty/docs/fr/translation.xml:1.4
--- smarty/docs/fr/translation.xml:1.3 Tue Jun 8 13:33:14 2004
+++ smarty/docs/fr/translation.xml Tue Dec 21 15:31:42 2004
@@ -11,6 +11,7 @@
<person name="Gérald Croës" email="[email protected]" nick="gerald" cvs="yes" editor="yes" />
<person name="Arnaud Cogoluègnes" email="[email protected]" nick="nono" cvs="yes" />
<person name="Mehdi Achour" email="[email protected]" nick="didou" cvs="yes" />
+ <person name="Yannick Torres" email="[email protected]" nick="yannick" cvs="yes" />
<person name="Raoul Lourse" email="[email protected]" nick="nobody" cvs="yes" />
</translators>