Fonctionnalités
Spip2spip permet à des sites Spip qui ont des thématiques en commun de s’échanger directement les articles au format Spip.
A la différence d’une simple syndication, l’article va être importé en tant qu’article dans la rubrique du site destination. Cette 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
Depuis SPIP2SPIP version 2.1, le plugin cfg est requis obligatoirement.
Pour les sites sous SPIP 2.0, il faut que les mots-clés soient activés (vérifier votre configuration)
- Activer le plugin dans le menu habituel.
- L’activation du plugin crée automatique le groupe de mots-clés -spip2spip- qui faudra compléter
- N’oubliez pas non plus de renseigner les sites avec lesquels vous voulez importer des informations en les ajoutant dans le menu édition > spip2spip
Paramétrage du plugin
Avec CFG, vous pouvez définir vos options d’import :
- Quel est le statut des articles à importer : proposé ou publier ?
- 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 ?
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 pour le diffuser aux autres sites
- attribuer ce mot-clé à une rubrique pour 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 automatiquement 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
- 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
- Aller dans le groupe de mots-clés -spip2spip-
- Dans ce groupe, créer un mot-clé par chaîne thématique que vous voulez diffuser : sport, informatique, oenologie, ...
- Attribuer ces mots-clés aux articles concernés.
Cela permet à votre site propose ces articles à la syndication spip2spip via l’adresse reservée :
Flux simple
Flux complet avec les événements
S’abonner à une chaîne d’information
Je vais maintenant m’abonner à des sites amis pour recopier automatique les articles qu’il propose
é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.

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_URLl’adresse de l’article d’origine -
#S2S_URL_TRADl’adresse de la traduction de l’article d’origine
Astuces (ter)
A 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
Evolutions
| version 2.4.0 | Septembre 2011 | Préparation compatibilité 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 Miroir de syndication
- Le plugin Flux RSS en articles



plugin spip2spip
Vos commentaires
# Le 3 février à 12:33, par Paname
En réponse à : Spip2Spip
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
# Le 3 février à 15:48, par Paname
En réponse à : Spip2Spip
Rebonjour,
Petit ajout, je reçois parfaitement par mail (en 36000 exemplaires) le message automatique qui m’indique la syndication...
Contenu du mail
Titre de mon article spipConsulter l'article importé:
http://www.marseille-premium.com/ecrire/?exec=articles&id_article=
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
# Le 20 novembre 2011 à 19:28, par Joseph Tux
En réponse à : Spip2Spip
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.
# Le 21 novembre 2011 à 01:03, par erational
En réponse à : Spip2Spip
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 !
# Le 22 novembre 2011 à 15:49, par Joseph Tux
En réponse à : Spip2Spip
Limpide !
Merci erational.
Répondre à ce message
# Le 18 août 2011 à 05:34, par Med_
En réponse à : Spip2Spip
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.
# Le 14 septembre 2011 à 08:07, par erational
En réponse à : Spip2Spip
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.
# Le 14 novembre 2011 à 02:44, par Med_
En réponse à : Spip2Spip
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
# Le 24 octobre 2011 à 22:43, par pamillet
En réponse à : Spip2Spip
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
# Le 6 mai 2011 à 19:05, par Loic972
En réponse à : Spip2Spip
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, 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
# Le 26 avril 2009 à 18:04, par pamillet
En réponse à : Spip2Spip avec mutualisation... ?
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 ?
# Le 29 avril 2009 à 17:08, par erational
En réponse à : Spip2Spip avec mutualisation... ?
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
# Le 10 mai 2009 à 18:48, par ?
En réponse à : Spip2Spip avec mutualisation... ?
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
# Le 6 juin 2009 à 11:32, par ?
En réponse à : Spip2Spip avec mutualisation... ?
Même problème avec un « émetteur » avec SPIP 2.0.8.
Le « thema » apparait bien, mais il n’y a pas d’article.
???
# Le 6 janvier 2011 à 14:06, par Abel
En réponse à : Spip2Spip
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.
# Le 19 janvier 2011 à 17:52, par Muxort
En réponse à : Spip2Spip
Oui +++++
Effectivement, c’est fondamental (mais pas écrit dans le tutoriel)
Merci
Excellent plugin ;-)
Répondre à ce message
# Le 16 décembre 2010 à 07:29, par pamillet
En réponse à : Spip2Spip
depuis qq temps et sans doute depuis la maj de qq plugins... dont spip2spip...
spip2spip ne fonctionne plus...
j’ai bien le log qui me dit que la synchro se fait, mais dans le mail qui est envoyé, j’ai un message sans numéro d’article...
et de fait, j’ai ce message toutes les 2h, puisque l’article n’est pas créé...
dans les logs spip, l’erreur vient de SQL...
effectivement, je ne vois pas de s2s_url dans la table spip_articles...
donc sans doute l’erreur vient du passage en spip 2.1.2 qui a regénéré une table article standard ? je ne devrai alors pas être tout seul,...
bien embetant tout ca... ne serait-il pas judicieux de prévoir une table spécifique à s2s plutot que de surcharger la table spip ?
# Le 16 décembre 2010 à 08:48, par erational
En réponse à : Spip2Spip
bonjour,
votre plugin n’a pas du se mettre bien à jour.
en effet à partir de la version 2.3, le plugin ajoute 2 champs sur la liste spip_articles
vous pouvez le faire à la main via phpmyadmin
ALTER TABLE `spip_articles` ADD `s2s_url` VARCHAR( 255 ) NOT NULL ;ALTER TABLE `spip_articles` ADD `s2s_url_trad` VARCHAR( 255 ) NOT NULL ;
On a préféré ajouter 2 champs sur la table spip_articles que de créer une autre table pour des raisons de simplificité et pouvoir exploiter directement sur ces données (url d’origine de l’article, url d’origine de la traduction). sans ajouter une boucle supplémentaire.
Répondre à ce message
# Le 16 septembre 2010 à 17:52, par ?
En réponse à : Spip2Spip
Bonjour,
toute l’installation sur le site émmetteur et le site récepteur est conforme et va jusqu’à la page syndiquer manuellement avec :
Nomdusite(flux)
[Nouvel artilce] titredelarticle
Consulter l’article importé
Mais le lien « Consulter l’article importé » renvoi vers ::
http://www.nomdusite.fr/ecrire/?exec=articles&id_article=
page obtenue : « Il n’y a pas d’article à cette adresse » et bien sur, pas d’importation ???
Une piste ? ai-je oublié quelque chose ?
Par avance, merci.
AlainF
Répondre à ce message
# Le 7 septembre 2010 à 09:32, par mathieu
En réponse à : Spip2Spip
bonjour
je m’occupe d’un site pour une association nationale avec des antennes locales. Pour une antenne, on voudrait reprendre certains articles du site national sur le site local —> spip2spip
mais après tests, ça ne semble pas fonctionner.
Le site national est en spip 1.8.2
le site local en spip 2.1.2 + sarka 3.0.3
Déjà, est-ce compatible ?
ensuite, sur le site national, le groupe de motclef a été créé avec dedans, un mot pour une thématique (spip2spipTextereference pour nous)
sur le site local, j’ai attaché ce mot à une rubrique et configuré spip2spip avec le nom et (j’ai essayé 3 adresses) :
http://www.cemea.asso.fr/spip.php?page=backend-spip2spip
http://www.cemea.asso.fr/
http://www.cemea.asso.fr/spip.php?rubrique95
rien n’apparait dans les 3 cas. J’ai configuré avec une validation automatique des articles ; idem.
petit détail, le groupe de mot clef, c’est - spip2spip - ou -spip2spip- ? (sans espaces)
bref, à l’aide :)
# Le 7 septembre 2010 à 14:33, par erational
En réponse à : Spip2Spip
bonjour,
le flux à syndiquer dans le site local pour recuper le site national sera :
http://www.cemea.asso.fr/spip.php?p...
pour l’instant, le flux est valide mais incomplet :
vérifier que vos articles sur le site national sont taggés avec spip2spipTextereference et qu’ils ne sont pas trop vieux (sinon vous pouvez modifier le critère d’age en editant que fichier backend-spip2spip.html du site emetteur)
pour avoir une idée de flux avec des articles ou faire des tests,, vous pouvez consulter ce flux spip2spip
# Le 7 septembre 2010 à 19:16, par mathieu
En réponse à : Spip2Spip
je pense que ça vient de l’âge des articles
je suppose que c’est cette ligne à modifier mais l’âge est indiqué en quoi, années, mois, jours ... ? on peut tout simplement enlever cette condition ?
enfin, où ce trouve ce fichier sur un site en spip 1.8.2 (je serais pas devant la machine alors, les informations les plus précises possible me sont nécessaires).
# Le 8 septembre 2010 à 08:25, par erational
En réponse à : Spip2Spip
le critère age est en jours, il est possible de le supprimer, dans ce cas, tous les articles taggés sont diffusés
le fichier backend-spip2spip.html se trouve à l’endroit où est installé le plugin
# Le 8 septembre 2010 à 08:41, par ?
En réponse à : Spip2Spip
merci, on va tester
question immédiate. Exite t’il un moyen pour différencier la condition âge selon le mot clef employé ?
peut-on doubler cette boucle en gardant la première tel quel puis en écrivant une atre où type_mot=lemotexact ?
Répondre à ce message
# Le 30 août 2010 à 12:52, par test
En réponse à : Spip2Spip
Bonjour,
Si les champs de la base de données sont préfixés autrement que par spip_, la table articles n’est pas mise à jour avec les champs s2s_url et s2s_url_trad.
Cordialement,
Répondre à ce message