Basculer sur une nouvelle SPIP 4 ?

Depuis l’annonce des SPIP4-dev, les essais ont parfois débouché sur des situations "bizarres" : normal, c’était une pré-version, donc avec des erreurs potentielles.

Les quelques informations ci-dessous vous aideront peut-etre à vous sortir de ces cas d’espèce, que vous risquez de découvrir de façon un peu "gênante" !

Evidemment vous aurez fait une sauvegarde complète, de la BDD ET du dossier IMG/ en particulier !

Article publié le 2 mai 2021, et actualisé en février 2022

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Donc SPIP 4.o.o est disponible : sa mise en œuvre a pu néanmoins poser quelques soucis de compatibilité des anciens plugins... ou d’autres bugs : lire ci-dessous.

Une pré-version SPIP 4.0.0-alpha, ce n’étaitest pas encore la version définitive, donc vous ne l’aviez utilisée que pour un essai, pour voir, gogogo ! Mais si vous faites évoluer un site actuel, attention...
Car justement, c’est l’occasion de remonter des ressentis sur l’interface privée, bien transformée sur votre smartphone...

Bon ! SPIP 3.3-dev était déjà utilisée sur des SPIP publiées depuis le début d’année !

sauf que : si vous utilisiez spip_loader depuis aujourd’hui vous risquez de basculer dans une SPIP 4.1-dev [1] (hé oui, le progrès s’accélère :
Alors attention aux ’bonnes’ versions de langage PHP) !

Bravo ! Ce ’nouveau’ SPIP apporte beaucoup de modifications cachées,en particulier dans l’apparence de l’espace privé et la gestion des images, mais peut vous entraîner quelques difficultés inattendues : petit rappel de celles découvertes à l’usage...

Ah,j’oubliais le critère primaire  : PHP >= 7.3 pour SPIP 4 !

Déjà un préalable : connue comme SPIP 3.3 depuis longtemps, c’est depuis le quatrième mois de l’année une nouvelle version majeure, donc renommée 4.o.o !

 Désactivation de tous les plugins : danger !


Ce n’a l’air de rien, ce changement de nom/désignation de cette nouvelle version de SPIP, mais de fait tous les plugins actuels seront directement inopérables car le contrôle de version vous refusera l’activation, du moins tant que les développeurs n’auront pas effectué les corrections nécessaires dans le paquet.xml ...
En conséquence imprévue, en chargeant cette SPIP 4.o.o sur un existant, votre simple connexion comme administrateur pourrait désactiver TOUS vos plugins [2]
Et en plus, un certain nombre de plugins verrouillés ne sont plus inclus dans le SPIP fourni !
Verifier les compatibilités
Commencez par mesurer les dégats :installez et utiliser le Plugin "Verifier la compatibilité des Plugins" accessible dans Mantenance / Verifier... par ?exec=verifier_plugins qui vous montrera les bornes de compatibilités explicites pour tous les plugins...

Les risques potentiels

D’un part, la mise-à-jour recommandée des plugins AVANT [3] de mettre à jour le SPIP ne suffit pas à mettre-à-jour tous les plugins aux nouvelles normes !
De plus, vous pourrez avoir à jongler avec l’effacement du cache (ou sa désactivation, même pour utiliser Installer un Apache sur PC : EasyPHP ! ? !
D’autre part, il semblerait que les anciens plugins non mis à jour (et qui sont donc "incompatibles, donc ne pouvant etre visualisés que en cochant le bouton spécifique en début de liste, ne peuvent pas etre mis à jour par SVP !

SVP sait ajouter une version plus récente à un plugin

Alors, déjà un contournement de solution simple :
Avant tout, rajoutez /temporairement/ dans votre mes_options du dossier ./config/ la ligne
define('_DEV_VERSION_SPIP_COMPAT',"3.2.99"); avant d’insérer les fichiers du SPIP nouveau, cela vous en évitera l’ivresse !

Ensuite tentez la ré-activation normale des plugins.... leur actualisation !

Si Saisies est incompatible....
on va devoir recharger une version par son URL
(à trouver sur Contrib /voire passer par Plugins..

Re-installer les plugins actualisés "à la mano" :
Certains plugins sont non-détectés par SVP et cachés comme incompatibles, bien qu’il existe déjà une version SPIP 4.0 (pourquoi ?mystère) !
Si l’actualisation de SVP ne suffit pas, vous pouvez faire rechercher "toutes les versions compatibles" dans Ajouter des Plugins... et miracle,les nouvelles versions arrivent (vérifier bien le numéro de version voulue) !

Par exemple,voici le hack pour Sarka SPIP pour SPIP 4 :
- intégrer les plugins de compatibilité BREVES et PETITIONS (récupérer leurs URL de telechargement sur plugins.spip.net pour les installer et activer)
- ajouter dans mes_options.php :

  1. define('_DEV_VERSION_SPIP_COMPAT',"3.2.99");
  2.  
  3. if   (!function_exists('version_svn_courante')) {
  4.      function version_svn_courante($dir)  {
  5.           return version_vcs_courante($dir);
  6.      }
  7. }

Télécharger

SVP montre les plugins incompatibles sur demande

Re-charger l’URL des plugins à actualiser "à la mano" :

Versions courantes de Saisies pour les SPIP
Chaque version de SPIP peut nécessiter une version différente du meme plugin, avec donc une URL de fichier archive distincte, comme https://files.spip.org/spip-zone/sp...

Il y a encore une manipulation possible, avant de tout refaire par FTP !
Si SVP ne veut pas trouver les nouvelles versions des plugins automatiquement, vous pouvez utiliser l’installation SVP par téléchargement d’une archive ZIP dont vous donnez l’URL (regardez l’image ci-dessous) : mais juste une petite attention, vous pourriez vouloir corriger le chemin prédéterminé par la fin de l’URL d’archive (enrichie par un hash généré par Git)

Comment télécharger la dernière archive
remarquez la correction apportée au chemin saisies-222af-v4.0.2.zip en saisies/v4.0.2.zip

https://files.spip.org/spip-zone/sp...

Ensuite, attendez-vous à quelques surprises, car pour la fête du travail, quelques plugins verrouillés ont disparu...., il y aurait aussi un bug ? consultez https://core.spip.net/issues/4757 : normal tout cela, c’était un SPIP 4.o.o-alpha en release alpha, et ces soucis auront disparu d’ici peu !

deux mois de tests qui ont déjà activement commencé... et le SAD est très réactif !

Un souhait ! Avec ces nombreuses modifications, vous imaginez les tracas en perspective ; et il ne semble exister aucun autre moyen (AMHA) de réparer un problème de plugin qui bloque votre site, QUE de l’effacer par FTP pour le déactiver !

 Base de données

Voyons La structure de base de données de SPIP 3 : elle n’a (pratiquement pas) changé de structure !
En d’autre termes, il n’est pas impossible —mais absolument pas garanti— que vous puissiez ré-exploiter une sauvegarde SPIP 4 dans votre SPIP 3.2 sans problèmes (sauf quelques cas d’insertion de dates, et voir aussi ci-dessous pour les documents !) par les formulaires de certains plugins... malgré le message d’avertissement [4] !
(voir Erreurs de Base de Données (MySQL)).
A noter aussi : un plugin de nettoyage https://contrib.spip.net/5363 ..

 L’interface privée

Là, le moins qu’on puisse dire, c’est qu’il y a du changement -au moins d’apparence cosmétique- et ce n’est pas encore finalisé ; pourtant j’utilisais déjà des thèmes privés fluides et responsive, mais j’espère encore mieux ! Du moins c’est ce qui est "vendu" dans les annonces, et après la toute première version, c’est bien joli !

 Intégrer la gestion des logos aux documents

C’est la modification sensible qui justifie le saut de version majeure, et en plus elle n’est pas terminée ! Elle n’est pas encore documentée non plus (consultez ici le mot-clé Logo-img) ! Juste annoncée !
Pour info : un retour signale que l’importation d’une BDD SPIP 3 dans un SPIP 4 "perd" tous les documents joints ! En fait, à la première tentative de migraations les divers LOGOs sont déplacés de ./IMG/ en ./IMG/logos, où ils sont alors "perdus" pour SPIP 3 et ses migrations ultérieures...
Et puis, information pour ceux qui...voudraient limiter les formats de fichiers autorisés pour le chargement des logos : (re)définir dans mes_fonctions la variable :
$GLOBALS['formats_logos'] = array('png','svg','jpg'); !
Attention = bug apparent : le passage à SPIP 4.0 deplace tous les fichiers images utilisés en logos dans un sous-dossier IMG/logo ; du coup,après usage et restauration de la BDD SPIP 3,impossible de rejouer la migration !
Autre souci : l’insertion en illustrations jointes, ou en médiathèque, d’images distantes (chargées depuis Internet par leur URL directe se terminant par.jpg) semble échouer : en fait l’extension est mal reportée (en jpeg) dans la table DOCUMENTS, qu’il suffit de rétablir en `jpg`par Adminer pour éliminer ce [5] problème, aussi déjà décrit ici !

 Plugins et programmation

D’une part les plugins "à la mode SPIP 2"sont désormais obsolètes (disparition du décodage de plugin.xml).
D’autre part,un certain nombre de plugins-dist sont déverrouillés (mais restent installables en ajoutant un dépot spécial d’archives https://files.spip.net/core/archives.xml), ce qui entraine l’absence de certains objets éditoriaux, pouvant générer des erreurs dans d’anciens plugins complémentaires (la corbeille ?)
A anticiper aussi la disparition de JQueryUI qui peut aussi avoir des conséquences...

Enfin, si vous avez besoin d’un test pour cette version, SPIP_VERSION_ID >= 40000, et puis..



Et bien sur, il y a quelques changement de syntaxe
 :


- le filtre d’alignement (déprécié) des logos et images doit désormais être précisé en paramètre interne de la balise..
- les boucles de BREVES disparaissent en standard (désormais #PLUGIN{breves} rend 0 ) et vous pouvez proprement désactiver vos boucles sur les BREVES,etc...
en remplaçant dans vos squelettes le commentaire [(#REM) Breves ] <B_breves>... par

[(#PLUGIN{breves}) Breves du secteur
                        <B_breves>

sans oublier de rajouter un crochet fermant après la boucle </B_breves> ] .
Des détails sur .https://contrib.spip.net/5342...


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

[1Verifiez aussi l’absence d’une directive   define('_DEFAUT_BRANCHE_MAJ', '3.2'); dans un éventuel spip_loader_config.php, sinon vous arrivez sur une Page blanche ? inexpliquée !

[2Rassurez-vous,vous n’en perdrez pas les paramétrages dans la base de données, mais vous avez quelques quart d’heures de travail !

[3En particulier,de nouvelles versions de certains plugins (comme BONUX) sont indispensables à installer ,pour s’adapter aux intégrations d’éléments autrefois facultatifs dans le core de SPIP !

[4Mais c’est exceptionnel ! Ne vous y trompez pas, et la prochaine fois vérifiez vous-même le source des modifications dans ./ecrire/maj/.. s’il y a un ajout de champs (vous devrez le créer !), ou seulement une petite modification de la valeur par défaut...

[5Noter que les images ’distantes’ restent traitées comme des documents joints traditionnels ?


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

Article publié le 2 mai 2021, et actualisé en février 2022 .

Répondre à cet article