Enoncé du problème : Soient deux blogs Dotclear sur deux hébergements différents. (prenons par exemple un blog chez Multimania et un chez Free). Comment faire pour rassembler ces deux blogs chez un seul et unique hébergeur ? (chez Free, par exemple, pour éviter les publicités intrusives).

Avertissement : ce "tutoriel" s'adresse aux plus nuls parmi les nuls. Je dis cela avec d'autant moins de gène que j'estime en faire parti et que j'aurai sans doute moi aussi aimé tomber sur ce genre d'aide hyper détaillée pour éviter de perdre du temps ou d'embéter des amis. Pour ceux qui auraient quelques petits prérequis en Dotclear et en phpmyadmin, je leur déconseille ce tuto et les invite à consulter l'excellent Petit Dotclear illustré, notament cette page et celle-ci, dont je me suis grandement inspiré !

1- Avoir un client FTP

C'est un logiciel que vous avez déjà sans doute utilisé si vous êtes un bon webmaster ! Un logiciel client FTP permet de se connecter à un serveur FTP pour y envoyer et y télécharger des fichiers. Si vous êtes sous Windows, FileZilla devrait vous combler, tandis que sous Linux, GFTP fera l'affaire, ces deux logiciels étant libres.

2- Vérifier la version dotclear de vos blogs

Avoir la toute dernière version de Dotclear est non seulement indispensable du point de vue de la sécurité, mais cela vous offre en plus les toutes dernières fonctionnalités, comme par exemple l'optimisation et la sauvegarde automatique de la base de données. Vérifiez sur vos deux blogs le numéro de version dotclear. Pour cela, rendez-vous dans votre interface d'administration de blog et cliquez sur l'onglet "outils" puis sur "à propos de Dotclear". La dernière version à ce jour est la 1.2.4, en attendant la 2.0 qui ne devrait plus tarder. Si une version plus récente existe, c'est le moment de vous mettre à jour !

3- Optimiser la base

Nous voici arrivé au seuil du transfert. Avant toute tentative de modification sur un blog, les étapes "optimisation" et "sauvegarde" de la base sont essentielles. Je ne pourrais également que vous conseiller de faire des sauvegardes très régulièrement sur vos disques durs, ça évite des désagrément en cas de plantage de serveur, par exemple ! Optimisation et sauvegarde devront être ici faite pour vos deux blogs. Pour optimiser la base, cliquez sur longlet "outils" de votre interface d'administration, puis sur "Opérations MySQL", et enfin sur "Optimiser la Base".

Opérations MySQL

4- Sauvegarder le blog et la base

Pour sauvegarder la base, c'est toujours dans l'onglet "outils" et dans "Opérations MySQL" que ça se passe. Cliquez sur le bouton "sauvegarde" et choisissez l'endroit sur votre disque dur où copier votre base. Pour les plus paranoïacs d'entre vous, une copie supplémentaire sur un support amovible (cd, clé usb...) pourra vous rassurer. Mais dites vous bien que rien n'est sûr de toutes façons, puisqu'en cas de guerre nucléaire, tout sera effacé de toutes façons !

Pour sauvegarder le blog, deux possibilités : soit tout transférer sur votre disque dur via un client FTP si vous avez le temps et la place. Soit, plus professionnellement, ne transférer que l'utile, à savoir : les répertoires images/, tools/, share/ et themes/votre-theme.

5- Modifier les préfixes des tables

C'est là le point délicat de l'opération pour le newbie que vous êtes ! C'est une opération inévitable, car pour cohabiter ensemble sur le même hébergement, les deux bases de données de vos blogs vont devoir avoir des préfixes de tables différents. Si vous aviez opté pour l'option par défaut, le préfixe des tables de votre blog sous Free doit être dc_. Il doit en être de même du préfixe des tables de votre blog Multimania (celui que vous aller transférer). Vous devez donc changer le nom du préfixe des tables de Multimania de dc_ en dcbis_. (par exemple)

Pour cela, il faut vous rendre sur l'administration en ligne de votre base de données proposée par votre hébergeur. Vous vous retrouvez très certainement sous phpmyadmin. Là, dans la fenêtre "exécuter une ou des requêtes sur la base...", vous allez recopier les requêtes suivantes, en remplaçant bien sûr les noms des tables (dc_categorie, etc.) par vos propres noms de tables que vous voyez affichés au dessus de la fenêtre. (ce sont tous les noms commençant par dc_ normalement)

ALTER TABLE `dc_categorie` RENAME AS `dcbis_categorie`;
ALTER TABLE `dc_comment` RENAME AS `dcbis_comment`;
ALTER TABLE `dc_connected` RENAME AS `dcbis_connected`;
ALTER TABLE `dc_galCategory` RENAME AS `dcbis_galCategory`;
ALTER TABLE `dc_galComment` RENAME AS `dcbis_galComment`;
ALTER TABLE `dc_galGallery` RENAME AS `dcbis_galGallery`;
ALTER TABLE `dc_galImage` RENAME AS `dcbis_galImage`;
ALTER TABLE `dc_link` RENAME AS `dcbis_link`;
ALTER TABLE `dc_log` RENAME AS `dcbis_log`;
ALTER TABLE `dc_ping` RENAME AS `dcbis_ping`;
ALTER TABLE `dc_post` RENAME AS `dcbis_post`;
ALTER TABLE `dc_session` RENAME AS `dcbis_session`;
ALTER TABLE `dc_spamplemousse` RENAME AS `dcbis_spamplemousse`;
ALTER TABLE `dc_spamwords` RENAME AS `dcbis_spamwords`;
ALTER TABLE `dc_tribune` RENAME AS `dcbis_tribune`;
ALTER TABLE `dc_user` RENAME AS `dcbis_user`;

phpmyadmin

Cliquez ensuite sur "exécuter", et c'est fait ! Vous devez normalement avoir une base de données avec des tables commençant par dcbis_ désormais !

Attention, vous venez de modifier votre base sur le blog à transférer ! Une nouvelle optimisation/sauvegarde est donc nécessaire pour prendre en compte ces modifications ! (reprenez les étapes 3 et 4 !)

6- Modifier le fichier conf

Pour que votre blog sous Multimania prenne bien en compte cette modification de préfixe, vous devez l'indiquer dans le fichier config.php Pour cela, utilisez votre client FTP (Filezilla ou GFTP), rechercher ce fichier dans /dotclear/conf/ et transférez le sur votre disque dur. A l'aide d'un éditeur de texte, ouvrez ce fichier, retrouvez la ligne :

define('DB_PREFIX','dc_');

et remplacez-la par :

define('DB_PREFIX','dcbis_');

le fichier config.php

7- Installer un nouveau dotclear

Commençons les grandes manoeuvres.

Tout d'abord, une petite vérification sur votre blog Multimania qui vous sera utile par la suite : souvenez-vous quel est l'encodage de celui-ci ? Si la réponse vous échappe, recherchez, à l'aide de votre client FTP, le fichier conf/dotclear.ini

Si celui-ci comporte bien une ligne :

dc_encoding = ISO-8859-1

alors vous pouvez considérer que votre blog est en ISO. Dans le cas contraire, il est en UFT8. Cette vérification sera utile plus tard.

Vous allez maintenant installer un nouveau Dotclear chez Free. (toujours en exemple). Si votre premier blog n'est pas créé à la racine, vous avez du le mettre dans un dossier portant le nom de dotclear, basiquement. Créez un second dossier grâce à votre client FTP. C'est dans ce dossier que vous allez mettre le fichier http://www.dotclear.net/download/loader/dc_loader.php nécessaire à l'installation automatique de votre dotclear. Si vous ne vous souvenez plus de comment cela se passe, rendez-vous sur cette page pour l'installation.

Début de l'installation

Première chose importante : vous allez choisir l'encodage (ISO ou UFT8) en fonction de celui de votre blog Multimania ! Voilà à quoi servait la vérification ! Les encodages doivent être les mêmes.

Choix de l'encodage

Enfin, deuxième chose importante : n'oubliez pas de modifier le préfixe des tables en dcbis_ pour que ce soit la même chose qu'avec votre blog de chez Multimania que vous allez transférer.

Choix du préfixe des tables. (par défaut, dc_ est affiché)

Insallation réussie !

A ce stade là, si tout s'est bien passé, vous devez avoir un nouveau blog vide qui cohabite avec l'ancien.

8- Transférer les données

Passons maintenant au transfert des données de votre ancien blog Multimania vers le nouveau Free.

Rien de plus simple : comme le précise très justement Kozlika, il vous faut importer la base dans votre nouveau blog en allant dans l’interface d’administration de DotClear de votre nouveau blog sur l'onglet Outils, lien Opérations MySql, et dans la partie "Restaurer une sauvegarde", cliquez sur le bouton « Parcourir » et sélectionnez le fichier que vous venez de sauvegarder sur votre disque dur (celui avec les préfixes des tables modifiés), puis cliquez sur le bouton « Restauration ». La magie s'opère !

A ce stade là, après une optimisation de votre nouveau blog (voir étape 3), vous pouvez vérifier que l'ensemble des billets et des commentaires ont bien été transférés !

Reste à télécharger la forme : thème adéquat, images, plugins, etc.

Les fichiers à transférer via votre client FTP sont les répertoires images/, tools/, share/ et themes/votre-theme.

Voilà, votre blog est transféré !

9- Rediriger

Ca, ce n'est pas obligatoire, mais c'est le nec plus ultra ! Rediriger les lecteurs allant à l'ancienne adresse vers la nouvelle, automatiquement ! C'est très simple aussi, il suffit comme d'habitude de lire le tuto du Petit Dotclear Illustré !

A vous de jouer !