Court-circuiter les rubriques de SPIP

pour accéder directement aux articles

17 février 2011,
par Romy Têtue

Mots-clefs associés à cet article :

Allons à l’essentiel : comment court-circuiter les rubriques de SPIP pour accéder directement aux articles ?

SPIP propose une navigation traditionnelle, par « rubriques », dans lesquelles sont rangés des « articles », en arborescence, exactement comme les dossiers et fichiers de votre ordinateur.

Je ne sais pas vous, mais en tant qu’internaute je me passe volontiers de cette étape intermédiaire qui présente la liste des articles de la rubrique. Ne vaut-il pas mieux favoriser l’accès à l’information, plutôt que d’étaler l’arbre dans toute son envergure ? D’autant plus que très souvent, cette liste est présente à côté de l’article, en colonne latérale, où elle permet une sous-navigation appréciable : on va alors d’un article à l’autre, sans devoir repasser par la rubrique parente. Cela suffit et il est inutile de répéter cette liste une seconde fois, sur une page de rubrique, qu’il n’est donc pas nécessaire d’afficher. Soyons fous, soyons modernes et surfons efficacement !

Pour court-circuiter ainsi les rubriques de SPIP, c’est assez simple : il suffit de reprogrammer le squelette rubrique.html, de façon à ce qu’il affiche directement le dernier article en date ou le premier selon l’ordre prédéfini éditorialement (cf. : Classer selon la date ou selon un ordre imposé) :

<BOUCLE_article(ARTICLES){id_rubrique}{par num titre}{!par date}{0,1}><INCLURE{fond=article}{id_article}{env}></BOUCLE_article>

Simple, n’est-ce pas ? Mais attention, cette boucle ne couvre pas tous les cas. Quel article afficher lorsque la rubrique en question ne contient pas d’article… mais que des sous-rubriques ?

<BOUCLE_article(ARTICLES){id_rubrique}{par num titre}{!par date}{0,1}><INCLURE{fond=article}{id_article}{env}></BOUCLE_article>
<BOUCLE_branche(RUBRIQUES){id_parent}{par num titre}{!par date}{0,1}><INCLURE{fond=rubrique}{id_rubrique}{env}></BOUCLE_branche>
<//B_article>

Tel est donc le code du fichier rubrique.html à déposer dans le dossier « squelettes » — également distribué dans ma trousse où il est immédiatement opérationnel. C’est ainsi que je démarre chaque nouveau site SPIP, après avoir pris soin de zapper les squelettes par défaut. Cela est désormais distribué à part, dans mon plugin Court-circuit, dans sa première version. De cette façon toute URL de rubrique pointe vers un article : la navigation est plus directe, permettant d’aller plus rapidement à l’essentiel.

Mais comment afficher une rubrique quand même ?

Comme d’habitude ! En créant un squelette dédié, par exemple « rubrique-10.html » pour toutes les rubriques de la branche 10. En effet, ce court-circuit n’altère pas le fonctionnement natif de SPIP sur ce point : on bénéficie toujours des mêmes règles de surcharge des squelettes.

C’est ainsi que tout devient possible : des articles affichés directement et des rubriques uniquement lorsque nécessaire, au choix et sans contorsion.

{#TITRE,#URL_ARTICLE,#INTRODUCTION}

Vos commentaires

  • Le 18 février 2011 à 00:16, par Maïeul En réponse à : Court-circuiter les rubriques de SPIP

    Je ne sais pas vous, mais en tant qu’internaute je me passe volontiers de cette étape intermédiaire qui présente la liste des articles de la rubrique.

    Et bien pas moi :)

    Tout dépend ce que je cherches. Mais j’aime bien avoir ces pages rubriques, qui me servent de sommaire quand je sais pas où trouver l’information. Un lien à droite, c’est encore autre chose, parceque cela présuppose qu’on est déja arrivé sur une page article, ce qui n’est pas toujours le cas.

    Alors un clic supplémentaire ? Et bien oui, pourquoi pas. Mais c’est comme quand je regarde la table des matières d’un bouquin : si cela me permet d’aller directement à ce qui m’interésse.

    Question de goûts donc.

  • Le 18 février 2011 à 08:59, par Valéry En réponse à : Court-circuiter les rubriques de SPIP

    Il existe d’autres moyens, peut être plus simples :

    1) Le plugin Menus peut permettre de créer des liens de menus directement vers l’article de son choix dans la rubrique. Le fil d’Ariane est alors le seul moyen d’accéder à la page rubrique, laquelle reste toutefois disponible sans modification. C’est la méthode que j’utilise généralement.

    2) Le plugin Composition permet de sélectionner un article qui va s’afficher sur la page rubrique. Pas testé cette fonctionnalité spécifiquement mais a priori ça fait ce que tu proposes tout en laissant le choix via l’interface du plugin entre plusieurs compositions de rubriques différentes.

    Le problème que je perçoit avec cette dernière méthode et la tienne est que l’on se retrouve avec une age en doublon sur le site, la page article et la page rubrique (avec deux URL différentes) étant a priori identiques, mais accessibles via les boucles automatiques de type fil d’Ariane ou plan du site. Ce qui peut rendre le visiteur toute confuse, non ?

  • Le 18 février 2011 à 09:02, par Valéry En réponse à : Court-circuiter les rubriques de SPIP

    Au sujet de la navigation de droite : encore faut-il que le visiteur la remarque... Je ne suis pas convaincu sur beaucoup de sites que ce soit le cas. Passer par la page rubrique peut donner conscience qu’il y a plus de contenu et donc inciter à rechercher comment y accéder (au besoin en utilisant le bouton back, tellement utilisé que les navigateurs modernes l’affichent en énorme).

  • Le 18 février 2011 à 10:06, par Nicolas Hoizey En réponse à : Court-circuiter les rubriques de SPIP

    Tu sais déjà que je ne suis pas très favorable à cette pratique, tout comme Maïeul.

    Un argument complémentaire est que tu ne sais pas forcément à l’avance combien d’articles sont dans la rubrique, et n’en présenter la liste que dans un menu latéral peut vite donner des pages inutilisables.

    Je préfère largement présenter dans le corps de page de rubrique une liste des articles, paginée éventuellement. Parfois, pour que les rédacteurs puissent choisir eux-même, je mets plutôt à disposition un modèle, qu’ils peuvent ajouter à leur texte de rubrique, qui introduit la thématique.

    Je trouve de manière générale qu’il serait préférable qu’on ait dans les rubriques les mêmes champs que dans les articles (sur titre, sous titre, chapô, etc.), je n’ai jamais compris pourquoi les rubriques sont plus pauvres que les articles.

  • Le 18 février 2011 à 12:47, par Romy Têtue En réponse à : Court-circuiter les rubriques de SPIP

    Oui Nicolas, mais comment construit-on un site qui a été ainsi conçu — car on n’en décide pas toujours —, avec la majorité des rubriques qui affichent direct l’article ?
    Comment gérer simplement ces rubriques qui ne contiennent typiquement qu’un article, comme l’onglet « contact » ou « à propos », qui vont afficher direct le contenu (texte ou formulaire), sans passer par une étape intermédiaire, ici ridicule, de rubrique listant l’unique article qu’elle contient ?

    J’ai trop souvent été confrontée à ce type de navigation qu’il est plus simple de prendre en charge par défaut pour traiter ensuite les rubriques de façon exceptionnelle, que l’inverse. Avec ce court-circuit, tout reste possible, alors qu’à l’inverse, il faut bidouiller pour les rubriques directes, pour celles à un article, etc.

    Non Valéry, pitié, pas le plugin Composition : il ne permet pas d’appliquer une comppo à une branche du site et il faut donc affecter chaque compo page par page, laborieusement, pour chaque objet éditorial...
    Le plugin Menu permet de construire... des menus de navigation, mais sans impacter les URLs. Sur quoi pointeraient donc tes URLs de rubriques ?

  • Le 24 février 2011 à 17:10, par Jean-Baptiste Pressac En réponse à : Court-circuiter les rubriques de SPIP

    C’est aussi le choix que j’ai fait pour tous les sites dont je m’occupe : tous les liens pointent vers des articles, sauf quand il est nécessaire d’afficher la rubrique (pour des actualités ou un agenda, par exemple). Par exemple : L’institut de Physique du CNRS.

  • Le 16 mars 2011 à 10:33, par Z En réponse à : Court-circuiter les rubriques de SPIP

    Bonjour tout le monde,

    Pour ce qui nous concerne, cette pratique nous intéresse dans le cas de figure précis où la rubrique ne contient qu’un seul article. Dans ce cas, effectivement, autant afficher directement l’article. Sinon, nous préférons tout de même afficher la liste des articles. Exemple typique pour rubrique.html :

    <BOUCLE_article_unique(ARTICLES) {id_rubrique} >
            [(#REM) un seul article ]
            [(#TOTAL_BOUCLE|=={1}|oui)
                    <INCLURE{fond=article}{id_rubrique}{id_article}>
            ]               
            [(#REM) plusieurs articles ]
            [(#TOTAL_BOUCLE|=={1}|non)
            [(#REM) rubriques spéciales ]
                    [(#ID_RUBRIQUE|match{^(10|15|17|18)$}|oui)
                            [(#COMPTEUR_BOUCLE|=={1}|?{' ',''})
                                    <INCLURE{fond=rubrique_galerie}{id_rubrique}{self=#SELF}>
                            ]
                    ]
                    
            [(#REM) rubriques normales ]
                    [(#ID_RUBRIQUE|match{^(10|15|17|18)$}|non)
                            [(#COMPTEUR_BOUCLE|=={1}|?{' ',''})
                                    <INCLURE{fond=rubrique_standard}{id_rubrique}{self=#SELF}>
                            ]
                    ]
            ]
    </BOUCLE_article_unique>


    Ah si une option de config toute simple pouvait modifier le comportement du moteur dans ce sens...

    Bonne journée
    Z

  • Le 16 mars 2011 à 11:42, par Romy Têtue En réponse à : Court-circuiter les rubriques de SPIP

    Z : Oui, comme tout le monde :)
    Avec ce court-circuit, quand tu as besoin d’afficher la liste des articles en sommaire de rubrique, il suffit d’appliquer un squelette de rubrique à celles-ci (comme d’habitude : par id_rubrique ou par mot-clef). Plus besoin de se compliquer la vie.

  • Le 26 février 2012 à 22:18, par YannX En réponse à : Court-circuiter les rubriques de SPIP

    Pour le cour-circuit, n’y aurait-il pas une solution plus directe et simple :

    quand il n’y a qu’un article,
    executer directement le lien #URL_ARTICLE ou #URL_PAGE{art...
    #URL_GOPAGE{article, id_article=#ID_ARTICLE}
    Là où cela pêche, c’est que lancer l’exécution de ce lien,
    je ne sais que le faire avec header(...) ;
    sinon cela necessiterait une mini-balise exécutable en php ?
    (à ecrire par qui sait ?)

  • Le 2 octobre 2012 à 16:34, par Senti En réponse à : Court-circuiter les rubriques de SPIP

    Perso j’utilise le plugin « plugin Composition » comme l’a cité Valery, mais c’est vrai que coder directement dans le source de SPIP c’est quand plus propre et surtout cela permet si c’est bien fait de garder une bonne vitesse de chargement et de ne surcharge l’admin de dizaines de plugin au niveau gestion c’est quand même plus pratique. Je vais tester cette mod pour voir comment ca marche. merci pour l’info Senti

  • Le 27 mars 2014 à 14:06, par Are En réponse à : Court-circuiter les rubriques de SPIP

    Interessant et pratique
    a

Répondre à cet article

forum message

Raccourcis : {{gras}} {italique} -liste [bla->url] <q> <quote> <code>.

Qui êtes-vous ? (optionnel)

Suivre les commentaires : RSS 2.0 | Atom