Tant que le site reste dans le cadre des recommandations de SPIP, il est aussi facile de transférer un site SPIP que de l’installer.
Avant de commencer
Avant de commencer il faudra aussi s’assurer d’avoir :
- un compte d’administrateur SPIP,
- un client FTP configuré ou configurable,
- les données d’accès FTP à l’ancien et au nouvel hébergements (URL, login et password pour chacun)
- les données d’accès à la base de données de l’ancien et du nouvel hébergements (URL ou localhost ; login et password pour chacun)
Préparer le site
Avertir !
Si votre site a une activité importante, il est préférable d’éviter qu’il y ait des contributions pendant le déménagement du site. SPIP n’a pas de mécanisme spécifique pour cela, mais on peut déjà (et de préférence plusieurs jours avant les opérations) :
- avertir par mail les auteurs, si l’on maintient une liste de ceux-ci,
- mettre un post général dans la messagerie interne de SPIP,
- éventuellement le publier sur le site lui même, par exemple au moyen du plugin "En travaux" ou "alerte urgence".
A priori, il sera toujours possible, une fois le site déménagé, de vérifier dans le calendrier du site et dans le suivi des forums de l’ancien site, s’il y a eu de nouvelles contributions, et recommencer l’exportation et importation, cette fois-ci uniquement les données vers un site déjà préparé. Mais si pendant ce temps il y a eu des contributions dans le nouveau site, vous êtes coincé : il vous faudra choisir entre un jeu de données ou l’autre [1].
Nous n’abordons pas ici les considérations relatives à l’URL du site, en particulier pour savoir si l’on en change ou si l’on a un DNS propre et que l’on fait suivre. Dans le premier cas, il faudra quoi qu’il en soit chercher un moyen de prévenir les utilisateurs. Une bonne mesure est de prévoir un temps de coexistence des deux URLs et de mettre dans la première une page de travaux le temps du déménagement, puis une page de redirection vers le nouveau site dès qu’il est prêt. Dans le deuxième cas si l’on veut conserver son nom de domaine, cela fait intervenir des modifications dans le DNS, ce sur quoi il faut être vigilant, en particulier parce qu’ils y a un temps de propagation des données, qui peut aller jusqu’à 48h ou plus [2].
Vider le cache avant de faire une copie de sauvegarde de la base de données. Cette procédure est expliquée dans cet article : « Sauvegarder vos données ».
Deux manières de générer le nouveau site
On peut distinguer deux manières de déménager le site :
- la première consiste à télécharger vers votre ordinateur la totalité des fichiers de l’ancien hébergement, à les télécharger dans le nouveau, puis à finaliser la configuration SPIP,
- la deuxième consiste à ne récupérer que les données et la personnalisation du site SPIP, installer SPIP dans le nouvel hébergement et remonter les données et la personnalisation.
La première solution est a priori plus simple, mais télécharger toutes les fichiers de SPIP est inutile et peut finir par prendre du temps. La deuxième est plus élégante, et ça peut être l’occasion pour le webmestre de « nettoyer » un peu le code d’un site et ne récupérer que ce qui est utile.
Option 1 : télécharger tous les fichiers
Sur le site initial
- vider le cache du site (pour éviter de récupérer trop de fichiers inutiles)
- Une sauvegarde de la base (dump).
- Avec le client FTP, téléchargez la totalité des fichiers et dossiers
Sur le nouveau site
- Placer l’ensemble des fichiers et dossiers précédents.
- Effacer le fichier de connection à la base de données
config/connect.php
pour forcer la réinstallation du site. - Avec un navigateur, visitez le dossier
ecrire/
de votre nouvel hébergement et terminez la dernière phase du processus d’installation de SPIP. Dans cette étape, seront nécessaires les codes de connexion à la base de données du nouvel hébergement et il sera éventuellement nécessaire de régler les droits d’accès aux dossiers de SPIP. - Entrez dans l’espace privé avec le compte administrateur que vous venez de créer et allez dans « Configuration du site », « Maintenance du site », et exécutez : « Restaurer la base », et c’est tout.
Il convient de noter que le compte administrateur que l’on crée en configurant SPIP est perdu dès que l’on a importé la base complète. A partir de ce moment là il faut utiliser les comptes de rédacteurs tel qu’ils existaient dans le site initial.
- Il vous restera juste à vérifier et re-configurer quelques informations sur le site, en particulier :
- régler le jeu de caractères, si vous l’avez modifié par rapport à la configuration par défaut de SPIP et si vous voyez des zigouigouis sur votre espace public,
- définir la (nouvelle) adresse URL du site, le nom du site et l’adresse du webmestre, dans la configuration du site,
- vérifier d’autres réglages, tels que l’interactivité ou les langues.
Option 2 : ne récupérer que les données et la personnalisation
Il faudra d’abord identifier avec précision le numéro de version de SPIP [3] installé dans le site que l’on veut déménager.
Sur l’ancien site
Il faut récupérer les données :
- La base de données que l’on pourra par exemple exporter depuis phpMyAdmin.
- tout le contenu du dossier
IMG/
, qui contient les images et les documents joints du site. - Depuis SPIP 4.0, il faut aussi récupérer le fichier
config/cles.php
qui contient les clés cryptographiques du site
Sur le nouveau site
- Installer le SPIP "nu" dans la même version
- Placer les fichiers de l’ancien site en respectant les positions des dossiers
- Importer la base de données de l’ancien site via phpmyadmin du nouveau site
- Se connecter à l’espace privé. Aller dans le menu de configuration du site et modifier l’URL principale du site.
- Eventuellement vider le cache du site
A partir de ce moment là, vous devriez être en mesure de voir le contenu de votre site avec les squelettes de la distribution de SPIP. Il ne nous reste plus qu’à récupérer la personnalisation du site SPIP.
Il faut récupérer dans l’ancien hébergement et mettre dans le nouveau :
les squelettes : comme expliqué ici, selon la version de SPIP, ils seront :
- soit dans le dossier
squelettes
, - soit dans le dossier personnalisé dont le nom est défini dans
mes_options.php
- soit dans sous forme de plugin qu’il faudra réactiver dans le menu configuration, section plugins
les filtres personnels et options :
-
mes_fonctions.php
-
config/mes_options.php
les plugins et librairies additionnels
placés dans les répertoires /plugins
et /lib
Il faudra aussi faire les mêmes ajustements dans l’espace privé que lors du déménagement par copie de tous les fichiers.
Voilà. Si votre site n’a pas d’extensions ou modules exotiques, c’est tout !
Recalculez vos pages et vous devriez voir votre site déménagé.