Le concept de Z/Zpip...

  L’idée directrice : faire-faire le copier-coller par SPIP

L’habillage d’un site SPIP fixe son apparence, c’est-à-dire la devanture en vitrine de la page (des pages) du site Web : pour de simples questions d’ergonomie, de confort de lecture et de fidélisation des visiteurs, on préfère garder une certaine uniformité de Définir une charte graphique d’habillage d’un site Web.

Cela peut se traduire par un moindre travail pour le webmestre, pour qu’il n’ait qu’à écrire les noisettes une seule fois, que de besoin (ce qui s’appelle "factoriser" ses développements).

Article publié le 26 juillet 2016, et actualisé en décembre 2019

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Une fois compris le principe des pages récupérant les données variables de chaque article (ou rubrique), au sein d’un fichier squelette (gabarit définissant la forme d’habillage graphique), se pose le problème- classique en développement informatique- d’optimiser le ré-emploi des codes déjà écrits : toutes les pages du site auront généralement la même apparence, en particulier le meme entete général, avec un logo et un menu, le meme pied de page.... tous éléments que notre webmestre va devoir remettre dans chaque fichier squelette.

Et toute modification apportée dans une page, oblige à la reporter dans toutes les autres pages de squelettes....

 Le concept

L’idée [1] est simplement de coder une fois chaque élément ou groupe HTML souvent dans les "div", d’en faire à chaque fois une noisettes autonome, puis, plutot que de simplement en refaire l’assemblage pour construire chaque squelette comme dans Squelettes de la "dist", de faire faire ce même assemblage directement par SPIP, à la compilation de squelette...

On commence bien sur toujours par organiser Les Gabarits/Layout de pages , ce qui permet de décrire la structure globale d’une page, composée par blocs (comme des maisons en préfabriqué).
Chaque bloc va être nommé (de façon normalisée pour toutes les pages) dans une structure commune du <body ... HTML qui est alors utilisée dans tous les squelettes ; et puisque la structure est commune, et donc que souvent les blocs noisettes sont communs et se retrouvent au même endroit, sauf pour le contenu principal, laissons directement SPIP-Z charger chaque bloc à l’endroit correspondant, identifié par le même nom de bloc.

 En résumé

Nous avons donc à savoir construire un/des squelettes :
- chacun avec son nom de page repris des Squelettes de la "dist"
- utilisant une structure de blocs communs et annexes (sauf exceptions)
- mais avec un contenu principal unique à son nom.
- si d’autres blocs doivent venir dans une page, il faut préciser :
et le nom de bloc concerné, et le nom de la page principale concernée !

 La mise en œuvre

Elle tient en quelques éléments d’organisation :
- Les noms de pages (nom des squelettes principaux) doivent toujours respecter la nomenclature Squelettes de la "dist".
- la noisette contenu principal de chaque page est toujours mise dans un fichier squelette, au nom de la page, enregistré dans un sous-répertoire désigné pour le contenu principal [2]
- Aux autres divers noms de blocs vont correspondre d’autres sous-dossiers de même nom, également rangés dans Le dossier ./squelettes.
- par simplification, la noisette commune dans chaque bloc (et donc rangé dans chaque sous-dossier) sera codée dans un fichier squelette nommé dist.html
- les exceptions, noisettes particulières à une page dans un emplacement de bloc, seront des fichiers squelettes au nom de la page dans le dosser du bloc concerné.

 Et le travail de SPIP

Cette organisation rigoureuse renforce l’aspect "lego" de la conception de site SPIP ; pour que le moteur de SPIP adopte ces règles d’assemblage, on doit simplement l’informer par un plugin, de la liste des blocs à INCLURE au sein d’un squelette de Structure de page, et préciser en tete de la liste des dossiers de blocs, le dossier des blocs principaux correspondant aux noms de pages...

C’est tout juste ce que font les deux générations de modules :
- Passer à Zpip (pratique) (et comment Convertir un jeu de squelettes en Zpip)
ou plus simplement,
- Utiliser Z-core, le futur de Zpip pour Spipr avec des noms plus simples...


Merci de nous signaler les coquilles, imprécisions ou erreurs qui figureraient dans cette page.

[1Voir les références originelles en P.S. : Marcimat et Cerdic ..

[2Sous-dossier ./contenu ou ./content en anglais .


Liens A2A visibles seulement pour les inscrits.
Liens visibles seulement pour les inscrits.

Article publié le 26 juillet 2016, et actualisé en décembre 2019 .

Répondre à cet article