Les templates : moteurs et languages

Présentation

Par Moïse Déro

Ce site vous propose d'assimiler les concepts de templates en travaillant concrètement à la réalisation de scripts pouvant être les éléments d'un gestionnaire personnel de curriculum vitae, une mini plate-forme internet ou encore bien débuter avec la personnalisation de SPIP.

Qu’est-ce qu’un template

Définition

Le terme Template peut se traduire par modèle, gabarit ou patron. Les templates réclament un moteur (script) traitant un modèle de mise en page (le template).

Les fichiers templates sont des fichiers qui comportent la mise en page des pages. Ces fichiers peuvent portés, a priori, n'importe quelles extensions (html, tpl, txt, php, .. ).

Pourquoi les utiliser ?

Dans un même site PHP, un développeur utilise bien souvent plusieurs technologies (scripts PHP, balises HTML, scripts JavaScript, feuille de style CSS, balises XML ou encore des requêtes SQL). L'expérience montre qu'il devient difficile d'en utiliser plusieurs d'entres elles au sein d'un même fichier. Même assisté d'un éditeur doué de coloration syntaxique, l'exercice est délicat et la charge mentale lourde.

D'autant que parmi les premières recommandations en programmation est celle de bien distinguer les éléments de traitements de ceux d'affichage. Les templates ont cette qualité. De plus, ils sont réutilisables et forment autant de composants qui s'assemblent selon notre guise.

Qui peut utiliser les templates ?

Le développeur seul qui souhaite isoler scripts, données et mises en page trouvera là des méthodes de travail efficaces et propres.

Une équipe dont les membres ont des tâches délimitées et des avancements différents sur un projet (infographiste, codeur de scripts, spécialiste des bases de données) y trouvera la possibilité de travailler à plusieurs sans devoir tout connaître des différentes technologies utilisées.

Comment fonctionne un template ?

Le principe déjà évoqué est de séparer le code PHP de la mise en page HTML. Le code PHP dans un fichier, la mise en page contenant les balises HTML dans un autre fichier. On se retrouve alors avec, d'un coté, le script qui fait tout ce qu'il a à faire (ex: récupération de données dans une base de données, traitement…), et d'un autre coté, la mise en page avec des zones prédéfinies où seront placées les données générées par le script.

L'avantage évident est de pouvoir travailler uniquement sur la mise en page, sans modifier quoi que ce soit dans le code PHP et inversement, ou de diviser efficacement le travail à faire : le programmeur s'occupant uniquement de la partie scripting, et le designeur/infographiste, de la mise en page. Le schéma ci-contre illustre ce fonctionnement.

Attention toutefois, l'utilisation de templates sur un site oblige à prévoir davantage, d’imaginer ce qu’on souhaite obtenir avant de commencer à coder. Bref, il faut réfléchir initialement en terme de projet plutôt que d’esquisser le site.

Quand les utiliser ?

Dès qu'un projet requiert une même mise en forme, que l'on va utiliser des éléments d'une base de données, que l'on souhaite automatiser les choses et ne plus y revenir.

Dès que l'on est plusieurs de compétences différentes à travailler sur un même projet et que l'on souhaite segmenter efficacement le travail.

Si on veut créer des scripts pouvant réutiliser des bases d'autres scripts ou appelant les mêmes mises en formes.

Différents moteurs de templates

Il existe plusieurs dizaines de moteurs différents. En voici une liste non exhaustive, par ordre alphabétique.

Le site PHPindex a fait une étude comparative de certains d'entre eux en février 2002 (Étude de quelques templates ).

Choisir un moteur de template…

Comment choisir son moteur de templates. Il faut d'abord bien identifier ses besoins. Les questions suivantes permettent d'affiner le choix d'un moteur :

Pour ce cours, j'ai fait le choix de troix moteurs répondant à des besoins différents et fort intéressants du point de vue de l'acquisition des concepts de template.

Activités prévues du cours

Pour comprendre les templates, nous allons y aller pas à pas, de moteurs simples à moteurs complexes. Parmi les concepts clefs, nous verrons :

Pour ce faire, les exercices proposés en PHPlib et TPLN nous conduiront à construire les éléments d'un gestionnaire de cv (en PHPLib) et d'une mini plate-forme (en TPLN).

Nous emprunterons aussi des exemples à plusieurs projets existants.


Valid XHTML 1.1! Valid CSS!