P@t a écrit:
Sinon, c'est quoi exactement un "cache du template"?
Exemple d'une doc:
Les templates jTpl sont “compilés? sous forme de fichiers purs PHP, et stockés dans un cache pour améliorer les performances.
ou
http://www.smarty.net/manual/fr/caching.php
Dernière modification par rub (2008-02-23 09:46:38)
Hors ligne
Pour moi, peu importe le nouveau template tant qu'il est bon. Et c'est vrai pourquoi pas ne pas utilisé celui de PEM! (Mais c'est bien aussi de tester autre chose!)
Sinon, c'est avec grand plaisir qu'on le fera tous ensemble mais je pense qu'il faudra soit un outils d'aide à la conversion soit pendant un temps temporaire utilisé les deux templates en même temps dans la BSF pour que chacun puisse travailler à son rythme.
Hors ligne
rvelices a écrit:
J'ai regarde rapidement jelix et ca m'a l'air "presque" identique a smarty... Si on est d'accord avec un, on est d'accord avec l'autre ...
Oui, sauf que jTpl a été développé de base avec toutes le soptions,a lors que Smarty a grossi au fur et à mesure, et a donc perdu en perf.
flipflip a écrit:
Alors jTpl est le moteur de template du framework php de Jelix. Je ne sais pas si jTpl peut fonctionner sans toute la machinerie Jelix ?
Oui, c'est justement l'intérêt.
P@t a écrit:
Vous etes tous des malades!
Bah oui! :-D
Sinon, comment il avance, phpwebgallery, hein ?
rub a écrit:
Pour moi, peu importe le nouveau template tant qu'il est bon. Et c'est vrai pourquoi pas ne pas utilisé celui de PEM! (Mais c'est bien aussi de tester autre chose!)
Pierrick a changé le moteur lorsqu'il a utilisé PEM dans sa boite. Je pense donc qu'il a fait le tour des moteurs pour arriver à son choix, même si celui-ci est partial.
rub a écrit:
Sinon, c'est avec grand plaisir qu'on le fera tous ensemble mais je pense qu'il faudra soit un outils d'aide à la conversion soit pendant un temps temporaire utilisé les deux templates en même temps dans la BSF pour que chacun puisse travailler à son rythme.
L'outil, on verra quand on aura migré le template.
Sachant que pour un tableau ou un scalaire, on a le même tag actuellement, ça risque d'être coton.
Mais c'est surtout les repères de modification de template qui vont changer.
Pour mettre à jour le code que les webmestres insèrent avec leurs plugins persos, ils pourront se baser sur ce qu'on livrera, et le forum sera aussi envahi que lors de l'arrivée des plugins. Cooool!
:-)
Hors ligne
mathiasm a écrit:
Oui, sauf que jTpl a été développé de base avec toutes le soptions,a lors que Smarty a grossi au fur et à mesure, et a donc perdu en perf.
En fait est-ce que t'as un lien pour comparer les perfs jTpl vs. Smarty - moi j'en ai vu d'autres articles ou Smarty etait toujours parmis les meilleurs (jTpl n'etait pas dedans)
Hors ligne
rvelices a écrit:
mathiasm a écrit:
Oui, sauf que jTpl a été développé de base avec toutes le soptions,a lors que Smarty a grossi au fur et à mesure, et a donc perdu en perf.
En fait est-ce que t'as un lien pour comparer les perfs jTpl vs. Smarty - moi j'en ai vu d'autres articles ou Smarty etait toujours parmis les meilleurs (jTpl n'etait pas dedans)
Non, jamais vu.
jTpl est largement inspiré de Smarty(voir l'article. Il reprend le même système de plugin (ajout de mots-clés, par ex.), et on pourra sans dotue récupérer si besoin des modifs venues de Smarty
Mais:
- le noyau de Smarty fait 26 fichiers et 212 ko
- le noyau de jTpl fait 3 fichiers et 26 ko
Hors ligne
rub a écrit:
Sinon, c'est avec grand plaisir qu'on le fera tous ensemble mais je pense qu'il faudra soit un outils d'aide à la conversion soit pendant un temps temporaire utilisé les deux templates en même temps dans la BSF pour que chacun puisse travailler à son rythme.
Cette derniere possibilite et la plus simple. Mais il faut dire que ca ne sera pas performant.... mais si c'est temporaire tant mieux...
Rub, comment on detecte si un fichier est ancien ou nouveau ? On utilise une nouvelle extension (tpls) ?
Hors ligne
...
une parenthese dans votre discussion d'expert, ((je ne sais pas trop de quoi vous parlez.. mais je n'ai pas honte, non non .. :o)))vous allez donc construire un nouveau template de base... et :
- pour les menus H ou V, vous voyez en même temps genre deux templates, ou c'est facile à faire à la maison...
- gardez en mémoire que si Lambda (c'est un pôte) est différent de nul, il n'en est pas très loin... et qu'il faut lui laisser la possibilité de modifier aisément ce template..
merci et bon courage aux malades sans qui PWG ne serait pas ce qu'il est !!
éric.
Hors ligne
Si ils ont des fonctionnements similaires je pense que c'est mieux d'avoir le même moteur de template sur PEM et PWG donc il faut mieux s'orienter vers les .jtpl comme sur PEM
Hors ligne
J'ai regarde vite jTpl. Il est effectivement plus simple que smarty avec moins de code, mais je trouve que smarty est plus souple en terme d'utilisation (et jTpl n'a pas l'equivalent de "assign_block_vars" par exemple alors que "append" en smarty fait exactement ca).
En plus il me semble que Smarty est bien plus utilise avec plus de developeurs que sur jTpl...
Donc personellement je suis plutot pour Smarty que pour jTpl.
Hors ligne
rvelices a écrit:
rub a écrit:
Sinon, c'est avec grand plaisir qu'on le fera tous ensemble mais je pense qu'il faudra soit un outils d'aide à la conversion soit pendant un temps temporaire utilisé les deux templates en même temps dans la BSF pour que chacun puisse travailler à son rythme.
Cette derniere possibilite et la plus simple. Mais il faut dire que ca ne sera pas performant.... mais si c'est temporaire tant mieux...
Rub, comment on detecte si un fichier est ancien ou nouveau ? On utilise une nouvelle extension (tpls) ?
Oui, pourquoi pas!
Hors ligne
rvelices a écrit:
J'ai regarde vite jTpl. Il est effectivement plus simple que smarty avec moins de code, mais je trouve que smarty est plus souple en terme d'utilisation (et jTpl n'a pas l'equivalent de "assign_block_vars" par exemple alors que "append" en smarty fait exactement ca).
En plus il me semble que Smarty est bien plus utilise avec plus de developeurs que sur jTpl...
Donc personellement je suis plutot pour Smarty que pour jTpl.
+1
Hors ligne
Donc je resume
- on utilise smarty
- temporairement (et tres peu performant) les anciens templates vont aussi marcher le temps de tout migrer (techniquement la classe Template contient un smarty et le vieux template avec les variables en doubles)
- pour le moment on perd les triggers du template (loc_begin_parse etc ...) - de toute maniere d'apres moi ils sont a revoir pour qu'on ait pas besoin de manipuler le template dans le code php... - comme maintenant les templates sont compiles ca ne marchera plus correctement
- derniere question - je choisi quel repertoire pour le cache des repertoires compiles ? (qq chose comme PHPWG_ROOT_PATH/data/templates_c ou PHPWG_ROOT_PATH/_data/templates_c ou simplement PHPWG_ROOT_PATH/_templates_c ou encore PHPWG_ROOT_PATH/templates/_compiled ... ?)
Hors ligne
Au dev de Jelix, Mathias a écrit:
Bonjour
Je souhaitais savoir s'il y avait eu des comparatifs de perfs faits entre Smarty et jTpl standalone ?
Smarty est mis à jour plsu régulièrmeent, mais est aussi plus gros.
L'argument décisif serait donc les perfs.
J'ai vu un comparatif[1], ais jTpl n'y était pas et je ne me vois pas triturer les scripts fournis alors que je ne connais aucun des 2 templates.
[1]:http://g-rossolini.developpez.com/comparatifs/php/templates/?page=conclusion#LVII
Merci de ta réponse
Cordialement
Mathias
Laurent Jouanneau, en réponse, a écrit:
Non, pas de comparatif de perfs. J'essaierai de reproduire les tests de perf effectué dans l'article que tu m'as indiqué, si j'ai le temps.
Cependant,
1) vu la taille de code de jTpl, beaucoup plus léger que smarty, donc temps de parsing php beaucoup plus court.
Nombre de lignes de code :
classe principale : jelix=252 vs smarty=1960 (sans compter les +1000 lignes de codes des fichiers dans internals)
compilateur : jelix=522 vs smarty=2326 (le compilateur n'est chargé que lorsque le template est nouveau ou modifié)
Et tout ça en ayant des fonctionnalités de base et une extensibilité presque équivalente !
(smarty est aussi gros voir plus même, que le coeur du framework Jelix)
2) vu la façon dont on traite les arguments aux plugins : c'est du php, et jTpl utilise le tokenizer de PHP pour parser les arguments, alors que smarty a son propre parser tout en php, donc beaucoup plus lent forcément...
il est fortement probable que jTpl soit beaucoup plus performant...
Bon maintenant, jTpl n'a pas toutes les possibilités "avancée" de Smarty, c'est vrai, mais il faut dire aussi que ces possibilités "avancées" ne sont pas toujours utiles...
À propos de la fréquence de mise à jour : je ne vois absolument pas le rapport avec les perfs. Note toutefois que jTpl est activement maintenu puisqu'utilisé dans le framework Jelix. C'est juste que je n'ai pas eu le temps de faire des releases régulières de la version standalone (vais peut être en faire une prochaînement tiens..). Tu peux utiliser la version "nightly" "standalone" sans risque, elle est aussi stable que la version "embedded" fournie dans jelix 1.0.2.
Note aussi que Jelix, donc jTpl, est utilisé sur des sites à fortes charges (over-blog.com, plusieurs millions de pages générées avec jtpl par jour), sans aucun souci de perf.
Hors ligne
rvelices a écrit:
- derniere question - je choisi quel repertoire pour le cache des repertoires compiles ? (qq chose comme PHPWG_ROOT_PATH/data/templates_c ou PHPWG_ROOT_PATH/_data/templates_c ou simplement PHPWG_ROOT_PATH/_templates_c ou encore PHPWG_ROOT_PATH/templates/_compiled ... ?)
PHPWG_ROOT_PATH/compiled/ ou PHPWG_ROOT_PATH/cache/
De toute façon ton choix sera le bon mais je ne ferai pas PHPWG_ROOT_PATH/templates/xxxxx/.
8-)
Hors ligne
rvelices a écrit:
J'ai regarde vite jTpl. Il est effectivement plus simple que smarty avec moins de code, mais je trouve que smarty est plus souple en terme d'utilisation (et jTpl n'a pas l'equivalent de "assign_block_vars" par exemple alors que "append" en smarty fait exactement ca).
Vérifie parce que cela serait bête de se tromper de piste...
8-)
Hors ligne