SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano

273 Plugins, 191 contribs sur SPIP-Zone, 31 visiteurs en ce moment

Accueil du site > Administration et BDD > Import-Export > Archives Import-Export > SIEPS, script d’import/export d’articles SPIP

SIEPS, script d’import/export d’articles SPIP

7 avril 2004 – par florent – 42 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

1 vote

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

SIEPS (Script d’Import/Export pour SPIP) est un script PHP permettant de faire de l’import/export d’articles SPIP. Les objets attachés aux articles sont aussi transférés : auteurs, documents, mots-clés, logos, rubriques.

Fonctionnement général

L’objet de base manipulé par SIEPS est l’article SPIP : l’utilisateur sélectionne des articles SPIP, qui sont empaquetés dans un fichier XML stocké au niveau du site d’orgine. Ce paquet peut ensuite être récupéré au niveau du site cible ; l’utilisateur peut l’ouvrir, et choisir le ou les articles qu’il veut importer.

Il faut installer SIEPS sur chacun des sites SPIP visés :

-  les sites depuis lesquels on veut exporter les articles (sites origine ou d’export).
-  les sites vers lesquels on veut importer les articles (sites cibles ou d’import).

Règles d’import

L’import teste l’existence des articles sélectionnés sur le site cible. Lorsque un article existe déjà, celui-ci est soit écrasé avec les nouvelles valeurs, soit créé en tant que nouvel article, suivant un critère fixé au préalable par l’utilisateur.

Lors de l’import d’un article, toutes les rubriques desquelles dépend celui-ci sont aussi importées. Si ces rubriques n’existaient pas, elles sont créées. En aucun cas, l’article ne sera importé dans un rubrique autre que celle dans laquelle il se trouvait au départ (l’article est « fortement » lié aux rubriques dans lesquelles il se trouve).

Fonctionnement interne

Le numéro de chaque objet est recalculé lors de l’opération d’import. C’est à dire, le numéro d’un article sur le site cible (ou tout autre objet attaché à l’article) peut être différent de son numéro sur le site d’origine. Le site cible peut donc avoir une structure différente du site origine.

SIEPS gère les correspondances entre les numéros ; lorsque l’objet existe déjà sur le site cible, le nouveau numéro est calculé et remis à jour. Pour tester la présence des différents objets sur le site cible, une règle particulière est appliquée suivant le type de l’objet.

Type d’objetTest de présence
article titre de l’article et présence des rubriques mères
rubrique titre de la rubrique et rubrique mère
mot titre
groupe mots titre
auteur nom
document document de même nom, de taille identique, et attaché au même article

Le format d’échange utilisé pour transférer les articles est un XML basique. Les objets binaires (images, documents) sont codés en base 64 directement dans le XML.

Impression d’écrans

L’export des articles : L’import des articles :

P.-S.

Page d’accueil de SIEPS / Téléchargement Cliquer Ici.

Retour en haut de la page

Vos commentaires

  • Le 29 avril 2008 à 13:49, par Muxort En réponse à : SIEPS, script d’import/export d’articles SPIP

    Bonjour,

    Connaissez vous une mise à jour de cet excellent script pour la 1.9.2 ?

    Cordialement

    Répondre à ce message

  • Le 10 octobre 2006 à 09:42, par orcieres En réponse à : Essai

    Bonjour,
    j’ai installé sieps et voici le message d’erreur quand je pointe sur mon-url/sieps/

    Fatal error : Cannot redeclare get_extraabo() (previously declared in /web/www/html/html1/ecrire/options_spip_listes.php3:14) in /web/www/html/html1/ecrire/options_spip_listes.php3 on line 14

    comment faire pour éviter ce conflit avec un autre script ?

    autre question : en 1.9.1 est-ce que sieps fonctionne ?

    • Le 25 octobre 2006 à 21:24, par spipfactory En réponse à : Essai

      voila pour 1.9.1 ; merdum moi qui profiter de la 1.9 pour vouloir fusionner les differnets sites de l’asso

      Warning : include(ecrire/inc_version.php3) [function.include] : failed to open stream : No such file or directory in /var/www/sieps/scripts/spip.php on line 29

      Warning : include() [function.include] : Failed opening ’ecrire/inc_version.php3’ for inclusion (include_path=’. :/usr/share/php :/usr/share/pear’) in /var/www/sieps/scripts/spip.php on line 29

      Warning : include(ecrire/inc_lang.php3) [function.include] : failed to open stream : No such file or directory in /var/www/sieps/scripts/spip.php on line 30

      Warning : include() [function.include] : Failed opening ’ecrire/inc_lang.php3’ for inclusion (include_path=’. :/usr/share/php :/usr/share/pear’) in /var/www/sieps/scripts/spip.php on line 30

      Warning : include(ecrire/inc_filtres.php3) [function.include] : failed to open stream : No such file or directory in /var/www/sieps/scripts/spip.php on line 31

      Warning : include() [function.include] : Failed opening ’ecrire/inc_filtres.php3’ for inclusion (include_path=’. :/usr/share/php :/usr/share/pear’) in /var/www/sieps/scripts/spip.php on line 31

      Warning : include(ecrire/inc_charsets.php3) [function.include] : failed to open stream : No such file or directory in /var/www/sieps/scripts/spip.php on line 32

      Warning : include() [function.include] : Failed opening ’ecrire/inc_charsets.php3’ for inclusion (include_path=’. :/usr/share/php :/usr/share/pear’) in /var/www/sieps/scripts/spip.php on line 32

    Répondre à ce message

  • Le 25 avril 2006 à 00:32, par Laurent Simon En réponse à : SIEPS, script d’import/export d’articles SPIP

    Ayant rencontré des difficultés ("Erreur : fichier non valide : controle negatif (lisez la remarque sur le champ ’secret’ dans la documentation)") avec la version 07 de Sieps et la v 1.8.3 de Spip (comme d’autres), je me suis rabattu sur la v 06.

    Tout semble marcher, mais il faut sur la 1.8.3, inverser l’ordre des « include » (voir réponse de Florent ci-dessous).
    NB. Le code modifié fonctionne alors aussi sur la 1.8.2 apparemment.

    Trois remarques, à l’usage :
    1. N’oubliez pas, si votre site cible est vierge, de créer un premier article.

    2. Attention si vous décrivez plusieurs sites (d’export par ex) dans le script sites.php, car selon l’ordre d’inscription dans ce fichier, le site sur lequel Sieps écrit le fichier est différent.

    3. Si vous rencontrez un message d’erreur au moment de l’export (probablement lié à une surcharge du serveur), cliquez sur la flèche orange permettant de revenir en arrière et recommencez. Il y a de bonnes chances pour que cela marche à la 2e tentative. Sinon essayez à un moment où le serveur est moins chargé.

    Souhaitant que ces infos aident,
    Bonne chance,

    laurent

    Répondre à ce message

  • Le 9 avril 2006 à 06:43, par pascala En réponse à : SIEPS, script d’import/export d’articles SPIP

    Fantastique, tout juste ce qu’il me faudrait, mais ...
    Je viens d’installer sieps sur mon site spip 1.8.3, j’arrive à choisir les articles, mais le bouton Exporter me donne l’erreur : Fatal error : Call to a member function on a non-object in /.../sieps/scripts/impexp.php on line 806. Malheureusement je ne comprends par trop de php et je n’ai rien trouvé sur google qui pourrait m’aider.

    Pascal

    • Le 9 avril 2006 à 21:30, par florent En réponse à : SIEPS, script d’import/export d’articles SPIP

      quelle version de SIEPS utilisez-vous ?
      et quelle version de PHP ?

      merci

    • Le 10 avril 2006 à 21:51, par pascala En réponse à : SIEPS, script d’import/export d’articles SPIP

      J’ai eu le même problème avec la dernière version officielle comme avec la version CVS.
      Mon système : FreeBSD 5.4, PHP 4.4.0, Joomla 1.0.8.

      Pascal

    • Le 15 avril 2006 à 02:20, par pascala En réponse à : SIEPS, script d’import/export d’articles SPIP

      Bonjour,
      j’ai essayé de commenter la ligne en question :
      « $g_deb->log(0, __FILE__. » ".__LINE__) ;"
      puis j’ai dû commenter tous les lignes « $g_deb->log... » pour finalement arriver à un problème de permissions : « Erreur : probleme lors de l’export : ouverture ./sieps/scripts//exportsieps.06.04.14.21.17.15 en ecriture impossible. »
      Le problème est maintenant que ça m’arrive même avec les permissions 777 pour tout le folder sieps !
      Vous avez une idée ? Merci pour votre aide.

      Pascal

    • Le 17 avril 2006 à 16:50, par Laurent Simon En réponse à : SIEPS, script d’import/export d’articles SPIP

      Bonjour,

      Apparemment le problème vient de la non compatibilité de la v07 (actuelle) de Sieps avec la v1.8.3 de Spip.

      Avec la v1.8.2d je n’ai pas ce message
      « Fatal error : Call to a member function on a non-object monsite/sieps/scripts/impexp.php on line 806 »

      et j’ai pu exporter les articles.
      (à toutes fins utiles, je suis sur Free)

    • Le 17 avril 2006 à 19:24, par Laurent Simon En réponse à : SIEPS, script d’import/export d’articles SPIP

      je viens de vérifier sur la version précédente (Sieps 06, utilisée avec la 1.8.3.), mais un message très proche :
      « Fatal error : Call to a member function on a non-object in monsite/sieps/scripts/export.php on line 203 »

      apparait, donc je suis coincé, pour les sites déjà passés en 1.8.3

      NB. il ne s’agit simplement pas du même fichier, mais c’est bien le même pb :
      la ligne 203 : $g_deb->log(0, « exportart= ».$exportart) ;

      souhaitant que cela aide, j’avoue que je ne me sens pas trop compétent sur ce coup là,

      Laurent

    • Le 18 avril 2006 à 09:13, par florent En réponse à : SIEPS, script d’import/export d’articles SPIP

      bonjour,

      effectivement, sieps ne fonctionnait pas correctement avec spip 1.8.3 : il faut inverser les includes sur spip.php et commun.php dans les fichiers : index.php, import.php et export.php

      include(SCRIPT_PATH."/commun.php");
      include(SCRIPT_PATH."/spip.php");

      devient

      include(SCRIPT_PATH."/spip.php");
      include(SCRIPT_PATH."/commun.php");

      j’ai fait la modif sur la version CVS, donc elle sera prise en compte dans les versions futures de sieps.

    Répondre à ce message

  • Le 9 janvier 2006 à 09:43, par cpmac En réponse à : SIEPS, script d’import/export d’articles SPIP

    Bonjour
    Je viens d’installer sieps en local. Easyphp 1.7 spip 1.8.2e
    En le lancant j’ai un message comme le suivant pour chaque appel de fonction.

    Warning : Call-time pass-by-reference has been deprecated - argument passed by value ; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in f :\program files\easyphp\www\spip\sieps\import.php on line 135

    J’ai mis call-time-pass-by-reference sur on mais ca ne change rien.

    Mais le script est sensé de continuer.
    En important le fichier dump.xml d’une autre base le script s’arrette - - ’fichier non compatible’

    cpmac

    • Le 25 janvier 2006 à 15:54, par florent En réponse à : SIEPS, script d’import/export d’articles SPIP

      bonjour,

      pour le pb. du call-by-reference, c’est certainement lié au fait que vous utilisez PHP5.. je n’ai pas testé sous PHP5 et les passages de valeurs par références émettent un warning dans cette version.

      pour l’autre problème, je viens de faire le test en installant directement le tout depuis la version téléchargeable et ça fonctionne. C’est peut être lié au fait que vous avez initialisé le champs « $secret » avec une valeur différente entre le site d’import et le site d’export : cette variable doit avoir *exactement* la même valeur sur les deux sites ; elle sert à vérifier que les fichiers qui sont importés ont bien été générés par vous.

    • Le 3 avril 2006 à 17:23, par florent En réponse à : SIEPS, script d’import/export d’articles SPIP

      la version du CVS devrait corriger le problème du call-by-reference

    Répondre à ce message

  • Le 19 mars 2006 à 00:22, par Jislenn En réponse à : SIEPS, script d’import/export d’articles SPIP

    Je viens d’installer Sieps pour deux sites SPIP 1.8.2 chez Free. J’ai modifié le fichier sieps/scripts/commun comme indiqué :
    -  J’ai changé la valeur du champ $secret(idem sur les deux sites),
    -  /*set_time_limit(10000) ;*/.

    L’exportation fonctionne, mais au moment de l’importation j’obtiens toujours le message suivant : « Erreur : fichier non valide : controle negatif (lisez la remarque sur le champ ’secret’ dans la documentation) »

    Répondre à ce message

  • Le 18 décembre 2005 à 13:47, par florent En réponse à : SIEPS, script d’import/export d’articles SPIP

    Bonjour,

    Je viens de mettre en ligne une nouvelle version de SIEPS (0-7). Cette version simplifie radicalement l’installation du script car les fichiers d’import/export ne sont plus échangés directement de site à site, mais doivent être downloadés/uploadés en utilisant le navigateur de l’utilisateur.

    Il n’y a donc plus tous les problèmes d’installation qui rendaient l’installation compliquée chez les hébergeurs tournant en safe-mode.

    Par contre, il faut toujours commenter la ligne set_time_limit dans commun.php chez les hébergeurs qui désactivent cette fonction.

    Répondre à ce message

  • Le 15 décembre 2005 à 14:09, par Bionet En réponse à : SIEPS, script d’import/export d’articles SPIP

    Tout bonnement sublime.

    J’ai quand même du bidouiller deux petits trucs vu ci-avant dans le forum. En fait je n’avais aucune restriction citées dans la doc d’installation de sieps et pourtant il a fallu que :

    -  mettre la ligne set_time_limit(10000) ; en commentaire : /* set_time_limit(10000) ; */ dans le fichier /sieps/scripts/commun.php
    -  corriger les fichiers scripts/impexp.php et scripts/import.php pour renommer la fonction lire_fichier en lire_fichier_sieps ainsi que tout ses appels (trois lignes à corriger au total sur ces deux fichiers).

    J’ai un site sous Free et un autre sur Apinc.

    Répondre à ce message

  • Le 27 septembre 2005 à 10:39, par Jerome De Greef En réponse à : SIEPS, script d’import/export d’articles SPIP

    Incroyable outil :)

    Je voudrais juste ajouter que la fonction lire_fichier doit être renommée (la vesion CVS utilise lire_fichier_sieps) ainsi que tout ses appels dans scripts/impexp.php et scripts/import.php. C’est peut-être évident pour certains mais n’est pas tout à fait clair dans la doc.
    Le message d’erreur « fichier d’import invalide » est affiché si cette modification n’a pas été faite.

    Répondre à ce message

  • Le 2 août 2005 à 17:54, par Sam13 En réponse à : > SIEPS, script d’import/export d’articles SPIP

    Hello

    Cet outil peut il permettre d’exporter des articles d’une version SPIP à une autre (de la 1.6 à la 1.8 directement, par exemple) ?

    Merci pour l’inculte en PHP que je suis...

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Zpip-dist en HTML5

    15 juin 2010 – 10 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Une surcharge des squelettes Zpip-dist qui tire parti des nouvelles balises offertes par la spécification HTML5. Attention, ce plugin n’est plus compatible avec les nouvelles versions de Zpip, qui a connu plusieurs incompatibilités de nomenclature (...)

  • Une licence pour un article

    18 avril 2007 – 25 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Sur une idée originale de erational, voici un plugin permettant de lier une licence à un article.

  • Plugin Parrainage

    6 novembre 2011 – <blink style='color:red;'>public|spip|ecrire:commentaire</blink>

    Permettre aux utilisateurs d’inviter leurs contacts à s’inscrire sur le site. Description Vous connaissez le web moderne et son cortège d’applis toujours en version « beta » et de buzz sur le dernier réseau à la mode ? Vous voulez vous aussi vous y (...)

  • Formulaire de contact libre

    27 avril 2011 – 36 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Dans SPIP il n’y a pas un formulaire de contact, mais autant de formulaires de contact que d’auteurs. Cette phrase de Romy, dans son article Une page de contact dans mon SPIP, pointe un petit manque de SPIP. La possibilité d’insérer rapidement un (...)

  • Plugin Mot de Passe Compliqué

    2 novembre 2007 – 16 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin ajoute un testeur de complexité de mot de passes dans les formulaires de choix de mot de passe de SPIP.