PROJET AUTOBLOG


Tontof

Site original : Tontof

⇐ retour index

KrISS feed intègre RainTPL, enfin presque

jeudi 14 novembre 2013 à 18:28
RainTPL est le template PHP utilisé par exemple dans Shaarli.

L'avantage d'utiliser un moteur de template c'est de grandement simplifier les vues associées au code. L'inconvénient, c'est que ça alourdit l'exécution du code (tout est relatif avec l'utilisation d'un cache et de la compilation des templates en PHP).

Sauf qu'avec KrISS feed, il y aura l'avantage sans l'inconvénient. En fait j'ai intégré RainTPL dans le dossier source src ce qui me permet d'avoir un code source et des templates plus légers, plus lisibles et donc plus simples à maintenir. Quand je compile le fichier index.php j'intègre directement les templates php générés par RainTPL et supprime les dépendances à RainTPL pour faire comme avant.

En gros je suis en train de supprimer le script generateIndex qui était en bash et j'ai créé un fichier make.php qui me permettra plus de souplesse à terme et qui permettra à un plus grand nombre de compiler le fichier index.php. Pour le moment le fichier make.php est spécifique à KrISS feed, mais j'espère bien le rendre plus générique pour l'adapter à d'autres projets.

Pour illustrer ce que ça a apporté, dans le dossier des templates tpl :
- avant 86329 octets
- après 74541 octets
Pour l'index.php généré:
- avant 9327 lines 328009 octets
- après 9204 lines 327510 octets

Donc en gros pour les utilisateurs finaux pas beaucoup de changements, mais le code continue de s'améliorer et ça c'est chouette :-)

Il faut savoir que RainTPL n'est plus vraiment maintenu dans sa version 2 et que j'ai eu quelques problèmes avec.

- J'ai essayé quand même de poster sur github un de mes problèmes et je n'ai eu aucun retour en 1 mois. Heureusement ce n'était pas bien important, juste un comportement bizarre facilement contournable.

- J'ai également dû intégrer un pull request qui permet de corriger des problèmes liés à l'interprétation des points dans les chaînes de caractères.

- Enfin Nodd a identifié un autre problème lié à l'utilisation du signe égal dans une chaîne de caractères lors d'une affectation que j'ai pu heureusement contourner assez simplement.

Malgré tous ces problèmes, je pense que RainTPL est une bonne solution. J'ai pu l'intégrer facilement pour qu'il soit fonctionnel dans le source et le supprimer dans le code généré. Il risque d'y avoir un temps d'adaptation avec la nouvelle version du source même si Nodd m'a déjà permis de grandement améliorer la stabilité. Je crois qu'il n'y a plus de problème actuellement lié à RainTPL et c'est une bonne chose.