Comparatif des systèmes de template pour PHP

Hugo Étiévant

Les systèmes de template ont pour objectif de permettre à une équipe de développement de séparer la présentation de la logique applicative et du contenu.

- Titre : Comparatif des systèmes de template pour PHP

- Auteur : Hugo Étiévant

- Parution : 8 avril 2004

- Mise à jour : 18 août 2007

- Licence : Copyright ® 2004 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- Introduction

- Comparatif

Introduction

Ce comparatif s'inspire du thread Quel système de template utilisez-vous ? du forum PHP de Developpez.com

Les systèmes de template ont pour objectif de permettre à une équipe de développement de séparer la présentation de la logique applicative et du contenu. Pour cela, des modèles (= templates) de document sont écrits en HTML et ils incluent des mots clés qui seront remplacés par le contenu issu de l'exécution d'un code placé dans des scripts à part et utilisant des données pouvant provenir d'ailleurs (une base de données par exemple). Ainsi le webdesigner peut travailler le code HTML sans ce soucier du PHP, et de l'autre côté, les développeurs peuvent se concentrer sur le code métier sans interférer sur le travail du designer. Les scripts PHP deviennent beaucoup plus légers et les changements dans la charte graphique du site en sont grandement simplifiés.

"Templates" se traduit en français par "gabarits HTML". Ils permettent de créer facilement des skins pour vos sites. Cette technologie va à contre poids des méthodes de développement traditionnelles en PHP où le code PHP et le code HTML sont mélangés, cela nuisant fortement à la lisibilité et à la maintenabilité du site.

Ce logo stigmatise les outils préférés des membres de Developpez, d'après leur débat dans le forum PHP. Ils ont été testés et sont conseillés, des explications spécifiques pourront être trouvées dans le thread indiqué plus haut.

Tous ces outils sont gratuits.

Remerciements à Rmotte, Laurent Hayoun, Condutiarii et Nicolas Cuny pour leurs corrections et contributions.

Comparatif

FastTemplate | Flexy | Icitrus | IT | MALA Template | ModeliXe | phpBB | PHP:Tal | Sigma | SiteManager | smarty | Templeet | TinyButStrong | TPLN | VTemplate | Xipe

http://www.smarty.net/

Performances :

rapide

Système de cache :

oui

Assistance :

manuel en français, forum, chat, wiki, FAQ

Facilité :

syntaxe difficile

Insertion de code PHP :

oui

Gestion des variables :

{$title}

Gestion des zones :

{Section name=Zone}

Note :

projet du PHP Group : pérénité assurée

Licence :

GNU LESSER GENERAL PUBLIC LICENSE, v2.1

Version :

2.6.2

Tutoriels :

Initiation aux templates en PHP avec Smarty par Éric Pommereau,
Découverte des principaux moteurs de template en PHP par Guillaume Rossolini

http://phplib.sourceforge.net/
http://www.phpbb.com//

Performances :

rapide

Système de cache :

non

Assistance :

Facilité :

Insertion de code PHP :

non

Gestion des variables :

{Variable}

Gestion des zones :

<!-- BEGIN Zone -->

Note :

Licence :

GNU LIBRARY GENERAL PUBLIC LICENSE, v2

Version :

7.4

Tutoriels :

Le système de template de phpBB2 par Genova,
Découverte des principaux moteurs de template en PHP par Guillaume Rossolini

http://modelixe.phpedit.com/

Performances :

Système de cache :

oui

Assistance :

forum, FAQ, exemples, manuel

Facilité :

propre, souple

Insertion de code PHP :

non

Gestion des variables :

<mx:text id="Variable" />

Gestion des zones :

<mx:bloc id="Zone">

Note :

communauté très active, de langue de française

Licence :

GNU Lesser General Public License

Version :

1.0

Tutoriels :

Découverte des principaux moteurs de template en PHP par Guillaume Rossolini

Fast Template
http://www.thewebmasters.net/

Performances :

Système de cache :

non

Assistance :

Facilité :

Insertion de code PHP :

non

Gestion des variables :

{Variable}

Gestion des zones :

<!-- BEGIN DYNAMIX BLOCK: Zone -->

Note :

en langue française

Licence :

GNU General Artistic License

Version :

1.1.0

http://vtemplate.sourceforge.net/

Performances :

Système de cache :

oui

Assistance :

Facilité :

Insertion de code PHP :

non

Gestion des variables :

{#Variable}

Gestion des zones :

<!--VTP_Zone-->

Note :

Licence :

GNU LESSER GENERAL PUBLIC LICENSE, v2.1

Version :

1.3.2

Tutoriels :

Découverte des principaux moteurs de template en PHP par Guillaume Rossolini

MALA Template
http://www.mala-template.net/

Performances :

Système de cache :

Assistance :

documentation, exemples, forum

Facilité :

Insertion de code PHP :

Gestion des variables :

[[Variable]]

Gestion des zones :

<Zone>

Note :

gestion spécialisée des bases de données

Licence :

GPL

Version :

1.2.1

http://phptal.sourceforge.net/

Performances :

Système de cache :

oui

Assistance :

documentation

Facilité :

Insertion de code PHP :

Gestion des variables :

Gestion des zones :

Note :

Licence :

GNU LESSER GENERAL PUBLIC LICENSE, v2.1

Version :

0.7.0

http://tpln.sourceforge.net/

Performances :

Système de cache :

oui, $TPLN ->Open("my_file",CACHED, 3600)

Assistance :

documentation, exemples, forum

Facilité :

Insertion de code PHP :

oui, $TPLN->IncludeFile("my_variable","file.php");

Gestion des variables :

{Variable}

Gestion des zones :

<bloc::Zone>

Note :

Licence :

GNU LESSER GENERAL PUBLIC LICENSE, v2.1

Version :

1.6.5

http://www.icitrus.net/template_pre

Performances :

Système de cache :

non

Assistance :

Documentation, tutoriel

Facilité :

Insertion de code PHP :

non

Gestion des variables :

{Variable}

Gestion des zones :

<!-- @@@ Zone @@@ -->

Note :

en langue française

Licence :

GNU General Public License, v2

Version :

Templeet
http://www.templeet.org/

Performances :

rapide

Système de cache :

oui, plusieurs niveaux possibles

Assistance :

documentation, FAQ, exemples, articles

Facilité :

Insertion de code PHP :

Gestion des variables :

Gestion des zones :

Note :

utilisé par linuxfr.org, en langue française, gestion multilanguage

Licence :

GPL

Version :

2.0.0

http://www.tinybutstrong.com/

Performances :

rapide

Système de cache :

oui

Assistance :

manuel, documentation, exemples, forum, FAQ

Facilité :

Insertion de code PHP :

non

Gestion des variables :

[Variable]

Gestion des zones :

[NomBloc;block=begin;params]...[NomBloc;block=end]

Note :

Licence :

gestion du multilanguage

Version :

1.95

Tutoriels :

Découverte des principaux moteurs de template en PHP par Guillaume Rossolini

SiteManager
http://www.roadsend.com/

Performances :

Système de cache :

Assistance :

manuel, documentation

Facilité :

Insertion de code PHP :

Gestion des variables :

Gestion des zones :

Note :

Licence :

Q Public License (QPL) v1.0

Version :

2.4.2

xipe
http://pear.php.net/

Performances :

Système de cache :

Assistance :

Facilité :

Insertion de code PHP :

Gestion des variables :

Gestion des zones :

Note :

les templates peuvent être directement édités avec un éditeur WYSIWYG, permet le multilangage

Licence :

The PHP License, v2.02

Version :

1.7.6

IT
http://pear.php.net/

Performances :

Système de cache :

Assistance :

Facilité :

Insertion de code PHP :

Gestion des variables :

oui

Gestion des zones :

oui

Note :

tags personnalisables

Licence :

The PHP License, v2.02

Version :

1.1

Flexy
http://pear.php.net/

Performances :

Système de cache :

Assistance :

documentation, exemples

Facilité :

Insertion de code PHP :

oui

Gestion des variables :

{Variable}

Gestion des zones :

oui

Note :

fortement orienté objet, les templates peuvent être directement édités avec un éditeur WYSIWYG

Licence :

The PHP License, v2.02

Version :

0.6.3

Sigma
http://pear.php.net/

Performances :

très lent

Système de cache :

Assistance :

exemples

Facilité :

Insertion de code PHP :

Gestion des variables :

oui

Gestion des zones :

oui

Note :

Licence :

The PHP License, v2.02

Version :

1.0.2

Les informations données ici le sont à titre indicatif, elle étaient à jour au moment de leur rédaction, je ne suis pas responsable de l'évolution des outils cités ici. Seules les informations publiées sur leurs sites officiels font foi.