SPIP 4.0 alpha arrive!
C’est assez rare pour que je fasse un petit mot dessus et surtout sur une version alpha, mais beaucoup de bruits dès que c’est Wordpress et pas grand chose pour SPIP… Ne sachant pas trop comment m’y prendre, je reprends le billet de présentation et m’en vais tester l’animal.
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éesdoc_[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
- Nouveaux filtres ajouter_class, supprimer_class et commuter_class
- Filtre lien_ou_expose amélioré
- Le filtre
|singulier_ou_pluriel
peut être étendu pour chaque langue en créant son propre filtresingulier_ou_pluriel_<lang>
, qui sera appelé si la langue correspond - Nouveau filtre appliquer_si_filtre en complément de appliquer_filtre : le 1er renvoie le contenu initial si le filtre cherché n’existe pas, le 2d ne renvoie plus rien.
- Nouvelle fonction identifier_slug()
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 :
- nous vous conseillons la lecture de Guide Git pour SPIP si vous souhaitez comprendre un peu mieux GIT.
- un outil d’installation de SPIP en ligne de commande est mis à disposition (avec sa documentation et des exemples). Complémentairement l’outil d’installation de spip-cli intègre le changement vers GIT.
- une « FAQ pratique : Comment SPIPer avec git.spip.net » peut être utile.
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 :
- par email sur la liste de développement
- par IRC sur http://irc.spip.net
- en créant un ticket
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 😉 !
Commencer la discussion: Venez écrire un commentaire dans le forum