Drupal VS Spip : Round 1

spip(Je sens que je vais me faire huer sur ce post moi)
J’ai suivi le projet Spip depuis sa tendre jeunesse, je crois que j’ai du commencer avec la version 1.3, sortie en janvier 2002. Je l’ai utilisé avec plaisir pour de nombreux site, et il ma presque toujours donné satisfaction.


drupalDrupal, je découvre depuis 3 mois a peu près maintenant. Plus proche d’un framework évolué que d’un CMS à mes yeux, il est néanmoins a classé dans cette dernière catégorie. D’une souplesse extrême, s’appuyant uniquement sur un système de « modules » (même le core est un module). Malgré tout, la courbe d’apprentissage est très (très) abrupte. (on se rapproche de l’escalade là)

Pourquoi comparer ces deux CMS ? Parce que j’ai pas mal bossé avec eux, que je les connais relativement bien, et que je pense que ça puisse intéresser du monde au final.

Le core

On fait simple et je me fais incendier par les fans boy tout de suite ? Drupal c’est mieux. (Voila, les fan boy viennent de fermer leur navigateur, on peut aller un peu plus loin maintenant)

D’un côté on a un CMS où tout est bien délimité, où tout est bien « rangé » sous forme de module, et de l’autre, on a Spip. (et là, je viens de perdre les derniers fanboys qui tentaient de rester).

La force de Drupal, c’est son système de Module. Il manque une fonctionnalité, on commence par regarder parmi l’immense liste de module existante, et sinon, libre a nous-même de coder son petit Module, très simplement. Ce n’est pas plus compliqué que si l’on devait rentrer dans le core et le modifier pour l’adapter a notre besoin. Tout ce passe en re-écrivant les fonctions déjà existantes (qui outrepassera alors la fonction précédente), ou en surchargeant les fonctions déjà présente.

Dans ses dernières versions, Spip s’est ouvert au système de « Plugin ». Il est enfin possible d’ajouter simplement des plugins ajoutant des nouvelles fonctionnalités sans avoir a hacker le core. Sur le papier, c’est génial. Etendons Spip à l’infini, presque plus de limite, on peut en faire ce que l’on veut. Dans la pratique, c’est beaucoup moins beau je trouve. On se retrouve très souvent avec des plugins obéissant à la règle du « chez moi, ça marche » (il suffit d’aller voir un peu les forums ou les archives de la mailling list). A l’utilisation, on se rend compte que, franchement, le système n’est pas au point. Ca part dans tous les sens, les modules ne sont, pour la plupart, compatibles que pour une version bien précise (un plugin pour Spip 1.9.3 ne sera pas forcement compatible 1.9.2), et la doc n’est pas toujours présente…

Niveau doc justement …

L’API de Drupal est dispo sur le net, complet, pour les 3 dernières versions sorties actuellement.
http://api.drupal.org/

analyse code Drupal - OhlohAnalyse du code de Drupal - ©ohloh.net

Le code himself est bien présenté, commenté à l'aide d'un moyen qui a été uniformisé, ce qui rend la lecture simple et agréable.

Pour Spip … heuuu …. C’est très bien résumé sur beaucoup de page : on cherche un volontaire pour l'écrire
Ce n’est ni complet, ni pratique a utiliser, et il n’y a aucune information lié a la version.
Pas besoin d’en dire plus je crois.
http://doc.spip.org/

Et pour les fénéants ?

Drupal a une courbe d’apprentissage très raide, je l’ai déjà dis. Donc pour les débutant/fainéants qui veulent un site rapidement, c’est une solution à exclure ? En réalité, non. Pas du tout même.
Il existe un nombre énorme de thèmes tout fait pour Drupal, là où n’existe qu’une dizaine de « squelettes » pour spip.
De plus, les surcharges éventuelles des fonctions du core qui sont requis par Drupal pour un thème donnée sont géré par un fichier directement lié a ce même thème (le fameux template.php), il est donc forcement présent, et de plus, il peut servir de bonne base d’apprentissage pour ceux qui souhaiterais aller un peu plus loin.

Pour conclure, je suis loin d’être exhaustif dans cet article, je le sais. On pourrait aller beaucoup plus loin, et comparer encore de nombreux point. Mais je pense sincèrement que Drupal sortirais presque toujours vainqueur. Il est à mes yeux tellement plus souple que Spip. Plus compliqué à appréhender, c’est indéniable, mais il permet de ne plus être dépendant du système de « boucle » de spip, qui finissent quand même par montrer leurs limites un jour où l’autre. C’est aussi pour cela que, personnellement, je classerais plutôt Drupal dans le domaine des framework, plutôt que dans celui des CMS. C’est un peu un framework avec une surcouche CMS.

Et voila, maintenant, toute la communauté spip me hais.

Aymerick (non vérifié) Says:

Salut salut, et bienvenu dans le monde merveilleux de Drupal :p

J'ai develope un module drupal, pour convertir un site SPIP vers drupal. Le seul truc qui m'empeche de le rendre publique, c'est la facon dont j'ai implemente mon 'filtre spip' pour afficher des articles ecrits en SPIP.

Il est presque impossible d'extraire proprement la partie de SPIP qui transforme le format SPIP en HTML. Enfin moi j'ai pas reussi, du coup j'ai un truc un peu crado... dont j'ai un peu honte.

Toi qui apparemment connais bien la communaute SPIP, est-ce que tu sais si des gens ont deja bosse sur l'extraction de ce generateur SPIP vers HTML ?

Voila encore une defaillance de SPIP, qui pour moi reste un gros pate monolithique. Meme Dotclear est plus propre, avec son moteur wiki2xhtml facilement reutilisable pour un aute projet.

Et bravo pour ton blog, continue :)

»

Haza Says:

Ha, les filtres de mise en forme spip ...

C'est assez simple, il suffit de fouiller un peu sur le net dans les scripts de conversion d'un CMS vers un autre. Voir meme de forum vers un CMS, ou inversement. Il y en a un paquet. Presque tous les gros CMS sur le marché peuvent être converti vers un autre ... sauf Spip.

Il n'y a quasiement aucun script de conversion Spip vers "quelque chose" qui existe. J'ai demandé autour de moi ici, au taff (spip ici, c'est tous les jours depuis plusieurs années, mais on passe sur Drupal là), idem, personne n'en connait.

J'ai cherché rapidement, j'ai trouvé un script de conversion Spip vers Wordpress (page issu du cache google, à l'heure où j'écris, le site semble est mort), je pense que ça peut servir de bonne base. (je n'ai pas trop le temps de regarder pour l'instant, mais il faudrait que j'y jette un oeil également)

Mais par contre, l'évocation de projet conversion spip vers drupal à fait son petit effet ici, et si tu arrives a finaliser ton projet (ou pas), pourrait-tu nous tenir au courant (en postant dans le coin, par exemple) ? Nous avons de nombreux sites spip à très forte affluence, ayant des milliers d'articles, et nous seront confronté à ce problème de conversion un jour.

Et merci pour ton passage ^^

»

Aymerick (non vérifié) Says:

Merci pour le lien, mais apres y avoir jete un coup d'oeil je ne pense pas que ce script de conversion SPIP vers Wordpress puisse vraiment aider.

Bon, je suis en train de terminer un module de conversion de Dotclear vers Drupal, et ensuite je rebosse sur mon vieux module de conversion SPIP vers Drupal et je le rend publique.

»

Aymerick (non vérifié) Says:

Ca y est, j'ai cree un module d'import de dotclear: http://drupal.org/project/dotclear

Il ne me reste plus qu'a trouver la motivation pour bosser sur le module d'import de spip :)

»

Haza Says:

Ok, merci pour l'info :D

»

Dex37 (non vérifié) Says:

Bonjour,

Je suis un peu dans le même cas de figure que toi... je connais Spip depuis quelques années et je dois dire que jusqu'à présent il me donne satisfaction, sauf au niveau de la mise en page avec un système de squelettes pas très souple !

J'ai découvert très récemment DRUPAL que je suis en train de tester. Ce qui m'intéresse particulièrement c'est l'aspect collaboratif "Livre"ainsi que la gestion des catégories (Taxonomie)

Ceci-dit je souhaiterais pouvoir retrouver certaines des fonctionnalités que j'avais avec SPIP et notamment :

- Possibilité pour l'auteur de garder des articles avec le statut "brouillon". Jusqu'à présent je n'ai pu utiliser que la fonction "soumettre"...
- Pouvoir laisser des commentaires sur un article dont la publication a été demandé. (commentaire de l'administrateur ou d'autres auteurs enregistrés)... j'ai une piste, mais qui reste à vérifier !
- Possibilité à un comité de rédaction(donc plusieurs auteurs ou administrateurs ) d'être avertis qu'un article est proposé à publication ?
- Permettre à un auteur de voir le statut de ses articles (en cours de validation) ainsi que les commentaires et de pouvoir corriger l'article. J'y arrive partiellement avec le module "Myworkplace"
- possibilité de programmer la diffusion d'un article à une date ultérieure.
- Possibilité d'envoyer par mail aux personnes inscrites sur le site la liste des articles parus pour une période donnée (semaine par exemple)
- Possibilité d'avoir un calendrier (interne) afin de planifier les articles à paraitre.

Voila pour le moment... j'ai fait le tour des modules, j'ai vu qu'il y avait parfois des modules sensiblement équivalents... donc lesquels choisir ? ... D'autre part, ils ne sont pas tous traduits !

Enfin, la communauté francophone ne semble pas très active.. j'ai posté sur drupalfr il y a plus d'une semaine et pas la moindre réponse !

J'aurais peut-être quelques réponses sur ce blog....

@+ et merci pour les réponses !!!!

»

Haza Says:

Bonjour,

Effectivement, des modules, il y en a un paquet, et défois plusieurs pour faire la même chose. Le meilleurs moyen de choisir ? Lire un peu les commentaires sur drupal.org, et sinon, tester par soi-meme afin de trouver celui qui correspond le mieux. C'est long, mais ca reste le meilleur des moyens a mes yeux. A voir aussi de quand date la derniere release du module, a savoir si il est encore ou non en développement.

Pour la langue, oui, très peu sont traduit, mais si besoin est de les traduire, généralement, ce n'est pas le plus compliqué a faire. (ca prend juste du temps)

Alors, pour la "liste des courses", voilà ce que j'en dis. (attention, j'ai une grosse instance de drupal au taff, donc je completerais demain (ou des que j'ai un peu temps) avec les infos que j'ai au taff, j'éditerais mon post, a suivre donc)

- Possibilité pour l'auteur de garder des articles avec le statut "brouillon". Jusqu'à présent je n'ai pu utiliser que la fonction "soumettre"...
Voir le module Workflow qui permet de rajouter autant de "status" que l'on souhaite pour les articles, il faut ensuite jouer avec les filtres (a l'aide du module View) pour afficher ce que l'on souhaite

- Pouvoir laisser des commentaires sur un article dont la publication a été demandé. (commentaire de l'administrateur ou d'autres auteurs enregistrés)... j'ai une piste, mais qui reste à vérifier !
J'ai quelque souci sur ce point de mon côté également (je complète demain)

- Possibilité à un comité de rédaction(donc plusieurs auteurs ou administrateurs ) d'être avertis qu'un article est proposé à publication ?
Possible, par envoie de mail. Je le fais sur le projet en test au taff, je n'ai plus le nom en tête là, je completerais donc
Edit du 12/11 : Voir le module Actions (qui doit être couplé avec Workflow qui permet d'envoyer un mail dès qu'un node change de status

- Permettre à un auteur de voir le statut de ses articles (en cours de validation) ainsi que les commentaires et de pouvoir corriger l'article. J'y arrive partiellement avec le module "Myworkplace"
C'est également un probleme que je rencontre. La solution a laquelle je pense en ce moment est une View, dont l'acces est reservé a certaines personnes, et en jouant ensuite sur les filtres, pour afficher ce que l'on souhaite, tout simplement. En gros, une mini-interface d'admin (construite avec des views) en dehors de la vrai admin du site

- possibilité de programmer la diffusion d'un article à une date ultérieure.
Marrant, il me semble que je peux la faire au taff ça, et je n'ai pas souvenir d'un module particulier pour ça. Je vérifierais. A compléter donc.
Edit du 12/11 : Donc, lorsque l'on crée un node, en bas, on a "Informations de publication". Il faut mettre la date de publication souhaité, et en jouant avec les View, il joue rajouter un filtre sur les dates, , qui va donc éliminer les nodes dont la date est toujours "dans le futur"

- Possibilité d'envoyer par mail aux personnes inscrites sur le site la liste des articles parus pour une période donnée (semaine par exemple)
Une mailling liste en gros. Il y a des module pour ça. J'ai une liste au taff, je completerais donc.
Sinon, j'utilise sur ce site le module Notify qui permet d'envoyer l'ensemble des changements sur le site a interval régulier (de 15 minutes a 4 semaines)

- Possibilité d'avoir un calendrier (interne) afin de planifier les articles à paraitre.
Ca, par contre, aucune idée là :(

En esperant avoir pu donner quelques piste quand même pour l'instant. (Et n'hésite pas a revenir sur ce commentaire, j'éditerais quand j'aurais plus d'info)

@++ et merci d'être passé :D

»

Moe (non vérifié) Says:

"Drupal a une courbe d’apprentissage très raide, je l’ai déjà dis. Donc pour les débutant/fainéants qui veulent un site rapidement, c’est une solution à exclure ?"

Une courbe d'apprentissage c'est bien l'apprentissage en fonction du temps ? Donc si la courbe est raide (!), ça veut dire qu'on apprend plein de trucs en peu de temps ? Alors pourquoi la deuxième phrase ?

»

Haza Says:

Je ne le prend pas vraiment comme ça, mais la confusion est possible.

Ca peut commencer doucement, mais tu ne fera pas de gros changement, tant au niveau technique que visuel. Et des que tu va vouloir faire quelque chose de plus "exotique", tu va vite etre confronté a une courbe assez raide, car ca se complique très vite.

On est obliger d'essayer de s'aggriper a chaque brique du "mur" que represente cette courve et essayer d'y trouver une accroche stable n'est pas forcement evidement.

Pour l'anecdote, la "learning curve" telle qu'on la trouve sur le site de buytaert.net

»

XAVIER (non vérifié) Says:

Juste pour tenter de comparer aussi côté utilisateur du CMS, nous avons commencé à rédiger notre propre spip vs drupal.
visible ici
http://www.vocables.com/drupal/?q=node/27
commentaires bienvenus!

»

Dex37 (non vérifié) Says:

Bonjour,

Merci pour toutes ces informations.

Xavier, j'ai lu avec intérêt l'article sur vocable.com... J'aurais souhaité mettre des commentaires, mais je ne trouve pas le moyen de m'inscrire.

Bon, résultat des courses pour moi. J'ai passé pas mal de temps pour comprendre Drupal et le configurer avec certaines fonctionnalités, mais je me suis résigné à utiliser SPIP que je connais depuis quelques années. Au passage, je n'ai jamais trouvé l'interface de SPIP difficile. Il est vrai que Drupal a une conception en module très intéressante et des possibilités de réglage presque infinies. Mais la majorité des modules sont en anglais et cela est un handicap certain si l'on veut un site opérationnel rapidement. (voir toutes les fonctions que je désirais dans mon post précédent)

A bientôt

»

Haza Says:

Pour se rendre compte de la "difficulté" de l'interface de spip, il suffit de mettre une personne neophyte devant et de lui demander d'inserer une image dans son article. Ok, avec l'ajax, ca va mieux maintenant, mais dans les version precedentes, il fallais écrire son article, le valider sans images, revenir dessus en fesant "modifier", uploader une a une les images et inserer le code correspodant.
C'est ce genre de choses (il y en a plein d'autre) qui rendent l'interface de spip un peu confuse.

Et effectivement, si l'on connait déjà bien spip, qu'on a pas d'obligation de changer (ou de volonté forte), autant rester sur spip, c'est certain, ça ira bien plus vite.

»

Kent1 (non vérifié) Says:

euh... donc ton argument n'est pas valable... tu le reconnait tout seul d'ailleurs... c'est un peu bizarre non?

Donc cites plutot les "pleins d'autres" plutot qu'un qui ne tient pas la route... ca pourrait être intéressant de savoir...

Cependant, une chose que perso je préfère dans spip... justement ce sont ses squelettes... que beaucoup de pros critiquent...

Effectivement les raisons de ces critiques sont normales... un pro est un informaticien... donc il lui faut faire des trucs classés "compliqué" qu'il a appris à l'école par exemple...

Donc dans Drupal sans notion de php ... on est à la rue... dans spip on est obligé d'apprendre à causer spip... mais le système de boucle est relativement intuitif... c'est presque de la grammaire francaise... il suffit de piger un petit peu le fonctionnement... les littéraires n'ont donc aucun souci à se l'approprier... le php c'est autre chose...

Il faut aussi prendre en compte ce pourquoi spip a été créé ...

Il y a entière confusion...

Spip n'a jamais mis en avant un coté pro... mais un coté "non informaticien"...

Je pense personnellement que les enjeux de cet article sont biaisés par votre qualité de "professionnel"...

En tant que non pro, ce que je cherche en priorité c'est :
- Une communauté nombreuse qui répond à mes questions dans ma langue (présentement le Francais)
- Des gens qui lorsque je les rencontre (dans la vie de tous les jours ou sur IRC) ne me parlent pas uniquement informatique mais aussi politique, social, culture général (amusez vous sur le champs IRC de Drupal ca rigole sec)...
- Un language compréhensible même s'il me demande 2/3 efforts... Désolé pour moi le php n'est pas lisible...

kent1

»

Haza Says:

Apparement, j'oubliais un argument (suite a de nombreuses discussion sur irc aussi) : la communauté spip n'accepte pas qu'on critique leur bébé :P (notez le smiley, important)

»

BoOz (non vérifié) Says:

Les critiques sont différentes du "troll".

Là cet article est un troll. Dommage, ca aurait pu être un bon sujet.

»

Gaby (non vérifié) Says:

Un peu d'accord avec Kent1, je ne suis pas développeur mais graphiste/intégrateur et je trouve que les critiques sur le système de template n'est certainement pas un argument qui tient la route car il est difficile de faire plus souple (si typo3 mais c'est plus compliqué) on fait ce qu'on veut des templates pour chaque rubriques ou attachés à des mots clés cela permet la souplesse dont tous les graphistes rêve. Les vrais défauts ont été cités, c'est en gros le manque de cohérence, de concertation ou de règles pour les plugins et mettent j'ai l'impression l'avenir de SPIP en péril. Nous nous intéressons donc à d'autres solutions comme Drupal et puisque je vous tiens, est il vrai que l'ensemble du site fonctionne sur un template et donc que le graphisme ne peut changer selon des rubriques ?

»

Haza Says:

Le graphisme peut sans (trop de) problemes changer selon les rubriques sur drupal.
Ok, c'est peut-être pas aussi trivial qu'un spip, il faut l'avouer, mais c'est faisable.

Premiere point a voir : http://drupal.org/node/104316
Ensuite, il a pas mal de "derivé" qui peuvent s'en découler, par exemple : http://web-42.com/content/differentes-mises-en-page-dans-un-meme-theme

Il y a plusieurs solutions qui sont decrites dans la doc.

»

Anonymous (non vérifié) Says:

Bonjour,
Je mets en place un réseau de coopération nord-sud-sud consacré au développement rural (agriculture, équipement, énergie solaire, habitat,
production, ventes de produits, etc.). Les groupements ruraux du sud décrivent leurs activités, projets, besoins de compétences, les bénévoles décrivent leurs contributions... par formulaires... ils sont mis en relation ... les contributions sont tracées et valorisées.. dans les budgets des groupements et dans les portfolios des bénévoles...
Bref, c'est une économie de l'aide au développement. J'ai pensé à un DRUPAL pour :
- collecter l'info sur les uns et les autres par des formulaires... j'ai vu que c'est possible.
- editer l'information sur les activités et réalisations des uns et des autres : photos, reportages, ça c'est simple.
- fournir une information par rubriques sur les techniques, astuces,financements, etc.
- publier les statistiques de réalisation
- des blogs ouverts par les uns et les autres.
- un forum pour faciliter les échanges.
Il me semble que pour la gestion des membres, groupes, et le classement des informations. PLONE est plus adapté..
Qu'en pensez-vous ?
En plus les outils de Plone sont plus souvent traduits.
J'aurai besoin de connecter au moins 2 outils :
- un outil de gestion de projet pour gérer des activités de coopération,
- un outil de gestion de contrats de coopération (comme les contrats de ventes) , de clients.
Je suppose que c'est possible avec Plone. Quid avec Drupal ?

Désolé pour mon post un peu long et l'info peut-être hors sujet sur le projet.
Patrick

»

Haza Says:

J'ai vu votre post sur le forum drupalfr

Il se serait pas plus judicieux de partir sur un vrai CRM ? voir http://fr.wikipedia.org/wiki/Gestion_de_la_relation_client ou http://en.wikipedia.org/wiki/Customer_Relationship_Management pour plus de ressources ...

Ces solutions sont souvent payante (mais on en trouve en open source) et sont vraiment dédié a gerer aussi bien des projets de coopération que des relations avec des clients.

»

Poster un nouveau commentaire

Le contenu de ce champ est gardé secret et ne sera pas montré publiquement.
CAPTCHA
Suite a de nombreux spam (plusieurs centaines/heure), je suis dans l'obligation d'imposer un captcha, en attendant de trouver une parade