Fonctionnalités
Spip2spip permet à des sites Spip qui ont des thématiques en commun de s’échanger directement les articles au format Spip.
À la différence d’une simple syndication, l’article va être importé en tant qu’article dans la rubrique du site destination. Cet article importé sera donc éditable et conservera ses raccourcis et le maximum d’informations (auteurs, pièces jointes, mots-clés ....)
Téléchargement et installation
- Téléchargez le plugin
- Activez le plugin dans le menu habituel.
L’activation du plugin crée automatiquement le groupe de mots-clés -spip2spip- qu’il faudra compléter pour tagguer les thématiques à échanger. - Renseignez les sites avec lesquels vous voulez importer des informations, en les ajoutant dans le menu édition > spip2spip
Paramétrage du plugin
Dans le menu de configuration, vous pouvez définir vos options d’import :
- Quel est le statut des articles à importer : proposé ou publié ?
- Faut-il citer l’adresse d’où provient l’article ?
- Faut-il alerter un admin par email à chaque syndication ?
- Faut-il importer / exporter les mots-clés des articles et de ses événements ?
- Faut-il créer les mots-clés dans un groupé donné ou ré-créer les groupes de mots-clés du site d’origine ?
Via config/mes_options.php il est possible de :
- Bloquer la récupération du contenu (si la seule information qui nous intéresse, c’est le titre et l’origine du contenu)
- Bloquer la récupération des documents joints
define('_SPIP2SPIP_RECUPERER_CONTENU', false);
define('_SPIP2SPIP_RECUPERER_DOC', false);
Principe général
spip2spip est une syndication qui est basée sur un groupe de mots-clés commun appelé - spip2spip -
Chaque mot-clé de ce groupe sert à désigner une thématique donnée :
- créer un mot clé dans ce groupe permet de créer un canal thématique
- attribuer ce mot-clé à vos articles permet de les diffuser aux autres sites
- attribuer ce mot-clé à une rubrique permet d’y importer les articles des autres sites
Les sites recopient les articles entre eux grâce au cron :
- le formatage des articles spip des articles est conservé (raccourcis typographiques, saut à la ligne, insertion des images et documents ....)
- citation automatique de la source (url de l’article d’origine)
- reprise de la licence (voir contribution licence)
- création de l’auteur si celui n’est pas présent le site SPIP cible.
- les images et documents sont convertis en documents distants
- les événements liés à l’article si vous utilisez le plugin Agenda 2.0 et ultérieur
- logo de l’article version 2.3
- langues, liens de traduction et balises
<multi>
version 2.3 - mots-clés de l’article et de ses événements version 2.3
Diffuser de l’information
- Allez dans le groupe de mots-clés -spip2spip-
- Dans ce groupe, créez un mot-clé par chaîne thématique que vous voulez diffuser : sport, informatique, œnologie, ...
- Attribuez ces mots-clés aux articles concernés.
Cela permet à votre site de proposer ses articles à la syndication spip2spip via l’adresse réservée :
Flux simple
http://monsite.org/spip.php?page=backend-spip2spip
Flux complet avec les événements
http://monsite.org/spip.php?page=backend-spip2spip-agenda
Flux de tous les articles d’un auteur
http://monsite.org/spip.php?page=backend-spip2spip-auteur&id_auteur=XX
S’abonner à une chaîne d’information
Je vais maintenant m’abonner à des sites amis pour recopier automatiquement les articles qu’ils proposent.
étape 1 : inscrire les sites amis
Je vais inscrire le flux spip2spip d’un site ami :
Exemple : Je m’abonne au flux spip2spip de
@-brest
étape 2 : s’abonner à un canal thématique
Je me suis abonné à un site, il faut maintenant choisir quel canal thématique m’intéresse.
J’observe donc le flux du site ami :
Exemple : Ce flux XML propose plusieurs « chaînes thématiques » :
- a-brest-B pour les articles @-brest concernant la bretagne
- a-brest-F pour les articles @-brest concernant la technologie
- ...
Je décide de m’abonner à la « chaîne thématique »a-brest-B.
- Je crée dans la mot-clé a-brest-B dans le groupe de mots-clés -spip2spip-
- J’attribue ce mot-clé à la rubrique dans lequel je veux que les articles distants soient recopiés.
La synchronisation
La syndication se fait automatiquement grâce au cron.
Vous pouvez aussi forcer la syndication manuellement depuis
l’interface privée.
Le plugin examine alors tous les articles proposés et leur chaîne thématique. Si un article correspond à une chaine auquel vous vous êtes abonné, il importe l’article dans la rubrique sur lequel vous avez placé le mot-clé de cette chaîne thématique.
Origine de l’importation stockée par le plugin
2 champs supplémentaires dans la tables spip_articles permettent d’avoir accès à la source distante d’origine de l’article importé [1].
Sont donc stockés :
- #S2S_URL_SITE_DISTANT : l’URL du site distant (en principe sans / final)
- #S2S_ID_ARTICLE_DISTANT : l’identifiant de l’article sur le site distant
Vous pouvez par exemple :
- Faire un lien sur l’article d’origine :
<a href="#S2S_URL_SITE_DISTANT/?article#S2S_ID_ARTICLE_DISTANT">#TITRE</a>
- Appeler un squelette sur le site d’origine pour incorporer son résultat à votre page :
[(#VAL{#S2S_URL_SITE_DISTANT?page=inc_pour_inclusion_distante&id_article=#S2S_ID_ARTICLE_DISTANT}|recuperer_url_cache|table_valeur{page})]
Astuces
Si vous voulez masquer l’affichage du groupe de mots-clés -spip2spip-, vous pouvez utiliser la boucle
<BOUCLE_listemot(MOTS){id_article}{type!==^[-]}>....</BOUCLE_listemot>
Alternative pour masquer le groupe -spip2spip : utiliser le critère doublons
<BOUCLE_mot_cache(MOTS){type=- spip2spip -}{doublons spip2spip}> </BOUCLE_mot_cache>
<BOUCLE_listemot(MOTS){id_article}{doublons spip2spip}>....</BOUCLE_listemot>
Astuces (bis)
Spip2spip version 2.3 ajoute 2 champs supplémentaires à la table spip_articles qui peuvent être exploités éventuellement dans un squelette dans une boucle ARTICLES
-
#S2S_URL
l’adresse de l’article d’origine -
#S2S_URL_TRAD
l’adresse de la traduction de l’article d’origine
Astuces (ter)
À l’import, Spip2spip adopte le comportement par défaut de SPIP lors de l’import de données externes : le filtre textebrut s’applique sur tous les champs pour empêcher les injections de HTML, Javascript, XSS ....
Si vous désirez quand même (à vos risques et périls), importer du HTML brut, ajouter dans votre fichier config/mes_options.php
define('_SPIP2SPIP_IMPORT_HTML', true);
Évolutions
version 4.x | Compatibilité SPIP 4 | |
---|---|---|
version 3.4 | Mars 2018 | Ajout d’un flux pour exporter tous les articles d’un auteur |
version 3.3 | Mai 2017 | Ajout des champs pour stocker l’origine et de la possibilité de bloquer la récupération du contenu et des documents |
version 3.2 | Juin 2016 | Version SPIP 3.1 Correction de bugs sur l’import de documents et logos Flux version 1.9 permettant l’import d’auteurs avec le nom comporte une virgule comme SMITH, Robert |
version 3 | Février 2013 | Version SPIP 3 |
version 2.3 | Juillet 2010 | Gestion des liens de traduction Ajout des champs s2s_url, s2s_url_trad à la table spip_articles support des balises <multi> |
version 2.2 | Juillet 2010 | Import/export des mots-clés des articles et événements flux version 1.8 |
version 2.1 | Mai 2009 | Meilleure gestion des retours à la ligne (flux version 1.7) |
version 2.0 | Janvier 2009 | Sortie de la version compatible SPIP 2 Abandon du mode synchronisation |
version 1.7 | Mai 2008 | Intégration de cfg |
version 1.6 | Mai 2008 | Intégration des objets événements (plugin agenda) |
version 1.5 | Février 2008 | Sortie la version plugin |
Alternative
- Le plugin Partageur
- Le plugin Flux RSS en articles
Discussions par date d’activité
73 discussions
Bonjour,
J’ai installer le plugin sur 2 sites (spip 3.0.5) en suivants la procédure. Sur le site importateur, lorsque j’inscrit l’adresse du flux du site exportateur, j’ai le message suivant :
Rapport de syndication :
Erreur : Impossible de charger le flux
Il me semble que le flux est pourtant bon : http://www.radio-calade.fr/site/spip.php?page=backend-spip2spip
Avez vous une idée de ce que j’ai pu mal faire ?
Répondre à ce message
Bonjour à tous,
Une MàJ pour SPIP 3.0 est-elle prévue svp ?
a+
Sans doute en 2013 si je trouve le temps ou on me le commande expressément
Pour infos, je viens de migrer Partageur qui partage les fonctions de parsing de SPIP2SPIP
Ah ! Merci erational.
Par contre, je ne comprends pas bien la différence entre spip2spip et Partageur.
Au temps pour moi. Il suffisait d’ouvrir les yeux :-)
SPIP2SPIP est maintenant disponible pour SPIP 3.
L’interface a été entièrement reprise côté backoffice pour plus de performance et d’ergonomie.
Enjoy ^_^
Génial !!
Merci beaucoup :-)
Répondre à ce message
peut-être un élément de réponse aux questions précédentes sur les articles syndiqués qui n’apparaissent pas...
j’utilisais spip2spip depuis un moment, or depuis... un an ? ca ne fonctionne plus. les articles sont bien importés dans le site de destination, mais n’apparaissent pas sur le site.
j’ai pris le temps (au bout d’un certain temps !) de regarder dans la base de donnée, et je me suis aperçu que c’était le champ « secteur » qui était resté à 0.... résultat, dès que le squelette met un critère sur le secteur, les articles syndiqués ne sont pas pris dans les boucles articles...
j’ai corrigé à la main dans la base de donnée, et l’article apparait...
je n’ai par contre par cherché dans le code pourquoi ce champ n’était pas mis à jour...
je ne sais pas si ca dépend d’une configuration particulière..
en espérant que ce soit corrigé dans une prochaine version...bon courage !
je me suis lancé dans la lecture du code, ne voyant pas venir de réaction...
si je comprends bien la fonction qui récupère l’id de secteur et que je copie dessous, prend la rubrique parent de la rubrique de l’article comme secteur...
ce qui me semble incorrect... si une rubrique a comme parent 0, elle est son propre secteur... et de toute façon, il y a déja un champ « secteur » dans la table rubriques... Pourquoi ne pas le reprendre ?
version actuelle de la fonction....
version suggérée... sachant que je ne vois pas de cas ou le fecth renverrait une valeur nulle sur idsecteur...
je n’ose me lancer dans la modif en direct... peut-être une confirmation d’un développeur spip ?
pam
oui cela me semble correct, n’hésite pas à commiter. merci.
je n’utilise pas de svn ne faisant pas de développement,
et j’avoue que je n’ai pas trouvé comment commiter..simplement....
donc je n’ai fait la modif que sur mon serveur...
le fichier concerné est spiptospip_fonctions.php à la racine du plugin...
pam
voilà c’est comité 66205. Merci
Répondre à ce message
Personne n’a rencontré de problème avec le plugin « speed syndic » ??
Merci pour vos retours, le cas échéant.
Spipement,
Bitin.
Répondre à ce message
Bonjour,
J’ai également de mon côté quelques problèmes. J’ai suivi à la lettre le guide ci-dessus et le site qui importe visualise bien les articles à importer.
Ne voyant rien venir automatiquement je suis allé voir le lien « syndiquer manuellement » de spip2spip (dans le site qui importe).
Il m’indique bien l’article à importer, mais le lien en dessous « Consulter l’article importé » a cette forme :
http://www.monsitequiimporte.com/ecrire/?exec=articles&id_article=
Spip2spip n’a apparemment généré aucun article (rien après le « = »). Il semble bloquer à ce stade, non ?
Merci pour votre aide
Rebonjour,
Petit ajout, je reçois parfaitement par mail (en 36000 exemplaires) le message automatique qui m’indique la syndication...
Contenu du mail
Par contre, toujours pas de lien complet et d’articles créés sur mon spip qui importe...
Merci pour votre aide
Répondre à ce message
Bonjour,
j’envisage de fermer un site ( l’ancien site ) et j’aimerais auparavant l’insérer dans mon autre site ( nouveau site ), comme archive, par exemple dans une rubrique dédiée du nouveau site.
Ce site est assez gros, et je n’ imagine pas marquer chaque rubrique et chaque article 1 par 1
Est-ce que ce plugin , éventuellement modifié, pourrait réaliser cette fusion ?
( Je précise que, utilisateur satisfait de SPIP, je suis néanmoins incompétent pour modifier moi même sérieusement un plugin )
Peut-être une autre méthode en jouant directement avec la base de donnée ( mais je suis tout aussi incompétent avec MySQL )
Je n’ai trouvé aucune contribution ni même un témoignage d’une telle manoeuvre.
La fermeture de l’ancien site est programmée pour Mars 2012.
Bonjour joseph,
Dans ton cas, il me semble qu’il est inutile d’utiliser spip2spip (c’est faisable, il faudrait juste modifier la page backend-spip2spip en indiquant un age très vieux) mais utiliser tout simplement la fonction native de Spip qui permet de fusionner 2 deux sites :
Voici la méthode
Bonne chance !
Limpide !
Merci erational.
Répondre à ce message
Salut,
Depuis quelques mois, SPIP2SPIP ne fonctionne étrangement plus sur un spip à jour (plugins également).
Le problème :
- côté émetteur tout semble ok : le backend XML est bien rempli avec les articles qui doivent être partagés.
- côté récepteur, échec : la syndication semble bien se faire périodiquement, mais ne trouve rien. Si je clique sur « syndiquer manuellement », rien non plus. Et si je clique enfin sur « flux », pour vérifier que mon site récepteur regarde bien le bon backend, je visualise bien le backend XML distant rempli avec les articles à importer...
D’où peut venir ce comportement ? Pourquoi le site récepteur ne veut pas importer les articles présents dans le backend ?
Ça m’ennuie depuis un moment et je ne trouve pas.
Merci,
Med.
bonjour,
je viens de vérifier le fonctionnement de SPIP2SPIP avec les versions à jour du plugin et SPIP 2.1.10.
cela fonctionnement parfaitement !
par exemple : avec ce flux et le mot-clé SPIP2SPIP a-brest-B que j’ai attribué à une rubrique.
Vérifier peut-être que la mise à jour de base s’est bien faite (présence des champs s2s_url, s2s_url_trad sur la table spip_articles) ou que vos articles n’ont pas déjà été importés ou refusés.
Merci de votre réponse !
Après une (longue) investigation, il s’avère que le problème venait de la connectivité entre les deux plate-formes (chez un même hébergeur, mais sur des machines différentes, et entre lesquelles les règles de communication internes étaient rompues).
Bref, tout est rentré dans l’ordre, et spip2spip fonctionne très bien !
Répondre à ce message
question sur le résultat de la syndication
un article syndiqué a-t-il qqchose de particulier qui ferait qu’il n e serait pas pris dans une boucle article ?
je constate que les articles qui sont syndiqués n’apparaissent pas dans la partie ’article récent" de ma page d’accueil... je ne vois pas de raison dans la boucle article, tout à fait banale, sauf que les articles syndiqués n’y sont pas...
la boucle concernée a les filtres suivants
merci d’avance si ca dit qqchose ...
pam
Répondre à ce message
Pour ceux qui ont tout configurer correctement sur les deux sites, ajouter les mots clés aux articles et à la rubrique qui doit recevoir les articles et que rien ne se passe une piste simple :
Dans le fichier backend-spip2spip.html, dans la boucle qui récupère les derniers articles à exporter, <BOUCLE_synchro_article(ARTICLES)type_mot=- spip2spip -age<7>
Le filtre « age<7 » ne récupère que les articles publié dans les 7 derniers jours si vos articles sont plus vieux ils ne sont pas exporté !
Voila si ça peut vous aider retirer age<7 ou augmenter la valeur pour exporter des articles plus vieux
Répondre à ce message
j’ai bien suivi la procédure de configuration :
- un mot clé dans le site source, associé aux articles à mutualiser..
- le même mot clé dans la rubrique concernée du site de destination
- et... ca ne fonctionne pas.. ?
Faut-il faire qqchose de particulier pour que ce cron se lance ?
En tout cas, j’ai attendu en me disant que c’était périodire, mais je ne vois rien ..
- si je clique sur « syndiquer manuellement », il n’y a rien..
- si je regarde le « flux », je vois comme dans l’exemple...
merci de toute piste...
Ma config est un peu particulière, car c’est entre deux sites mutualisés.. est-ce que ca change qqchose dans le cron ?
bonjour
l’hébergement mutualisé ne change rien et la mutualisation non plus. SPIP2SPIP devrait fonctionner
votre flux spip2spip http://pam.venissieux.org/spip.php?... semble bon
Avez vous bien inscrit l’adresse du flux sur l’autre site ?
pour tester techniquement, essayer de syndiquer le site internet a-brest
testez en syndiquant manuellement (pour voir le message de log). Normallement vous devriez importer des articles de @-brest
tenez moi au courant
merci de la réponse
après quelques tests complémentaires, ca fonctionne dans un sens mais pas dans l’autre
je m’explique, j’ai un site de « groupe » et un site « perso ».
- je mets dans le site « perso » des notes de visites de quartier, que je veux renvoyer dans une rubrique du site « groupe »
- et dans le site « groupe », je mets des interventions publiques, que je veux renvoyer dans une rubrique du site « perso »...
bon, vu de loin, on peut se demander pourquoi.... Mais c’est tout l’art du je et du nous...
or, ce que je mets dans le site « perso » apparait bien dans le site « groupe » avec un mot-clef adapté. Lors de mon premier message, j’avais tout simplement oublié de publier ces articles car le paramètre spip2spip était à « proposé »
mais par contre, bien qu’ayant revérifié plusieurs fois, dans l’autre sens (avec un autre mot-cle), ca ne marche pas et je ne vois rien dans le sens « groupe » vers « perso ».
dans le site « perso », j’ai ajouté a-Brest-B ce matin 10 mai et ca marche
j’ai revérifié l’URL de backend http://gec.venissieux.org/spip.php?page=backend-spip2spip ...
le backend spip lui même fonctionne bien...
une idée ?
pam
Même problème avec un « émetteur » avec SPIP 2.0.8.
Le « thema » apparait bien, mais il n’y a pas d’article.
???
Bonjour, tout d’abord, excellent plugin et merci !
Le flux de Pamillet est vide d’article, alors que le flux de a-Brest est plein. C’est donc le site émetteur qui a un problème.
J’ai eu le même problème (avec un site sous 1.9.2) : apparemment, à l’installation du plugin, celui ci ne syndique pas les articles postés précédemment auxquels on aurait ajouté le mot-clé choisi. Il faut pour cela dépublier l’article (le passer en « proposer à l’évaluation ») puis le republier (« publier en ligne »), et hop il apparait dans le flux.
Enfin en tout cas chez moi ça marche.
Oui +++++
Effectivement, c’est fondamental (mais pas écrit dans le tutoriel)
Merci
Excellent plugin ;-)
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 : |