SPIP 1.9 sur l'établi, entre la scie et la clé à molette...
Par Deeder le jeudi 10 août 2006, 01:23 - Banc d'Essai - Lien permanent
On annonçait il y a quelque temps déjà la sortie de SPIP 1.9, avec pour principale modification, une mise aux normes du W3C et un meilleur respect des critères d'accessibilité. N'ayant pas eu affaire à SPIP depuis belle lurette[1], le testing de cette version figurait dès lors sur ma to-do list. Et bien c'est aujourd'hui une chose de plus d'accomplie avec ce billet. Dans la lignée des beta-tests de Dotclear 2 et de phpBB3, on s'attaque désormais à ce célèbre CMS.

Notes
[1] On me l'avait conseillé à mes débuts, il y a de ça deux ou trois ans, lorsque je m'attaquais au PHP pour la première fois. Après l'avoir testé, j'en ai rapidement conclu qu'il était trop complexe pour ce que je désirais faire, et ainsi l'ai-je vite abandonné.
Un petit tour sur le site officiel où traînent des écureuils et des liens de téléchargement partout, un petit download de l'archive de 2,6Mo et hop, on lance l'installation. Installation d'ailleurs très simple et accessible à n'importe qui, débutant ou confirmé. Un outil permet étape par étape de se connecter à la base de données, de choisir sa table parmi celles présentes et même d'en créer une au besoin. On crée ses identifiants, reste à se connecter pour accéder à l'interface d'administration, ouf ! On y est.
Quel est donc cet étrange enchevêtrement de tableaux et de scripts javascript en tous genre ? Vous dites ? A-d-m-i-n-i-s-t-r-a-t-i-o-n ? Ha. Bien. Heu, on commence par où ?...
Et oui, au premier abord, comme d'antan, on semble perdu dans cette administration très complexe complète. Un gros menu, comportant de grandes icônes, le survol de chacun de ces icônes ouvre un nouveau menu comportant lui-même plusieurs icônes. Et en dessous de ce gros menu, la même chose, mais en différent plus petit. Pour peu, on s'y perdrait vite. Allons, un peu d'organisation et de méthodologie et commençons nos test. Création d'une catégorie, d'une brève et d'un article, tout se passe le plus simplement du monde. Ha, voilà un bouton qui permet d'afficher une interface plus complète au dépend de l'interface simplifiée[1] par défaut. Là, quelques options en plus, rien de bien méchant à vrai dire.
Continuons notre exploration. Tiens, un bouton "Référencer un site" : qu'est-ce donc là ? Je rentre l'url, il trouve lui même le nom du site et les éventuels fichiers de syndication pour enfin me proposer d'afficher le contenu de mon flux RSS. Il est vrai qu'ils avaient annoncé la syndication avancée
comme l'une des principales nouveautés de cette version. Et bien c'est réussi à en croire le rendu sur le site powered by SPIP.
Le site se rempli, la mise en page de base, très simple, permet de différencier les différents éléments. Vient ensuite l'essai de la gestion des traductions d'un article. Le test est concluant, malgré quelques imprécisions ou difficultés liées à l'association des différentes catégories aux articles et à leur(s) traduction(s). Bref, ça marche pas mal. Les commentaires permettent de se référer à un article ou autre source externe au site : une fonctionnalité sympa mais qui me laisse plus perplexe sur un autre aspect technique : la gestion du cache.
En effet, l'ajout d'un commentaire oblige à "recalculer la page" selon les termes employés afin que celui-ci soit affiché sur la page d'accueil. Un simple rafraîchissement de la page ne suffit pas : embêtant. Reste à voir si le problème se reproduit une fois en production et délogué. Je n'ai pas pris le temps de tester le support des formats SVG, Abiword, Blender, Flash Video (flv), et truetype (ttf), mais ça parait prometteur. Tout comme les filtres graphiques fonctionnels sur les serveurs où la librairie PHP GD2 est installée et qui permettent de retoucher et traiter les photos et images.
Plus standardistiquement parlant, une fois un peu de contenu ajouté, et malgré une DTD XHTML 1.0 Transitional[2] il y a un gros effort de fait. La sémantique est respectée, les pages sont valides, et l'accessibilité des formulaires a été améliorée, notamment par la présence de labels jusqu'alors inexistants et à l'insertion de balises <fieldset> et <legend> nécessaires à l'organisation logique de ces derniers.
Mais il reste encore un effort à faire pour parfaire le tout, en ajoutant par exemple des liens d'évitement, en supprimant les <br /> "nettoyeurs" superflus ou en les remplaçant par une balise plus appropriée, ou en remplaçant certains div littéralement vides de sens par des paragraphes ou balises ayant une sémantique précise. La modification des templates qui se veulent assez simplistes devrait pouvoir palier en partie à ces erreurs certes minimes mais bien présentes.
Pour ceux qui ne sont que peu habitués à ce genre de bidouilles, la documentation est assez complète et très bien détaillée. Il devient donc assez facile, en ayant du temps à passer, de créer un site à son image. La rétro-compatibilité envers les fonctions des versions antérieures assure une mise à jour en douceur vers la nouvelle version, et assure une transition vers la prochaine version majeure 2.0 dont on commence à parler dans la documentation. J'attends impatiemment cette mise à jour pour voir si les quelques erreurs visibles ont été modifiées.
En résumé, cette version du CMS SPIP est assez sympathique, avec des fonctionnalités intéressantes (et je n'ai pas parlé de l'implantation de plugins, de l'ajaxisation de l'administration, ou du système de sauvegarde très bien développé : pour plus de renseignements sur les changements effectués, veuillez voir l'article officiel) et malgré une interface brouillon, il reste assez simple d'emploi et un des meilleurs choix pour les débutants, principalement grâce à sa facilité d'installation. Pour une interface plus sobre à la Dotclear, on y préférera Plume CMS, français lui aussi, et d'un très grand respect en ce qui concerne l'accessibilité et les standards et idéal pour les petits sites avec une architecture simple. Mais pour les sites plus complets, avec une architecture plus complexe ou sous plusieurs langues, on choisira SPIP qui reste une des références en la matière. 
Notes
[1] Heureusement qu'ils l'ont précisé, on aurait du mal à le deviner
[2] Attention, je vois venir les puristes : je ne dénigre pas les DTD transitional, à chaque utilisation, à chaque besoin son doctype. C'est une question de choix, mais dans ce cas, un Strict aurait pu être appliqué avec seulement quelques efforts dans les templates.



Commentaires
Fil des commentaires de ce billet