Migre static - plugin de migration d’un site

d’un site anciennement statique à SPIP

Passer d’un ancien site (statique ou avec un autre gestionnaire exotique) à SPIP sans en perdre le contenu et en disposant de tous les outils de SPIP : une migration des pages en articles et hop un site tout neuf...

Ce plugin permet d’importer en masse des articles d’un ancien site statique (dont vous détenez les droits) dans votre nouveau site SPIP. Chaque page donnera un article. Vous pouvez choisir la rubrique et le mot-clé associé aux articles ainsi importés.

Avertissement

Une erreur s’était glissée dans un des liens de téléchargement et donnait accès à une très ancienne version de migre_static. Il vous est recommandé de mettre à jour votre plugin pour une utilisation optimale.

Télécharger le plugin

  • Ce plugin est disponible sur spip-zone ici :
    Dernière version du plugin migre_static sur spip-zone
  • vous y avez accès ici aussi

Fonctionnalités

Un petit inventaire non exhaustif des fonctionnalités de ce plugin :

  • import massif de pages web à partir d’une liste fournie par l’utilisateur,
  • possibilité de pré-visualisation des articles avant une migration réelle (import à « blanc »),
  • au moment de l’import :
    • nettoyage du code (tidy) HTML de la page d’origine,
    • extraction du titre du document,
    • extraction de la langue du document, si celle-ci n’est pas définie, utilisation de la langue par défaut de la rubrique,
    • extraction du corps de la page à importer au minimum la partie comprise entre les balises BODY,
    • conversion du jeu de caractères de la page vers celui utilisé par le site utilisant SPIP,
    • possibilité de réduire le bloc à importer à une zone définie du BODY,
    • conversion du HTML en balises typographiques de SPIP par le biais de filtres successifs,
    • possibilité d’ajouter des filtres, de modifier les filtres standards avant import des pages,
    • ajout éventuel de mot-clés pour tous les articles importés,
    • affichage du lien vers les articles créés lors d’un import réel,
  • action optionnelle pour Découper un texte en pages et/ou en onglets à l’aide du plugin Couteau Suisse, si ce plugin est installé ainsi que cette fonction. La balise de découpage ++++ est insérée en amont de chaque intertitre.
    • Transformation des liens internes d’origine vers les articles importés lorsque c’est possible.
    • réduction de l’affichage des parties affichées et traitées (seulement les 5 premières pages) lors d’un import à blanc

Historique

Inspiré de Faire migrer un site statique vers SPIP cet outil a été entièrement revu pour être intégré sous forme de plugin. Les fonctionnalités supplémentaires sont :

  • certains traitements ont été améliorés notamment l’encodage (UTF-8, ISO8869 etc.),
  • des possibilités de tests (import à blanc),
  • un niveau « expert »
  • intégration complète dans l’interface de SPIP, notamment du point de vue des rubriques et des mots clés.
  • Internationalisation : fourni en français et en anglais, et support d’autres langues (pour peu que quelqu’un fournisse les fichiers de langue !).

A la différence de Le bouton mémo, il permet de :

  • ne migrer que des pages d’un site que l’on possède. En effet, contrairement au bouton mémo, il est possible d’importer/copier un site complet sans problèmes. D’où la nécessité de brider cette copie, chose que ne permet pas le bouton mémo, même s’il reste dans du page par pages...
  • de migrer des dizaines, voire des centaines de pages d’un seul bloc, ou rubrique par rubrique.
  • de fonctionner comme un plugin et de respecter l’architecture de SPIP (action, exec) et de ne pas être un mélange de squelette, de formulaire et de fonctions... Bref, plus propre j’espère !

Utilisation étape par étape

Installation et activation du plugin

Comme tous les plugins de SPIP, vous installez « migre_static » dans le répertoire plugins situé à la racine de votre site SPIP comme indiqué ici sur spip.net. Puis vous vous rendez dans l’espace privé et activez le plugin. Une fois activé dans la navigation des rubriques une case supplémentaire (à droite) s’affichera : « Migration d’un site statique ».

Chargement du plugin

Liste des pages à migrer :

Pour migrer votre ancien site vous devrez auparavant faire la liste des pages que vous voulez importer (migrer). Vous pouvez utiliser par exemple celle que vous auriez dans un fichier sitemap. Idéalement cette liste ne doit contenir que des URLs de pages de votre site et rien d’autre (le reste est ignoré au mieux, plante la lecture de votre liste au pire), sous la forme suivante par exemple :

http://www.monsite.com/page1.html
http://www.monsite.com/rep/page2.php
http://www.monsite.com/rep/lapage?lesarguments

La liste peut aussi contenir des éléments sous la forme suivante :

<a href='http://www.monsite.com/rep/lapage?lesarguments'>Liens vers ma page</a>

ou comme (des URLs séparés par des espaces ou des tabulations :

http://www.monsite.com/rep2/ http://www.monsite.com/page3 

Sauvegardez cette liste sous la forme la_liste_des_pages.html  [1] (vous pouvez bien sur choisir un autre nom de fichier).

Une fois cette liste créée vous la déposez sur le site statique. Cette condition est rendue obligatoire pour s’assurer que vous avez bien le droit d’accès aux données du site en question.

Accéder aux paramètres de la migration :

Dans l’interface de publication, en tant qu’administrateur, vous allez dans une rubrique dans laquelle vous souhaitez importer les pages, par exemple une rubrique créée pour l’occasion : Import ou Archives. Vous cliquez sur « Migration d’un site statique->saisie des informations ».

Démarrage de la migration à partir d’une rubrique

Initialisation de la migration

Vous accédez alors à la page de Saisie des informations pour la Migration d’un site statique. Il vous faudra renseigner :

  • obligatoirement : L’adresse de la liste des pages à importer, par exemple : «  »" class="spip_url spip_out auto" rel="nofollow external">http://www.monsite.com/la_liste_des_pages.html».
  • de façon facultative : choisir un mot-clé (Article) qui sera mis sur chaque article ainsi créé (par exemple le mot-clé Archive). Le choix d’un mot-clé n’est pas obligatoire.
  • obligatoirement : choisir s’il s’agit d’un import à blanc (le résultat des pages importées est seulement affiché après traitement) ou si vous lancez la migration effective. Je vous recommande un test à blanc (avec quelques pages) avant de vous lancer en masse !!!

Puis vous pouvez déclencher la migration (ou le test à blanc) en appuyant sur le bouton « Valider ».

Saisie des informations de la migration

Réalisation de la migration :

Selon que vous avez choisi un import à blanc ou une migration réelle :

  • Pour chaque page (donc chaque article) sera affiché (s’il a pu être importé) : une fenêtre avec son affichage après traitement de SPIP (#TEXTE), une fenêtre avec sa source comme si vous éditiez un article.
Résultat de la migration de pages à blanc
  • En cas d’import réel , pour chaque page est affiché le titre de l’article et son numéro. En cas d’erreur, le message d’erreur est affiché pour chaque page concernée.
Résultat de la migration de pages

Paramètres avancés - niveau expert

Pour ceux qui voudraient améliorer le rendu de la migration certains paramètres peuvent être modifiés avant démarrage de la migration. Attention ce sont des expression régulières PCRE (utilisée par la fonction PHP preg_replace). Certaines sont préremplies : c’est le traitement standard prévu.

Lors de l’initialisation de la migration, en cliquant sur la flèche Filtres de conversion des balises HTML, vous pourrez :

  • avec la balise de début et de fin de bloc : sélectionner la partie du BODY qui vous intéresse (seule la partie située entre ces deux balises sera prise en compte dans l’article importé). Ceci peut être utile si on veut éviter de récupérer le haut de page ou d’anciens menus qui n’ont pas d’intérêt dans un article. Voir en fin de page pour plus d’explications.
  • Pour chaque balise vous pouvez modifier : son mode de sélection, sa conversion éventuelle (une conversion vide implique la suppression de la balise, un filtre de sélection vide implique qu’il n’y aura pas de traitement).
  • Vous pourrez ajouter vos propres filtres de pré-traitement et/ou de post-traitement.
Paramétrage pour les experts

Migration des liens

  • Les liens relatifs ou absolus sont mise à jour lors de la migration (si c’est possible).
  • Si vous effectuez une migration par blocs, une possibilité supplémentaire de mise à jour est proposée en cliquant (à la fin de l’étape 2) sur l’option de mise à jour des liens. Cette fois c’est l’intégralité des articles qui sera parcourue pour effectuer cette mise à jour et non pas seulement le bloc importé.

Utilisation de CFG

La configuration du plugin migre_static utilise le plugin CFG (qui doit donc être installé). C’est optionnel (au moment de la rédaction de cet article). Cela permet un accès plus simple au paramétrage de la migration et à certains aspects non accessibles par ailleurs.

Utilisation de CFG pour configurer le plugin

Fonctionnalités envisagées - TODO

  • la possibilité d’indiquer la rubrique d’import dans la liste sous la forme par blocs
  • de même la possibilité d’indiquer le mot clé dans la liste
  • la possibilité de forcer la langue
  • amélioration des filtres
  • présenter les filtres sous forme dynamique

Petite aide sur la création d’une Site Map ou le formatage des pages à importer

Parce qu’il s’agit d’un site statique, il peut-être compliqué de faire la liste de toutes ses pages (ou un simili sitemap). Voici une petite aide pour en faire une manuellement.

Lorsque toutes vos pages html sont prêtes dans un dossier, rendez-vous à l’adresse du dossier conteneur afin de voir s’afficher une liste (généré par le serveur) des fichiers du dossiers, vos pages à migrer, en l’occurrence.
Récupérez le code source de cette liste, et utilisez l’outil « remplacer par » en utilisant un bloc-note ou éditeur HTML.
Remplacez par rien du tout toutes les balises autres que les liens.

Votre liste est prête !

Pour définir le bloc à importer de chaque page

Vous pouvez utiliser le même système que ci-dessus pour ajouter un <!-- BEGIN --> et <!-- END -->, il suffit de remplacer, par exemple, un <div id="article">

par un <!-- BEGIN --><div id=article>

et un <!-- END --><div id=footer">

(la balise juste après le div de l’article) avant de lancer la migration. Dans ce cas vous pouvez renseigner les balises de début de bloc et de fin de bloc dans la partie « configuration avancée » avec l’exemple fourni dans cette page.

Notes

[1Pour générer une telle liste vous pourriez par exemple (en ligne de commande Unix) faire :

wget -X repertoire_cache -B http://www.monsite.com -r -l inf -np -nv http://www.monsite.com -O rien.txt 2>&1 | awk ’print $2’ | cut -b 5- > la_liste_des_pages.html


-  -X repertoire_cache permet d’exclure les chemins contenant ce mot-clé, cette option n’est pas obligatoire
-  si vous avez un lien peu rapide ou un serveur chargé, il faudra peut être ajouter une limite de débit et de timeout
-  le fichier « rien.txt » créé peut-être supprimé sans soucis

Il vous est possible de contribuer à ce plugin par le biais de SVN sur spip-zone. N’hésitez pas à me contacter avant de contribuer.

Discussion

13 discussions

  • 20

    J’ai corrigé le code dans migre static...

    mais je crois que je n’ai pas bien saisi le principe de la liste.
    Je tente de la générer avec dreamweaver. Le soucis, c’est que ma liste n’a pas l’air bonne.
    j’ai généré en mode code, en mettant juste un ou deux lieux pour tester.
    Ca n’ a rien donné

    idem si je mets les liens en mode création
    idem si je les mets en hyperlien..

    Comment je génère la liste ???

    (dans tous les cas, mes tests m’ont donné une page « List of imported webpages » vide....

    • Qu’il y ait un bug dans le plugin ou que la documentation ne soit pas suffisamment explicite pourriez vous donner l’url (l’adresse) de la liste des pages que vous avez indiqué à migre_static ?

      PS : Si vous ne voulez pas la rendre publique vous pouvez me l’envoyer par email.

    • bonjour svp je n’y arrive pas j’ai une erreur pourtant tout est bien reglé sa me met sa « Parse error : parse error in D :\www*******.com\htdocs\plugins\migre_static\action\migre_action.php on line 507 »

      merci de m’aider

    • Quelle version de migrestatic utilisez vous ?

      Pouvez vous me faire parvenir votre fichier spip.log (et suivants) ?

      Merci

    • Et j’oubliais le fichier tmp/meta_cache.txt :-)

    • la derniere version comment je vous fait parvenir sa ?

    • la derniere version comment je vous fait parvenir sa ? j’y comprends rien je debute je vous explique j’ai pris spip car j’ai un site html et je voudrais l’integrer pour en faire un site dynamique c ’est la 1 ere fois que j’utilise spip

    • la derniere version comment je vous fait parvenir sa ? j’y comprends rien je debute je vous explique j’ai pris spip car j’ai un site html et je voudrais l’integrer pour en faire un site dynamique c ’est la 1 ere fois que j’utilise spip

    • Pour la connaitre le numéro de version : se rendre dans la page d’administration des plugins (de votre site) bref une page dont l’adresse se termine par ?exec=admin_plugin. Vous cliquez sur le titre du plugin, ce qui affiche la description. Tout en bas à droite de la description est noté le numéro de version (sous la forme Version : 0.23 SVN [12314] — en développement C’est l’intégralité de cette ligne qui m’intéresse.

      Pour me faire parvenir ces fichiers :

      1. se rendre dans le répertoire tmp du site, compier les fichiers spip.log, spip.log.1...spip.log.9 ansi que le fichier meta_cache.txt.
      2. m’envoyer l’ensemble dans un email à mon adresse qui vous trouverez ici (en cliquant sur mon pseudo).

      Pour un débutant, il existe les forums d’aide de SPIP et les newsgroups de SPIP qui devraient pouvoir vous aider grandement dans votre démarche (en plus de la documentation).

    • deja j’ai celle ci 0.83 | en développement

    • je trouve pas votre mail je peux pas cliquer sur votre pseudo ..merci encore

    • pour l’erreur que j’évoquais moi, c’était celle sur T fonction. De souvenir il manquait ça : « // », et c’était indiqué quelques messages plus bas comment corriger (une ligne de code à changer, pas de soucis là dessus !)

      Je testais sur un version 1.9.2.c de spip, avec la dernière version dispo sur spip.zone.

      Le site de test est là : www.speculos.fr/index.php, vous voulez les codes pour tester ?

    • Version : 0.83 | en développement pour le plugin

    • Ca devient très compliqué de suivre deux fils mélangés...

      Je ne sais pas à quelle erreur vous faites référence, mais a priori elle était corrigée depuis longtemps dans le code. Donc si vous avez fait une autre modif, je suis preneur mais il me serait très utile de connaitre la version que vous utilisez.

      L’URL dont j’ai besoin pour comprendre votre problème n’est pas celle de votre site SPIP mais celle de la liste des pages qui semble ne pas fonctionner d’après vos messages.

       :-))

    • L’adresse email en question est visible dans cette page ainsi que dans la description du plugin qui s’affiche sur le plugin (dans la page d’administration de votre site). Il faut bien sûr remplacer le AT ou le CHEZ par un @ ;-)

    • A ce jour la version courante du plugin est 0.86 (ou 0.87) pour la dernière mise à jour.

      Je vous recommande vivement de mettre à jour le plugin avant toute utilisation.

    • Merci à tous les deux !

      J’ai enfin compris ce qui pose un gros problème. Le lien en tête de page donnait accès à une très ancienne version du plugin (une des toutes premières publiées en fait).

      Depuis de nombreuses corrections sont intervenues. Je vous recommande donc de mettre à jour le plugin :

      • désinstallation complète (en cliquant sur le petit paquet dans la liste des plugins) + suppression du répertoire
      • réinstallation du plugin nouvelle version.

      Vraiment désolé du temps perdu.

      NB : j’ai mis à jour le lien figurant dans cet article. Donc j’espère ne plus avoir de soucis de ce côté là !

    • euh... j’ai pris la dernière version sur spip zone, et même dans l’entête de l’article... tout désinstallé et réinstallé.. et ça ne fonctionne pas non plus.

    • (surtout merci à toi de prendre le temps de répondre !)

    • Puis-je avoir l’url de votre liste de pages ?

    • merci pour tout g reussi à migrer mais ai ce que c’est normal si j’ai perdu toute la partie graphique et que les pages n’ont pratiquement plus rien à voir avec ce que c’était ? merci

    Répondre à ce message

  • 2

    Bonjour

    A priori le plugin ne fonctionne pas du tout, après avoir mis le fichier la_liste_des_pages.html, créé une rubrique avec un article dedans, renseigné les formulaires, j’arrive à ceci :

    Réalisation de la migration - étape 1
    
    Liste des pages importées
    (ICi une liste vide)

    je crois que ca s’arrête ici dans le code :

    		$debug  = migre_check_var($id_rubrique);

    je ne vois pas que faire et surtout je pense que c’est soit un bug, soit une mauvaise version, mais j’ai suivi tous les liens possibles de l’article....

    Help !

    Merci d’avance

    MJ

    • Salut,

      Tu utilises quoi comme version de Spip ? Car pour que cette contrib’ fonctionne il faut être en Spip 1.9.

    • hello,

      j’ai reinstallé tout expres une version 1,9, pour pouvair importer et migrer ensuite en 2,0,2..

      Merci de ta reponse..

    Répondre à ce message

  • Bonjour,
    je n’arrive pas a migrer les pages. Il n’y a rien qui me signale une erreur, mais spip me crée des rubriques vides à la fin de l’importation.
    J’ai pourtant bien créer la page contenant la liste de toutes mes pages du site.
    Je bloque. Aidez moi svp
    Merci d’avance

    Répondre à ce message

  • 1

    merci pour tout g reussi à migrer mais ai ce que c’est normal si j’ai perdu toute la partie graphique et que les pages n’ont pratiquement plus rien à voir avec ce que c’était ? merci

    • La migration ne migre que le contenu.

      Pour la présentation (feuille de style) il vous incombe de les adapter sur votre nouveau site. D’autant plus, que qui dit nouveau dit, en général, évolution de la présentation.

      Bon courage :-)

    Répondre à ce message

  • 1

    j’avais une fatal error sur /inc/migre.php

    il manquait deux parenthèses (je les ai mises en gras ci-dessous)

    ligne 163 et 165

    else spip_log(« migrestatic:get_list_of_pages :’$val’ is not in ’$site_uri’ ») ;

    else spip_log(« migrestatic:get_list_of_pages :’$val’ is not an url ») ;

    je continue à tester...

    Répondre à ce message

  • 2

    Bonjour, je voudrais savoir quelle est la différence avec la redirection d’article que j’ai vu sur la démo de spip :

    “Redirection d’article
    Cette option permet de créer un « article virtuel » : il s’agit d’un article dont le titre, la date et les auteurs sont enregistrés dans votre site sous SPIP, mais qui pointe vers une autre adresse.

    Cette fonctionnalité vous permet de référencer dans votre système SPIP des articles qui ne sont pas réalisés avec SPIP (par exemple pour intégrer à la navigation de votre site sous SPIP des pages réalisées antérieurement à l’installation de SPIP).”

    Merci de vos éclaircissements :-)

    • La redirection d’article c’est uniquement un lien vers une page. Ce lien est associé à un article. C’est tout.

      La migration c’est l’importation de toutes les données des pages décrites au sein d’autant d’articles. Bref cela peut par exemple vous servir pour transformer votre vieux site « statique » en site sous SPIP, tout en gardant vos pages déjà écrites.

      Pour conclure il n’y a donc absolument aucun rapport entre les deux l’un étant uniquement une redirection l’autre permettant d’avoir des articles complets avec le contenu original stocké localement.

    • Super ! Clair et précis :-) et merci de la rapidité de la réponse :-)

    Répondre à ce message

  • 3

    problème !

    j’ai essayé de migrer de local en local et de distant à local.. et les deux ne marchent pas...

    url distante : http://www.ereinach.net/cipuf-base/la_page_des_articles.html

    dans spip.log :

    Dec 31 05:00:01 127.0.0.1 (pid 1992) http GET http://localhost/migre/la_liste_des_pages.html
    Dec 31 05:00:01 127.0.0.1 (pid 1992) charset probable : iso-8859-1

    je pige pas la question du Charset puisque tout est bien précisé UTF-8 ?
    le problème vient-il de mes pages ? on cherche à migrer un site sous SPIP et pour ce faire, on l’a aspiré pour faire des pages .html car je ne sais pas transfèrer de BDD à BDD...
    peut-etre que ça ne marche pas car il n’y a pas d’index ? (j’ai juste mis dans le dossiers, les pages (articles) qu’on souhaites copier.

    Merci infiniment et bonne année !

    • Hummm

      Avez vous bien saisi l’adresse http://www.ereinach.net/cipuf-base/la_page_des_articles.html dans la configuration de migre_static ? (CFG) On dirait que vous avez mis une autre adresse (avec localhost).

      Pour le reste ne vous préoccupez pas trop de l’information sur le charset à ce stade.

      Pour information migre_static analyse chaque page importée pour obtenir son charset. S’il est décrit dans la page (mots clés en HEAD) c’est celui là qui sera pris en compte, sinon il sera déduit de l’analyse des caractères de l’ensemble de la page. En général on fini par trouver de l’iso8859-1 ou de l’UTF8 (mais pas toujours).
      Ensuite il y a une conversion éventuelle vers le charset de votre site sous SPIP.

      Attention Migre static n’est pas conçu pour migrer un site sous SPIP vers un autre site sous SPIP. Pour cela vous avez l’export/import de la base de données beaucoup plus efficace et précis !

    • résolu.. c’est tout bête.. J’avais pas fait des liens à proprement parler.. suivant votre exemple, je n’avais pas mis de href...

      C’était pas trop clair pour moi... :P

      Sinon, ça marche bien, mais ne comprenant rien aux REGEX... je ne peux pas aller plus loin car sinon, les articles prennent tout... menu et header inclus...

      Si vous avez un peu de temps un jour, ça serait sympa de donner des exemples comme : remplacer NAME par un div=« articles » et END par la fin de ce div...
      Parce que faut être calé PHP sinon :P

      Bravo encore pour ce boulot, c’est du jolie !

    • Malheureusement si on peut facilement identifier un <div id=....>, une regexp prendra la première (ou la dernière) </div> pour l’occurence de fin. Si vous connaissez bien la structure de votre page vous comprendrez de suite que ce n’est évidemment pas la bonne (ou alors un grand hasard). Pour y arriver il faudrait faire une analyse (lexicale) de la page. AMHA, c’est un chantier bien trop vaste pour ce petit plugin.

      Par contre si vous le pouvez introduisez un petit commentaire du type <!-- BEGIN --> et <!-- END --> autour du bloc que vous voulez récuperer. En faisant la conception de site on pose souvent des commentaires pour identifier les différentes parties. S’ils sont bien différents on peut les utiliser sans trop de problème.

      Avec ces deux balises :

      • capture de BEGIN : <.{3,5}BEGIN.{3,5}>
      • capture de END : <.{3,5}END.{3,5}>

      Sachant que : le point « . » signifie « n’importe quel caractère » et {3,5} indique le nombre de caractères (entre 3 et 5) dans cet exemple.

      PVI, les regexp (expressions régulières) ne sont pas liées au PHP mais sont un « langage » à part entière. PHP sait en utiliser une petite partie et c’est bien utile :) Il existe de très nombreux sites pour expliquer, documenter et donner des regexp déjà formées.

      Suite à votre remarque, en regardant l’exemple qui est donné dans la page de configuration, je me suis aperçu que j’avais gardé celui d’un site de test et qui n’est pas explicite en effet. Je vais essayer de corriger cela dans une prochaine version.

    Répondre à ce message

  • 3

    Salut, ça bous embête si je participe avec mes maigres moyens ?

    genre.. comment faire une liste des pages lorsqu’on a pas de site map ?

    si oui.. juste à m’ajouter comme auteur... (saintvinasse2)

    Ed

    • S’il s’agit de contribuer à la documentation je vous propose d’en discuter sur le forum interne de l’article (de spip-contrib toujours).

      Pour les contributions sur le code, il faut vous adresser aux admins de la Zone pour obtenir vos identifiants SVN et pour publier les contributions on en parle sur la liste publique (sur Gmane).

      Dans tous les cas j’y suis très favorable :-)

    • Pour ce qui est de SPIP contrib.. il suffirait de m’ajouter comme auteur non ?

      Sinon je vais voir ça dans pas très longtemps avec ceux en charge. bonne journée

    • Discussion sur le forum interne de cet article.

    Répondre à ce message

  • 7

    Malgré tous mes efforts, impossible d’importer une page simple sous SPIP 1.9.2. J’ai toujours « jQuery is not defined » et mon écran est vide en back-office. Un pb dans le formatage du fichier de référence des imports (la_liste_des_pages.html) ? Faut-il formater ce fichier comme une page « normale » ?

    Merci d’avance pour votre aide
    Yannick

    • Quelle est l’adresse dans le navigateur lorsque vous avez cette erreur ?
      D’autre part quelle version précise de 1.9.2 ? a, b ou c ?

      la_liste_des_pages.html est un fichier texte simple qui contient une liste d’URL, celle des pages à importer, séparée par des espaces ou des retour à la ligne. Vous pouvez d’ailleurs appeler ce fichier autrement, du moment qu’il est présent sur le site concerné.

    • Bonsoir,

      J’utilise la version 1.9.2c en local (http://localhost). Mon site est dans un sous-répertoire et j’essaie de rapatrier un site situé dans un autre sous-répertoire (toujours en localhost).

      En fait, le back-office n’affiche pas une page blanche mais se bloque (seule la barre d’outils s’affiche et encore dans un style qui n’est pas celui par défaut). Le pb est identique sous IE et Firefox.

      Yannick

    • Yannick, pardonnez moi d’insister mais sans URL , ne pouvant reproduire l’erreur ici, je vais avoir du mal à trouver la cause. Idéalement, si vous pouviez me faire parvenir votre spip.log et meta_cache.txt avec l’URL qui s’affiche lors de la fameuse page blanche ce serait impec :-)

      Néanmoins, la version 0.83 devrait améliorer les choses, j’avais en effet laissé beaucoup de morceaux de code qui méritaient des améliorations. Avec un peu de chance cela devrait corriger l’ensemble...

      En outre, m’inspirant de votre remarque sur la liste des pages, j’ai modifié le fonctionnement (je vais mettre la documentation à jour). La migration se fait maintenant en 3 étapes :

      • le déclenchement à partir de la rubrique choisie,
      • l’affichage de la liste des pages telle que le plugin l’a analysée,
      • la migration des pages à partir de cette liste (à blanc ou en réel).

      Voilà...

    • Bonsoir,

      J’avais omis un détail qui peut avoir son importance : je suis sous PHP5/MySQL5. Si le plugin attaque la base il se peut que, là où cela fonctionne sous MySQL4, des erreurs se produisent pour une raison quelconque (champ NULL non renseigné ou défini en char(3) par ex.). Le plugin utilise-t-il la base dès la première phase ? Pour le test à distance, désolé mais je ne peux pas ouvrir les sites en question au public.

      Merci pour votre aide et vos améliorations

      Cordialement

      Yannick

    • Bonjour,

      Si l’on tape sur 127.0.0.1 au lieu de localhost cela fonctionne (avec la nouvelle version cela provoque une erreur 500 si l’on tape sur localhost sous Apache2, MySQL5, PHP5).

      Pour info, il manque un commentaire ligne 501. Les liens entre crochets ([]) génèrent des notes de bas de page (normal direz-vous).

      Après l’import les liens dans le corps de texte pointent toujours vers les anciennes pages, est-normal ?

      Merci pour votre travail

      Yannick

    • Dans le corps du texte, les liens sont uniquement transformés en syntaxe SPIP [ + -> + ]

      Il est difficile d’envisager un autre processus dans la mesure où :

      • on ne connait pas à l’avance le numéro d’article associé à la page ainsi référencée.
      • Il est possible de mélanger des URL relatives, absolues avec différents formats (savoir si les options/ paramètres éventuels donnent une nouvelle page ou une page similaire).

      C’est vrai que je pourrai envisager une migration en plusieurs passes :

      1. creation d’articles virtuels sans contenu et association de leur numéro au tableau des URL importés
      2. migration du contenu et remplacement (au maximum) des URL par celles ainsi trouvées.

      Je vais essayer de réfléchir à cela et voir comment on pourrait le faire fonctionner proprement.

    • C’est désormais possible à partir de la version 0.84 de migre_static.

      Quoi donc ? La mise à jour des liens :

      • les références sont automatiquement mise à jour lors de la migration de chaque bloc
      • une possibilité de mettre à jour l’ensemble est offerte à la fin de chaque migration (par exemple à effectuer à la fin du dernier bloc)

    Répondre à ce message

  • 3

    Bonjour,
    J’utilise SPIP 1.9.2b, j’ai fait un updrade de migre static vers 0.83, et maintenant voici ce que j’obtiens en lançant le process d’import :

    « Parse error : syntax error, unexpected T_FUNCTION in migre_action.php on line 507 »

    Merci pour votre aide

    GF

    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