Ne pas se tromper de version

  en restaurant une BDD SPIP

Vous avez un vieil export de base de données SPIP et vous voulez le ré-utiliser, mais..
- vous ne savez pas quelle version de SPIP vous devez utiliser
- vous ne connaissez pas les plugins à re-installer
- vous ne savez meme pas la version de schema de base dont vous disposez...

Article publié le 31 janvier, et actualisé en janvier 2020

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Vous avez récupéré un dump de BDD SPIP (on va supposer, pour simplifier les choses, qu’il s’agit d’un DUMP SQL /fichier texte lisible !/, et que vous l’avez déjà restauré sur un serveur SQL).

Attention : avez-vous effectué une sauvegarde de cette base de donnée "avant" !
Si Sauvegarder sa base de données SPIP(avec les outils intégrés à SPIP) est impossible, car justement le site SPIP n’est pas encore opérationnels, vous trouverez d’autres solutions
Mais disposez d’une sauvegarde avant de risquer de tout casser !

D’autre part vous chargez un SPIP sur votre serveur (par exemple Installer mon premier SPIP local sur PC ou Installer un Apache sur PC : EasyPHP), et vous vous connectez au script d’installation (qui va créer votre connect.php), ou bien même vous avez recréé à la main ce fameux connect.php. Et les messages d’erreur se succèdent...

 Erreur de connexion à la base de données

A l’arrivée sur le site, le premier message possible est laconique (et classique)...

la page blanche ’Blue Screen of Dead’ de SPIP
Votre serveur est OK, mais pas de connexion correcte à une BDD

A priori le fichier de connexion est incorrect [1] : deux solutions :
- le corriger et le remettre (avec FTP sur un serveur distant),
- le supprimer et recréer par SPIP (avec l’accès /ecrire d’installation)
(ce qui peut être tomber de Charybde en Scylla : voir plus bas !).

Ce fichier corrigé, et donc votre SPIP accédant à ses données, le sommaire va s’afficher ; sinon, un coup de ?var_mode=recalcul règle le souci...
En effet, dans le cas de l’utilisation du plugin d’accès restreint, il vous protègera encore, en laissant un message précis (si on en sait l’origine..)

La protection introduite par le plugin Accès Restreint

Donc extérieurement, tout va bien ! Vos visiteurs peuvent parcourir le site [2].

 Incoherence des versions (programme et BDD) en privé

Avec le même contexte, si vous aviez suivi les liens affichés de Restrictions d’accès plus haut (qui renvoient vers l’espace privé), vous arriveriez directement sur un point de blocage dans l’espace privé (peu explicite...), qui ne nous indique que la version SVN 21515 qui est la 'version_installee' de programme SPIP !

Le pavé bloquant de l’espace privé

Là, on sait juste que diffèrent les versions de BDD :
- celle du programme SPIP (affichée depuis ecrire/inc-version.php) [3]
- celle du schéma de base de données de la version de programme SPIP installé, dans la BDD
précisément dans la table spip_metas

Mais parfois, vous avez été quelque peu inattentif, et ce qui s’appelle tomber de Charybde en Scylla [4], cet écran interrompt et alerte le webmestre paresseux qui voulait juste recréer ses identifiants de connexion par la réinstallation de SPIP [5] ! Apparemment, les fichiers (programmes) de SPIP sont d’une version postérieure au SPIP qui exploitait ce Dump.

L’avertissement avant ré-installation
Risque d’écrasement des données
car la structure de BDD est a-normale pour votre SPIP

Cet écran met en évidence la reprise d’un Dump au niveau 19268 pour $spip_version_base et 21742 pour !$GLOBALS['meta']['version_installee'], mais n’affiche plus la version SVN de vos fichiers !

Un déjà vieil article Mettre SPIP à jour : comment ? vous pointe les bonnes sources d’informations... désormais détaillées dans la Documentation Versions Spip.

Avec les copies d’écran ci-dessus [6], saurez-vous dire la source du problème ?
Et quelle version du programme SPIP faut-il télécharger depuis les Archives SPIP https://files.spip.org/spip/archives/, et ré-installer (car il est moins évident de modifier soi-même le schéma de données SPIP)...

En fait il n’est pas absolument indispensable de respecter exactement la même version_installée que pour la spip_version_base, puisqu’il suffit de prendre une version_installée égale ou supérieure : SPIP assure automatiquement ses mises à jour en montée de version, cf Une montée de version "drastique" !.
Dans le cas de version de programme {antérieure}, le site public devrait fonctionner (du moins les squelettes habituels), mais pour des éditions d’objets éditoriaux et le back-office privé... à vos risques et périls !
Faites plutôt la mis-à-jour des fichiers programmes de SPIP avec spip_loader !


Merci de nous signaler les coquilles, imprécisions ou erreurs qui figureraient dans cette page.

[1Mauvais mot de passe, , voire base de données mal trouvée ou fichier connect.php inexistant !

[2En général les pages de squelettes publiques continueront à fonctionner sans (trop) de problèmes apparent !

[3Accessible par FTP ou un gestionnaire de fichiers du serveur Web

[4L’écran ci-dessous : de réinitialisation des codes "upgrade sans re-install" !

[5Rappelons que la ré-installation de SPIP consiste, après suppression des deux fichiers connect.php et chmod.php du répertoire ./config, à regénérer le fichier connect.php, et l’identifiant du webmestre sur une base de données SPIP disponible, en se branchant sur la _DIR_PRIVE_ soit le bien-connu ./ecrire.

[6A cet égard, on peut regretter que ni le pavé bloquant de l’espace privé (qui préempte tout appel ./ecrire/?exec=...) ni l’écran suivant, n’explicite directement et le niveau SVN du programme courant et toutes les informations indiquées dans l’avertissement de mise à niveau ./ecrire/?exec=upgrade&reinstall=non donné plus haut !


Liens A2A visibles seulement pour les inscrits.
Liens visibles seulement pour les inscrits.

Article publié le 31 janvier, et actualisé en janvier 2020 .

Répondre à cet article