Changer la version majeure de SPIP

Ou comment passer de SPIP 2 à SPIP 3 ou de SPIP 3.0 à SPIP 3.1 ?

Cette documentation concerne le passage à la dernière version stable de SPIP : SPIP 4.2.10 à ce jour.

Il s’agit ici de passer à la dernière version à partir d’un SPIP version 2 (ou plus ancienne).

La méthode proposée permet de partir sur des bases saines en effectuant un grand ménage dans les fichiers de SPIP et de repartir à zéro sur de nouveaux plugins (SPIP 3 permet d’installer des plugins très rapidement).

Sauvegarde avant la migration

Sauvegarde de la base de données
-  Si vous en avez la possibilité, il est sage de faire une sauvegarde de la base MySQL via PHPMyAdmin, disponible sur beaucoup d’hébergements.
-  SPIP propose aussi un système de sauvegarde

  1. choisir une sauvegarde compressée.
  2. Récupérer par ftp le fichier généré : format xml pour les spip2, dans tmp/dump (ou ecrire/data pour un spip plus ancien)

Sauvegarde des dossiers personnels
-  Récupérer par ftp les répertoires :

  • IMG
  • config (pour les spip très ancien munissez-vous de vos codes de base de données)
  • éventuellement squelettes si son contenu pourrait être réutilisé

Avec la sauvegarde de votre base de données et le dossier IMG (qui contient tous les documents et images joints à votre site), vos contenus sont sauvegardés. config contient les infos de connexion à la base de données et squelettes vos personnalisations de squelettte. Notez éventuellement la version précise de spip utilisée (avant cette migration).

Vérification de l’encodage avant la migration

Si votre site est suffisamment récent (site en utf-8) ou si l’encodage de celui-ci est déjà en utf-8, vous pouvez passer à l’étape suivante.

Pour le savoir, voir dans les paramètres de langue.

Si l’encodage est en iso-8859-1, il est conseillé de passer votre site en utf-8. Une telle procédure est proposé dans spip 2 (voir en bas de page pour spip 3) :

  • faire une sauvegarde de la base de données (en principe vous en avez déjà une)
  • dans la page de gestion des langues, cliquer sur le lien proposé vers « la page de conversion vers l’utf-8 » ( url : ecrire/ ?exec=convert_utf8)
  • lancer ensuite la page : ecrire/ ?exec=sql_convert_utf8

Vérification des plugins

Penser à mettre à jour vos plugins pour limiter les incompatibilités.

Pour les sites sous SPIP 3.0 et supérieur, il existe le plugin Vérifier ses plugins qui permet de faire le bilan des plugins compatibles ou non avec la version que vous souhaitez installer

Les plugins non compatibles seront désactivés lors de l’installation de la nouvelle version.

Préparation de la migration

Vérifiez la version php qui est exécutée sur votre serveur (via http://www.monsite.org/ecrire/?exec=info par exemple). SPIP 3 nécessite PHP en version 5.1 minimum (alors que SPIP 2 fonctionne encore sous PHP 4.x). Si nécessaire, voyez avec votre hébergeur comment utiliser une version récente de PHP 5.3 ou 5.4, par exemple).

Pour exécuter SPIP 3.2, il vous faut PHP 5.4 minimum.

Ensuite, deux possibilités :


Solution 1

  1. Télécharger la dernière version de SPIP (http://www.spip.net/fr_article2670.html) puis décompresser l’archive dans un dossier spip de votre ordinateur
  2. Créer par ftp des répertoires à la racine de votre site, sur le serveur : /spip3 et /ancienSpip
  3. Transférer par ftp les répertoires et fichiers contenus dans le dossier local spip de votre ordinateur vers le dossier distant spip3 qui est sur le site

Votre dossier /spip3 doit contenir alors :

  • des fichiers php : index.php, spip.php
  • des dossiers : ecrire ,tmp, local, squelettes-dist, plugins-dist, prive et IMG et config (vides)
  • quelques fichiers .txt et .png


Solution 2

  1. Récupérez le fichier spip_loader.php (ou copiez juste son contenu) sur votre ordinateur à partir de la page http://www.spip.net/fr_article2670.html#spip_loader
  2. Déposez ce fichier à la racine de votre site, par FTP
  3. Ne l’exécutez pas encore !

Mise à jour des fichiers du site

Transférez les dossiers et fichiers de votre site SPIP vers /ancienSpip (sauf les dossiers à conserver absolument : IMG et config). Pour cela, en FTP :

1. dans votre site distant, sélectionner tout (y compris le dossier /plugins !) SAUF

  • ancienSpip,
  • spip3,
  • IMG,
  • config
  • et les fichiers ou dossiers qui ne concernent pas SPIP (parfois vous avez des documents ou d’autres dossiers dans votre site, indépendamment de SPIP. Ces dossiers peuvent concerner d’autres applications comme grr, cdt, pmb,…).
  • le fichier spip_loader.php si vous avez opté pour la solution 2

2. Glisser/déposer le reste de la sélection dans /ancienSpip

Votre site n’est, à ce moment, plus fonctionnel. Cela ne va pas durer longtemps, rassurez-vous ;-) . Par contre, il est important de bien déplacer/supprimer de la racine du serveur les dossiers ecrire, prive, extensions ou plugins-dist, squelettes-dist. En effet ces dossier contiennent des fichiers supprimés en SPIP 3 et qui pourraient causer des conflits s’ils ne sont pas supprimés.

si vous avez opté pour la solution 1

Toujours en FTP :

  1. Aller dans le dossier /spip3
  2. transférer le contenu de /spip3 vers le niveau supérieur (la racine du site). Pour cela :

-  *Ctrl + a pour sélectionner tous les éléments de /spip3
-  *glisser/déposer la sélection dans ..
-  * le dossier /spip3 est alors vide, supprimez-le.

si vous avez opté pour la solution 2

  1. Visitez votre site avec votre navigateur habituel et lancer la page spip_loader.php, en vous rendant à l’adresse du style : http://www.monsite.org/spip_loader.php et suivez les indications.

Mise à niveau de la base

En fonction du type de mise à jour, une procédure de mise à niveau de la base de données vous sera proposé en accédant à l’espace privé. Suivez les indications.

  1. Consulter votre site. Normalement, il devrait s’afficher (sous l’apparence des squelettes par défaut de SPIP)
  2. Se connecter sur l’interface privé de SPIP avec un compte administrateur (en cas de difficulté, se rendre à l’url /ecrire du site).
  3. Suivre la procédure de maintenance proposée.
  4. Se rendre ensuite sur la page de gestion des plugins (dans configuration)
  5. Vérifier que le site fonctionne.

En cas de problème

Si besoin (si on n’arrive plus à accéder à l’espace privé du site, si des erreurs récurrentes s’affichent), il peut aussi être utile de réinitialiser certains fichiers temporaires de SPIP.

Il s’agit de vider le répertoire tmp sauf éventuellement les sous-répertoires dump, sessions et visites.

Pour cette opération : aller dans le dossier tmp et effacer tout sauf les dossier dump et visites. Il vous faudra ensuite vous reconnecter.

Installation des plugins et squelettes

Créer les dossier suivant à la racine de votre site :

  • /plugins (puis dans ce dossier, créer le dossier auto)
  • /lib
  • /squelettes

Adaptez les droits de ces dossiers pour que le serveur puisse y écrire.

Se rendre dans l’interface de gestion des plugins et, dans « dépôts », utiliser le dépôt proposé - (important pour la mise en œuvre de la nouvelle gestion des plugins).

Installez les plugins nécessaires (les rechercher dans le moteur de recherche) au fonctionnement de votre site. Vérifiez que le site public fonctionne (éventuellement, vider le cache ou le répertoire tmp comme expliqué ci-dessus). Repassez en revue les réglages des plugins (cliquez sur l’icône de configuration après les avoir activés).

Rétablissez enfin si besoin vos personnalisations de squelettes en remettant progressivement les fichiers html dans votre dossier squelettes. Vérifiez que chacun produit bien le résultat souhaité.

Ménage

Quand tout est terminé :

  • vérifier que les autres applications installées sur l’hébergement fonctionnent.
  • vérifier le contenu du dossier /ancienSpip. Celui-ci ne devrait contenir que des dossiers et fichiers issus de votre ancien SPIP (ecrire, local, tmp, squelettes-dist ou dist, extensions et quelques fichiers)
  • supprimer finalement le dossier /ancienSpip.

Mise à jour courante de Spip 3

Pour une simple mise à jour dans la même branche (par exemple de SPIP 3.0.N à SPIP 3.0.N+1) utilisez la méthode du « spip_loader » qui est la plus rapide et plus simple. Ce fichier est réservé aux webmestres connectés, vous pouvez le laisser sur votre hébergement.

Le schéma est assez simple pour une mise à jour :

  • sauvegarde avant la mise à jour (par l’interface de Spip)
  • effectuer la mise à jour (méthode du spip_loader)
  • sauvegarde après la mise à jour (par l’interface de Spip)

À propos de cette documentation

Auteurs

  • Michel Suquet
  • Johan Pustoch

Texte original

http://wikitice.ac-versailles.fr/index.php?title=Mise_a_jour_SPIP3, sous licence Creative Commons Attribution.

Adaptations

Collectif SPIP

Voir aussi

Voir aussi sur contrib : Mise à jour de SPIP en captures d’écrans

Auteur Suske Publié le : Mis à jour : 12/11/21

Traductions : français, Nederlands