Le premier changement frappant, c'est bien bien sûr la réorganisation des fichiers. Là où tout était en vrac en 1.8, tout est désormais structuré et rangé, et c'est impressionnant. Vous remarquerez aussi l'abandon du .php3 pour passer au tant attendu .php. Mais les développeurs ont mis à jour le système sans oublier la rétro-compabilité, et des fichiers obsolètes sont encore présents pour vous permettre de passer en douceur à cette nouvelle mouture, pour par exemple vous permettre de continuer à utiliser vos squelettes. Attention, ce n'est qu'un moyen de faire passer les choses en douceur : toutes ces concessions seront entièrement abandonnées pour la 2.0 ! Mettez donc à jour votre installation au fur et à mesure.
L'ajout majeur, c'est l'arrivée des plugins, permettant par exemple d'éditer les squelettes en ligne ou d'utiliser un éditeur WYSIWIG générant du code SPIP (et pas de la bouillie HTML). On jettera un œil à recherche étendue, ajoutant quelques fonctions sympas et à la barre typo enrichie, ajoutant des raccourcis SPIP et la barre qui va avec pour l'édition de contenus. Mais le mieux serait de vous faire votre propre idée, allez-y, le choix est vaste ! Pour comprendre le système et - bientôt - écrire vos propres extensions, un article les plugins est publié sur Spip-Contrib.
De tels changements ne pouvaient avoir lieu sans un nouveau squelette par défaut, adieu donc à dist et bienvenue à FraichDist, fruit du travail de Romy... compabilité xHtml Strict et refonte ergonomique, le changement tant attendu est enfin arrivé. Je regrette personnellement l'abandon de la maquette étirable, mais le résultat est tout de même très sympa. Pour voir FraichDist en production, rendez vous sur Spip-Contrib voire même sur Spip.net.
Le principe des squelettes est également repensé. Oubliez le couple squelette.php3 et squelette.html, seul le dernier vous restera utile. Les adresses changent donc radicalement, puisque tout transite par le nouveau fichier spip.php : spip.php?page=squelette remplacera squelette.php3. Un peu moins évident mais plus sympa, article.php3?id_article=1 deviendra spip.php?article1. D'autant plus que dans une configuration SPIP classique, index.php renvoie vers le fichier spip.php... Alors à moins d'avoir touché à quelque chose, vous pourrez même employer ?article1 et ?page=squelette !
Cette évolution implique l'apparition de nouvelles balises à rajouter (au tout début) dans vos fichiers de squelettes : #CACHE{durée} et de #HTTP_HEADER{ligneEntête}.Afin de vous simplifier la tâche et pour accéder rapidement à l'adresse d'un fichier contenu dans le dossier de squelettes, utilisez #CHEMIN{fichier.css} et l'URL sera automatiquement créée. Pareil pour obtenir un lien vers une page : #URL_PAGE{contact} renverra spip.php?page=contact.
Le cache est grandement amélioré, et ne dépend plus seulement de la page visitée, mais aussi du dossier de squelettes et d'une variable tierce qu'il vous conviendra de fixer si vous en avez l'utilité, $marqueur. Concrètement, cela apporte la possibilité de créer un système de choix de squelette sans perdre les avantages du cache : une version de celui-ci est calculée pour le squelette X et une autre pour le squelette Y. Une contribution est d'ailleurs née, permettant d'utiliser ?var_skel=X pour changer facilement de gabarit !
Des fonctions très puissantes de manipulation d'images apparaissent, et sont détaillées sur le site de leur auteur, ARNO*. On retiendra |image_typo (pour des titres en image) ou |image_masque intégrés par défaut, sans parler des nombreux filtres très sympas présentés par le mousquetaire.
La liste impressionnante des modifications apportées au système de gestion de contenu a tout de même un impact négatif méritant d'être signalé : SPIP 1.9 est plus lent (ou moins rapide ?) que SPIP 1.8. Certaines mesures sont très négatives tandis qu'esj[1] minimise. Quelle que soit la réelle perte, elle est en tout cas bien présente. Évidemment, les nouvelles fonctionnalités sont à la mesure de ce ralentissement, mais il reste malvenu, comme toute perte de performance brute... l'apparition de plugins permettant de limiter le travail du noyau et la rénovation du compilateur nous aurait plutôt inciter à croire le contraire !
Ceci dit, pour l'avoir essayée, cette nouvelle mouture mérite amplement la migration.
Rendez-vous samedi pour SPIP 1.9 !
Notes
[1] Emmanuel Saint-James, un des mousquetaire (développeur principal de SPIP)


