Pourquoi ne pas utiliser PHP comme moteur de Template

Pour répondre à cette question, je vais m’appuyer sur un article publié par Fabien Potencier sur le sujet: Templating Engines in PHP. Fabien Potencier est un membre très actif de la communauté symfony, il est aussi le PDG de la société Sensio à l’origine du projet.

Il décrit dans cette article les différentes raisons qui l’ont fait changer d’avis sur les templates PHP. En effet, aujourd’hui, j’utilise souvent PHP pour construire mon HTML rapidement sous la forme de templates simpliste (passage de variable par fonction extract puis utilisation dans un fichier HTML template).

Pour un développeur cette méthode fonctionne à merveille mais n’est pas très souple. Dès que l’on doit rajouter une nouvelle information, il faut repasser dans le HTML, le PHP, parfois le JavaScript pour réorganiser le tout… Rapide me direz-vous? Pas si on remet le template à sa place.

En effet le Template sert normalement à gérer l’affichage des données. En modèle MVC, il est utilisé dans les vues pour mettre en forme les données transmises par le contrôleur. Pour cette raison, un Web Designer peut conscient des technologies PHP doit pouvoir s’approprier facilement les Templates pour les modifier. Il ne devrait pas se soucier des données, de la forme, l’encodage, le découpage, la cesure et tout ce qui s’en suit…

Par rapport à se constat, PHP n’est pas un moteur de Template adapté pour être utilisé dans une équipe de création structurée et multi-compétences. Pour cela des moteurs de Template simples (attention à utiliser pas à réaliser) comme celui utilisé dans le FrameWork Django. Il en éxiste d’autres mais je trouve celui-ci vraiment souple et puissant par rapport à d’autres.

Il utilise une syntaxe et un interpréteur développer spécifiquement pour répondre à la besoin de la création de Templates. Il est possible d’utiliser des variables, de faire des boucles, des conditions booléennes de l’inclusion de fichier, des filtres sur les données (couper quand trop long, mise en minuscules/majscules…). La syntaxe très simple peut être utilisée par n’importe quel public technique non développeur (Monteur, Web Designer, …).

Un éventail des possibilités de ce moteur de template se trouve sur le site: http://www.biologeek.com/django,traduction,web-frameworks/le-langage-de-template-django-pour-les-auteurs-de-templates/

La documentation est accessible directement sur le site du projet Django: http://docs.djangoproject.com/en/dev/ref/templates/builtins/

  1. Aucun commentaire pour l'instant

  1. Aucun trackback pour l'instant