Ce blog était propulsé depuis quelque temps par DotClear, dans sa version proposée par Gandi Blog. L’avantage principal était la simplicité, l’administration transparente du système, et également il faut bien l’avouer le petit goût de gratuit…

Mais les limitations étaient également significative, impossibilité d’intégrer des plugins, et la plus génante réellement visible à la fin l’impossibilité d’avoir accès à la base de données pour exporter le contenu.
Voici donc comment je suis passé de DotClear/Gandi Blog à un Wordpress 2.7.1 hébérgé chez Dreamhost. L’installation a été faite avec la fonctionnalité One-Click Install proposée par Dreamhost.
Les principaux problèmes à résoudre étaient :
- Reprise des données (Posts/Commentaires/Images si possible)
- Gestion des liens cassés (mapping des urls vers le nouveau CMS)
- Redirection du flux RSS
Les principales fonctionnalités qui motivaient la migration:
- Mise en place d’un lifestream
- Un template optimisé iPhone
- Mise en place de Facebook Connect
Reprise des données
La première étape consiste à exporter le contenu depuis Gandi Blog, le seul format disponible est un format dit “texte plat” qui inclut les posts, commentaires, et auteurs.

Pour l’intégration dans wordpress, j’ai utilisé le plugin Dotclear Flat Import, qui n’est pas intégré en standard. L’import s’est passé sans aucun problème, les commentaires sont restés correctement attachés aux bons posts, et les auteurs des commentaires ont également été repris.
La deuxième partie de la reprise des contenus concernait les images. Pour cela j’ai exporté l’ensemble de la médiathèque de dotclear
![]()
puis j’ai décompressé le contenu dans un repertoire statique nommé “public” à la racine du site wordpress. Cela permet de conserver les images avec ce type d’url : http://www.annebicque.com/public/Image_46.png
Gestion des liens cassés
Les anciennes URL étaient sous la forme /post/année/mois/jour/slug (titre court) alors que sous wordpress je voulais raccourcir en enlevant le prefix “post”.
Pour ne pas perdre le référencement des anciens contenus, j’ai utilisé le plugin “Redirection“, dans lequel j’ai paramétré la rêgle suivante :

J’ai également paramétré les permalink pour que les nouvelles urls soient selon le modèle /année/mois/jour/slug :
![]()
Redirection des flux RSS
Les anciens flux RSS proposé par gandi étaient à l’adresse /feed/rss2 ou /feed/atom alors que Wordpress propose en standard /feed. J’ai donc paramétré deux rêgles dans le plugin Redirection pour faire des redirects 302

(en fait, j’ai ensuite commencé à utiliser FeedBurner)
Mise en place du template graphique
Le choix du thème graphique était simple, je voulais utiliser le Framework Carrington développé par Alex King. Je ne l’ai pas customisé pour l’instant, n’ayant aucun talent en design graphique.
Mise en place d’un lifestream
Facebook a popularisé ce concept, l’agrégation en un seul endroit de l’ensemble des activités online de son réseau social. Je voulais pouvoir agréger mes activités en dehors de Facebook qui est un réseau fermé. Le plugin WP-Lifestream fait ça parfaitement.
Il permet de configurer des flux de tout type (Twitter, Facebook, delicious, etc…) et permet de configurer la restitution assez finement. Pour ma part, j’ai commencé par agréger Twitter, Delicious, Flickr, iTunes (mais celui ci ne fonctionne pas encore).
La configuration des différentes sources de données est super simple, et l’intégration dans une page se fait encore plus simplement avec la directive [ lifestream ]. Le résultat est visible dans la page Lifestream.
Ce plugin permet également d’intégrer des bouts de lifestream dans des widgets standards, ce que j’ai fait en colonne de droite.
Le plugin permet également de poster chaque jour un résumé des activités dans un post standard du blog. Seul regret, quel les entrées ne soient pas classées dans l’ordre inverse chronologique.
Template Optimité iPhone
Afin d’avoir une restitution optimale sur iPhone, j’ai utilisé l’excellent plugin WPTouch, qui produit des résultats bluffants



Intégration de Facebook Connect
Pour l’instant, j’ai rien fait de ce coté là, il semblerait que je sois obligé de rentrer dans le code de Carrington pour intégrer du code….
Plugin complémentaires utilisés
Akismet : Anti Spam de référence
All in One SEO : Optimisation de META tags
Google Analyticator : Intégration de Google Analytics
Google XML Sitemap : Génération de sitemap
Wordpress.com Stats : Intégration des outils de statistiques proposés par Wordpress.com
FeedBurner FeedSmith : Utilisation de Feedburner pour les flux RSS
Conclusion
au final, je n’ai pas tapé une seule ligne de code PHP pour mettre en place ce blog, le résultat n’est surement pas parfait, mais globalement tout a été plus simple que prévu. La seule incertitude pour l’instant concerne l’intégration de FeedBurner (j’ai peur d’avoir créer une boucle infinie qui empeche la mise à jour de FeedBurner).
One Response
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.
Merci pour ce billet très instructif. J’ai pu avancer dans mes essais de migration.
J’ai néanmoins encore des difficultés pour les images car flatimport a conservé les images modifiés de gandiblog avec des ‘.’ et des ‘_s’ ou ‘_m’.
Comment as-tu fait pour corriger ce problème ?