<?xml version="1.0" encoding="UTF-8"?><rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
> <channel><title>Commentaires sur : Utilité des langages de templates en PHP</title> <atom:link href="http://truffo.fr/2009/06/utilite-des-langages-de-templates-en-php/feed/" rel="self" type="application/rss+xml" /><link>http://truffo.fr/2009/06/utilite-des-langages-de-templates-en-php/</link> <description>If you need a Fix ... Sylvain</description> <lastBuildDate>Tue, 22 May 2012 21:32:09 +0000</lastBuildDate> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.2</generator> <item><title>Par : PHP 5.4 : Youpi &#60;?= marche avec les short_open_tags désactivées &#124; truffo.fr</title><link>http://truffo.fr/2009/06/utilite-des-langages-de-templates-en-php/#comment-2335</link> <dc:creator>PHP 5.4 : Youpi &#60;?= marche avec les short_open_tags désactivées &#124; truffo.fr</dc:creator> <pubDate>Thu, 24 Nov 2011 20:11:39 +0000</pubDate> <guid
isPermaLink="false">http://truffo.fr/?p=235#comment-2335</guid> <description>[...] sont désactivées. Fini, les &amp;lt?php echo.C&#8217;est une grande nouvelle pour tous ceux qui apprécie PHP comme langage de template.   This entry was posted in PHP and tagged PHP, PHP 5.4, short_open_tags, template by truffo. [...]</description> <content:encoded><![CDATA[<p>[...] sont désactivées. Fini, les &amp;lt?php echo.C&#8217;est une grande nouvelle pour tous ceux qui apprécie PHP comme langage de template.   This entry was posted in PHP and tagged PHP, PHP 5.4, short_open_tags, template by truffo. [...]</p> ]]></content:encoded> </item> <item><title>Par : Framework PHP 2.0 : que réserve 2010 pour le Zend Framework et Symfony ?</title><link>http://truffo.fr/2009/06/utilite-des-langages-de-templates-en-php/#comment-45</link> <dc:creator>Framework PHP 2.0 : que réserve 2010 pour le Zend Framework et Symfony ?</dc:creator> <pubDate>Thu, 06 May 2010 08:54:47 +0000</pubDate> <guid
isPermaLink="false">http://truffo.fr/?p=235#comment-45</guid> <description>&lt;p&gt;[...] fullstack. On peut regretter le changement d&#8217;avis sur l&#8217;usage des moteurs de templates (voir mon avis sur la question). Enfin, vu avec quel insistance Sensio relan&#231;ent l&#8217;injection de d&#233;pendance, il [...]&lt;/p&gt;</description> <content:encoded><![CDATA[<p>[...] fullstack. On peut regretter le changement d&rsquo;avis sur l&rsquo;usage des moteurs de templates (voir mon avis sur la question). Enfin, vu avec quel insistance Sensio relan&ccedil;ent l&rsquo;injection de d&eacute;pendance, il [...]</p> ]]></content:encoded> </item> <item><title>Par : Lionel LECOQ</title><link>http://truffo.fr/2009/06/utilite-des-langages-de-templates-en-php/#comment-44</link> <dc:creator>Lionel LECOQ</dc:creator> <pubDate>Tue, 08 Dec 2009 14:25:57 +0000</pubDate> <guid
isPermaLink="false">http://truffo.fr/?p=235#comment-44</guid> <description>&lt;p&gt;Je me posais aussi la question de l&#039;utilisation des moteurs de templates, et deux arguments m&#039;ont touchés dans vos propos :
- la forte isolation : il me semble intéressant d&#039;empêcher par exemple l&#039;exécution d&#039;une requêtes SQL dans un template, surtout si on compte laisser aux utilisateurs la possibilité d&#039;écrire leurs templates ; Or, comment l&#039;empêcher, si l&#039;on utilise du PHP dans les vues?
- bonne intégration HTML : Il faut reconnaître que PHP est un langage fort verbeux, ce qui n&#039;est pas très pratique lorsqu&#039;on l&#039;intègre dans du HTML.&lt;/p&gt;
&lt;p&gt;Cependant, si l&#039;on part du principe que les templates sont utiles lorsque plusieurs personnes travaillent sur un même projet, le manque de standardisation de ces moteurs est très gênante : chacun utilise le moteur qui lui plait le plus, et il n&#039;est pas évident d&#039;en trouver un que tout le monde puisse prendre en main facilement...&lt;/p&gt;
&lt;p&gt;Le &quot;top&quot; serait de pouvoir n&#039;utiliser uniquement que quelques fonctions PHP (les conditions, boucles, affectations), mais pas toutes les autres (mysql_* par exemple)&lt;/p&gt;</description> <content:encoded><![CDATA[<p>Je me posais aussi la question de l&#8217;utilisation des moteurs de templates, et deux arguments m&#8217;ont touchés dans vos propos :<br
/> - la forte isolation : il me semble intéressant d&#8217;empêcher par exemple l&#8217;exécution d&#8217;une requêtes SQL dans un template, surtout si on compte laisser aux utilisateurs la possibilité d&#8217;écrire leurs templates ; Or, comment l&#8217;empêcher, si l&#8217;on utilise du PHP dans les vues?<br
/> - bonne intégration HTML : Il faut reconnaître que PHP est un langage fort verbeux, ce qui n&#8217;est pas très pratique lorsqu&#8217;on l&#8217;intègre dans du HTML.</p><p>Cependant, si l&#8217;on part du principe que les templates sont utiles lorsque plusieurs personnes travaillent sur un même projet, le manque de standardisation de ces moteurs est très gênante : chacun utilise le moteur qui lui plait le plus, et il n&#8217;est pas évident d&#8217;en trouver un que tout le monde puisse prendre en main facilement&#8230;</p><p>Le &laquo;&nbsp;top&nbsp;&raquo; serait de pouvoir n&#8217;utiliser uniquement que quelques fonctions PHP (les conditions, boucles, affectations), mais pas toutes les autres (mysql_* par exemple)</p> ]]></content:encoded> </item> <item><title>Par : Sylvain FIX</title><link>http://truffo.fr/2009/06/utilite-des-langages-de-templates-en-php/#comment-43</link> <dc:creator>Sylvain FIX</dc:creator> <pubDate>Thu, 03 Dec 2009 12:54:39 +0000</pubDate> <guid
isPermaLink="false">http://truffo.fr/?p=235#comment-43</guid> <description>&lt;blockquote&gt;Raison de plus pour utiliser un bon échappement à l’affichage plutôt qu’une hâche à la saisie&lt;/blockquote&gt;
&lt;p&gt;Tu peut potentiellement te prendre beaucoup d&#039;attaque de type XSS même en échappant les caractères à la sortie.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Il faut absolument faire les 2 : c&#039;est la base du Web quand même&lt;/strong&gt;, je dirais même qu&#039;il faut surtout la hache à la saisie. Ensuite, le langage autorisé est le HTML dans les commentaires (Je t&#039;accorde l&#039;erreur d&#039;ergonomie qui ne donne pas cette information, je la corrigerais).&lt;/p&gt;
&lt;p&gt;Ensuite, pour les accolades, il existe la syntaxe avec les &quot;:&quot; qui est faite pour cela.&lt;/p&gt;
&lt;p&gt;Par contre, l&#039;argument sur la forte isolation me fait plutôt rire, il ne faut pas confondre la vue d&#039;un modèle MVC et un moteur de template. L&#039;isolation forte entre la vue et le reste est souvent nécessaire comme tu le dit, mais le langage de template n&#039;apporte absolument rien à ce niveau.&lt;/p&gt;
&lt;p&gt;Après, tu dit que le template n&#039;a strictement accès qu&#039;aux données qu&#039;on lui fourni, et absolument rien d&#039;autre, si tu savais le nombre de fois où j&#039;ai vu des contournements par l&#039;intermédiaire d&#039;un proxy ajax pour récupérer des donnés pour contourner cette limitation contre-productive, ça fait simplement froid dans le dos.&lt;/p&gt;
&lt;p&gt;Dans un exemple qui m&#039;a particulièrement marqués, l&#039;intégrateur avait besoin d&#039;une liste d&#039;utilisateurs en fonction de certains paramètres, il avait besoin de leur nom, de leur email et de leur numéro de compte client, il attendait le développement de la fonctionnalité qui ne venait pas. Alors, il a décidé de passer par un proxy Ajax pour gagner du temps. Il indique clairement la raison dans le commentaire du code. Je cite &quot;Le temps que quelqu&#039;un me implémente l&#039;opérateur que j&#039;ai besoin et qu&#039;il le commit, je le site sera déjà en ligne&quot;.&lt;/p&gt;
&lt;p&gt;De ce point de vue, je rejoint Benjamin Franklin en disant : &quot;Celui qui est prêt à sacrifier un peu de sa liberté pour plus de sécurité ne mérite ni l’une ni l’autre, et finit par perdre les deux.&quot;&lt;/p&gt;</description> <content:encoded><![CDATA[<blockquote><p>Raison de plus pour utiliser un bon échappement à l’affichage plutôt qu’une hâche à la saisie</p></blockquote><p>Tu peut potentiellement te prendre beaucoup d&#8217;attaque de type XSS même en échappant les caractères à la sortie.</p><p><strong>Il faut absolument faire les 2 : c&#8217;est la base du Web quand même</strong>, je dirais même qu&#8217;il faut surtout la hache à la saisie. Ensuite, le langage autorisé est le HTML dans les commentaires (Je t&#8217;accorde l&#8217;erreur d&#8217;ergonomie qui ne donne pas cette information, je la corrigerais).</p><p>Ensuite, pour les accolades, il existe la syntaxe avec les &laquo;&nbsp;:&nbsp;&raquo; qui est faite pour cela.</p><p>Par contre, l&#8217;argument sur la forte isolation me fait plutôt rire, il ne faut pas confondre la vue d&#8217;un modèle MVC et un moteur de template. L&#8217;isolation forte entre la vue et le reste est souvent nécessaire comme tu le dit, mais le langage de template n&#8217;apporte absolument rien à ce niveau.</p><p>Après, tu dit que le template n&#8217;a strictement accès qu&#8217;aux données qu&#8217;on lui fourni, et absolument rien d&#8217;autre, si tu savais le nombre de fois où j&#8217;ai vu des contournements par l&#8217;intermédiaire d&#8217;un proxy ajax pour récupérer des donnés pour contourner cette limitation contre-productive, ça fait simplement froid dans le dos.</p><p>Dans un exemple qui m&#8217;a particulièrement marqués, l&#8217;intégrateur avait besoin d&#8217;une liste d&#8217;utilisateurs en fonction de certains paramètres, il avait besoin de leur nom, de leur email et de leur numéro de compte client, il attendait le développement de la fonctionnalité qui ne venait pas. Alors, il a décidé de passer par un proxy Ajax pour gagner du temps. Il indique clairement la raison dans le commentaire du code. Je cite &laquo;&nbsp;Le temps que quelqu&#8217;un me implémente l&#8217;opérateur que j&#8217;ai besoin et qu&#8217;il le commit, je le site sera déjà en ligne&nbsp;&raquo;.</p><p>De ce point de vue, je rejoint Benjamin Franklin en disant : &laquo;&nbsp;Celui qui est prêt à sacrifier un peu de sa liberté pour plus de sécurité ne mérite ni l’une ni l’autre, et finit par perdre les deux.&nbsp;&raquo;</p> ]]></content:encoded> </item> <item><title>Par : Olivier B.</title><link>http://truffo.fr/2009/06/utilite-des-langages-de-templates-en-php/#comment-42</link> <dc:creator>Olivier B.</dc:creator> <pubDate>Thu, 03 Dec 2009 10:32:13 +0000</pubDate> <guid
isPermaLink="false">http://truffo.fr/?p=235#comment-42</guid> <description>&lt;p&gt;note : mon précédent commentaire s&#039;est vu tronqué des balises PHP et HTML, et est donc incompréhensible... Raison de plus pour utiliser un bon échappement à l&#039;affichage plutôt qu&#039;une hâche à la saisie :P&lt;/p&gt;</description> <content:encoded><![CDATA[<p>note : mon précédent commentaire s&#8217;est vu tronqué des balises PHP et HTML, et est donc incompréhensible&#8230; Raison de plus pour utiliser un bon échappement à l&#8217;affichage plutôt qu&#8217;une hâche à la saisie :P</p> ]]></content:encoded> </item> <item><title>Par : Olivier B.</title><link>http://truffo.fr/2009/06/utilite-des-langages-de-templates-en-php/#comment-41</link> <dc:creator>Olivier B.</dc:creator> <pubDate>Thu, 03 Dec 2009 10:29:07 +0000</pubDate> <guid
isPermaLink="false">http://truffo.fr/?p=235#comment-41</guid> <description>&lt;p&gt;Bonjour,&lt;/p&gt;
&lt;p&gt;pour ma part j&#039;utilise un moteur de template maison pour ces raisons :
- simplification du code. Par défaut un {name} correspond à un name); ?&gt;. C&#039;est pour moi un raccourci important, qui évite bien des oublis coté code.
Toutefois avec cet échappement automatique il n&#039;y a pas l&#039;impact &quot;wash / dewash / rewash&quot; que vous indiquez : si je mets {url:name} le htmlspecialchars sera simplement remplacé (à la &quot;compilation&quot;) par un rawurlencode.
En effet on reprend l&#039;utilisation des &quot;modifiers&quot;, un peu comme on peut le trouver dans le moteur de template Flexy.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;bonne intégration HTML. J&#039;aime ce genre de syntaxe : {userName}, qui m&#039;évite d&#039;avoir à placer l&#039;accolade fermante de mes ifs, foreach ou autres blocs. Le XHTML est balisé, donc on utilise avant tout les balises déjà présentes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;forte isolation. Mon but à l&#039;origine était de permettre aux membres d&#039;utiliser leurs propres templates, sans compromettre la sécurité du site (pour une plateforme de blog mutualisée par exemple). Ainsi le template n&#039;a strictement accès qu&#039;aux données qu&#039;on lui fourni, et absolument rien d&#039;autre.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;</description> <content:encoded><![CDATA[<p>Bonjour,</p><p>pour ma part j&#8217;utilise un moteur de template maison pour ces raisons :<br
/> - simplification du code. Par défaut un {name} correspond à un name); ?&gt;. C&#8217;est pour moi un raccourci important, qui évite bien des oublis coté code.<br
/> Toutefois avec cet échappement automatique il n&#8217;y a pas l&#8217;impact &laquo;&nbsp;wash / dewash / rewash&nbsp;&raquo; que vous indiquez : si je mets {url:name} le htmlspecialchars sera simplement remplacé (à la &laquo;&nbsp;compilation&nbsp;&raquo;) par un rawurlencode.<br
/> En effet on reprend l&#8217;utilisation des &laquo;&nbsp;modifiers&nbsp;&raquo;, un peu comme on peut le trouver dans le moteur de template Flexy.</p><ul><li><p>bonne intégration HTML. J&#8217;aime ce genre de syntaxe : {userName}, qui m&#8217;évite d&#8217;avoir à placer l&#8217;accolade fermante de mes ifs, foreach ou autres blocs. Le XHTML est balisé, donc on utilise avant tout les balises déjà présentes.</p></li><li><p>forte isolation. Mon but à l&#8217;origine était de permettre aux membres d&#8217;utiliser leurs propres templates, sans compromettre la sécurité du site (pour une plateforme de blog mutualisée par exemple). Ainsi le template n&#8217;a strictement accès qu&#8217;aux données qu&#8217;on lui fourni, et absolument rien d&#8217;autre.</p></li></ul> ]]></content:encoded> </item> <item><title>Par : Brice</title><link>http://truffo.fr/2009/06/utilite-des-langages-de-templates-en-php/#comment-40</link> <dc:creator>Brice</dc:creator> <pubDate>Tue, 01 Dec 2009 20:03:19 +0000</pubDate> <guid
isPermaLink="false">http://truffo.fr/?p=235#comment-40</guid> <description>&lt;p&gt;Il y a un truc qui m&#039;échappe. Tout le monde s&#039;accorde à dire que le PHP souffre de certaine carence pour les templates, et que les langages de template apporte une solution à ce problème. Mais pourquoi PHP n&#039;intégrerer pas directement toutes les fonctionnalités directement dans la plate-forme ?&lt;/p&gt;</description> <content:encoded><![CDATA[<p>Il y a un truc qui m&#8217;échappe. Tout le monde s&#8217;accorde à dire que le PHP souffre de certaine carence pour les templates, et que les langages de template apporte une solution à ce problème. Mais pourquoi PHP n&#8217;intégrerer pas directement toutes les fonctionnalités directement dans la plate-forme ?</p> ]]></content:encoded> </item> <item><title>Par : Adrien M.</title><link>http://truffo.fr/2009/06/utilite-des-langages-de-templates-en-php/#comment-39</link> <dc:creator>Adrien M.</dc:creator> <pubDate>Mon, 30 Nov 2009 22:36:43 +0000</pubDate> <guid
isPermaLink="false">http://truffo.fr/?p=235#comment-39</guid> <description>&lt;p&gt;J&#039;écrirais sûrement un article sur ce même sujet, en abordant notamment Twig que je commence à suivre de près. Pour moi l&#039;intérêt se situerait dans une syntaxe universelle indépendante du langage en backend ; syntaxe évidemment prise en charge à court terme dans tous les IDE.&lt;/p&gt;
&lt;p&gt;Bien sûr, on parle d&#039;idéal...&lt;/p&gt;
&lt;p&gt;Ton nouveau lecteur&lt;/p&gt;</description> <content:encoded><![CDATA[<p>J&#8217;écrirais sûrement un article sur ce même sujet, en abordant notamment Twig que je commence à suivre de près. Pour moi l&#8217;intérêt se situerait dans une syntaxe universelle indépendante du langage en backend ; syntaxe évidemment prise en charge à court terme dans tous les IDE.</p><p>Bien sûr, on parle d&#8217;idéal&#8230;</p><p>Ton nouveau lecteur</p> ]]></content:encoded> </item> <item><title>Par : Sylvain FIX</title><link>http://truffo.fr/2009/06/utilite-des-langages-de-templates-en-php/#comment-38</link> <dc:creator>Sylvain FIX</dc:creator> <pubDate>Fri, 09 Oct 2009 21:54:48 +0000</pubDate> <guid
isPermaLink="false">http://truffo.fr/?p=235#comment-38</guid> <description>&lt;p&gt;Ouais, je l&#039;ai lu, c&#039;est vrai que le &lt;var lang=&quot;en&quot;&gt;else&lt;/var&gt; de boucle est un vrai manque dans la langage &lt;abbr title=&quot;PHP Hypertext Preprocessor&quot; lang=&quot;en&quot;&gt;PHP&lt;/abbr&gt;, et pas seulement en mode moteur de template.&lt;/p&gt;
&lt;p&gt;Par ailleurs, pour l&#039;échappement des caractères, je ne peut pas être d&#039;accord sur l&#039;auto-échappement, prenons l&#039;exemple simple mais désormais classique de faire un simple lien dans un nouvelle fenêtre accessible. La règle d&#039;échappement n&#039;est pas identique entre le &lt;span lang=&quot;en&quot;&gt;title&lt;/span&gt; et le contenu entre la balise, pourtant une partie du texte est identique. Donc avec un &quot;autowash&quot;, tu doit &quot;dewasher&quot; pour &quot;rewasher&quot; correctement.&lt;/p&gt;
&lt;p&gt;Pour ce qui est de la &lt;span lang=&quot;en&quot;&gt;sandbox&lt;/span&gt;, ça donne l&#039;air d&#039;avoir de la sécurité,pourtant il n&#039;en est rien on peut toujours rajouter des balises, des opérateurs qui vont être appeler dans les &lt;span lang=&quot;en&quot;&gt;templates&lt;/span&gt; qui feront exécuterons le code &lt;abbr&gt;PHP&lt;/abbr&gt; que l&#039;on a voulu caché. C&#039;est vraiment de l&#039;illusion de sécurité.&lt;/p&gt;
&lt;p&gt;Sinon, la page montre quand même quelque chose d&#039;intéressant, seul le &lt;abbr&gt;PHP&lt;/abbr&gt; à une coloration syntaxique correcte.&lt;/p&gt;</description> <content:encoded><![CDATA[<p>Ouais, je l&#8217;ai lu, c&#8217;est vrai que le <var
lang="en">else</var> de boucle est un vrai manque dans la langage <abbr
title="PHP Hypertext Preprocessor" lang="en">PHP</abbr>, et pas seulement en mode moteur de template.</p><p>Par ailleurs, pour l&#8217;échappement des caractères, je ne peut pas être d&#8217;accord sur l&#8217;auto-échappement, prenons l&#8217;exemple simple mais désormais classique de faire un simple lien dans un nouvelle fenêtre accessible. La règle d&#8217;échappement n&#8217;est pas identique entre le <span
lang="en">title</span> et le contenu entre la balise, pourtant une partie du texte est identique. Donc avec un &laquo;&nbsp;autowash&nbsp;&raquo;, tu doit &laquo;&nbsp;dewasher&nbsp;&raquo; pour &laquo;&nbsp;rewasher&nbsp;&raquo; correctement.</p><p>Pour ce qui est de la <span
lang="en">sandbox</span>, ça donne l&#8217;air d&#8217;avoir de la sécurité,pourtant il n&#8217;en est rien on peut toujours rajouter des balises, des opérateurs qui vont être appeler dans les <span
lang="en">templates</span> qui feront exécuterons le code <abbr>PHP</abbr> que l&#8217;on a voulu caché. C&#8217;est vraiment de l&#8217;illusion de sécurité.</p><p>Sinon, la page montre quand même quelque chose d&#8217;intéressant, seul le <abbr>PHP</abbr> à une coloration syntaxique correcte.</p> ]]></content:encoded> </item> <item><title>Par : Sylvain_G</title><link>http://truffo.fr/2009/06/utilite-des-langages-de-templates-en-php/#comment-37</link> <dc:creator>Sylvain_G</dc:creator> <pubDate>Fri, 09 Oct 2009 19:54:48 +0000</pubDate> <guid
isPermaLink="false">http://truffo.fr/?p=235#comment-37</guid> <description>&lt;p&gt;Énorme cet article de Fabien * symfony * Potencier !&lt;/p&gt;</description> <content:encoded><![CDATA[<p>Énorme cet article de Fabien * symfony * Potencier !</p> ]]></content:encoded> </item> <item><title>Par : gandbox</title><link>http://truffo.fr/2009/06/utilite-des-langages-de-templates-en-php/#comment-36</link> <dc:creator>gandbox</dc:creator> <pubDate>Fri, 09 Oct 2009 17:35:45 +0000</pubDate> <guid
isPermaLink="false">http://truffo.fr/?p=235#comment-36</guid> <description>&lt;p&gt;Tiens ca va te plaire :
http://fabien.potencier.org/article/34/templating-engines-in-php&lt;/p&gt;</description> <content:encoded><![CDATA[<p>Tiens ca va te plaire :<br
/> <a
href="http://fabien.potencier.org/article/34/templating-engines-in-php">http://fabien.potencier.org/article/34/templating-engines-in-php</a></p> ]]></content:encoded> </item> <item><title>Par : Metal3d</title><link>http://truffo.fr/2009/06/utilite-des-langages-de-templates-en-php/#comment-35</link> <dc:creator>Metal3d</dc:creator> <pubDate>Tue, 29 Sep 2009 12:26:43 +0000</pubDate> <guid
isPermaLink="false">http://truffo.fr/?p=235#comment-35</guid> <description>&lt;p&gt;Tiens, un vieux sujet que j&#039;ai zappé :)&lt;/p&gt;
&lt;p&gt;Je ne suis pas trop fan des moteurs de template pour ma part... sachant que PHP est déjà un langage de template (oui je sais, je sors l&#039;argument des anti smarty mais bon, je suis d&#039;accord avec eux).&lt;/p&gt;
&lt;p&gt;Secondo, quand je vois sur ezPublish la complexité du langage de template, je déplore de ne pas pouvoir justement coder en PHP... et j&#039;en passe et des meilleurs. PHP est assez simple pour entrer dans un template, suffit de ne pas coder du fonctionnel dans le template et ça reste très très clair.&lt;/p&gt;
&lt;p&gt;Tercio, on tombe très souvent sur des cas compliqué avec des langages de templates... le code devient justement vite illisible à cause de ça.&lt;/p&gt;
&lt;p&gt;Et enfin, en ce qui concerne le cache, un bon framework doit permettre le paramétrage, utiliser APC (et pas seulement l&#039;activer... non non, mais utiliser l&#039;API cf. http://www.copix.org qui l&#039;utilise parfaitement bien)&lt;/p&gt;
&lt;p&gt;Oui, copix permet d&#039;utiliser Smarty... mais je vois de plus en plus de dev arrêter d&#039;utiliser ce truc pour revenir à du template PHP bien fait.&lt;/p&gt;
&lt;p&gt;Bref, question de gout, question de logique... chacun son choix: le mien est fait ! ;)&lt;/p&gt;</description> <content:encoded><![CDATA[<p>Tiens, un vieux sujet que j&#8217;ai zappé :)</p><p>Je ne suis pas trop fan des moteurs de template pour ma part&#8230; sachant que PHP est déjà un langage de template (oui je sais, je sors l&#8217;argument des anti smarty mais bon, je suis d&#8217;accord avec eux).</p><p>Secondo, quand je vois sur ezPublish la complexité du langage de template, je déplore de ne pas pouvoir justement coder en PHP&#8230; et j&#8217;en passe et des meilleurs. PHP est assez simple pour entrer dans un template, suffit de ne pas coder du fonctionnel dans le template et ça reste très très clair.</p><p>Tercio, on tombe très souvent sur des cas compliqué avec des langages de templates&#8230; le code devient justement vite illisible à cause de ça.</p><p>Et enfin, en ce qui concerne le cache, un bon framework doit permettre le paramétrage, utiliser APC (et pas seulement l&#8217;activer&#8230; non non, mais utiliser l&#8217;API cf. <a
href="http://www.copix.org">http://www.copix.org</a> qui l&#8217;utilise parfaitement bien)</p><p>Oui, copix permet d&#8217;utiliser Smarty&#8230; mais je vois de plus en plus de dev arrêter d&#8217;utiliser ce truc pour revenir à du template PHP bien fait.</p><p>Bref, question de gout, question de logique&#8230; chacun son choix: le mien est fait ! ;)</p> ]]></content:encoded> </item> <item><title>Par : Rock</title><link>http://truffo.fr/2009/06/utilite-des-langages-de-templates-en-php/#comment-34</link> <dc:creator>Rock</dc:creator> <pubDate>Thu, 16 Jul 2009 14:12:57 +0000</pubDate> <guid
isPermaLink="false">http://truffo.fr/?p=235#comment-34</guid> <description>&lt;p&gt;Comme cela a déja été dit précédemment, il est coutume de séparer le traitement de la présentation. Aussi le rôle des templates est tout simplement d&#039;afficher des variables qui lui sont passées en paramètres. Ceci revient a faire un simple  en php.
De ce fait, il est légitime de douter de l&#039;utilité d&#039;un langage de template complet et/ou complexe, qui comme l&#039;a très bien dit Truffo peut réduire la vélocité de notre application, alourdir notre code et être source de bugs.&lt;/p&gt;</description> <content:encoded><![CDATA[<p>Comme cela a déja été dit précédemment, il est coutume de séparer le traitement de la présentation. Aussi le rôle des templates est tout simplement d&#8217;afficher des variables qui lui sont passées en paramètres. Ceci revient a faire un simple  en php.<br
/> De ce fait, il est légitime de douter de l&#8217;utilité d&#8217;un langage de template complet et/ou complexe, qui comme l&#8217;a très bien dit Truffo peut réduire la vélocité de notre application, alourdir notre code et être source de bugs.</p> ]]></content:encoded> </item> <item><title>Par : Benjamin Franklin</title><link>http://truffo.fr/2009/06/utilite-des-langages-de-templates-en-php/#comment-33</link> <dc:creator>Benjamin Franklin</dc:creator> <pubDate>Thu, 02 Jul 2009 21:31:55 +0000</pubDate> <guid
isPermaLink="false">http://truffo.fr/?p=235#comment-33</guid> <description>&lt;blockquote&gt;Celui qui est prêt à sacrifier un peu de sa liberté pour plus de sécurité ne mérite ni l’une ni l’autre, et finit par perdre les deux. &lt;/blockquote&gt;
&lt;p&gt;Cette citation de Benjamin Franklin résume bien la problématique des langages de templates en PHP.&lt;/p&gt;</description> <content:encoded><![CDATA[<blockquote><p>Celui qui est prêt à sacrifier un peu de sa liberté pour plus de sécurité ne mérite ni l’une ni l’autre, et finit par perdre les deux.</p></blockquote><p>Cette citation de Benjamin Franklin résume bien la problématique des langages de templates en PHP.</p> ]]></content:encoded> </item> <item><title>Par : Gandbox</title><link>http://truffo.fr/2009/06/utilite-des-langages-de-templates-en-php/#comment-32</link> <dc:creator>Gandbox</dc:creator> <pubDate>Sat, 13 Jun 2009 21:37:40 +0000</pubDate> <guid
isPermaLink="false">http://truffo.fr/?p=235#comment-32</guid> <description>&lt;p&gt;@Damien : Sylvain n&#039;a pas encore fait le deuil d&#039;un certain nombre de chose à propos de l&#039;informatique professionnelle. Ne lui en dis pas trop, ca pourrait le briser :) Je m&#039;en occupe !&lt;/p&gt;
&lt;p&gt;Par ailleurs, l&#039;effet pervers du langage de templating, c&#039;est qu&#039;il diminue potentiellement le niveau du fameux &quot;développeur moyen&quot;, ce qui au final, peut parfois générer un &quot;carnage&quot; tout aussi dévastateur en temps de travail et en performance... Cependant le carnage reste effectivement confiné (sécurité), c&#039;est déjà ca de gagné.&lt;/p&gt;</description> <content:encoded><![CDATA[<p>@Damien : Sylvain n&#8217;a pas encore fait le deuil d&#8217;un certain nombre de chose à propos de l&#8217;informatique professionnelle. Ne lui en dis pas trop, ca pourrait le briser :) Je m&#8217;en occupe !</p><p>Par ailleurs, l&#8217;effet pervers du langage de templating, c&#8217;est qu&#8217;il diminue potentiellement le niveau du fameux &laquo;&nbsp;développeur moyen&nbsp;&raquo;, ce qui au final, peut parfois générer un &laquo;&nbsp;carnage&nbsp;&raquo; tout aussi dévastateur en temps de travail et en performance&#8230; Cependant le carnage reste effectivement confiné (sécurité), c&#8217;est déjà ca de gagné.</p> ]]></content:encoded> </item> <item><title>Par : Damien</title><link>http://truffo.fr/2009/06/utilite-des-langages-de-templates-en-php/#comment-31</link> <dc:creator>Damien</dc:creator> <pubDate>Thu, 11 Jun 2009 12:38:34 +0000</pubDate> <guid
isPermaLink="false">http://truffo.fr/?p=235#comment-31</guid> <description>&lt;p&gt;&quot;J’ai peut être oublier de préciser que je me plaçais dans un contexte professionnel, donc avec un modèle MVC cohérent, et par conséquent un composant de Vue dédié aux templating.&quot;&lt;/p&gt;
&lt;p&gt;c&#039;est marrant, il y a encore quelques années j&#039;aurais dit comme toi mais je me rend compte que même en environnement pro SSII, le &quot;donc&quot; de ta phrase est très optimiste voire utopiste crois moi :-)
et même avec une couche template avec un langage très restrictif, le développeur moyen arrive toujours à faire n&#039;importe quoi, je te laisse imaginer le carnage sans langage de template...&lt;/p&gt;</description> <content:encoded><![CDATA[<p>&laquo;&nbsp;J’ai peut être oublier de préciser que je me plaçais dans un contexte professionnel, donc avec un modèle MVC cohérent, et par conséquent un composant de Vue dédié aux templating.&nbsp;&raquo;</p><p>c&#8217;est marrant, il y a encore quelques années j&#8217;aurais dit comme toi mais je me rend compte que même en environnement pro SSII, le &laquo;&nbsp;donc&nbsp;&raquo; de ta phrase est très optimiste voire utopiste crois moi :-)<br
/> et même avec une couche template avec un langage très restrictif, le développeur moyen arrive toujours à faire n&#8217;importe quoi, je te laisse imaginer le carnage sans langage de template&#8230;</p> ]]></content:encoded> </item> <item><title>Par : Sylvain FIX</title><link>http://truffo.fr/2009/06/utilite-des-langages-de-templates-en-php/#comment-30</link> <dc:creator>Sylvain FIX</dc:creator> <pubDate>Thu, 11 Jun 2009 10:57:45 +0000</pubDate> <guid
isPermaLink="false">http://truffo.fr/?p=235#comment-30</guid> <description>&lt;p&gt;J&#039;ai peut être oublier de préciser que je me plaçais dans un contexte professionnel, donc avec un modèle MVC cohérent, et par conséquent un composant de Vue dédié aux templating.
Donc, on retrouve la notion de sandbox que tu évoque, et le filtrage automatique (ou non) des données.&lt;/p&gt;
&lt;p&gt;Je remet pas en cause l&#039;avantage d&#039;avoir une couche dédié au templating, elle est certaine (séparation intégrateur / développeur, sécurité, ... ).&lt;/p&gt;
&lt;p&gt;Ce qui m&#039;insupporte dans Smarty, eZPublish, eZComponents ... pour ne pas les nommer, c&#039;est la syntaxe, la notion de &quot;compilation&quot;, l&#039;absence d&#039;outils, ... .&lt;/p&gt;</description> <content:encoded><![CDATA[<p>J&#8217;ai peut être oublier de préciser que je me plaçais dans un contexte professionnel, donc avec un modèle MVC cohérent, et par conséquent un composant de Vue dédié aux templating.<br
/> Donc, on retrouve la notion de sandbox que tu évoque, et le filtrage automatique (ou non) des données.</p><p>Je remet pas en cause l&#8217;avantage d&#8217;avoir une couche dédié au templating, elle est certaine (séparation intégrateur / développeur, sécurité, &#8230; ).</p><p>Ce qui m&#8217;insupporte dans Smarty, eZPublish, eZComponents &#8230; pour ne pas les nommer, c&#8217;est la syntaxe, la notion de &laquo;&nbsp;compilation&nbsp;&raquo;, l&#8217;absence d&#8217;outils, &#8230; .</p> ]]></content:encoded> </item> <item><title>Par : Damien</title><link>http://truffo.fr/2009/06/utilite-des-langages-de-templates-en-php/#comment-29</link> <dc:creator>Damien</dc:creator> <pubDate>Thu, 11 Jun 2009 08:24:28 +0000</pubDate> <guid
isPermaLink="false">http://truffo.fr/?p=235#comment-29</guid> <description>&lt;p&gt;je rajouterais que certains langages de template permettent aussi d&#039;améliorer un peu la sécurité pour 2 raisons :
1. les templates &quot;s&#039;éxécutent&quot; dans une espèce cage où toutes les données ne sont pas accessible facilement, ça complexifie un peu les possibilité d&#039;injection
2. certains moteurs de template échappent systématiquement (sauf demande contraire du développeur) les données provenant de variables évitant ainsi une bonne partie des failles XSS. Je pense en particulier au système de context [1] du composant Template des eZ Components&lt;/p&gt;
&lt;p&gt;[1] http://ezcomponents.org/docs/tutorials/Template#contexts&lt;/p&gt;</description> <content:encoded><![CDATA[<p>je rajouterais que certains langages de template permettent aussi d&#8217;améliorer un peu la sécurité pour 2 raisons :<br
/> 1. les templates &laquo;&nbsp;s&#8217;éxécutent&nbsp;&raquo; dans une espèce cage où toutes les données ne sont pas accessible facilement, ça complexifie un peu les possibilité d&#8217;injection<br
/> 2. certains moteurs de template échappent systématiquement (sauf demande contraire du développeur) les données provenant de variables évitant ainsi une bonne partie des failles XSS. Je pense en particulier au système de context [1] du composant Template des eZ Components</p><p>[1] <a
href="http://ezcomponents.org/docs/tutorials/Template#contexts">http://ezcomponents.org/docs/tutorials/Template#contexts</a></p> ]]></content:encoded> </item> <item><title>Par : Gandbox</title><link>http://truffo.fr/2009/06/utilite-des-langages-de-templates-en-php/#comment-28</link> <dc:creator>Gandbox</dc:creator> <pubDate>Wed, 10 Jun 2009 22:24:22 +0000</pubDate> <guid
isPermaLink="false">http://truffo.fr/?p=235#comment-28</guid> <description>&lt;p&gt;Damned, c presque un chat ! 15 min pour réagir !&lt;/p&gt;
&lt;p&gt;Pour la gestion du cache, ce n&#039;est pas un avantage, mais pas un inconvénient non plus (sauf si le code généré est mal optimisé). Je précisais juste que comme le cache devient nécessaire tot ou tard, ce n&#039;est pas le templating qui motive le besoin en cache, mais la nature des projets à forte audience.&lt;/p&gt;</description> <content:encoded><![CDATA[<p>Damned, c presque un chat ! 15 min pour réagir !</p><p>Pour la gestion du cache, ce n&#8217;est pas un avantage, mais pas un inconvénient non plus (sauf si le code généré est mal optimisé). Je précisais juste que comme le cache devient nécessaire tot ou tard, ce n&#8217;est pas le templating qui motive le besoin en cache, mais la nature des projets à forte audience.</p> ]]></content:encoded> </item> <item><title>Par : Sylvain FIX</title><link>http://truffo.fr/2009/06/utilite-des-langages-de-templates-en-php/#comment-27</link> <dc:creator>Sylvain FIX</dc:creator> <pubDate>Wed, 10 Jun 2009 20:57:12 +0000</pubDate> <guid
isPermaLink="false">http://truffo.fr/?p=235#comment-27</guid> <description>&lt;p&gt;Je savais que tu réagirais en moins de 2 minutes.&lt;/p&gt;
&lt;p&gt;La dépendance vis à vis des monté de version je suis plutôt d&#039;accord, mais quelque soit le moteur de template (PHP directement, ou ceux écrit en PHP).&lt;/p&gt;
&lt;p&gt;Par contre pour la gestion de cache, je ne comprend pas l&#039;avantage. Les langages de templates ne fournissent que du code PHP. On décale juste le problème.
Après les solutions pour mettre en cache du op-code PHP, des résultats sérialisés, des fichiers textes sont multiples (Memcache, APC, XCache, Zend_Platform, ... ), et sont relativement simple à mettre en place.&lt;/p&gt;</description> <content:encoded><![CDATA[<p>Je savais que tu réagirais en moins de 2 minutes.</p><p>La dépendance vis à vis des monté de version je suis plutôt d&#8217;accord, mais quelque soit le moteur de template (PHP directement, ou ceux écrit en PHP).</p><p>Par contre pour la gestion de cache, je ne comprend pas l&#8217;avantage. Les langages de templates ne fournissent que du code PHP. On décale juste le problème.<br
/> Après les solutions pour mettre en cache du op-code PHP, des résultats sérialisés, des fichiers textes sont multiples (Memcache, APC, XCache, Zend_Platform, &#8230; ), et sont relativement simple à mettre en place.</p> ]]></content:encoded> </item> </channel> </rss>
