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

  • 1

    Importe les documents ?

    J’ai dû rater quelque chose...
    -  Les logos sont bien importés dans le site destination
    -  Mais les docs, non. Il importe le lien du doc avec le site d’origine.

    Que faut-il faire pour que les docs intègrent le dossier IMG du site destinataire ?

    Merci.

    Robert

    • Bonjour

      Via la médiateque, les mettre en local et non en distant. Je sais pas si il y a d’autre solution.

    Répondre à ce message

  • Bonjour,

    Excellent plugin !
    Il faut toutefois faire attention car il n’y a pas de gestion des caractères spéciaux (type < >) ce qui conduit parfois à des imports tronqués.

    Par ailleurs, le must serait des pouvoir faire des imports multiples ou d’une rubrique complète ;-)

    Répondre à ce message

  • Bjr

    Super pluging
    Y aurait il une solution pour supprimer l’espace présent à chaque fin de ligne ?
    ça plante l’import des tableaux
    Merci

    Répondre à ce message

  • Bravo, et merci, c’est génial, simple et rapide !

    Répondre à ce message

  • 1

    Bonjour,
    Bravo pour ce plugin très utile !
    Ca a l’air de bien fonctionner (entre deux sites sous spip 3.0.5).
    Seulement, quand on navigue dans l’arborescence d’un site pour importer des articles, certains articles ont « null » à la place du titre.
    Quand on clique, ça marche, mais c’est embêtant de ne pas avoir le titre pour identifier les articles.

    J’ai l’impression qu’il s’agit des articles où il y a des accents dans le titre ?
    je vois que le site source est en iso-8859-1, alors que le site où je veux importer des articles est en utf-8. Peut-être que mon problème vient de là ?

    Merci d’avance

    • [ Résolu ]
      J’ai pu passer le site source en utf-8, et là plus de problème.
      Reste plus qu’à utiliser le plugin !

    Répondre à ce message

  • J’ai installé ce plugin qu me semble très intéressant. Mais j’ai un problème avec les tags « code » et « cadre » de SPIP qui ne sont pas transmis correctement.

    J’ai vu que certains tags étaient volontairement omis pour éviter des problèmes de sécurité. Ces deux là font-ils partie des exclus ?

    Répondre à ce message

  • 1

    bonjour,

    j’ai rencontré une erreur gênante : si les titres « émetteurs » contiennent de faux guillemets (double quote), on ne peut pas ouvrir la rubrique que l’on souhaite parcourir pour importer des articles :

    Erreur : missing } after property list
    Fichier Source : /ecrire/?exec=partageur_add&id_rubrique=9
    Code Source :
        {"id":"185","titre":"La "danse des mots" (RFI) consacre une émission..."},  

    En corrigeant les titres « émetteurs » avec de vrais guillemets, tout est rentré dans l’ordre mais pour ceux qui n’ont pas accès au site émetteur ?

    Aussi, quelques remarques :

    • ce plugin crée les auteurs « émetteurs » dans le site « récepteur »,
    • la date de l’article importé ne correspond pas à celle de l’article émetteur mais à celle du moment de l’import (si on récupère l’auteur, pourquoi pas la date ?),
    • dans la liste des articles à importer, les titres longs ( + d’une ligne) se chevauchent (cf. image),
    • on est obligé d’importer un seul article à la fois ? (j’en ai plus d’une trentaine à traiter ...c’est fastidieux. Des checkboxes avec un bouton « Importer » serait vachement bien !)

    Sinon, plugin très utile
    merci :)

    • bonjour,
      j’ai corrigé l’erreur bloquante des guillemets. merci pour le report de bug.

      j’ai bien noté vos autres demandes d’améliorations. le code est sur la zone et ouvert à toutes améliorations !

    Répondre à ce message

  • 2

    Bonjour,

    L’import se fait bien et complètement, y compris le logo, ce qui est impressionant. Je n’ai réussi à le configurer que dans un sens toutefois : la clé n’est pas reconnue (alors que j’ai utilisé la même). J’ai eu par ailleurs un soucis aussi sur l’adresse du site (avec ou sans les www ne donnait pas le même résultat).

    Je vais le proposer au rédacteur en chef du site : il arrive souvent de reprendre des textes dans notre propre Galaxie de sites.

    Merci.

    Valéry

    • Je l’ai installé sur un autre site encore : pas de problème, mais dans l’autre sens : la liste des sites partageur en backoffice sur partageur_add ne s’actualise pas (même quand je supprime un site pour en ajouter un autre).

    • même problème que valéry dans partageur add

      je ne vois aucun article

    Répondre à ce message

  • 3

    Excellent plugin déjà bien fonctionnel !
    Je n’ai cependant pas réussi l’import des mots-clés associés à l’article. Ceux-ci doivent ils déjà exister sur le site cible ou bien sont-ils créés ?
    Lors de l’import d’un article, les balises de mise en page du CS telles que <onglets> sont supprimées, tandis qu’un espace est inséré à chaque saut de ligne. L’article doit donc être réédité sur le site cible pour retrouver sa mise en forme...
    Merci,

    • bonjour, merci pour vos retours

      mots-clés

      c’est fonctionnel, il faut juste s’assurer que les sites soient bien configurés (aller dans le menu config)

      • sur le site emettteur : il faut cocher « exporter les mots-clés des articles »
      • sur le site récepteur : il faut cocher "importer les mots-clés des articles (et avoir les mots-clés activés sur le site). Ensuite vous avez une option qui permet de recréer les mots-clés importés comme sur le site émetteur ou alors de le créer dans un groupe de mots-clés que vous précisez

      tags couteau suisse

      le flux importe tous les syntaxes spip standards <img>, <doc>,  .... Les autres tags sont pour l’instant supprimés pour un question de sécurité (injection de code distant, XSS, ...). Ce qui explique de <onglets> du couteau suisse saute

      mise en forme

      C’est étrange, normalement les espaces blancs et retours chariots sont bien conservés pour respecter la mise en ligne originelle. Je viens de le re-tester.
      Pouvez vous vérifier en re-testant avec la dernière version du plugin (sur le site émetteur et récepteur) ?

      Merci de ces retours constructifs.

    • Mots-clés : Il faudrait sans doute préciser : « Récréer (ou utiliser s’ils existent) les groupes des mots-clés d’origine »

      Tags : Dommage que les tags du CS ou même de simples modèles spip ne puissent être également recopiés.

      Mise en forme : Il semble qu’un espace soit inséré systématiquement en fin de ligne/paragraphe à la recopie. Cela pose donc un problème pour les mises en page qui exigent un « vrai » saut de ligne !

      Testé avec la version précédant celle du 28/02

      Merci !

    • Ah, et les champs extra d’un article, peuvent-ils être facilement recopiés dans le partageur ?

    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