Home Map
Rechercher

Principes d'architecture

Portlets

Les pages de contenus interactives et les parties applicatives utilisent le principe du "portlet". Les composants fonctionnels de la plate-forme mettent en commun des "unités élémentaires" d'affichage, constituées par des petits fichiers qui présentent la séquence HTML nécessaire à l'affichage d'une zone carrée de l'écran.

Un "portlet" est en général lié à une fonctionnalité particulière. Les portlets sont organisés en librairies, suivant leur composant d'origine. Ils sont en principe individuellement multilingues à partir de ressources textuelles disponibles dans leur environnement d'utilisation.

L'ensemble des portlets sont stockés dans l'entrée "/lib" de la distribution.

Librairie de "portlets"

Portlets génériques

pagingResults.portlet.php portlet d'affichage d'un moteur de pagination.
physicalFile.portlet.php Portlet de représentation d'un fichier physique.
menu1.portlet.php Portlet de représentation du menu de premier niveau. Ce portlet est en général recomposé pour chaque instance de site.
menu2.portlet.php Portlet de représentation du menu de deuxième niveau. Ce portlet est en général recomposé pour chaque instance de site.
menu3.portlet.php Portlet de représentation du menu de troisème niveau. Ce portlet est en général recomposé pour chaque instance de site.

Portlets spécifiques

Certains portlets sont spécifiques à des services trés contextuels ou spécifiques :

googlesearch.portlet.php insère un appel du moteur de recherche Google.
paypal.nip.portlet.php Insère un appel NIP vers Paypal.
sendToPaypal.portlet.php Insère le formulaire d'émission d'ordre de transaction via Paypal.
services.portlet.php Portlet d'accès aux "services" (authentification, bug report, services annexes).
alphaFilter.portlet.php Portlet permettant d'inclure un sélecteur alphabétique pour un affichage d'items.

Et bien d'autres...

Spécification des portlets

Composition d'un portlet

En tant que "pavé" de contenu, un portlet est en général composé d'un élément "principal" de type "bloc". Il existe deux utilisations majeures du portlet :

  • Le portlet-bloc unique (bloc sémantique)
  • Le portlet-bloc itératif (enregistrement de données, ligne-résultat, etc.)

La forme du portlet dépend de ces utilisations. Pour le portlet "bloc-unique", on pourra y trouver une table HTML comme élément principal, éventuellement alimentée par un script de génération de données interne, bien qu'il soit préférrable en principe d'amener les données de l'extérieur. Pour le bloc itératif, on admet en général que le portlet ne fournisse que le code d'un "élément" itératif par nature, tel que le code d'une ligne HTML (<tr></tr>), ou de tout autre élément potentiellement itératif (liste, paragraphe).

Alimentation du portlet

Le portlet est pensé comme un "template" de "glue" dans lequel on injecte des données ad hoc au moment de sa réalisation. Il est donc alimentable en données à travers un objet opportuniste. Dans la plate-forme IntuitiveCMS, cet objet est constitué, avant l'appel au portlet, dans une variable $portlet.

Le programmeur créera les attributs dynamiques nécessaires et les architectures des composantes de cet objet nécessaires pour que le portlet y retrouve les données.

Exemple de portlet

<tr>
   <td>
      <?= portlet->date ?>
   </td>
   <td>
      <?= portlet->product ?>
   </td>
   <td>
      <?= portlet->price ?>
   </td>
</tr>

peut être alimenté par un objet constitué ainsi :

$portlet->date = "2006-01-31";

$portlet->product = "Clio 3 portes rouge";

$portlet->price = "8560";

précédant un appel au portlet :

include "lib/test/catalogue.portlet.php";

 
Portlets   
Librairies   
Composants   
Requetes   
Interactivité :   Donations    Nouvelles du site    Le mot du Webmaster    Livres d'or    Les Blogs    Defauts   
 
Galleries Hupka Michel-Ange Expositions Librairie Vidéos Presse Livres d'or Realisation Découvertes