Formations et ressources pour les TICE - ESPE Aix-Marseille
[admin] Migrer le contenu d’un InstantWordpress vers un Wordpress en ligne
L’objectif :
Wordpress (http://www.wordpress-fr.net/wordpress/presentation/) est un système de blog opensource très largement utilisé à l’heure actuelle. Classiquement il s’installe sur un serveur web disposant de PHP et MySQL et permet ainsi de publier des contenus sur le web sans connaissances techniques dépassant le niveau d’utilisation d’un traitement de texte et d’un outil de mail.
Son utilisation nécessite néanmoins de disposer à la fois d’une connexion internet (!) mais aussi d’un hébergement web. Si l’on souhaite tester son fonctionnement sans avoir besoin ni de l’un ni de l’autre, InstantWordpress (http://www.instantwp.com/) est un outil permettant de créer un Wordpress en local c’est à dire installé sur son propre ordinateur (sous Windows) et exclusivement visible sur sa machine.
Pour l’utilisateur d’InstantWordpress ayant décidé de ’passer aux choses sérieuses’ et de publier ses contenus en ligne, il va donc falloir transférer le contenu de son InstantWordpress depuis sa machine vers son Wordpress en ligne. On supposera ici que le Wordpress en ligne est déja installé et que l’utilisateur a un compte de niveau administrateur sur celui-ci.
Pour la suite on parlera donc de ’Wordpress local’ pour désigner l’InstantWordpress contenant les contenus à exporter et de ’Wordpress distant’ pour la version en ligne dans laquelle seront publié ces contenus à la fin de la manipulation.
Deux types de contenus à transférer :
Le contenu d’un Wordpress est constitué par un ensemble de contenus stockées dans la base de données (sous forme d’articles et pages, catégories, mots clés, utilisateurs...) et de fichiers médias (images, vidéos, fichiers PDF... attachés aux articles et pages) stockés dans le sous-répertoire wp-content/uploads du Wordpress.
Le transfert de ces deux types de contenus se fera de manière différente du fait de leur différence de nature :
- les données de la base seront exportées depuis l’InstantWordpress sous forme d’un fichier d’export Wordpress : fichier contenant les données de la base encodées au format XML. Ce fichier sera ensuite utilisé comme fichier d’import dans le Wordpress de destination à l’aide de l’outil d’importation intégré nativement dans Wordpress.
- les fichiers médias devront êtres récupérés dans le sous-dossier qui les contient tout en conservant leur arborescence pour préserver les liens qui permettent de les intégrer dans les articles et pages. Cette arborescence de dossiers et fichiers sera ensuite envoyée sur le serveur hébergeant le Wordpress distant à l’aide d’un logiciel de transfert de fichier (File Transfert Protocol, FTP) de façon à reconstituer le contenu du sous-dossier wp‑content/uploads à l’identique de celui du serveur local.
Une transformation nécessaire des contenus pour s’adapter au changement d’hébergement :
Le transfert des articles et pages de la base locale vers la base distante va nécessiter une adaptation des contenu du fait du changement d’URL du Wordpress.
En effet, dans l’InstantWordpress local, l’URL de base des pages, articles, images... est de la forme : http://127.0.0.1:4001/wordpress/ (127.0.0.1 signifiant : l’adresse locale de l’ordinateur sur lequel je travaille) alors que pour le Wordpress distant cette URL de base sera de la forme http://mon‑domaine.fr/wordpress . Ce changement d’URL va imposer de procéder à une modification des URL dans le fichier exporté depuis le Wordpress local avant de le réinjecter dans le Wordpress distant si l’on ne veut pas se retrouver avec l’ensemble des liens référençant des contenus locaux en erreur (typiquement toutes images insérées dans les pages seront ’cassées’).
Mise en place des outils :
- Wordpress local : lancer le InstantWordpress sur sa machine et on se connecter à l’interface de gestion avec un compte administrateur (http://127.0.0.1:4001/wordpress/wp‑admin/)
- Editeur de texte évolué : pour faciliter la manipulation du fichier d’export il est souhaitable d’être équipé d’un éditeur de texte un peu plus évolué que le basique notepad :
- télécharger la version portable de Notepad++ sur http://download.tuxfamily.org/notepadplus/6.7/npp.6.7.bin.zip ,
- dézipper le fichier obtenu dans un dossier ’notepad++’ quelque part sur votre machine (répertoire ’Téléchargement’ ou ’Mes documents’ ou sur le bureau...),
- lancer le fichier Notepad++.exe et passer l’interface en français (menu Settings > Preferences > Localization => Français).
- On peut garder ce logiciel ouvert pour toute la suite de la manipulation.
- Logiciel de transfert de fichiers : pour opérer le transfert des fichiers médias vers le serveur hébergeant le Wordpress distant on utilise le logiciel FileZilla (= client FTP).
Pour simplifier l’installation on peut utiliser la version portable :
1ère étape : déterminer les paramètres du nouvel hébergement
Avant de commencer le transfert il faut :
- se connecter sur l’interface de gestion du Worpress distant ( http://mon‑domaine.fr/wordpress/wp‑admin/) et vérifier que l’utilisateur est bien administrateur
- se procurer les identifiant, mot de passe et URL de l’accès FTP de l’hébergement
-
aller dans l’interface de gestion d’importation (menu Outils > Importer) pour vérifier que l’outil d’importation Wordpress est actif
- déterminer quel est l’URL de base des médias. Pour cela ouvrir la bibliothèque des médias (menu Medias > Bibliothèque) puis ouvrir une image (si la bibliothèque est vide cliquer sur ’Ajouter’ et envoyer un fichier image depuis votre machine).
Sélectionner le contenu du champ ’Adresse web’ et le coller dans un fichier de Notepad++.
- On obtient donc l’adresse de cette image dans le Wordpress distant, qui est de la forme :
2ème étape récupérer et préparer le contenu de la base sous forme d’un fichier d’export :
La récupération des contenus de la base de données du InstantWorpress local va se faire assez simplement en utilisant l’outil d’exportation de Wordpress (également utilisé pour les sauvegardes !) .
Pour cela dans l’interface de gestion du Wordpress local ouvrir le menu Outils > Exporter, cocher l’option ’Tout le contenu’ et valider avec le bouton ’Télécharger le fichier d’export’.
On enregistre le fichier obtenu (le nom proposé est de la forme instantwordpress.wordpress.2014-12-14.xml) sur son ordinateur.
On va ensuite l’ouvrir avec Notepad++ afin de procéder à la modification des URL pour qu’il soit compatible avec le Wordpress distant. Cette modification se fait en remplaçant les URL spécifiques d’InstantWordpress par celles du Wordpress distant. Pour cela on utilise l’outil de remplacement de Notepad++ : menu ’Recherche’ > ’Remplacer...’ :
3ème étape : transférer l’arborescence locale des fichiers médias vers le serveur distant
Cette étape se fait à l’aide de FileZilla :
- on commence par se connecter au serveur distant en renseignant les champs du bandeau de connexion rapide
- il faut ensuite déplier l’arborescence dans les panneaux de FileZilla pour afficher :
- panneau de gauche le contenu du sous-dossier wp-content/upload du InstantWordpress local
- panneau de droite le sous-dossier contenant les médias du Wordpress distant, soit en fonction de l’URL de base récupérée à l’étape 1 :
- dossier wp-content/uploads pour un wordpress installé en mode ’simple’
- dossier wp-content/uploads/sites/XY pour un wordpress installé en mode ’réseau’, avec XY correspondant au numéro du site (cf fin de l’URL de base)
- on peut alors glisser le contenu du uploads local dans le dossier des médias distant
- selon l’hébergement, il peut être nécessaire de régler les permissions sur les sous-dossiers importé, toujours avec FileZilla :
- sélectionner tous les sous-dossiers (2008, 2014...) du dossier des médias du Wordpress distant et faire un clic droit pour accéder aux propriétés
-
dans la fenêtre ’Modification des attributs des fichiers’ qui s’ouvre, mettre 777 dans le champ valeur numérique (l’ensemble des cases ’Lire’, ’Ecrire’, ’Executer’ sont cochées), valider.
4ème étape : importer les contenus de la base locale dans la base de donnée distante
- Cette étape permet de finaliser le transfert en réalisant l’importation des pages, articles... à partir du fichier d’export récupéré et ’bricolé’ à l’étape 2 :
- se connecter au Wordpress distant avec le compte administrateur
- ouvrir la page de gestion des importations : menu Outils > Importer > Wordpress
- à l’aide du bouton ’Choisissez un fichier’ choisir le fichier instantwordpress.wordpress.AAA‑MM‑JJ.xml enregistré à l’étape 2 et lancer l’importation avec le bouton ’Envoyer le fichier et l’importer’
- dans la fenêtre qui s’ouvre on doit choisir l’auteur du Wordpress distant auquel seront ré-attribués les éléments importés.
Il n’est pas utile de cocher la case ’Download and import file attachments’ puisque cette option n’est techniquement pas possible à partir d’un site en InstantWordpress (et que nous venons de faire le transfert par FTP !)
- le résultat de l’importation signale effectivement que l’importation des médias à échoué...
5ème étape : vérification
A partir de là le transfert du site est achevé : pour s’assurer que la migration des fichiers médias est correcte, il convient d’arrêter le logiciel InstantWordpress local puis de parcourir les articles et pages du site distant afin de vérifier qu’il n’y a pas d’anomalies par rapport au site local.