sync with EN & typo

This commit is contained in:
yannick
2004-12-26 20:05:31 +00:00
parent ee6a5a5cf2
commit 2504b1b6c4
17 changed files with 579 additions and 452 deletions

View File

@@ -1,17 +1,43 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
<!-- EN-Revision: 1.3 Maintainer: yannick Status: ready -->
<sect1 id="caching.groups">
<title>groupes de fichiers de cache</title>
<title>Groupes de fichiers de cache</title>
<para>
Vous pouvez faire des groupements plus <20>labor<6F>s en param<61>trant les
groupes d'identifiant de cache. Il suffit de s<>parer chaque sous-groupes
groupes d'identifiant de cache. Il suffit de s<>parer chaque sous-groupe
avec une barre verticale "|" dans la valeur de l'identifiant de cache.
Vous pouvez faire autant de sous-groupes que vous le d<>sirez.
</para>
<para>
Vous pouvez voir les groupes de cache comme une hi<68>rarchie de dossiers.
Par exemple, un groupe de cache "a|b|c" peut <20>tre consid<69>r<EFBFBD> comme
la hi<68>rarchie de dossiers "/a/b/c/". Ainsi, clear_cache(null,"a|b|c") supprimerait
les fichiers "/a/b/c/*". clear_cache(null,"a|b") supprimerait les fichiers
"/a/b/*". Si vous sp<73>cifiez un compile_id de cette fa<66>on : clear_cache(null,"a|b","foo"),
il sera trait<69> comme un groupe de cache appos<6F> "/a/b/c/foo/". Si vous
sp<73>cifiez un nom de template de cette fa<66>on : clear_cache("foo.tpl","a|b|c"),
alors Smarty tentera d'effacer "/a/b/c/foo.tpl". Vous ne POUVEZ PAS effacer
un nom de template sp<73>cifi<66> sous un groupe de cache multiple comme
"/a/b/*/foo.tpl", le groupement de cache fonctionne UNIQUEMENT de gauche <20> droite.
Vous pourriez vouloir grouper vos templates sous un groupe de cache simple
hi<68>rarchis<69> pour <20>tre capable de les effacer comme un groupe.
</para>
<para>
Le groupement de cache ne devrait pas <20>tre confondu avec votre hi<68>rarchie
de dossiers de templates, le groupement de cache n'a aucune connaissance
de la fa<66>on dont vos templates sont structur<75>s. Donc, par exemple, si
vous avez une structure de template comme "themes/blue/index.tpl" et
que vous voulez <20>tre capable d'effacer tous les fichiers de cache pour le th<74>me "blue",
vous devriez cr<63>er une structure de groupe de cache qui refl<66>te la structure
de fichiers de vos templates, comme display("themes/blue/index.tpl","themes|blue"),
et les effacer avec clear_cache(null,"themes|blue").
</para>
<example>
<title>groupes d'identifiants de cache</title>
<programlisting>
<title>Groupes d'identifiants de cache</title>
<programlisting role="php">
<![CDATA[
<?php
require('Smarty.class.php');
$smarty = new Smarty;
@@ -25,20 +51,11 @@ $smarty->clear_cache(null,"sports|basketball");
// Inclue donc "sports|basketball" ou "sports|nimportequoi|nimportequoi|..."
$smarty->clear_cache(null,"sports");
$smarty->display('index.tpl',"sports|basketball");</programlisting>
$smarty->display('index.tpl',"sports|basketball");
?>
]]>
</programlisting>
</example>
<note>
<title>Note technique</title>
<para>
Le syst<73>me de cache n'utilise PAS le chemin vers le template en quoi
que ce soit pour l'identifiant de cache. Si par exemple vous
faites display('themes/blue/index.tpl'), vous ne pouvez pas effacer tous
les fichiers de cache dans le r<>pertoire "theme/blue". Si vous voulez
faire cela, vous devez les grouper avec un m<>me identifiant de cache,
display('themes/blue/index.tpl','themes|blue'). Vous pouvez ensuite effacer les
fichiers de cache pour blue et theme avec clear_cache(null,'theme|blue').
</para>
</note>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:

View File

@@ -57,7 +57,7 @@ $smarty->display('index.tpl',$my_cache_id);
<link linkend="api.clear.cache">clear_cache()</link>.
</para>
<example>
<title>passer un cache_id a is_cached()</title>
<title>Passer un cache_id a is_cached()</title>
<programlisting>
<![CDATA[
require('Smarty.class.php');
@@ -68,9 +68,9 @@ $smarty->caching = true;
$my_cache_id = $_GET['article_id'];
if(!$smarty->is_cached('index.tpl',$my_cache_id)) {
// pas de fichier de cache dispo, on assigne donc les variables
$contents = get_database_contents();
$smarty->assign($contents);
// pas de fichier de cache dispo, on assigne donc les variables
$contents = get_database_contents();
$smarty->assign($contents);
}
$smarty->display('index.tpl',$my_cache_id);
@@ -83,7 +83,7 @@ $smarty->display('index.tpl',$my_cache_id);
a clear_cache().
</para>
<example>
<title>effacement de tous les fichiers de cache pour un identifiant de cache particulier</title>
<title>Effacement de tous les fichiers de cache pour un identifiant de cache particulier</title>
<programlisting>
<![CDATA[
require('Smarty.class.php');

View File

@@ -1,53 +1,60 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
<!-- EN-Revision: 1.2 Maintainer: yannick Status: ready -->
<sect1 id="caching.setting.up">
<title>Param<EFBFBD>trer le cache</title>
<para>
La premi<6D>re chose a faire est d'activer le cache. Cela est fait en
La premi<6D>re chose <EFBFBD> faire est d'activer le cache. Cela est fait en
mettant <link linkend="variable.caching">$caching</link> = true
(ou 1).
</para>
<example>
<title>activation du cache</title>
<programlisting>
<title>Activation du cache</title>
<programlisting role="php">
<![CDATA[
<?php
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->caching = true;
$smarty->display('index.tpl');</programlisting>
$smarty->display('index.tpl');
?>
]]>
</programlisting>
</example>
<para>
Avec le cache activ<69>, la fonction display('index.tpl') va afficher
le template mais sauvegardera par la m<>me occasion une copie du r<>sultat
dans un fichier (de cache) du r<>pertoire
<link linkend="variable.cache.dir">$cache_dir</link>. Au prochain appel de
display('index.tpl'), le fichier de cache sera pr<70>f<EFBFBD>r<EFBFBD> a la r<>utilisation
du template.
</para>
<note>
<title>Note technique</title>
<para>
Les fichiers situ<74>s dans $cache_dir sont nomm<6D>s de la m<>me faton que les templates.
Bien qu'ils aient une extension ".php", ils ne sont pas vraiment ex<65>cutable.
N'<27>ditez surtout pas ces fichiers !
</para>
</note>
display('index.tpl'), le fichier de cache sera pr<70>f<EFBFBD>r<EFBFBD> <EFBFBD> la r<>utilisation
du template.
</para>
<note>
<title>Note technique</title>
<para>
Tout fichier de cache a une dur<75>e de vie limit<69>e d<>termin<69>e par <link
linkend="variable.cache.lifetime">$cache_lifetime</link>. La valeur par
d<EFBFBD>faut est 3600 secondes, i.e. 1 heure. Une fois que cette dur<75>e est
d<>pass<73>e, le cache est reg<65>n<EFBFBD>r<EFBFBD>. Il est possible de donner
une dur<75>e d'expiration propre a chaque fichier de cache en r<>glant
$caching = 2.
Se reporter a la documentation de <link
linkend="variable.cache.lifetime">$cache_lifetime</link> pour plus de
d<>tails.
Les fichiers situ<74>s dans $cache_dir sont nomm<6D>s de la m<>me fa<66>on que les templates.
Bien qu'ils aient une extension ".php", ils ne sont pas vraiment ex<65>cutable.
N'<27>ditez surtout pas ces fichiers !
</para>
<example>
<title>r<EFBFBD>glage individuel de cache_lifetime</title>
<programlisting>
</note>
<para>
Tout fichier de cache a une dur<75>e de vie limit<69>e d<>termin<69>e par <link
linkend="variable.cache.lifetime">$cache_lifetime</link>. La valeur par
d<>faut est 3600 secondes, i.e. 1 heure. Une fois que cette dur<75>e est
d<>pass<73>e, le cache est reg<65>n<EFBFBD>r<EFBFBD>. Il est possible de donner
une dur<75>e d'expiration propre <20> chaque fichier de cache en r<>glant
$caching = 2.
Se reporter <20> la documentation de <link
linkend="variable.cache.lifetime">$cache_lifetime</link> pour plus de
d<>tails.
</para>
<example>
<title>R<EFBFBD>glage individuel de cache_lifetime</title>
<programlisting role="php">
<![CDATA[
<?php
require('Smarty.class.php');
$smarty = new Smarty;
@@ -66,45 +73,55 @@ $smarty->display('home.tpl');
// plus la valeur de $cache_lifetime. Le cache de home.tpl expirera toujours
// dans 1 heure.
$smarty->cache_lifetime = 30; // 30 secondes
$smarty->display('home.tpl');</programlisting>
</example>
<para>
Si <link linkend="variable.compile.check">$compile_check</link> est actif,
chaque fichier de template et de configuration qui a un rapport
avec le fichier de cache sera v<>rifi<66> pour d<>tecter une <20>ventuelle
modification. Si l'un de ces fichiers a <20>t<EFBFBD> modifi<66> depuis que le fichier de cache a <20>t<EFBFBD>
g<>n<EFBFBD>r<EFBFBD>, le cache est imm<6D>diatement reg<65>n<EFBFBD>r<EFBFBD>. Ce processus est covteux, donc,
pour des raisons de performances, mettez ce param<61>tre a false pour une application
en production.
</para>
<example>
<title>activation de $compile_check</title>
<programlisting>
$smarty->display('home.tpl');
?>
]]>
</programlisting>
</example>
<para>
Si <link linkend="variable.compile.check">$compile_check</link> est actif,
chaque fichier de template et de configuration qui a un rapport
avec le fichier de cache sera v<>rifi<66> pour d<>tecter une <20>ventuelle
modification. Si l'un de ces fichiers a <20>t<EFBFBD> modifi<66> depuis que le fichier de cache a <20>t<EFBFBD>
g<EFBFBD>n<EFBFBD>r<EFBFBD>, le cache est imm<6D>diatement reg<65>n<EFBFBD>r<EFBFBD>. Ce processus est couteux, donc,
pour des raisons de performances, mettez ce param<61>tre <20> false pour une application
en production.
</para>
<example>
<title>Activation de $compile_check</title>
<programlisting role="php">
<![CDATA[
<?php
require('Smarty.class.php');
$smarty = new Smarty;
$smarty->caching = true;
$smarty->compile_check = true;
$smarty->display('index.tpl');</programlisting>
</example>
<para>
Si <link linkend="variable.force.compile">$force_compile</link> est actif,
les fichiers de cache sont toujours reg<65>n<EFBFBD>r<EFBFBD>s. Ceci revient finalement a
d<>sactiver le cache. $force_compile est utilis<69> a des fins de d<>bogage,
un moyen plus efficace de d<>sactiver le cache est de r<>gler
<link linkend="variable.caching">$caching</link> = false (ou 0).
</para>
<para>
La fonction <link linkend="api.is.cached">is_cached()</link> permet
de tester si un template a ou non un fichier de cache valide.
Si vous disposez d'un template en cache qui requiert une requ<71>te
a une base de donn<6E>es, vous pouvez utiliser cette m<>thode plut(t
que $compile_check.
</para>
<example>
<title>utilisation de is_cached()</title>
<programlisting>
$smarty->display('index.tpl');
?>
]]>
</programlisting>
</example>
<para>
Si <link linkend="variable.force.compile">$force_compile</link> est actif,
les fichiers de cache sont toujours reg<65>n<EFBFBD>r<EFBFBD>s. Ceci revient finalement <20>
d<EFBFBD>sactiver le cache. $force_compile est utilis<69> <20> des fins de d<>bogage,
un moyen plus efficace de d<>sactiver le cache est de r<>gler
<link linkend="variable.caching">$caching</link> = false (ou 0).
</para>
<para>
La fonction <link linkend="api.is.cached">is_cached()</link> permet
de tester si un template a ou non un fichier de cache valide.
Si vous disposez d'un template en cache qui requiert une requ<71>te
<EFBFBD> une base de donn<6E>es, vous pouvez utiliser cette m<>thode plut<75>t
que $compile_check.
</para>
<example>
<title>Exemple avec is_cached()</title>
<programlisting role="php">
<![CDATA[
<?php
require('Smarty.class.php');
$smarty = new Smarty;
@@ -112,32 +129,37 @@ $smarty->caching = true;
if(!$smarty->is_cached('index.tpl')) {
// pas de cache disponible, on assigne
$contents = get_database_contents();
$smarty->assign($contents);
$contents = get_database_contents();
$smarty->assign($contents);
}
$smarty->display('index.tpl');</programlisting>
</example>
<para>
Vous pouvez rendre dynamiques seulement certaines parties d'une
page avec la fonction de templates <link
linkend="language.function.insert">insert</link>.
Imaginons que toute une page doit <20>tre mise en cache a part
une banni<6E>re en bas a droite. En utilisant une fonction insert pour la
banni<6E>re, vous pouvez garder cet <20>l<EFBFBD>ment dynamique dans le contenu qui
est en cache. Reportez-vous a la documentation
<link linkend="language.function.insert">insert</link> pour plus de d<>tails
et des exemples.
</para>
<para>
Vous pouvez effacer tous les fichiers du cache avec la fonction <link
linkend="api.clear.all.cache">clear_all_cache(),</link> ou de faton
individuelle (ou par groupe) avec la fonction <link
linkend="api.clear.cache">clear_cache()</link>.
</para>
<example>
<title>nettoyage du cache</title>
<programlisting>
$smarty->display('index.tpl');
?>
]]>
</programlisting>
</example>
<para>
Vous pouvez rendre dynamiques seulement certaines parties d'une
page avec la fonction de template <link
linkend="language.function.insert">insert</link>.
Imaginons que toute une page doit <20>tre mise en cache <20> part
une banni<6E>re en bas <20> droite. En utilisant une fonction insert pour la
banni<EFBFBD>re, vous pouvez garder cet <20>l<EFBFBD>ment dynamique dans le contenu qui
est en cache. Reportez-vous <20> la documentation
<link linkend="language.function.insert">insert</link> pour plus de d<>tails
ainsi que des exemples.
</para>
<para>
Vous pouvez effacer tous les fichiers du cache avec la fonction <link
linkend="api.clear.all.cache">clear_all_cache()</link>, ou de fa<66>on
individuelle (ou par groupe) avec la fonction <link
linkend="api.clear.cache">clear_cache()</link>.
</para>
<example>
<title>Nettoyage du cache</title>
<programlisting role="php">
<![CDATA[
<?php
require('Smarty.class.php');
$smarty = new Smarty;
@@ -149,9 +171,12 @@ $smarty->clear_all_cache();
// efface le fichier de cache du template 'index.tpl'
$smarty->clear_cache('index.tpl');
$smarty->display('index.tpl');</programlisting>
</example>
</sect1>
$smarty->display('index.tpl');
?>
]]>
</programlisting>
</example>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml