Mettre à jour mon site SPIP

Merci à Philippe Auriol !
Lundi 13 février 2006 — Dernier ajout jeudi 15 juin 2006

Un site Spip est un site essentiellement motorisé par le CMS SPIP.

Comme tout CMS, il évolue et se modifie.

Les nouvelles versions sont des changements plus radicaux sensés être « stables »

Retour Sommaire

Il peut y avoir quelques ajouts à votre SPIP

  • Squelettes
  • Feuilles de style
  • Javascripts
  • Mes fonctions & Mes options
  • Scripts personnels
  • Contributions Spipiennes

Tous ces éléments, variables d’un site à l’autre, sont autant de sources de bug lors d’une mise à jour car des défauts pouvaient être acceptés (ou ne rien donner) sur la version précédente et se voir [1] lors d’une nouvelle version.

Retour Sommaire

Lorsqu’une nouvelle version arrive, dois je l’installer ?

  • La réponse est oui il faudra, mais il n’y a pas d’urgence à cela.
    (A l’exception des patchs de sécurité qui, eux, sont urgents à installer mais mineurs dans leurs bugs potentiels sur des versions récentes).
    Plus vous attendrez pour changer de version de spip plus l’écart entre les versions pourra être source de bugs non prévisibles.
  • Prévoyez vous une ou deux journées de disponible.
  • Préparez votre site : sauvegardez l’ensemble des fichiers (de manière à pouvoir revenir rapidement en arrière en cas de problème majeur), faites votre sauvegarde via SPIP [2] et via phpMyAdmin.
  • Préparez vos ajouts : mise à jour des contributions, mise à jour des scripts, mise à jour de vos productions.
Retour Sommaire

Procéder à la mise à jour

Retour Sommaire

Demander de l’aide

Lorsque vous êtes décidé faites la mise à jour en demandant, si nécessaire, de l’aide sur IRC ou sur la liste spip-user.

Ne soyez pas pressés d’obtenir une réponse à vos questions : c’est votre problème et ni la liste ni irc ne sont un service d’assistance mais plutôt des lieux d’aide potentielle.

Retour Sommaire

Risques ?

Si votre site est sensible à une perte de service d’une heure à un jour ou deux, il est important de faire la mise à jour en local d’abord (avec Mamp ou EasyPhp) de manière à régler les problèmes avant la mise en ligne. C’est mieux s’il s’agit de la même configuration que sur votre espace web mais c’est déjà bien si vous avez pu voir que c’est faisable sans gros bug avec vos squelettes et vos ajouts.

Attention : en cas de test en local, il ne faut pas publier sur le site des internautes :

  • le dossier ecrire/data/ !
  • le fichier ecrire/inc_connect.php3 (qui contient les accès à la base de données MySQL)
Retour Sommaire

Installation

Retour Sommaire

Des fichiers

L’installation idéale se fait :

  • Soit avec spip_loader qui se charge de tout tout seul (uniquement avec une version .php3 de SPIP)
  • Soit en supprimant les anciens fichiers via FTP (avec un vrai client FTP et pas une fonction FTP d’un logiciel d’édition de page web par exemple), en installant la nouvelle version à laquelle vous ajouterez vos fichiers mes_options.php3 et mes_fonctions.php3.
  • Soit avec un outil de synchronisation de dossier via FTP
Retour Sommaire

Procédure de mise à jour de SPIP

  • Une fois l’installation des fichiers faite : connectez vous en partie privée (/ecrire) et suivez les instructions (souvent il y a une mise à jour des tables mysql à lancer).
  • La mise à jour finie : visitez votre site en partie publique, puis privée ; découvrez les nouvelles fonctionnalités de la partie privée et si vous constatez des disfonctionnements faites en part à spip-dev ou sur IRC.
Retour Sommaire

Cas particuliers

Retour Sommaire

Avec une version très ancienne

Avec une version très ancienne (1.5, 1.6), il peut être nécessaire de passer par une version intermédiaire (1.7)

Retour Sommaire

Emplacement des squelettes

Au passage de la 1.8, le répertoire de localisation des squelettes n’est plus par défaut la racine du site et qu’il est préférable d’effacer les squelettes de la racine pour les déplacer dans /squelettes/ (sans changer les chemins vers les images et autres qui sont toujours les mêmes : ce qui compte, c’est le chemin depuis les squelettes compilés, pas depuis les sources des squelettes).

Les -dist disparaissent aussi et sont remplacés par le dossier dist/

Retour Sommaire

Problèmes fréquents

Retour Sommaire

J’ai fait la mise à jour et mon site est mort

→ Il n’est pas mort : « blessé seulement »

Si rien ne s’affiche (page blanche) c’est qu’il y a un problème (SPIP étant fait pour publier autre chose que le fameux ours blanc sur la neige).

Solution : refaire l’installation proprement. Vider le FTP actuel puis le re remplir avec la nouvelle version et enfin y ajouter ses particularités (mes fonctions, mes options, squelettes).

Retour Sommaire

Il me dit que j’ai des erreurs dans mes boucles.

→ Ce n’est pas exclu, c’est d’ailleurs souvent vrai.

Le nouveau compilateur est apparu avec la version 1.8. Bien que compatible avec l’ancienne syntaxe, il est plus « parlant ». Une erreur de boucle « avant » ne donnait rien, aujourd’hui elle donne un message d’erreur [3] : c’est le progrès car désormais vous pouvez avoir de beaux et vrais squelettes Spip. Pour connaître la boucle qui pose problème, ajouter ?var_mode=debug à l’uri de la page web concernée [4].

Retour Sommaire

Aaaaaah !!! J’ai des warning partout !!!

→Beeeh ! C’est pas grave.

Le warning est un avertissement php qui vous dit qu’il y a quelques soucis dans l’interprétation du code php (il résulte de l’interprétation de votre squelette par le compilateur mais aussi de l’adjonction de vos propres scripts).

A priori Spip n’est pas en cause.

Regardez vos scripts ajoutés que font ils ? Où ? Quand ? Comment ? Mettez les à jour et retestez.

Vous avez toujours un warning ? Les plus fréquents liés à spip sont :

  • Headers already sents : il doit y avoir des espaces ou des blancs dans vos fichiers mes_fonctions en début ou fin de fichier : virez les.
  • Parse error blabla, unexpected " ;" in… : signifie que php ne retrouve plus sa syntaxe habituelle. En général, il faut vider le cache de SPIP, soit via la partie privée soit « à la main » via FTP car SPIP confond alors les anciennes données du CACHE avec les nouvelles d’où ces warning.
  • Warning : fopen(ecrire/…) : failed to open stream : Permission denied in /… : Hum, vous avez oublié de régler les permissions.
    Allez sur le répertoire dit avec votre client ftp et changez en les permissions en "755" ou si cela ne suffit pas "777".
Retour Sommaire

Rahhhh mais j’ai un problème !

Certes. Tout le monde à des problèmes en fait. C’est pourquoi SPIP bénéficie d’une FAQ où vous trouverez certainement la réponse à votre problème qui est finalement pas si rare :

Retour Sommaire

Purée ça me gave lourd cette mise à jour je veux mon ancien site ! Mamaaaaaaaaaan !

→ D’abord, il faut rester poli oh hein bon.

Ensuite, c’est votre droit le plus absolu MAIS il n’est réalisable que si vous avez bien suivi les instructions de mise à jour du départ : supprimez alors tous les fichiers de votre ftp, videz votre base mysql, réinitialisez l’ancienne base, retransférez les anciens fichiers et admirez votre beau vieux site qui marche  🙂

Retour Sommaire

SPIP est nul ! je retourne à mon [Remplacer par le CMS de votre choix].

Au revoir et à bientôt sûrement.

Retour Sommaire

[1Être affiché en tant qu’erreur de script php ou de squelette

[2Qui, en version 1.8 et précédentes, ne sauvegarde pas tout, en particulier, pas la config du site (le nom du site…)

[3Ce message n’est affiché que si vous êtes connecté au site en tant qu’admin du site ; les visiteurs habituels du site ne les voient pas.

[4Et si vous n’y comprenez rien, ça peut quand même aider ceux à qui vous poserez des questions

Revenir en haut