Un coup d’oeil sur le SPIP nouveau, et retour

  ici c’etait de 3.2 en 3.3-dev

Quand est annoncée une nouvelle version de SPIP (et pas simplement une release corrective), la tentation est grande de ....

Sur un nouveau site en cours de création, j’ai démarré en SPIP 3.2.4, testé une SPIP-dev, et... histoire d’un petit retour en arrière, avec quelques outils auxquels on ne pense pas toujours.

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Précautions préalables : faire des sauvegardes de votre base de données, de ses plugins et des documents joints (le dossier ./IMG/ peut représenter quelques Mo (voire Go) de données à conserver.

Mais cela n’est pas toujours opérationnel, car ce n’est qu’à l’usage qu’on peut se rendre compte de difficultés ; à ce moment, il serait gênant de perdre les modifications et enrichissements apportés par vos rédacteurs...

 Quelques nouveautés de SPIP 3

A l’installation pas de soucis directs... sauf si votre version de PHP est trop ancienne [1]

- Changement de gestion des logos
Certainement une grande nouveauté, attendue car espérée depuis si longtemps !
On remarque déjà que les nouveaux logos d’articles ne sont plus renommés en artonXXX.jpg ou rubonXXX.png, mais que leur nom de fichier d’origine est désormais conservé : les nouveaux logos sont enregistrés dans un dossier particulier ./IMG/logo créé par SPIP 3.3.

- L’insertion des images
Autre modification plus visible, les raccourcis d’insertion n des images dans le corps de texte ont changé : plus d’<imgXXX|center> devenu <mediaXXX|insert|center>, etc..

Enfin, c’est l’occasion aussi de s’apercevoir de la nouvelle gestion des illustrations, entre images incrustées (donc visibles) et Portfolio (non automatique : voir les explications sur https://contrib.spip.net/4856 [2]).


Mais il faut redescendre [3] !

Feignant, j’ai voulu passer par spip_loader : ah oui, mais ! Bien dressé le programme m’a successivement refusé d’être utilisé (je ne m’étais pas connecté en webmestre déclaré dans spip_loader_config.php..), puis il a carrément refusé d’installer une version plus ancienne : un patch brutal ecrit par FTP dans le ecrire/inc-version.php present sur le serveur a bien sûr eu raison du problème. Heureusement mon serveur autorise plusieurs versions de PHP.

Par chance il n’y a pas eu trop de modifications sensibles dans la base de données [4], donc elle reste compatible, et le SPIP 3.2.4 ré-installé fonctionne ; les plugins aussi, vus qu’ils utilisaient le mode de compatibilité prévu pour accepter au niveau SPIP 3.2.99 !

Mais certains logos ont disparus : c’est normal, puisque SPIP 3.2 ne sait pas retrouver les logos enregistrés depuis comme documents : en récupérant en local une copie de ./IMG/logo, il est assez rapide de les recharger [5] !

Plus embêtant : toutes les images et documents incrustés sont désormais remplacés par une ligne de code assez peu explicite, mais pas du plus bel effet. Gênant !
Plutot que de se lancer dans une exploitation MySQL hasardeuse, ou de faire la modification manuelle dans chaque article (une vingtaine, et quelques rubriques), cet article va faire un peu de publicité pour un plugin utilitaire bien pratique Rechercher-remplacer : cet équivalent d’un FAR ou Search-and-Replace sur les sources m’a réglé le problème en production, en ligne et en une minute...

 Les LOGOs nouveaux arrivent

Après la documentation pour Comprendre le portfolio et les illustrations de JLuc, pour ceux qui ne peuvent pas toujours suivre, un point bien structuré par Cerdic :

c’était au programme de la 3.3, mais on a rien fait jusqu’ici, et comme tout le sujet est englué depuis des années (décénies ?), je vous fais donc la proposition suivante :

la version 3.3 sera une version de transition

Pour les logos :

les logos sont intégrés dans la table spip_documents avec mode=‘logo’, mais sans modification de l’interface, et sont toujours dans le dossier IMG/ pour ne pas casser trop les plugins de restrictions d’acces (cf https://core.spip.net/issues/3719)
Aucune modification de l’utilisation des balises LOGO ni des boucles documents desquelles ces images seront exclues par défaut comme les vignettes de document

Pour les images et documents :

le champ `mode` est conservé dans la table spip_documents, mais il n’est plus utilisé pour différencier le format d’affichage dans les modèles documents
la notion de portfolio disparait de l’interface par défaut :
dans l’espace privé toutes les images apparaissent dans ‘illustrations’, tous les autres documents dans ‘document’
POUR CETTE VERSION UNIQUEMENT un define permets de le réactiver pour les sites historiques qui pourront ainsi gérer leur transition de façon smooth via un plugin
dans la dist, dans la zone document joints s’affichent les documents joints à l’article (vu ou non dans le contenu l’article) et les images jointes à l’article non vues dans le corps de l’article
les raccourcis , et n’appellent plus directement les modèles img, doc et emb, qui disparaissent, mais une couche de routage regarde le type du document et affecte vers le bon modèle en fonction du media
image.html, audio.html, video.html, file.html
possibilité de décliner par mime type : file_text.html ou par extension : video_mp4.html, file_text_csv.txt
Ainsi tous les modèles img,doc,emb bidouillés dans la nature sont bypassés et ignorés et on repart sur une base saine pour tous les sites avec les modèles par défaut
On peut utiliser partout comme le propose le plugin mesdoc (https://contrib.spip.net/Modele-doc-unifie), ou continuer à utiliser les syntaxe différenciées, sans aucune espèce d’importance
L’interface ne proposerait que le raccourci partout
POUR CETTE VERSION UNIQUEMENT un define permet de rétablir la prise en compte des modèles img,doc,emb existant — pour le meilleur et pour le pire
Le fonctionnement du modèle reprend ce que propose le plugin insertions images avancées (https://23forward.com/Plugin-SPIP-Insertion-avancee-d-images) : image plein pot, clicable si faisant plus de 800 px(modifiable via define), avec titre, descriptif, credit si présents (on ne veut jamais ne pas les afficher !), balisage en

,
. Les modificatifs |left |right |center restent utilisables, ajoutant principalement une class Les modificateurs |largeur=300 ou |hauteur=250 ou |ratio=16:9 sont utilisables (extension de ce que propose les plugins suscités) On peut mettre un lien sur l’image comme actuellement Les modèles audio et video sont inchangés par rapport à l’existant Le modèle file reprend donc la présentation de tous les autres types de document hors image, audio et video Il est aussi en figure/figcaption, mais sinon pour l’essentiel reprend le fonctionnement du modele doc actuel, qui est affichage d’un lien vers le doc avec une vignette éventuellement personnalisée, titre, descriptif, credit

On propose donc un fonctionnement de base simple et compréhensible, sans complexité biscornue, un bypass de tous les modèles img/doc/emb surchargés dans la nature pour que la migration se passe bien, et chaque type de modèle image, audio, video, file ne gérant qu’un type de document sera plus simple, lisible et compréhensible

2 define permettent de rétablir le portfolio dans l’espace privé et le fonctionnement des modèles img, doc, et emb. Un plugin de retrocompatibilité pourra être proposé POUR CETTE VERSION UNIQUEMENT (contenant en gros les define, et les modèles de la 3.2)

Et pour la version suivante on prend ensuite le temps de faire évoluer le code plus en profondeur :

en simplifiant les squelettes de l’interface privée pour supprimer totalement la gestion du portfolio
la suppression complète du mode dans les documents
l’unification de la gestion documents et logos via les rôles
et tout ce a quoi on aura pensé d’ici là


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

[1Avant d’etre corrigé en 3.0.9 spip_loader ne vérifiait pas la compatibilité, et les conséquences apparaissent... parfois longtemps après !

[2Ici, j’en ai changé le modèle pour ne pas avoir seulement les images ’expressément’ mises en portfolio !

[3Pour être précis, cette décision a été prise en rencontrant des bugs tenaces sur SVP et AR, lequel a été rapidement corrigé -merci Cerdic & Marcimat- sans doute avant même que j’aie fini ma "down-gration", mais étant passé en production publique !

[4Lors de la montée de version le webmestre n’a pas eu droit à cet écran demandant d’appliquer les modifications de structure de la base de données..ouf !

[5c’est là qu’un plan discretement illustré des logos est bien pratique : voir

  1. [ MODELES / (#REM)    ARTICLE_PLANTOUT  (id_article) ]
  2. [(#AUTORISER{webmestre}|sinon_interdire_acces)]
  3. <BOUCLE_modele_article(ARTICLES){tout}{id_article ?}{0,1}>  
  4.   <a href="#URL_SITE_SPIP/ecrire/?exec=articles&id_article=#ID_ARTICLE"  [title="(#DESCRIPTIF|supprimer_tags|attribut_html)"] > #TITRE*</a>
  5.     <i> <span class="violt">  (#ID_ARTICLE) </span> </i>
  6.  
  7.     [(#LOGO_ARTICLE_NORMAL||image_reduire{0,15})]
  8.         [ - (#LOGO_ARTICLE_SURVOL||image_reduire{0,12})]
  9.         [<small>: (#CHAPO|strlen)] + [(#TEXTE|strlen)] [/(#PS|strlen)</small>]
  10.    
  11.   </BOUCLE_modele_article>
  12.  

Télécharger


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

Article publié le 14 décembre 2019, et actualisé en décembre 2019 .

Répondre à cet article