Carnet Wiki

Migrer de SPIP 3.2 à SPIP 4.0: le livre de cuisine

Version 12 — 5 months ago Matthieu Marcillaud

(Autre lien : Annonce https://semestriel.framapad.org/p/spip3.3-alpha )

Livre du cuisine pour mettre à jour SPIP 3.2 vers SPIP 4.

Avant de mettre SPIP à jour

  • Vérifier votre version de PHP. Il faut PHP 7.3 minimum pour passer à SPIP 4.
  • Ne pas oublier de mettre à jour les plugins, notamment SPIP-Bonux en version >= 3.7.1 pour éviter un conflit.
  • Vérifier la compatibilité 4.0 des plugins dans les fichiers paquet.xml (ou bien rajouter temporairement define('_DEV_VERSION_SPIP_COMPAT',"3.2.99"); dans mes_options)

Proposition d’ordre de migration

-# Faire une sauvegarde ! (contenu & bdd)

  1. Faire vos tests dans une copie du site (ou acceptez l’audace directement)
  2. Migrer votre SPIP 3.2 dans sa dernière version stable si ce n’est pas déjà le cas >= 3.2.11 (il sera compatible jusqu’à PHP 7.4)
  3. Mettre à jour les plugins (particulièrement SPIP-Bonux en verison >= 3.7.1)
  4. Basculer votre hébergement en PHP 7.3 ou 7.4
  5. (optionnellement pour tests) Définir la constante define('_DEV_VERSION_SPIP_COMPAT',"3.2.99"); dans mes options
  6. Installer SPIP 4.0 par dessus (via Spip-loader, checkout ou spip-cli)
  7. Supprimer plugins-dist/breves, organiseur, petitions, squelettes-par-rubriques
  8. Se connecter à écrire et effectuer la migration de base de données
  9. Aller dans l’interface d’administration des plugins, et ajouter le dépot principal des plugins ainsi que le dépot https://files.spip.net/core/archives.xml
  10. Lancer une mise à jour des plugins
  11. Retélécharger éventuellement les plugins breves, organiseur, petitions, squelettes-par-rubriques si vous les utilisiez avant.
  12. Tester tout ça...

Changement de gestion des documents

Qu’est ce qui change et quelles conséquences ça a

Mise à jour des plugins et squelettes

Pagination : changement de syntaxe
-  En SPIP 3.2 on écrivait

  1. [<p class='pagination'>(#PAGINATION{prive})</p>]

-  En SPIP 4., il faut :

  1. [<nav class='pagination' role='navigation'>(#PAGINATION{prive})</nav>]

Images
Beaucoup d’images du privé au format gif ou png ont été transformé en SVG.
A priori rien à faire car SPIP détecte et s’adapte en créant un SVG à la taillle demandée.

Par contre certaines images (deplierhaut.gif, ....) ont été entièrement supprimées.

Si on veut faire les choses proprement:
-  on peut supprimer tous les png
-  on faut ajouter une icone au format SVG avec la convention de nommage suivante:
monplugin-64.png -> monplugin-xx.svg.
-  ( quelques conseils pour le graphisme des icones)