SPIP

Fiche logiciel validé
  • Création ou MAJ importante : 21/04/10
  • Correction mineure : 25/05/12
Mots-clés

SPIP : gestionnaire de contenu Web (CMS)

Description
Fonctionnalités générales

SPIP est un Système de Publication pour l’Internet autrement nommé système de gestion de contenu (Content Management System). Il permet de concevoir, modifier et gérer un site web à plusieurs sans connaissance particulière des langages de programmation web.

Les sites créés avec SPIP sont orientés magazine collaboratif. Vous y retrouverez des termes liés au langage journalistique plus qu’au langage informatique : article, rubrique, chapeau, intertitre... Ce logiciel, dans son organisation et les possibilités qu’il offre pour accompagner la publication, est en effet inspiré des métiers de l'édition.

SPIP offre une organisation en espace public – visible de tout internaute – et espace privé – lieu d’administration du site, rédaction et mise en ligne – via l’interface d’un simple navigateur. SPIP propose en effet une interface web pour rédiger les pages, appelées articles. Un mémento des raccourcis typographiques existants est disponible à :
http://www.uzine.net/IMG/pdf/doc-273.pdf
On peut également joindre tous types de fichiers textes, multimédia, images aux articles (pdf, doc, rtf, avi, wav, jpg, gif, etc.).

L’interface Web permet de gérer :
- les rédacteurs et la publication des pages ;
- les droits d'accès des administrateurs (notion d'administrateur restreint) ;
- les articles, organisés en rubriques et sous-rubriques ;
- le processus de publication (workflow) des articles ;
- les plugins additionnels ;
- l'application elle-même (configuration, sauvegarde/restauration de la base de données au format XML, etc.).

Les articles ont plusieurs statuts possibles : en cours de rédaction, proposés à l’évaluation, publiés en ligne, refusés, à la poubelle.

Note : il est possible à tout moment d'activer/désactiver le suivi des modifications sur le contenu des articles.

Quatre rôles sont définis :
- administrateur : droits maximaux,
- administrateur restreint (statut optionnel) : n'a pas les droits de haut niveau (paramétrages du logiciel, effacement de la base de données, etc.) mais peut effectuer des sauvegardes de la base de données. Sur le plan éditorial, droits identiques à l’administrateur mais « restreints » aux rubriques qu’il gère : création ou suppression de sous-rubriques, d'articles, validation ou rejet des articles soumis par les rédacteurs. Dans les rubriques du site dont il n'est pas administrateur, ses droits sont ceux d'un rédacteur. Un admin restreint ne peut pas créer de mot clef, et il n’est pas reconnu comme « administrateur » par certains plugins.
- rédacteur : il ne peut qu’accéder à l’interface privée, rédiger un article sous n’importe quelle rubrique et décider du changement de statut de ce dernier seulement dans le sens « en cours de rédaction » vers « proposé à l’évaluation ». Dès cet instant l’article est soumis à l’administrateur pour validation qui vaut mise en ligne. Le rédacteur ne peut modifier un article qu’il a écrit s’il est « en ligne » ou « proposé à l’évaluation », il faut pour ce faire, que l’administrateur ou l’administrateur restreint le lui restitue via le statut « en cours de rédaction ». Enfin un rédacteur ne peut modifier un article d’un autre rédacteur sauf s’il est adjoint à la rédaction par le statut de co-rédacteur de l’article.
- visiteur (profil orienté « forum » - statut optionnel). Ce statut est utilisé dans la gestion des forums et peut également permettre l'authentification d'un visiteur en zone publique, pour exemple, il est utilisé dans un plugin pour gérer une restriction d’accès de la partie publique ; plugin « Accès Restreint »

Autres fonctionnalités

SPIP offre également d’autres fonctionnalités soit natives - forums, brèves, moteur de recherche interne, gestion de mots clefs, multilinguisme, fils RSS - soit par l’intermédiaire de nombreux plugins - accès restreint de la zone publique, enrichissement typographique, création et gestion de listes de diffusion, etc… -

Une charte graphique peut être aisément implémentée par la personnalisation des patrons de pages (squelettes). L'écriture de squelette, par contre, nécessite la connaissance de la syntaxe d’écriture des pages SPIP. Il est possible d’écrire des articles au format HTML dans SPIP. Les squelettes peuvent également être sous forme de plugins et donc activables via l'interface privée (gestion des plugins), cette même interface propose une nouvelle fonctionnalité d'installation automatique de plugins.

SPIP offre également un mode de travail "debug".
(ie : nom-de-votre-site/spip.php?article75&var_mode=debug )

Il est intéressant de noter que durant la phase d'installation, il est possible de paramétrer une connexion à un annuaire LDAP servant à importer et authentifier des utilisateurs de l'espace privé.
Voir: http://www.spip.net/fr_article1910.html

Installation automatique des plugins est désormais possible via l'interface privée.

Pour en savoir plus sur les nouvelles fonctionnalités :
http://www.spip.net/fr_article3784.html

Interopérabilité

Export et import de la base de données aux formats xml, et xml compressé (xml.gz)
Cette nouvelle version de Spip est compatible des bases MySQL, mais également PostGres et SQLite.

Contexte d'utilisation dans mon laboratoire/service

Amené à SPIP par le kit CNRS, le site du laboratoire et plusieurs autres sites évènementiels ou relatifs à des projets de recherche sont aujourd'hui en place. La réactivité de la communauté est un élément extrêmement appréciable.

Limitations, difficultés, fonctionnalités importantes non couvertes

Il est important de noter que le développement de SPIP diffère des évolutions des plugins et des squelettes personnalisés (ex : cas des KIT-SPIP CNRS qui est aujourd'hui sous forme de plugin ) qui peuvent lui être adjoints. La documentation et la mise à jour de ces produits logiciels restent dépendantes de leurs propres développeurs. Il peut donc découler des problèmes de compatibilité plugins/SPIP voire de sécurité de leurs utilisations.

Il est à noter que les squelettes - fichiers html intégrant du php et du code SPIP et servant à la construction des pages par l’interrogation de la base de données - sont réunis au même niveau dans un ou plusieurs répertoire(s). Il n’y pas d’arborescence de site web au sens habituel connu des sites statiques .

Le code SPIP (à distinguer de la syntaxe SPIP cf. mémento à la rubrique description) interroge la base de données et construit dynamiquement la page html – article ou rubrique - par un système de boucles. (* cf. Annexe 1)

L'adjonction ou appel de code extérieur est facilité par le concept de plugin ; Spip priorisant ce répertoire à celui de la distribution. Des points d'entrée - fonctions redéfinissables appelées dans le noyau - (pipelines) sont également à la disposition du développeur (cf. http://doc.spip.org/@Les-points-d-entree-pipelines).

Environnement du logiciel
Plates-formes

Versions minimales :
Apache 1.3
MySQL 4.1
SQLite 2
PostGres 8.2
PHP 4

(Pour plus de détails : http://www.spip.net/fr_article3683.html)

Autres logiciels aux fonctionnalités équivalentes

(non exhaustif)
• Joomla : http://www.joomla.org/ et fiche PLUME : http://www.projet-plume.org/fiche/joomla
• Mambo : http://www.mamboserver.com/
• Plone : http://plone.org/
• Typo3 : http://www.typo3.com/

Documents de synthèse Pierre-Yves GOSSET : http://www.projet-plume.org/files/PLUME_Choix_Drup...
Liste et comparateur de fonctionnalités : http://www.cmsmatrix.org/matrix

Environnement de développement
Type de structure associée au développement

Groupement de développeurs bénévoles (essentiellement francophones), la structure reste ouverte à tout un chacun désirant contribuer au développement de SPIP et acceptant la charte d’écriture de code et organisation des sources décrite au lien suivant : http://www.spip.net/fr_article3497.html

Eléments de pérennité

La première version date du 1er juillet 2001 : SPIP 1.0

Références d'utilisateurs institutionnels

Le site SPIP recense à ce jour 9990 sites sous SPIP (liste non exhaustive au 8/04/10).
http://www.spip.net/rubrique91.html

• Plusieurs centaines de laboratoires du CNRS tels que http://www.inist.fr/ , http://cc.in2p3.fr/, http://w3.certop.univ-tlse2.fr/
• Ministère du Développement Durable : http://www.developpement-durable.gouv.fr/spip.php?...
• Ministère du Travail : http://www.travail-solidarite.gouv.fr/
et quelques autres sites gouvernementaux : http://www.spip.net/fr_article884.html?recherche_s...

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums

spip [at] rezo [dot] net (liste en français) Inscription : http://listes.rezo.net/mailman/listinfo/spip
spip-be [at] listes [dot] agora [dot] eu [dot] org (liste en français) Inscription : http://listes.agora.eu.org/listinfo/spip-be
• SEDNA ; point d’entrée regroupant plusieurs listes et forums dédiés à SPIP : http://sedna.spip.org/?page=sedna
• La liste des annonces des développements (suivi seul, pas de post possible) spip-core [at] rezo [dot] net (liste en français) http://listes.rezo.net/mailman/listinfo/spip-core

Documentation utilisateur

• Site principal SPIP : http://www.spip.net/fr (en français)
• Présentation et premiers pas : http://www.spip.net/fr_rubrique124.html
• Guide de l’utilisateur : http://www.spip.net/fr_rubrique136.html
• Guide du webmestre et du bidouilleur : http://www.spip.net/fr_rubrique135.html
• Questions et réponses : http://www.spip.net/fr_rubrique116.html
• Le Framabook SPIP : livre sous licence Art libre de près de 300 pages, téléchargeable à http://www.framabook.org/spip.html, et à destination des rédacteurs SPIP
• Le site SPIP-CONTRIB : http://www.spip-contrib.net

Autres liens utiles (*** cf. Annexe 3)

Divers (astuces, actualités, sécurité)

Liste des plugins Spip :
http://plugins.spip.net/

Kit d’harmonisation web CNRS :
http://www.harmoweb.cnrs.fr
avec le forum d’entraide (modéré par Jean-Baptiste Pressac - Responsable du kit SPIP CNRS) :
http://www.harmoweb.cnrs.fr/spip.php?rubrique28__....

Plume a mis en place une liste plume-spip [at] services [dot] cnrs [dot] fr plus générale relative à l’utilisation du logiciel SPIP dans le contexte Enseignement Supérieur - Recherche, réservée à cette communauté. Pour s'inscrire :
https://www.services.cnrs.fr/wws/info/plume-spip

Article sur 2 intrusions sous SPIP en février 2009 avec des recommandations de sécurité. Cf brève PLUME :
http://projet-plume.org/fr/breve/securite-spip-int...

Compilation de sites sous SPIP :
http://www.spip-herbier.net/

Pour aller plus loin ...

Un excellent site pour aller plus loin avec SPIP :
http://programmer.spip.org/

Version portable de SPIP 2 :
http://www.spip-contrib.net/SPIP-Portable

Sécurité et exploitation des vulnérabilités de SPIP :
Pour augmenter la sécurité des sites SPIP, quelques conseils sont donnés dans le numéro 4 de la revue Sécurité de l'Information :
http://www.sg.cnrs.fr/FSD/securite-systemes/revues...

Protection rapide et minimale après une alerte de sécurité :
Ecran de sécurité (permet de temporiser la mise à jour d'un site): http://www.spip.net/fr_article4200.html

A voir également (**** Annexe 4)

Contributions

Développement SPIP :
• Liste des développeurs SPIP spip-dev [at] rezo [dot] net (liste en français) http://listes.rezo.net/mailman/listinfo/spip-dev
• Développement plugins SPIP-ZONE : http://zone.spip.org/trac/spip-zone/

Commentaires

Kit CNRS pour SPIP 3

Nouvelle version du kit CNRS pour SPIP 3 bientôt disponible : des tests sont en cours, http://www.harmoweb.cnrs.fr/spip.php?article170

David.

Responsable thématique précédent

Cette fiche a d'abord été suivie par le responsable thématique Jacquelin Charbonnel. Thierry Dostes l'a reprise en février 2012.

Mise à jour SPIP 2.1.8 corrige une importante faille de sécurité

La version de SPIP 2.1.8 corrige une importante vulnérabilité de SPIP permettant à un utilisateur malveillant de porter atteinte à l'intégrité des fichiers et de la base de données.

Afin de parer au plus pressé, il est également possible de mettre en place l'écran de sécurité.

Quelques liens relatifs à l'information :
- Mise à jour : http://www.spip-contrib.net/SPIP-2-1-8-corrige-une...
- Ecran de sécurité : http://www.spip.net/fr_article4200.html

Livre du site "Programmer avec SPIP"

Un excellent ouvrage sur SPIP de Matthieu Marcillaud :
"Programmer avec SPIP "
http://www.lulu.com/product/couverture-souple/prog...

SPIP et phpinfo()

La fonction phpinfo() est directement accessible depuis l'espace privé en rajoutant à l'url :
.... /ecrire/?exec=info

VERSION 2.1 de SPIP

La dernière mouture de SPIP en téléchargement ; la version 2.1 :

http://files.spip.org/spip/stable/spip.zip

Les améliorations et incompatibilités sont recensées sur :

http://www.spip.net/fr_article4728.html

Kit SPIP CNRS

Un extrait du bulletin du CNRS :

"La version statique des kits proposés aux laboratoires par la direction de la communication pour la mise en place de leur site web vient d'être mise à jour (pour une édition sous un logiciel de type Dreamweaver)
http://intranet.cnrs.fr/harmonisation/kits-labos.htm"

projet Kit SPIP CNRS

Le kit SPIP CNRS est développé et téléchargeable sur SourceSup : http://sourcesup.cru.fr/projects/spipcnrs

**** Annexe 4 - Section : Divers

SPIP-ZONE :
• Il s’agit d’un espace de développement collaboratif regroupant des utilisateurs/développeurs sur différents projets (plugins SPIP), avec en téléchargement :
o les fichiers zips des plugins isolés : http://miroirspip.ventre.name/builds/spip-zone/
o les fichiers zips complets des 3 répertoires des plugins (dev, test et stables) : http://miroirspip.ventre.name/builds/plugins/
o les fichiers zips des versions de spip : http://miroirspip.ventre.name/builds/spip/

Tous les projets dans leur version de développement sont disponibles sous le même Référentiel (Repository) SVN http://zone.spip.org/trac/spip-zone/browser/

SPIP-Contrib :
• SPIP-Contrib a pour vocation de permettre la mutualisation des ajouts développés par les utilisateurs autour de SPIP. Il peut s’agir de squelettes entiers, comme de fonctionnalités supplémentaires, à ajouter sous forme de plugins, de scripts, de modèles, de filtres ou de
boucles à inclure dans les squelettes.
http://www.spip-contrib.net/

• Documentation du code SPIP :
http://doc.spip.org/
http://doc.spip.org/@@code

*** Annexe 3 - Section : Documentation utilisateur

Quelques liens utiles :
o Installation : http://www.spip.net/fr_rubrique151.html
o Évolutions et mises à jour : http://www.spip.net/fr_rubrique155.html
o Suivre la vie du site : http://www.spip.net/fr_rubrique286.html
o Créer mon premier squelette : http://www.spip.net/fr_rubrique144.html
o Boucles et balises : manuel de référence : http://www.spip.net/fr_rubrique143.html
o Habillage graphique : http://www.spip.net/fr_rubrique269.html
o Quelques exemples : http://www.spip.net/fr_rubrique172.html
o Guide des fonctions avancées : http://www.spip.net/fr_rubrique257.html
o Tutoriel : utilisation avancée des boucles et des mots-clés : http://www.spip.net/fr_rubrique154.html
o Réaliser un premier plugin : http://www.spip.net/fr_article3448.html
o FAQ Premiers pas : http://www.spip.net/fr_rubrique169.html
o FAQ technique : http://www.spip.net/fr_rubrique170.html

• Le développement de SPIP et ses outils : http://www.spip.net/fr_rubrique205.html

• SPIP-Contrib : http://www.spip-contrib.net/-Documentation-

** Annexe 2 - Section : Limitations

La navigation s’effectue par appel du squelette soit générique (ex : article.html) soit individualisé (ex : article=13.html ou article-7.html)) intégrant le code ou l’inclusion de code extérieur.

Une gestion d’espace contrôlé peut être mise en place via un plugin « Accès Restreint » :
http://www.spip-contrib.net/@SPIP-Zone-Acces-Restr...
http://miroirspip.ventre.name/builds/spip-zone/acc...

Le plugin « Accès restreint » permet de protéger et de restreindre l’accès à certaines rubriques uniquement aux internautes ayant le statut « visiteur authentifié » et autorisés. Si un visiteur n’est pas authentifié ou s’il n’est pas autorisé, alors l’intégralité de la rubrique (ce qui inclus les sous rubriques, les articles, les liens …) ne lui seront pas accessible. Si le visiteur est authentifié, alors il pourra accéder aux rubriques pour lesquelles il a reçu une autorisation d’accès.
Mais il s’agit là que de contrôler l’accès en utilisant les droits d’accès à la base MySQL d’un profil “Visiteur”.

* Annexe 1 - Section : Limitations

Exemple :

<BOUCLE_articles(ARTICLES){id_rubrique}{1/2}{par titre}>
<p class="titre">
          <a href="#URL_ARTICLE">[(#TITRE)]</a>
</p>
</BOUCLE_articles>
<BOUCLE_articles2(ARTICLES){id_rubrique}{2/2}{par titre}>
<p class="titre">
<a href="#URL_ARTICLE">[(#TITRE)]</a>
</p>
</BOUCLE_articles2>

Ainsi, dans l’interface privée on créera l’arborescence des rubriques puis on rédigera des articles sous ces mêmes rubriques (nota : pour qu’une rubrique apparaisse en ligne il faut quelle héberge au moins un article lui-même en ligne). La hiérarchie de construction n’est visible que dans l’espace privé en « dépliant » toutes les rubriques et en visualisant tous les articles sans distinction de statut, elle est également visible dans la base de données via phpMyAdmin par les champs « id_ parent ».

Indications complémentaires :
Il est possible de créer des squelettes de pages spécifiques pour certains articles ou rubriques, qui ne suivront donc pas la construction par défaut des autres pages du site. Pour cela, il suffit de créer (en plus des fichiers article.html, rubrique.html...) des fichiers supplémentaires avec des noms de fichiers particuliers :
Signe = sur rubrique : ex : rubrique=14.html
Le squelette rubrique=14.html ne s’appliquera qu’à la rubrique n°14.
Signe = sur article : ex : article=17.html
Le squelette article=17.html ne s’appliquera qu’à l’article n°17.
Signe - sur rubrique : ex : rubrique-12.html
Le squelette rubrique-12.html s’appliquera à toutes les rubriques sous la rubrique n°12 dans l’arborescence construite dans l’interface privée de SPIP.
Signe - sur article : ex : article-13.html
Le squelette article-13.html s’appliquera à tous les articles sous la rubrique n°13.
Bien que les possibilités typographiques à disposition des rédacteurs d’articles soient relativement sommaires, la richesse graphique et typographique d’un site sous SPIP est assurée par les feuilles de styles au sein même des squelettes.

Communautés SPIP

A noter : dans certaines villes, les utilisateurs de SPIP se rencontrent régulièrement autour de "SPIP Apéro". On y rencontre des personnes gérant des sites SPIP dans des contextes très divers : institutionnels, travailleurs indépendants, associatifs...

Ces rencontres sont gérées depuis le site SPIP Party : http://www.spip-party.net/ et via des listes de discussion par ville. Des apéros ont lieu régulièrement à Paris, Lyon, Lille, Nantes, Toulouse...

Maud Ingarao
Unité Numérique - Direction de la Recherche
ENS Lettres et Sciences Humaines
15 parvis René Descartes - BP 7000
69342 LYON Cedex 07
04 37 37 65 79
maud [dot] ingarao [at] ens-lsh [dot] fr