Précédent   Forum du club des développeurs et IT Pro > PHP > Bibliothèques et frameworks > Templates

Templates Forum d'entraide sur les templates (gabarits) avec PHP. Exemples : Smarty, TinyButStrong... Avant de poster -> FAQ templates et Cours gabarits

Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Affichage des résultats du sondage: Quel système de template utilisez/utiliseriez - vous ?
PHPLib 40 27,59%
VTemplate 5 3,45%
Smarty 81 55,86%
ModeliXe 10 6,90%
PowerTemplate 1 0,69%
PHPTemplate 5 3,45%
Xtemplates 2 1,38%
EcTemplate 0 0%
UltraTemplate 0 0%
Itemplate 0 0%
Quick Template 1 0,69%
YATS 0 0%
Votants: 145. Vous ne pouvez pas participer à ce sondage.

Publicité
'
Réponse
 
Outils de la discussion
Vieux 05/03/2005, 15h15   #161
antoineb
Invité de passage
 
Inscription : mars 2005
Messages : 1
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 1
Points : 1
Points : 1
Par défaut nommage dynamique des elements dans flexy

Citation:
Il manque pour le moment la capacité a rajouter une balise (genre un menuitem comme il le fait déjà pour les options de select d'un formulaire) mais je sais qu'il y travail dessus en ce moment.
Moi je trouve flexy super propre et rapide et j'ai aussitot refait entierement mon pti portail avec.
toutefois, je trouve qu'il manque la capacité d'utiliser des noms dynamiques sur les elements.
Code :
$this->elements[$this->var]->setValue("mavaleur")
sur un template contenant :
car apparamment, les elements sont compilés avant les {var}.
j'ai ce probleme car je ne prefere pas utiliser quickform ...
si quelqu'un a une solution d'ailleurs ...
j'ai fouillé dans les options de compilation mais je trouve po.
antoineb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2005, 15h29   #162
glsn
Futur Membre du Club
 
Développeur Web
Inscription : juin 2003
Messages : 89
Détails du profil
Informations personnelles :
Âge : 28

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2003
Messages : 89
Points : 17
Points : 17
Auriez vous des sites ou des docs PHP pour débuter dans les Template et connaitre bien voir très bien le sujet par la suite ?

Merci d'avance
glsn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2005, 15h31   #163
Bidouille
Membre Expert
 
Avatar de Bidouille
 
Inscription : mars 2003
Messages : 1 157
Détails du profil
Informations forums :
Inscription : mars 2003
Messages : 1 157
Points : 1 466
Points : 1 466
Citation:
Envoyé par glsn
Auriez vous des sites ou des docs PHP pour débuter dans les Template et connaitre bien voir très bien le sujet par la suite ?
Tu n'as qu'à lire ce fil !
__________________
Rédacteur PHP / Delphi ADO / Novell / OpenOffice.org

Inutile de m'envoyer vos questions par MP, je ne réponds que par le forum.
Bidouille est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2005, 17h22   #164
doof
Membre confirmé
 
Avatar de doof
 
Inscription : août 2003
Messages : 159
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 159
Points : 248
Points : 248
antoineb -> il me semble que le probleme se pose a cause du fait que tu mette justement {var} dans l'attribut d'un element de formulaire, là ou normalement il n'y en a pas besoin.

Code :
$this->elements[$this->var]->attributes['name'] = 'mavaleur';
ne regle pas ton probleme ?
doof est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2005, 14h50   #165
hackrobat
Membre régulier
 
Inscription : mai 2004
Messages : 127
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 127
Points : 86
Points : 86
Il existe beaucoup de moteur de templates mais les approches de chaque moteur est souvent différentes.

L'approche PHP natif. ( Melange de PHP dans du HTML )
Solution tres performante et tres simple pour le developpeur. Par contre, pour le coté design c'est un peu la galère pour le designer.

L'approche search&replace. ( Par affections de variables )
Solution appréciée par le designer, le code du developpeur reste simple et organisé. Par contre, une baisse de performance de 20% par rapport a la solution native.

L'approche par composants. ( Comme les lego quoi )
Chaque composant de la page est independant. C'est un peu un casse tete pour le designer. Le travail du developpeur devient plus simple et plus organisé. Par contre, pas moyen d'avoir un apercu globale de la page avant de tester.

L'approche par XML/XLST. ( Maximum Balises )
Ressemble à l'approche precedente sauf que tout est decrit dans le XML. Le PHP genere le XML et le designer, avec ses connaissance de XLST, peut construire les pages. Cette approche est celle qi presente la meilleure pérennité malgré que le designer doit se former au XLST.


Bon tout ca c'est bien gentil mais c'est pour dire quoi au final ?
Sans doute rien IoI parce je pense que tout le monde a deviner que les moteurs de templates les plus puissants sont ceux ceux à approche "search & replace" tels que PHPLib et Smarty dont la différence se trouve dans la légèreté de PHPLib pour ses performances tandis que Smarty est une solution polyvalente donc moins performante.

D'autres solutions sont a retenir, Modelixe( basé sur la syntaxe XML) et Templeet( qui melange moteur de template, systeme de publication et outil de gestion pour allier simplicité et performance )

Bon je dois y aller, j'espere que cela va vous aider un peu si je me suis planté quelque part desole, je reviendrais pour corriger.

A+ bonne apres midi
hackrobat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2005, 16h22   #166
loufoque
Expert Confirmé Sénior
 
Homme Mathias Gaunard
Ingénieur développement logiciels
Inscription : décembre 2003
Messages : 3 550
Détails du profil
Informations personnelles :
Nom : Homme Mathias Gaunard
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : décembre 2003
Messages : 3 550
Points : 4 603
Points : 4 603
Citation:
malgré que
syntax error
loufoque est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2005, 16h42   #167
Kioob
Membre chevronné
 
Avatar de Kioob
 
Olivier Bonvalet
Inscription : septembre 2004
Messages : 550
Détails du profil
Informations personnelles :
Nom : Olivier Bonvalet
Âge : 33
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : septembre 2004
Messages : 550
Points : 750
Points : 750
Envoyer un message via MSN à Kioob
euh... bien souvent "L'approche search&replace" consiste à générer du code PHP natif... donc la baisse de performances est quasiment inexistante.
Kioob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2005, 21h15   #168
hackrobat
Membre régulier
 
Inscription : mai 2004
Messages : 127
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 127
Points : 86
Points : 86
PHP natif
$titre = 'Mon titre';
$description = 'Ma description';
include 'template.php';

/* template.php */
<html>
<head>
<title> <? echo $titre; ?> </title>
</head>
<body>
<? echo $description; ?>
</body>
</html>

Search&Replace
<?
include_once 'moteur.php';
$moteur = new moteur_de_template();
$moteur -> setVar('titre', 'Mon titre');
$moteur -> setVar('description', 'Ma description');
$moteur -> display( 'template.html');
?>

/* template.html */
<html>
<head>
<title> {titre}</title>
</head>
<body>
{description}
</body>
</html>

Juste pour dire que l'approche search&replace utilise plus le processeur que le par le PHP natif d'ou sa baisse de performance.

a+
hackrobat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2005, 21h43   #169
Kioob
Membre chevronné
 
Avatar de Kioob
 
Olivier Bonvalet
Inscription : septembre 2004
Messages : 550
Détails du profil
Informations personnelles :
Nom : Olivier Bonvalet
Âge : 33
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : septembre 2004
Messages : 550
Points : 750
Points : 750
Envoyer un message via MSN à Kioob
non : Smarty "compile" les templates, c'est à dire qu'après les search/replace, le résultat est un script PHP qui est conservé tant que le template n'est pas modifié.
Ainsi, il n'y a aucune perte de performances.
Kioob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2005, 00h09   #170
hackrobat
Membre régulier
 
Inscription : mai 2004
Messages : 127
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 127
Points : 86
Points : 86
Pour repondre à kioob, c'est le systeme de cache qui permet cela. Ainsi, les performances sont optimisées, mais tous les moteurs à approche "search&replace" n'ont pas (ou pas encore) cette fonctionnalité.


Et pour répondre à Moloc'h, le designer n'a pas forcement des compétences PHP pour utiliser la syntaxe du PHP contrairement à l'utilisation des {variables}.
hackrobat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2005, 00h17   #171
Kioob
Membre chevronné
 
Avatar de Kioob
 
Olivier Bonvalet
Inscription : septembre 2004
Messages : 550
Détails du profil
Informations personnelles :
Nom : Olivier Bonvalet
Âge : 33
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : septembre 2004
Messages : 550
Points : 750
Points : 750
Envoyer un message via MSN à Kioob
Oui, on peut parler de système de cache... il n'en reste pas moins que le code exécuter sera du PHP natif ; et pour moi tout bon moteur de template se doit de le faire. Je n'en ai pas utilisés beaucoup, mais ils le faisaient tous.



Moloc`h, de plus, dans mon cas un simple :
pourra être remplacé par :
Code :
1
2
3
4
<?php
$this->k_lang = & $this->k_mod->instance( 'k_lang' );
echo htmlspecialchars( $this->k_lang->str('toto') );
?>
Sachant que l'instanciation du module se fera une seule fois, de manière automatique.

L'intérêt est déjà un peu plus visible... non ?
Kioob est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2005, 12h56   #172
FMC
Invité régulier
 
Inscription : mai 2005
Messages : 25
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 25
Points : 9
Points : 9
En espérant qu'il n'a pas déjà été cité, il y a aussi TPLN (Templates Pour Les Nuls), je ne l'ai pas testé car j'utilise PHPLib qui me semble suffisemment performant pour faire un site entier, mais TPLN avait l'air intéressant, et... OpenSource !
FMC est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2005, 08h15   #173
PlainsofPain
Invité régulier
 
Inscription : janvier 2004
Messages : 6
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 6
Points : 6
Points : 6
Envoyer un message via AIM à PlainsofPain Envoyer un message via MSN à PlainsofPain
j'ai depusi longtemps suivi ce sujet.

J'ai essayé différent moteur de templates "légers" (phpliub, template power et d'autres) ainsi que des moteurs de templates "lourds" (templeet et smarty notamment).

Mon constat est que dans tout les cas, c'est au mieux ausssi rapide avec du cache que php seul sans cache ...

De plus il est très possible d'utiliser php seul comme moteur de template. En fait une fois qu'on a la manière de penser "template", je pense qu'on peut très bien y arriver sans en utiliser, justement...

De plus, l'équipe xml/xsl/css/php fonctionne bien elle aussi, et sépare également le contenu de la présentation.

Je pense simplement que selon le niveau du développeur et ses gouts, il n'y a pas de faconde faire (template,php, xml/xsl) qui soit meilleur que l'autre. C'est juste différent.

Maintenant, personnellement, j'ai bien aimé phplib, templeet et smarty.

xml/xsl j'accroche pas des masses mais bon selon les cas ca peut etre intéressant comme système ...
PlainsofPain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2005, 19h04   #174
aravis
Membre régulier
 
Inscription : mars 2004
Messages : 99
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 99
Points : 88
Points : 88
Citation:
Mon constat est que dans tout les cas, c'est au mieux ausssi rapide avec du cache que php seul sans cache ...
Ca dépend de ce que fais ton php Si tu dois parser du xml à la pelle ou faire pleins de requetes sur des bases/sites distant, le cache est inévitable

Perso j'ai retenu Smarty, le plus rapide à mon avis, facile de s'y mettre, et je peux faire tout ce dont j'ai besoin avec
aravis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2005, 15h35   #175
sekaijin
Expert Confirmé Sénior
 
Avatar de sekaijin
 
Homme
Urbaniste
Inscription : juillet 2004
Messages : 2 171
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 49
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Urbaniste
Secteur : Santé

Informations forums :
Inscription : juillet 2004
Messages : 2 171
Points : 5 162
Points : 5 162
bon je suis peut être un peut violent

mon php utilise Xtemplate pour faire du XML
lui même est passé par XSLT pour en faire autre chose (PDF, SVG, HTML SOAP)

mais à la place de Xtemplate j'envisage d'utilise XMLize (XML serialize : sérialisation d'objet en XML)


comme avantage on peut très tôt tester son appli sans aucune interface.
il suffit de fournir les antrés et de lire le XML produit
on peut multiplier à l'envie les format de sorties
pour chaque sorties voulue il suffit d'écrire un tempalte XSLT
on peut envoyer le xml directement au client lorsque celui-ci sait le utiliser xslt

le contre est qu'on ralenti la machine et
il n'est pas toujours simple d'écrire les IHM avec XSLT

Je zieute beaucoup vers AJAX pour cela.
dans mon approche j'aurais donc d'un coté un serveur de page html (Ajax) statiques
qui lorsque le client les manipule elles appellent mon serveur qui répond en XML (SOAP, ou autre)

la séparation IHM client<->Data<->programme est totale.


A+JYT
sekaijin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2005, 20h48   #176
slamp
Invité de passage
 
Inscription : juin 2005
Messages : 3
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 3
Points : 3
Points : 3
Plus simple que Smarty, il y a SmartyLight
http://www.paullockaby.com/projects/smarty-light/
slamp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2005, 11h53   #177
melmel
Invité régulier
 
Inscription : décembre 2003
Messages : 17
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 17
Points : 9
Points : 9
Bonjour,

Je ne pense pas qu'il a été posté alors voilà :
http://www.massassi.com/php/articles/template_engines/

J'ai découvert cet article en cherchant comment un template fonctionnait et j'avoue qu'il m'a appris bcp de choses.
Le moteur de template n'utilise que php. Je veux dire par là qu'il n'y a pas de langage interne propre au moteur. Tout est en php.
Dans l'article il dit que ca a déjà été fait (cf page 2 de l'article) mais je n'arrive pas à trouver d'autres exemples que le sien.
Connaîtrez-vous un moteur similaire ?

Je suis en train de l'utiliser pour un site et j'avoue qu'il n'est pas super facile.
Voilà, si jamais il y en a un dans le même genre qui vous vient à l'esprit, faîtes moi signe

Bonne journée

Melmel

Edit : J'ai trouvé celui-là :
Savant2 : http://phpsavant.com/yawiki/
Le connaissez-vous ?
Je n'ai pas trouvé beaucoup d'articles qui en parlent sur le net. Je vais faire un essai aujourd'hui.
melmel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2005, 22h04   #178
Matthieu_26
Invité de passage
 
Inscription : juillet 2005
Messages : 1
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 1
Points : 1
Points : 1
Pour ma part j'utilise TemplatePower (http://templatepower.codocad.com/) qui est simple, puissant et rapide d'excécution.
Matthieu_26 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2005, 01h00   #179
melmel
Invité régulier
 
Inscription : décembre 2003
Messages : 17
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 17
Points : 9
Points : 9
Bon, ca va faire une semaine que j'utilise Savant2(http://phpsavant.com/) et pour tout vous dire, il fait super bien son boulot, qui est de séparer la logique du design.

Il est entièrement en php, la doc est très bien faite (en anglais) et il y a une version supérieure compatible php5.

Ce que j'aime :
- la façon de coder : tout est en php, pas besoin d'apprendre un nouveau langage propre au moteur de template.
- la séparation du fichier 'design' du fichier 'logique' (requete sql, etc.).
- la compatibilité avec php5 avec Savant3
- le systeme de plugin
- la possibilité d'utiliser un accélérateur php (Turck MMCache, Zend, php Accelerator).

Ce que j'aime moins :
- pas beaucoup de support. Il n'y a pas de forum. A la place, il y a une mailing-list.
- la doc n'est qu'en anglais.
- et c'est tout

Donc voilà, si vous ne savez pas quoi prendre comme moteur de template, Savant2 vaut le coup.

Bon lundi

melmel
melmel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2005, 16h49   #180
GillPHP
Invité de passage
 
Inscription : juillet 2005
Messages : 8
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 8
Points : 2
Points : 2
VTemplate !
Pourquoi ? Parce que c'est celui que j'ai découvert au boulot et qu'il est reconnu comme étant simple et efficace.

Et effectivement, j'en suis très content. On peut même taper des trucs du genre :
PHP :
$vtp->setVar($vtp_struct, "ZONE.VAR_PAGE_EN_COURS", "p".$pagemag);

Template HTML :
A#{#VAR_PAGE_EN_COURS} { text-decoration:none; background-color:Yellow; }
...qui change l'allure du lien en-cours de mon sommaire :
<a id="p01" href="/index.php?page=01">Accueil</a>

comme le précise la doc :
Citation:
Syntaxe : {#NomDeLaVariable}
la syntaxe {NomDeLaVariable} a été abandonnée car elle posait des problèmes avec les feuilles de styles. Vous pouvez néanmoins revenir à cette synthaxe en modifant le Define ( par define("VARTAG","{"); )correspondant au début de la classe.
(en fait, j'étais venu ici pour poser une question, mais VTemplate n'était pas la cause de mon bug J'ai donc dû éditer ce message...)
GillPHP est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 05h41.


 
 
 
 
Partenaires

Hébergement Web