Le Squelette Zpip

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

Zpip [1] est un modèle de squelette réutilisable, modulaire et disposant d’une galerie de thèmes. [2] Ce modèle de squelette rend l’installation d’un site avec son thème plus facile, et la personnalisation plus efficace.

Zpip-dist est la version de base de ce modèle de squelette, que vous pouvez utiliser telle quelle ou personnaliser et enrichir selon vos besoins.

Installer Zpip

Zpip se charge et s’installe comme un plugin. Pour installer Zpip et jouer avec sans plus attendre, il suffit de suivre le guide d’installation pas à pas.

Une fois installé, vous pourrez vous faire plaisir en téléchargeant des thèmes déjà existants, et revenir lire la suite de cet article au moment de mettre un peu les mains dedans pour le personnaliser !

Le projet Zpip

Plus qu’un squelette, Zpip est un exemple d’un système de squelette qui met en application les idées exposées dans Modèle de squelette réutilisable. Il propose une organisation des squelettes visant à le rendre :

  • habillable par des thèmes indépendants du squelette
  • maintenable dans le temps, par une duplication minimale du code
  • rapidement déployable, au prix d’un petit apprentissage initial sur son organisation

Zpip s’adresse aussi bien aux débutants qui veulent profiter d’une galerie de thèmes prêts à l’emploi, qu’aux webmestres avancés pour qui il propose un fonctionnement et des mécanismes productifs.

Toute l’organisation et le fonctionnement de Zpip peuvent être réutilisés pour construire de nouveaux squelettes qui bénéficieront des mêmes avantages.

Organisation des fichiers

Zpip redéfinit tous les squelettes par défaut de la dist de SPIP, à la racine de son dossier : 404.html, article.html, auteur.html, backend.html, breve.html, forum.html, login.html, mot.html, page.html, plan.html, recherche.html, rubrique.html, site.html, sommaire.html, et spip_pass.html.

À l’exception du flux RSS (backend.html), tous ces squelettes sont réécrits de façon minimale pour inclure structure.html qui produira toutes les pages. Vous pouvez donc oublier tous ces squelettes issus de la dist : vous n’aurez plus besoin de les manipuler, sauf cas exceptionnel.

Nous voici donc avec deux squelettes supplémentaires à la racine : structure.html et body.html.
Le premier, structure.html, pose la structure minimale de la page HTML, inclut les squelettes chargés de produire le head, puis le body.html qui définit le layout unique et sur lequel nous revenons ci-dessous plus en détail.

Zpip contient de plus six sous dossiers.
Deux sont génériques :

  • img/ qui contient toutes les images de décoration
  • inclure/ qui contient les squelettes communs et partagés entre les différentes pages du site.

Les quatre autres dossiers déclinent des morceaux de la page html en fonction de la page du site sur laquelle on se trouve :

  • head/ qui contient les squelettes de la section <head> personnalisée pour chaque page, lorsque c’est nécessaire, qui s’ajoute à un <head> commun situé dans inclure/
  • contenu/ dans lesquels seront mis tous les squelettes produisant le contenu principal de chaque page
  • extra/ dans lesquels seront mis tous les squelettes produisant les informations extra contextuelles pour chaque page
  • navigation/ dans lesquels seront mis tous les squelettes produisant les informations de navigation propres à chaque page

Layout Unique

Zpip est donc organisé autour d’un layout unique décrit par body.html qui intègre 6 entités logiques de contenu et les structure à sa guise dans le HTML.

Les 6 entités sont nommées selon la convention ci-dessous, eu égard à leur contenu informationnel et sans préjuger de la dénomination et de la structure englobante définie par le thème :

  • entête fournit la présentation de la page et d’identité du site
  • barre-nav constitue la navigation principale du site ; peut être vide
  • contenu contient l’information principale de la page, déclinée par type de page
  • navigation fournit des éléments de navigation secondaire, déclinés par type de page
  • extra fournit des éléments d’information connexes contextuels, déclinés par type de page
  • pied fournit des éléments de repérages et de rappels secondaires

Le layout par défaut de Zpip est simple :

<div id="page">
	<div id="entete">
		<INCLURE{fond=inclure/entete,env}>
	</div>
	<div id="nav">
		<INCLURE{fond=inclure/barre-nav,env}>
	</div>
	
	<div id="conteneur">	
		<div id="contenu">
			<INCLURE{fond=contenu/#ENV{type},env}>
		</div>

		<div id="navigation">
			<INCLURE{fond=navigation/#ENV{type},env}>
			<INCLURE{fond=extra/#ENV{type},env}>
		</div>
	</div>

	<div id="pied">
		<INCLURE{fond=inclure/pied,env}>
	</div>
</div>

Nous voyons que ce layout ne gère qu’une unique colonne #navigation, laquelle intègre le contenu des blocs de navigation et extra.

Pages automatiques

Zpip intègre un mécanisme de génération automatique des pages complètes à partir d’un seul squelette de contenu.

Par exemple, il suffit d’écrire un squelette minimal contenu/page-inscription.html contenant seulement :

#FORMULAIRE_INSCRIPTION

pour que la page complète spip.php?page=inscription soit disponible.

Pour réaliser cela Zpip utilise les éléments communs inclure/entete.html, inclure/barre-nav.html et inclure/pied.html. Pour les éléments de navigation et d’extra, Zpip utilise par défaut les squelettes navigation/dist.html et extra/dist.html si aucun squelette navigation/page-inscription.html ou extra/page-inscription.html n’est défini.

Ce mécanisme de pages automatiques permet d’ajouter, aussi rapidement que facilement, des pages spécifiques, en cohérence immédiate avec le reste du site. De même, il permet à des plugins de fournir des pages dédiées, utilisables sur tous les sites quelle qu’en soit leur structure, laquelle sera automatiquement fournie par Zpip.

Par exemple, un plugin de newsletter peut facilement fournir un squelette contenu/page-abonnement.html (permettant à l’abonné de gérer son abonnement), qui pourra être utilisé tel quel par tous les sites reposant sur Zpip.

Zpip permet de gérer votre navigation principale directement dans l’espace privé à l’aide du plugin Menus. Il suffit de créer un menu avec l’identifiant barrenav pour qu’il soit automatiquement inséré à la place de la navigation principale, sans modifications de fichiers.

Compositions

Zpip est naturellement conçu pour fonctionner avec le plugin Compositions qui permet d’utiliser plusieurs types de composition par objet, et de décliner les cœurs de page en fonction des besoins.

Thèmes

Grâce à sa structure, Zpip est utilisable directement avec une galerie de thèmes interchangeables.

Pour faciliter l’écriture de nouveaux thèmes pour Zpip, un certain nombre de conventions ont été documentées qui permettent de définir un socle commun.

Les thèmes qui respectent ces conventions pourront être utilisés indifféremment avec Zpip ou tout autre squelette reposant sur la même structure et les mêmes conventions.

Notes

[1Le nom de ce squelette ne doit rien à l’infâme Zorglub, mais plutôt à une comédie musicale futuriste imaginant le futur de SPIP en 2050

[2Concrètement, Zpip est issu d’une fusion des projets Zesty et SPIP-Zen.

Discussion

168 discussions

  • 12

    Bjr,

    en mettant à jour spip 3.1.6 vers 3.2, j’ai eu un gros bug.
    j’avais pourtant mis à jour tous les plugins, qui étaient notés compatibles 3.2

    Après la mise à jour, le contenu de mon site ne s’affichait plus du tout sur la partie publique, alors que tout était ok sur la partie privée.
    J’ai fait divers tests (vider cache, supprimer dossier tmp), mais c’est en désactivant les plugins que je me suis rendu compte que c’était Zpip-dist v1 1.7.31 et/ou Zpip-vide 2.1.7 - qui faisaient planter le contenu public.
    Je les ai donc désactivés (ainsi que mes squelettes et le thème utilisé), et là le contenu s’affiche avec les squelettes DisT : http://ricochets.cc/, ce qui est mieux qu’une page vide.

    Pour info, j’ai Aveline 2.5.12 et Zen-Garden 2.6.4

    J’étais prêt à effacer toute la mise à jour et à revenir à spip 3.1.6 avec mes sauvegardes, mais je me dis que c’est peut-être juste un petit bug qui sera vite résolu ?

    merci pour toute aide utile

    • J’utilise zpip diste 1.7.31 en SPIP 3.2 et n’ai aucun souci. Quel est le bug exacte ? page blanche ? si oui il faudrai activer l’affichage des erreurs php pour voir d’où vient le problème.

    • En fait les pages s’affichent sans les contenus, on voyait juste le bandeau et le pied.
      Même en désactivant tous mes squelettes persos, ça ne change pas

      voici la liste de mes plugins : https://app.box.com/s/axg62tkc49rhfkzlq1yr332ne797tjeo
      et la saisie d’écran page sans contenus en activant les Zpip : https://app.box.com/s/axg62tkc49rhfkzlq1yr332ne797tjeo

      ça c’est le site, en désactivant Zpip-dist v1 1.7.31 et Zpip-vide 2.1.7 et mes squelettes : http://ricochets.cc/

      Avec les Zpip, y a pas d’erreurs php qui s’affichent dans l’espace privé, j’ai testé avec ?var_mode=debug sur un article et y a pas d’erreurs affichées apparemment.

      Qu’est-ce que pourrais tester de plus ?

    • Tu as mis deux fois le même lien. C’est vraiment trés étonnant ton affaire. Que donne un ?var_mode=inclure.

    • pardon, la saisie écran : https://app.box.com/s/c7ndkysras0ssyf8men5crmsewyh52gw

      voici ?var_mode=inclure sur un article, pas d’erreurs affichées :

      <div class='inclure_blocs'><h6>plugins/auto/z/v1.7.31/article.html</h6>
      <div class='inclure_blocs'><h6>plugins/auto/z/v1.7.31/structure.html</h6><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr" dir="ltr">
      <head>
      <div class='inclure_blocs'><h6>plugins/auto/seo/v2.1.7/inclure/seo-head.html</h6><div class='inclure_blocs'><h6>plugins/auto/z/v1.7.31/head/article.html</h6>
      <title>Contribuer au prochain numéro papier ! - Ricochets, journal local média vallée Drôme, participatif information expression libre, journal papier et web</title>
      <meta name="description" content="Quoi de mieux qu&#039;un moment ENSEMBLE d&#233;di&#233;, pour pr&#233;parer le prochain num&#233;ro, un num&#233;ro papier qui vous ressemble ! Parce que le num&#233;ro d&#039;un m&#233;dia - Journal local d&#039;information et d&#039;expression libre ind&#233;pendant, vall&#233;e de la Dr&#244;me, m&#233;dia participatif papier et web : Crest, Saillans, Die, Grane, Eurre, Loriol, Livron, Aouste sur Sye, Mirabel et Blacons, Piegros la Clastre, Vercheny, Beaufort sur Gervanne, Allex... Journal ouvert et autog&#233;r&#233;" />
      <link rel="canonical" href="http://www.ricochets.cc/Contribuer-au-prochain-numero-papier.html" />
      
      
      </div>
      <!--seo_insere--><meta name="keywords" content="m&#233;dia local, journal local, Dr&#244;me, journal papier, vall&#233;e de le Dr&#244;me, libre, ind&#233;pendant, Crest, Saillans, Die, Vercheny, Grane, Eurre, Loriol, Livron, Aouste sur Sye, Mirabel et Blacons, Piegros la Clastre, Beaufort sur Gervanne, Allex, participatif, information, expression, enqu&#234;te, lanceur d&#039;alerte, libert&#233; d&#039;expression" />
      <link rel="canonical" href="http://www.ricochets.cc/Contribuer-au-prochain-numero-papier.html" />
      </div><div class='inclure_blocs'><h6>plugins/auto/zvide/v2.1.7/inclure/head.html</h6>
      
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      
      
      <meta name="generator" content="SPIP 3.2.0 [23778]" />
      
      
       
      <link rel="alternate" type="application/rss+xml" title="Syndiquer tout le site" href="spip.php?page=backend" />
      
      
      <link rel="stylesheet" href="plugins/auto/z/v1.7.31/spip_style.css" type="text/css" media="all" />
      
      
      <link rel="stylesheet" href="plugins/auto/z/v1.7.31/spip_formulaires.css" type="text/css" media="projection, screen, tv" />
      
      
      <script type="text/javascript">/* <![CDATA[ */
      var box_settings = {tt_img:true,sel_g:"#documents_portfolio a[type='image/jpeg'],#documents_portfolio a[type='image/png'],#documents_portfolio a[type='image/gif'],.spip_documents a[type='image/jpeg'],#documents_portfolio a[type='image/png'],.spip_documents a[type='image/png']",sel_c:".mediabox",trans:"elastic",speed:"200",ssSpeed:"2500",maxW:"90%",maxH:"90%",minW:"400px",minH:"",opa:"0.9",str_ssStart:"Diaporama",str_ssStop:"Arrêter",str_cur:"{current}/{total}",str_prev:"Précédent",str_next:"Suivant",str_close:"Fermer",splash_url:""};
      var box_settings_splash_width = "90%";
      var box_settings_splash_height = "90%";
      var box_settings_iframe = true;
      /* ]]> */</script>
      <!-- insert_head_css --><link rel="stylesheet" href="plugins-dist/mediabox/colorbox/black-striped/colorbox.css" type="text/css" media="all" /><link rel='stylesheet' type='text/css' media='all' href='plugins-dist/porte_plume/css/barre_outils.css?1511454848' />
      <link rel='stylesheet' type='text/css' media='all' href='local/cache-css/cssdyn-css_barre_outils_icones_css-8f5ca9be.css?1511471080' />
      
      <!-- Debut CS -->
      <style type="text/css">
      <!--/*--><![CDATA[/*><!--*/
      a.spip_mail:before{content:"" !important;}
      span.mcrypt {background:transparent url(http://www.ricochets.cc/plugins/auto/couteau_suisse/v1.10.4/img/mailcrypt/leure.gif) no-repeat scroll 0.1em center; padding-left:12px; text-decoration:none; float:none; margin:0; display:inline;}
      /*]]>*/-->
      </style>
      <!-- Fin CS -->
      
      <link rel="stylesheet" type="text/css" href="plugins/auto/orthotypo/v1.4.5/css/typo_guillemets.css" media="all" />
      <link rel="stylesheet" type="text/css" href="plugins/auto/orthotypo/v1.4.5/css/typo_guillemets.css" media="all" />
      <link rel="stylesheet" type="text/css" href="plugins/auto/oembed/v2.0.0/css/oembed.css?1509718664" />
      
      
      
      <link rel="stylesheet" href="plugins/auto/z/v1.7.31/habillage.css" type="text/css" media="projection, screen, tv" />
      
      
      
      
      
      
      
      
      
      
      
      <script src="prive/javascript/jquery.js?1511455011" type="text/javascript"></script>
      
      <script src="prive/javascript/jquery-migrate-3.0.1.js?1511455008" type="text/javascript"></script>
      
      <script src="prive/javascript/jquery.form.js?1511455009" type="text/javascript"></script>
      
      <script src="prive/javascript/jquery.autosave.js?1511455008" type="text/javascript"></script>
      
      <script src="prive/javascript/jquery.placeholder-label.js?1511455008" type="text/javascript"></script>
      
      <script src="prive/javascript/ajaxCallback.js?1511455008" type="text/javascript"></script>
      
      <script src="prive/javascript/js.cookie.js?1511455009" type="text/javascript"></script>
      
      <script src="prive/javascript/jquery.cookie.js?1511455008" type="text/javascript"></script>
      <!-- insert_head -->
      	<script src="plugins-dist/mediabox/javascript/jquery.colorbox.js?1511454822" type="text/javascript"></script>
      	<script src="plugins-dist/mediabox/javascript/spip.mediabox.js?1511454823" type="text/javascript"></script><script type='text/javascript' src='plugins-dist/porte_plume/javascript/jquery.markitup_pour_spip.js?1511454850'></script>
      <script type='text/javascript' src='plugins-dist/porte_plume/javascript/jquery.previsu_spip.js?1511454850'></script>
      <script type='text/javascript' src='local/cache-js/jsdyn-javascript_porte_plume_start_js-4e8a827f.js?1511471080'></script>
      <link rel="stylesheet" type="text/css" href="plugins/auto/citations_bb/v0.1.4/css/citations_bb.css" />
      
      <!-- Debut CS -->
      <script type="text/javascript"><!--
      var cs_prive=window.location.pathname.match(/\/ecrire\/$/)!=null;
      jQuery.fn.cs_todo=function(){return this.not('.cs_done').addClass('cs_done');};
      function lancerlien(a,b){ return 'ma'+'ilto'+':'+a.replace(new RegExp(b,'g'),'@'); }
      var cs_init = function() {
      	/* optimisation : 'IF(1)' */ if(!cs_prive) jQuery("a.spip_out,a.spip_url,a.spip_glossaire",this).attr("target", "_blank"); 
      	jQuery('span.mcrypt', this).attr('class','cryptOK').html('&#6'+'4;');
      	jQuery("a["+cs_sel_jQuery+"title*='..']", this).each(function () {
      		this.title = this.title.replace(/\.\..t\.\./g,'[@]');
      	});
      	 if(window.location.search.match(/page=forum/)!=null) jQuery("legend:contains('modération a priori')", this).next().html('Ce forum est modéré à priori : votre contribution n\'apparaîtra qu\'après avoir été validée par un administrateur du site, sauf si vous êtes identifié et autorisé à poster directement.');
      }
      if(typeof onAjaxLoad=='function') onAjaxLoad(cs_init);
      if(window.jQuery) {
      var cs_sel_jQuery='';
      var cs_CookiePlugin="prive/javascript/jquery.cookie.js";
      jQuery(document).ready(function(){
      	cs_init.apply(document);
      });
      }
      // --></script>
      
      <!-- Fin CS -->
      
      <link rel="alternate" type="application/json+oembed" href="http://www.ricochets.cc/oembed.api/?format=json&amp;url=http%3A%2F%2Fwww.ricochets.cc%2FContribuer-au-prochain-numero-papier.html" />
      </div><link rel='stylesheet' href='http://www.ricochets.cc/prive/spip_admin.css' type='text/css' />
      </head>
      <body class="page_article article_article_actus_ricochets">
      <div class='inclure_blocs'><h6>plugins/auto/z/v1.7.31/body.html</h6><div id="page">
      	<div id="entete">
      		<div class='inclure_blocs'><h6>plugins/auto/zvide/v2.1.7/inclure/entete.html</h6><div class="accueil">
      	
      	<strong id="nom_site_spip"><a rel="start home" href="http://ricochets.cc/" title="Accueil">Ricochets</a></strong>
      	
      </div>
      
      
      
      
      
      </div>	</div>
      	<div id="nav">
      		<div class='inclure_blocs'><h6>plugins/auto/menus/v1.6.10/inclure/barre-nav.html</h6><div class="menu-conteneur navbar-inner">
      <div class='inclure_blocs'><h6>plugins/auto/menus/v1.6.10/inclure/menu.html</h6><ul class="menu-liste menu-items">
      		<div class='inclure_blocs'><h6>plugins/auto/menus/v1.6.10/menus/accueil.html</h6>
      
       
      	<li class="menu-entree item">
      		<a href="http://ricochets.cc/">Accueil</a>
      
      </div> 
      		</li>
      		<div class='inclure_blocs'><h6>plugins/auto/menus/v1.6.10/menus/objet.html</h6>
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
       
      	<li class="menu-entree item">
      		<a href="Presentation-de-RICOCHETS.html">Présentation</a>
      
      </div> 
      		</li>
      		<div class='inclure_blocs'><h6>plugins/auto/menus/v1.6.10/menus/objet.html</h6>
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
       
      	<li class="menu-entree item">
      		<a href="Les-videos.html">Vidéos</a>
      
      </div> 
      		</li>
      		<div class='inclure_blocs'><h6>plugins/auto/menus/v1.6.10/menus/page_speciale.html</h6>
      
      
      
      
       
      	<li class="menu-entree item mots">
      		<a href="spip.php?page=mots">Thèmes</a>
      
      </div> 
      		</li>
      		<div class='inclure_blocs'><h6>plugins/auto/menus/v1.6.10/menus/espace_prive.html</h6>
      
      
      
       
      	 
      		<li class="menu-entree item">
      			<a href="ecrire/">Publiez</a>
      	
      	
      
      </div> 
      		</li>
      		<div class='inclure_blocs'><h6>plugins/auto/menus/v1.6.10/menus/objet.html</h6>
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
       
      	<li class="menu-entree item">
      		<a href="Participez-et-faites-connaitre-Ricochets.html">Aidez Ricochets</a>
      
      </div> 
      		</li>
      		<div class='inclure_blocs'><h6>plugins/auto/contact/v0.16.2/menus/contact.html</h6>
       
      	
      
      
       
      	<li class="menu-entree item">
      		<a href="spip.php?page=contact">Contact</a>
      
      </div> 
      		</li>
      		
      	</ul></div></div>
      </div>	</div>
      	
      	<div id="conteneur">	
      		<div id="contenu">
      			<div class='inclure_blocs'><h6>plugins/auto/zvide/v2.1.7/contenu/article.html</h6></div>		</div>
      
      		<div id="navigation">
      			<div class='inclure_blocs'><h6>plugins/auto/zvide/v2.1.7/navigation/dist.html</h6></div>			<div class='inclure_blocs'><h6>plugins/auto/zvide/v2.1.7/extra/article.html</h6></div>		</div>
      	</div>
      
      	<div id="pied">
      		<div class='inclure_blocs'><h6>plugins/auto/zvide/v2.1.7/inclure/pied.html</h6>
      <a href="https://www.spip.net/" title="Site réalisé avec SPIP">Site réalisé avec SPIP</a>
       | <a href="http://www.ricochets.cc/spip.php?action=logout&amp;logout=public&amp;url=Contribuer-au-prochain-numero-papier.html" rel="nofollow">Se déconnecter</a>
      
       | <a href="ecrire/">Espace privé</a>
       | <a rel="contents" href="spip.php?page=plan">Plan du site</a>
       | <a href="+-Bouteille-a-la-riviere-+.html" class='spip_in'>Bouteilles à la rivière</a> | <a href="-Les-Articles-.html" class='spip_in'>Articles</a> | <a href="spip.php?page=mots">Thèmes</a> | <a href="spip.php?page=contact">Contact</a> | <a href="spip.php?page=recherche">Rechercher</a> | <a href="Mentions-legales.html" class='spip_in'>Mentions légales</a>
       | <a href="spip.php?page=backend" rel="alternate" title="Syndiquer tout le site"><img src="plugins/auto/z/v1.7.31/feed.png" alt="Suivre la vie du site" width="16" height="16" />&nbsp;RSS&nbsp;2.0</a>
      </div>	</div>
      </div>
      </div>
      <div class='inclure_blocs'><h6>squelettes-dist/formulaires/administration.html</h6> <div class="spip-admin-float" id='spip-admin' dir="ltr">
      	 
      		<a href="http://www.ricochets.cc/ecrire/?exec=article&amp;id_article=374" class="spip-admin-boutons"
      		id="voir_article">Article
      			(374)</a>
      	<div class='inclure_blocs'><h6>plugins-dist/statistiques/prive/bouton/statistiques.html</h6>
      	<a href="http://www.ricochets.cc/ecrire/?exec=stats_visites&amp;id_article=374" class="spip-admin-boutons"
      		id="statistiques">visites :&nbsp;24;&nbsp;popularité :&nbsp;13</a></div><!--extra-->
      	<a href="Contribuer-au-prochain-numero-papier.html?var_mode=recalcul" class="spip-admin-boutons"
      		id="var_mode">Recalculer cette page</a>
      </div>
      </div><script type='text/javascript'>jQuery(function(){jQuery('.inclure_blocs h6:first-child').each(function(){
      				jQuery(this).html("<a class='sepopin' href='http://www.ricochets.cc/ecrire/?exec=skeleditor&amp;retour=Contribuer-au-prochain-numero-papier.html&amp;f="+jQuery(this).html()+"'>"+jQuery(this).html()+'<'+'/a>');
      			});});</script><style>.spip-admin-boutons {display:block;float:left;margin-right:10px; max-height:300px; overflow:auto;} .spip-admin-boutons a{display:block;opacity:0.7;} .spip-admin-boutons:hover,.spip-admin-boutons a:hover {opacity:1.0;}</style>
      			<script type='text/javascript'>/*<![CDATA[*/jQuery(function(){jQuery('#spip-admin').append("<span class='spip-admin-boutons' id='inclure'><a href='http://www.ricochets.cc/ecrire/?exec=skeleditor&amp;retour=Contribuer-au-prochain-numero-papier.html&amp;f=plugins%2Fauto%2Fz%2Fv1.7.31%2Fspip_style.css'>spip_style.css<\/a><a href='http://www.ricochets.cc/ecrire/?exec=skeleditor&amp;retour=Contribuer-au-prochain-numero-papier.html&amp;f=plugins%2Fauto%2Fz%2Fv1.7.31%2Fspip_formulaires.css'>spip_formulaires.css<\/a><a href='http://www.ricochets.cc/ecrire/?exec=skeleditor&amp;retour=Contribuer-au-prochain-numero-papier.html&amp;f=plugins-dist%2Fmediabox%2Fcolorbox%2Fblack-striped%2Fcolorbox.css'>colorbox.css<\/a><a href='http://www.ricochets.cc/ecrire/?exec=skeleditor&amp;retour=Contribuer-au-prochain-numero-papier.html&amp;f=plugins-dist%2Fporte_plume%2Fcss%2Fbarre_outils.css'>barre_outils.css<\/a><a href='http://www.ricochets.cc/ecrire/?exec=skeleditor&amp;retour=Contribuer-au-prochain-numero-papier.html&amp;f=plugins%2Fauto%2Forthotypo%2Fv1.4.5%2Fcss%2Ftypo_guillemets.css'>typo_guillemets.css<\/a><a href='http://www.ricochets.cc/ecrire/?exec=skeleditor&amp;retour=Contribuer-au-prochain-numero-papier.html&amp;f=plugins%2Fauto%2Foembed%2Fv2.0.0%2Fcss%2Foembed.css'>oembed.css<\/a><a href='http://www.ricochets.cc/ecrire/?exec=skeleditor&amp;retour=Contribuer-au-prochain-numero-papier.html&amp;f=plugins%2Fauto%2Fz%2Fv1.7.31%2Fhabillage.css'>habillage.css<\/a><a href='http://www.ricochets.cc/ecrire/?exec=skeleditor&amp;retour=Contribuer-au-prochain-numero-papier.html&amp;f=plugins%2Fauto%2Fcitations_bb%2Fv0.1.4%2Fcss%2Fcitations_bb.css'>citations_bb.css<\/a><a href='http://www.ricochets.cc/ecrire/?exec=skeleditor&amp;retour=Contribuer-au-prochain-numero-papier.html&amp;f=prive%2Fspip_admin.css'>spip_admin.css<\/a><\/span>");});/*]]>*/</script></body>
      </html>
       
      </div>
      </div><script type='text/javascript'>jQuery(function(){jQuery('.inclure_blocs > h6:first-child').hover(function(){jQuery(this).parent().addClass('hover')},function(){jQuery(this).parent().removeClass('hover')})});</script>

      -  et le code source html de la page article (avec les zpip activés, que je ne laisse pas pour que le site continue à s’afficher quand même) : https://app.box.com/s/v94slzkr1otvb293ml0524hg2wa8uabp

    • Il me faudrait la copie d’ecran du var_mode=inclure, pas le code source de la page

    • Ah ok : https://app.box.com/s/8ex3m1fxe59iprgr0u3w5v68f2w65jif
      en tout cas y a pas d’erreurs affichées

    • bah voilà.

      ce qui est utilisé c’est le contenu d’article du plugin zvide, qui, comme son non l’indique, est vide. Pourquoi utilise tu ce plugin ?

    • Ben, j’ai toujours utilisé ce plugin pour ce type de site, avec Zpip-dist v1 1.7.31
      l’un va avec l’autre non ? (et avec Zen Garden et Aveline)
      Mais peut-être qu’à présent il n’est plus utile du coup ?

    • Là j’ai activé que Zpip-dist v1 1.7.31, et pas Z vide
      puis mes squelettes et le thème Marketplace
      Le contenu revient, mais pas partout, Aveline ne fonctionne pas correctement, etc.
      je n’ai pas le menu « noisettes » dans l’espace privé
      Normal, car Aveline a besoin de Zvide.

    • a non, zpip-vide ne vient pas avec zpip-dist. C’est utile si tu a besoin du mecanisme sous jacent à zpip sans les squelettes par défaut de zpip.

      Pour faire court :
      -  zpip permet d’échaffauder des squelettes selon une certaine logique, il en fournit par défaut
      -  zpip-vide supprime ces squelettes par défaut
      -  puis après aveline ajoute ses propres squelettes

      Le problème se situerait donc plutôt du côté d’aveline. Donc j’irais voir là bas si ce n’est pas la config qui pêche, et je demanderai de l’aide sur le forum d’aveline.

    • Oui j’ai besoin de tout (Aveline, Zpip et Zpip-vide), pour utiliser un thème existant (que j’ai un peu modifié, surtout le look) avec le noizetier Aveline.
      ok merci bien pour les précisions, je vais poster sur le plugin Aveline

    • RESOLU : c’était en fait le plugin noiZetiers qui s’était désactivé lors de la mise à jour spip apparemment, et je ne m’en était pas rendu compte (il n’apparaissait pas dans la liste des plugins inactifs).
      Des fois, on ne pense pas aux trucs les plus simple... Désolé pour le dérangement...

    Répondre à ce message

  • 1

    Bonjour,
    Si Zpip est vraiment plaisant je peine un peu à le personnaliser (avec le thème Mapaaran).
    Heureusement que SkelEditor est là.

    Néamoins je ne comprend pas sur quelle partie je dois jouer pour faire des modifications qui ne s’appliqueraient que sur mon rubrique-3.html placé dans le dossier squelettes.
    Tout ce que j’ai modifié, à cette heure (sur article-resume par exemple) s’applique à toutes les rubriques alors que je ne voudrais l’appliquer qu’ à ma rubrique 3).
    Dois-je prefixer ou suffixer les fichiers actuellement modifiés ?

    pouvez-vous m’éclairer sur ce sujet ?

    • Tu dois utiliser les variantes de squelettes (documentation à ce sujet sur spip.net). Tu places rubrique-3.html qui contient les modifications à côté de rubrique.html (qui dirige le reste). Maintenant il semblerait que les fichiers article.html et rubrique.html, auparavant présents dans le dossier du plugin ne soient plus utilisables de la même manière pour zpip-dist. La structure des fichiers semble avoir changée. Si tu prends les fichiers de /squelettes-dist tu perdras le thème zpip.

    Répondre à ce message

  • Bonjour,
    je sais que ce plugin n’est plus maintenu mais il faut signaler un pb assez embêtant pour le référencement de vos sites depuis le passage en 3.1 : c’est la génération de sitemap.xml
    En effet, le fichier sitemap.xml.html génère en effet dans la boucle lang de la boucle rubrique des erreurs ,
    dont au début :
    10 Erreur(s) dans le squeletteNuméro Message squelette boucle Ligne
    1 Erreur SQL 1054
    Unknown column ’rubriques.id_trad’ in ’where clause’
    SELECT rubriques.lang, rubriques.id_rubrique, rubriques.titre FROM spip_rubriques AS rubriques WHERE (rubriques.statut = ’publie’) AND (((rubriques.id_trad = 0) AND (rubriques.id_rubrique = 9)) OR ((rubriques.id_trad > 0) AND (rubriques.id_trad = ’’)))
    /home/votresite/www/ecrire/public/composer.php calculer_select() sql_select() ; 1005

    j’ai remplacé la boucle rubrique du fichier sitemap.xml.html
    par (version du 02/02/2015 qui fonctionnait) :

    <BOUCLE_r(RUBRIQUES){!par date}{0,1000}>[
    <url><loc>(#URL_RUBRIQUE|url_absolue)</loc></url>]</BOUCLE_r>

    j’ai surchargé en mettant ce fichier sous /squelettes
    cela fonctionne impect (3 sites testés ensuite sous Search Console de Google : test du sitemap sous Exploration >Sitemap ).
    Si cela peut être résolu par le développeur lors d’une prochaine version, ce sera parfait.
    Bon usage.

    Répondre à ce message

  • 2
    Julien

    Changer de modèle sous Z-SPIP

    Pour refondre un site, j’ai l’habitude d’ouvrir un sous domaine test.monsite.org, et de changer pour ce sous domaine le jeu de squelettes, dans le fichier mes_options.php. Je peux alors développer tranquille alors que le site tourne toujours avec l’ancien jeu de squelettes.

    switch ($_SERVER[’HTTP_HOST’])
    case ’test.monsite.org’ :
    $GLOBALS[’dossier_squelettes’] = ’squelettes_new’ ;
    break ;
    default :
    $GLOBALS[’dossier_squelettes’] = ’squelettes_new’ ;
    break ;

    Cette fois, le site est sous Z-SPIP-dist. Et mon truc ne marche plus, car je pense que Z-SPIP prend la main sur le jeu de squelette. Or je ne peux pas désactiver Z-SPIP-dist sous peine de perturber le site actuel... Et de toute façon j’ai fait le test en désactivant Z-SPIP-dist, rien ne change, la balise #DOSSIER_SQUELETTE indique toujours /squelettes, même en passant par le sous domaine...

    Une idée pour changer de squelettes en fonction du sous domaine quand Z-SPIP est actif ?

    Merci de votre aide,

    Julien

    • Hello,

      Est-ce vraiment que l’astuce ne fonctionne pas, ou bien le dossier squelettes sur test.monsite.org n’a pas été organisé « à la zpip » (cf. § ci dessus : organisation des fichiers) ?

    • Julien

      Le nouveau dossier des squelettes n’est effectivement pas organisé à la ZSPIP car je veux refondre le site sans ZSPIP.

      Est-ce tout de même possible ?

      Sinon il me reste l’option d’un deuxième SPIP mais avec la même base de données...

      Merci de l’aide.

    Répondre à ce message

  • Oui je sais, ce plugin est obsolète, mais je dois transformer un site existant en Zpip et je n’ai pas le temps de me plonger dans la doc (laquelle d’ailleurs ?) pour refaire tout le site en Spipr.

    Je dois rendre un site Zpip entièrement multilingue. J’ai donc :
    -  redistribué les contenus en ajoutant des secteurs pour les langues (1 secteur par langue) et fait passer les rubriques actuelles en sous-rubriques dans ces secteurs de langue.
    -  mis #INSERT_HEAD dans inclure/head.html
    -  forcé la langue dans Mes Options
    -  modifié le menu (inclure/barre-nav.html).
    -  choisi les langues du site

    Le menu des langues fonctionne. Les autres menus fonctionnent dans tout le site et ils affichent les bons contenus. Cependant il y a différents problèmes :

    -  Quand, depuis une page quelconque, je change de langue seuls les menus se mettent à jour et l’article ne suit pas, il reste le même qu’avant.
    Où dois-je agir dans la structure de Zpip pour que tous les contenus suivent au changement de langue ?

    -  Je voudrais créer une page sommaire par langue, comment faire, sachant que Zpip n’en prévoit qu’une (page-sommaire.html) ?

    Merci d’avance à ceux qui ont déjà expérimenté le multilinguisme avec Zpip.
    (Spip 3.0.20)

    Répondre à ce message

  • 1
    Pascal Engelmajer

    Bonjour,
    Une question simple que je n’arrive pas à résoudre.
    dans l’article sur l’utilisation des modèles il est dit :
    « simplement en ajoutant un squelette dans le répertoire modeles/ de son dossier de squelettes ! »
    J’utilise un squelette Z (dernières versions de Z et de SPIP).
    Je ne sais pas trouver le repertoire modeles à utiliser.
    Pouvez-vous m’aider
    Cordialement

    • Il faut se créer un sous-dossier./squelettes/modeles dans le dossier principal de SPIP...

      Des exemples ? on en trouve dans ./squelettes-dist/modeles et dans plusieurs plugins-dist...

      Ce ne sont que des noisettes appelées directement..

    Répondre à ce message

  • 1

    bonjour,

    JE n’ai pas trouvé de tuto pour expliquer comment modifier un squelette existant : largeur de colonne, taille ds polices etc...

    qq peut-il me l’indiquer svp ? ou comment faire ces deux manips svp ?
    terre-paille.fr

    • ce n’est pas une question de squelette, mais de theme. Je t’invite à poser ta question sur les listes utilisateurs de spip, en précisant le thème que tu utilise.

    Répondre à ce message

  • Bonjour,

    j’utilise Zpip depuis des années en étant très satisfait. J’ai cependant un problème que je ne parviens pas à résoudre : les paginations dans un squelette inclus....

    Sur la page d’accueil http://www.malem-auder.org/ les derniers articles s’affichent sous un pré-sommaire.

    Ces derniers articles parus sont dans un squelette inclure et je constate que la pagination ne se fait pas correctement. J’ai lu qu’il fallait env ou/et ajax mais je ne comprends pas....

    Merci pour une aide éventuelle !

    André

    Répondre à ce message

  • Thierry G.

    Bonjour,
    Je suis super satisfait du fonctionnement de ZPIP associé à ZEN-Garden, toutefois il semblerait y avoir altération de ce squelette lors de l’utilisation du MODELE FACEBOOK !!

    Répondre à ce message

  • 1

    Bonjour Cedric :
    Bien j’ai essayé d’installer spipr, ça ne marche pas trop bien pour l’instant. Il y a quelque chose que je ne comprends pas. Dedans il y a plusieurs dossiers. D’abord il y a spipr-dist et dedans il y a trunk, et dans trunk il y a aside, breadcrumb, content,css..... etc...plus divers fichiers.
    question 1  : est ce que je peux l’installer par ftp où je dois utiliser svn ?
    Question deux  : ESt ce que je dois envoyer le dossier spipr-dist tel quel dans le dossier plugins/auto ou bien je dois envoyer chaque dossier individuellement ? C.a.d. avec cette hiérarchie :

    plugins/auto
    xxxxxxxxxxxxx spipr-dist
    xxxxxxxxxxxxxxxxxxx trunk
    xxxxxxxxxxxxxxxxxxxxxxxxxxxx aside
    xxxxxxxxxxxxxxxxxxxxxxxxxxxx breadcrumb
    xxxxxxxxxxxxxxxxxxxxxxxxxxxx content
    xxxxxxxxxxxxxxxxxxxxxxxxxxxx css
    xxxxxxxxxxxxxxxxxxxxxxxxxxxx demo
    xxxxxxxxxxxxxxxxxxxxxxxxxxxx extra
    xxxxxxxxxxxxxxxxxxxxxxxxxxxx et les autres repertoires et fichiers qu’il a dans trunk...
    xxxxxxxxxxxxx menus
    xxxxxxxxxxxxx skeleditor-dev
    xxxxxxxxxxxxx socialtags
    xxxxxxxxxxxxx et tous les autres plugins nécessaires et non nécessaires, thèmes ...au même niveau que spipr-dist

    Question 3 : Est ce que dans trunk on a tous les plugins necessaires ?

    Question 4 : Est ce que vous pouvez m’indiquer la bonne version à télécharger de spipr-dist pour pouvoir l’installer par ftp et spécifier les plugins nécessaires et le niveau de hiérarchie pour les installer ? De même pour les thèmes....

    Peut être que j’exagère en posant autant de questions, mais il y a beaucoup d’information sur le net, mais parfois je pense qu’on oublie l’essentiel pour les débutants sur la façon d’installer spipr, zpip, spipr-blog, etc...niveau de hiérarchie, où on met le themes, etc...est ce qu’il faut ajouter des fichiers crées manuellement pour que ça fonctionne......
    Je pense que si vous me répondez, ça pourra aider à d’autres internautes qu’on a pas trop de facilité pour installer de sites spip :) comme c’est encore mon cas.....merci d’avance
    amicalement

    Alf

    • BOn, j’ai réussi à installer spipr, alors je réponds à mes divers problèmes si jamais ça peut servir à quelqu’un.
      2/Pour commencer, le niveau de hiérarchie dans l’installation de plugins n’a rien à voir avec mes problèmes. LEs thèmes on peut les installer à la racine dans un dossier themes ou bien dans les plugins.
      Puisque les plugins je les avais téléchargé dans le dossier plugins/auto de plusieurs façons, j’en avais qui étaient répétés et en plusieurs versions différentes. Alors quand on va sur les plugins qui ne sont pas activés, je clique sur ne nom du plugin et il apparait le chemin où on a installé le plugin. Ce-ci m’a aidé à choisir la version que je voulais utiliser. Il y avait certains plugins qui étaient obsoletes, alors ceux-ci je ne les ai pas choisi. Je vais ajouter deux images pour éclairer cet question.
      Le dossier que j’ai téléchargé ’spipr’ (http://spipr.nursit.com/telecharger) avait plusieurs plugins obsolètes, alors je ne les ai pas installés, j’ai utilisé seulement le plugin spipr-dist (en gras), j’ai met aussi le chemin :
      plugins/auto/spipr/squelettes/spipr-dist/
      le reste de plugins qui avait dans plugins/auto/spipr je ne les ai pas activé, j’ai les ai installé en téléchargeant la dernière version, puisque certains étaient obsolètes.

      1/svn ou pas, bon pour l’instant j’ai tout fait par ftp avec filezilla, mais je compte installer svn prochainement, façon de progresser un peu et de s’y mettre au développement.

      3 et 4 /les plugins nécessaires sont :

      Plugins nécessaires :

      BootStrap : svn ://zone.spip.org/spip-zone/_plugins_/bootstrap/trunk
      LessCSS : svn ://zone.spip.org/spip-zone/_plugins_/less-css/trunk
      Z-Core : svn ://zone.spip.org/spip-zone/_plugins_/z-core
      Comments : svn ://zone.spip.org/spip-zone/_plugins_/comments/trunk
      Zen-Garden : svn ://zone.spip.org/spip-zone/_plugins_/zen-garden/trunk

      Plugins recommandés :

      Crayons
      Numérotation rapide
      Notifications
      NoSpam
      Menus
      Saisies
      SkelEditor
      Facteur

      BOn, il ne faut pas oublier de créer le menu, une fois activés tous les plugins, j’ai aussi activé html 5 dans la config de spip, et puis je suis allé aussi sur la config de thèmes et j’ai choisis un thème que j’avais dans le dossier themes et le résultat sans touché à une seule ligne de code : web-biterrois.net/portail bon je ne garderai long-temps cette config, alors c’est maintenant que vous pouvez voir qu’est que ça donne.

      Au fait merci à tous pour votre aide... XDDD

    Répondre à ce message

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