À partir des informations enregistrées dans les espaces, œuvres, collages, etc., les pages web HTML visibles par les internautes sont produites par des générateurs.

Projeta bdd sites generation 0.2 110913

1. Les générateurs

Un générateur (generator) permet dans la phase de conception de produire le code source d'une page ou d'un élément de page Web (HTML) et dans la phase d'utilisation la production effective de cette page ou de cet élément de page.

Un générateur peut faire appel à d'autres générateurs pour assemblage progressivement les pages à partir de briques plus élémentaires.

Le type d'un générateur donne le type d'élément produit : partiel ou composant, gabarit et vue.

NB : Dans les versions 0.x du logiciel, les générateurs sont écrits en langage Ruby. Cette solution n'est pas sécurisée, car elle permet potentiellement aux concepteurs et aux administrateurs d'un site d'accéder aux ressources des autres sites et de l'application. La version 1 intègrera un langage spécifique pour l'écriture des générateurs, langage qui l'accès aux données.

Partiel

Un partiel (partial) produit un morceau de pages pour une utilisation multiple dans des gabarits, des vues, voire d'autres partiels.

Composant

Un composant (component) est un partiel catalogué pour être réutilisable par les différents sites du projet A. Contrairement aux autres générateurs, un composant n'est donc pas propre à un site donné.

Gabarit

Un gabarit (layout) est un modèle de pages donnant juste la structure générale dans laquelle viendra se placer les parties spécifiques à chaque vue.

Un gabarit donne généralement l'entête HTML des pages Web et la décomposition en partie du corps de page. Il peut aussi produire le haut (header), le bas de page (footer), le menu...

Vue

Une vue (view) définit le contenu d'un type de pages, contenu qui viendra se loger dans un gabarit précis.

Le générateur d'une vue, associée ou non à un gabarit, peut alors produire des pages HTML d'un format déterminé.

On distingue les vues d'espace destinées à produire les pages présentant tout le contenu d'un espace et les vues d'œuvre générateur sur une œuvre uniquement.

2. Principe de la génération des pages

Le processus de génération des pages est le suivant :

  • chaque espace (space) utilise un à trois générateurs de pages (generator) de type vue : une vue d'espace et une ou deux vues d'œuvre (détail et zoom) ;
  • une vue appelle le plus souvent un gabarit pour définir la cadre de la page et plusieurs partiels ou composants ;
  • le premier générateur obligatoire d'un espace sert à l'affichage de base des œuvres de l'espace considéré comme mur d'affichage et autres informations de cet espace ;
  • les deux générateurs suivants produisent les pages Détail et Zoom relatives à chacune des œuvres.

Un générateur a deux fonctions bien distinctes en fonction de sa phase d'utilisation :

  • en phase de conception du site, un générateur produit le code du constituant – gabarit, vue ou partiel – pour lequel il a été créé ;
  • en phase de production, il associe une vue, et en général un gabarit, avec des paramètres de génération pour produire les pages HTML demandées par les internautes.

Pour améliorer la souplesse d'utilisation, un composant est souvent paramétrable, c'est-à-dire que des données complémentaires pourront être données en phase de définition du site au niveau d'un générateur ou d'un espace. Les paramètres portent par exemple sur l'activation ou non d'un élément (séparateur, appel de commentaires, etc.).

Grâce à la mise à disposition d'une bibliothèque de composants adaptés à tous les besoins (ou presque), les générateurs d'un site ne sont pratiquement plus que des appels des composants standard et des éléments de structuration de la page (blocs div avec identifiant ou classe...).

3. Feuilles de styles

Les feuilles de styles (stylesheets) CSS précisent les caractéristiques visuelles du site : couleurs, polices de caractères, dimensions et positions des éléments.

Les versions 0.x du projet A n'automatisent pas la définition de la feuille de styles de chaque site. Une feuille commune composants-a.css donne des définitions pour les styles liés aux composants, définitions qui peuvent être précisées ou remplacées dans la feuille de styles du site.

version 0.8.9-0263-121203
↑ Haut