09 septembre 2005

Bon pour le service

La drogue était un bon milieu avant que le sport s'en mêle
- J.L. Aubert -

28 juin 2005

Good morning, nobody !

Si l'on excepte la reformation des Beatles (par spiritisme, hein, pour réussir à entendre John et George), voici l'évènement que vous attendiez le plus au monde, un nouveau post sur le divertimento's blog!

Hum. Bon, sérieusement, on va essayer de se remettre tranquillement à l'écriture de posts inutiles et lu par personne, pour changer ;-)

Il s'en est passé des choses depuis là dernière fois.

Comme je n'ai pas envie de commencer par un post "technique", mais plutôt par un point de repère de ma vie, voici un poème écrit au moment de mon récent déménagement (car comme le disait Holden Caulfied, il faut "bien s'imprégner de l'idée que l'on va partir. Sinon, c'est encore pire" ) :

A l'ombre de tes remparts,
Toi mon château d'adoption,
Tu m'avais pris sous ton aile,
D'affection.

5 ans d'escapades angevines,
Qui m'avait mené d'une ravine,
Aux prairies délicieuses,
D'une joie sereine & lucide.

C'était en Mai,
Il neigeait des poussières de coton.

03 février 2005

Template PHP

Les templates sont un peu le graal, ou plus modestement la marotte de beaucoup de développeurs PHP.
Il faut dire que la séparation couche présentation/couche métier, est un idéal que d'aucuns voudraient
atteindre (je sais, c'est bien dit ;-))

La solution la plus connue est Smarty. Beaucoup de fonctionnalités, mais ce qui m'a toujours gêné, c'est qu'il
faille apprendre la syntaxe Smarty en plus de celle de PHP, ce qui fait un peu du travail en double.

J'ai ensuite regardé du côté de VTemplate, qui était un peu moins usine à gaz que Smarty, et qui pouvait gérer
les pages en cache.

J'ai utilisé quelques temps cette solution, mais j'ai été rapidement convaincu par l'arguemnt de certains, qui
trouvaient que ces solutions, complexifiaient le code, et qu'elles mettaient en avant un autre langage de script,
alors même que PHP est un langage de script puissant. Là encore, pourquoi faire les choses en double?

Et voici aujourd'hui ce que j'ai trouvé: Savant.

Un exemple vaut mieux qu'un long discours :

example.tpl.php

< ? loadTemplate('header.tpl.php') ?>
<>This is the main body of my template. Hello, name ?>!
< ? loadTemplate('footer.tpl.php') ?>

Et voici le script de logique métier associé :



< ?php require_once 'Savant2.php'; $tpl =& new Savant2(); $tpl->assign('name', 'Fester Addams');
$tpl->display('example.tpl.php');
? >

C'est d'une simplicité désarmante non?

Ici, nous avons une solution de template, 100% PHP (il existe des "plugins", permettant de ne pas coder des balises HTML tel que form mais elles sont tout à fait optionnelles), et qui sépare bel et bien la présentation de la partie métier.

De plus, on peut très bien passer par des subtemplates, pour créer les briques header, footer de son site.