Pourquoi utiliser un template au format tpl et non pas du php ?

Vous devez être connecté pour utiliser le forum. Vous pouvez le faire ici.

Auteur Message

Henri Martin

Jeudi 24 Avril 2008 6:21:30 pm

Pourquoi utiliser un template au format tpl et non pas du php ?

La question est dans le titre :
"Pourquoi utiliser un template au format tpl et non pas du php ?"

En effet, je ne comprend pas le choix des concepteurs d'EZ pour plusieurs raisons :
- Cela crée un nouveau langage : "le langage des templates EZ" ... pas Top aux niveaux apprentissages, portablité...
- Impossible de faire un traitement php dans un template spécifique.
- Impossible de récupérer dans les templates des variables serveurs


Bertrand Dunogier

Vendredi 25 Avril 2008 12:06:46 pm

Re: Pourquoi utiliser un template au format tpl et non pas du php ?

Bonjour !

Une éternelle question que celle-ci... je crois que ça fait 10 ans que je l'entends posée à propos de tous les langages de templates

Effectivement, PHP aurait permis les mêmes traitements, il n'y a rien à redire à ça.

Selon moi, plusieurs raisons viennent étayer ce choix:

* La lisibilité !
Tout le monde ne sera pas d'accord, mais personnellement, formater une condition en PHP intégré au HTML comme ceci:
<?php if ( $condition ) : ?>
<blablabla>
</blablabla>
<?php endif; ?> n'est pas réellement lisible... les balises d'ouverture PHP sont trop "volumineuses" pour un fichier qui devait être à 90% du HTML.
Admettons quand meme que
{if $condition}
<blablable>
{/if}
est plus lisible !

* La sécurité
Si l'on donne aux personnes développant les templates un accès complet au langage, c'est la porte ouverte au grand n'importe quoi: ouverture d'URLs distantes, requetes SQL en dur, etc etc. Avec un langage diminuant les possibilités dès le départ, l'inclusion de code PHP demandera explicitement le développement d'une extension, ce qui force à organiser son application, et ce n'est jamais une mauvaise chose.

Personnellement, quand je commence un projet hors eZ publish, je démarre sur du PHP pur, comprenant du HTML. Même simplifié au maximum, je n'arrive pas à poursuivre dans cette voie dès que le tout devient trop complexe: peu de lisibilité, code imbuvable... et ça doit faire 6 ans que ça dure.

Pour ce qui est des variables serveurs, un simple opérateur suffit à les rendre disponible. Peut être pourrait il etre disponible par défaut, mais honnetement je n'en ai pas eu besoin jusqu'à maintenant.

Henri Martin

Vendredi 25 Avril 2008 3:14:52 pm

Re: Pourquoi utiliser un template au format tpl et non pas du php ?

Merci de votre réponse ! Qui même si elle ne va pas dans mon sens, me permet de mieux comprendre les raisons de ce choix.

Pascal BOYER

Vendredi 25 Avril 2008 4:56:42 pm

Re: Pourquoi utiliser un template au format tpl et non pas du php ?

Bonjour Henri,

Je rejoins Bertrand dans les raisons qu'il invoque:

Le langage des templates remplace PHP ET SQL: l'apprentissage d'un seul langage permet dons d'en remplacer 2

La plupart du temps, une syntaxe "code template" simple fait appel à un code PHP complexe syntaxiquement et sécuritairement parlant. Ceci permet donc à des personnes n'ayant aucune connaissance et du langage PHP et des problèmes de sécurité qu'il faut résoudre, d'accéder à des fonctions complexes.
Il en va strictement de même pour le langage de requêtes SQL. Le langage de template est beaucoup plus simple et rapide à utiliser que le langage SQL.

Ensuite, l'existence d'un langage de template permet l'indépendance vis à vis de la base de données utilisée. En tant que webmaster, je veux développer un site: je suis donc content de savoir que sans rien faire de plus, mon travail, c'est à dire mes templates, servent tout aussi bien à attaquer une base de données MySQL ou PostGRE ou Oracle. Il y a donc portabilité de mon site. Et un seul langage à la place de trois.

Enfin, le langage des templates est ce par quoi l'évolution de ton CMS devient possible. S'il n'y avait pas ce langage, tu ne pourrais pas passer de ez publish 3 (qui nécessite php 4) à ez publish 4 (qui nécessite php 5) sans devoir réécrire entièrement tes templates et surout, sans devoir réécrire entièrement ton CMS !
C'est d'ailleurs la situation dans laquelle se trouve aujourd'hui la communauté des utilisateurs de eZ Publish: tous les sites ont été réalisés avec une version ez publish imposant l'emploi de php 4. Quand l'équipe de ez systems aura fini de réécrire (presque) complètement ez publish pour qu'il soit compatible php 5 (même si une première version existe, c'est la version 4.0.0, elle n'est pas recommandée pour un site en exploitation) alors en trois coups de cuillère à scripts PHP des milliers de webmaster pourront s'ils le souhaitent faire évoluer leurs sites.

Le langage propre à chaque CMS rend chaque CMS spécifique et ne permet effectivement pas de porter facilement un site vers un autre CMS. Mais en même temps, si ces langages n'existaient pas, seuls les développeurs de haut niveau seraient en mesure de créer des site web dynamiques ET sécurisés.

Cordialement

Pascal

Henri Martin

Samedi 26 Avril 2008 3:15:38 pm

Re: Pourquoi utiliser un template au format tpl et non pas du php ?

Merci encore de vos réponses. J'ai bien compris l'intérêt des templates.

eZ publish™ copyright © 1999-2008 eZ systems as