Il fallait bien que ça arrive un jour, j'ai désormais quitté Dotclear que j'aimais bien pour Wordpress que je connais mieux! Ce n'est donc pas un simple changement de thème, mais un véritable déménagement, avec ses bon côtés, et ses mauvais...

Mais pourquoi ?

Dans un article du temps jadis, je louais les qualités de Dotclear. Je n’ai pas vraiment changé d’avis, mais j’ai eu quelques difficultés, entre autres un bug qui m’empêchait d’écrire des articles avec l’éditeur WISIWIG de Dotcelar. Peu pratique donc.

De plus, je m’occupe de plusieurs sites internet, six pour être exact, sous Wodpress. En migrant mon blog personnel sous ce moteur, je me facilite également la maintenance en n’ayant plus qu’un système à gérer. Et surtout, je commence à bien connaître WordPress, à mettre parfois les mains dans le code pour créer de petits widgets, pour modifier les thèmes, etc.

Difficultés lors de la migration

Migration de loin pas automatique… J’ai utilisé une extension pour récupérer tous les articles et les pages, pas de problème particulier pour cela. Les catégories sont plus ou moins bien restées, il a fallu que j’ôte à la main la catégorie «uncategorised». Ce n’était pas absolument nécessaire, mais j’aime les choses propres !

Tags

Les tags n’ont pas suivi. J’ai trouvé un tutoriel et un script pour les importer, mais ça ne marche pas. J’ai taggé quelques articles en attendant de faire le tour du blog pour ajouter quelques étiquettes…

Images

Autre problème, les images dans les articles. J’ai conservé le dossier Public à la racine du site, histoire que les chemins relatifs soient toujours corrects. Donc les anciennes images ne se trouveront pas dans upload. Pas trop grave, si ce n’est qu’elles n’apparaissent pas dans la médiathèque de WordPress. La mise en page des images des anciens articles ne correspondra pas tout à fait aux nouveaux, tant pis pour l’unité, mais c’est trop de travail de tout reprendre à la main.

Liens

Les liens vers d’autres articles sont, sous Dotclear, relatifs. De plus, lors de l’importation, les / ont disparus. Je me retrouve donc avec des articles nommés de la façon suivante: 20160312Titre-de-l-article/

Pour que le référencement n’en prenne pas trop un coup, il faut faire quelque chose de propre. Dans l’ordre :

  1. renommer les articles sans la date (via PhpMyAdmin) ni la majuscule : tout s’appelle maintenant titre-de-l-article/ au lieu de 20160312Titre-de-l-article/
  2. faire une redirection via .htaccess pour que les anciennes url pointent sur les nouvelles
  3. se casser la tête pour cette redirection, ne pas y arriver parce que le regex ne fonctionne pas
  4. faire la redirection en php de la façon suivante : dans le fichier header.php du thème enfant, j’ai mis quelques lignes qui ressemblent à ça :
$querystring=$_SERVER['QUERY_STRING'];
switch(substr($querystring,0,4)){
    case 'post':
          $titreArticle=substr_replace ($querystring, '', 0,16);
          $titreArticle=str_replace('--','-',$titreArticle);
          $titreArticle=strtolower($titreArticle);
        header('Status: 301 Moved Permanently', false, 301);
          header('Location: /'.$titreArticle.'/');
          exit();
    case 'page':
        header('Status: 301 Moved Permanently', false, 301);
          header('Location: /a-propos/');
          exit();
}

Une fois cette redirection en place pour les pages, les articles, les catégories, les tags et le flux rss des articles, je respire un peu. Je vois le bout du tunnel !

Et puisque je parle des liens, les « billets connexes » n’ont pas non plus été importés. J’utiliserai une extension qui propose d’autres articles automatiquement.

Pièces jointes

J’ai de nombreux articles qui proposent des documents de cours, avec fichiers attachés. Sous Dotclear, il y a un système intégré de pièce jointe à un billet, très pratique à utiliser. Sous WordPress c’est un peu moins intuitif. Le sélecteur de média permet deux choses :

  • ajouter un média dans un article : utilisation classique, l’image ou le lien vers le document est inséré dans le texte
  • lier un média à un article : utilisation moins intuitive, il faut uploader le fichier puis ne pas l’insérer dans la page. Il fait alors partie de la médiathèque, et est lié à l’article, mais n’apparaît pas. Une extension ad hoc permet d’ajouter au fond des articles les liens vers les fichiers attachés.

J’ai donc fait le tour de chaque article contenant des pièces jointes, je n’avais pas vraiment le choix. Il a fallu également permettre à WordPress d’importer des fichiers de type GGB, SVG, etc. en ajoutant ceci dans le fichier functions.php :

//Autorisation de l'upload de fichier
add_filter('upload_mimes', 'mon_nouveau_mime');

// $existing_mimes récupère la liste des mimes existant
function mon_nouveau_mime ( $existing_mimes = array() ) {
    $existing_mimes['ggb'] = 'application/octet-stream';
    $existing_mimes['svg'] = 'image/svg+xml';
    $existing_mimes['tex'] = 'application/x-tex';
    $existing_mimes['apk'] = 'application/vnd.android.package-archive';
    return $existing_mimes;
}

J’ai bidouillé également l’extension qui affiche les pièces jointes au fond des articles afin que les petites images soient différenciées selon chacun des types que j’upload (ODT, ODG, SVG, GGB, etc.).

Et encore ?

Il reste un petit peu de travail, comme mettre des images pour les articles, vu que le thème choisi fait la part belle pour les Images à la Une. Ça va se faire petit à petit !

Conclusion

Beaucoup de boulot pour cette migration, je m’y attendais, mais je ne suis pas déçu, j’ai maintenant un site que je maîtrise, tant du côté de l’administration que du thème ou des extensions.

J’espère que ça vous plaît, que vous trouvez ce que vous cherchez, et que ça me motivera à continuer d’écrire, et pour cela de réaliser des activités originales et novatrices dans mes classes !