Accueil > Release > Ô mega ! c’est SPIP 4.0 alpha

Ô mega ! c’est SPIP 4.0 alpha

lundi 3 mai 2021, par La team

Nous sommes heureux de vous présenter la version alpha de SPIP 4.0.

Oh là là là là, c’est énooooorme : SPIP passe en version 4.0.0-alpha ! Joie, émotion, tout ça. J’en ai les yeux tout humides

#SPIPCMS cela reste malin, léger et frais !

Cette version alpha s’adresse à toutes les personnes impatientes qui veulent tester les nouveautés avant la sortie officielle. Au programme, vous trouverez un SPIP plus beau, plus performant et plus léger.

Vous pouvez la tester dès maintenant elle est disponible au téléchargement à l’adresse suivante :
https://files.spip.net/spip/dev/spip-v4.0.0-alpha.zip

Attention : C’est une version alpha, elle peut encore contenir des bugs. De plus certains plugins ne sont plus distribués en standard, consultez la section traitant de ce sujet. Ne faites pas de mise à jour vers cette version depuis un site en production sans savoir ce que vous faites.

Nous attirons également votre attention sur le fait que la gestion des images a subi de grosses évolutions : si la compatibilité avec les versions précédentes de SPIP est assurée pour le squelette-dist, nous vous conseillons de bien vérifier qu’il en est de même pour vos éventuels plugins et squelettes personnels qui surchargeraient les modèles <img>, <doc> et <emb> de base.

La sortie de SPIP 4.0 s’accompagnera de la fin du support de la branche SPIP 3.1. Graphique des versions maintenues

SPIP 4.0 alpha, les nouveautés

Un SPIP plus léger

Quelques plugins ne sont désormais plus distribués en standard avec SPIP.
Bien entendu vous pouvez toujours les installer à part, comme n’importe quel plugin.
Lors de la mise à jour, veillez à identifier et réinstaller ceux qui étaient utilisés sur votre site.

  • Squelettes par rubriques : support des squelettes suffixés, tels que article=10.html (alternative : le plugin Compositions).
  • JQuery UI : librairie Javascript (non maintenue).
  • Vertèbres : outil de visualisation des tables SQL (alternative : le plugin Adminer).
  • Organiseur : agenda et messagerie internes.
  • Brèves : gestion de courts éléments éditoriaux.
  • Pétitions : gestion de pétitions.

Un espace privé retravaillé pour être adaptatif (responsive)

Vous le verrez, un gros travail d’ergonomie a été initié pour rendre à terme l’espace privé adaptatif sur toutes les tailles d’écrans afin d’en faciliter l’usage.

D’autre part les styles ont été actualisés, mais prenez garde à la peinture encore fraîche : tout ceci sera finalisé pour la sortie de la version stable.

Un SPIP qui aime les images

Un gros travail a été effectué sur la gestion des images qui a été simplifiée et standardisée pour notre plus grand bonheur :

  • Support du format d’image vectoriel SVG pour les images et documents joints ainsi que pour les icônes de l’espace privé
  • Suppression des modèles <img> et <emb> (qui restent néanmoins actifs pour assurer une rétro-compatibilité) au profit du modèle <doc>. Pour cette version 4.0 uniquement : la constante _COMPORTEMENT_HISTORIQUE_IMG_DOC_EMB permet de rétablir l’utilisation des modèles img, doc et emb
  • Suppression de la notion de Portfolio : pour cette version 4.0 uniquement ajout d’une constante _LEGACY_MODE_IMAGE_DOCUMENT qui permet de conserver le fonctionnement historique (distinction portfolio et images).
    Le plugin de rétro-compatibilité) permet d’activer ces deux constantes.
  • Les modèles de documents sont revus et simplifiés. Ils utilisent désormais la balise HTML5 <figure>.
  • Possibilité de décliner les fichiers HTML des modèles par type de fichier (mime type) : file_text.html ou par extension : video_mp4.html, file_text_csv.html. En conséquence vos variantes personnalisées doc_[variante].html correspondant au raccourci <docN|variante> ne fonctionneront plus et sont à décliner : image_[variante].html, video_[variante].html, etc.
  • Refonte de la gestion technique des « logos », qui sont maintenant en partie traités comme des images classiques intégrées en tant que documents dans la base de données (table spip_documents). Attention : il s’agit d’un comportement transitoire, pour le moment ces images ne sont pas affichées dans la médiathèque comme les autres documents.

Un SPIP plus convivial

  • Intégration dans la distribution du plugin Big Upload qui permet de téléverser les images et documents par glisser-déposer quelle que soit leur taille (documentation sur https://git.spip.net/spip/bigup/src/branch/master/README.md) NB : avec l’arrivée de ce plugin, le dépôt de plusieurs documents via un fichier .zip à dézipper n’est plus possible)
  • Intégration de la librairie Javascript Sortable.js pour prendre en charge le glisser-déposer de façon plus fluide, notamment pour ordonner les documents, en remplacement du module de jQuery UI.
  • Une nouvelle boite modale légère, accessible, responsive et plus jolie basée sur Lity
  • Une feuille de style XSLT fournit des flux RSS stylés
  • Le graphique des statistiques refait à neuf (il utilise d3.js)
  • Le compagnon peut être ignoré pour chaque auteur qui connait déjà SPIP

Un SPIP plus conforme aux normes

  • Plus d’option « se limiter au HTML4 » pour l’espace public, les squelettes par défaut (la dist) passent en HTML 5 (plugin de rétro-compatibilité)
  • Plus d’attribut summary pour les tableaux
  • Intertitres de niveau h2 par défaut, et plus de niveau h3 comme c’était le cas avant (plugin de rétro-compatibilité)

Sous le capot

Boucles
  • Ajout du support des boucles anonymes : <BOUCLE(ARTICLES)>
  • Ajout des parties non conditionnelles de boucles, avant <BB_boucle> et après </BB_boucle>, pour les boucles : ce contenu sera toujours affiché, qu’il y ait un résultat ou pas, mais en permettant d’utiliser les balises propre à la boucle (#TOTAL_BOUCLE, #TRI, etc)
  • Ajout du support des boucles dans la partie conditionnelle des balises : [<BOUCLE(ARTICLES) {0,1}>#TITRE</BOUCLE> (#BALISE)]
Critères
  • Nouveau critère id_ qui permet à lui seul de faire toutes les jointures possibles avec des variables d’environnement. {id_?}
  • Nouveau critère par_ordre_liste pour ordonner une boucle selon un ordre précis. {par_ordre_liste champ,#LISTE{...}}
  • Nouveau critère fusion_supprimer qui permet d’annuler une fusion automatique. {fusion_supprimer}.
    Important : Il faut mettre à jour le plugin SPIP-Bonux, s’il est actif, en version >= 3.7.1 avant de mettre à jour un site existant vers SPIP 4.0 pour éviter un conflit.
Balises
  • Nouveaux arguments de #FORMULAIRE_INSCRIPTION et #FORMULAIRE_LOGIN
Filtres & fonctions
Modèles
  • Des nouveaux modèles de #PAGINATION, plus modernes et polyvalents.
API
  • L’API de déclaration des objets éditoriaux permet désormais de déclarer explicitement les parentés. Des fonctions associées permettent de lister parents et enfants d’un contenu précis.
Autres
  • Modernisation (en cours) des CSS de l’espace privé pour faciliter sa maintenance et extension (rangement et variables CSS notamment)
  • Mise à jour de toutes les librairies JS utilisées

Un SPIP plus stable

  • Support de PHP 7.3, 7.4 et 8.0
  • Nombreuses notices supprimées
  • Correction de bugs
  • Évolution de code
  • Mise à jour des plugins-dist

Un SPIP sous GIT

Cette version alpha est le fruit de notre nouvel espace de développement entièrement passé sous GIT. Ce chantier a été mené pour toute la communauté (core + plugins) et a entrainé la création de nouveaux outils (débardeur, ...) accessibles sur le nouveau site https://git.spip.net/

Concernant le passage sous GIT plusieurs ressources sont disponibles :

Si vous êtes un peu perdu⋅e il y aura sûrement quelqu’un pour vous aider sur l’IRC, n’hésitez pas https://irc.spip.net à passer y discuter ou sur la liste spip-dev

Mettre à jour son SPIP

Une liste d’astuces de migration 3.2 à 4.0 est en cours de rédaction pour mettre à jour votre SPIP, vos squelettes et plugins.

Merci à l’ensemble des testeurs, testeuses, curieux et autres aventurières, de nous faire leurs retours sur cette version :

En route pour SPIP 4.0

Nous envisageons de sortir la version stable de SPIP 4.0 pour début juillet (on croise les doigts 🤞), date où le fidèle polatouche fêtera ses 20 ans 🎉 !

Nous avons encore quelques éléments à peaufiner d’ici là :

  • Stabiliser les nouvelles fonctionnalités (correction des bugs signalés)
  • Stabiliser les styles CSS de l’espace privé déjà modifiés
  • Adapter et moderniser d’autres styles CSS du privé (listes d’objets, onglets)
  • Lustrer les icones
  • Une réflexion est en cours aussi sur l’aide intégrée à l’espace privé

Bref, encore de belles nouveautés à venir pour SPIP 4.0, mais la version alpha en apporte déjà un bon lot :)

FAQ

Activer et tester des plugins non compatibles SPIP 4

Les plugins communautaires ont pour la plupart actuellement une borne maximale en SPIP 3.2 ou parfois 3.3 (dev) (que l’on vient juste de renommer SPIP 4.0 (alpha)) , ce qui empêche leur activation dans cette nouvelle version. Ils seront progressivement adaptés dans les jours à venir.

En attendant, vous pouvez si vous le souhaitez tester rapidement les plugins compatibles SPIP 3.2 en mettant dans le fichier config/mes_options.php :

define('_DEV_VERSION_SPIP_COMPAT', '3.2.99');

Réactiver les anciens plugins-dist présents en SPIP 3.2 (breves, pétitions, ...)

Si vous souhaitez activer les plugins brèves, organiseur, pétitions ou squelettes_par_rubrique via l’interface des plugins, il faut déclarer le dépot de plugins « core » dans l’interface de gestion des plugins, en plus de celui « principal » généralement activé. Cela se fait via cette url de déclaration :

https://files.spip.net/core/archives.xml

Bugs connus de 4.0.0-alpha

  • Le mode plein-écran de la barre d’outil d’édition passe parfois sous le bandeau et pied de page. (corrigé depuis).
  • L’alignement dans certains formulaires de l’espace privé n’est pas réajusté (celui de traduction notamment)

En bref

C’est donc une version alpha que nous vous proposons, et on est tout content !

N’hésitez pas à tester et nous faire des retours par le moyen qui vous convient le mieux, gardez en tête que c’est une version alpha, des bugs sont surement encore présents mais on compte sur vous pour nous les signaler rapidement.

Ha juste un dernier truc avant de vous quitter : faites une sauvegarde avant de migrer et vérifiez votre version de PHP, il faut au minimum PHP 7.3 😉 !

Messages

  • Youhouhou super !

    Peut-être insister d’emblée sur la version mini de PHP, certain⋅es pourraient avoir une mauvaise surprise, même pour une alpha.

    Sinon comme d’habitude tout est fait pour ne perdre personne en route et laisser le temps de s’adapter c’est très appréciable par les temps qui courent !

  • Cool ! Du coup, je vais me fendre d’un journal sur LinuxFr.org pour annoncer la nouvelle, si personne ne s’y colle avant.

  • Big KISS ! Keep it simple, stupid ... Voilà à mon sens, la qualité première de SPIP.
    Un grand merci à l’équipe.

  • Bravo à toute l’équipe ! SPIP a été mon premier CMS, en 2003, voici une excellente occasion avec cette 4.0.0-alpha de revenir vers mes premières amours ^^

  • bonjour et bravo !
    je me demandais si vous aviez prévu de partager des copies d’écran de ces nouveautés, en particulier pour l’interface de l’espace privé qui n’a pas vraiment changé depuis les années 2003-2004 !

  • Bravo à toute l’équipe. Très beau travail. Comme j’aime le risque, je l’utilise déjà depuis de nombreuses semaines en production et j’en suis plus que satisfait  !

  • Bonjour,
    Merci pour le travail !
    Je suis en local pour Spip_4.0,
    Ou trouver les plugins compatibles
    pour Spip_4.0 ?
    Merci pour vos réponses
    Cordialement
    Gilles
    https://cgsebdeb.fr/

  • @Gilles, tu peux déjà activer n’importer quel plugin sur une 4.0 en suivant les indications listés dans le paragraphe « Activer et tester des plugins non compatibles SPIP 4 ».

    On va bientôt ajouter une catégorie 4.0 sur https://plugins.spip.net/

    @Pascal pour les captures d’écran, tu peux en trouver dans les différentes Pull Request qui concernaient ce travail sur https://git.spip.net/spip/spip/pulls ; et spip.net est déjà en 4.0 si tu veux avoir une idée de ce que ça donne, mais le plus simple est d’en installer une chez toi en local par exemple :)

  • Merci beaucoup pour ce gigantesque travail ! Le coup de frais sur l’espace privée redonne une nouvelle jeunesse à SPIP.

  • Bonjour,

    Merci pour le travail sur SPIP 4.0 !

    je suis passé sur mon site https://cgsebdeb.fr/ en 4.0

    Petit problème sur les insertions des logos qui restent énormes en site public ? en exemple j’ai laissé le logo de l’ACS sur mon site pour voir ce que cela donne

    le thème est Spipr - php 7.4

    Merci pour vos réponses.

    Cordialement

    Gilles

  • @gilles

     > a mon avis le problème se trouve ailleurs, car les fonctions de reduction d’image/logo n’ont pas changé en SPIP 4, a part pour intégrer la reduction du svg
     > il faudrait plutot en discuter sur discuter.spip.net, avec
    a. Une url précise
    b. Le bout de squelette concerné

  • Bonjour,

    Bonnes nouvelles que tout ça. Je pensais justement utiliser SPIP comme base pour mon prochain site (étant un ancien utilisateur assidu au milieu des années 2000, comme un autre commentateur ci plus haut). Je pense attaquer directement mon développement avec la V4 plutôt que d’utiliser la V3.

    Où en est l’ajout du support de cette nouvelle version pour les différents plugins, en particulier le GIS ?

    Bon travail et à bientôt,

    mathieu

  • @mt21 GIS est bien fonctionnel en 4.0, je ne l’ai pas encore marqué comme compatible, mais tu peux déjà l’activer en utilisant le define('_DEV_VERSION_SPIP_COMPAT', '3.2.99');

  • @b_b : génial, merci pour l’info !

  • Bonjour,

    Je suis depuis longtemps vos développements et je viens d’installer la dernière release, bien jolie côté administration, bravo !

    J’ai refait le tour du proprio et puis une fois un premier article créé et publié — ne pas oublier avant de créer une section —, j’ai voulu changer le look du site public. J’avise Flatly qui me parait joli (la miniature est toutefois super petite, c’est dommage) et l’installe et puis…

    Et puis voilà, ça ne change rien, je vois juste ce plugin — plugin ? ça n’est pas un thème plutôt ? — listé et activé mais où changer le look du site ? Je ne sais pas.

    J’avoue ne pas avoir beaucoup cherché dans la documentation, au delà de https://www.spip.net/fr_rubrique136.html, mais n’ai rien trouvé de convaincant en ce qui concerne le look du site public.

    Il y a surement quelque chose que j’ai loupé, mais quoi ? Quelqu’un a une idée ?

    Au passage, je ne suis certainement pas le seul dans ce cas, si ? Ça laisse une impression de « c’est pas pour moi, je vais chercher autre chose pour faire mon site, je dois être trop débutant ». Dommage.

    PS : J’espère que ceci sera lu comme une critique constructive, je sais le boulot que représente le développement d’une appli comme Spip — de mon côté je m’occupe d’une petite appli qui s’appelle Dotclear ;-)

  • @Franck : Comme sur les versions précédentes, il faut aller titiller un peu le cache pour qu’il se mette à jour.

    https://ton_site/ecrire/?exec=admin_vider

    µEt je suppose que c’est fait mais au cas où je précise quand même : Flatly est un thème bootstrap proposé par bootswatch. En l’état il ne sera compatible qu’avec un plugin-squelette qui intègre le framework et les thèmes Bootswatch.
    Je suppose que Spip’R doit le proposer (sinon mon squelette ZKTX le gère très bien mais il n’est, ni stable, ni documenté pour le moment)

     ;-)

  • Bonjour et merci pour les réponses @Loiseau2nuit

    J’avais installé Spip’R, mais je n’ai toujours pas trouvé où activer le thème. Un vidage du cache ne change rien, ce que je pressentais.

    Quant au thème/plugin Flatly, aucune trace dans l’administration, à part sa présence dans la liste des plugins activés.

    Bref, ça reste un grand mystère pour moi… (j’espère que je suis le seul vu que ça ne porte pas à conséquence comme je ne fait que le tester en local).

    Cela dit, je ne vais pas utiliser ni recommander Spip pour un usage productif, je trouve ça un peu dommage d’être bloqué si vite par quelque chose de si trivial, à mon sens, que de changer le look d’un site.

  • Je complète qu’en voulant réinstaller SpipR, j’ai un message d’erreur :

    • The plugin SPIPr-dist depends on the plugin BOOTSTRAP4 ≥ 4.0.0.

    Sauf qu’aucun plugin nommé comme tel est présent dans la liste des plugins dispo.

  • sur plugins.spip.net, la recherche le trouve de suite : https://plugins.spip.net/bootstrap4.html

  • Ah ok, je ne le voyais pas dans la liste affichée dans l’admin. Supposément parce qu’il n’est pas compatible avec la v4 toute neuve.

Un message, un commentaire ?

Qui êtes-vous ?
Se connecter
Votre message

Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.