plateforme coopérative de partage d'information 1.9 Version de PLOOPI
PLOOPI est une plateforme web de travail collaboratif (GNU GPLv2) permettant à ses utilisateurs d'échanger et de diffuser des données. Il s'agit d'un logiciel sécurisé, robuste et optimisé dont le code source a été de nombreuses fois audité. PLOOPI se présente également sous la forme d'un framework de développement permettant de faciliter la mise en oeuvre de modules métiers basés sur des fonctionnalités avancées de travail collaboratif.

Documentation

Introduction aux templates

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 ou de gabarit.

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.

Il est important de noter que 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 censés (si l’on veut adhérer aux recommandations du W3C) permettre une séparation entre le traitement et la présentation mais plutôt 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.

( source: Wikipedia )

Les templates dans PLOOPI

Le moteur de template utilisé par Ploopi est basé sur PHPLib. Il a l’avantage d‘être performant, léger et surtout accessible.

Les templates utilisés par Ploopi sont uniquement basés sur xhtml/css (et autres technologies adjacentes : javascript, flash, etc.) et des balises spéciales interprétées par le moteur de template et permettant d’insérer des éléments dynamiques dans la page. Il n’y a aucun besoin de connaître php.

Il est ainsi possible de créer un template avec simplement une connaissance du langage HTML et en insérant quelques balises (plus généralement appelées variables) élémentaires liées au moteur de template.

Vous pouvez également découvrir d’autres moteurs de templates grâce à l’excellent article de Guillaume Rossolini sur developpez.com. Cet article aborde notamment PHPLib.

Variables “template”

Il existe 3 grands types de variables “template” :

Variables simples

Par convention, les noms de variable du gabarit s‘écrivent en majuscule et sont délimitées par des accolades.
Il s’agit de variables que l’on peut insérer à n’importe quel endroit du code HTML du gabarit.
La variable est remplacée lors de l’exécution du moteur de template.

Exemple :

1
2
3
4
<p>
    Bienvenue,
    <b>{USER_FIRSTNAME} {USER_LASTNAME}</b>
</p>

Blocs

Un bloc sert à définir un élément constitué de plusieurs variables. Le bloc peut être ignoré (bloc conditionnel), affiché ou dupliqué (il sert alors de ‘boucle’).
Le nom d’un bloc est inclus dans un commentaire HTML.
Le bloc est délimité par un commentaire BEGIN et un autre END.
L’accès aux variables d’un bloc s’effectue en ajoutant un point entre le nom du bloc et la variable

Exemple :

1
2
3
<!-- BEGIN menu -->
    <a class="menu.SELECTED}" href="{menu.URL}" target="{menu.TARGET}">{menu.LABEL}</a>
<!-- END menu -->

  • Imbrication des blocs

Il est possible d’imbriquer des blocs (Attention ils ne peuvent pas se chevaucher !).
Dans ce cas l’accès à une variable d’un sous-bloc s’effectue en accolant l’ensemble des noms de blocs avec des points ({bloc.menu.mavariable})

Exemple :

1
2
3
4
5
<!-- BEGIN block -->
    <!-- BEGIN menu -->
        <a class="block.menu.SELECTED}" href="{block.menu.URL}" target="{block.menu.TARGET}">{block.menu.LABEL}</a>
    <!-- END menu -->
<!-- END block -->

Blocs conditionnels

Les blocs conditionnels sont des blocs particuliers dont le nom commence généralement ‘switch_’.
Il permettent d’afficher ou non un élément en fonction d’une certaine condition. Les blocs conditionnels ne se répètent pas.

Exemple:

1
2
3
<!-- BEGIN switch_user_logged_in -->
    Vous êtes connectés !
<!-- END switch_user_logged_in -->

Cet exemple peut se traduire simplement par : Si l’utilisateur est connecté Alors Afficher (‘Vous êtes connectés !’)





Retour en haut de la page