Comment être tenu au courant de des annonces de SPIP ?
le plus simplement du monde en s’inscrivant sur la mailing liste https://listes.rezo.net/mailman/lis... .
notez aussi que votre espace privé vous le rappellera en permanence...
Notons d’abord qu’il faut distinguer deux cas de mise-à-jour, selon qu’il s’agit de :
une montée mineure (de la 2.0.4 à la 2.1.13 par exemple), ou
une mise-à-jour majeure : cela concerne en fait le passage d’un SPIP 2 à un SPIP 3.0 ; bien lire les avertissements, car souvent des fichiers du programme ont changé de place... et c’est la zone !
Évidemment, si vous utilisiez encore une "vieille version" de SPIP, d’avant la V2, montez en 2.1... : par exemple Montée d’une 1.9 directement en 2.1.19 !
Pourquoi faire un passage d’abord à la dernière version 2.1 ? En effet, cette étape n’est pas indispensable (et il existe nombre de réussites directes signalées, même d’une migration de SPIP 1.8 directement en version SPIP 3) ; alors, pourquoi cet avis ? Parce que :
Déjà, vous devrez vérifier l’encodage en UTF-8 de votre base de données (menu langues) ; l’accès rapide aux outils intégrés de conversion en UTF-8 disparait des versions suivantes [3] !
Et surtout, si vous n’êtes pas habitués aux outils phpMyAdmin, Adminer ou MySQL, il vous sera beaucoup plus facile de revenir intervenir en cas de problème ; vous pourrez donc plus facilement adapter vos squelettes en v2.1, avant de migrer en v3 : car c’est désormais la finalisation à obtenir..
Quelle est la version installée ?
Normalement, votre SPIP est opérationnel, et, dans l’espace privé, vous vérifierez le numéro exact de version du programme SPIP en bas de l’espace privé...
Si vous avez conservé les squelettes standards, vous pourrez aussi aussi regarder le source d’une page visitée ( Ctrl+U ), et apercevoir l’indication dans le header HTML [4]...
Mais si vous n’avez accès qu’aux sources installées (par FTP ), il faut regarder
le fichier /ecrire/inc_version.php
avant la ligne 300 :
[295] $spip_version_branche = "3.0.5";
ou le contenu du fichier./svn_revision
.
Quant aux sauvegardes, il faut regarder dans le dump de la table des metas spip_metas
:
-
version_installee
donne le numéro de SVN [5].
Plus simplement, si vous voyez un certain nombre de tables spip_mots_XXX c’est encore en v2 ou plus ancien ; s’il n’y a plus que spip_mots_liens, vous êtes déjà en SPIP 3. [6]
Il vous est conseillé de vous en tenir aux versions stables par branches de SPIP.
Risques et Précautions
Parmi les conséquences d’une montée de version, la plus gênante concerne les changements de structure éventuellement apportés à la base de donnée de façon automatique par SPIP [7], car aucun outil direct (et presque aucune manipulation simple ne permet le retour en arrière) : donc Sauvegarder SPIP [8] ; une autre solution -plus "riche"-, est de dupliquer la BDD sur son hébergeur.
En SPIP standard, on met parfois quelques réglages directement dans les sources des deux fichiers mes_options et mes_fonctions... Comme ces constantes ne sont pas toujours compatibles, vérifiez le contenu de ces fichiers, et -dans un premier temps- commentez les lignes référant des éléments douteux, ou suspendez leur usage en les renommant par FTP.
En général, les plugins sont désormais compatibles ascendants entre versions au sein d’une même branche ; par contre, le portage de tous les plugins SPIP en SPIP 3.1 n’est pas garanti, ou bien certains sont devenus inutiles : un plugin dédié Vérifier 31 contrôle l’ensemble des plugins que vous voudrez utiliser, et vous pouvez utiliser un [plugin dédié pourvérifier le passage à SPIP 3.1 !
Dans certains cas, la nouvelle version de SPIP n’utilise plus d’anciens fichiers, qui restent à ’polluer’ votre système [9] ; il peut être utile de supprimer totalement les répertoires de code [10].
Depuis le nouvel An 2016 (et son lots de problèmes sécuritaires), on recommandera une méthode drastique : déplacer les arborescences de fichiers modifiées (essentiellement ./ecrire/
et ./plugins-dist/
) et purger le cache complet.
Ce genre de soucis peut aussi arriver dans la mise-à-jour des plugins [11], mais le système SVP de SPIP 3 permet une Installation de plugins, pas de soucis SVP en déplaçant l’ancienne arborescence du code source...
Enfin, il peut être utile de vérifier préalablement votre version de PHP (Des cas..... résolus ! PHP5) : SPIP 2.1 et SPIP 3 sont prévus pour fonctionner sans bugs avec php5 ; toutefois les dernières versions de php (5.5 en fin 2013) peuvent parfois poser quelques soucis de Compatibilité minimale [12] : il est donc possible de suivre la dernière version de php, mais pas obligatoire, et même plutôt dé-conseillé [13]
Dans tous les cas, "assurez-vous" , c’est-à-dire ayez une sauvegarde :
de la base de données (le DUMP XML [14] , ou aussi bien, voire mieux, une sauvegarde SQL !!)
en SPIP 3 un bug peut subsister sur la remontée d’un dump SPIP en MySQL : en attendant sa correction, vous pouvez utiliser un export-import PhpMyAdmin ou le plugin Adminer !
Et n’oubliez pas de garder également copie :
des squelettes (l’ensemble du dossier ./squelettes
)
des documents annexés, pièces jointes et images : tout le contenu du dossier ./IMG
des fichiers spéciaux (mes_options ou mes_fonctions mis dans ./config
, divers .htaccess
du dossier principal.. [15]),
de la liste des plugins (avec leurs numéros de versions) : cela peut servir..
vérifiez la version PHP de votre hébergeur (utilisez ecrire/?exec=info
, en tant que webmestre, ou auteur n°1)
avez-vous noté les codes et mots de passe (de la base de données, du FTP, de votre utilisateur favori [16] et du mail correspondant...).
Vous pouvez utiliser en SPIP 2 le plugin mes_fichiers, qui vous construit un ZIP unique... presque complet !
Notez que SPIP vous informera (dans l’espace privé) de la disponibilité de la dernière version plus à jour si elle existe !
Ensuite, -quand vous avez fait vos sauvegardes- voyons les deux approches principales pour mettre à jour le site public (Rappel : il est toujours conseillé d’en faire d’abord une première mise-à-jour sur votre copie de test en hébergement local : cela permettra de valider la compatibilité de vos squelettes et des plugins utilisés !).
Notez aussi de "vider le cache" depuis votre Interface privée, avant la montée de version ; cela pourra vous éviter des terreurs au redémarrage du site : voir pour des explications sur le cache en cas de Connexion impossible.... cache hé ? !
Vous pouvez éliminer de nombreux problèmes en désactivant temporairement plugins et squelettes : renommez ces deux répertoires !
Pour une montée de version mineure
En général, il n’y a pas de grands risques, mais informez-vous et attendez un peu : lisez néanmoins les conseils et retours d’expériences, sur la liste [17], ou sur Contrib, alias https://contrib.spip.net...
Il vous suffira de télécharger la version actuelle de SPIP depuis SPIP Download comme expliqué, par exemple en un site en spip en 15mn, c’est possible...... ou d’utiliser spip_loader [18].
Ensuite, comme il est possible que SPIP prévoie une adaptation de la base de données, se reconnecter à l’espace privé en Administrateur authentifié : cela activera automatiquement les éventuelles adaptations nécessaires (peut-être avec besoin d’une authentification FTP), si une modification est prévue à la structure de base de données.
Rappel de précaution (cf.Connexion impossible.... cache hé ?) : avant d’installer, videz le cache, et connectez-vous en FTP pour pouvoir désactiver les plugins et squelettes !
Pour une mise-à-jour de version majeure
Après avoir appelé une évidence : vérifiez d’abord que votre site à mettre à jour est complètement fonctionnel(sinon, il vaut sans doute mieux régler les problèmes sous SPIP 2), et sauvegardé complètement [19] : voir Sauvegarder SPIP !
Ensuite, avant de vous lancer, videz le cache [20]
Il est souvent recommandé de déplacer l’ancienne arborescence de fichiers : conservez seulement une copie de :
./IMG
: tous les documents joints (irremplaçable !)
./config
: contient connect.php
(anciennement dans ./ecrire
) qui vous redonne les codes de connexion à la base de donnée.
./squelettes
: vous aurez sans doute quelques corrections a faire..
la liste des plugins (arborescence de ./plugins
) voir Mettre à jour les plugins.
(eventuellement, si vous n’avez pas testé la migration en local,vous pourriez créer une copie de votre base pour un nouveau SPIP, avec un nouveau prefix ! )
Deux points sont à prendre en compte sur votre SPIP de base :
- la structure de la base de données presque sera certainement changée [21] : cela signifie que vos anciennes sauvegardes ne pourront pas etre remises, mais aussi que vous ne pourrez plus utiliser les sauvegardes de votre site pour revenir à une ancienne situation, qui fonctionnait, elle !!!
SPIP prend automatiquement en charge l’adaptation de la structure d’une base de données ancienne en cas de montée de versions (disons en 1.8, 1.9 2.0 et 2.1..) ; donc il suffit de remettre une installation vierge correspondant à votre niveau de sauvegarde, et d’appliquer directement la dernière mise-à-jour mineure ! - les fichiers du core peuvent changer (de nom, d’emplacement...) : il est souvent conseillé de commencer par déplacer [22] les fichiers de votre site actuel, pour faire une ré-installation à neuf, sur un dossier vide (à l’exception des répertoires spécifiques de votre site :
./IMG
,./squelettes
et./config
[23].
Noter que ré-installer SPIP (après suppression/changement de nom des deux fichiers deconfig/connect.php
ne vous fait pas perdre votre site : ayez juste noté votre code d’accès à la base de données..cf [-art>174].
Après quoi, vous refaites le transfert complet (par spip_loader ou par FTP..), vous passez à l’installation initiale de la base de données, et...... à vous SPIP 3 !
Mais.... c’est tout cassé ! Si votre espace public a perdu sa belle apparence lors du passage a SPIP 3, c’est sans doute que vous utilisiez de nombreux fichiers de la dist, directement ; hors, suite a certaines modifications, les clauses de CSS, et même quelques appels ont été déplacés... Donc dans certains cas vous devrez revoir vos squelettes.
D’autres petits soucis en SPIP 3.0.3 : voyez Mises à jour..... à problèmes ? [24] !
Changer de SGBD
Bien que cette opération ne soit pas exactement une migration, elle s’y apparente par deux aspects :
la sauvegarde et la restauration
le contrôle des plugins [25].
Par exemple, avec un SPIP 3, pour migrer d’une base mysql
vers une base sqlite :
Dans ce sens-là : c’est facile (si votre hébergeur supporte bien SQLite ! [26]
- faire une sauvegarde classique (donne un "dump" SQLite),
- renommer ou détruire le
config/connect.php
(et le chmod.php),
en choisissant SQLite (choix par défaut, mais pas forcément à choisir...), - re-installer (refaire la connexion par l’appel à #URL_SITE_SPIP/ecrire )
- restaurer le Dump
Attention, suite a un bug spécifique 3.0.1 (non encore rétabli),
la restauration en MySQL proposée par SPIP 3 présente un souci.
Donc, exporter également un DUMP MySQL par toute autre formule classique
(PhpMyAdmin, mysqldump.....) [27]
Nota Bene : un cas particulier s’avère "intéressant", sans doute une bonne pratique à appliquer lors du passage en SPIP3 d’un site avec la base de données MySQL !
Conserver la base de donnée (de votre version SPIP 2.1 mise-à-jour), avant mise-à-jour technique en SPIP 3, et prendre la précaution de charger votre version 3 sur un autre jeu de tables MySQL, copie de la base d’origine !
Pour mémoire, même si votre hébergeur ne vous alloue qu’une seule base de données SPIP, il est facile d’installer un second SPIP : il suffit de jouer avec les prefix de base..
Changer de jeu de codage des caractères
Ce sujet reste d’actualité, même si SPIP 3 est d’office prévu en UTF-8 : en attendant une synthèse SPIP 3.
Article publié le 21 mai 2012, et actualisé en janvier 2020 .
Répondre à cet article