Bonjour à tous,

J'ai fais quelque recherche sur les templates cet après-midi pour en savoir un peu plus sur ce sujet.
Deux sites ont retenu mon attention :
http://www.bertrand-soulier.com/php/tutoriaux/template1.php
http://www.phpcodeur.net/articles/php/templates
Mais maintenant, je suis un peu perdu.
Je cite :
a écrit :
Le principe est de séparer le code php de la mise en page html

Or pour moi la mise en page est dans le Css qui est également en dehors du code html. Il est en permanece cité ce site : http://www.csszengarden.com/

Donc pour celles et ceux qui utilisent ces techniques, serait-il possible de m'en dire plus ?

Merci d'avance pour vos futures explications

JP

Edit : Un exemple concret serait le bienvenue. Je suis plustot pratique que théorie
Modifié par tibrus (01 Nov 2005 - 10:07)
Bonjour, les templates te permettent de separer contenu et traitement egalement. Je m'explique, dans ton ficher template,tu as que du XHTML, et ton php(asp, jsp et autres) et toutes tes requetes etc, sont dans un fichier à part; le moteur de templates se charge alors de faire le "lien" entre ton traitement et ton contenu. Et pour la mise en forme, c'est egalement séparé, par ta css.Cest toujours ce principe pour mieux régner, tu te melanges plus entre ton contenu, ta mise en forme, et le traitement. J'ai essayé de faire simple, jespere que j'ai reussi Smiley cligne
Oui mais ou se trouve le fichier .htm (.html) dans tout cela ?

Et en regardant les exemples des sites, on affiche le .php pour permettre le lien avec le Tpl qui contient lui la partie Html tel que je le comprends.

C'est pas l'inverse en générale, le .htm qui appel le .php ?

JP
Salut,

Un .html (ou .htm) n'appelle pas un .php.
Le .php est exécuté sur le serveur, ce qui génère (sauf cas particuliers) un flux html (donc le contenu d'une page) qui est envoyé au client.
Quand tu tapes l'adresse d'une page en .php, c'est bien une page html qui arrive chez toi : il suffit pour t'en convaincre de regarder le code source de la page affichée dans ton navigateur.
Je te conseille la lecture de cette page chez Phpdebutant.
Effectivement mauvaise explication de ma part.

C'est que ma page index.htm, se rafraichie en automatique vers une index.php. C'est déjà le premier point ou j'ai confondu.
Et secondo, abus de langage, je parlais également dans ma tête des includes. Qui dans un sens sont appelés également mais par, et la aussi j'ai merdé, des pages PHP (et non de l'HTML).

Méa Culpa Marvin

En passant vous n'avez pas des sites (que je n'aurais pas encore trouvé) qui explique avec de la pratique ces "maudits" template.
J'ai toujours du mal à comprendre leur utilité

JP
Alors voila, j'ai testé cela :

Test.php
<?php
include('template.php');
include('config.php');

// On créé une instance de la classe template, passez en paramètre le répertoire ou se trouvent tous vos fichiers templates
$template = new Template('./');

// On assigne a un alias "test" le nom du fichier .tpl qu'on compte utiliser
$template->set_filenames(array('test' => $fichier_tpl));

$template->assign_vars(array(
	'NAME' 	=>	'Mon Nom',
	'IP'	=>	$_SERVER['REMOTE_ADDR'],
));

// On parse le fichier HTML, c'est à dire qu'on assigne aux fichier template toutes les données qu'on à créer dans le .php
$template->pparse('test');
?>

Config.php
<?php
$fichier_tpl = 'test.tpl';
?>

Test.tpl
<b>Test !</b><br />
Je m'appel <b>{NAME}</b> et mon adresse IP est : <i>{IP}</i>

Test1.php
<b>Test !</b><br />
Je m'appel <b><i>{NAME}</i></b> et mon adresse IP est : <i>{IP}</i>

Bon je vois pas trop l'avantage de mettre autant de ligne pour réaliser cela.

JP
salut,

je viens de passer une journée sur les templates, et leurs réelle utilité est toujours difficile a bien comprendre...

super forum a lire les 17pages
exemple
Ca reste néamoins un "cadriciel" de template, le mot "moteur" en ce sens reste subtile et à l'appréciation de chacuns.

PHP est un moteur de templates en lui même, surement le meilleur, mais il n'a jammais eu de cadriciel clair, laissant plusieurs tentatives naitre, en oubliant ce qu'était une des forces principales de php à la base.

Force est de constater qu'aucun n'arrive à la cheville de php, je défendais flexy dernièrement, mais je l'ai finalement abandonné, puisque, comme tous les autres, je me suis retrouvé à un moment limité. Les avantages que je lui trouvais à l'époque, avec l'arrivée de php5 n'en sont plus : la manipulation DOM se fait très bien avec l'extension DOM comprise de base dans php5, le filtrage automatique des variables, se gère facilement soit en __get(), soit en __set()... Et l'on dispose en plus de toute la puissance du langage php.

Oui, j'ai changé d'école (j'ai eu une révélation : tout système de template alternatif est une perte de productivité, et même de bon sens ) et il fallait quand même que je l'avoue. Embarassed


en bref je retiens il fait séparer la forme du contenu mais avec ses propres moyen, les templates étant bien trop lourd et complexe
pour moi la reelle utilite des templates la maintenance et la propete du code
un code php
un code xhtml(template)
un code css
et je ne comprend ce que vien faire php5 et ces fonctionnalité dans l'histoire

moi j'utilise smarty, un patern mcv, et les propiete de php5 (methodes magic, dom ...)pour mes objets metiers.
tibrus a écrit :


En passant vous n'avez pas des sites (que je n'aurais pas encore trouvé) qui explique avec de la pratique ces "maudits" template.
J'ai toujours du mal à comprendre leur utilité

JP


Bonjour Tibrus,

pour mieux t'expliquer les templates :

http://www.phpcodeur.net/articles/php/templates

Sinon, pour t'orienter :

Si tu dois un jour travailler avec un graphiste, tu souhaiterais ne t'occuper que du code php. Les templates contiennent le code html dans des fichiers .tpl, dans lesquels php fait un passage de variables. Autrement dit, tu touches au fichier "entete.php", pendant que ton ami graphiste travaille sur le fichier "entete.tpl", et vous communiquez entre vous les noms de variables.

Autre intérêt ? Si tu as une erreur quelque part, toute ta page n'est pas pourrie par l'erreur, mais seulement le template concerné.

On a tendance à penser qu'il faut éviter la multiplication des fichiers sur un site : les templates augmentent considérablement ce nombre. Donc, pour bien gérer les templates, il faut un bon système de nommage et un bon système de découpage des pages.

Bon dev'.
Bonsoir,

Merci Mohican83
Après 1 an post attire du monde encore. C'est plutôt marrant.
C'est également marrant car pour raison perso, une vie de papa bien rempli, j'avais laissé tombé le dev web.

J'ai repris il y a de cela 1 mois environs pour réaliser celui de la crèche de mon petit bout. Et j'ai refais des recherches sur le système de template.

J'en arrive perso à cette conclusion. Hormis séparer l'Html du Php, je ne vois pas trop l'intéret. Quand tu regardes le site de Zen Garden, tu peux constater qu'il réalise de jolie chose rien quand faisant joujou avec le Css.

Donc je vais faire ma page Html ave du Php dedans pour les If et autres. Ensuite avec le Css je ferais les changement de design.

C'est l'option que j'ai choisi. Je pense pas que utiliser des templates va me simplifier la vie dans ce cas.

Je ne choisirais pas non plus Smarty. En recherchant des infos sur les templates, j'ai vu trop de post se plaindre de l'usine à gaz qu'es Smarty

++

JP