From 4104a579bf85c616a7b91de3fb5274bd2a344410 Mon Sep 17 00:00:00 2001 From: yannick Date: Tue, 21 Dec 2004 20:31:42 +0000 Subject: [PATCH] sync with EN #Hello all ;) --- docs/fr/appendixes/resources.xml | 2 +- docs/fr/appendixes/tips.xml | 311 ++++++++++---------- docs/fr/bookinfo.xml | 21 +- docs/fr/designers/config-files.xml | 4 +- docs/fr/designers/language-basic-syntax.xml | 3 +- docs/fr/getting-started.xml | 196 +++++++----- docs/fr/translation.xml | 1 + 7 files changed, 306 insertions(+), 232 deletions(-) diff --git a/docs/fr/appendixes/resources.xml b/docs/fr/appendixes/resources.xml index 7291e94a..881ffa6b 100644 --- a/docs/fr/appendixes/resources.xml +++ b/docs/fr/appendixes/resources.xml @@ -1,6 +1,6 @@ - + Ressources diff --git a/docs/fr/appendixes/tips.xml b/docs/fr/appendixes/tips.xml index 8a502790..64065864 100644 --- a/docs/fr/appendixes/tips.xml +++ b/docs/fr/appendixes/tips.xml @@ -1,6 +1,6 @@ - + Trucs et astuces @@ -47,11 +47,14 @@ assigner une valeur par défaut à une variable de template -{* faites cela qq part en haut de votre template *} + +{* si $title est vide, il contiendra alors la valeur "no title" *} +{$title} +]]> + @@ -64,8 +67,8 @@ passer le titre au template d'en-tête - - + + + +{$title|default:"BC News"} + + footer.tpl ---------- -</BODY> -</HTML> + + +]]> + Quand la page principale est conçue, le titre "Main page" est passé à header.tpl @@ -115,31 +120,48 @@ footer.tpl pour avoir un contrôle total sur le formatage des dates et de comparer facilement les dates entre elles. - - 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(). - + + + 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(). + + - utilisation de date_format - + Utilisation de date_format + + + + + Affichera : + + + + + + + + + Affichera : + + + + + + +{/if} +]]> + En utilisant la fonction {html_select_date} dans un template, le programmeur @@ -147,24 +169,33 @@ OUTPUT: Voici une fonction qui devrait vous être utile. - conversion des éléments date d'un formulaire en timestamp - + Conversion des éléments date d'un formulaire en timestamp + + + 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); +} +?> +]]> + @@ -180,52 +211,62 @@ function makeTimeStamp($year="",$month="",$day="") la modification de l'en-tête échouera. - utilisation d'insert pour écrire un en-tête Content-Type WML - + Utilisation d'insert pour écrire un en-tête Content-Type WML + + +]]> + + + votre template Smarty doit commencer avec la balise d'insertion : + + + + -<!-- 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> + + + + + + + +

+ Welcome to WAP with Smarty! + Press OK to continue... +

+
+ + +

+ Pretty easy isn't it? +

+
+
+]]> +
Templates composants - - 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. ;-) - 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 @@ -236,102 +277,70 @@ Pretty easy isn't it? 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 ? - 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. - template composant - -{* Smarty *} + Template composant + +assign("ticker_name",$ticker_name); - $this->assign("ticker_price",$ticker_price); + // assignation de la variable de template + $smarty->assign($params['assign'], $ticker_info); +} +?> +]]> + + + - - - 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 include_php pour plus - d'informations. - - - template composant avec include_php - -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 - } - - // 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); -?> - - -index.tpl ---------- - -{* Smarty *} - -{include_php file="load_ticker.php"} - -Stock Name: {$ticker_name} Stock Price: {$ticker_price} +Stock Name: {$ticker.name} Stock Price: {$ticker.price} +]]> + Dissimuler les adresses email 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. - exemple de dissimulation d'une adresse email + Exemple de dissimulation d'une adresse email - -index.tpl ---------- + +]]> + Note technique diff --git a/docs/fr/bookinfo.xml b/docs/fr/bookinfo.xml index 55cc9bd8..96a9800a 100755 --- a/docs/fr/bookinfo.xml +++ b/docs/fr/bookinfo.xml @@ -1,26 +1,35 @@ - + Smarty - le moteur et compilateur de templates PHP - MonteOhrt <monte@ispi.net> + Monte + Ohrt <monte@ispi.net> - AndreiZmievski <andrei@php.net> + Andrei + Zmievski <andrei@php.net> - ArnaudCogoluègnes <arnaud.cogoluegnes@free.fr> + Arnaud + Cogoluègnes <arnaud.cogoluegnes@free.fr> - GéraldCroës <gcroes@aston.fr> + Gérald + Croës <gcroes@aston.fr> - MehdiAchour <didou@php.net> + Mehdi + Achour <didou@php.net> + + Yannick + Yannick <yannick@php.net> + &build-date; diff --git a/docs/fr/designers/config-files.xml b/docs/fr/designers/config-files.xml index 3305aa82..55fda0b3 100644 --- a/docs/fr/designers/config-files.xml +++ b/docs/fr/designers/config-files.xml @@ -1,6 +1,6 @@ - + Fichiers de configuration @@ -34,7 +34,7 @@ Intro = """Une valeur qui tient sur # hidden section [.Database] -host=mon.domaine.com +host=mon.example.com db=ADDRESSBOOK user=php-user pass=foobar diff --git a/docs/fr/designers/language-basic-syntax.xml b/docs/fr/designers/language-basic-syntax.xml index b53376c6..42c7af68 100644 --- a/docs/fr/designers/language-basic-syntax.xml +++ b/docs/fr/designers/language-basic-syntax.xml @@ -1,6 +1,6 @@ - + Bases syntaxiques @@ -17,6 +17,7 @@ &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; diff --git a/docs/fr/getting-started.xml b/docs/fr/getting-started.xml index 9420fc56..9ffca0df 100644 --- a/docs/fr/getting-started.xml +++ b/docs/fr/getting-started.xml @@ -1,6 +1,6 @@ - + Pour commencer @@ -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. + + 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 + ne désirez pas disposer de logique métier dans vos templates, placez tous vos contenus dans des variables au format texte uniquement. @@ -58,33 +61,80 @@ Quelques caractéristiques de Smarty : - Il est très rapide. - Il est efficace, le parser PHP s'occupe - du sale travail. - Pas d'analyse de template coûteuse, une seule compilation. - - Il sait ne recompiler que les fichiers de templates - qui ont été modifiés. - Vous pouvez créer des - fonctions utilisateurs et des - modificateurs de variables personnalisés, le langage de - template est donc extrémement extensible. - Syntaxe des templates configurable, vous - pouvez utiliser {}, {{}}, <!--{}-->, etc comme délimiteurs. - - 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. - Imbrication illimitée de sections, - de 'if', etc. autorisée. - 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. - Support de cache intégré. - Sources de templates arbitraires. - Fonctions de gestion de cache personnalisables. - Architecture de plugins + + + Il est très rapide. + + + + + Il est efficace, le parser PHP s'occupe du sale travail. + + + + + Pas d'analyse de template coûteuse, une seule compilation. + + + + + Il sait ne recompiler que les fichiers de templates qui ont été modifiés. + + + + + Vous pouvez créer des + fonctions utilisateurs et des + modificateurs de variables personnalisés, le langage de + template est donc extrémement extensible. + + + + + Syntaxe des templates configurable, vous + pouvez utiliser {}, {{}}, <!--{}-->, etc. comme délimiteurs. + + + + + 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. + + + + + Imbrication illimitée de sections, de 'if', etc. autorisée. + + + + + 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. + + + + + Support de cache intégré. + + + + + Sources de templates arbitraires. + + + + + Fonctions de gestion de cache personnalisables. + + + + + Architecture de plugins + + @@ -127,9 +177,9 @@ debug.tpl linkend="constant.smarty.dir">SMARTY_DIR qui représente le chemin complet de la bibliothèque Smarty. En fait, si votre application trouve le fichier - Smarty.class.php, vous n'aurez pas + Smarty.class.php, vous n'aurez pas besoin de définir la variable SMARTY_DIR, Smarty s'en chargera pour vous. - En revanche, si Smarty.class.php + En revanche, si Smarty.class.php 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 @@ $smarty = new Smarty; Essayez de lancer le script ci-dessus. Si vous obtenez une erreur indiquant - que le fichier Smarty.class.php n'est pas trouvé, + que le fichier Smarty.class.php n'est pas trouvé, tentez l'une des actions suivantes : @@ -201,19 +251,21 @@ $smarty = new Smarty; 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) - templates, - templates_c, configs et - cache. Chacun d'entre eux peut être défini - via les attributs $template_dir, - $compile_dir, $config_dir et - $cache_dir respectivement. Il est vivement + templates, + templates_c, + configs et + cache. Chacun d'entre eux peut être défini + via les attributs $template_dir, + $compile_dir, $config_dir et + $cache_dir respectivement. Il est vivement conseillé que vous régliez ces répertoires séparément pour chaque application qui utilise Smarty. 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 /web/www.example.com/docs/. 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 @@ $smarty = new Smarty; 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/". + /web/www.example.com/smarty/livredor/. 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/". - + index.php et le placer dans un sous-répertoire + appelé /livredor/. + Technical Note @@ -244,7 +297,7 @@ $smarty = new Smarty; 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 @@ $smarty = new Smarty; /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 ]]> @@ -290,11 +343,11 @@ $smarty = new Smarty; régler les permissions d'accès @@ -316,7 +369,7 @@ chmod 770 /web/www.mydomain.com/smarty/livredor/cache/ - Edition de /web/www.mydomain.com/smarty/templates/index.tpl + Edition de /web/www.example.com/smarty/templates/index.tpl - édition de /web/www.mydomain.com/docs/livredor/index.php + édition de /web/www.example.com/docs/livredor/index.php 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 @@ Hello, {$name}! 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. + /web/www.example.com/smarty/livredor/ + 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 @@ Hello, {$name}! - Et maintenant appelez le fichier index.php avec navigateur + Et maintenant appelez le fichier index.php avec navigateur Web. Vous devriez voir "Hello, Ned!". @@ -406,7 +460,7 @@ Hello, {$name}! 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é setup.php. 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 @@ Hello, {$name}! 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 @@ Hello, {$name}! - édition de /web/www.mydomain.com/docs/livredor/index.php + Edition de /web/www.example.com/docs/livredor/index.php +