Migration d’un blog de Dot Clear 1.2.7 en WordPress 2.3.3

Pourquoi passer de DotClear en WordPress ?
That’s the question…

Bien que globalement satisfait de DotClear 1, on ne peut que remarquer les avantages de WordPress, dont la communauté francophone se développe de plus en plus, nettement plus dynamique et qui dispose de bien plus d’extensions et de thèmes que DotClear.
DotClear dont la version 2 n’en fini pas de sortir… de béta en béta, maintenant on en est à DC 2 béta 7, et la Release Candidate 1 est annoncée mais sans précision de date.

J’ai fait un essais de WordPress 2.3.3 la semaine passée, pour recréer un blog pour mon fils, son ancien blog Dot Clear 1 étant non utilisé et plein de spams. C’était plus simple de repartir de zéro sans le migrer.
Mes essais de WordPress 2.3.3 m’ont convaincu que (c’est un avis personnel) je serais plus à l’aise avec plus de possibilité, en WordPress qu’en DotClear (j’avoue ne pas avoir testé DC2 béta).

Je vais donc migrer maintenant le blog d’une de mes filles de DC 1.2.7 vers WordPress 2.3.3.
Je suis pour cela les explications de Ced sur le blog 64k.
La procédure originale se trouve à cette adresse, mais les explications de Ced sont plus claires et détaillées.

REMARQUE : WordPress 2.3.3. incorpore un plugin d’Importation depuis DotClear ! C’est certainement la méthode la plus facile si vous restez sur la même machine. Dans mon cas, devant migrer d’un ancien serveur Debian dont je n’ai plus le mot de passe MySQL (et je l’avais bricolé… pas si simple) vers un nouveau serveur Debian, je n’ai pas réussi à utiliser le plugin intégré à WordPress 2.3.3. J’ai donc suivi la méthode de Ced ;-)

La première chose à faire est d’exporter le blog DotClear existant, dans un fichier plat (un fichier texte).

Les explications de Ced datant d’un an, j’ai récupéré la dernière version du plugin DotClear 1 pour l’Export vers un fichier texte. En effet, il y a eu quelques petits changements lors du passage de DotClear 1.2.6 en 1.2.7.

Le plugin s’installe très facilement en DotClear, simplement en copiant l’adresse du plugin et en la collant dans l’outil de gestion des plugins.

Ensuite, logiquement, utiliser ce plugin pour exporter votre blog : sauver ce fichier sur votre disque dur.
Pour info, ce même plugin vous permet d’exporter vos données si vous voulez passer de DotClear 1 en DotClear 2 béta. ;-)

Ce plugin exporte vos billets, les commentaires, mais pas vos images. Il sera simple de les recopier ensuite.
Mais WordPress ne les mets pas dans le même dossier que DotClear.

Il est donc nécessaire de faire quelques modifications simples dans le fichier de sauvegarde avant de l’importer dans votre nouveau blog WordPress.

  • DotClear les plaçait dans un dossier /image/
  • WorPress dans un dossier /wp-content/uploads/ANNEE/DATE (je ne trouve pas cela idéal… mais on fera avec)

Je vais mettre mes anciennes images venant de DotClear dans /wp-content/uploads/2007/dotclear (le blog n’a pas été utilisé en 2007).

N’installer pas le nouveau WordPress dans le même dossier que l’ancien DotClear (ou déplacer l’ancien dossier avant) pour toujours garder une copie correcte du blog DotClear au cas où quelque chose n’irait pas comme prévu.

De la même façon, travaillez sur une copie du fichier export.

cp blog-backup.txt blog-backup_2.txt

Vous pouvez l’éditer avec votre éditeur favoris, en mode graphique avec Gedit (l’éditeur de texte d’Ubuntu) par exemple.
Pour ma part, je vais le faire en VI, mais les commandes sont simples à transposer pour un autre éditeur.

vi blog-backup_2.txt

Pour ma part, je vais également faire un changement d’URL (attention si votre blog est connu, ce genre de changement va rendre tous les liens vers votre site invalides !). L’ancien dossier d’installation était /var/www/audrey/audrey … Pas très logique…

Avec un bricolage de liens, j’étais parvenu à le faire prendre par Apache en http://audrey.misson.net (un lien de /var/www/audrey/audrey vers /var/www/audrey … encore moins logique !). Je vais faire les choses plus logiquement. /var/audrey sera un éventuel site web, ou une simple page permettant de choisir entre le blog d’Audrey et autre chose (photos, CV… on verra à l’avenir) /var/audrey/blog sera son blog. Je dois donc remplacer tous les /audrey/ par /blog/,
et pour le dossier images, tous les /wp-content/uploads/2007/dotclear/ par /wp-content/uploads/2007/dotclear/

En VI les commandes sont : ( tapez “:” pour passer en mode commande)

%s!/audrey/!/blog/!g %s!/wp-content/uploads/2007/dotclear/!/wp-content/uploads/2007/dotclear/!g

C’est, je pense, la seule modification à faire pour une passage en WordPress.
Je sauve donc le fichier.

:wq

La partie export de DotClear est terminée.

La partie WordPress.

Vous devez d’abord installer WordPress exactement comme pour un nouveau Blog.
Suivez pour cela mon billet “Installation de WordPress 2.3.3“.

Personnellement, j’en profite pour changer le blog de serveur.
Je vais donc en SSH sur le nouveau serveur.

L’installation en très résumé (pour le détail, le mieux est de relire mon billet)

  • télécharger le fichier d’installation de WordPress 2.3.3
  • le décompresser dans /var/www/audrey/
  • comme je désire avoir le blog dans le sous-dossier “blog”, je le renome “/var/www/audrey/blog”
  • change le nom du fichier wp-config-sample.php en wp-config.php
  • l’éditer et mettre les valeurs correspondantes à la base de données que vous comptez utiliser.
  • Lancer l’installation depuis le navigateur à l’adresse du blog
  • évidemment, noté le mot de passe généré

L’importation du fichier plat. Je prend l’adresse du plugin “flatimport” sur cette page, et je le sauve dans mon dossier download. (ou autre, mais pas dans WordPress).

cd /home/blog/download wget http://cvie.free.fr/public/flatimport.zip

Je le décompresse :

unzip flatimport.zip Archive:  flatimport.zip    creating: flatimport/    creating: flatimport/flatimport/   inflating: flatimport/flatimport/flatimport-fr_FR.mo   inflating: flatimport/flatimport/flatimport-fr_FR.po   inflating: flatimport/flatimport/flatimport-tuto-fr.html   inflating: flatimport/flatimport/flatimport-tuto.html   inflating: flatimport/flatimport/flatimport.css   inflating: flatimport/flatimport/flatimport.js   inflating: flatimport/flatimport/flatimport.pot   inflating: flatimport/flatimport.php   inflating: flatimport/flatimport.php.old

Je copie uniquement “flatimport.php” dans le dossier wp-admin/import

cp /home/blog/download/flatimport/flatimport.php /var/www/audrey/blog/wp-admin/import

Il me manque encore le fichier export de DotClear 1, puisque dans mon cas je change également de serveur.

Ce fichier est sauvé sur le disque dur de mon PC (pas nécessaire sur le serveur où tournait DotClear 1 car c’est votre navigateur qui a sauvé ce fichier).

Je le copie en SSH donc vers le nouveau serveur, en modifiant éventuellement son nom si vous aviez travaillé sur une copie.
Si le dossier “wp-contents/uploads/” n’existe pas, créez le.

Depuis le dossier où est sauvé ce backup sur VOTRE PC :

scp blog-backup_2.txt   didier@192.168.168.251:/var/www/audrey/blog/wp-content/uploads/blog-backup.txt didier@192.168.168.251's password: blog-backup_2.txt                                                     100%   60KB  59.8KB/s   00:00

On peut retourner dans l’interface web de votre nouveau blog WordPress, qui ne contient encore qu’un seul article créé lors de l’installation. Utilisez l’adresse et le mot de passe que l’installation vous a donné.

Faites logon dans le blog avec “admin” et ce mot de passe, et lancer l’importation avec Gérer/Importer/Dotclear Flat Import.

Un plugin d’importation existe déjà dans WordPress, mais je n’ai pas pu l’utiliser car je n’avais plus les mots de passe de configuration MySQL sur l’ancien serveur.

L’importation directe (DotClear) est bien plus facile dans le cas d’un migration DotClear vers WordPress SANS changer de serveur.

Malgré tout l’ancienne méthode avec ce plugin DotClear Flat Import, peut servir si vous n’avez pas un accès total au serveur et à MySQL.

Dans mon cas, c’est la seule qui ai fonctionné, car je n’ai jamais réussi à faire communiquer le plugin DotClear intégré à WordPress 2.3.3 sur mon nouveau serveur, avec le serveur MySQL de mon ancien serveur. La faute probablement pas au plugin lui-même, mais plutôt à la configuration MySQL d’origine dont il me manquait le password… (oui je sais, c’est stupide… mais ce sont les restes d’essais datant de 2 ou 3 ans).

cliquez sur “import”.

A la fin de l’importation, qui peut prendre un certain temps, vous devez avoir le message “End of Import”

Si ce n’est pas le cas (importation d’un très gros blog), recommencer l’opération plusieurs fois.

Il reste à recopier les images de votre ancien blog DotClear (dossier /image/) vers le nouveau WordPress (dossier /wp-content/uploads/2007/dotclear/).

Pour fignoler, des exemples de .htaccess existent pour, soit corriger l’URL des billets de façon à ce que les liens ne soient pas cassés et que votre blog soit toujours bien référencé par Google, soit pour rediriger de façon permanente Google et les autres accès vers les nouvelles pages.

Voir à ce sujet le billet de Ced. ;-)

Leave a Reply