Zapper les squelettes par défaut de SPIP

ZapSkel / Reset SPIP

25 mai 2009, 4 novembre 2010,
par Romy Têtue

Mots-clefs associés à cet article :

N’oubliez pas de désamorcer les squelettes que vous n’utilisez pas !

Dans SPIP, vous bénéficiez constamment des squelettes par défaut, ceux de la « dist », qui affichent les contenus de chacun des objets éditoriaux de SPIP. Ces squelettes sont rarement utilisés en l’état, puisque vous les personnalisez en les copiant dans votre propre répertoire « squelettes » afin de construire votre site bien à vous [1].

Ce faisant, il est rare que vous ayez besoin de la totalité des squelettes par défaut de SPIP. Vous personnalisez article.html et rubrique.html, bien sûr, mais vous ne copiez jamais la totalité des fichiers de la dist. Quelle erreur ! Car ils fonctionnent tout de même, diffusant les contenus, alors que vous ne le souhaitez peut-être pas.

Il est ainsi assez facile de découvrir quels sont les auteurs d’un site, même lorsque ceux-ci ne sont pas mentionnés sur les pages du site public. Si l’on n’y prend garde, n’importe quel internaute peut afficher l’une des pages auteur d’un site SPIP, même si celui-ci n’en prévoit pas, car elles sont générées avec le squelette auteur.html par défaut de la dist. Il suffit d’en connaître l’URL. Si vous faites un peu de SPIP, vous savez qu’il suffit de compléter le nom de domaine par spip.php?auteur1 (anciennement auteur.php3?id_auteur=1) pour appeler la page du premier auteur, qui est généralement celui qui a installé le site. C’est bien utile pour savoir qui contacter sur les trop nombreux sites qui ne mentionnent aucun contact !

De même, il est facile d’avoir une vision de l’activité éditoriale du site et d’en découvrir, s’il y a lieu, les articles cachés. Il suffit d’afficher l’agenda public du site, ignoré de bien des spipmestres, en complétant l’URL de spip.php?page=agenda (anciennement agenda.php3). De même, pour effectuer une recherche sur un site qui n’affiche pas le formulaire, avec spip.php?page=recherche. Vous pouvez essayer ainsi de suite, avec chacun des fichiers de la dist.

Il n’y a rien de compliqué ni de tordu en cela. Mais côté webmestre, il n’est pas toujours nécessaire, ni souhaitable, de laisser accéder à toutes les pages possibles d’un site SPIP. Pour empêcher cela, il suffit de copier tous les fichiers de la dist dans le dossier « squelettes » en remplaçant leur contenu par cette seule ligne :

<INCLURE{fond=404}>

Sauf le fichier 404.html évidemment, sinon ça ne marchera pas [2]. Mais aussi article.html, rubrique.html, sommaire.html et backend.html dont vous avez nécessairement besoin. Je me demande d’ailleurs si la « dist » ne devrait pas contenir ces seuls squelettes, les autres pouvant être apportés par les plugins aux fonctionnalités correspondantes…

Vos commentaires

  • Le 4 novembre 2010 à 10:21, par Maïeul En réponse à : Zapper les squelettes par défaut de SPIP

    La question des squelettes « nécéssaires à tous » se posent.

    Par exemple j’ai un site où je n’utilise pas rubrique.html, car je classe tout par mot clef, et un autre où je n’utilise pas article.html (car j’ai peu d’article par rubrique et cela ne va pas changer)...

  • Le 4 novembre 2010 à 10:37, par Nicolas Hoizey En réponse à : Zapper les squelettes par défaut de SPIP

    C’est vrai que mettre tout ça dans un plugin serait bien pratique, je me fais aussi régulièrement avoir !!!

  • Le 4 novembre 2010 à 13:59, par Jacques Pyrat En réponse à : Zapper les squelettes par défaut de SPIP

    Mais c’est déjà dans un plugin : SPIP Reset !

  • Le 4 novembre 2010 à 15:25, par Romy Têtue En réponse à : Zapper les squelettes par défaut de SPIP

    Oui, mais comme cela a déjà été remarqué, ton plugin SPIP Reset n’est pas neutre : il affiche un message désagréable pour les internautes. Je préfère ma trousse qui en fait certes plus, mais mieux ;-)

    Ceci dit, ce genre de chose ne se prête pas bien à la distribution standard sous forme de plugin (sinon ce serait déjà fait), car ça complique (un peu) le système de surcharge des squelettes de SPIP. Mieux vaut laisser chaque webmestre faire à sa guise.

  • Le 4 novembre 2010 à 17:59, par Jacques Pyrat En réponse à : Zapper les squelettes par défaut de SPIP

    Le plugin SPIP Reset étant sur la Zone, si quelqu’un estime qu’un autre message en 404 serait plus agréable, qu’il le commite. J’ai rien contre.

  • Le 4 novembre 2010 à 19:07, par Valery En réponse à : Zapper les squelettes par défaut de SPIP

    Tout ceci me semble bien compliqué pour simplement court-circuiter un squelette que l’on utilise jamais.

    Ne serait-il pas envisageable de prévoir dans le core un paramètre dans mes_options pour que SPIP ignore le répertoire dist ?

  • Le 5 novembre 2010 à 00:28, par Nicolas Hoizey En réponse à : Zapper les squelettes par défaut de SPIP

    Pas bête du tout, l’idée de Valery !!!

  • Le 6 novembre 2010 à 23:38, par davux En réponse à : Zapper les squelettes par défaut de SPIP

    À partir de la prochaine stable, SPIP fournira la dist sous forme d’extension (plugin dist_2007). Il sera donc possible de la virer de la liste des extensions si on ne la souhaite pas, ou bien la déplacer dans le répertoire plugins.

    Sinon, il n’est pas nécessaire de mettre l’inclure 404. Un fichier vide suffit, car il produit un contenu vide (évidemment), tout comme le ferait une boucle principale ne renvoyant aucun résultat, et dans ce cas SPIP envoie une erreur 404.

  • Le 9 novembre 2010 à 16:55, par Romy Têtue En réponse à : Zapper les squelettes par défaut de SPIP

    J’ai croisé des cas où ça ne marchait pas sans : c’est donc plus robuste en précisant explicitement d’inclure la 404.

    Si elle ne fait plus partie intégrante de la distribution de SPIP que sous la forme d’une extension qui serait désactivable comme un plugin, pourquoi s’appellerait-elle encore « dist » ? Et pourquoi « 2007 » et non pas 2010, bientôt 2011 ? Pourquoi ?

    Il me semble nécessaire que SPIP soit distribué avec quelques squelettes : certainement pas autant qu’actuellement, pour éviter les diffusions involontaires, mais un minimum fonctionnel, immédiat, qui serait surchargé par le simple fait de construire son site, pourquoi pas désamorçable, de façon exceptionnelle, via mes_options, comme le suggère Valery. Inutile d’un faire plus. KISS !

  • Le 11 février 2014 à 12:29, par masque9 En réponse à : Zapper les squelettes par défaut de SPIP

    SPIP Reset n’est pas comptabile spip3, il ne marche que si l’on utilise la même nomenclature de Blocs Z,

  • Le 12 février 2014 à 08:46, par Romy Têtue En réponse à : Zapper les squelettes par défaut de SPIP

    Oui. Il ne pas confondre SPIP et Z, SPIP Reset et ZPIP Reset

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
  • Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Suivre les commentaires : RSS 2.0 | Atom