|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Membre expérimenté
![]() Inscription : septembre 2006 Messages : 685 ![]() |
Bonjour,
Ma question va vous paraitre sans doute stupide, mais je n'arrive pas à trouver l'utilité des templates. Je fait une citation de cette page Citation:
Pour moi le html d'un site en production reste fixe, je vois pas du tout d'intérêt à changer le html. Peut-être à la limite pour les images, mais ça on pourrait facilement le faire dans un fichier xml, un array des images du site, ou autres. Citation:
2- Quand je créé mes pages php, je mets des classes css sur les attributs html, et donc du design, je ne m'en souci pas pour l'instant puisque une fois le php/html en place et fonctionnel, je m'occupe de la mise en forme via les css. 3- Idem, c'est encore avec les css que je fait ceci, un cookie, ou un champ d'une table pour les designs et c'est bouclé. 4- En quoi un sytème de template facilite la maintenance du code php, si mon code est bien commenté, je n'ai aucun mal à faire une petite modif. 5- Ben là encore je peut gérer facilement ceci avec un fichier xml. Enfin, voilà, je ne comprend pas du tout quel est le réel intérêt d'utiliser des templates, surtout que (avis personnel), ça reste quand même lourd. Est-ce beaucoup utilisé dans le monde professionnel ? Est-ce justement réservé au monde professionnel(plusieurs developpeurs)? Un intérêt dans le cas d'une application personnelle ? Merci d'éclairer mon esprit embrouillé |
||
|
|
00
|
|
|
#2 |
|
Membre chevronné
![]() Inscription : septembre 2005 Messages : 714 ![]() |
Le système de template est très utile dans des contextes où une application web est installée dans une entreprise qui souhaite par exemple avoir un site web qu'il peut facilement modifier et ajouter du contenu sans connaitre comment le code fonctionne par exemple.
De plus, dans certains cas le CSS ne parvient pas à palier à tout ce que l'on désire faire pour le design d'un site. Par exemple, l'on désire faire des sections dans un site et séparer les sections facilement et modifier des styles de sections d'un simple clique plutôt qu'aller jouer dans du code. Par exemple des applications CMS comme Joomla.
__________________
Avant de poster : FAQ, tutos, rechercher, google, ... Après : ![]() Merci |
|
00
|
|
|
#3 | |||
|
Expert Confirmé Sénior
![]() ![]() Inscription : mai 2004 Messages : 4 490 ![]() |
Bonjour,
Citation:
Citation:
Citation:
Fonctionnellement, un moteur ou système de templates n'apporte pas grand chose à une application. Par contre, en terme de génie logiciel, c'est inestimable : la maintenance est facilitée et les évolutions sont possibles avec des délais contrôlés et des risques de régression réduits. La séparation entre code PHP et présentation HTML permet de changer complètement l'ergonomie d'un site, et pas seulement le design, sans toucher à une ligne du code métier. Mais les moteurs de templates, dans un contexte professionnel, ne sont que rarement employés seul ; généralement, on les trouve couplés à un framework MVC, dans lequel ils implémentent la partie Vue.
__________________
FAQ XML ------------ « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser » Giacomo Leopardi |
|||
|
|
00
|
|
|
#4 |
|
Membre expérimenté
![]() Inscription : septembre 2006 Messages : 685 ![]() |
Je ne connais pas du tout les cms, enfin du moins comment est bâti leur code, je vais installer joomla pour voir comment il fonctionne.
Donc, c'est un peu ce que je pensais au départ, il faut quand même un projet d'une certaine envergure pour pouvoir trouver une réelle utilité aux templates. Je vois beaucoup de personnes faisant de "petits sites" qui utilisent un moteur de templates comme smarty, parce que ça fait pro ? c'est dans l'air du temps ? quoiqu'il en soit, je trouve ça complètement inutile. Je ne connais pas non plus les frameworks, je vais regarder ce que c'est. Merci de vos réponses |
|
|
00
|
|
|
#5 | ||||
|
Membre chevronné
![]() Inscription : mai 2005 Messages : 657 ![]() |
Salut,
Comme dit précedement je pense que la séparation entre code métier et HTML est très utile au niveau de la maintenance du code. Cependant pour des tout petit sites il n'est pas forcément nécessaire d'utiliser un système de template comme Smarty, dans le sens où PHP a été conçu à l'origine comme un moteur de template Un exemple rapide : on veut récuperer des données dans une BDD et les afficher dans un tableau Code :
En revanche si on sépare le PHP et le HTML, on pourrait faire : Code :
Le code PHP n'est pas dépendant de l'affichage: si on ne veut plus l'afficher dans un TABLE mais dans des listes avec UL/LI par exemple, on ne touche qu'a la partie HTML. Inversement si on veut lire les données dans un fichier xml au lieu d'une bdd, on n'a pas a toucher au HTML. On peut même mettre tout le html dans un autre fichier et l'appeler via un include(), pour avoir plusieurs templates différents. Evidement sur un exemple aussi simple, le gain n'est pas énorme, en revanche dans un vrai site, on y gagne énormement en lisibilité du fait que la proportion de HTML par rapport au PHP est généralement beaucoup plus importante. La gestion des erreurs est également plus facile : si un test quelconque est négatif n'importe où dans le code métier, on peut sortir faisant un include() d'une page d'erreur tout en étant sur que rien n'a été affiché avant... J'espere avoir été clair La seule chose que je peux te conseiller, c'est d'essayer par toi même de séparer code métier et présentation et de voir par toi même si ça ne t'apporte pas un plus. |
||||
|
|
00
|
|
|
#6 | ||||
|
Membre confirmé
![]() Développeur Web Inscription : septembre 2006 Messages : 215 ![]() |
salut
voui, moi perso je n'utilise pas de template, c'est bien plus lourd que l'utilisation de php seul, regarde un petit exemple tres simple imagine tu as un fichier index.tpl.html de cette forme Code :
bah niveau php Code :
sahid |
||||
|
|
00
|
|
|
#7 | |
|
Membre chevronné
![]() Inscription : septembre 2005 Messages : 714 ![]() |
Citation:
__________________
Avant de poster : FAQ, tutos, rechercher, google, ... Après : ![]() Merci |
|
|
00
|
|
|
#8 | |
|
Expert Confirmé Sénior
![]() ![]() Inscription : mai 2004 Messages : 4 490 ![]() |
Citation:
@Taum : attention, je vois une petite subtilité entre moteur de templates (type Smarty) et système de templates (PHP "pur") : les deux fonctionnent selon le principe de la substitution de variables, mais le moteur apporte des services supplémentaires, tels que la mise en cache, des bibliothèques de fonctions, un macro-langage, des fichiers de configuration, le support de i18n et l10n, etc.
__________________
FAQ XML ------------ « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser » Giacomo Leopardi |
|
|
|
00
|
|
|
#9 |
|
Membre confirmé
![]() Développeur Web Inscription : septembre 2006 Messages : 215 ![]() |
efficks,
je crois que tu ne m'as pas compris, je parle du rendu de la page, en utilisant un systeme de templates, elle sera bien plus longue a etre généré, et le serveur travaillera bien plus, donc un manque d'optimisation, soit un investisement suplémentaire en matériel. GrandFather, Je pense que la gestion de cache, peut tres bien ce faire avec PHP, APC est introduit dans le moteur de php, et il est bien plus performant que tous autre code ecrit en php, ensuite le "macro-langage", est plutot un inconvéniant, surtt si tu prends celui de smarti qui n'a pas trop a voir avec php, pour l'i18n une classe tres simple peut te le gerer facilement. m'enfin je ne vais pas remettre en question l'utilisation de templates, c sur qu'il doit y a avoir un nombre de gain assez important. Seulement pour l'instant l'utilisation de php ma tjrs sufit |
|
|
00
|
|
|
#10 | |
|
Membre chevronné
![]() Inscription : septembre 2005 Messages : 714 ![]() |
Citation:
On est en mode web... pas en temps réel!
__________________
Avant de poster : FAQ, tutos, rechercher, google, ... Après : ![]() Merci |
|
|
00
|
|
|
#11 | |||||
|
Membre expérimenté
![]() Inscription : septembre 2006 Messages : 685 ![]() |
Citation:
Par contre, j'ai pas trop compris l'avantage pour la gestion des erreurs, je n'utilise pas de templates, et je gère ça de cette façon. Citation:
Si je suis ton exemple, des str_replace dans toutes les pages de mon site, c'est quand même lourd comme truc. Citation:
Je pensais justement comme il a été dit que c'était pour faciliter le travail des développeurs et de rendre plus "propre" le code. J'admet, je n'ai jamais été voir en entreprise comment cela se passait Citation:
Il sera quand même assez conséquent, mais bon maintenant c'est trop tard pour m'y mettre, j'ai trop avancé. Peut-être pour la prochaine version. Citation:
Car justement ce qui m'a freiné pour l'instant de m'essayer aux templates, c'est justement les performances, et je ne pense pas que ça prenne quelque millisecondes en plus, enfin, ça doit dépendre de beaucoup d'autres paramètres comme le serveur le nombre de connectés au site, etc... Y'aurait pas des comparatifs qui existeraient pour comparer ? Merci à tous de vos réponses |
|||||
|
|
00
|
|
|
#12 |
|
Membre confirmé
![]() Développeur Web Inscription : septembre 2006 Messages : 215 ![]() |
Salut Xunil,
lol, bon je t'avoue que mon code est bien basique, mais tu crois que le templates que tu va utiliser, ne va pas parser ton fichier tpl ? les templates sont ecrits en php, donc pour créer leurs "macro-code" il se servent de fonctions php ce qui rend l'utilisation de templates bien plus lourde que l'utilisation simple de fonction php natives ecrites en c, meme si smarti peut etre compilé avec php, le gain apporté est minime ( sur un test de 1000 rendus de page, en moyenne avec un smarti compilé et un sans compilation, le gain est de 6 centiemes de seconde ...) bref, si tu veux un gain de performance dans tous les cas il te faudra travailler directement avec des fonction php ecrites en c ... |
|
|
00
|
|
|
#13 | ||||||
|
Expert Confirmé Sénior
![]() Inscription : septembre 2004 Messages : 5 421 ![]() |
Je vous présente le système de template que j'utilise :
Code :
Code HTML :
L'utilisation : Code :
http://www.massassi.com/php/articles/template_engines/
__________________
Get your motor runnin' Head out on the highway... |
||||||
|
|
00
|
|
|
#14 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Salut
Pour information, je suis en train de rédiger un comparatif des systèmes de gabarit les plus utilisés (avec exemples de code). Aurez-vous la patience d'attendre sa finalisation ?
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#15 | |
|
Membre expérimenté
![]() Inscription : septembre 2006 Messages : 685 ![]() |
Citation:
Si, j'avais bien compris que le fichier tpl soit obligé d'être parsé, c'est justement ça qui le rend plus lourd par rapport à un code dit "normal". Merci Mr N. pour ton exemple, je le trouve pas mal, j'ai 2 questions: Ca sert à quoi de passer par référence l'instanciation de ta classe ? Pourquoi le <?= dans "<h1><?=$title;?></h1>" ? Yogui, si c'est à moi que tu t'adresses, oui, j'aurais la patience d'attendre Ah oui, tant que j'y suis, j'ai une autre question, est-ce que l'on peut se servir du dom pour créer ses templates ? Merci à tous |
|
|
|
00
|
|
|
#16 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Mr N. ne travaile pas en PHP 5, il utilise donc les références explicites (ce qui est devenu le comportement par défaut en PHP 5).
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#17 |
|
Membre expérimenté
![]() Inscription : septembre 2006 Messages : 685 ![]() |
Ah ok, je ne le savais pas.
|
|
|
00
|
|
|
#18 | |
|
Expert Confirmé Sénior
![]() ![]() Inscription : mai 2004 Messages : 4 490 ![]() |
Citation:
Par contre, comme alternative possible aux moteurs de templates il y a XSLT, qui permet une séparation vue/code applicatif idéale. Très puissant, mais ce langage nécessite un apprentissage dont les débuts sont toujours un peu laborieux...
__________________
FAQ XML ------------ « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser » Giacomo Leopardi |
|
|
|
00
|
|
|
#19 | ||
|
Expert Confirmé Sénior
![]() Inscription : septembre 2004 Messages : 5 421 ![]() |
Citation:
Citation:
__________________
Get your motor runnin' Head out on the highway... |
||
|
|
00
|
|
|
#20 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Mr N., tu peux aussi utiliser la syntaxe suivante :
=> Long tags donc config-proof
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com