Créé le 28 avril 2004
Modifié le
Pages actives serveur > Templates HTML

Les Templates HTML

Présentation des Templates HTML

Le développement de sites Web dynamiques s'appuyant sur des applications serveur, bases de données principalement, a amené les développeurs à séparer plus strictement le contenu de la mise en forme d'une page Web, afin de permettre une maintenance et une évolutivité accrues des sites. C'est ainsi qu'est née l'idée d'intégrer des scripts au sein de pages HTML dès 1994.

Ces pages HTML qu'on appelle templates (traduit par modèle, gabarit ou encore cadre) donnent les contours fixes de la page (la position des éléments : tableaux, zones de texte, images ...) et sont paramétrées par des variables et des scripts (surtout des scripts serveur) placés entre des balises spécifiques. Plus concrètement, les templates indiquent comment les données issues d'applications serveur seront insérées dans la page HTML et quelle mise en forme leur sera appliquée.
Voici un exemple de Template HTML simple:

<HTML>

<BODY><H1>Titre</H1>

<%SELECT Q1 = "SELECT..."%>

<TABLE>

<TR><TD>"A1"</TD><TD>"A2"</TD></TR>

<%ITERATE Q1 %>

<TR><TD>%Q1.A1%</TD><TD>%Q1.A2</TD></TR>

<%END-ITERATE%>

<TABLE>

</BODY>

</HTML>

Le template envoie une requête SQL (SELECT...) à la base de données et affiche le résultat sous forme d'une table HTML (balises <TABLE>, <TD> et <TR>).

Fonctionnement des Templates HTML

Le problème qui se pose pour un site qui utilise des données issues directement d'une base de données (par exemple, des résultats à un questionnaire, des informations personnalisées concernant le visiteur, ...) est qu'on ne peut pas définir a priori le nombre de résultats qui seront retournés, à moins bien sûr d'inclure dans le code HTML toutes les combinaisons possibles, ce qui devient vite impossible pour des sites s'appuyant sur de grandes masses d'information.
Un exemple de retour (1 résultat):

Un autre exemple de retour (4 résultats):

Le principe du template va dès lors consister à générer la page HTML finale directement depuis le serveur. Le template HTML se présente comme un fichier HTML stocké sur le serveur. A l'appel d'une page Web référençant un template, un interpréteur (ou moteur de templates) prend en charge le template, le lit, le décode, accède aux applications demandées par les scripts et remplacent les variables par les données correspondantes avant de produire, toujours depuis le serveur, la page HTML finale qui peut ensuite être envoyée sur le navigateur client. On parle de pages actives côté serveur.

Le schéma montre qu'il s'agit en fait d'une couche supplémentaire au niveau du serveur qui permet le traitement dynamique des données et les combinent à la mise en forme. Un template peut être commun à un grand nombre de pages, ce qui assure une homogénéité du site, mais il est également possible qu'une page Web référence plusieurs templates à la fois selon les actions des utilisateurs.

Avantages et inconvénients des templates

La technique des templates, qui est à la base de PHP, des ASP et des JSP, a su démontrer ses multiples avantages au fur du temps. Parmi ceux-ci, les plus notables sont :

  • Les templates, en ce qu'ils sont essentiellement constitués de HTML, restent assez abordables par un webmaster sans grande connaissance en programmation ou un graphiste.
  • Ils permettent un partage des tâches au sein d'une équipe de maintenance d'un gros site : les programmeurs d'un côté, les designers de l'autre, puisqu'on observe une séparation nette du contenu et de la mise en forme.
  • Un site dynamique à contenu fort évolutif sera mis à jour rapidement tout en conservant une homogénéité d'ensemble.
  • La page étant composée dynamiquement du côté serveur, le navigateur client pourra toujours lire l'information, personnalisée selon ses requêtes.

Par contre, il faut souligner que :

  • Les templates, même s'ils sont relativement abordables du point de vue technique, requièrent néanmoins quelques connaissances techniques.
  • Cette technologie demande du temps pour être implémentée, temps rapidement capitalisé pour des sites importants, mais convient peu à des sites essentiellement statiques et de petite taille.

Liens utiles

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

Un excellent tutorial sur les Templates. Une ressource très utile.
http://www.smile.fr/content/smile/technologie/contmgt/livreblanccms/lbcms templates.htm

http://www.asp-php.net/scripts/asp-php/template.php


Haut de page