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. #81
    Membre régulier
    Profil pro
    CEO
    Inscrit en
    Avril 2002
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : CEO

    Informations forums :
    Inscription : Avril 2002
    Messages : 84
    Points : 74
    Points
    74
    Par défaut
    Bonjour,

    je suis l'auteur de TPLN et je recherche quelqu'un pour faire un benchmark des différents templates (qui manquent cruellement dans cette étude).

    Si vous êtes intéréssé php_work@hotmail.com

  2. #82
    Membre averti Avatar de dacid
    Homme Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 063
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 063
    Points : 420
    Points
    420
    Par défaut
    Smarty est utilisé par le portail Xoops qui est déja un grand standard.
    C'est pourquoi je le conseille.

    ps: si vous cherchez un portail français, il y a ovidentia qui n'a pas l'ai mal.
    David.

  3. #83
    Exo
    Exo est déconnecté
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2004
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 26
    Points : 20
    Points
    20
    Par défaut
    On m'a fais découvrir les moteur de template que je connaissais, mais j'ai toujours cru que l'installation était difficile et que ce n'était pas facile à intégrer.

    Ben je me suis largement trompé

    J'ai utilisé PhpLib. Je ne peux pas juger les autres moteurs de templates parceque tout simplement je ne les ai pas testé.

    Pour ma part je retiens les avantages suivants de PhpLib:

    - Pas d'installation (il suffit de prendre le fichier template.inc.php)
    - Langage du tempalate on ne peux plus simple.
    - Pour la rapidité, il me semble que ca va vite, mais je n'ai pas d'éléments de comparaison.


    Voilà. Donc pour tous ceux qui hesite à mettre en place un système de template, je vous le conseille vivement. Je me rend compte maintenant que le code est BCP plus propre. Apres on peux moduler ces pages comme on le souhait.

  4. #84
    Membre éprouvé Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Points : 1 067
    Points
    1 067
    Par défaut
    moi je n'en ai utilisé qu'un seul : vtemplate

    et j'avoue qu'il y a une caractéristique qui me tape un peu sur les nerfs...
    j'aimerai savoir si c'est pareil pour tous les autres, à savoir :


    quand je défini une variable dans mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $vtp->setVar($handle,"lastname",$data['Lastname']);

    il doit impérativement avoir dans mon template, une variable correspondante (alors que la réciproque est fausse)

    or j'aurai voulu avoir un seul script et pleins de templates différents avec certains n'affichant pas tout.
    Or ici je ne peux pas, puisque tous mes templates doivent impérativement posséder une balise pour chaque setvar !

  5. #85
    ido
    ido est déconnecté
    Nouveau Candidat au Club
    Inscrit en
    Mai 2002
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Perso j'ai testé la phplib et vtemplate.

    J'aimerait trovuer un system de template qui gere la prcompilation de facon a eviter toute la phase de tretement du template.
    ido
    htp://www.dumas.tk

  6. #86
    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
    Je me repenche sur les systèmes de templates et je vois avec regret que ceux que j'ai pu télécharger sont obsolètes. Pour la plupart ils ne fonctionnent pas avec les register_globals à off et affichent pleins de warnings et de notices.

    Quels sont les systèmes de templates vraiment à jour (par exemple ModeliXe date de 2002, PHPLIB n'en parlont pas, VTemplates de 2001 je crois, ...)

    Merci
    totofweb

  7. #87
    En attente de confirmation mail
    Inscrit en
    Août 2004
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Au début je penchais plutôt vers phplib ou phpBB mais j'ai regardé Smarty de plus près et ca m'apparait vraiment comme la meilleure solution. D'abord c'est une des seules régulièrement mise à jour (garantie par le fait que smarty soit le template reconnu par php) et puis niveau performances c'est un des meilleures quand il est couplé à un accélérateur : http://smarty.php.net/benchmarks/ (enfin ca reste un bench fait par smarty mais bon)

    en plus smarty propose plus de fonctionnalités au designer qui n'a accès qu'au template. Par exemple, avec les autres templates, si il veut alterner la classe CSS des lignes d'un tableau (pour alterner les couleurs d'une ligne sur l'autre...) et bien on est obligé de le faire en PHP et tous les templates vont subir cette alternance. Le designer peut aussi vouloir mettre un titre en majuscule sur un des templates mais pas sur les autres et là encore seules des fonctions utilisateurs comme le propose smarty le permettent. Mais il est vrai qu'on peut vouloir que tous les templates soient obligés d'avoir tel formatage sur tel texte... En fait Smarty permet plus de liberté au templateur et moins de contrôle au codeur.
    Cependant il ya quelques petites choses qui me dérangent dans Smarty.
    Par exemple les boucles sur un tableau :

    Template
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <table>
      <tr>
        <td>ID</td>
        <td>Title</td>
        <td>Author</td>
      </tr>
      {section name="i" loop=$news}
      <tr>
        <td>{$news[i].news_id}</td>
        <td>{$news[i].news_date}</td>
        <td>{$news[i].news_title}</td>
        <td>{$news[i].news_author}</td>
      </tr>
      {/section}
    </table>
    Code PHP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
    include_once("config.inc.php");
    include_once(APP_INC_PATH . "class.template.php");
     
    $tpl = new Template_API();
    $tpl->setTemplate("example.tpl.html");
     
    include_once("DB.php");
    $dbh = DB::connect("mysql://user:passwd@server/database");
     
    $stmt = "SELECT * FROM news ORDER BY news_id DESC";
    $news = $dbhl->getAll($stmt, DB_FETCHMODE_ASSOC);
    $tpl->assign("news", $news);
     
    $tpl->displayTemplate();
    ?>
    J'aime pas trop le fait de traiter le tableau depuis le template. Par exemple si on change le nom d'un champ de la BDD (news_id devient id_news par exemple) et bien c'est le template qui doit être modifié et pas le code PHP. Et ca c'est pas vraiment la tache du designer Pour le coup la séparation logique applicative/logique présentative me semble pas judicieuse...
    De même pour les if dans le template. alors qu'avec les autres template on ferait ca (ces deux exemples : if et {section}) directement depuis le PHP avec les blocks.
    D'ailleurs le concept de block me semble pas très développé dans Smarty. Tous les exemples que je trouve utilisent des tags {section } et if pour faire des boucles ou des switchs, et j'ai encore trouvé aucun exemple utilisant les blocks. Ca doit pouvoir se faire, je ne demande qu'à être convaincu

    Enfin pour conclure sur une note positive (he ouais! smarty c'est géant!) je dirais que Smarty me semble quand même la solution de templating la plus aboutie disponible, mais je n'écarterais tout de même pas complétement un autre système de template : phplib/phpBB. Ils correspondent à un autre type d'usage mais ils sont tout de même défendable avec une autre approche que smarty.

    Toujours est-il que j'ai fait mon choix : Smarty!

  8. #88
    lpa
    lpa est déconnecté
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 39
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par Mathusalem
    moi je n'en ai utilisé qu'un seul : vtemplate

    et j'avoue qu'il y a une caractéristique qui me tape un peu sur les nerfs...
    j'aimerai savoir si c'est pareil pour tous les autres, à savoir :


    quand je défini une variable dans mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $vtp->setVar&#40;$handle,"lastname",$data&#91;'Lastname'&#93;&#41;;

    il doit impérativement avoir dans mon template, une variable correspondante (alors que la réciproque est fausse)

    or j'aurai voulu avoir un seul script et pleins de templates différents avec certains n'affichant pas tout.
    Or ici je ne peux pas, puisque tous mes templates doivent impérativement posséder une balise pour chaque setvar !
    jai tester vtemplate sous php5 sa marche plus ( du moin chez moi )
    sinon c' est vrais qu il est asser simple a prendre en main et assez prtique

  9. #89
    Membre à l'essai

    Profil pro
    Inscrit en
    Avril 2003
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 2
    Points : 20
    Points
    20
    Par défaut
    Citation Envoyé par totofweb
    Je me repenche sur les systèmes de templates et je vois avec regret que ceux que j'ai pu télécharger sont obsolètes. Pour la plupart ils ne fonctionnent pas avec les register_globals à off et affichent pleins de warnings et de notices.
    Quels sont les systèmes de templates vraiment à jour (par exemple ModeliXe date de 2002, PHPLIB n'en parlont pas, VTemplates de 2001 je crois, ...)
    TinyButStrong

    TinyButStrong a 1 an et demi.
    Il évolue encore (c'est moi le développeur ) et il y a un forum de support.

  10. #90
    lem
    lem est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Faaalllllling
    Cependant il ya quelques petites choses qui me dérangent dans Smarty.
    Par exemple les boucles sur un tableau :

    Template
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <table>
      <tr>
        <td>ID</td>
        <td>Title</td>
        <td>Author</td>
      </tr>
      &#123;section name="i" loop=$news&#125;
      <tr>
        <td>&#123;$news&#91;i&#93;.news_id&#125;</td>
        <td>&#123;$news&#91;i&#93;.news_date&#125;</td>
        <td>&#123;$news&#91;i&#93;.news_title&#125;</td>
        <td>&#123;$news&#91;i&#93;.news_author&#125;</td>
      </tr>
      &#123;/section&#125;
    </table>
    Code PHP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
    include_once&#40;"config.inc.php"&#41;;
    include_once&#40;APP_INC_PATH . "class.template.php"&#41;;
     
    $tpl = new Template_API&#40;&#41;;
    $tpl->setTemplate&#40;"example.tpl.html"&#41;;
     
    include_once&#40;"DB.php"&#41;;
    $dbh = DB&#58;&#58;connect&#40;"mysql&#58;//user&#58;passwd@server/database"&#41;;
     
    $stmt = "SELECT * FROM news ORDER BY news_id DESC";
    $news = $dbhl->getAll&#40;$stmt, DB_FETCHMODE_ASSOC&#41;;
    $tpl->assign&#40;"news", $news&#41;;
     
    $tpl->displayTemplate&#40;&#41;;
    ?>
    J'aime pas trop le fait de traiter le tableau depuis le template. Par exemple si on change le nom d'un champ de la BDD (news_id devient id_news par exemple) et bien c'est le template qui doit être modifié et pas le code PHP. Et ca c'est pas vraiment la tache du designer Pour le coup la séparation logique applicative/logique présentative me semble pas judicieuse...
    tu pourrais faire qqchose dans ce style (non testé) :
    php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    &#40;...&#41;
    while&#40;list&#40;$col_name, $col_value&#41; = each&#40;$news&#41;&#41; &#123;
           $NEWS&#91;$col_name&#93; = $col_value;
    &#125;
    $tpl->assign&#40;"news", $NEWS&#41;;
    &#40;...&#41;
    tpl:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    &#40;...&#41;
      &#123;section name="i" loop=$NEWS&#125;
      <tr>
         &#123;section name="name" loop=$NEWS&#91;$i&#93;.$col_name&#125;
              <td>&#123;$NEWS&#91;i&#93;&#91;name&#93;.$col_value&#125;</td>
         &#123;/section&#125;
       </tr>
      &#123;/section&#125;
    &#40;...&#41;

  11. #91
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 15
    Points : 17
    Points
    17
    Par défaut
    Bonjour, j'ai fait un moteur de tmeplate
    vous pouve zle trouvez à cette adresse :
    http://xosc.org/index.php?module=pro...ad&projectid=1

    Il n'y a pas de doc
    mais mon projet Xosc :
    http://xosc.org/index.php?module=pro...ad&projectid=2
    l'utilise

  12. #92
    Membre régulier Avatar de zamanika
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 106
    Points : 102
    Points
    102
    Par défaut
    Salut,

    Après avoir lu ce topic, je me suis décidé pour phplib. En fait je me suis taté entre phplib, phpbb et smarty, mais faut bien faire un choix. J'ai choisi phplib, un peu au pif et aussi un peu parce que ca avait l'air d'être le plus simple : pas 10000 fonctions, juste ce qu'il faut.

    Je suis satisfait : il fait le minimum syndical qu'on peut demander à un template, avec juste un fichier à mettre sur son site (dont le fonctionnement n'est pas trop dur à comprendre, au moins dans les grandes lignes). La prise en main est trés rapide : il suffit de trouver un tuto sur le oueb, de faire l'exemple une fois et c'est parti !

    J'ai pas testé d'autres systèmes, donc je peux pas dire s'il est meilleur ou pas, juste qu'il fait ce que j'attendais de lui : remplacement de variables et remplacement de block.

    Peut-être qu'à l'occase j'en testerai d'autres, mais pour mes besoins actuelles, phplib est parfait.

    En tout cas quelque soit le système, ce qu'il y a de sur c'est que la séparation code/html c'est un véritable gain de temps pour développer

  13. #93
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 89
    Points : 114
    Points
    114
    Par défaut
    Personnellement j'attends d'un moteur de template qu'il soit simple. Comme certains l'ont à peine dit, je me permets d'enfoncer le clou: smarty n'est pas un moteur de templates, c'est une surcouche inutile de php.

    En gros face à smarty on a deux choix:
    - soit on n'utilise pas le dixième de ses possibilités
    - soit on se retrouve avec des templates que seul un programmeur saura lire... super pour le designer -_-

    Pareil pour le couple xml/xslt:
    - il n'existe aucun outil de création graphique qui fasse du xslt, alors mon copain designer qui fait des super trucs sous dreamweaver, il en fait quoi de votre machin over-compliqué que même un programmeur expérimenté a du mal à se fader ?
    - c'est très complexe, et très moche (à part les vrais habitués, personne n'arrive à relire une xsl), à l'instar de perl, ce qui est totalement l'opposé de ce qu'on attend d'un moteur de templates.

    Je trouve qu'on ne devrait demander que 3 choses aux moteurs de templates:
    - variables (genre {mavar})
    - blocs (genre {begin:bloc}...{end}) imbricables, et répétables bien sûr.
    - à la rigueur des conditionnelles, encore que les blocs le font très bien (répéter 0 fois), (genre {if:condition}...{end}). Avec le else qui va avec bien sûr, un elseif sera aussi apprécié quoiqu'accessoire.

    On devrait partir d'une syntaxe ne possédant que ces 3 éléments, et NE RIEN AJOUTER. à la rigueur des fonctions de formatage (de date par exemple), de variables prédéfinies (la date actuelle par exemple). Plus on en rajoute, et plus on se rapproche du processus qui a mené Rasmus Lerdorf à écrire PHP: autant réécrire un langage, ou bien s'arrêter avant d'en faire trop (ce que smarty n'a pas su faire à mon sens).

    Dans cette optique, beaucoup paraissent sympa, j'ai bien aimé tinybutstrong, mais je me suis surtout fait mon propre moteur, avec le strict minimum (les 3 points ci-dessus, plus quelques éléments de formatage), et ça a un avantage: c'est très rapide.

  14. #94
    Membre éclairé
    Avatar de genova
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 487
    Points : 790
    Points
    790
    Par défaut
    Personellement je suis en train de coder le miens, basé sur l'interface phpLIB (l'interface template) mais parsé de manière différentes.
    Testez le forum Fire Soft Board, un forum libre, gratuit et français.

    Système de template de phpBB - Lisez la FAQ PHP avant toute question si vous débuttez en PHP.

  15. #95
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 89
    Points : 114
    Points
    114
    Par défaut
    Après mon message j'ai repris un ancien projet de template, je l'avais commencé l'année dernière, et j'ai profité de cette expérience pour en refaire un un peu plus avancé. Histoire de ne pas faire le gars qui critique sans faire avancer le schmilblick (m'emm***ez pas ça s'écrit comme on veut ).


    Il se présente pour le moment en 2 classes:

    - BasicTemphplate gère les blocs (imbriquables) et les variables selon la forme {block:nom_du_bloc}...{end:block} et {nom_de_la_variable}. Il y a quelques variables prédéfinies: {get:variable_passee_en_GET}, {post:idem_pour_POST}, {glob:variable_globale_de_php} (déconseillée, pas vraiment dans l'esprit template), {std:now}, {std:version}, etc...

    - Temphplate (hérité de BasicTemphplate) gère les blocs conditionnels: {if:condition}...{elseif:condition}...{else:}...{end:if}. On peut bien sûr les imbriquer. Il gère également l'inclusion de sous-templates avec {inc:nom_du_template}, et 2-3 autres trucs sympa (possibilité de définir soi-même des tags {tag:param} et leurs effets, exécution d'un script php dont le résultat est inclus dans la template, affichage de date formatée, etc...).


    J'ai ajouté beaucoup de fonctionnalités pas forcément utiles mais la possibilité de définir soi-même des tags avec la méthode addCommand( nom_du_tag, fonction_de_callback [ , masque_pcre_de_reconnaissance_de_param [ , options_du_masque ] ] ) le rend très extensible très simplement (je suis pas peu fier je l'avoue ).

    Je vous le présenterai dans ce thread quand je le jugerai plus mûr:
    - quand il aura un peu plus de 2 jours déjà
    - quand j'aurai débuggé un peu l'affaire
    - quand j'aurai ajouté de la gestion d'erreur, et des vérifications de syntaxe de template
    - quand j'aurai ajouté la gestion de source de données (je suis séduit par la méthode de TinyButStrong).

    Une fois tout ceci fait le moteur se présentera sous la forme d'un unique fichier de moins de 40Ko (commentaires inclus ), et je n'aurai plus qu'à faire des bench pour venir me frotter aux ténors
    Je ne sais pas encore si j'ajouterai une solution de cache... À voir s'il vaut mieux ça ou simplement faire un package avec une solution de cache existante fournie (type jpcache), et l'integrer correctement dans la librairie.

  16. #96
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 15
    Points : 17
    Points
    17
    Par défaut
    Ouah ! très intéressant naholyr ! N'oublie surtout pas de prévenir quand tu la publiera !

  17. #97
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 89
    Points : 114
    Points
    114
    Par défaut
    http://temphplate.sf.net

    Il y a encore pas mal de choses à faire, mais je suis un peu déçu par mon propre emballement, à vouloir trop en faire j'ai failli sombrer dans le smartysme , bref vous me direz bien ce que vous en pensez hein.

    Note: il n'y a pas encore de belle doc utilisateur, mais promis j'y travaille. Il y a juste un set d'exemples qui fait office de tuto et la doc de la classe (générée par phpDocumentor).

  18. #98
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2004
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 15
    Points : 17
    Points
    17
    Par défaut
    J'irais voir un de ces jours (en ce moment très occupé :'( )

  19. #99
    Membre expérimenté
    Avatar de fabszn
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 974
    Points : 1 638
    Points
    1 638
    Par défaut
    Bonjour,

    Est ce que les templates peuvent être assimiliés à un frameWork?

    J'avoue ne pas très bien comprendre le fonctionnement des Templates..

    Est ce que quelqu'un aurait une explication pour un novice?

    Merci d'avance,

    @+

    Fabszn

    un javaiste se mettant au PHP...
    @+

    Fabszn
    Twitter : @fsznajderman

    N'oubliez pas le bouton
    Comment bien poser ses questions sur le forum


  20. #100
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 89
    Points : 114
    Points
    114
    Par défaut
    Un moteur de templates est un programme (un module, une librairie, etc...) qui va avoir pour rôle de "lier" contenu et présentation.

    En pratique tu vas avoir 1 fichier s'occupant de la présentation, c'est ce qu'on va appeler le modèle (en général on utilise le terme anglais "template"). Il s'agit d'un squelette de présentation.
    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <html>
    ...
    <body>
    <h1>ICI MON TITRE</h1>
    <p>ICI MON TEXTE</p>
    </body>
    </html>
    On va avoir un autre fichier qui se chargera de générer le contenu. Typiquement ce sera le rôle de ton script PHP, qui va aller chercher des données, et en déduire un contenu (en général le contenu est même directement issu des données, voire identique).

    Enfin le moteur de templates va alors lier le contenu et la présentation.
    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
     
    // extraction des données
    $data = ...;
     
    // on en déduit le contenu
    $titre = "mon titre";
    $texte = "mon texte";
     
    // on fait appel au moteur de templates pour lier le contenu 
    // à la présentation
    ...
     
    // et qui va afficher le résultat
    <html>
    ...
    <body>
    <h1>mon titre</h1>
    <p>mon texte</p>
    </body>
    </html>
    L'intérêt principal est le même que celui des CSS, ou encore le même que celui des XSLT: séparer données, contenu et présentation.
    1. On a un seul fichier à modifier pour que cela se répercute sur toutes les pages du site.
    2. Il n'y a pas de code PHP dans le fichier de présentation. Un designer peut donc travailler à soigner la présentation, et le résultat est directement exploitable.

    Inconvénient: le designer doit apprendre un "pseudo-langage" (encore que...), et le développeur doit faire appel à en général 3 ou 4 nouvelles fonctions. Insurmontable

    À peu près idéalement on a:
    - Les données (base de données, ou fichiers XML). Gérées par l'administrateur BD ou le webmaster.
    - Le contenu (généré par PHP à partir des données). Géré par le développeur.
    - La présentation (fichiers html + css, ou fichiers xml + xslt). Gérée par le designer.
    - Le moteur qui lie présentation et contenu.

    Enfin la notion de "idéalement" est discutable après hein

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, 11h12
  2. Quels Frameworks utilisez-vous ? et pourquoi ?
    Par snipes dans le forum Android
    Réponses: 5
    Dernier message: 22/02/2013, 16h03
  3. Quel outil de supervision système utilisez-vous ?
    Par cyberzoide dans le forum Linux
    Réponses: 0
    Dernier message: 08/02/2013, 12h09
  4. Réponses: 8
    Dernier message: 10/11/2006, 20h33

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