Carnet Wiki

presentation SPIP

Version 5 — February 2012 YannX

Les points clefs :
-  Un multilinguisme natif, avec toute la documentation d’origine en francais
-  Une “squelettisation” des pages
-  Un framework de développement permettant un haut niveau de personnalisation sans connaissance en programmation.

Reprise de l’article de présentation de spip sur smile:

http://www.smile.fr/Solutions/Selection-d-outils/Spip

Possibilité de retravailler le texte (déjà modifié) à cette URL: http://piratepad.net/G6JBUXdGtr

Solutions/Sélection d’outils/Spip

Spip

Le monde open source est riche en solutions de Gestion de Contenu développées en php. Parmi toutes les offres, une solution -francaise- retient l’attention a retenu notre attention : Spip.

Globalement, Spip possède tout ce qu’il faut pour gérer un site web, avec beaucoup de fonctionnalités diverses, et même une mise en cache des pages pour supporter une charge importante et plus de rapidité.

Spip est apprécié Nous apprécions tout particulièrement Spip pour sa simplicité d’utilisation, mais aussi pour le dynamisme de sa communauté qui en fait un logiciel évolutif, sécurisé, stable, toujours simple et efficace.

Spip fait partie des outils de gestion de contenus recommandés , tant dans le monde industriel que Smile recommande et associatif que gouvernemental intégre pour ses clients . Facile d’accès et simple à mettre en oeuvre, il répond à une certaine gamme de projets et de besoins, en particulier dans de grandes organisations, gouvernementales ou non.

<...>

Framework ou prêt à l´emploi ?

Spip est entièrement prêt à l’emploi. De plus, son installation est très aisée et entièrement automatique. L’interface d’administration est soignée et englobe toutes les manipulations nécessaires à l’administration et à l’exploitation d’un site. S’il n’y a pas d’éditeur HTML wysiwyg en standard, la gestion des thèmes graphiques est désormais standardisée, et il est facile d’offrir de nouvelles fonctionnalités en rajoutant des squelettes (utilisant presque exclusivement le langage HTML, avec des balises speicfiques que seule le Webmestre devra connaitre) pour l’interface publique, à supposer que vous ne trouviez pas le plugin qui apporte déjà les briques de boucles nécessaires (les noisettes).

Structure des contenus

L’objet editorial de base de SPIP est l’article (très inspiré des publications de type Presse à l’origine : Le Monde Diplomatique). Un article comprend les informations : Date de publication, Auteur, Mot-clé prédéfini, Titre, sous-titre, sur-titre, descriptif rapide, Texte introductif, corps de l’article et post-scriptum, avec associées à chaque article une gestion des pièces jointes (images ou documents téléchargeables), et d’un formum de messages. Pour la gestion des photos et plus généralement de documents mumtimédia, outre une large palette de filtres graphiques disponibles ens tandard sur GD2, de nombreux plugins permettent aujourd’hui Une brève comprend un titre, un texte et un lien hypertexte.

Organisation des contenus

Pour Spip, un article appartient à une et une seule rubrique, mais on peut nativement lui definir des alias (articles virtuels pointant sur un article du site, ou aussi bien des pages externes. Mais on peut lui associer plusieurs mots-clés, et l’organisation par mots-clé permet de définir des arborescences transverses. Par exemple, dans le site monde-diplomatique.fr, un article ne figure que dans une rubrique, correspondant à une édition du journal et apparait sous plusieurs mots-clés (drogue,chômage, etc).
La structuration du site est donc assez souple à réaliser sans connaissances autres que HTML -et les boucles SPIP-. De nombreux plugins permettent des accès et navigations complémentaires, meme si la gestion synthétique du site dans l’interface d’administration reste à ce jour plutot limité à un tri classique par date, dans l’attente des nouvelles possibilités de personnalisation-squelettisation de l’espace privé.
Enfin la création de nouveaux “objets editorials” et de formulaires de saisi/interrogation est désormais possible sans aucune programmation, simplement avec le cahrgement de plugins Saisie, verifier..

Gestion des contributions

Spip permet à plusieurs contributeurs d’agir sur le site, avec des droits différents. Pour Spip, il s’agit d’auteurs , qui sont soit simples visiteurs enregistrés, soit rédacteurs soit administrateurs, et qui accèdent à toutes les rubriques ou à une seule. Des squelettes personnalisés permettent d’intégrer la gestion d’un Wiki, l’édition directe d’articles ou la syndication. Spip permet aussi à n’importe quel internaute de participer à un forum autour d’un article. Cette fonctionnalité, souvent mise en oeuvre dans les sites web des communautés, permet de faire vivre un site au travers des internautes, et apporte un réel ’plus’ à un site éditorial. La modération se fait à priori ou à postériori.

Workflow de validation

Avec Spip, un article peut être à l’état brouillon, validé, publié, refusé et supprimé . Selon son statut de rédacteur ou d’administrateur, on pourra ou ne pourra pas mettre en ligne un article. Un système d’autorisations liée à l’annuaire des auteurs (éventuellement adossé à un annuaire d’entreprise, type LDAP par exemple) permet d’etendre les possibilités de traitements personnalisés.

Cycle de vie des articles

Spip répond au besoin standard et permet de publier des articles, préparés à l’avance, à partir d’une date donnée, mais sans date de fin de publication. Une modification légère permet de mettre en place une date de début et une date de fin de publication.

Publication

Spip possède depuis toujours un système de squelettes (gabarits) spécifique, avec quelques balises intégrées au code html. Pratiquement aussi puissant queTwig (la solution désormais intégrée à Symfony2), cela permet de facilement personnaliser la présentation des données,sans aucun rique pour le moteur du CMS ou l’intégrité et la confidentialité des données (voir plus bas les sécurités et “autorisations”), et différentes opérations telles que les boucles imbriquées, la récursité ou ou le dedoublonnage, et les affichages conditionnels sont simplement réalisables, y compris sur des bases de données exterieures au moteur SPIP sans nécessiter de declarations préalables.

Personnalisation de la restitution

Outre la simple personnalisation de l’apparence graphique, autorisée par les techniques bien connues des CSS, ou le rechargement de ’thèmes’ graphiques, les squelettes définissant les types de pages mises en cache peuvent contenir, et/ou du code php qui ne sera exécuté qu’au dernier moment, (rendant facile de personnaliser complètement les pages), mais aussi un jeu très de balises (sorte de fonctions PHP pré-programmées ou programmables), qui l’est facile d’etendre par programmation annexe en PHP ou simple chargement de plugins : il est possible de personnaliser simplement les pages. Afficher le nom de l’internaute, son statut si celui-ci est loggué comme visiteur ou rédacteur est donc chose facile : les possibilités natives de SPIP ne demandent qu’une insertion d’une balise SPIP dans la page à compléter, première facette visite d’un système d’authentification capable de s’appuyer même sur un annuaire interne LDAP. SPIP integre aussi un système élaboré de “noisettes”, ensemble de sous-programmes d’affichage avec passage de paramètres, intégrant toutes les possibilités d’inclusion sans sortir de la page et du standard HTML.
Enfin, il faut signaler les progrès récents de personnlisation de l’interface privée, qui peut d’ailleurs etre presque totalement intégrée à l’interface publique, avec la gestion native des fonctions d’autorisation (pour les droits respectifs des utilisateurs authentifiés) directement accessibles au sein des squelettes de personnalisation de l’espace public.

Classement et moteur de recherche

Spip possède en interne un moteur d’indexation et de recherche, qui permet de faire des recherche textuelles au sein du site. Pour la recherche sur de très gros sites, et les documents joints, il est préférable d’utiliser des produits spécialisés (plugin FULLTEXT, etc...).
D’autre part, l’architecture native de SPIP intègre une gestion élaborée de mot-clés, intégrée dans l’espace privé, que le système des BOUCLES permet d’utiliser pour offrir des modes de navigation alternative, et bien d’autres possibilités d’usage.

Correcteur d’orthographe

Spip dispose d’un correcteur d’orthographe intégré aux fenêtres d’edition, permettant de gérer son propre dictionnaire. Le correcteur est en fait sur un serveur web distant, ouvert pour tous les utilisateurs de Spip. De meme, un serveur d’aide en-ligne est nativement intégré aux pages de l’interface privée, et une facilité de glossaire personnalisable étend les références au glossaire standard de Wikipedia.fr

Architecture modulaire et framework d’application

Dès le début de son développement, SPIP est fondé sur plusieurs niveaux de structuration, avec une architecture modulaire, en particulier l’intégration d’API (tant au moteur meme du CMS, permettant une interface simplifiée -analogue à PDO- avec toutes les bases de données) qu’en introduisant la notion de “pipelines”, des points d’entrée normalisés pour insertion de traitements personnalisés dans le flux des données à afficher.
L’architecture de SPIP intègre aussi un modèle de surcharge (tant pour les fonctions de traitement que pour la recherche des fichiers de squelettes et noisettes) qui assure désormais directement la problématique de développement et d’integration des plugins de facon normalisé au moteur du CMS.