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
Laurent Seguin
Le Sat, 12 Nov 2005 17:58:47 +0000, 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 [...] fait parfaitement l'affaire.


Oui c'est possible, mais tu avouera que c'est tout sauf pratique pour ceux
qui devront créer leur 'template'.

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.


J'aime bien Smarty-Light qui, pour ce qu'on a à lui demander, me semble
pas trop mal foutu.



Avatar
Reno
Oui c'est possible, mais tu avouera que c'est tout sauf pratique pour ceux
qui devront créer leur 'template'.


Ce n'est pas mon avis. La syntaxe de smarty est au moins aussi complexe
que celle de php! Un désigneur a plus intéret, il me semble, à
connaitre les rudiments de php plutot que ceux de smarty. Maintenant
pour ce qui est du moteur de templates, il n'est pas franchement
compliqué de le réaliser avec de simples include et autres objets
globaux (y compris avec un système de cache).

Avatar
Laurent Seguin
Le Sun, 13 Nov 2005 21:59:35 +0000, Reno :

Oui c'est possible, mais tu avouera que c'est tout sauf pratique pour ceux
qui devront créer leur 'template'.


Ce n'est pas mon avis. La syntaxe de smarty est au moins aussi complexe
que celle de php!


Ça se discute mais la ça serait sans fin :-)

Un désigneur a plus intéret, il me semble, à
connaitre les rudiments de php plutot que ceux de smarty.


AMHA, un web-designer n'a pas à apprendre le moindre langage de
programmation ; xHTML et CSS sont amplement suffisant (et suffisamment
compliqué).


Avatar
Patrick Mevzek

Oui c'est possible, mais tu avouera que c'est tout sauf pratique pour ceux
qui devront créer leur 'template'.


Ce n'est pas mon avis. La syntaxe de smarty est au moins aussi complexe
que celle de php! Un désigneur a plus intéret, il me semble, à
connaitre les rudiments de php plutot que ceux de smarty.


Sauf que si le moteur de template est bien fait, une erreur dans l'usage
de sa syntaxe ne plantera pas tout le programme. Si le désigneur peut
mettre du PHP directement et s'il se trompe... ca va tout faire planter.
Comme séparation étanche des tâches, c'est raté.

pour ce qui est du moteur de templates, il n'est pas franchement
compliqué de le réaliser avec de simples include et autres objets


C'est une légende persistante : un *bon* mécanisme de template ne se
résume *pas* à des includes, car il va au-delà devant gérer tout ce
qui a trait à l'apparence.

--
Patrick Mevzek . . . . . . Dot and Co (Paris, France)
<http://www.dotandco.net/> <http://www.dotandco.com/>
Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>


Avatar
Patrick Mevzek
Un désigneur a plus intéret, il me semble, à
connaitre les rudiments de php plutot que ceux de smarty.


AMHA, un web-designer n'a pas à apprendre le moindre langage de
programmation ; xHTML et CSS sont amplement suffisant (et suffisamment
compliqué).


Bah non, justement, comme ce ne sont pas de langages de programmation, il
n'y a pas de boucles par exemple.

Mettons qu'on doive afficher des résultats sous forme d'un tableau.
Le développeur créé une variable contenant l'intégralité des
résultats, et ce n'est pas à lui de s'occuper de la présentation des
résultats.
Cette variable arrive à l'étape présentation, typiquement gérée par
un mécanisme de template, où l'on pourra là exprimer une boucle sur le
contenu de la variable (qui sera typiquement un tableau donc), et ca sera
bien le web-designer qui devra l'écrire cette boucle, ou la mettre à
jour après que le développeur ait mis un truc de base histoire de ne
pas partir de zéro.

--
Patrick Mevzek . . . . . . Dot and Co (Paris, France)
<http://www.dotandco.net/> <http://www.dotandco.com/>
Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>


Avatar
Laurent Seguin
Le Mon, 14 Nov 2005 08:38:21 +0000, Patrick Mevzek :

Un désigneur a plus intéret, il me semble, à
connaitre les rudiments de php plutot que ceux de smarty.


AMHA, un web-designer n'a pas à apprendre le moindre langage de
programmation ; xHTML et CSS sont amplement suffisant (et suffisamment
compliqué).


Bah non, justement, comme ce ne sont pas de langages de programmation, il
n'y a pas de boucles par exemple.


C'est pas ce que je dis dans "pas à apprendre le moindre langage de
programmation" ?

Mettons qu'on doive afficher des résultats sous forme d'un tableau. Le
développeur créé une variable contenant l'intégralité des
résultats, et ce n'est pas à lui de s'occuper de la présentation des
résultats.


Non c'est à lui (le développeur) d'en gérer la structure (donc le xHTML).

Cette variable arrive à l'étape présentation,


Si c'est une variable tu en est encore au tripatouillage de données, donc
bien loin de l'étape de présentation. Avant ça il y la structure des
données (job du dev).

typiquement gérée par
un mécanisme de template, où l'on pourra là exprimer une boucle sur
le contenu de la variable (qui sera typiquement un tableau donc), et ca
sera bien le web-designer qui devra l'écrire cette boucle


Nop ! AMHA ce n'est pas le job du designer ça, ça reste dans celui du
développeur.

Le web-designer n'a juste qu'à ajouter du coloriage à ce qui est envoyé
au navigateur (donc du xHTML) ; C'est à dire les quelques feuilles de
style QVB contenant tout ce qui sert à habiller la page (couleurs, typos,
images à but décoratif, etc.). C'est un boulot super difficile (à mes
yeux) et très pointu (c'est pour ça que les vrais bon web-designer sont
rares) et il n'est pas nécessaire d'aller l'embrouiller avec quoique ce
soit dans le traitement des données (même si c'est pour faire une boucle
ALC). A la rigueur il peu demander au dev un attribut "id" ou "class" par
ci par la ou suggérer une structure (xHTML) différente si pas vraiment
cohérente au type de donnée (cas ou le dev se manque, ce qui
malheureusement n'est pas rare). Aucun web-designer ne touchera à la
structure des données (xHTML) que j'aurais définie (parfois même
conjointement avec le client) na ! :-)

Petit aparté :
Idéalement et ce que j'applique dans mes dev, dans une conception de
site (ou d'application web) le graphisme n'est abordé qu'une fois les
fonctionnalités et la structure des données a été validé par le client.

++



Avatar
Patrick Mevzek
Mettons qu'on doive afficher des résultats sous forme d'un tableau. Le
développeur créé une variable contenant l'intégralité des
résultats, et ce n'est pas à lui de s'occuper de la présentation des
résultats.


Non c'est à lui (le développeur) d'en gérer la structure (donc le xHTML).


Donc aucune séparation entre business et présentation. Bref du PHP de
base où tout est mélangé.

typiquement gérée par
un mécanisme de template, où l'on pourra là exprimer une boucle sur
le contenu de la variable (qui sera typiquement un tableau donc), et ca
sera bien le web-designer qui devra l'écrire cette boucle


Nop ! AMHA ce n'est pas le job du designer ça, ça reste dans celui du
développeur.


Idem.

--
Patrick Mevzek . . . . . . Dot and Co (Paris, France)
<http://www.dotandco.net/> <http://www.dotandco.com/>
Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>


Avatar
Laurent Seguin
Le Tue, 15 Nov 2005 06:27:45 +0000, Patrick Mevzek :

Mettons qu'on doive afficher des résultats sous forme d'un tableau. Le
développeur créé une variable contenant l'intégralité des
résultats, et ce n'est pas à lui de s'occuper de la présentation des
résultats.


Non c'est à lui (le développeur) d'en gérer la structure (donc le xHTML).


Donc aucune séparation entre business et présentation. Bref du PHP de
base où tout est mélangé.


Non ce que tu appelles de la présentation n'est que de la structure de
données. Remplace xHTML par XML si tu veux et que ça t'aide à comprendre
ce point de vue sur ce qu'est la structure de donnée :-)

Pour le "tout mélangé" tu peux très bien définir une classe ou des
fonctions dites "layout" ; Donc tu gardes la séparation entre traitement
et la structure. Reste plus qu'à habiller ensuite.



Avatar
Ortolo Jean Francois
Les templates c'est bien
Les templates c'est bien
etc...

Sauf que

Si tu as des algorithmes très pointus à programmer du côté PHP, cela
devrait poser des problèmes, si le code du template est déjà
suffisamment templi.

Savoir, des problèmes de ralentissement ( léger ) du code exécuté, si
le nombre des instructions s'envole.

Je pense en particulier à la programmation objet, où c'est bien
connu, tout accès à une fonctionnalité se fait par son objat ( sa
classe, ou se classes ).

Ceci sans compter les problèmes de nécessité ( parfois ) de
persistence de données d'objets entre scripts, sans pouvoir supporter
les ralentissements venant de la BDD, ou de la mise en fichiers temporaires,

En gros, je crois que j'ai plutôt un préjugé à l'égard de la
programmation objet en PHP, compte tenu des problèmes spécifiques de
transmission des variables entre scripts. ( Les durées d'exécution des
scripts sont nécéssairement limitées. )

Sinon, j'aime bien ce que je sais de la programmation objet, celà
paraît rassurant pour l'esprit, de pouvoir bien identifier les
fonctionnalités à partir des objets, et de faire de la séparation entre
interface et fonctionnement technique ( la "boîte noire" ).

Bien à vous.

Jean-François Ortolo

--
Visitez mon site gratuit donnant des Statistiques
et des Historiques Graphiques sur les Courses de Chevaux:
http://www.ortolojf-courses.com
Avatar
Patrick Mevzek
Pour le "tout mélangé" tu peux très bien définir une classe ou des
fonctions dites "layout" ; Donc tu gardes la séparation entre traitement
et la structure. Reste plus qu'à habiller ensuite.


Mais seul le développeur peut agir dessus donc, pas une autre personne.
Donc, aucune séparation.

--
Patrick Mevzek . . . . . . Dot and Co (Paris, France)
<http://www.dotandco.net/> <http://www.dotandco.com/>
Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>

1 2 3