Template

Un article de Wikipédia, l'encyclopédie libre.

wikt:

Voir « template » sur le Wiktionnaire.

Un template est un anglicisme utilisé en informatique pour désigner un modèle de conception de logiciel ou de présentation des données. On parle aussi de « patron » comme en couture, de gabarit ou de kit graphique.

Sommaire

[modifier] Présentation des données

Un template est un moyen de séparer le fond (le contenu informationnel) de la forme (la manière dont il est présenté).

Très utilisé dans la conception de sites webs, un template agit comme un modèle dans lequel seul certains éléments sont modifiables (le contenu). Cela facilite la conception et la mise à jour des sites, aussi bien sur le contenu que sur la présentation.

  • changer la charte graphique du site revient à changer le template et cela met à jour toutes les pages du site ;
  • ajouter une page ne consiste plus qu'à en écrire le contenu.

Beaucoup de moteurs de template destinés à la construction de sites sont construits en PHP. Un autre moyen de gérer des templates au niveau d'un site consiste à utiliser des feuilles de style CSS.

À noter que Zope, Joomla, Postnuke, PHPBoost, KwsPHP, Ixprim et EzPublish utilisent nativement des templates.

[modifier] Évolution de l'utilisation

De plus en plus, la présentation d'une page Web est reléguée vers les feuilles de styles (CSS : Cascading Styles Sheets ou feuilles de styles en cascade) externes à la page. Les templates ne sont donc plus seulement censés permettre une séparation entre la structure et la présentation mais aussi une séparation entre le code HTML ou XHTML et le code PHP (ou autre langage de développement côté serveur). On obtient ainsi une structure de site possédant d'un côté les traitements de données (calculs, connexions à des bases de données, sécurité) et de l'autre le « langage » de restitution des données produites. Cette séparation facilite le travail en équipe et les mises à jour soit du côté du code PHP soit du côté du code HTML puisque chacune des deux parties peut être modifiée sans affecter l'autre.

Les templates, utilisés conjointement à des feuilles de styles efficaces, permettent de gérer la publication d'informations sur plusieurs supports différents.

[modifier] Une utilisation mitigée

L'utilisation des moteurs de templates dans une application serveur (comme PHP à titre d'exemple) est très controversée et les avantages des moteurs de templates n'égalent pas toujours leurs inconvénients. Voyons donc dans un premier temps les avantages :

  • séparation de l'aspect programmation et de l'affichage
  • possibilité de modifier un paramètre d'affichage tout au long de la génération de la page (la gestion du titre de la page par exemple)
  • permettre de partager le travail du graphiste et du programmeur, et éviter les modifications involontaires

Cependant des points importants contre-balancent les avantages :

  • cette sur-couche a un impact sur le temps de génération de la page
  • il est possible de se passer d'un système de templates et d'utiliser directement les variables normales

Mais si on devait retenir un avantage principal d'un bon système de template, ça serait qu'il agit comme un framework pour l'affichage, disposant de fonctions de base pour réaliser les schémas classique de représentation.(exemple, liste déroulante à partir de base de données)

Quand à la performance, il est possible de générer la page en cache une fois pour toute ce qui ne constitue pas une charge serveur supplémentaire lors de la montée en charge. D'autres systèmes, comme smarty par exemple, permettent même de générer un cache intermédiaire.

[modifier] Voir aussi

[modifier] Liens internes

  • Motif de conception (en anglais Design pattern) : une solution connue et reconnue comme bonne pour une classe de problèmes.

[modifier] Liens externes