Carnet Wiki

Présentation de 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 : 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é tout particulièrement 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 et associatif que gouvernemental. 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(mais plusieurs sont intégrables par plugins), la gestion des thèmes graphiques est désormais standardisée, et il est facile d’offrir de nouvelles fonctionnalités en rajoutant dans les squelettes (utilisant presque exclusivement le langage HTML, avec quelques balises spécifiques que seul le Webmestre devra reconnaitre) pour l’interface publique, à supposer que vous ne trouviez pas le plugin qui apporte déjà les briques de boucles nécessaires (les noisettes).
Et un unique copier-coller permet d’y insérer d’autres noisettes trouvées sur le net

Structure des contenus

L’objet éditorial de base de SPIP est l’article (très inspiré des publications de type Presse à l’origine : Le Monde Diplomatique). Un article peut comprendre les informations : Date de publication, de modification, 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 forum de messages. Pour la gestion des photos et plus généralement de documents multimédia, outre une large palette de filtres graphiques disponibles en standard sur GD2, de nombreux plugins permettent aujourd’hui l’intégration facile de ces supports.D’autres objets éditoriaux sont natifs, ou faciles a créer : un annuaire de sites en natif, une gestion des brèves, comprendre 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 définir 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, même si la gestion synthétique du site dans l’interface d’administration reste à ce jour plutôt 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 éditoriaux” et de formulaires de saisie/interrogation est désormais possible sans aucune programmation, simplement avec le chargement de plugins Saisie, vérifier.. sans parler de l’accès direct automatique à des tables externes, qu’il suffit d’appeler par une URL en-ligne.

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 par mail ou crayons, 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’étendre les possibilités de traitements personnalisés- pratiquement sans programmation- et utilisé directement dans les squelettes, permet le développement d’une gestion de navigation contrôlée coté interface publique..

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. L’utilisation des champs standards dans les squelettes permet de mettre en place une date de début et une date de fin de publication.
Des contributions complémentaires organisent la pérennité et l’archivage automatique d’articles selon l’ancienneté.

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 que Twig (la solution désormais intégrée à Symfony2), cela permet de facilement personnaliser la présentation des données,sans aucun risque pour le moteur de SPIP 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écursivité ou ou le dédoublonnage, et les affichages conditionnels sont simplement réalisables, y compris sur des bases de données extérieures au moteur SPIP sans nécessiter de déclarations 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’étendre 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 logué 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 intègre 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 personnalisation de l’interface privée, qui peut d’ailleurs etre 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’édition, 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 même, 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 même de SPIP, permettant une interface simplifiée -analogue à PDO- avec toutes les bases de données SQL) 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’intégration des plugins de façon normalisé au moteur de SPIP.

YannX - Mise à jour :16 April 2016 at 01:48