Différence entre Zcore et Zpip v1.x

... Ou « Le squelette Zpip vs le framework Z-Core »

La présentation de Zpip ne se fait plus car on en a tous entendu parler ou pratiqué ce jeu de squelettes SPIP. De cette mécanique de construction des squelettes, Cédric (et quelques autres membres de la communauté) ont poussé plus loin la mécanique… De là en est sorti le plugin Z-core

Le squelette Zpip n’est plus maintenu, il est remplacé par SPIPr-dist

Le concept

Zpip v1 comme Zcore offre une autre mécanique de squelettes que SPIP le fait naturellement. On est plus ici dans un contexte de framework, qu’on appelle maintenant framework « Z », une industrialisation/factorisation de gabarits HTML.
Zpip v1 offre un découpage avec les éléments suivant :

  • entête,
  • barre de navigation principale,
  • contenu,
  • navigation,
  • extra,
  • et pied de page.

Le découpage des pages

Les développements par rapport à Zcore ont fait ressortir certains points communs dans le monde du webdesign : le découpage des pages avec les zonings suivant :

  • header : la zone d’en-tête de la page ;
  • breadcrumb : zone contenant le fil d’Ariane de la page ;
  • content : la zone de contenu principal de la page ;
  • aside : une zone de contenu secondaire. Cette zone est en relation avec le content de votre page ;
  • extra : va contenir tout ce qui est secondaire au contenu et sans lien direct. Une info générique au site ;
  • footer : là, pas de surprise, le pied de page de votre site ;

Cette problématique de découpage/zoning des pages a été intégré dans SPIPr-dist par exemple.

Toutefois, vous pouvez comprendre déjà ici que ce zoning reprend les mêmes appellations que Zpip v1, mais en anglais. C’est propre au raisonnement du webdesign, j’insiste. Vous pouvez voir ce découpage avec Layoutgala mais aussi dans l’avancée des nommages de l’HTML5 (header, footer, aside, nav, etc.).

Zcore offre aussi, de façon plus générique peut-être que Zpip v1, un découpage pour le <head> de vos pages :
-  head : c’est le répertoire qui contiendra toutes les infos telles que title et les meta de vos pages ;
-  head_js : c’est l’inclusion qui va contenir tous les javascripts qui vous seront nécessaires pour votre page.

Tous ces découpages sont liés à des répertoires portant le même nom. C’est plus simple pour s’y retrouver quoi qu’on en pense.

Les squelettes

Zpip v1 fournit la mécanique de découpage des pages ET les squelettes qui vont bien pour que votre site soit opérationnel à son activation.

Différence Zpip v1 et Zcore
Zcore, quant à lui, fournit « que » la mécanique de découpage des pages. C’est à vous de fournir à Zcore les squelettes qu’il faut pour que votre site soit fonctionnel.
Il existe déjà quelques plugins qui utilisent le plugin Zcore pour le découpage des squelettes :
-  SPIPr-dist ;
-  SPIPr-blog ;
-  SPIPr-doc ;
-  Sarka-SPIP à partir de la version 3.3 ;
-  SPIP Clear Z ;
-  SPIP-Bootstrap
-  etc. (?)

Mais vous pouvez surtout faire votre propre jeu de squelettes basé sur Zcore.
A force de faire des sites quand on est développeur ou intégrateur, on a certainement mis en place des pratiques répétitives. Alors il est envisageable de se faire un squelette de base pour ces projets. Mais là, c’est une autre histoire.

Mise en page

La mise en page est indiquée par le fichier body.html. Cette mise en page générique est offerte aussi bien par Zpip v1 que Zcore.

Différences Zpip v1 et Zcore
La nouveauté dans Zcore est la possibilité de mise en page spécifique à tel ou tel objet, mais aussi à une page sommaire. Pour cela, il vous suffit de créer un fichier body-sommaire.html au même niveau que body.html. Mais vous pourriez aussi utiliser body-article.html, body-rubrique.html.
Attention, vous devez utiliser le tiret « - » comme séparateur dans le nom de fichier entre « body », « nom de votre objet ».

Et si vous utilisez le plugin Compositions, Zcore va détecter la présence de fichiers tels que body-article-ma_super_compo.html, body-rubrique-ma_super_compo.html.

D’autres différences entre Zpip v1 et Zcore

Nommage du type de page
Pour Zpip v1, on parlait juste de « type » pour une page. C’est donc une variable « type » qui est passée à l’ensemble des pages.
Avec Zcore, on utilise la variable « type-page ». cf. http://zone.spip.org/trac/spip-zone...

Fichier par défaut
Une des autres différences est la détection plus ou moins automatique d’un inclure par défaut. En effet, il est possible d’avoir, par exemple, dans le répertoire breadcrumb un fichier dist.html. Ce fichier sera utilisé pour tout objet n’ayant pas de fichier lui correspondant. On peut dire que c’est le fichier par défaut. Ainsi, si vous n’avez pas mis de breadcrumb/article.html, alors Zcore/SPIP utilisera breadcrumb/dist.html.
Il n’y a que pour content que vous ne pouvez faire ça. Il faut absolument un fichier pour votre type de page.
Zpip v1 le faisait déjà mais, de ce que je vois aujourd’hui, Zcore pousse le mécanisme dans tous les sous répertoires indiqués dans la globale $GLOBALS['z_blocs'] renseignée dans le fichier mes_options.php. (Exemple ici : http://zone.spip.org/trac/spip-zone...

Mais attention ! Il faut bien comprendre que Zcore vous offre cette possibilité, mais pas qu’il crée ou met à votre disposition les fichiers par défaut. Vous trouverez ci-dessous la liste des fichiers squelettes fournis par Zcore.

Les fichiers fournis par Zcore
Zcore vous fournit que quelques pages squelettes, incomplètes. EN voici la liste :

  1. content
    1. 401.html
    2. 404.html
    3. z_apl.html
  2. head
    1. 404.html
    2. dist.html
  3. head_js
    1. dist.html
  4. inclure
    1. ajax_parallel_load.html
    2. head.html
    3. resume
      1. article.html
      2. breve.html
      3. comment.html
      4. document.html
      5. mot.html
      6. rubrique.html
      7. site.html
      8. syndic_article.html
  5. 404.html
  6. ajax.html
  7. body.html
  8. page.html
  9. structure.html

Ces fichiers sont « sommaires ». Soit ils vous contenteront tels quels, soit il ne tient qu’à vous de les modifier et d’y mettre ce dont vous avez besoin.

Les squelettes pour les pages
Pour Zpip v1, on avait pour chaque page de squelettes SPIP, un fichier à la racine (au même niveau que body.html) qui donnait des paramètres au fichier structure.html. cf. http://zone.spip.org/trac/spip-zone...
On devait le faire pour toutes les pages, même pour login.html, recherche.html, plan.html, etc. Puis Zpip allait chercher dans le répertoire contenu/ l’existence de page-login.html, page-recherche.html, page-plan.html

La particularité de ces pages est qu’elles se reportent à des « non-objets » de SPIP. C’est-à-dire qu’elles ne correspondent pas à une table de SPIP. Nous n’avons pas de spip_sommaires, spip_plans, etc.

Pour Zcore, il n’est plus nécessaire d’avoir sommaire.html, login.html, plan.html et cie au même niveau que body.html. Zcore va regarder s’il peut trouver sommaire.html, login.html, plan.html dans le répertoire content/ au lieu de contenu/ . Et là, il n’est plus utile de mettre « page- » en préfixe de ces fichiers.

Voilà pour les grandes différences notables entre Zpip v1.x et Zcore.

P.S. Vous risquez de perdre le fonctionnement de Zpip en déclarant le $GLOBALS['z_blocs']= de Zcore, sans oublier que les dernières versions de PHP 7.x.deviennent incompatibles avec Zpip...

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom