SPIP 3, le Système de Publication pour l’Internet fait son printemps

closeCet article a été publié il y a 12 ans 5 mois 8 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.

SPIP 3SPIP fait partie de ces logiciels qui ont marqué leur époque. Son système de publication a apporté une nouvelle façon de publier du contenu sur internet. Le voici toujours vivant avec une troisième mouture pour laquelle le logiciel a été grandement refondu.

SPIP, petite histoire

La première version de SPIP sort en juillet 2001. Le logiciel propose une approche séparant la gestion du contenu de sa mise en forme mais surtout se veut accessible aux non-informaticiens. C’est en quelque sorte la marque de fabrique de ce dernier. Il fallait rendre la saisie, l’organisation et la gestion du site le plus simple possible et ne pas nécessiter de connaissances techniques particulières.

Pour la mise en forme du site, SPIP propose un système de « squelettes » mélangeant du HTML classique avec un pseudo-langage permettant de générer ensuite dynamiquement les pages du site.

En 2002, le logiciel connaît une refonte radicale de l’espace privé, qui est au coeur de l’outil. Mais SPIP est un logiciel français et ignore au début les problématiques de gestion de site multi-langues. Un manque qui sera levé en 2003 pour l’espace privé, puis en 2004 avec la version 1.7 qui permet une gestion du contenu en plusieurs langues.

Le logiciel devient extensible à partir de 2005 avec sa version 1.5. Une possibilité qui verra fort logiquement apparaître un grand nombre de compléments et extensions aux fonctionnalités standards de SPIP.

Passé cette version 1.9, le développement du logiciel semble marquer le pas et c’est en 2008 qu’apparaît une version 2.0. SPIP s’ouvre alors à d’autres bases de données que MySQL. Cependant, le projet encaisse de plein fouet la concurrence de logiciels comme WordPress, Drupal ou Joomla. Le logiciel continue pourtant d’évoluer doucement avec une communauté plutôt fidèle. Malgré tout, une image « vieillotte » paraît coller à ce dernier.

SPIP et mon histoire avec les logiciels libres

J’ai toujours eu pour SPIP un attachement particulier, même si je lui suis devenu infidèle en 2007, lorsque je bascule sur WordPress mon petit site personnel (pas celui-ci, un autre). SPIP fut le logiciel qui en 2003 me fit découvrir les logiciels libres, alors que je cherchais une solution pour un intranet d’entreprise. Je suis séduit par cet outil qui permet à des non-informaticiens de saisir eux-mêmes les pages du site, en les libérant ainsi d’une trop grande dépendance au service informatique et de fait à l’informaticien.

C’est d’ailleurs une qualité à laquelle tous les logiciels libres devraient aspirer. Être suffisamment bien pensé et conçu pour que les utilisateurs n’aient plus besoin des informaticiens. Cela reste pour moi le but ultime que devraient chercher à atteindre les logiciels libres, mais nous en sommes encore souvent bien loin.

Pour en revenir à SPIP, ce qui me fit le quitter n’avait rien à voir avec le système de publication, mais plutôt à mon incapacité à développer des squelettes au look un peu moderne. A l’époque ce que l’on trouvait sur SPIP ne l’était guère. J’ai donc cédé par facilité, soyons lucide, au côté bling bling de WordPress et de ses thèmes.

SPIP 3 le retour

J’avoue honnêtement que je ne pensais pas que le projet puisse encore proposer une nouvelle mouture de ce logiciel. La lente évolution du logiciel me semblait un mauvais signe? C’est avec un très grand plaisir que je découvre donc cette version 3.

La modularité et l’adaptabilité ont encore été renforcées. Cela se traduit par le développement au maximum de la logique du framework (ou kit de composants logiciels). Pour preuve, l’ensemble de l’espace privé est désormais devenu un squelette à part entière. Il est donc possible de le modifier pour l’adapter à ces besoins. Une approche vers laquelle d’autres outils de gestion de contenu comme Drupal ont également orienté leur développement.

Le logiciel a été rendu encore plus modulaire dans le sens où désormais l’ensemble des fonctions de SPIP 2 repose sur un noyau SPIP 3 accompagné de 23 plugins. L’API ou interface de programmation a également été fortement complétée.

Une approche qui suscite une certaine inquiétude de ma part. SPIP sera-t-il aussi simple d’usage qu’auparavant pour un non informaticien ? Pour m’en assurer, je me suis lancé dans un test « éclair » en installant cette version sur mon serveur.

Le test

L’installation débute comme toujours avec le téléchargement du script d’installation spip_loader.php. Un assistant vous guide comme au premier temps de SPIP. Le seul changement que je perçois est la liste des plugins affichés à la fin et activés par défaut. Avec un environnement Apache, PHP, MySQL prêt à l’usage, il m’a fallu 5 minutes pour accéder à l’espace privé du site. Une performance que l’on retrouve, il est vrai, en général dans ce type d’outils. Disons que SPIP fait tout aussi bien que ses concurrents les plus répandus.

Je découvre également un nouveau jeu d’icônes agréables qui sont l’oeuvre de Sébastien Desbenoît ainsi que trois pavés : »Bienvenue », « Configurer votre site » et « Publiez! »  me guidant dans mes premiers pas avec l’outil. Pas de grosses surprises sinon, je retrouve au premier abord  les fonctionnalités du SPIP que j’avais laissées avec la version 1.9.

Les principales évolutions que je constate se situent au niveau des plugins et notamment de la possibilité d’ajouter des dépôts de plugins, ce qui rend leur installation beaucoup plus simple et hisse à nouveau SPIP au niveau de ses concurrents.

Les fameuses « boucles » du pseudo-langage de SPIP ont bien évolué depuis « mon époque » et j’avoue avoir un peu de mal à me repérer. Cependant, leur usage ne me parait pas plus complexe que le PHP imbriqué au HTML de WordPress. Une des nouveautés de cette version est la boucle « DATA » qui permet de parcourir tout type d’ensemble de données, qu’elles proviennent d’une base de données traditionnelle, d’un fichier texte, voire d’une URL. Il devient ainsi possible d’afficher des données issues d’une feuille de calcul Google Spreadsheet ou encore de Youtube, Flickr, etc…

Convaincu ?

SPIP 3 me fera-t-il revenir à lui ? Difficile aujourd’hui pour moi de faire marche arrière. Migrer ce site vers SPIP représenterait probablement un travail important. D’une certaine manière, je suis prisonnier de WordPress. L’interopérabilité des outils de gestion de contenu n’est pas encore là, même si des passerelles ont été développées ça et là. Un paradoxe pour moi dans le monde des logiciels libres où chaque projet d’une certaine manière ne fait rien pour faciliter le changement de plateforme de ses utilisateurs.

Passées ces considérations, je pense que SPIP reste un outil crédible pour qui veut monter un site éditorial mené par une équipe de rédacteurs. Je n’ai pas d’expérience sur les possibilités de montée en charge de SPIP, mais d’importants sites comme Agoravox et d’autres ont démontré, il me semble, cette capacité.

Reste les squelettes bien moins nombreux que pour ces concurrents et qui de fait nécessiteront peut-être quelques sacrifices esthétiques.

Poursuivre la lecture sur le site de SPIP

Philippe Scoffoni

Je barbote dans la mare informatique depuis 30 ans (premier ordinateur à 16 ans, un ORIC ATMOS) et je travaille à mon compte au travers de ma société Open-DSI. J'accompagne les associations, TPE et PME dans leurs choix et dans la mise en oeuvre se solutions informatiques libres.

12 réponses

  1. Galuel dit :

    « Un paradoxe pour moi dans le monde des logiciels libres où chaque projet d’une certaine manière ne fait rien pour faciliter le changement de plateforme de ses utilisateurs »

    Encore un problème de définition d’un code libre !

    Il n’y a pas encore de code libre qui normalise suffisamment bien les données pour permettre l’interopérabilité.

    Les mouvements qui concernent (mp3 ; ogg) ou (WebM ; H.264) en sont un autre exemple !

    Les contenus textes / images et leurs mises en forme ne sont pas encore suffisamment normés pour voir le développement d’outils de transferts libres…

    Il reste encore beaucoup de choses à libérer ! 🙂

  2. Adrien dit :

    Ah SPIP, mes premiers souvenirs de CMS 🙂

    Les CMS sérieux proposent des outils d’exportations efficace. La migration WordPress Drupal est très facile avec le Module Migrate de Drupal et l’outil d’export de base de WordPress. Même les médias, ça passe sans problème. Je me souviens avoir migré il y a pas mal de temps un Joomla vers WordPress aussi sans problème.

  3. Philippe dit :

    Je suis également un ancien adepte de SPIP que j’ai découvert à la version 1.3.2.

    Cependant je viens de tester une mise à jour d’une version 2.1.14 vers la 3, et ça n’a pas fonctionné, page blanche dans l’admin. Me demande si je ne vais pas basculer vers Drupal.

  4. Bonob0h dit :

    On s’en fout des boucles et autres php ou htmleuleu
    Ce que veux l’utilisateur c’est de pouvoir …
    … faire ses mises en page sans code …
    … installer des modules sans chercher dans un mur de pisé tous les composant pour le faire fonctionner, sans même parler de devoir choisir entre plusieurs modules/plug in qui font presque la même chose mais dont aucun n’est bien foutu au lieu d’avoir des modules faits en partant du principe de « qui peut le plus peut le moins » et donc du plus on ne coche que les cases des besoins réels !

    Ne parlons même pas de ce principe de qui peut le plus permettrai d’optimiser au mieux le plus ce qui rendrait le tout plus fluide, léger, etc …

    Ah mais j’oubliais ! ça serait trop simple ! pour les utilisateurs ! et trop compliqué pour les dev qui préfèrent se simplifier la programmation pour compliquer la vie des tous les utilisateurs !

    Ne parlons même pas des geeks qui n’auraient plus rien a tester, et surtout bavasser en long large travers sans compter en zigzaguant par le haut, le bas, etc 😀

  5. Adrien dit :

    @Bonob0h : chacun son métier après. Faut arrêter de considérer qu’un module / plugin doit tout faire et bien le faire. Les développeurs et « utilisateurs » oublient toujours qu’un module répond au(x) besoin(s) spécifique(s) du type qui l’a codé et à sa vision, et que lui n’a pas le même besoin (et c’est encore plus vrai pour des fonctionnalités très spécifiques et / ou sur les outils gratuits / opensource).
    Viendez sur Drupal, on peut créer des dépendances entre modules, ou y injecter son propre code sans pourrir le-dit module, c’est cool 😉

    Et puis, un « utilisateur » n’a pas à installer un module d’abord !

  6. Bonob0h dit :

    @Adrien … ta vision … surtout quand je lis :
    Les développeurs et “utilisateurs” oublient toujours qu’un module répond au(x) besoin(s) spécifique(s) du type qui l’a codé et à sa vision, et que lui n’a pas le même besoin …

    tu a tout dis de l’EGOCODEURISME !
    On dirait la même compétition que celle de celui qui rajoute 1 m a son mega yacht pour en avoir un plus grand que le celui du concurrent !

    allez bye bye … va codogeeokodebattre avec tes compères pour voir celui qui …
    adresse toi a d’autres personnes pour débattre ! mais surtout pas a moi !
    J’ai autre chose a faire que de perdre du temps avec des obscurantistes !

  7. Adrien dit :

    Euh, obscurantiste ?! Je ne prétends pas mesurer quoi que ce soit avec qui que ce soit bien au contraire.

    10 ans que je bosse avec des CMS / Framework et la vérité est toujours la même : un module codé par une tiers personne et récupéré sur le dépot de la communauté d’un CMS ne couvre jamais réellement les besoins exprimés. C’est vrai pour des fonctionnalités classiques comme un bouton Twitter ou un système de vote, mais ça s’arrête à ces demandes simples et bien réfléchies.
    Moi et mon égo te répondons donc, que 50% d’un site est identique d’un cahier des charges à l’autre, 40% peut être rempli facilement quand on a une très bonne connaissance de l’outil utilisé et des modules, mais que les 10% restant, faut mettre les mains dedans, y a pas de mystère.
    Le type qui rajoute 1m à son méga Yacht, c’est pour faire un concours de bite. Moi, quand je rajoute une fonctionnalité spécifique à mon module Drupal parce qu’il manque une fonctionnalité, c’est pour répondre à un besoin du client. C’est une sacrée différence. Je ne sais pas les autres, mais je partage mon travail sur les communautés pour permettre aux autres d’en bénéficier. C’est la base même d’un CMS comme Drupal, Joomla, SPIP et tous les autres. Si ça c’est de l’égocodeurisme et de l’obscurantisme, nous n’utilisons certainement pas le même dictionnaire.

    Et l’utilisation du verbe « débattre » quand on refuse toute vision qui n’est pas la sienne me fait grandement sourire.

  8. Suske dit :

    Salut Philippe et merci pour ce billet construit, ce qui n’est pas si fréquent dans la prose de ceux qui causent de SPIP « de l’extérieur ».

    On ne se connait pas, alors je t’explique en deux mots pourquoi je m’intéresse à SPIP: grosso modo, j’y suis arrivé de la même manière que toi mais je suis travailleur social et j’ai une tendance militante, en plus d’un goût immodéré (en perpétuel développement) pour tout ce qui touche à internet et aux logiciels libres. La facilité de publication découverte en 2003 m’a permis de mettre le doigt dans le web, il y est resté. D’abord ponctuellement (un squelette de base à peine modifié et beaucoup de publications), puis plus régulièrement. Et j’ai bien entendu joué avec d’autres CMS. Vers 2007, j’ai choisi de me concentrer sur SPIP uniquement: impossible pour un intermittent du web de suivre à tous les niveaux (html/css/javascript/php/mysql/accessibilité/responsives trucs…). En ne suivant que le CMS que je méconnaissais le moins, je me donnais l’occasion d’avancer, en fait.

    Alors voilà, j’avais envie de souligner ici des qualités qui me permettent de continuer à bidouiller le web, principalement pour des associations qui n’ont pas forcément les moyens de se payer une agence:
    – le site http://plugins.spip.net qui est désormais serveur de plugins et sert de dépôt par défaut pour l’interface « SPIP3 » de gestion des plugins (et qui est bien entendu partagé, permettant à d’autres de monter leur propre dépôt avec la même maquette). Il crée un lien utile aussi entre les fouillis des historiques http://spip-contrib.net et la zone de développements « SPIP-zone »
    – les formulaires « CVT » (charger-vérifier-traiter) qui permettent à des bidouilleurs de réaliser « à peu de frais (de sueur en fait) » des formulaires sécurisés, intégrés, ajaxés, avec gestion des erreurs et de la validation (cela date de SPIP2) mais en outre, ils sont utilisables tant dans le privé que dans le public
    – la qualité pédagogique du « squelette-dist », le squelette par défaut de SPIP3 qui, une fois encore propose plein d’améliorations permettant de comprendre un peu où on est est dans l’état de l’art html/css. En plus, il est sympa ce squelette (le plus sympa depuis spip 1.3 amha). Perso, j’en copie/collerai des pans entiers avec juste un peu de css à ajouter pour personnaliser…
    – le canal IRC (http://spip.net/IRC, #spip sur freenode) où le bot Edgard propose des liens issus de la galaxie SPIP (@? termes de la question) voire des liens vers de la doc (@@ pour son index). Sans compter qu’il s’y trouve des devs SPIP qui ne rechignent pas au SAD (service après-don)
    – Des plugins puissants comme les champs « Extra » (grosse mise à jour pour SPIP3) qui permettent d’étendre les objets, de les afficher simplement (#NOM_DU_CHAMP ou #EXTRA{nom_du_champ} en cas de conflit de nommage) et de sélectionner des interfaces adaptées avec un interface « simple » dans le privé (grâce au plugin « Saisies »), le plugin « Fabricant » de plugins, … Tous ces plugins qui permettent de définir des fonctionnalités pour le futur aussi (comme le « Bandeau » qui préfigurait en SPIP 2 la nouvelle interface privée, les itérateurs qui permettent de boucler de manière invraisemblable sur tout contenu un tant soit peu structuré via YQL ou non)
    – Sais-tu que SPIP boucle « nativement » (sans déclaration) sur toute table incluse dans la base de données de SPIP, voire dans une table externe ? BOUCLE_donnee_non_spip(nom_de_le_table) ul li#NOM_DU_CHAMP… et c’est parti ! Et avec #NOM_DU_CHAMP|typo|propre, les traitements habituels de SPIP sont appliqués. Cela veut dire qu’un gars comme moi, capable de gérer une base de données quelconque et de l’exporter avec phpmyadmin peut tout intégrer sur le web, cool non ?
    – Et les boucles DATA… Un seul exemple: le très html3.02 et très à gauche http://www.wsws.org/francais/ ne propose pas de RSS ? Une heure, une regexp, une boucle DATA (YQL inside) plus tard: http://rastapopoulos.artizanal.info/notes/spip.php?page=rss-wsws

    Enfin bref, merci SPIP et celles et ceux qui le font vivre: en plus ça me limite fortement les migraines liées à l’usage abusif de l’internationalglish. SPIP c bôôôôô.

  9. Bonob0h dit :

    (moi je, client, je ne sais pas les autres, c’est la base même, etc ) blablabla :

    http://philippe.scoffoni.net/x-repetita-avenir-pour-logiciel-libre-propositions/
    http://philippe.scoffoni.net/tout-nest-pas-troll-le-logiciel-libre-autrement/

    Etc … Mais faut chercher sur gogole qui est votre ami bien sur !

    Arrfff dommage car c’est bien connu qu’il ne faut rien changer ! tout est parfait 😀 surtout dans le libre le meilleurs des mondes …

    C’est marrant tout de même que tous les « Michus » disent ou répondent la même chose mais que le libre se debat entre lui … et que donc les Michus continuent donc à aller chez face de bouc, wordpress.com, twitter.com etc …

    Pourtant cette majorité « d’utilisateurs » qui veulent que ce soit simple … trouvent au contraire ma vision très claire … simple … équilibrée … même pour des choses compliquées :p

    Ah mais oui c’est bien sur ! Ce ne sont pas des pro ! ils ne sont que des veaux à se faire dégraisser !
    C’est dommage que tous ces veaux ne sachent pas coder par exemple !
    Bon on va tous devenir codeurs hein 😉
    Allez pas la peine les Pro sont la pour s’ecouter entre eux 😉 ça ferait trop de pagaille si on rajoutait tous les michus que de toute façon ça n’interesse pas

  10. Smat dit :

    il y a un peu de vrai partout dans les commentaires.
    Oui parfois les outils mis à disposition sont d’un compliqué. Ce ne sera ni la première ni la dernière fois que le type qui a codé le truc ou le bidule génialissime c’est pas possible: il ne l’a jamais utilisé ! Les plugins de SPIP n’échappent pas à la règle. Néanmoins les discussions existent et il n’est pas rare de voir les principaux contributeurs se poser la question de comment améliorer l’outil. L’avantage de SPIP c’est qu’on peut même participer à la discussion en français dans le texte !

    Justement refaisons un peu d’égocentrisme. SPIP est un projet francophone. J’aimerai croire que son image et sa popularité lui permette d’intéresser de nouveaux contributeurs, qu’il soit respecté et puisse permettre à bon nombre de geek en herbe de contribuer. Malheureusement maintenant, sorti du tryptique Drupal, Joomla et WordPress on est mal barré. L’audience des projets libres et/ou OpenSource francophones est forcément réduite quand en face des projets anglo-saxo-phones touchent 7 milliards de contributeurs potentiels. Car n’oublions pas que même les francophones en viennent a renier des pépites comme DotClear, Thelia, SPIP et autre par dédeins plus que par réel choix technique, et c’est bien dommage !

  11. src dit :

    Le retour … LOL
    spip a fait tellement de dégâts sur le web que l’on devrait attaquer en justice tous ceux qui ont participé a son utilisation.
    Plus personne qui utilise cette chose dans le monde pro, même les amateurs se mettent a wordpress.

    non spip c’est fini et c’est tant mieux.

  1. 24 mai 2012

    […] background-position: 50% 0px ; background-color:#222222; background-repeat : no-repeat; } philippe.scoffoni.net – Today, 3:24 […]