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
J’ai installé le plugin pour tenter d’importer des articles en provenance d’un de mes sites wordpress (sur un spip 2.09) et suivi les indications ainsi que la config via cfg, mais je n’ai que la syndication standard. faut-il paramétrer autre chose dans l’admin ?
problème de version de spip ?
merci
Pierre
Répondre à ce message
Bonjour,
L’idée est trés séduisante !
Mais il serait souhaitable de pouvoir paramétrer les sites que l’on souhaite syndiquer de cette maniére.
En effet lorsqu’il existe déjà un certain nombre de sites syndiqués, il va créer un nombre considérable d’articles...et donc poser divers problémes difficiles à solutionner. (exemple : les images de flickr, qui se transforment individuellement en autant d’articles que d’images dans un classeur, au lieu de créer un article avec le classeur...).
Bravo pour cette réalisation qui est attendue pour les associations qui veulent créer des rubriques regroupant des articles d’autres associations du même groupe. (Par exemple 3 MJC qui veulent faire une rubrique de regroupement pour les spectacles à partir de chacune leur propre rubrique spectacles, sachant qu’une rubrique spip peut être syndiquée.
Merci et à bientôt
Michel
Bonjour michel, désolé pour la réponse tardive
la solution la plus simple est de limiter le flux à importer. A lieu d’importer les flux entiers du site
http://www.aaa.net/spip.php?page=backend
Syndiquer plutôt un flux thématique
http://www.aaa.net/spip.php?page=backend&id_mot=252
dans la rubrique dans lequel vous voulez importer l’informationen complément, voir cet article
Répondre à ce message
J’aurai du chercher et fouiller un peu plus. le créateur du plugin avait prévu la chose et mis une variante dans son code. Cette variante fait passer, le lien vers l’article d’origine, après le texte syndiqué.
j’ai committé le changement, le lien (affiché de manière facultative avec config) vers l’article d’origine est placé à la fin de l’article.
Cela permet d’avoir des introductions d’articles qui ne sont pas pollués).
merci à naomed pour cette remarque
Répondre à ce message
Comme je l’ai déjà dit, je suis très satisfait de ce plugin. Mais a l’usage, il y a un petit problème.
Le plugin ajoute à l’article syndiqué la phrase : Cet article est repris du site xxxxx, ce qui est normal.
Mais cela pose un problème de référencement. Dans la balise description on se retrouve avec :
Cet article est repris du site sans l’url du site qui est supprimé. On perd donc une trentaine de caractères en terme de description de l’article.
Je vois 2 solutions possibles pour éliminer ce bout de phrase génant dans le méta :
1 ne pas enregistrer le bout de texte dans le texte et le mettre dans un champ annexe ou dans le surtitre par exemple
2 faire démarrer dans le méta, l’introduction de l’article après x caractères. Ce serait sans doute le plus simple mais je n’ai pas trouvé comment faire. La solution utilisé dans les criteres de boucles articles ne fonctionne pas avec couper
Quelqu’un saurait il comment faire pour supprimer les premiers caractères d’un texte ?
Répondre à ce message
Merci pour ta réponse. C’est intéressant Mais...
On la gère et la trouve où cette balise ttl (time to live) ? C’est la première fois que j’en vois mention.
Répondre à ce message
je fais fonctionner ce plugin depuis une dizaine de jours : pas de probleme majeur.
je m’inquiete seulement d’une chose : à quelle fréquence les flux sont examinés ? Avec un grand nombre de sites syndiqués ne risque-t-on pas d’avoir quelques soucis avec l’hébergeur ?
Certains sites ne mettent à jour qu’une fois tous les 2 ou 3 jours, ne pourrait-on pas prévoir la gestion de la frequence des mises à jour pour soulager le serveur ?
je n’ai aucune idée si la chose est possible mais, si cela l’est, je crois que cela serait judicieux.
Autre question : à quel rythme sont effacés les articles syndiqués (ceux qui ont été transformé en véritables articles)
La balise ttl (time to live) des flux de syndication a justement pour objectif d’indiquer aux clients à quelle fréquence ils peuvent venir...
Répondre à ce message
je me répond :
fallait encore travailler quelques heures pour trouver la solution !
je mettrais bien la boucle mais comment faire pour qu’elle ne soit pas interprétée ?
Répondre à ce message
Il me semble plus pertinent de réaliser des pages de squelettes qui affichent les articles syndiqués comme des articles locaux que de bâtir pareille « usine à gaz » qui va consommer du temps d’exécution pour recopier des articles déjà présents dans la BDD !!!
Bonjour joe et michel,
j’ai apporté des précisions dans l’article pour indiquer l’alternative simple à base de boucles. Ainsi que les cas où le plugin « l’usine à gaz » devait pertinent notamment lorsqu’on avait besoin de reprendre ces articles dans le flux éditorial (workflow) de SPIP.
Bonjour et MERCI BEAUCOUP...
Je suis revenu...
En ce qui concerne une rubrique et une seule fonctionnant avec des articles syndiqués, cela semble parfaitement adapté, mais nous avons des logiques différentes en ce qui concerne « Les partenaires », les albums et classeurs de photos sur « Flickr » etc...pour exemple.
Donc ma logique de sélectivité par un choix simplifié intégré dans le plugin est toujours d’actualité, sachant que les webmasters de ces sites ne sont pas obligatoirement des spécialistes du code Spipien !
Pour info et exemple de notre site réalisé avec SPIP et Sarka-SPIP : http://www.cscreberioux.com
A bientôt.
Michel
Pas vu de réponse, ni de commentaire.
A bientôt.
Michel
michel si vous êtes si pressé, participez au développement du code !
Bonjour « Mr Commit ».
Si j’évoque ces problèmes c’est pour que les solutions apportées bénéficient à tous...
Pour ma part je suis bénévole, et assume (entre autres) la gestion de divers sites d’associations !
Je précise que je n’ai aucune connaissance particulière en php (par contre dans d’autres domaines, j’ai certaines compétences...).
S’il n’y a pas de réponse, ce n’est pas un problème, car je m’en suis passé et suis encore capable de mettre en place d’autres approches, même si la votre peut être séduisante.
Par contre, si vous souhaitez créer des rencontres ou des forums dans nos locaux, comme le SARKA-DAY, nous pouvons étudier cette possibilité http://sarka-spip.net/production/ et http://www.cscreberioux.com/spip.php?article129 .
A bientôt.
Michel
Répondre à ce message
Bonjour,
merci pour ce plugin.
j’aurais aimé pouvoir sélectionner les sites syndiqués que ce plugin
doit prendre en charge.
Idéal :définir pour chaque site syndiqué si oui ou non il est repris en articles et dans quelle rubrique.
Répondre à ce message
Toc Toc...personne ?
Si quelqu’un revient...je suis toujours là !
A bientôt.
Michel
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 : |