Mise a jour SPIP3

De Wiki Dane (ex wikitice)
Aller à : navigation, rechercher

Cette documentation a été reprise et adaptée sur spip.net : http://www.spip.net/fr_article5693.html

Opérations de migration pour un site SPIP vers SPIP3.

Cette documentation concerne le passage à la dernière version stable de SPIP : SPIP 3.0.1 à ce jour. 3.0.N éventuellement le jour où vous lisez cette page.

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).

Conseil : Indiquer éventuellement à vos visiteurs quelques jour à l'avance qu'une opération de maintenance est prévue (dans un article ou une brève).

Sauvegarde avant la migration

  1. Par l'interface de sauvegarde de spip, 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 très ancien)
  3. Récupérer par ftp certains 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 une telle sauvegarde de votre base de données et le dossier IMG (qui contient tous les documents et images joints à votre site) toutes les précautions sont prises. 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
  • 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

Préparation de la migration

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. Aller dans ce dossier spip et supprimer IMG et config (sur votre ordinateur). Attention de bien être dans spip !
  3. Créer par ftp des répertoires, /spip3 et /ancienSpip, à la racine de votre site
  4. 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
  • 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 espace d’hébergement par FTP

Mise à jour des fichiers du site

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

1. dans votre site distant, sélectionner tout (Ctrl + a),
2. puis (à l'aide de la touche Ctrl + clic sur les éléments à dé-sélectionner) déselectionner
  • 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,…).
  • et le fichier spip_loader.php si vous avez opté pour la solution 2
3. 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 ;-)

si vous avez opté pour la solution 1

Puis, en FTP toujours :

  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. Se rendre au niveau supérieur et supprimer /spip3.

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.clg-nom-maville.ac-versailles.fr/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.
  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 ê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 :

  1. aller dans le dossier tmp
  2. Ctrl+a pour tout sélectionner
  3. Ctrl + clic sur les éléments à désélectionner (dump, sessions et visites)

installation des plugins

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

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

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 suivant (les rechercher dans le moteur de recherche)

  • ScolaSPIP
  • Palette

Éventuellement :

  • agenda (chercher dans « tous les états »)
  • splickrbox
  • ... À compléter avec les ajouts de plugins que vous souhaitez utiliser.

Vérifiez que le site public fonctionne (éventuellement, vider le cache ou le répertoire tmp comme expliqué ci-dessus)

Sauvegarde après la migration

Par l'interface de sauvegarde de spip, faire une sauvegarde. Récupérer par ftp le fichier .sqlite généré dans tmp/dump

Corrigez (ou supprimez) éventuellement l'article de maintenance pour indiquer que la maintenance est terminée et que le site est tout beau, tout neuf !

Options de ScolaSPIP et des plugins

Repassez en revue les réglages de ScolaSPIP.
Consultez la documentation ici : http://www.spip-contrib.net/ScolaSPIP-pour-SPIP3

Enregistrez les paramètres dans chacune des 3 pages de configuration de ScolaSPIP.

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.
  • Supprimer le fichier spip_loader.php de votre site si vous avez utiliser la solution 2

Mise à jour courante de Spip3

Pour une simple mise à jour dans la même branche (par exemple de SPIP 3.0.1 à SPIP 3.0.N) utilisez la méthode du « spip_loader » qui est plus rapide et plus simple.

Pour l'utilisation de cette méthode, voir la page « Utiliser spip_loader ».

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)


Problème d'encodage ?

Si vous êtes déjà en SPIP 3 et que l'encodage de votre site est en iso-8859-1

Il est possible qu'il y ait des problèmes d'accents à l'enregistrement des formulaires. Ou que le moteur de recherche fonctionne mal. Dans ce cas, si vous êtes en iso-8859-1, il est conseillé de passer en utf-8.

Attention : des pertes de données dans les événements de l'agenda peuvent survenir. Cette partie de la documentation est en cours d'élaboration.

Pour cela :

  • Faire une sauvegarde SPIP. Très important, l'opération de conversion est délicate.
  • Installer et activer le plugin grenier (disponible ici : http://files.spip.org/core/grenier.zip - il n'est pas dans le dépot habituel...). Ce plugin (dans lequel ces scripts de conversion sont disponibles) permet de faire la conversion de la base de données.
  • Puis lancer la page : ecrire/?exec=base_convert_utf8
  • Si vous avez des événements (ou d'autres tables issues de plugins tierces contenant des données textuelles avec caractère spéciaux), via phpmyadmin lancer la requête sql suivante :
    • ALTER TABLE spip_evenements CONVERT TO CHARACTER SET utf8;
    • (adapter éventuellement le préfixe si vos tables ne non pas ainsi préfixées)
    • lancer les mêmes requêtes pour les autres tables concernées
  • Puis lancer la page : ecrire/?exec=base_convert_sql_utf8

Cette opération désactive les plugins et il vous faudra les ré-activer...

  • Vider le cache de spip,
  • vérifier que tout va bien.
  • Tester les écritures dans différents champs (articles, documents)
  • Tester le moteur de recherche avec des mots avec accents.
  • Une fois la conversion faite, supprimer le plugin grenier.

Voir : http://core.spip.org/issues/2753 et http://contrib.spip.net/Fulltext#forum460524

À propos de cette documentation

Auteurs :

  • Michel Suquet
  • Johan Pustoch
  • contributeurs. Ce wiki est ouvert et chacun peut modifier les pages. Pour cela, créer un compte.

Merci d'indiquer les erreurs ou imprécisions sur le forum Web (sur lequel vous pouvez poser toutes vos questions).

Voir aussi : Comment personnaliser ScolaSPIP à l'aide de règles CSS simples