SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribs sur SPIP-Zone, 349 visiteurs en ce moment

Accueil > Squelettes > Outils pour squelettes > Zcore > Créer des squelettes avec Zcore

Créer des squelettes avec Zcore

14 juillet 2015 – par Teddy Payet – 18 commentaires

6 votes

Ou comment bien démarrer avec Zcore.
Avec SPIP 3.0 est venu le plugin Zcore développé par un collectif de spipeurs. De plus en plus d’utilisateurs adoptent la mécanique de « Z » pour leurs squelettes. Un premier article a été écris pour expliquer la Différence entre Zcore et Zpip v1.x.
Le présent article vous expliquera ou vous rappellera comment mettre en place cette architecture sur un site pour éviter de s’arracher les cheveux.

Préambule

En aucun cas, Zcore ne nécessite l’utilisation d’un framework CSS déterminé. Vous pouvez utiliser les feuilles de styles que vous voulez.

De plus, avant de commencer tout projet, il est nécessaire de se poser et de réfléchir à la structure que l’on désire avoir sur son site. Par exemple, l’architecture des répertoires adoptée par SPIPr-Dist est propre à ce plugin. Elle peut vous convenir comme elle peut aussi ne pas convenir à votre projet.

Première étape

Il vous faut installer le plugin Zcore dans votre répertoire « plugins » qui doit se trouver à la racine de votre site. Pour plus d’informations sur les procédures d’installation de plugins, vous pouvez vous référer à l’article dédié.

Depuis l’espace privé de SPIP, vous activerez le plugin Zcore depuis la page de gestion des plugins.

Ajouter une ligne dans mes_options.php

Zcore a besoin de savoir quels sont les dossiers ou plus exactement les « blocs » qui entrent dans son architecture « Z ». Entre autres choses, cela permet d’avoir un fichier par défaut (cf. dist.html) lorsque vous n’avez pas créé de squelettes HTML pour la page consultée. Il faut ajouter la ligne suivante dans votre fichier mes_options.php :

  1. $GLOBALS['z_blocs'] = array('content', 'head', 'head_js', 'header', 'footer');

Avec ces valeurs, Zcore s’attend à avoir les répertoires suivants dans votre dossier squelettes/ :

  • content : qui contiendra le contenu central de votre page. C’est le nom conventionnel et historique pour Zcore. Il est obligatoire ;
  • head ;
  • head_js ;
  • header ;
  • footer.

Pour plus d’explications, vous pouvez vous référer à l’article sur le framework Z sur le site dédié à SPIPr.

Les squelettes

Les étapes précédentes réalisées, votre site sous « Z » ne sera pas encore opérationnel. Car SPIP par l’intermédiaire de Zcore s’attend à trouver dans le répertoire content/ un squelette pour chaque objet éditorial désiré.
Ainsi, vous pourrez avoir dans content/article.html les boucles adéquates pour afficher le contenu voulu sur la page article. Il sera de même pour chaque objet que vous désirez afficher dans l’espace publique.
SPIP-Zcore passera toutes variables nécessaires pour que content/article.html puisse fonctionner au mieux.

Si vous avez des besoins d’informations particulières, vous pouvez créer à la racine de votre répertoire squelettes un fichier correspondant à vos besoins.
A minima, pour un fichier squelettes/article.html, vous devez y mettre ceci :

Encore une fois, ce fichier est nécessaire que si vous désirez ajouter des variables d’environnement particulières à squelettes/content/article.html

Les squelettes pour les pages

Pour tous vos objets éditoriaux issus de la base de données (donc correspondant à une table), il vous faut créer un fichier html correspondant à la racine du répertoire squelettes/content/.

Pour toutes les autres pages de l’espace public qui ne font pas références à un objet, il en va de même. Il faut créer un fichier html dans le répertoire squelettes/content/. Ces pages sont appelées par ?page=sommaire, ou encore ?page=login etc.

Le point fort de Zcore est qu’il n’est pas nécessaire de mettre le préfixe page- dans le nom du fichier html, ni de mettre un fichier sommaire.html à la racine de squelettes/. (C’est l’une des différences avec le plugin Zpip, son prédécesseur.)

Le fichier par défaut

Comme il a été dit plus haut, Zcore va chercher le fichier correspondant à la page consultée dans chaque répertoire faisant partie de son architecture. Si vous n’avez pas créé ce fichier html, Zcore va prendre le fichier dist.html. Ce dernier est très utile pour ne pas avoir à répéter du code commun à toutes les pages.

Toutefois, il existe une exception : le répertoire content/. C’est le seul répertoire qui doit absolument contenir un fichier correspondant à la page consultée.

2 fichiers importants

Le plugin Zcore fournit 2 fichiers qui déterminent la mise en page :

  • structure.html ;
  • body.html.

Le fichier structure.html est appelé par les différents squelettes d’objets éditoriaux que vous avez créé dans les étapes précédentes. Il contient le code à mettre entre les balises html <head>…</head> et l’appel du fichier body.html. Vous pouvez vous référer à celui de Zcore : http://zone.spip.org/trac/spip-zone...
Le fichier body.html contiendra tout ce que vous désirez mettre entre les <body>…</body>. N’oubliez pas de mettre ces dernières balises dans votre fichier body.html si vous utilisez le fichier structure.html de Zcore.

Pour aller plus loin

Dans ce présent article, vous avez pu voir l’utilisation de 5 blocs : content, head, head_js, header, footer. Si vous désirez ajouter d’autres blocs dans votre mise en page et ainsi bénéficier des fichiers par défaut, il vous suffit de rajouter le nom de ce nouveau bloc (ex : aside) dans votre fichier mes_options.php :

  1. $GLOBALS['z_blocs'] = array('content', 'head', 'head_js', 'header', 'footer', 'aside');

En savoir plus

Conclusion

En suivant ces quelques étapes, il est très facile de démarrer un projet sous l’architecture de Zcore. Cette mécanique de structure de fichiers est très pratique pour mettre en place un site internet. Vous ne pourrez plus vous en passer !

Dernière modification de cette page le 18 septembre 2015

Retour en haut de la page

Vos commentaires

  • Le 17 février à 08:51, par Mist. GraphX En réponse à : Créer des squelettes avec Zcore

    Bonjour Teddy,

    En faisant une recherche sur le net je suis donc tombé sur cet article, bravo pour cette démarche, ça va faire gagner du temps a certains et clarifier l’utilisation de Zcore (alléger les forums ^^).

    Cela dit ce que je cherchais n’est pas mentionné dans l’article, et je me demande si ce ne serait pas bien d’ajouter les #BALISES et autres fonctions bien utiles qu’embarque Zcore comme :

    • la balise #SI_PAGE
    • la balise #CSS
    • la possibilitté d’utiliser un squelette body différent pour chaques pages body-article.html, body-rubrique.html (bien utile quand on sort des template standards à la layout gala)
    • la $GLOBALS['z_blocs_404'] = array('content','aside'); peut aussi être utile

    Sinon je suis étonné aussi que personne n’ai proposé de découper la dist en zcore comme base de démarrage, pouvant utiliser les thèmes de la dist.

    Bonne journée
    Arnaud B. (Mist. GraphX)

    • Le 18 février à 13:58, par Teddy Payet En réponse à : Créer des squelettes avec Zcore

      Bonjour Mist. GraphX,

      #BALISE

      Il faudrait je pense faire une documentation dédiée à ces balises pour pouvoir avoir des exemples précis et ainsi mieux aider les utilisateurs sur ces particularités.
      De même pour $GLOBALS['z_blocs_404']

      body-xxx.html

      Pour body-article.html, en effet, il faudrait l’ajouter dans l’article. Je vais voir ce que je peux faire à ce sujet.

      La dist en zcore

      Il y a eu des propositions pour le faire mais je ne crois pas que cela a été réalisé ou du moins déposé sur la zone. Si le coeur t’en dit, tu es le bienvenu sur cette contribution.

      Teddy

    • Le 18 février à 14:25, par Mist. GraphX En réponse à : Créer des squelettes avec Zcore

      oui, la surcharge de body-page ça dépanne bien ;-)

      Il y a eu des propositions pour le faire mais je ne crois pas que cela a été réalisé ou du moins déposé sur la zone. Si le coeur t’en dit, tu es le bienvenu sur cette contribution.

      le plus dur va être de trouver le nom/prefix alors , qu’il n’y ai pas d’ambiguité avec zdist, zspip, ...

      Bonne journée et merci

    Répondre à ce message

  • Le 16 septembre 2015 à 10:19, par Pierrox En réponse à : Créer des squelettes avec Zcore

    Bonjour,

    J’ai un problème étrange :

    Sur mon hébergement je suis obligé d’avoir le squelette principal de chaque objet.
    ex pour rubrique.html :

    1. <BOUCLE_principale_rubrique (RUBRIQUES) {id_rubrique}>
    2. <INCLURE{fond=structure, env, id_secteur=#ID_SECTEUR, type-page=rubrique, composition=#COMPOSITION} ></INCLURE>
    3. </BOUCLE_principale_rubrique>

    Télécharger

    Si ce squelette n’existe pas j’ai droit à une belle 404...

    En local çela fonctionne très bien sans les squelettes « objets » à la racine, ces squelettes ne semblent pas obligatoires...

    Je précise que je créé un squelette sous forme de plugin et que je n’ai qu’une dépendance a z-core.

    Si vous avez une explication je suis preneur :)

    Merci !

    • Le 16 septembre 2015 à 10:44, par Pierrox En réponse à : Créer des squelettes avec Zcore

      Je tiens a préciser qu’il y a un squelette générique dans zcore -> page.html qui dispense de créer les squelettes objets à la racine.

      Cordialement

    • Le 16 septembre 2015 à 10:54, par Teddy Payet En réponse à : Créer des squelettes avec Zcore

      Bonjour,

      Il faut avoir dans content/ le squelette de l’objet demandé. J’ai ouïe dire (suite à la création du Plugin « Initialiser Zcore ») qu’il n’est pas nécessaire d’avoir rubrique.html au même niveau que structure.html ou body.html

    • Le 16 septembre 2015 à 11:28, par Pierrox En réponse à : Créer des squelettes avec Zcore

      Oui, oui ! J’ai bien les squelettes qui vont bien dans content/

      Par contre les squelettes du genre :

      1. <BOUCLE_principale_ecureuil (ECUREUILS) {id_ecureuil}>
      2. <INCLURE{fond=structure, env, id_secteur=#ID_SECTEUR, type-page=ecureuil, composition=#COMPOSITION} ></INCLURE>
      3. </BOUCLE_principale_ecureuil>

      Télécharger

      Ne sont pas nécessaires et ce pour n’importe quel objet spip :D.

      Pour moi ça marche très bien sur plein d’hébergements mais j’en juste 1 qui coince... (Je pense que c’est un soucis de mutualisaton )

      Essaye sans ces squelettes ça marche trés bien et ça allège l’arborescence.

    • Le 17 septembre 2015 à 23:48, par nicod_ En réponse à : Créer des squelettes avec Zcore

      Teddy, je confirme qu’il n’est pas nécessaire d’avoir tous les squelettes d’objet à la racine, c’est page.html de zcore qui route tout seul selon le type. Il faudrait mettre la doc à jour sur ce passage.

    • Le 18 septembre 2015 à 01:00, par Teddy Payet En réponse à : Créer des squelettes avec Zcore

      Hello,

      Merci nicod_ pour ta confirmation.
      De ce fait, j’ai mis à jour la documentation selon cette remarque. Un grand pan de l’article a donc été modifié.

       :-)

    • Le 2 février à 16:01, par joz En réponse à : Créer des squelettes avec Zcore

      Salut,
      Est-ce que, quand on utilise le plugin compostions avec z-core, il faut quant même les squelettes d’objet à la racine ?
      Chez moi les compositions sont ignorés quand je n’y ai pas ces squelettes...
      ++
      j

    • Le 2 février à 20:16, par tcharlss En réponse à : Créer des squelettes avec Zcore

      Hello, j’ai remarqué la même chose pour les compositions : il faut les squelettes d’objets à la racine.

    • Le 18 février à 14:01, par Teddy Payet En réponse à : Créer des squelettes avec Zcore

      Bonjour,

      Il me semble qu’il est nécessaire d’avoir les fichiers des objets à la racine pour pouvoir passer la variable « composition » au reste du squelette.
      En tout cas, depuis que j’utilise Zcore, j’ai toujours eu besoin de le faire.

      Amicalement,

    Répondre à ce message

  • Le 17 juillet 2015 à 12:16, par jacangers En réponse à : Créer des squelettes avec Zcore

    je me lance !

    c’est le grand saut , cela fait un moment que je tourne autour de cette histoire sans vraiment savoir par quelle bout prendre la chose. Vu de loin comme ça ... ce concept « z » fait saliver ... mais quand on s’approche un peu plus .... l’utilisateur « classique » de spip que je suis est tout simplement déboussolé.

    Pas simple de changer ses vieilles habitudes, alors , par ou commencer ?

    Je viens de m’installer un site de « découverte zcore », tout beau tout neuf .. tout vide .

    j’ai mis en place les deux plugins « zcore »
    Initialiser Zcore et Z-core 2.4.5
    j’ai installé mon dossier squelettes avec l’organisation recommandée :
    content ;
    head ;
    head_js ;
    header ;
    footer.

    (cf copies ecran)

    et maintenant ?

    quand je consulte un article bidon que je viens de créer , que se passe t’il ?
    comment la page est elle fabriquée ?
    j’avoue etre un peu perdu.
    J’aimerai bien par exemple partir sur une architeture « boostrap », comment est ce que je dois « construire » mes squelettes aujourd’hui, pour bénéficier de cette logique « z » qui me semble performante et bénéficier de l’architecture « bootstrap » que je trouve fabuleuse.

    Y a t-il un « tutorial » « zcore pour le nigauds » par exemple, pour me permettre de plonger dedans ?

    merci de vos conseils

    jacques

    PNG - 19.4 ko

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Métas +

    3 décembre – 12 commentaires

    Améliorez l’indexation de vos articles dans les moteurs et leur affichage sur les réseaux sociaux grâce aux métadonnées Dublin Core, Open Graph et Twitter Card. Installation Activer le plugin dans le menu dédié. Dans le panel de configuration, (...)

  • Acces Restreint 3.0

    11 décembre 2008 – 785 commentaires

    Le plugin accès restreint permet de définir et de gérer des zones de l’espace public en accès restreint. Cette version du plugin a été redévelopée et optimisée tout spécialement pour SPIP 2.0. Il en découle une amélioration des performances sur les gros (...)

  • Compositions 2 et 3

    25 mars 2011 – 176 commentaires

    Ce plugin vous permet de définir plusieurs variantes de squelettes (nommées compositions) pour un même type d’objet SPIP. Dans l’espace privé, il est alors possible de choisir, dans un menu déroulant, la composition qu’on veut attribuer à chaque (...)

  • Configurer Sparkpost

    25 avril – 18 commentaires

    N’hésitez pas à relire le préambule de cette rubrique avant de créer un compte sur une plateforme tierce . Présentation Sparkpost est une société d’envoi de mailing https://www.sparkpost.com/ Sur les petits volumes ( <100.000 emails / mois), (...)

  • Mode portail Communiquant pour SoyezCréateurs

    29 septembre 2010 – 21 commentaires

    5e mode d’affichage de la page d’accueil, ce mode se distingue des autres par une animation proposant un fondu/enchaîné des logos des articles à la une. Zonage Configuration Zone d’entête Nom du site Slogan si plugin bandeau présent (...)

Ça spipe par là