IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Affichage des résultats du sondage: Quel système de template utilisez/utiliseriez - vous ?

Votants
147. Vous ne pouvez pas participer à ce sondage.
  • PHPLib

    42 28,57%
  • VTemplate

    5 3,40%
  • Smarty

    81 55,10%
  • ModeliXe

    10 6,80%
  • PowerTemplate

    1 0,68%
  • PHPTemplate

    5 3,40%
  • Xtemplates

    2 1,36%
  • EcTemplate

    0 0%
  • UltraTemplate

    0 0%
  • Itemplate

    0 0%
  • Quick Template

    1 0,68%
  • YATS

    0 0%
Bibliothèques et frameworks PHP Discussion :

[Templates] Quel système utilisez-vous ? Pourquoi ?


Sujet :

Bibliothèques et frameworks PHP

  1. #41
    Inactif
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 77
    Points : 89
    Points
    89
    Par défaut
    Bonjour

    Concernant les moteurs de Templates, j'ai été confronté au même dileme ))

    Concernant l'Orienté Objet, cette technique de prog n'est pas qu'une question de "beauté"

    C'est surtout une approche différente, une autre logique de programmation, d'abstraction.

    La programmation procédurale est nécessaire pour programmer en Objet, mais l'Objet permet de modéliser différemment les problèmes.

    Il rend possible, par exemple, de "coller" plus précisement au "monde réel" :
    L'OBJET :
    =>ses attributs
    =>ses méthodes

    Le polymorphisme n'est pas le seul atout : les concepts d'encapsulation, d'héritage, d'agrégation sont aussi très importants, à mon goût.

    L'objet permet aussi d'accroitre la ré-utilisablité des composants

    Enfin bref, bon courage à toi

  2. #42
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2002
    Messages : 299
    Points : 373
    Points
    373
    Par défaut
    Tout a fait d'accord pour l'objet.
    Pour ce qui est des templates, j'utilise XTemplate depuis 2000, tres simple, tres rapide (assez proche de la syntaxe pear::template ou de celle de phplib (c'est peut être celui de la phplib d'ailleurs?)
    Les systemes qui permettent de coder genre templeet ou smarty me semble vraiment faire double emploi avec php.

    Et j'ai un systeme de cache pour mon CMS, je genere tout avec XTemplate et zouu, en incluant du code PHP directement dans les blocs cachés quand j'ai besoin d'interactions en vitrine : le tout donne un truc super rapide et leger, quasiment pas d'acces sql, tout en étant super souple puisque tout est automatique généré à partir de la bd

    Cédric

  3. #43
    Nouveau Candidat au Club
    Inscrit en
    Décembre 2003
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Smarty
    Personnellement, j'utilise Smarty.

    En voici les raisons principales:
    - Contrairement à ce que j'ai lu ici, sa syntaxe est simple.

    pour afficher une variable {$maVariable}
    $tpl->assign ('maVariable', $valeur);//coté PHP

    Pour les boucles,
    {foreach from=$array item=element}
    {$element}
    {/foreach}
    $tpl->assign ('array', array (1, 2, 3, 4));

    Et nous avons passé les 90% des besoins d'une application web.

    - Il est rapide -> ses templates sont compilés en PHP. Pas besoin donc de "parser" le fichier template à chaque affichage de page.

    - Il est extrêmement souple.
    Il est possible d'écrire ses propres balises en deux temps trois mouvements.
    Personnellement, je me suis développé des balises pour afficher des calendrier, des éditeurs de textes, des messages d'erreurs, ..., ...

    - Il dispose en standard de modificateurs de variables très biens pensés
    vous voulez n'afficher que les 30 premiers caractères d'un élément
    {$maChaine|truncate:30}
    Vous voulez protéger votre adresse email des webspiders avec une encryption (simple)
    {mailto adress=$monAdresse enctype=javascript}
    (Tout cela est assez bien documenté)

    - Il est "soutenu" par la communauté PHP, ce qui est signe de pérénité.

    Le seul inconvénient que je lui trouve, si c'en est un, c'est qu'il est nécessaire de disposer d'un serveur "configurable" pour les fichiers templates compilés. Ce qui exclu pas mal d'hébergeurs gratuits.

    La meilleure façon de tirer partie de Smarty:
    Utilisez un cache PHP pour supprimer les "lourdeurs" de la bibliothèque.
    Développez autant que ce peut vos propres tags pour vous faire économiser du temps sur vos développement.

    bref, amha ;-)

  4. #44
    Nouveau Candidat au Club
    Inscrit en
    Décembre 2003
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Phptal
    Personnellement j'utilise PHPTAL http://phptal.sourceforge.net/ pour les raisons suivantes :

    + 'utilisation d'attributs spécifiques permet de voir dans un navigateur le rendu des templates (pratique pour les designers)
    + les templates sont au format XML
    + Intégre un système permettant d'avoir des templates multi-langue
    + "compatible" avec les templates zope (grand nombre de ressources)
    + Intégre un système de cache
    + Les fonctionnalités sont restreintes se qui délimite bien la mise forme (PHPTAL), des traitements (PHP)

    A noter, que l'orientation totalement objet permet de surcharger les mécanismes de cache et de mutlilanguisme.

  5. #45
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    pour moi c'est celui de phpbb, car je le connais bien, et qu'il me convient...

  6. #46
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 24
    Points : 13
    Points
    13
    Par défaut Et pourquoi pas mala-template
    Bonsoir,

    Je prends la discussion en cours moi j'utilise Mala-Template sur un projet de portail. L'intérêt est qu'il est spécialisé dans la gestion des bases de données avec les templates.

    Je l'ai déjà mis en prod chez un client sur un intranet, par contre il ne propose pas encore de système de cache, je l'ai développé moi-même dans mon framework.

    Le site www.mala-template.net

    Stéph.

  7. #47
    Membre du Club
    Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2003
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2003
    Messages : 52
    Points : 47
    Points
    47
    Par défaut
    Il y a aussi une nouvelle version de la gestion de template de Pear, Flexy que j'aimerai bien essayer :

    --> http://pear.php.net/package/HTML_Template_Flexy

    Mais encore en version beta.

  8. #48
    Futur Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 4
    Points : 5
    Points
    5
    Par défaut template
    Pour ma part j'utilise un template proprietaire de ma creation.

    Avantage :
    - pas besoin d'apprentissage
    - plus adapté a mes besoin
    - un systeme proche des jsp/servlet
    - code compilé et caché

    Smarty ca a l'air bien mais trop trop complexe a mon gout

  9. #49
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 47
    Points : 45
    Points
    45
    Par défaut
    Salut
    Voilà, ce soir, j'ai décidé de me mettre concrètement aux templates et de tester quelques scripts éxistants.


    J'ai donc recherché un système de templates simple, souple, efficace, plutôt rapide (mais je ne développe pas de sites avec un traffic tel que je sois très regardant sur l'optimisation ). Je ne veux pas voir de programmation dans les templates (sinon ça sert à rien , autant rester en PHP => j'élimine déjà Smarty).

    Je dois au moins pouvoir spécifier dans mes templates des variables, des zones, pouvoir faire d'une manière simple des boucles sur une zone, pour par exemple afficher les résultat d'une requête MySQL (de préférence que ce soit moi qui gère avec for ou while).

    De plus, certains facteurs peuvent être appréciables, comme un système de cache, la lisibilité et la convivialité de la syntaxe, la langue d'origine, l'évolutivité (si les développeurs sont actifs ou si ça n'a pas bougé depuis deux ans), et enfin la documentation et les exemples.


    J'ai donc fait mon étude comparative sur les classes de templates citées sur ce topic : ModeliXe, Smarty, TinyButStrong, VTemplate, TPLN, PHPLib/PhpBB, XTemplate, FastTemplate, MALA Template, Flexy (PEAR), Icitrus. Je suis venu vous apporter mon travail pour que tout le monde en profite .


    Attention, ces données peuvent être incomplètes et sont à vérifier. Dans la plupart des cas, j'ai fait mes observations sur les exemples donnés. Il se peut que parfois j'ai mal interpreté les exemples ou qu'il y ait plusieurs manières de procéder .


    ModeliXe :
    - Syntaxe d'une variable dans le template : <mx:text id="Variable" />
    - Mise en forme directe : non
    - Syntaxe d'une zone dans le template : <mx:bloc id="Zone" >
    - Syntaxe pour répétition zone : for (...)
    - Programmation dans template : non
    - Système de cache intégré : oui
    - Url : modelixe.phpedit.com
    - Autres : FR, communauté active, très utilisé
    - Appréciations : Syntaxe spéciale par rapport aux autres, mais plutot bien dans l'ensemble

    Smarty :
    - Syntaxe d'une variable dans le template : {$title}
    - Mise en forme directe : non
    - Syntaxe d'une zone dans le template : {Section name=Zone}
    - Syntaxe pour répétition zone : {Section name=Zone loop=$article}
    - Programmation dans template : oui
    - Système de cache intégré : oui
    - Url : smarty.php.net
    - Autres : très utilisé
    - Appréciations : Il serait super si le template restait seulement un template, et qu'il n'y avait pas de programmation dedans.

    TinyButStrong :
    - Syntaxe d'une variable dans le template : [Variable]
    - Mise en forme directe : non
    - Syntaxe d'une zone dans le template : il n'y a pas de définition, c'est assez bizarre comme truc
    - Syntaxe pour répétition zone : $TBS -> MergeBlock ("blk1", $cnx_id, "SELECT * FROM t_tbs_exemples");
    - Programmation dans template : non
    - Système de cache intégré : oui
    - Url : tinybutstrong.com
    - Autres :
    - Appréciations : Bof bof à cause des définition zones et de la répétition prise en charge par la classe

    VTemplate :
    - Syntaxe d'une variable dans le template : {#Variable}
    - Mise en forme directe : non
    - Syntaxe d'une zone dans le template : <!--VTP_Zone-->
    - Syntaxe pour répétition zone : ?? pas trouvé dans les exemples, sûrement un for (...)
    - Programmation dans template : non
    - Système de cache intégré : oui
    - Url : vtemplate.sourceforge.net
    - Autres : Assez bien
    - Appréciations :

    TPLN :
    - Syntaxe d'une variable dans le template : {Variable}
    - Mise en forme directe : $TPLN -> Parse ("my_text_1", "Bold Text", "|B");
    - Syntaxe d'une zone dans le template : <bloc::Zone>
    - Syntaxe pour répétition zone : for (...)
    - Programmation dans template : non
    - Système de cache intégré : non
    - Url : tpln.sourceforge.net
    - Autres :
    - Appréciations : Pas trop mal

    PhpLib/PhpBB :
    - Syntaxe d'une variable dans le template : {Variable}
    - Mise en forme directe : non
    - Syntaxe d'une zone dans le template : <!-- BEGIN Zone -->
    - Syntaxe pour répétition zone : ?? pas trouvé dans les exemples, sûrement un for (...)
    - Programmation dans template : non
    - Système de cache intégré : non
    - Url : phplib.sourceforge.net
    - Autres :
    - Appréciations : Plutôt bien

    XTemplate :
    - Syntaxe d'une variable dans le template : {Variable}
    - Mise en forme directe : non
    - Syntaxe d'une zone dans le template : <!-- BEGIN: Zone -->
    - Syntaxe pour répétition zone : for (...)
    - Programmation dans template : non
    - Système de cache intégré : non
    - Url : sourceforge.net/projects/xtpl/
    - Autres :
    - Appréciations : Plutôt bien

    FastTemplate :
    - Syntaxe d'une variable dans le template : {Variable}
    - Mise en forme directe : non
    - Syntaxe d'une zone dans le template : <!-- BEGIN DYNAMIX BLOCK: Zone -->
    - Syntaxe pour répétition zone : for (...)
    - Programmation dans template : non
    - Système de cache intégré : non
    - Url : www.thewebmasters.net/php/FastTemplate.phtml
    - Autres : FR
    - Appréciations : Moyen

    MALA Template :
    - Syntaxe d'une variable dans le template : [[Variable]]
    - Mise en forme directe : non
    - Syntaxe d'une zone dans le template : <Zone>
    - Syntaxe pour répétition zone : Pris en charge par la classe
    - Programmation dans template : ?? je pense que non
    - Système de cache intégré : ?? je pense que non
    - Url : mala-template.net
    - Autres :
    - Appréciations : Bof (je n'aime pas la manière dont les boucles de zone sont faites)

    Flexy (PEAR) :
    - Syntaxe d'une variable dans le template : {Variable}
    - Mise en forme directe : {Variable:b}
    - Syntaxe d'une zone dans le template : ??
    - Syntaxe pour répétition zone : {foreach:var,key,value}
    - Programmation dans template : oui
    - Système de cache intégré : ??
    - Url : pear.php.net/packages/HTML_Template_Flexy
    - Autres :
    - Appréciations : Bof (je n'aime pas la manière dont les boucles de zone sont faites)

    Icitrus :
    - Syntaxe d'une variable dans le template : {Variable}
    - Mise en forme directe : non
    - Syntaxe d'une zone dans le template : <!-- @@@ Zone @@@ -->
    - Syntaxe pour répétition zone : ?? pas trouvé dans les exemples, sûrement un for (...)
    - Programmation dans template : non
    - Système de cache intégré : non
    - Url : www.icitrus.net/template.html
    - Autres : FR
    - Appréciations : Assez simple, plutôt bien (trop simple ??)
    Voilà

    Après avoir éliminé les scripts qui ne répondent pas à ma demande, voici les systèmes de templates que je vais regarder en détail avec des cas concret d'utilisation :
    • ModeliXe
      PHPLib
      XTemplate
      FastTemplate
      Icitrus
    Totofweb

  10. #50
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 47
    Points : 45
    Points
    45
    Par défaut
    Encore un point pour ModeliXe puisqu'en regardant de plus près sur leur site, il semblerait qu'il propose deux syntaxes dans les templates. L'une citée plus haut, propre à ModeliXe, et l'autre, plus traditionnelle avec des accolades, proche de FastTemplates.

    Je penche de plus en plus pour ModeliXe ...

    Totofweb

  11. #51
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 47
    Points : 45
    Points
    45
    Par défaut
    Après avoir lu la doc, mon choix semble plutôt se porter vers PHPLib.

    En fait, il se distingue deux groupes. C'était soit un système simple et rapide comme PHPLib, soit un système plus évolué s'éloignant un peu de l'origine des templates (mais pas autant que smarty), ModeliXe. J'ésite encore sur les deux.

    Lisez la doc, c'est très intéressant.

    Totofweb

  12. #52
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 47
    Points : 45
    Points
    45
    Par défaut
    Il semblerait que PEAR contienne une classe nommée Sigma et qui ressemble a première vu à celle de la PHPLib.

    Encore une classe à approfondir...

    Totofweb

  13. #53
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 44
    Points : 46
    Points
    46
    Par défaut
    Personnellement je penche plutôt vers phplib au vu de ses bonnes performances et de sa relative simplicité.

    A propos de phpLib, je voudrais savoir les différences entre le phpLib original, la version modifiée pour phpBB et une version adaptée par Pear (http://pear.php.net/package/HTML_Template_PHPLIB).

  14. #54
    Membre du Club
    Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2003
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2003
    Messages : 52
    Points : 47
    Points
    47
    Par défaut
    Interessant le comparo, je vois pas pourquoi la "complexité" de Smarty vous rebute, il suffit de pas utiliser les fonctions avancées... En tous cas moi je fais confiance a Smarty, car fait parti du site PHP, bonne doc, team de dev active a priori...

  15. #55
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 47
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par -COil-
    Interessant le comparo, je vois pas pourquoi la "complexité" de Smarty vous rebute, il suffit de pas utiliser les fonctions avancées... En tous cas moi je fais confiance a Smarty, car fait parti du site PHP, bonne doc, team de dev active a priori...
    Salut

    En fait, pour moi, utiliser les templates, c'est séparer le contenu (BDD ou autre), la présentation (templates) et la programmation (PHP). Je ne veux donc rien de plus dans mes templates que du code HTML (et bien sur JS, CSS), ainsi que des variables {Var} et des blocs <!-- BEGIN bloc -->.

    Je ne vois pas l'intérêt d'aller inventer un autre mini langage de programmation dans les templates Smarty, tant qu'à mettre un bout de prog, autant que ça soit en PHP.

    Totofweb

  16. #56
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 44
    Points : 46
    Points
    46
    Par défaut
    En tout cas, pour les débutants, je conseille absolument de prendre des bonnes habitudes dès le début. Personnellement j'utilisais pas les templates et je pensais que ce serait compliqué mais en fait, une fois qu'on a compris la logique de base, c'est très simple et génial pour faire un code simple, logique et facile à maintenir.

  17. #57
    Membre du Club
    Profil pro
    Consultant informatique
    Inscrit en
    Novembre 2003
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2003
    Messages : 52
    Points : 47
    Points
    47
    Par défaut
    Citation Envoyé par totofweb
    En fait, pour moi, utiliser les templates, c'est séparer le contenu (BDD ou autre), la présentation (templates) et la programmation (PHP). Je ne veux donc rien de plus dans mes templates que du code HTML (et bien sur JS, CSS), ainsi que des variables {Var} et des blocs <!-- BEGIN bloc -->.

    Je ne vois pas l'intérêt d'aller inventer un autre mini langage de programmation dans les templates Smarty, tant qu'à mettre un bout de prog, autant que ça soit en PHP.

    Totofweb
    Ben non, ya aussi la logique d'affichage et de presentation qu'il faut prendre en compte et qui doit etre traitée dans les templates.

  18. #58
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 44
    Points : 46
    Points
    46
    Par défaut
    Juste une question : quelle différence y a-t-il entre un système de templates et des fonctions correspondantes du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <html>
     <head>
         <title>{TITRE}</titre>
     </head>
     <body>
         <h1>{TITRE}<h1>
     
     
    // avec le code qui va avec dans le php pour créer le template
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function header($titre)
    {
      ?>
             <html>
              <head>
                  <title><?=$titre?></title>
              </head>
              <body>
                  <h1><?=$titre?>/h1>
     
      <?
    }
     
    //avec un simple appel de la fct avec arguments
    Je suis d'accord, la dernière méthode est bcp moins élégant qu'un système de templates mais niveau rapidité et performances, c'est quoi le plus rapide?

  19. #59
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 47
    Points : 45
    Points
    45
    Par défaut
    Niveau performances, une fonction est beaucoup plus rapide, mais l'intérêt d'un système de templates, c'est que cela propose des fonctions beaucoup plus avancées que de simplement écrire $titre.

    Totofweb

  20. #60
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 44
    Points : 46
    Points
    46
    Par défaut
    Ben lesquelles justement?

Discussions similaires

  1. Quel EDI utilisez-vous en 2012 pour le développement Web ? Pourquoi ?
    Par Community Management dans le forum Outils
    Réponses: 69
    Dernier message: 31/08/2016, 10h12
  2. Quels Frameworks utilisez-vous ? et pourquoi ?
    Par snipes dans le forum Android
    Réponses: 5
    Dernier message: 22/02/2013, 15h03
  3. Quel outil de supervision système utilisez-vous ?
    Par cyberzoide dans le forum Linux
    Réponses: 0
    Dernier message: 08/02/2013, 11h09
  4. Réponses: 8
    Dernier message: 10/11/2006, 19h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo