Un système de gabarits XSLT ?
Un système de gabarits XSLT ? Pourquoi ? Pour qui ? En 2002, Rasmus Lerdorf, le créateur de PHP, a exprimé son scepticisme vis-à-vis des systèmes de gabarits. Difficile de lui donner tort.
Il arrive régulièrement qu'un utilisateur de PHPBB souhaite pouvoir insérer du code PHP dans un gabarit. Effrayant. Il existe même des modifications prêtes à l'emploi pour accélerer ce massacre. Cette situation grotesque produit une application PHP qui lance un moteur de templates qui lui-même va compiler du code PHP. Difficile defaire plus absurde et plus gourmand en ressources. Autant supprimer le moteur de templates pour ne garder que le PHP.
IPB ne dispose pas de système de gabarits. De simples fonctions suffisent pour gérer les gabarits. Ce qui explique en partie la légèreté relative de ce produit. par contre, et tout comme vBulletin, IPB utilise un pseudo langage interne : l'HTML Logic. Il est déjà possible de réaliser des tests logiques au milieu d'un gabarit. Un jour quelqu'un regrettera probablement de ne pas pouvoir faire des boucles, de ne pas pouvoir faire appel à des macros... La tentation sera grande pour réinventer la roue avec ce pseudo langage. Arriver à faire du PHP au milieu des gabarits HTML, mais sans avoir la culpabilité de faire du PHP au milieu des gabarits HTML.
PHP est et restera un système de gabarits, même très évolué. Au début, c'était un outil pour me simplifier la vie avec les affichages HTML. Un jour, on m'a demandé d'ajouter l'instruction if, et je l'ai ajouté. Puis, on m'a demandé else, et naturellement, je l'ai ajouté. Et les boucles while et for ont suivi.. Certes, aujourd'hui, c'est bien plus qu'un simple langage de gabarit. Mais si vous regardez les applications de gabarits qui sont publiées, elles commencent aussi à intégrer des conditions et des boucles. Elles finiront par refaire ce que fait PHP, une couche au-dessus de PHP. C'est inutile!
Août 2002, dans un article publié sur PHPIndex, Armel Fauveau arrive à la conclusion que le couple XML/XSLT permet d'aborder les système de gabarits sans réinventer la roue et en utilisant des technologies normalisée, documentées, indépendantes d'un éventuel langage, etc. La combinaison XML/XSL possède un atout de taille : son universalité. Mais encore une fois l'obstacle réside du côté client. Avec des systèmes comme Smarty, l'utilisateur doit apprendre un nouveau langage, lorsqu'il souhaite manipuler les gabarits HTML. Avec les transformations XSL, et surtout s'il est néophyte, il va "déguster"...
Ceci amène à une question fondamentale : pour quel public-cible est destiné phpStudio ? Des ingénieurs parlant couramment le PHP / XHTML / CSS / XML / XSLT/XFORM... ? Des individus "normaux" (par rapport à qui ? à quoi ?) ? Des néophytes qui souhaitent des forums de discussion mais ignorent jusqu'à l'existence et l'orthographe des mots "bonjour" et "merci" ?
Commentaires (3)