Dans le cas de Smarty, il s'agit d'une librairie qui va complètement prendre en charge l'affichage de vos pages web en utilisant des modèles évolués de pages HTML. Par "évolué", j'entends que les templates Smarty peuvent contenir du code HTML simple, mais aussi des instructions plus évoluées telles que des boucles ou des sauts conditionnels, destinés uniquement à l'affichage.
Ca parait un peu compliqué..
C'est en fait très simple. Le principe de Smarty est de rendre indépendant le code de votre jeu, par exemple, de votre code HTML.
Par exemple, voici le synopsis d'un script php "classique" qui va afficher les données contenues dans une table SQL sous forme de tableau HTML :






Jusqu'ici rien de bien compliqué, mais voici à quoi ressemblerait ce synopsis en utilisant Smarty :




La différence est visible. Non seulement mon code est plus simple, mais il en est également beaucoup plus portable puisque la sortie en HTML n'y apparait plus du tout : tout le HTML est exporté dans le template, il s'agit quasiment d'une couche d'abstraction.
Y'a-t-il vraiment un avantage à utiliser Smarty ?
Il y en a même plusieurs :






Il existe encore bien d'autres avantages mais je ne fais là qu'une présentation succinte de Smarty

D'accord, j'aimerais essayer Smarty.. par où je commence ?
Par ici : http://smarty.php.net/manual/fr/getting.started.php
Toute la procédure d'installation y est détaillée, de votre premier 'Hello world' aux fonctions de scripting avancées, il n'y a qu'à se laisser guider à travers la doc.
Des exemples ?
Ici : http://y0m.net/manager/
Il s'agit d'une sorte de gestionnaire de fichier pour une radio en ligne, qui permet de naviguer entre les répertoires et de voir les mp3 qui s'y trouvent. Je vous propose une manip simple qui démontre immédiatement les avantages du cache de Smarty :




Conclusion / Liens
J'espère que cette petite démo vous aura convaincu. Personnellement, j'utilise Smarty depuis quelques mois et c'est du bonheur. Je ne perds plus de temps au design de mes pages web, mes templates sont réutilisables très facilement, et surtout je n'ai pas besoin de retoucher tout mon code PHP pour effectuer une modification mineure sur l'affichage de mon site : je fais la modif sur mon template et tout est propagé. Enfin, Smarty était tellement simple à utiliser que j'ai même pu me payer le luxe d'indenter et de mettre en forme mon code HTML afin de le rendre lisible par n'importe qui, chose impensable avec du HTML en dur dans le code PHP


