OVH Cloud OVH Cloud

les templates, ca sert a quoi

22 réponses
Avatar
J-F Portala
Bonjour,

ma question est simple (peut-être bête pour certains), mais je n'arrive pa à
comprendre
l'intéret de ces trucs là.

J'ai vu qu'il y a vait des systèmes de templates tout fait (smarty -
savant), mais je n'arrive pas à trouver un exemple
simple qui me permettrait de comprendre.(surtout en français)
Est ce pour reduire le code en utilisant une autre syntaxe?
Quelle est la simplification obtenue?

quelqu'un pourrait il m'éclairer à ce sujet.
Merci
Jeff

10 réponses

1 2 3
Avatar
Vince
J-F Portala wrote:
Bonjour,

ma question est simple (peut-être bête pour certains), mais je n'arrive pa à
comprendre
l'intéret de ces trucs là.


L'intérêt c'est de séparer l'interface graphique du moteur PHP (moteur
de calcul, de recherche, d'accès au base de données...).


J'ai vu qu'il y a vait des systèmes de templates tout fait (smarty -
savant), mais je n'arrive pas à trouver un exemple
simple qui me permettrait de comprendre.(surtout en français)


http://smarty.php.net/manuel/fr/ (manuel de Smarty en français).

Est ce pour reduire le code en utilisant une autre syntaxe?


Non en aucun cas, je pense que ça rallonge le code mais c'est pratique.

Vous allez sans doute modifier l'interface de votre site, les couleurs,
les formes etc et ce après plusieurs mois (voir années). Après tout ce
temps, il sera beaucoup plus facile de modifier le template que le PHP,
surtout que le changement de template ne risque pas de corrompre les
données dans les bases de données ou même les formules complexes que
vous aurez élaborées...

Vincent

Avatar
domxml
J-F Portala wrote:
Bonjour,

ma question est simple (peut-être bête pour certains), mais je n'arrive pa à
comprendre
l'intéret de ces trucs là.

J'ai vu qu'il y a vait des systèmes de templates tout fait (smarty -
savant), mais je n'arrive pas à trouver un exemple
simple qui me permettrait de comprendre.(surtout en français)
Est ce pour reduire le code en utilisant une autre syntaxe?
Quelle est la simplification obtenue?

quelqu'un pourrait il m'éclairer à ce sujet.
Merci
Jeff


Cela sert à séparer la présentation de la logique. La logique est
implémentée en php et la présentation en html (par exemple). Comme
les deux sont forcément reliés d'une manière ou d'une autre, un
système de template comme smarty peut s'avérer utile: le designeur ne
touche pas au code php et le programmeur ne touche pas au html. Les
tâches sont séparées, moins de possibilité de briser un code etc.

Néanmoins, php est déjà par nature déjà un langage de template. Il
suffit d'insérer des balises <?php .. ?> dans du html (ou
équivalent). De même, on peut insérer du html avec include(), echo()
etc. C'est pourquoi certains considèrent les systèmes comme smarty
complètement obsolètes: moins fiables, moins performants que php lui
même.

Avatar
John GALLET
Bonjour,

ma question est simple (peut-être bête pour certains), mais je n'arrive pa à
comprendre l'intéret de ces trucs là.


Pas grand chose, parce que PHP sait déjà faire tout seul. La séparation
logique/présentation est très utile, mais on n'a pas besoni de "moteurs"
autres que PHP pour le faire.

mais je n'arrive pas à trouver un exemple
simple qui me permettrait de comprendre.(surtout en français)


Jette un oeil à l'étude, un peu ancienne en termes de versions mais très
bien faite, de Globalis, disponible sur www.phpindex.com (au milieu de
l'écran).

Quelle est la simplification obtenue?
D'échange de fichiers fût un temps (quand les @#*! d'éditeurs

pourrissaient tout le code PHP), de modifications de présentation pour
une même page.

a++;
JG

Avatar
J-F Portala
Merci à tous de vos reponses et aussi de vos opinions sur leur utilité.

Jeff
Avatar
bruno at modulix
wrote:
J-F Portala wrote:

(snip)

J'ai vu qu'il y a vait des systèmes de templates tout fait (smarty -
savant), mais je n'arrive pas à trouver un exemple
simple qui me permettrait de comprendre.(surtout en français)
Est ce pour reduire le code en utilisant une autre syntaxe?
Quelle est la simplification obtenue?

quelqu'un pourrait il m'éclairer à ce sujet.


Cela sert à séparer la présentation de la logique.


Cela est supposé servir à séparer la logique de présentation de la
logique métier.

(snip)

Néanmoins, php est déjà par nature déjà un langage de template.


+1

Essentiellement, l'intérêt d'un système de template est de permettre à
des non-programmeurs de travailler sur les templates (les laisser
utiliser directement PHP peut être un pb de sécurité).


--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in ''.split('@')])"


Avatar
Thibaut Allender
Néanmoins, php est déjà par nature déjà un langage de template. Il
suffit d'insérer des balises <?php .. ?> dans du html (ou
équivalent). De même, on peut insérer du html avec include(), echo()
etc. C'est pourquoi certains considèrent les systèmes comme smarty
complètement obsolètes: moins fiables, moins performants que php lui
même.


Et c'est encore plus vrai depuis qu'on met en forme en CSS

--
thibaut allender | http://capsule.org | http://photo.capsule.org

Avatar
Laurent Seguin
Le Tue, 08 Nov 2005 08:13:42 +0000, Thibaut Allender :

Néanmoins, php est déjà par nature déjà un langage de template. Il
suffit d'insérer des balises <?php .. ?> dans du html (ou
équivalent). De même, on peut insérer du html avec include(), echo()
etc. C'est pourquoi certains considèrent les systèmes comme smarty
complètement obsolètes: moins fiables, moins performants que php lui
même.


Et c'est encore plus vrai depuis qu'on met en forme en CSS


Je confirme !
Cependant il est à voir une utilisation qui n'a pas été citée : Le
développement d'une *application type* qui est destinée à être déclinée
en ou sur plusieurs type de sites (CMS, Outil de Blog, moteur de recherche
générique, Galerie photo, etc. par exemple)
Dans ce cas (et je ne vois franchement que ce cas la), l'utilisation des
templates est carrément utile car permet à chaque "site" de se fabriquer
sa propre structure de données à renvoyer au client à partir de la
même appli.


Avatar
Reno
Dans ce cas (et je ne vois franchement que ce cas la), l'utilisation des
templates est carrément utile car permet à chaque "site" de se fabriquer
sa propre structure de données à renvoyer au client à partir de la
même appli.


Même dans ce cas là, php seul fait parfaitement l'affaire. Mais ça
ne veut pas dire qu'il faut proscrire l'utilisation de templates,
simplement que celles-ci peuvent être implémentées sans avoir
recours à une technologie tierce. Et dans le cas où on ne veut
vraiment pas de php, il est probablement plus judicieux de s'appuyer
sur une technologie standard telle que XSL plutôt quel les smarty and
co dont on ne sait pas s'ils seront encore développés et maintenus
demain.

Avatar
Laurent Seguin
Le Wed, 09 Nov 2005 23:26:40 +0000, Reno :

Dans ce cas (et je ne vois franchement que ce cas la), l'utilisation des
templates est carrément utile car permet à chaque "site" de se fabriquer
sa propre structure de données à renvoyer au client à partir de la
même appli.


Même dans ce cas là, php seul fait parfaitement l'affaire.


Hu ? Sans à avoir à coder un semblant de moteur de template ? La tu
m'intéresses, tu peux développer ?

il est probablement plus judicieux de s'appuyer
sur une technologie standard telle que XSL plutôt quel les smarty and
co dont on ne sait pas s'ils seront encore développés et maintenus
demain.


+1 et je dirais même que la transformation devrait être le taf du
navigateur.


Avatar
Reno
Même dans ce cas là, php seul fait parfaitement l'affaire.


Hu ? Sans à avoir à coder un semblant de moteur de template ? La tu
m'intéresses, tu peux développer ?


Je voulais dire que même dans le cas où on doit utiliser des
templates (au sens général), alors nul besoins de se reposer sur
smarty et les autres systèmes "propriétaires". La syntaxe alternative
de php
http://www.php.net/manual/en/control-structures.alternative-syntax.php
fait parfaitement l'affaire. On peut donc monter un embryon de moteur
de template qui a l'avantage de ne pas faire appel à une syntaxe non
standard coté désigneur et qui ne necessite pas d'interpréteur autre
que celui de php lui même.


1 2 3