S'il y a bien un point qui a été débattu sur dotclear 2 par rapport à dotclear 1, c'est bien la couche intermédiaire qu'il ajoute pour les développeurs de thèmes, à savoir son moteur de templates.
Pour faire son propre thème, plus besoin de coder des pages en PHP, un nouveau langage intermédiaire a été introduit. Et cela, d'abord pour des raisons de souplesse : ce langage est converti en code php, ce dernier étant stocké en cache. Le theme-designer n'a pas à maîtriser PHP pour faire son thème Ensuite, parce qu'empêcher l'utilisation de PHP, c'est aussi empêcher d'insérer du code potentiellement vulnérable.
Dans le principe, c'est plutôt simple : lorsqu'un utilisateur va sur une page du blog, dotclear va chercher le fichier de template correspondant, le transforme en un fichier PHP, et exécute ce dernier. Le fichier PHP est bien entendu placé en cache afin de ne pas repasser systématiquement par la case compilation.
Je vais essayer de décrire les rouages du compilateur/moteur de templates dans ce billet, ainsi que les évolutions qui lui ont été apportées depuis la 2.1.7.
(Attention, contenu très technique inside)
