Découverte de SPIP 2

Découverte de SPIP 2

Après avoir fait quelques projets en SPIP en 2007 et 2008, je n’avais pas eu l’occasion d’utiliser de nouveau ce CMS depuis son passage en version 2. Entre temps, il est vrai que j’ai beaucoup travaillé sur différents CMS que ce soit dans le cadre professionnel ou personnel. On peut citer eZ Publish, Drupal, Joomla, Wordpress, Dotclear. J’ai donc acquérit une vision d’ensemble des différentes solutions du marché. Il faut bien avouer que SPIP se place parmis les meilleures produits.

Principales fonctionnalités

Une structure arborescente

SPIP permet d'organiser sont contenus dans une hiérarchie de rubriques, il n'y a pas de limitation sur le hauteur de l'arbre de rubrique.

Les articles

L'objet principal permettant de publier des informations sous SPIP est l’article. On peut placer autant d’articles que nécessaire, dans n’importe quelle rubrique. Un article est constitué de plusieurs éléments qui permettent de le structurer : titre, surtitre, soustitre, descriptif, chapeau, texte principal, post-scriptum. Les règles de base de la typographie française sont appliquées automatiquement (espaces insécables avant les points d’interrogation, d’exclamation, ...). L'édition des articles se fait via des raccourcis typographiques à la manière d'un Wiki. En plus des articles, on trouve les brèves qui sont de "articles simplifiés".

Les forums

Les forums sous SPIP correspondent à plusieurs types de fonctionnalités que l'on trouve habituellement sur le Web : Le dernier point est particulièrement intéressants car SPIP permet non seulement de s'occuper de l'interface visible d'un site, mais il fournit également toutes les fonctionnalités nécessaire à la gestion éditoriales (forum privé, agenda privé, gestion des droits, workflow, ...).

Syndication de contenu

SPIP est fournit en standard avec un système de syndication de contenu plutot avancé, SPIP peut analyser de les flux RSS et ainsi indiquer les nouveautés d’autres sites. On peut ajouter autant de sites syndiqués que l’on veut. Les sites syndiqués sont associés aux rubriques de son propre site ; ainsi, on peut associer à une rubrique thématique les liens vers des sites traitant du thème précis de la rubrique.

Quelques caractéristiques techniques de SPIP

Le langage de template

Pourtant, loin d’être fan des langages de templates, il faut bien avoué que celui de SPIP apportent un certain confort dans la mise en place d’algorithme simple. Le système de boucle permet de notamment de gérer facilement les alternatives lorsqu’aucun élément n’est présent.

<bn> 
<!-- Code HTML optionnel avant --> 
<bouclen(TYPE){critère1}{critère2}...{critèrex}> 
<!-- Code HTML + balises SPIP --> 
</bouclen> 
<!-- Code HTML optionnel après --> 
</bn> 
<!-- Code HTML alternatif --> 
<//Bn> 

La présence d’un grand nombre de critère prédéfinis facilitent les tris et permet d’avoir un code dont la lecture est très proche du langage naturel. Sa nature radicalement différente de PHP apporte un réel plus. Malheuresement, dès que l’on veut faire des choses complexes le langage de template est d’une lourdeur incroyable. Il suffit de regarder le modèle par défaut pour la pagination pour s’en rendre compte.

#ENV*{bloc_ancre} 
#SET{bornes,#ENV{page_courante}|bornes_pagination{#ENV{nombre_pages},10}} 
#SET{premiere, #GET{bornes}|reset} 
#SET{derniere, #GET{bornes}|end} 
#SET{separateur,#ENV{separateur,'|'}} 
[<a href='[(#ENV{url}|parametre_url{#ENV{debut},''})]##ENV{ancre}' class='lien_pagination' rel='nofollow'>(#GET{premiere}|>{1}|?{'...',''})</a> #GET*{separateur}] 
#SET{i,#GET{premiere}} 
[(#GET{i}|<={#GET{derniere}}|?{' ',''})[ (#SET{item, #GET{i}|moins{1}|mult{#ENV{pas}} }) ]
    [(#INCLURE{fond=modeles/paginationitem}
    {num=#GET{i}}
    {texte=#GET{item}}
    {separateur=#GET*{separateur}}
    {url=#ENV{url}|parametre_url{#ENV{debut},#GET{item}}|ancre_url{#ENV{ancre}}}{page_courante=#ENV{page_courante}}{derniere=#GET{derniere}})] 
] 
... 

Heureusement, SPIP met à disposition d’autres outils utilisable dans les templates permettent de contourner ce problème.

Les modèles

Les modèles sont généralement de petits templates qui sont utilisables à la fois dans l’éditeur de texte ou directement dans les templates. Ce mécanisme est extrêmement simple à mettre en place. Il suffit de mettre un fichier de template dans le répertoire modeles de dossier qui contient votre squelette et le tour est joué.

Les formulaires

Basé sur une architecture CVT (Charger Vérifier Traiter), les formulaires sont faciles à mettre en place. Ils sont bien architecture en 4 composants distincts :

L'accessibilité et les standards Web

Voila certainement l’un des points fort de SPIP, c’est son respect des standards Web, et notamment le fait qu’il possible de répondre favorablement à toutes les exigences des critères d’accessibilités. En effet, il est parfaitement possible de mettre du code HTML ou des raccourcis typographiques dans n’importe quels champs de saisies. On peut par exemple marquer les changements de langue dans les titres sans affectés les URLs générés. La seule contrainte pour le rédacteur est de connaitre le HTML et l’utiliser à bonne escient. Mais bon HTML n’est il pas la langue du Web ?

Les plugins

Comme tous CMS qui se respectent, SPIP fournit un mécanisme de plugins. Comme chez la concurrence, leurs qualités est extrêmement variables

Limitation

La principale limitation qu’offre SPIP est sa documentation bien que très volumineuses, seules les fonctionnalités basique sont très détaillés. Quand, il s’agit de faire un plugin, des formulaires, ou autres fonctionnalités cachés, la documentation se limite souvent à un listing des fonctions disponibles, ou à un exemple basique qui n’apportent finalement pas grand chose. Bref, souvent seul le code source nous donnent l’information souhaité. Le problème est d’autant plus grand que SPIP bien que parfaitement architecturé s’écarte des standards habituelles que l’on trouve sur les autres produits.

SPIP est un gestionnaire d’article, le moins que l’on puisse dire c’est qu’il le fait bien. Par contre, dès que l’on veut faire des fonctionnalités qui sortent du cadre les problèmes commencent.

comments powered by Disqus

Voir aussi

Étude de l'accessibilité d'eZ Publish

Étude de l'accessibilité d'eZ Publish

Comme vous le savez sans doute, je travaille depuis plus d’un an et demi avec le CMS eZ Publish dans le cadre de mon travail. C’est un CMS …

Les 12 meilleurs plugins pour Wordpress

Les 12 meilleurs plugins pour Wordpress

Wordpress propulse mon blog depuis près d’un année, j’ai recherché à de nombreuses reprise les plugins qui pouvait m’être le plus …

Afficher les pages et les posts modifiées récemment avec Wordpress

Afficher les pages et les posts modifiées récemment avec Wordpress

Dans un blog, il peut s’avérer nécessaire de faire remonter sur la page d’accueil ou dans une colonne d’un site les derniers posts …

Quels balisages pour un nuage de tag accessible ?

Quels balisages pour un nuage de tag accessible ?

Les nuages de tags est un type de menu qui a mis du temps à s’imposer comme mode de navigation. L’article de Sébastien Billard …

A la une
  • Rencontre du numérique 2019 - Nîmes
  • référencement naturel d'un hôtel
  • Développeur eZ Platform
  • Tech lead Symfony
  • Expert Qualité Web

Copyright - Sylvain FIX

2009 - 2019