Mode de fonctionnement
Ce plugin recopie les flux RSS (articles syndiqués) en articles
- reprise du contenu du flux
- crée l’auteur s’il est mentionné dans le flux
- ajoute les documents distants présents dans le flux
- dans le champs URL de l’article on indique l’adresse de l’article d’origine
Pour éviter les doublons et les imports successifs, une fois l’article créé, l’article syndiqué est rejeté (ce qui permet de suivre où en sont les recopiés).
Via cfg (configuration) il est possible de choisir :
- le statut des articles (proposé ou publié)
- le mode de fonctionnement :
- automatique : tous les sites syndiqués validés sont recopiés
- manuel : il faut sélectionner manuellement les sites syndiqués sur lequel on veut que la copie soit active
- s’il faut être averti par e-mail à chaque flot de recopies (qui ont lieu tous les 10min)
- s’il faut copier le logo du site comme logo d’article (facultatif car peut générer beaucoup de fichiers) (déprécié, utiliser plutôt la liaison avec la table spip_articles_syndic)
En mode automatique, pour éviter la saturation de la base, tous les articles syndiqués de plus de 2 mois sont effacés (inutile donc de cocher l’option).
Installation
Télécharger et installer comme un plugin habituel
Recommandations
Lorsque vous ajoutez un nouveau site à syndiquer :
- bien choisir la rubrique où vous référencez le site. c’est là que les articles seront copiés
- choisir l’option « le contenu complet des articles (au format HTML) » si vous voulez récupérer l’intégralité du contenu (et non son résumé). (Cette option est automatiquement validée si vous êtes en mode manuel)
- ne pas oublier de valider le site (statut vert « validé »)
En terme de squelette :
- En mode automatique, il est recommandé de ne pas utiliser la boucle
SYNDIC_ARTICLES
car les objets ne seront pas stables (en permanence copiés et effacés pour devenir des articles). - En mode manuel, vous pouvez ajouter le critère
{rssarticle=non}
à vos bouclesSYNDIC
pour ne traiter que les sites dont les articles syndiqués ne sont pas recopies
Le plugin peut créer beaucoup d’articles rapidement, il est donc conseillé d’être précis dans les flux RSS que vous soumettez.
Par exemple sur un site SPIP
au lieu de soumettre le flux général d’un site de type http://www.a-brest.net/spip.php?page=backend
Préférez un flux plus restreint, plus thématique
- le flux d’une rubrique ex.
http://www.a-brest.net/spip.php?page=backend&id_rubrique=161
- le flux d’un mot ex.
http://www.a-brest.net/spip.php?page=backend&id_mot=16
Liaison tables articles et sites
Le plugin crée une table spip_articles_syndic qui permet de lier l’article recopié et la fiche du site.
Voici par exemple une boucle qui permet d’afficher la fiche du site depuis l’article recopié :
<BOUCLE_art_principal(ARTICLES){id_article}>
...
<BOUCLE_art_origine(ARTICLES_SYNDIC){id_article}><BOUCLE_infosite(SYNDIC){id_syndic}>
<div class="info_site">
<h1>#NOM_SITE</h1>
#DESCRIPTIF
[<small>URL: <a href="#URL_SITE">(#URL_SITE)</a></small>]
</div>
</BOUCLE_infosite></BOUCLE_art_origine>
...
</BOUCLE_art_principal>
Historique
Version | Date | Descriptif |
1.4.0 | septembre 2023 | compatible SPIP 4.2 |
1.3.0 | janvier 2022 | compatible SPIP 4.0 |
1.1.5 | 14 août 2017 | compatible PHP 7.0 |
1.1.3 | 13 novembre 2014 | compatible SPIP 3.1 |
1.1 | août 2012 | version bêta pour SPIP 3.0 |
0.5 | août 2011 | date de l’article est celle du flux. Ajout d’une page pour forcer la copie manuellement |
0.4 | avril 2011 | performance (déclaration table via pipeline) |
0.3 | avril 2010 | choix du mode : automatique ou manuel |
0.2 | septembre 2009 | ajout de la liaison l’article et site |
0.1 | juillet 2009 | sortie initiale |
Avertissement
Ce plugin modifie globalement le fonctionnement de la syndication. Il répond à un besoin très particulier de sites qui veulent récupérer beaucoup d’informations de flux extérieurs (RSS, ATOM) et de pouvoir les re-travailler dans le flux habituel des articles SPIP (par exemple, les déplacer, les éditer, faire le lien faire l’auteur, ajouter des mots-clés, ....) ce que ne permettent actuellement pas les articles syndiqués.
La solution basique à base de boucles et sans ce plugin
Pour les autres sites, si vous désirez simplement afficher une rubrique type revue du presse, la solution la plus simple et économique est de le réaliser sans ce plugin au simple niveau du squelette.
Par contre, vous n’aurez pas la possibilité d’éditer et d’intervenir sur les articles syndiqués (sauf les effacer) (c’est ce que permet le plugin)
Par exemple, je veux créer une rubrique regroupant les informations de 3 maisons de la culture (MJC)
- créer une rubrique « Actualités des maisons de la Culture »
- dans cette rubrique, ajouter les 3 flux RSS des sites de MJC. choisir l’option « le contenu complet des articles (au format HTML) »
- compléter au besoin votre squelette.
Si ma rubrique possède le numéro 34, cela donne rubrique=34.html
<BOUCLE_rub_principal(RUBRIQUES) {id_rubrique}>
<html ...>
....
<BOUCLE_articlesyndic(SYNDIC_ARTICLES)
{id_rubrique}{pagination 10}{age<180}{par date}{inverse}>
<div class="article">
<h1><a href="#URL_ARTICLE">[(#TITRE*)]</a></h1>
[<div class="enclosures">(#TAGS|afficher_enclosures)</div>]
<small>[(#DATE|affdate_court)][, <:par_auteur:> (#LESAUTEURS)]
[ — <em>(#TAGS|afficher_tags)</em>]
</small>
[<div class="texte">(#DESCRIPTIF|image_reduire{500})<br class="nettoyeur" /></div>]
</div>
</BOUCLE_articlesyndic>
[<p class="pagination">(#PAGINATION) - #GRAND_TOTAL billets</p>]
</div>
</B_articlesyndic>
...
</html>
</BOUCLE_rub_principal>
Documents images associées au flux rss
La configuration du plugin propose d’« utiliser le plugin ressource
pour afficher ensuite les images.
Dans ce cas, il peut être nécessaire de définir la constante _RESSOURCE_LIBRAIRIE_SEULEMENT
dans votre fichier mes_options, afin que le plugin ressource
n’interfère pas avec vos contenus.
Voir Utiliser « ressource » en tant que librairie de fonction".
Astuces
La copie des articles syndiqués en articles spip se fait automatiquement par le mécanisme du cron (génie) tous les 10 minutes.
Si vous voulez forcer manuellement cette recopie, vous pouvez le faire de la page « Maintenance > Tâches de fond » et cliquer sur la tâche « rssarticle_copie »
Discussions par date d’activité
71 discussions
Salut
quand on change le statut d’un article vers « publié », on met à jour la date de publication de l’article ET la date de la rubrique (champs date et maj de spip_rubrique)
or là quand on transforme les items d’un flux sous la forme d’article au statut publié, les dates de la rubrique ne sont pas mis à jour
je ne sais pas comment faire cela
est-ce que c’est une évolution envisagée de ce plugin très intéressant ?
Répondre à ce message
Bonjour,
J’ai mis en place ce plugin sur le site de démonstration du squelette THe Morning After pour SPIP afin de récupérer les notifications de SPIP Zone et de permettre de les commenter.
Je me pose deux questions :
* Pour éviter la saturation de la base, tous les articles syndiqués de plus de 2 mois sont effacés (inutile donc de cocher l’option) : on parle donc bien de la table spip_syndic_articles ? Pas des nouevaux articles créés ?
* Les articles créés sont datés de la date de publication sur le site et non pas de la date originale : n’est-ce pas possible de la récupérer (pour créer une chronologie) ne serais-ce qu’en date de publication antérieure ?
Une amélioration possible serait de permettre de choisir pour chaque flux si on souhaite ou non utiliser ce système : en effet on peut souhaiter utiliser celui-ci ET la syndication classique dans une autre partie du site.
En toute hypothèse merci pour avoir partagé ce plugin très utile !
Je remarque que les articles créés ont le forum désactivé par défaut, alors que l’un des intérêts de cette manipulation est de permettre les commentaires (ceux-ci étant impossibles sur les articles syndiqués).
Existe-t-il un paramètre que l’on puise changer quelque part pour modifier ce comportement s’il vous plaît ?
Mieux vaut tard que jamais … mais voici le fichier à modifier pour accepter le forum par défaut sur les articles copiés :
dans : rss_article > genie > rssarticle_copie.php
ligne 66, remplacer :
’accepter_forum’=>’non’,
par
’accepter_forum’=>’oui’,
J’ai mis à jour le plugin. Le forum de l’article recopié a le même réglage que la préférence générale du site pour les forums (oui ou non selon les sites).
Bonjour,
J’ai un comportement bizarre (enfin, rss-en-articles je veux dire ;-) ) : les évènements sont bien enregistrés avec le bon réglage pour les forums, mais s’affichent sans ceux-ci jusqu’à ce qu’on les reprennent dans l’arrière-cuisine (même sans les modifier) et qu’on fasse « voir en ligne ». Des essais en var_mode=calcul ou var_mode=recalcul ne donnent rien.
Sans doute quelque chose d’incomplet, qui se rétablit lorsqu’on passe par la redirection depuis le mode privé, mais pour l’instant je sèche.
C’est sous SPIP v2.0.10 et sarka-spip (ça vient peut-être de ce dernier).
Cordialement,
Bon, maintenant le fonctionnement est redevenu normal. Peut-être un problème pervers de cache ?
Désolé pour le bruit.
Répondre à ce message
Bonjour,
Une petite modif pour conserver la date de l’article original : dans genie/rss_copie.php, ajouter avant la création de l’article qq chose du genre :
Il faudrait prévoir des options pour modifier la date de l’article en plus de la date de rédaction antérieure par exemple, mais je n’ai pas trop le temps de chercher comment faire ça dans cfg.
Je l’ai testé pour synchroniser un agenda spip avec un agenda webcalendar (c’est en partie pour ça que je modifie le titre de l’article, plusieurs entrées pouvant avoir le même tire. Il faudrait un test plus complet :titre, date_rec, descriptif,...). Dans ce cas, il faut ajouter un ligne dans mes_options.php :
pour pouvoir récupérer les articles datés dans le futur (au delà de 2 jours, spsip les vire sinon).
Si ça peut aider ...
Répondre à ce message
Bonjour,
y a t’il la possibilité avec ce plugin de diffuser les articles créés depuis les flux que je récupères pour les faire passer dans les flux rss de mon propre site ???
je ne vois rien de tel.
please HELPPPPP
Répondre à ce message
Bonjour,
J’utilise SPIP 2.0.10 et ce plugin, qui m’est extrêmement pratique.
Utilisant la 0.2, je suis passé à la dernière version, l’option permettant de filtrer les flux à recopier me paraissant intéressante.
Mais, bien CFG soit à jour également, je ne peux pas cocher dans la rubrique du site syndiqué afin de l’autoriser en mode manuel. La page se rafraichit mais l’option cochée ne reste pas ...
Est-ce que vous auriez une idée pour me dépanner ?
Merci :)
Jonathan
http://www.discolab.fr/
Répondre à ce message
Merci pour ce plugin.
Comment récupérer le logo de l’article syndiqué pour le mettre en logo de l’article une fois reproduit ?
Cordialement,
Philippe
Le logo peut etre récupéré automatiquement, il suffit de l’indiquer dans le menu de configuration du plugin.
Je vois seulement « Recopier le logo du site comme logo d’article » alors que je veux le logo de l’article original.
vous avez raison, il faut donc développer la fonction et ajouté l’option. si le coeur vous en dit :)
Répondre à ce message
Hé hé, c’est encore moi :-)
Une petite question concernant les auteurs, qui se créent et s’ajoute à la base à chaque syndic, peut-on immaginer d’intégrer dans le cfg un champ permettant de définir leur statut par défaut ?
Parce que là ils se collent tous « rédacteur » par défaut (donc 1comite) ce qui pose quelques soucis puisque se mélangent aux autres ’vrais’ rédacteurs du site dans les boucles que je maintiens derrière, pour lister les auteurs.
Et je ne vois pas trop comment je peux filtrer tout ça proprement.
Merci beaucoup :-)
Répondre à ce message
Bonjour,
j’utilise ce plug in, tt fonctionne bien sauf que l’url des articles récupérés est particulièrement longue (>400 caractères). Spip ou le plugin coupe l’adresse à 387 caractères et, par conséquent, les liens hypertextes renvoient vers des pages d’erreur.
Savez-vous comment régler ce pb ?
Merci d’avance
Répondre à ce message
Bonjour,
Dans les articles avalés en RSS, l’image attachés sort en vignette, on le vois bien dans l’interface privé mais pas dans l’interface publique. Quelqu’un sait il d’où vient le problème ??? Merci de me répondre
Répondre à ce message
Bonjour,
J’utilise ce plugin et je voulais savoir si c’était normal que je ne récupère pas tout le texte même après avoir choisit l’option « le contenu complet des articles (au format HTML) » . Mais faut noter que cela m’est arrivé sur un seul article sinon pour les autres j’ai récupéré tout le texte.
Bien vérifier que vous avez la dernière version du plugin version [38011].
Si le site est syndiqué depuis longtemps, il est possible que les articles syndiqués aient été importés en format court avant l’activation du plugin et que ces articles ne soient plus présent dans le fil RSS actuel du site distant.
Lorsqu’on active l’option « recopie les articles » sur un site donné, le plugin tente une resynchronisation des articles syndiqués en format long HTML. Si l’article syndiqué est vieux et qu’il n’est plus présent dans le fil RSS du site distant, on ne peut plus le resynchroniser en format long HTML ce qui explique que cet article est recopié en format court.
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 :
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.
Suivre les commentaires : |