Besoin de conseils sur la creation d'un m oteur de templates
6 réponses
Yann PIQUET
Bonjour,
Je suis actuellement en plein questionnement sur la création d'un moteur
de template.
En effet, je travaille en ce moment à la création d'une application
redistribué de CMS, sur laquel j'utilise pour l'instant le moteur de
template de la phplib. Le probleme est que ce moteur, bien qu'il ait été
retouché par l'un des membres de notre projet, est bien trop lourd pour
l'utilisation qu'en fait notre systeme.
Aussi j'ai décidé de coder mon propre systeme de template, de manière à
n'y inclure que ce dont j'ai réellement besoin. Mais si je n'ai aucun
probleme pour le traitement de variables simples dans le template, et
pour le chargement d'un fichier de template, autant je n'ai strictement
aucune idée de la maniere dont je pourrais réaliser un systeme de blocs.
J'ai essayé de comprendre celui de la phplib, mais les expressions
regulieres perl ne sont pas mon fort :-/ donc si quelqu'un avait un ou
deux liens que je puisse cliquer, ca m'arrangerait beaucoup...
Faites quelques recherches dans les archives de ce groupe à propos des moteurs de templates en php.
Pour ma part : j'avais développé le mien avec des expressions régulières, je chargeais le template en mémoire et je faisais un chercher-remplacer.
Depuis, j'ai tout laissé tomber au profit d'une solution bcp plus simple :
<input value="<? echo $modele['nom']?>">
J'ai conscience des moteurs de templates, de la nécessité de séparer les traitements en architecture n-tiers etc...
Mais pourtant en php, je vois plus l'intérêt. En j2EE, j'utilise Struts, c'est différent :)
bonne lecture des archives, car le sujet est récurrent ;)
Yann PIQUET
bonsoir,
Bonjour, et merci de votre réponse
Faites quelques recherches dans les archives de ce groupe à propos des moteurs de templates en php.
Où puis-je les trouver? Car une recherche sur groups.google avec les mots-clés "templates", "moteur de template", "création de moteur de template" ou "création de template" me donne uniquement des resultats portant sur le choix d'un moteur de template existant (généralement smarty), mais jamais sur la conception à partir de zéro d'un tel moteur... Me serais-je trompé de mot-clé?
Pour ma part : j'avais développé le mien avec des expressions régulières, je chargeais le template en mémoire et je faisais un chercher-remplacer.
C'est effectivement ce que j'utilise, mais je ne sais pas comment adapter ceci aux blocs, pour pouvoir utiliser des boucles
Depuis, j'ai tout laissé tomber au profit d'une solution bcp plus simple :
<input value="<? echo $modele['nom']?>">
J'ai conscience des moteurs de templates, de la nécessité de séparer les traitements en architecture n-tiers etc...
Le besoin ici se situe à un niveau different: le script est dédié à un public de webmaster amateurs, suffisement connaisseurs néanmoins pour savoir ce qu'est un ftp, et savoir configurer des scripts simples comme phpBB ou FSB (avec qui nous sommes en partenariat). Or beaucoup d'entre eux connaissent les bases du HTML, et donc veulent et savent modifier un .tpl. La présence des variables, boucles, etc... dans le .tpl en .php pose donc un probleme car elle necessite au client potentiel ou aux personnes interessées par le developpement de templates pour ce script et n'ayant aucune connaissance en php l'apprentissage des bases et des fautes de syntaxe à ne pas commettre. Tandis qu'un moteur de template reprennant exterieurement les principe de la phplib (ou des principes proches, <!-- DEBUT --> et {VARIABLE} par exemple) permettrais de ne pas avoir à faire cet apprentissage.
[...]
Bonne journée,
Aramiil
bonsoir,
Bonjour, et merci de votre réponse
Faites quelques recherches dans les archives de ce groupe à propos des
moteurs de templates en php.
Où puis-je les trouver? Car une recherche sur groups.google avec les
mots-clés "templates", "moteur de template", "création de moteur de
template" ou "création de template" me donne uniquement des resultats
portant sur le choix d'un moteur de template existant (généralement
smarty), mais jamais sur la conception à partir de zéro d'un tel
moteur... Me serais-je trompé de mot-clé?
Pour ma part : j'avais développé le mien avec des expressions
régulières, je chargeais le template en mémoire et je faisais un
chercher-remplacer.
C'est effectivement ce que j'utilise, mais je ne sais pas comment
adapter ceci aux blocs, pour pouvoir utiliser des boucles
Depuis, j'ai tout laissé tomber au profit d'une solution bcp plus simple :
<input value="<? echo $modele['nom']?>">
J'ai conscience des moteurs de templates, de la nécessité de séparer les
traitements en architecture n-tiers etc...
Le besoin ici se situe à un niveau different: le script est dédié à un
public de webmaster amateurs, suffisement connaisseurs néanmoins pour
savoir ce qu'est un ftp, et savoir configurer des scripts simples comme
phpBB ou FSB (avec qui nous sommes en partenariat). Or beaucoup d'entre
eux connaissent les bases du HTML, et donc veulent et savent modifier un
.tpl. La présence des variables, boucles, etc... dans le .tpl en .php
pose donc un probleme car elle necessite au client potentiel ou aux
personnes interessées par le developpement de templates pour ce script
et n'ayant aucune connaissance en php l'apprentissage des bases et des
fautes de syntaxe à ne pas commettre. Tandis qu'un moteur de template
reprennant exterieurement les principe de la phplib (ou des principes
proches, <!-- DEBUT --> et {VARIABLE} par exemple) permettrais de ne pas
avoir à faire cet apprentissage.
Faites quelques recherches dans les archives de ce groupe à propos des moteurs de templates en php.
Où puis-je les trouver? Car une recherche sur groups.google avec les mots-clés "templates", "moteur de template", "création de moteur de template" ou "création de template" me donne uniquement des resultats portant sur le choix d'un moteur de template existant (généralement smarty), mais jamais sur la conception à partir de zéro d'un tel moteur... Me serais-je trompé de mot-clé?
Pour ma part : j'avais développé le mien avec des expressions régulières, je chargeais le template en mémoire et je faisais un chercher-remplacer.
C'est effectivement ce que j'utilise, mais je ne sais pas comment adapter ceci aux blocs, pour pouvoir utiliser des boucles
Depuis, j'ai tout laissé tomber au profit d'une solution bcp plus simple :
<input value="<? echo $modele['nom']?>">
J'ai conscience des moteurs de templates, de la nécessité de séparer les traitements en architecture n-tiers etc...
Le besoin ici se situe à un niveau different: le script est dédié à un public de webmaster amateurs, suffisement connaisseurs néanmoins pour savoir ce qu'est un ftp, et savoir configurer des scripts simples comme phpBB ou FSB (avec qui nous sommes en partenariat). Or beaucoup d'entre eux connaissent les bases du HTML, et donc veulent et savent modifier un .tpl. La présence des variables, boucles, etc... dans le .tpl en .php pose donc un probleme car elle necessite au client potentiel ou aux personnes interessées par le developpement de templates pour ce script et n'ayant aucune connaissance en php l'apprentissage des bases et des fautes de syntaxe à ne pas commettre. Tandis qu'un moteur de template reprennant exterieurement les principe de la phplib (ou des principes proches, <!-- DEBUT --> et {VARIABLE} par exemple) permettrais de ne pas avoir à faire cet apprentissage.
[...]
Bonne journée,
Aramiil
John GALLET
Bonjour,
<input value="<? echo $modele['nom']?>"> J'ai conscience des moteurs de templates, de la nécessité de séparer les traitements en architecture n-tiers etc... Mais pourtant en php, je vois plus l'intérêt.
Normal parce que **c'est** une implémentation de séparation code-présentation.
PHP **est** un moteur de template à lui tout seul.
a++; JG
Bonjour,
<input value="<? echo $modele['nom']?>">
J'ai conscience des moteurs de templates, de la nécessité de séparer les
traitements en architecture n-tiers etc...
Mais pourtant en php, je vois plus l'intérêt.
Normal parce que **c'est** une implémentation de séparation
code-présentation.
PHP **est** un moteur de template à lui tout seul.
<input value="<? echo $modele['nom']?>"> J'ai conscience des moteurs de templates, de la nécessité de séparer les traitements en architecture n-tiers etc... Mais pourtant en php, je vois plus l'intérêt.
Normal parce que **c'est** une implémentation de séparation code-présentation.
PHP **est** un moteur de template à lui tout seul.
a++; JG
Bruno Desthuilliers
(snip)
La présence des variables, boucles, etc... dans le .tpl en .php pose donc un probleme car elle necessite au client potentiel ou aux personnes interessées par le developpement de templates pour ce script et n'ayant aucune connaissance en php l'apprentissage des bases et des fautes de syntaxe à ne pas commettre.
Le problème que ça pose est surtout celui de la sécurité.
Tandis qu'un moteur de template reprennant exterieurement les principe de la phplib (ou des principes proches, <!-- DEBUT --> et {VARIABLE} par exemple) permettrais de ne pas avoir à faire cet apprentissage.
Mais ne permet pas non plus de gérer les répétitions et les conditionnelles...
Un système qui fonctionne bien est celui des 'squelettes' SPIP. L'expérience prouve que beaucoup de non-programmeurs arrivent à l'utiliser - et à en tirer des choses intéressantes. Mais ce n'est pas spécialement un système simple et léger ('compilateur', piles, caches etc...).
Un autre système intéressant AMHA est TAL (Template Attribute Language), dont l'implémentation de référence est celle de Zope (Zope Page Template), mais dont il existe une implémentation en PHP: http://phptal.motion-twin.com/introduction.html
Je n'ai jamais testé la version PHP, mais j'utilise quotidiennement les ZPT sous Zope ainsi que dans une autre implémentation Python (SimpleTAL), et c'est pour le moment le meilleurs rapport simplicité/utilisabilité/intégration HTML que j'ai trouvé.
(snip)
La présence des variables, boucles, etc... dans le .tpl en .php
pose donc un probleme car elle necessite au client potentiel ou aux
personnes interessées par le developpement de templates pour ce script
et n'ayant aucune connaissance en php l'apprentissage des bases et des
fautes de syntaxe à ne pas commettre.
Le problème que ça pose est surtout celui de la sécurité.
Tandis qu'un moteur de template
reprennant exterieurement les principe de la phplib (ou des principes
proches, <!-- DEBUT --> et {VARIABLE} par exemple) permettrais de ne pas
avoir à faire cet apprentissage.
Mais ne permet pas non plus de gérer les répétitions et les
conditionnelles...
Un système qui fonctionne bien est celui des 'squelettes' SPIP.
L'expérience prouve que beaucoup de non-programmeurs arrivent à
l'utiliser - et à en tirer des choses intéressantes. Mais ce n'est pas
spécialement un système simple et léger ('compilateur', piles, caches
etc...).
Un autre système intéressant AMHA est TAL (Template Attribute Language),
dont l'implémentation de référence est celle de Zope (Zope Page
Template), mais dont il existe une implémentation en PHP:
http://phptal.motion-twin.com/introduction.html
Je n'ai jamais testé la version PHP, mais j'utilise quotidiennement les
ZPT sous Zope ainsi que dans une autre implémentation Python
(SimpleTAL), et c'est pour le moment le meilleurs rapport
simplicité/utilisabilité/intégration HTML que j'ai trouvé.
La présence des variables, boucles, etc... dans le .tpl en .php pose donc un probleme car elle necessite au client potentiel ou aux personnes interessées par le developpement de templates pour ce script et n'ayant aucune connaissance en php l'apprentissage des bases et des fautes de syntaxe à ne pas commettre.
Le problème que ça pose est surtout celui de la sécurité.
Tandis qu'un moteur de template reprennant exterieurement les principe de la phplib (ou des principes proches, <!-- DEBUT --> et {VARIABLE} par exemple) permettrais de ne pas avoir à faire cet apprentissage.
Mais ne permet pas non plus de gérer les répétitions et les conditionnelles...
Un système qui fonctionne bien est celui des 'squelettes' SPIP. L'expérience prouve que beaucoup de non-programmeurs arrivent à l'utiliser - et à en tirer des choses intéressantes. Mais ce n'est pas spécialement un système simple et léger ('compilateur', piles, caches etc...).
Un autre système intéressant AMHA est TAL (Template Attribute Language), dont l'implémentation de référence est celle de Zope (Zope Page Template), mais dont il existe une implémentation en PHP: http://phptal.motion-twin.com/introduction.html
Je n'ai jamais testé la version PHP, mais j'utilise quotidiennement les ZPT sous Zope ainsi que dans une autre implémentation Python (SimpleTAL), et c'est pour le moment le meilleurs rapport simplicité/utilisabilité/intégration HTML que j'ai trouvé.
Thierry
Bonjour,
Je suis actuellement en plein questionnement sur la création d'un moteur de template.
En effet, je travaille en ce moment à la création d'une application redistribué de CMS, sur laquel j'utilise pour l'instant le moteur de template de la phplib. Le probleme est que ce moteur, bien qu'il ait été retouché par l'un des membres de notre projet, est bien trop lourd pour l'utilisation qu'en fait notre systeme.
Aussi j'ai décidé de coder mon propre systeme de template, de manière à n'y inclure que ce dont j'ai réellement besoin. Mais si je n'ai aucun probleme pour le traitement de variables simples dans le template, et pour le chargement d'un fichier de template, autant je n'ai strictement aucune idée de la maniere dont je pourrais réaliser un systeme de blocs.
J'ai essayé de comprendre celui de la phplib, mais les expressions regulieres perl ne sont pas mon fort :-/ donc si quelqu'un avait un ou deux liens que je puisse cliquer, ca m'arrangerait beaucoup...
Merci d'avance,
Aramiil
Je te conseille de regarder TPLN (chez sourceforge). Ce n'est pas le pluys performant mais leur forum est nikel et les responsables sont ouvert. En plus le code est relativement propre...
Mais avant de créer ton moteur, je pense qu'il faut deja savoir de quoi tu as besoin... Perso j'en ai utilisé plusieurs (dont smarties, phplib, vtemplate et tpln) et j'ai jamais trouvé mon bonheur à 100% :-( je precise que je suis aussi de J2EE (struts, jstl, jsf,etc )
Bonjour,
Je suis actuellement en plein questionnement sur la création d'un moteur
de template.
En effet, je travaille en ce moment à la création d'une application
redistribué de CMS, sur laquel j'utilise pour l'instant le moteur de
template de la phplib. Le probleme est que ce moteur, bien qu'il ait été
retouché par l'un des membres de notre projet, est bien trop lourd pour
l'utilisation qu'en fait notre systeme.
Aussi j'ai décidé de coder mon propre systeme de template, de manière à
n'y inclure que ce dont j'ai réellement besoin. Mais si je n'ai aucun
probleme pour le traitement de variables simples dans le template, et
pour le chargement d'un fichier de template, autant je n'ai strictement
aucune idée de la maniere dont je pourrais réaliser un systeme de blocs.
J'ai essayé de comprendre celui de la phplib, mais les expressions
regulieres perl ne sont pas mon fort :-/ donc si quelqu'un avait un ou
deux liens que je puisse cliquer, ca m'arrangerait beaucoup...
Merci d'avance,
Aramiil
Je te conseille de regarder TPLN (chez sourceforge). Ce n'est pas le
pluys performant mais leur forum est nikel et les responsables sont
ouvert. En plus le code est relativement propre...
Mais avant de créer ton moteur, je pense qu'il faut deja savoir de quoi
tu as besoin... Perso j'en ai utilisé plusieurs (dont smarties, phplib,
vtemplate et tpln) et j'ai jamais trouvé mon bonheur à 100% :-( je
precise que je suis aussi de J2EE (struts, jstl, jsf,etc )
Je suis actuellement en plein questionnement sur la création d'un moteur de template.
En effet, je travaille en ce moment à la création d'une application redistribué de CMS, sur laquel j'utilise pour l'instant le moteur de template de la phplib. Le probleme est que ce moteur, bien qu'il ait été retouché par l'un des membres de notre projet, est bien trop lourd pour l'utilisation qu'en fait notre systeme.
Aussi j'ai décidé de coder mon propre systeme de template, de manière à n'y inclure que ce dont j'ai réellement besoin. Mais si je n'ai aucun probleme pour le traitement de variables simples dans le template, et pour le chargement d'un fichier de template, autant je n'ai strictement aucune idée de la maniere dont je pourrais réaliser un systeme de blocs.
J'ai essayé de comprendre celui de la phplib, mais les expressions regulieres perl ne sont pas mon fort :-/ donc si quelqu'un avait un ou deux liens que je puisse cliquer, ca m'arrangerait beaucoup...
Merci d'avance,
Aramiil
Je te conseille de regarder TPLN (chez sourceforge). Ce n'est pas le pluys performant mais leur forum est nikel et les responsables sont ouvert. En plus le code est relativement propre...
Mais avant de créer ton moteur, je pense qu'il faut deja savoir de quoi tu as besoin... Perso j'en ai utilisé plusieurs (dont smarties, phplib, vtemplate et tpln) et j'ai jamais trouvé mon bonheur à 100% :-( je precise que je suis aussi de J2EE (struts, jstl, jsf,etc )
PIQUET Yann
Merci à tous pour vos conseils, j'ai finalement réussi à créer ce que je souhaitais obtenir.
Bonne soirée,
Aramiil
Merci à tous pour vos conseils, j'ai finalement réussi à créer ce que je
souhaitais obtenir.