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 :
- 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 ».
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 ».
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 ».
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.
- 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.
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.
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.
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.
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
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.
Suivre les commentaires : |