Partageur

Permet de recopier facilement des articles d’un site SPIP partageur à l’autre.

Présentation

Ce plugin est né d’un besoin de partager des articles entre sites SPIP.

Contrairement aux plugins Spip2Spip
, Flux RSS en articles
le principe d’import n’est pas basé sur la syndication automatique mais sur une sélection manuelle. Une fois installé, le plugin permet de « piocher » dans les articles des bases documentaires que l’on a préalablement inscrites.

Installation

Télécharger et installer comme un plugin habituel
Ce plugin nécessite l’utilisation du plugin CFG

Une fois activé, le site devient partageur.
Tous les sites qui utilisent « partageur » peuvent recopier vos articles publiés.

Techniquement, l’installation du plugin provoque :

  • La création d’une table spip_partageurs stockant les sites partageurs
  • L’ajout de deux champs supplémentaires sur la table spip_articles qui peuvent être exploités éventuellement dans un squelette, dans une boucle ARTICLES (ces champs sont communs avec le plugin Spip2Spip)
    • #S2S_URL l’adresse de l’article d’origine
    • #S2S_URL_TRAD l’adresse de la traduction de l’article d’origine
  • L’activation d’un flux au format Spip2Spip sur tous les articles publiés. L’adresse de ce flux est http://tld.org/spip.php?page=backend-partageur&id_article=XXX

Configuration

Dans le panneau de configuration vous pouvez définir les options d’export / import

  • Clé d’authentification (voir détails au chapitre suivant)
  • Faut il exporter les mots-clés de votre article ? si oui de quels groupes ?
  • Statut des articles importés : « Proposé » ou « Publié »
  • Mots-clés :
    • Faut-il importer les mots-clés d’articles ?
    • Faut-il importer les mots-clés d’événements ?
    • Si oui, où et comment faut-il importer ces mot-clés ?

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('_PARTAGEUR_RECUPERER_CONTENU', false);
define('_PARTAGEUR_RECUPERER_DOC', false);

Clé d’authentification

Par défaut, une fois que vous activez le plugin partageur, tous les sites peuvent potentiellement récuperer tous vos articles publiés.

Ceci peut s’avérer génant et un peu intrusif. C’est pourquoi nous avons introduit un système de clé d’authentification, par exemple si vous ne souhaitez diffuser vos articles à un groupe restreint de sites d’amis.

Dans ce cas, il faut définir dans le panneau de configuration une clé (au choix). Ensuite il suffit de donner cette clé aux sites qui veulent récupérer vos articles.

Exemple d’utilisation

Ce plugin n’est accessible qu’aux administrateur du site

Étape 1 : Inscrire vos sites partageurs
Dans le menu édition de votre site, aller sur le « Partageur »

Dans cette section, vous pouvez ajouter et supprimer les sites partageurs

La clé d’authenfication n’est nécessaire que sur les sites sur lesquels une clé est activée.

Attention : Pour inscrire un site partageur, il faut que ce site ait aussi installé le plugin partageur. C’est à dire que son flux partageur http://tld.org/spip.php?page=backend-partageur&id_article=XXX soit accessible.

Étape 2 : Aller sur la rubrique dans laquelle vous voulez ajouter des articles
En bas à droite de votre rubrique se trouve le bouton d’import

Étape 3 : Choisir l’article du site distant que vous voulez importer
Il est possible de sélectionner l’article en naviguant dans l’arborescence du site ou alors en utilisant le moteur de recherche

Étape 4 : Importer votre article

  • Par défaut, votre article importé a le statut « Proposé à la publication »
  • Le plugin recopie le texte (au format SPIP), les auteurs, les documents, logos et événements (si vous avez le plugin agenda), les liens de traductions.
  • Si l’article est déjà présent sur votre site, le plugin n’importe pas l’article et vous prévient.

Avertissement

Attention de ne pas abuser de la recopie d’articles sous peine de se voir bannir des moteurs de recherche pour Duplicate content.

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})]

Notes

[1Notez bien que cette source est conservée même à travers des importations en cascade ; par exemple un site A qui importe depuis B qui lui-même importe depuis C : le site A a bien l’information que tel article vient du site C. Cas d’usage : centraliser des articles d’une galaxie de sites pour qu’ensuite des membres de cette galaxie récupèrent certains des articles sélectionnés

Discussion

39 discussions

  • Bonjour,

    Comment importer les événements ?

    Le plugin recopie le texte (au format SPIP), les auteurs, les documents, logos et événements (si vous avez le plugin agenda), les liens de traductions.

    Les événements ni les documents sont importés, seulement l’article ?

    Répondre à ce message

  • 1

    Bonjour,
    J’ai deux sites hébergés sur les pages perso free.
    Je voulais récupérer des articles d’un site sur l’autre avec le plugin partageur installé sur les deux sites :
    Chargement du plugin : ok
    paramétrage : ok ’sauf erreur de ma part

    j’ai bien validé dans configuration/contenu du site « sites partageurs »
    J’ai le message suivant dans l’ajout d’un site partageur
    voir pièce jointe.

    Si quelqu’un à la réponse à mon problème, je suis preneur
    Merci d’avance,
    André

    • Free bloque la possibilité d’interroger un site web distant.
      Ce qui prive SPIP de :

      • installation et mise à jour des plugins
      • aide en ligne
      • documents distant
      • oEmbed
      • partageur
      • linkcheck
      • ...

      C’est gratuit, mais c’est limité…

    Répondre à ce message

  • 3

    Bonjour,
    Question de débutant : j’ai besoin de récupérer une partie des articles d’un ancien site pour les réinjecter dans une nouvelle version du même site. Est-ce que je peux utiliser partageur, sachant qu’une fois l’importation effectuée, je désactiverai le plugin et supprimerai le site « source ».
    Est-ce que mes articles importés seront toujours là ?
    Je vous remercie des réponses que vous pourrez m’apporter.

    • Bonjour,

      Oui, partageur fait une copie complète dans le site de destination.
      L’ancien site peut donc disparaître.

    • Génial ! Merci beaucoup de votre réponse hyper rapide !

    • J’ai le meme objectif de copier un ancien site puis le supprimer, Mais dans mes tests en local je remarque que le fichier pdf attache de l’article est importe en tant que ’fichier distant’ et je dois cliquer sur modifier puis copier dans le site pour l’avoir dans mon dossier IMG. Est-ce normal ?

    Répondre à ce message

  • 3

    merci pour le plugin messieurs, celui ci va me faire gagner pas mal de temps en mutu pour dispatcher rmes publications :-)

    En revanche il y a un glitch : dès qu’on sélectionne une clée d’authentification vraiment efficace (comprendre par là, avec tout ce qui fait une clée efficace : MAJ min symboles à coucher dehors, etc ...) le plugin choucroute et ne permet pas de retrouver dans le privé les flux des sites partageurs

    Pour info j’ai généré ma clée avec ça (la config est contractuelle - cf captures)

    Répondre à ce message

  • Bonjour,

    Sur un de mes sites, les pages /ecrire/ ?exec=partageur&id_partageur=XXX ont ce message d’erreur :

    - message
    Erreur SQL HY000 / 1
    no such column: partageurs.date
    -  squelette
    SELECT id_partageur FROM spip_partageurs AS 'partageurs' WHERE (partageurs.statut = 'publie') AND partageurs.date<'2018-07-19 11:31:00' AND partageurs.id_partageur=3
    - boucle	
    	/var/www/htdocs/monnomdomaine/public/ecrire/public/composer.php	calculer_select(){ sql_select(); }	
    - Ligne
    1005
    

    Et quand je veux apporter un article d’un site partagé, sur une rubrique comme : ecrire/ ?exec=partageur_add&id_rubrique=3 , j’ai « Aucun site partageur disponible », alors que j’ai bien déclaré le partage des deux côtés.

    j’ai spip 2.0 et partageur 1.1.1
    Sur l’autre site (même spip et même plugin), ici le site source, je n’ai pas ce message d’erreur, mais quand je clique sur un site partagé, ça m’envoie sur le site au lieu d’avoir la liste des articles.

    J’ai désactivé/résinstallé Partageur des deux côtés, mais ça n’a rien changé.
    Peut-être faut-il tenter désinstaller/réinstaller ?

    merci pour les pistes éventuelles

    Répondre à ce message

  • 2

    Bonjour, et merci pour ce super plugin. Quand le plugin sera-t-il portable pour la version 3.2 de SPIP ?

    • Le plugin est peut être déjà compatible... Il faudrait tester en modifiant manuellement ses bornes à SPIP 3.2 et en vérifiant s’il fonctionne ou non.
      Merci de vos retours

    • Je viens de passer le plugin à SPIP 3.2.
      Le zip devrait être disponible d’ici quelques heures.

    Répondre à ce message

  • Bonjour,
    Pourrait-on préciser sur cet article l’adresse de flux utilisée pour obtenir la liste d’articles disponibles ?
    Pas celle d’un article particulier http://tld.org/spip.php?page=backend-partageur&id_article=XXX, mais l’arbo (?) de tous les articles.
    Merci

    Répondre à ce message

  • Stéphane Santon

    Bonjour,
    Extra ce plugin ! Bravo !

    Un petit bug :
    Dans un article j’ai [<emb20>->doc20] ,
    sur l’import ça devient [->doc20]

    Répondre à ce message

  • 8

    Bonjour,
    Merci beaucoup pour ce plugin très utile. J’ai constaté un petit bug et je me demandais si c’était possible d’avoir une correction. En transférant un article d’une rubrique en particulier j’ai constaté que le secteur de l’article n’est pas transféré sur la cible.
    Par avance merci,
    Brice

    • Matthieu (plugin champs extra 3) a mis le doigt sur le problème.
      Il semble que la fonction partageur_get_id_secteur($id_rubrique) utilise id_parent à la place de id_secteur.
      Je ne suis pas assez calé en dev pour faire la correction moi-même.
      L’autre axe de solution proposée serait d’appeler la fonction « calculer_rubriques() » de SPIP pour recalculer les identifiants de secteurs sur les rubriques.
      J’en profite pour te demander si il serait possible de prendre en compte aussi les champs extra de l’article si ils sont présents.
      Mais peut-être est-ce une trop grande modification par rapport à l’architecture actuel du plugin ? Et dans ce cas ce pourrait être une fonctionnalité à programmer dans une version future si c’est possible.
      En tout cas merci encore pour les services rendus par ce plugin.

    • Oui c’est une erreur de ma part.
      Merci pour le signalement et la solution de Mathieu

      C’est corrigé avec la nouvelle version du plugin 1.0.6
      Merci de me dire si cela corrige le problème.

    • Erational,
      Je viens de faire le test en récupérant la dernière version et j’ai un écran blanc après mise à jour du plugin (plugin seul sans rien d’autre et cache vidé)
      spip 3.1.3 ; php 5.6.29 ; mysql 5.5.54

    • Bonjour,

      Je confirme le problème de page blanche après mise à jour en 1.0.6 sur SPIP 3.1.3...

      J’ai désactivé le plugin en renommant le dossier et j’ai de nouveau accès au backend et au site.

      Cordialement

    • En effet, il y a un bug qu’il avait été introduit.
      C’est corrigé avec la version 1.0.7 qui devrait sortir sous peu.

      Désolé pour le dérangement.

    • Merci du retour plus que rapide ;-)

    • En effet merci beaucoup pour la rapidité et la correction.
      J’ai vérifié et le souci évoqué au début est réglé. Le secteur qui est affecté est celui de l’article dans la rubrique où il est créé.

      Est ce que tu penses pouvoir me donner un avis sur l’intégration des champs extra durant le transfert ?
      Je sais qu’il faut prendre en compte le fait que le plugin peut ne pas être présent sur la cible et avoir la possibilité (en paramètre) d’autoriser ou non l’ajout de ces champs.
      Merci d’avance

    • Merci pour le retour sur la correction du bug.

      Pour les champs extras,
      Cela doit être faisable mais il faut trouver une solution générique pour bien exporter tous les champs extras en plus. Ensuite, au niveau de l’import, il faut trouver la solution pour trouver les correspondances (ou nonà

      Je n’ai pas le temps de m’y consacrer maintenant mais n’hésitez à lancer le développement si vous avez les compétences pour.

    Répondre à ce message

  • 2

    Bonjour,

    Bravo et merci pour cet excellent plugin qui fonctionne parfaitement, à l’exception de deux anomalies que j’ai relevées :

    • Les images qui ne sont pas dans le portfolio dans le site distant sont déposées dans le portfolio dans le site d’accueil.
    • Tous ce qui est placé entre les balises <code> et </code> (y inclues les balises) dans le site distant disparait dans le site d’accueil.

    Meilleurs messages

    FDG

    • PS : je suis en SPIP 3.1.1 [22913]

      FDG

    • Bonjour,

      j’ai pour ma part un problème avec les logos des articles qui ne sont pas importés et les codes HTML présents au sein des articles pour, par exemple, embarquer une vidéo Dailymotion.

      Par exemple :

      <div>
      <iframe src="//www.dailymotion.com/embed/video/...." allowfullscreen></iframe>
      </div>

      Sinon, super plugin extrêmement pratique.

    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 :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

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.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom