Smarty et mon temps perso

Que le temps passe vite. Il y a une semaine je m’extasiais sur le match France – Angleterre et depuis plus rien, plus un mot sur ce blog, plus la moindre ligne, plus le moindre commentaire, ou un lien sympa à se mettre sous la dent. Non ne vous inquiétez pas ma vie ne s’est pas pour autant arrêtée, je ne suis malheureusement pas parti en vacances non plus.

J’ai seulement décidé de refondre une partie de Cyberbougnat.net, et en particulier le guide des bars, restaurants, et autres bonnes adresses. Une tâche assez ardue pour moi qui aimerait que ce guide incorpore tout un tas d’informations, ma traditionnelle folie des grandeurs ça, y compris la localisation géographique des lieux, mais ce sera dans un deuxième temps.

J’ai donc pris le projet à bras le corps, et j’ai très très bien avancé sur la partie backoffice. Je me suis donc ensuite logiquement attelé à la partie front, l’affichage dans le site. Et c’est là que s’explique mon silence de la semaine. Aussi ardue soit elle, la refonte ne devait pas encore être assez ardue pour moi, car j’ai décidé d’y ajouté une difficulté supplémentaire : le changement de mon système de template. Exit mon antique PhpLib, qui soit dit en passant m’a rendu de fiers services, bonjour Smarty et ses fonctions géniales.

Sincèrement comparer les deux librairies est impossible. Si dans l’esprit les deux font la même chose, séparer le fond de la forme, les deux ne le font pas la même manière. Fondamentalement le remplacement de l’un par l’autre ne change pas grand chose pour un site comme le mien, si ce n’est que je vais utiliser les fonctions de cache de smarty pour mes pages les plus lourdes. Smarty est bien sûr réputé pour sa compilation des templates : il lit les templates et crée des scripts PHP à partir de ces derniers. Une fois créés, ils sont exécutés sans que le template ne soit retraité ce qui représente un gain de ressources pour le serveur. Mais c’est au niveau du fonctionnement que la logique est un peu différente puisque les boucles pour afficher les données sont directement dans le template smarty, idem pour les tests logiques if/elseif, et on peut accéder directement par le template à des fonctions pour mettre en majuscules, tronquer, supprimer les tags html…

Bref entre les deux librairies les fonctionnalités ne sont pas vraiment comparables et sur les premières pages je suis réellement allé bien plus vite qu’avec mes anciens templates. Comme en plus j’en ai profité pour changer de classe d’abstraction de base de données en optant pour ezSQL le contenu de mes fichiers php s’est drôlement allégé : ils se résument parfois à l’inclusion d’un fichier setup en début et deux-trois lignes de codes pour récupérer les infos dans la base.

Mais en quoi tout cela explique mon silence sur mon blog ? Et bien tout simplement parce qu’après être allé très vite avec Smarty et ezSQL sur les premières pages, je me suis retrouvé bloqué dans un truc tout bête de boucles imbriquées. Enfin ce sera tout bête quand j’aurai le temps de trouvé la logique et donc la solution. Affaire à suivre…