Export Dotclear 2 vers Wordpress 2 (dc22wp2)

dc22wp2-450px

Cette page est consacrée à la présentation d’un outil de migration de blog DotClear 2 (DC2) à Wordpress 2 (WP).

Aujourd’hui, le plugin est encore très basique mais il se veut simple et rapide.

Il existe déjà une solution mais elle fait référence à des anciennes versions de DotClear et de Wordpress. Bref, devant la difficulté je suis reparti d’un plugin d’import officiel.

Fonctionnalités

  • Testé avec DotClear 2.1.5 et Wordpress 2.7 et supérieur (avec 3000 articles et 8000 commentaires)
  • Le serveur sur lequel est installé Wordpress doit avoir accès à la base de données MySQL de DotClear 2.x
  • Import des catégories et des tags
  • Import des billets (doivent être écrit au format XHTML)
  • Import des commentaires
  • Réécriture des anciennes URLs (limité aux Apache équipés de mod_rewrite)
  • Intégré au menu Outils > Importer de Wordpress

Problèmes connus

Si votre blog DotClear contient de nombreux articles, il se peut que la page de transfert partent en time-out. Un mécanisme a été mis en place pour découper l’insertion (coûteuse en ressources serveur) par paquet de 50 billets.

TODO

  • Améliorer l’interface dans pour les blog important où les opérations base de données longues oblige à faire des rechargement de pages.
  • Améliorer les performances dans le cas de blog ayant de très nombreux billets/commentaires (testeur, n’hésitez pas à vous manifester)
  • Package à diffuser sur wordpress.org
  • Traduction multilingue (at least english!)
  • Support des billets en Wiki

Historique

Version 0.36 (15 juillet 2009)
La fonction put_file_contents n’existe qu’en PHP 5 et plus. Elle a été ajoutée pour tous ceux qui fonctionne avec les anciennes version de PHP. Merci à Lazy.

Version 0.35 (2 juillet 2009)
Deux bugs majeurs ont été détectés. Le premier concerne la connexion à la base MySQL qui échouait car il y avait un filtrage des caractères spéciaux. Le second concerne le fichier .htaccess qui au passage de l’étape d’import des billets déclenchait une erreur 500 Apache. Effacer votre fichier .htaccess si ça arrive. La nouvelle version ajoute un <IfModule> devrait éviter le problème. Merci à Renard Blanc et à Sébastien.

Version 0.3-beta (26 mai 2009)
Grâce à l’aide de David, cette nouvelle version est plus robuste mais a fait ses preuves sur plus de 3000 billets et près de 8000 commentaires. Plusieurs optimisations ont été faites, des bugs corrigés et surtout un nouveau panel fait son apparation pour tester l’accès à la base de données et la possibilité d’écrire dans le répertoire ‘wp-content’.

Version 0.1-alpha (9 mai 2009)
Version téléchargeable avec pas mal de bug

FAQ

Certains billets n’apparaissent pas après l’import
C’est probablement lié à certains billets DotClear qui n’ont pas de catégorie. Pour leur affecter une catégorie « par défaut », connecter sur l’interface d’administration DotClear et créer une nouvelle catégorie « default » et notez son ID (cat_id). Pour mettre tous vos billets sans catégorie dans cette catégorie, exécuter la requête SQL suivante :
UPDATE <prefix_table>post SET cat_id = <nouvelle_categorie_id> WHERE cat_id IS NULL
Mon blog Wordpress est sur un autre hébergement que mon blog DotClear 2, je suis bloqué
L’astuce consiste à installer Wordpress et DotClear sur votre nouvel hébergement. Exporter les données de votre ancien blog DotClear 2 vers le DotClear 2 fraichement installé de votre nouvel hébergement et les opérations de migration seront ensuite possible.

Téléchargement

Encore en version alpha, n’oubliez pas de sauvegarder vos blogs avant de tenter l’opération

Installation

  1. Installez Wordpress 2.8.1 (français ou anglais)
  2. Téléchargez le fichier dc22wp2_latest.zip sur votre ordinateur
  3. Dézipper l’archive et copier le fichier dotclear2.php sur le serveur hébergeant WordPress dans le répertoire <wordpress>/wp-admin/import/
  4. Vérifiez que le répertoire de <wordpress> et <wordpress>/wp-content sont accessible en écriture par votre serveur web équipé de PHP
  5. Pour les anciennes version de Wordpress (avant la 2.8) Un bug (enfin je crois que s’en est un !) s’est glissé dans <wordpress>/wp-admin/includes/comment.php. Trouvez la ligne $wpdb->prepare("SELECT comment_post_ID FROM $wpdb->comments et remplacer comment_post_ID par comment_ID.
  6. Identifiez-vous dans l’interface d’administration WordPress, aller dans Outils > Importer puis choisissez Dotclear2. L’assistant vous demandera les paramètres de votre base de données DotClear 2 pour réaliser le transfert vers la base de données WordPress.
  7. Une fois la migration terminée, vous devez retrouver tous vos articles, commentaires et catégories dans votre interface de Wordpress
  8. Copier le répertoire images de votre blog Dotclear dans l’arborescence Wordpress

Dons

Ce plugin vous a été utile ? N’hésitez pas à faire un don à son auteur pour l’encourager à l’améliorer ! Pas d’inquiètude, le don se fait par le site sécurisé de PayPal.


Support & liens

Quelques sujets à suivre :

Poster vos questions/demandes/rapports de bug dans les commentaires ci-dessous

64 réponses à to “Export Dotclear 2 vers Wordpress 2 (dc22wp2)”

  1. [...] Pour passer à Wordpress j’ai discuté avec Bitonio sur digitaladventures.fr [...]

  2. gangan dit :

    bonjour,

    quand est il de l’import des images ? le support des articles en wiki ?

  3. bitonio dit :

    Salut Gangan,

    L’import des images se fait simplement en recopiant votre répertoire images dans l’arborescense de votre nouveau Wordpress.
    Pour le support Wiki, il semblerait que les dernières version de Dotclear sauvegarde les 2 formats Wiki et XHTML en parallèle.
    Si quelqu’un qui possède un DotClear2, peut-il jeter un oeil ?

  4. jlrgs dit :

    Je souhaite moi aussi migrer de dotclear 2.1.6 vers wordpress 2.9
    J’ai scrupuleusement suivi les indications d’installation, mais je ne parviens pas à récupérer les billets. l’erreur suivante apparaît :

    Etape 5 : Importation des billets

    0 billets à migrer

    Warning: Division by zero in /home/ateliere/public_html/testnath/wp-admin/import/dotclear2.php on line 757

    0% des billets ont été importés.

    La solution proposée à Sébastien le 2 juillet ne semble pas fonctionner chez moi.

    Merci de votre aide.

  5. bitonio dit :

    Salut @jlrgs

    On dirait que le plugin n’arrive pas à trouver d’articles dans ton DotClear 2.
    Est-ce que les articles DC ont une catégorie ? Si c’est effectivement ça, regardes la rubrique « Certains billets n’apparaissent pas après l’import ».

    Sinon, je te propose mon aide en regardant ta base DotClear d’un peu plus près. L’idéal c’est que tu me fasse un dump téléchargeable qqpart :-)

  6. jlrgs dit :

    Les articles n’avaient effectivement pas de catégorie. Je viens d’en affecter une à chacun et merveille, l’import s’est parfaitement bien déroulé.

    Merci de ton assistance et bravo pour ce post ;-)

  7. GanGan dit :

    Au sujet du format wiki et xhtml y a du nouveau ?

  8. GanGan dit :

    avec la version 2.9 de wordpress ça donne quoi ?

  9. GanGan dit :

    j’ai modifié mes articles wiki en xhtml et l’import a fonctionné
    pour les images j’ai du mettre dans mon répertoire wordpress : /public/images
    et la aucun lien ne fonctionne :( voyez vous même :

    wordpress.system-linux.eu

  10. export dit :

    J’ai tenté l’export mais ça na pas marché.

  11. RenardBlanc dit :

    Salut

    t’es toujours vivant ;)
    bon je t’explique je prépare la migration du dernier blog me restant sous DC2 mais j’ai un soucis
    il ne me ramène pas mes liens.
    t’a une idées ?

    Pour le xhtml , Dc fait les deux mais pour le transfère iil faut quand même passer tout les billet manuellement du wiki au xhtml sinon ton script ne sais pas les ramener.

    A plus

  12. KaG dit :

    Hello,
    Merci pour ce plugin.
    Je suis chez OVH et j’ai un souci : le plugin m’indique ne pas pouvoir accéder à la BDD.
    Ce qui m’étonne c’est que j’avais 2 tables (une table DC1 préfixée dc_ et une table DC2 préfixées dcb_ ), pour la première, ça a très bien fonctionné avec le plugin de migration DC1, mais là j’ai le message « Connexion à la base de données impossible XXXXXX@mysql5-12.90 (longueur du mot 7), vérifiez que les tables de Dotclear 2 sont bien présentes. »

    Une idée ?
    Je précise que l’hébergement est le même mais le serveur de BDD est différent de celui de WP.

  13. KaG dit :

    Merci d’oublier mon précédent commentaire…
    Ca m’apprendra à faire des copier/coller de mot de passe :)

    Encore merci pour ce plugin !

  14. [...] rapatrier les vieux billets de DC1, je galèrais pour ceux des 2 dernières années, mais grâce à ce plugin et cette procédure, tout s’est presque passé sans heurt (en fait ça foirait parce que je copiais/collais le [...]

Laisser un commentaire