Flux RSS configurable

Ce plugin vous permet de personnaliser le fonctionnement de votre flux RSS à l’aide d’un formulaire dans l’espace privé.

Installation

Pour fonctionner, ce plugin nécessite que le plugin Itérateurs soit installé et activé sur votre site.

Par ailleurs, si vous avez personnalisé le squelette backend.html dans votre répertoire squelettes/, le plugin ne pourra pas fonctionner car votre fichier personnalisé backend.html sera prioritaire sur celui du plugin.

Fonctionnement

Une fois installé, vous pourrez accéder au formulaire de configuration du plugin via une icône dédiée dans le menu Configuration (ou Squelettes si vous utilisez le nouveau bandeau pour SPIP).

Vous pourrez ainsi choisir le nombre d’articles à inclure dans le flux, les auteurs à afficher pour les articles, de diffuser ou non les documents joints...

L’URL d’accès à votre flux RSS reste inchangée, à savoir http://mon.site.net/spip.php?page=backend.

Comme pour le flux RSS par défaut de SPIP, vous pouvez restreindre le flux aux articles d’une branche, associés à un mot-clé, d’un auteur ou dans une langue donnée en ajoutant à l’URL le paramètre adéquat, respectivement id_rubrique, id_mot, id_auteur ou lang.

Flux des brèves

À partir de la version 2 du plugin, ce dernier prend en charge également le flux RSS des brèves. Le flux des brèves peut être désactivé, indépendant (via spip.php?page=backend-breves) ou bien fusionné avec le flux des articles (dans spip.php?page=backend).

Les paramètres de configuration pour le flux des brèves sont les mêmes que ceux du flux des articles.

Flux des sites référencés

À partir de la version 2.0.6 du plugin, ce dernier prend en charge également le flux RSS des sites référencés. Le flux des sites peut être désactivé, indépendant (via spip.php?page=backend-sites) ou bien fusionné avec le flux des articles (dans spip.php?page=backend).

Les paramètres de configuration pour le flux des sites référencés sont les mêmes que ceux du flux des articles et brèves.

Fichier spip.php?page=backend

Depuis la version 2.0.6 du plugin, dans le fichier fusionné spip.php?page=backend, les fluxs sont “mélangés”, le tri se faisant sur la date.
Il n’y a plus de blocs par type d’objet (article/brève/site).

updated on 6 April 2020

Discussion

18 discussions

  • 9

    Hello Joseph,

    Merci tout d’abord pour ce très bon plugin, que je qualifierais d’obligatoire pour tout site utilisant les rss!

    Une question: est-ce qu’il est toujours dans les cartons l’idée d’ajouter les brèves ? J’utilise passablement cet outil, mais je ne comprends pas comment les ajouter.

    J’ai trituré inclure/rss-liste-items.html sans beaucoup de réussite.

    • Parles-tu d’un flux RSS des brèves séparés ou de l’inclusion des brèves dans le flux RSS principal ?

      SPIP 2.1 ou SPIP 3?

    • Merci de ta réponse rapide.

      Je suis à bord de SPIP 3, et cherchais à faire naviguer conjointement les RSS des brèves et des articles dans le même courant.

      Pour l’instant, je coule...

    • Euhh ce n’est pas vraiment insurmontable. Il faut juste reproduire une partie du code existant en l’adaptant. Je regarderai ça dès que je peux mais les dix prochains jours sont assez chargé. Donc je ne peux garantir quand ce sera disponible.

    • Aucune urgence! C’est déjà sympa de savoir que tu vas te pencher dessus.

      Merci beaucoup d’avance.

    • bonjour
      j’avoue que je suis également très intéressé par l’ajout des brèves...
      ce plugin apportera un vrai plus

      merci d’avance

    • Bonjour, une v2 pour SPIP 3 en test (Zip disponible sous peu à http://plugins.spip.net/rssconfig) prends en charge la gestion du flux RSS des brèves. Le flux peut être paramétré de la même manière que celui des articles.

      Le flux des brèves peut être diffusé soit de manière indépendante (via backend-breves), soit fusionné avec celui des articles (dans backend) soit être diffusé des deux manières.

      Il est possible qu’il reste certains bugs. Les retours de test sont les bienvenus.

    • bonjour
      j’ai tout de suite testé cette v2 pour les brèves, flux fusionné avec celui des articles, ça marche nickel
      bravo et surtout un très grand merci

    • c’est juste génial, merci beaucoup !

      deux propositions:

      1/ Est-il possible d’afficher les brèves avant les articles ?
      2/ Plus compliqué encore, parce que j’imagine qu’il faudrait passer par un tableau php temporaire : serait-il possible de mélanger articles et brèves comme s’il ne s’agissait que d’un flux, et de tout classer par date ? C’est-à-dire ne plus avoir la séparation flux et brève...

      Merci dans tout les cas pour le boulot déjà réalisé.

    • Bonjour.

      1/ Est-il possible d’afficher les brèves avant les articles ?

      Ce n’est pas compliqué. Mais, quel est l’intérêt ?

      2/ Plus compliqué encore, parce que j’imagine qu’il faudrait passer par un tableau php temporaire : serait-il possible de mélanger articles et brèves comme s’il ne s’agissait que d’un flux, et de tout classer par date ? C’est-à-dire ne plus avoir la séparation flux et brève...

      En effet, ca complique le code. Il faudrait revoir tout le traitement et on ne pourrait plus mutualiser certaines parties du code. Mais encore une fois, quel est l’intérêt ? Si je ne me trompe pas, les lecteurs de Flux utilisent rarement l’ordre du flux et reclassent d’eux-mêmes par date. Auquel cas, pourquoi devoir s’embêter ?

    Reply to this message

  • 1
    Gegejacot

    Bonjour à tous,

    Après installation de la version 1.4.1 sur un spip 2.1.19, je réalise la config sans problème, commentaire de spip : “La nouvelle configuration a été enregistrée”

    Mais l’adresse du flux répond : Oops! This page appears broken !

    Quelle peut être la raison ?

    Merci d’avance.

    Salutations : GJ

    PS : je n’ai pas de backend.php modifié...

    • Que se passe-t-il après vidage du cache ?
      Y a-t-il déjà des articles publiés sur le site ?
      Est-ce en ligne ?

    Reply to this message

  • 2

    Bonjour et merci pour ce plugin très sympa,

    Quand je publie un nouvel article et que je ne veux pas qu’il apparaisse dans le flux rss, que dois-je faire ou rajouter concrètement dans le corps ou les paramètres de l’article pour qu’on ne le voit pas ?

    Désolé je suis un novice ;)

    Cordialement

    • Bonjour,

      ce plugin ne propose pas d’option pour retirer un article du flux RSS au cas pas cas. Tous les articles sont donc publiés selon les critères d’âge utilisés, à l’exception des articles en accès restreint (voir plugin du même nom).

      A moins que vous ne codiez votre propre flux RSS, il vous faut post-dater l’article (lui donner une date de publication ancienne) pourqu’il soit loin en arrière dans le flux.

      Cordialement

    • En postdatant ça peut être une solution, ok merci.

    Reply to this message

  • 1

    Salut et merci pour ce plugin !

    Une remarque au sujet des noms de rubriques et des mots-clés qu’il est possible d’ajouter dans les items de flux via les options. Ceux-ci sont ajoutés à la suite du contenu, au sein même de l’élément <description>, ce qui n’est pas conforme aux specs RSS. Les termes devraient être insérés dans des éléments <category> dédiées.

    On peut faire par exemple comme ceci dans rss-item.html :

    <description>[(#INTRODUCTION|texte_backend)]</description>
     
    <BOUCLE_rubrique_mf(RUBRIQUES){id_rubrique}{statut?}{si #CONFIG{rssconfig/diffuser_rubrique,oui}|=={oui}}>
    [<category>(#TITRE|supprimer_tags|texte_backend)</category>]
    </BOUCLE_rubrique_mf>
     
    <BOUCLE_mots_mf(MOTS){id_article}{si #CONFIG{rssconfig/diffuser_mots,oui}|=={oui}}>
    [<category>(#TITRE|texte_backend)</category>]
    </BOUCLE_mots_mf>

    Bon code, amicalement

    ps. je suis sous Spip 2.1.9 et Flux RSS Configurable 1.4.1

    • Le présent plugin suit la même structure que le backend par défaut de SPIP. Je ne connais pas l’historique du choix qui a été fait. Mais la discussion pourrait être portée sur la liste SPIP-DEV.

      Cordialement

    Reply to this message

  • 8

    Bonjour

    J’ai installé le plugin après avoir installé et activé Itérateurs. Tout va bien sauf quand je veux trier les rubriques concernées par le flux rss. Dans ce cas, une fois que j’en ai sélectionnées et que je valide, j’ai un message d’alerte me disant “Pas de changement dans rssconfig”. Et quand je rouvre les réglages du plugin, plus aucune rubrique n’est sélectionnée (donc j’en déduis qu’elles sont toutes sélectionnées par défaut).

    Que faire ?

    • Je viens de voir que l’url “monsite/ecrire/?exec=configurer_rssconfig” qui s’affiche quand je veux configurer le flux rss ne correspond à aucun fichier dans le répertoire ecrire/exec. Je m’attendais à y trouver un fichier configurer_rssconfig.php, mais il n’y en a pas...

    • Le fichier générant la page est située dans le répertoire prive/exec (page du privé par squelette, version spip 2.1).

      Pourriez-vous préciser la version de SPIP utilisée ?

    • Oui, il s’agit de la 2.1.12

    • Vous mentionnez l’installation de itérateurs. voulez-vous dire que le problème rencontré n’apparait pas si itérateurs est désactivés ?

      Par ailleurs, est-ce que spip-bonus est installé ?

    • Non, c’est juste qu’il est dit qu’il faut installer Itérateurs, donc je signale que je l’ai bien installé. Sans Itérateur il n’est pas possible d’installer Flux RSS.

      Oui, Spip Bonux est installé.

    • Bonjour,
      je viens de refaire une installation de SPIP 2.1 pour tester et je ne reproduis pas le bug.
      Votre site est-il en ligne ? Si oui, pourriez-vous m’envoyer un login/mode de passe (webmaster) temporaire) juste pour aller tester ?

    • Cela semble venir de CFG. SI CFG est actif sur le site en question, il importe de le mettre à jour.

      Cordialement.

    • En effet, c’était bien ça. Avec la dernière version de CFG ça fonctionne. Merci !

    Reply to this message

  • 3

    Bonjour,
    Y a t il un moyen d’inclure dans le flux, les articles récemment modifiés ?
    Il s’agit d’articles, souvent les mêmes, qui sont actualisés, et qu’il serait nécessaire d’intégrer sans le flux, au même titre que des articles nouveaux.
    En fait, comment gérer (ou filtrer) avec #DATE_MODIF ?
    Merci

    • Cela peut se faire avec le critère age_modif qui doit marcher en SPIP 2.1.

      Il faut alors ajouter une option au formulaire de configuration. A vérifier mais un age_modif < 0 devrait éviter de sélectionner les articles récemment modifiés (permettant ainsi de désactiver cette fonctionnalité, valeur par défaut).

      Je peux l’ajouter à ma TODO liste mais je ne sais pas quand je pourrais faire la modif. Mon internet au travail est bridé (pas d’accès SVN) et suite à mon déménagement je n’ai toujours pas le net à domicile.

      Cordialement

    • Grosso modo à vue de nez, il faudrait ajouter à inclure/rss-liste-items.html les lignes suivantes (à la fin) :

      <BOUCLE_recemment_modifies(ARTICLES){lang ?}{branche ?}{id_mot ?}{id_auteur ?} {par date}{inverse}{age_modif<#CONFIG{rssconfig/age_modif,0}}{unique}>
      <INCLURE{fond=inclure/rss-item}{id_article}>
      </BOUCLE_recemment_modifies>

      Il faut mettre à jour le formulaire de configuration formulaires/configurer_rssconfig.html en ajoutant une option, ligne 25 avant le </ul>.

      <li class="editer_age_modif[ (#ENV**{erreurs}|table_valeur{age_modif}|oui)erreur]">
      <label for='age_modif'><:rssconfig:label_age_modif:></label>
      <p class="explication"><:rssconfig:explication_age_modif:></p>
      <input type="text" name="age_modif" class="text" id="age_modif" value="#ENV*{age_modif,0}" />
      </li>

      Il faut ajouter les deux nouvelles chaines de langue à lang/rssconfig_fr.php.

      La chaine “label_age_modif” : Modifiés récemment.
      La chaine “explication_age_modif” : Inclure également les articles plus anciens mais modifiés récemment ? Indiquez l’âge de la modification en jours, 0 si vous ne souhaitez pas inclure les articles modifiés récemment.

      Enfin, il ne reste plus qu’à augmenter le numéro de version du plugin à 1.2.0 dans plugin.xml.

      Simple non ?

    Reply to this message

  • 12

    Hello Joseph

    Serait-il envisageable de modifier le plugin pour pouvoir limiter le flux à un ou plusieurs secteurs via une option de config (cette option serait écrasée par un éventuel paramètre identique passée par l’url).

    • Bonjour Yffic,

      je n’ai aucune objection concernant des évolutions du plugin. Par contre, il me semble important de bien définir les besoins en amont afin de trouver la meilleure solution.

      Je peux comprendre qu’on souhaite limiter le flux à un secteur donné, ce qui est actuellement possible en ajoutant un id_rubrique à l’URL. En quoi cette solution n’est pas suffisante ?

      Si on ajoute une option de config au plugin, quel doit être (et pourquoi) le comportement quand on ajoute un id_rubrique dans l’URL ? un id_auteur ? un id_mot ?

      Attention : le critère branche ne fonctionne qu’avec une variable d’environnement, il faudra donc, si modification du plugin, faire une inclusion additionnelle.

    • Hello

      L’intérêt pour moi est d’éviter de surcharger au maximum les fichiers de la dist (de zpip en l’occurrence) afin de suivre au maximum les évolutions. Et je me rend compte que pour plusieurs sites, je surcharge ce fichier inclure/head.html, rien que pour rajouter une limitation du rss à un secteur donné.

      Si on ajoute cette option de configuration, il me semble logique que ce soit la surcharge qui soit prioritaire (à indiquer dans les explications).

    • Pour quelles raisons limites-tu le flux RSS à un secteur donné ?

      Doit-on considérer que les autres secteurs sont toujours masqués (mais normalement on devrait plutot utiliser une restriction d’accès dans ce cas), ou bien le flux d’un autre secteur (en spécifiant dans l’URL un id_rubrique) doit-il toujours être autorisé ? Faut-il alors prévoir un &voir=tout pour tout afficher (hors restriction d’accès) ?

      Dans ce cas, l’option de configuration ne concernerait que le fonctionnement par défaut du flux RSS.

    • Les sites concernés sont souvent en 2 parties : un première plutôt vitrine qui change peu et que je ne veut pas voir dans le flux, et une 2e plutot axée sur l’actu, des reportages, bref une partie vivante et le flux ne doit concerner que ces secteurs.

      J’ai pas bien compris ton 2e paragraphe ;-)

    • Supposons que ton secteur vivant est la rubrique 1 et que le secteur de présentation la rubrique 2. Tu paramètres le flux sur le secteur 1.

      Que se passe-t-il si tu appelle spip.php?page=backend&id_rubrique=2 ? spip.php?page=backend&id_rubrique=4 (4 appartenant à 1) ? spip.php?page=backend&id_rubrique=5 (5 appartenant à 2) ? spip.php?page=backend&id_auteur=3 ? spip.php?page=backend&voir=tout ?

      Si on mets un paramétrage en place dans le plugin, il ne doit pas se limiter aux secteurs et doit permettre de spécifier plusieurs rubriques (cas d’un site multilingue, avec un secteur par langue, et une sous-rubrique actus dans chaque secteur).

    • On part du principe que le lien d’inclusion du backend dans le head est classique. Dans toutes les pages le flux global du site est proposé, dans les pages rubriques, y’a en plus le flux de la rubrique, idem pour les pages mots, auteur...

      Je veux juste intervenir sur le flux global du site, celui qui est aussi accessible via l’icône rss classiquement en pied de page. Donc que les visiteurs qui s’abonnent au flux global du site ne voient que les articles des rubriques “vivantes”. Ca ne me dérange pas que les flux rajoutés restent inchangés, c’est à dire que les visiteurs qui veulent suivent une rubrique de la partie vitrine le fasse.

      C’est mon cas particulier.

      Donc oui, dans le paramétrage on doit pouvoir spécifier un ou plusieurs secteurs, une ou plusieurs rubriques (avec ou sans branche). Concernant les auteurs et les mots, je n’aurais rien rajouté en configuration, je ne vois pas l’intérêt de bloquer (ah si peut-être pour ceux qui utilisent des mots techniques).

    • On n’a pas à tenir compte des mots-clés techniques car ceux-ci sont normalement filtrés par le plugin homonyme.

      Il n’y a pas à s’embêter avec la sélection secteur/rubrique avec/sans branche. Il suffit de gérer les rubriques (dont les secteurs sont un cas particulier) et en prenant toujours en compte la branche.

      Tu peux commiter une modif. Si tu n’es pas sur, créé une branche.

      Cordialement

    • OK, je vois ça... Merci

    • Hello Joseph

      J’essaie des trucs avec la boucle article de backend.html... Mais j’arrive à rien... Pas sûr que ce soit la bonne piste... Tu aurais une idée ?

    • Il faut déporter les deux boucles ARTICLES dans un inclure (car le critère branche ne fonctionne qu’à partir d’un id_rubrique passé en environnement), par exemple dans un fichier inclure/rss-liste-items.html}.

      Bon à savoir : le critère {branche ?} fonctionne également si la variable d’environnement id_rubrique est un tableau d’id_rubrique (auquel cas, toutes les branches définies par chacun de ces id_rubrique sont sélectionnées)..

      Ensuite, il faut calculer la bonne valeur de id_rubrique à passer à l’inclusion. Grosso modo, si #ENV{id_rubrique} est défini, on va attribuer la valeur de #ENV{id_rubrique} à #GET{id_rubrique}. Sinon, si #ENV{id_rubrique} n’est pas défini ET SI on a paramétré une/plusieurs branche(s) par défaut dans la config, alors on va attribuer à #GET{id_rubrique} un tableau contenant les différentes branches de la config.

      Enfin, on va faire notre inclusion de la forme :
      <INCLURE{fond=inclure/rss-liste-items}{env}{id_rubrique=#GET{id_rubrique}}>

      Il me semble qu’une démarche comme celle-ci devrait fonctionner.

    • Pas pensé à l’inclure, bien que tu l’avais mentionné dans le premier post :-(

      Donc cette fonctionnalité est rajoutée... Je peux modifier la doc si tu veux ?

    • Je viens de t’ajouter comme auteur de l’article pour la mise à jour de l’article. Pense aussi à te rajouter en auteur du plugin.

      Concernant l’explication, c pas très clair que si on passe un id_rubrique dans l’url on a alors toutes les rubriques. Peut-être ya -t-il une meilleure formulataion à trouver mais je suis pas très inspiré ce soir.

      Concernant le formulaire de config, tu vas dire que je pinaille, mais je me dis que ce serait pas mal d’utiliser un sélecteur de rubriques si Bonux est présent.

      Amitiés

    Reply to this message

  • 1

    Bonjour,

    C’est pas mal, l’idéal serait de pouvoir étendre ceci à différents objets SPIP : brèves, mots-clés, documents et pourquoi pas à des objets SPIP créés de toute pièce !

    @+

    Reply to this message

Ajouter un commentaire

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom