Choisir le bon outil pour le site communautaire (SPIP ou Drupal)

Ces dernier temps (fin 2005 - début 2006) il est beaucoup question de refaire le site communautaire de la coopérative d'hébergement Ouvaton.

Le choix qui doit être fait en premier

La première chose qui doit être décidée, c'est le CMS (Content Management System) ou outil qui sera utilisé par le site.

Ce choix est important car une fois fait, il est difficile de revenir sur sa décision et de refaire le site entier afin d'utiliser un autre CMS. Les questions de migration d'un système vers un autre sont toujours un vrai casse-tête, même pour un webmestre averti.

Donc, avant même de parler de design, look et autres fonctions accessoires, il faut:

  1. bien définir le cahier des charges techniques
  2. choisir le CMS le plus adapté à ce cahier des charges

Le choix de CMS est déjà fait?

Le choix de CMS pour le nouveau site communautaire de Ouvaton semble déjà avoir été fait, de façon implicite. Si personne ne propose rien d'autre, SPIP sera utilisé, tout simplement parce que c'est un CMS français, et que c'est ce que connaissent les administrateurs du Conseil d'Administration de Ouvaton ainsi que la plupart des membres de la coopérative.

SPIP est donc le choix par défaut.

Bien entendu, si j'écris tout cela, c'est que je ne suis pas sûr que ce soit le meilleur choix. Je n'ai pas essayé tous les CMS, et je ne connais pas SPIP en profondeur, mais certaines choses semblent m'indiquer que Drupal serait un meilleur choix à long terme pour le site de la coop.

Donc, je vais essayer d'exposer de la façon la plus objective que je peux, les avantages et désavantages de SPIP et de Drupal.

Des URL propres

Veuillez noter les 4 URL suivants:

  1. www.masquilier.org/ouvaton_coop/offre_technique_suivit_demandes
  2. www.masquilier.org/node/34
  3. www.masquilier.org/index.php?q=node/34
  4. www.masquilier.org/index.php?q=node/34&section_id=coop_news&article_id=15646&template=default

les quatre URL mènent en fait sur la même page. Le premier donne une meilleure idée de ce qu'on pourra y trouver. C'est un URL "propre", lisible pour l'humain. Les trois autres vont de pire en pire et n'ont d'utilité que pour la machine.

Un URL propre permet d'avoir un meilleur référencement par les moteurs de recherche, et il est plus parlant pour l'utilisateur.
Je pense donc qu'il est essentiel de construire un site avec des URL propres pour au moins l'essentiel des pages (toutes les pages d'information durable).

Je peux me tromper sur ce point particulier, mais je pense que Drupal a un avantage certain sur SPIP sur ce point.

Les deux supportent les URL propres, mais c'est une fonction de base chez Drupal, même pour les messages de forum, alors que beaucoup de sites SPIP semblent encore s'embêter avec des formules absconses.

Les connaisseurs de SPIP me corrigeront si je me trompe et je corrigerais cet article en fonction.

Contrôle des permissions

Voilà je crois un des points les plus essentiels. Pour moi, le site de la coop doit montrer que nous sommes une communauté vivante. Pour cela, il me semble essentiel de regrouper toutes les fonctions du site sous un même toit (et il semble que la majorité des coopérateurs qui se sont exprimés en la matière soient favorables à un tel regroupement).

Ceci pose un problème de gestion additionnel, car tous les membres n'ont pas la même autorité, et tous les commentaires n'ont pas la même valeur.

Parmis les usagers du site, on peut imaginer que les différents groupes d'usagers suivants auraient des pouvoirs d'ordre décroissant:

  1. Une personne désignée responsable de la gestion technique du site en général (celui qui détient les clefs du site)
  2. un membre élu du CA.
  3. Un membre de la coop, volontaire pour gérer un groupe de travail sur un sujet d'intérêt communautaire
  4. un membre Lambda de la coopérative qui n'a pas exprimé d'intérêt particulier en la vie communautaire.
  5. Une personne inscrite au site, pas encore membre de la coop, mais intéressée.
  6. Un visiteur anonyme du site.

De même, une déclaration officielle du CA n'a pas la même valeur qu'un message quelconque sur les forums.

Drupal et SPIP ont tous les deux un système de gestion de permission. Je connais bien celui de Drupal, mais celui de SPIP ne semble pas être à sa hauteur. Les pro de SPIP confirmeront ou infirmerons.

Drupal permet de créer plusieurs niveaux de permissions précis à l'extrême, ce qui peut être utile dans un grand site, avec un grand nombre d'utilisateurs:

  • On peut définir un nombre illimité de catégorie de personne, comme ceux définis plus haut, et bien d'autre (par exemple, une catégorie peut être défini pour chaque groupe de travail, si besoin est).
  • Chaque module de Drupal déclare une série de permission couvrant chacune des fonctions de ce module. Par exemple, le module "comment" (commentaires) gère les permissions suivantes:
    • Accéder aux commentaires
    • Gérer les commentaires
    • Gérer la modération
    • Modérer les commentaires
    • Poster des commentaires
    • Poster des commentaires sans être modéré

    Une combinaison différente de droits peut être attribué à chaque catégorie d'usager.

  • Des droits particuliers peuvent être définis en fonction du sujet de l'article. Par exemple, je peux être attribué les droits de modérateurs sur tous sujets catégorisés "Drupal" mais ne pas avoir ces même droits dans un forum qui a pour sujet "SPIP".

Créer des "types de page" adaptés aux besoins précis du site et de la communauté

Dans le site communautaire, plusieurs type de pages seront publiées:

  • Des pages durables sur l'explication de l'offre Ouvaton
  • Des pages de conversations conviviales dans les forums
  • Des pages de demandes d'aide qui demandent un suivit précis et adapté (Le site de Drupal lui-même doit faire un suivit rigoureux des "bugs"). Comment ce système peut-être adapté aux besoins des communautaires serait le sujet d'un article complet.
  • Des pages qui listent l'offre technique, changeante, offerte par Ouvaton. Ce sujet a déjà fait l'objet d'un article au sujet des requêtes sur l'offre technique.

Drupal permet de mettre en place une batterie de "type de nodes" très précisement adaptés aux besoins du site.

Un choix pour l'avenir

Je voudrais revenir sur ce que je disais en introduction: le choix d'outil (CMS) est important car une fois fait, il est difficile de revenir sur sa décision et de refaire le site entier afin d'utiliser un autre CMS. Les questions de migration d'un système vers un autre sont toujours un vrai casse-tête, même pour un webmestre averti.

Je n'ai aucun doute que SPIP puisse faire ce que la plupart des membres du CA ont en tête pour le nouveau site. L'important est de faire la différence entre ce que l'on pense faire aujourd'hui, et ce que l'on voudra faire demain.

Je ne connais pas le code de base de SPIP, mais je connais bien celui de Drupal. Celui-ci offre des avantages certains qui permettront au site de s'inscrire dans la durée.

  • Le code de base de Drupal est très propre, modulable et extensible ce qui assure que le code continuera à évoluer de façon positive.
  • Un système de "hooks" permet d'ajouter facilement des modules complémentaires sans avoir à modifier le code de base.
  • La communauté de Drupal est très active. L'ensemble du code est biens supporté.
  • Le code ne force pas le webmestre à une certaine logique. Avec un peu d'experience et de patience, Drupal peut être adapté de façon à fournir précisemment ce dont on a besoin.

Sans doute, SPIP partage certaines de ces qualités, mais je ne sais pas lesquelles et à quel point.

Le design

Le concour pour choisir le nouveau logo du site a engendré pas mal de discussions sur le choix de maquette pour le site (voir par example ce fil de discussion pour des avis différents).

Encore une fois, je ne sais pas ce qu'il en est pour SPIP, mais en ce qui concerne Drupal, la solution est simple: choisir la meilleure maquette qui puissent servir le plus grand nombre (quelle que soit la résolution du moniteur, la vitesse de connection, etc...). Ensuite, si des volontaires veulent bien s'en donner la peine, il est possible de créer d'autres maquettes plaisant plus à des minorités de membres (maquette pour les écrans larges, pour ceux qui préfèrent un design plus sobre, etc...).

Ainsi, chaque membre du site peut choisir dans ses préférences, la maquette qu'il préfère. Tout le monde est content.

Les avantages de SPIP

Cette section va être mise à jour en fonction des discussions.

  • SPIP est bien connu des membres actuels du CA
  • C'est un produit développé en premier lieu par des français.
  • Bien que Drupal ait un fonction cache, celle de SPIP ne requiert pas un accès à la base de donnée.

Les avantages de Drupal

Cette section va être mise à jour en fonction des discussions.

Quand je dis que Drupal est "plus performant": je peux corriger mes affirmations si on peut me montrer que SPIP peut faire exactement la même chose.

  • Drupal est basé sur un engin performant, bien pensé, et adaptable à tous les besoins par un système de modules plus performant (??) que les fonctions similaires de SPIP.
  • Gestion native des URL propres. Même les URL des messages dans un forums sont propres (pas de signes cabalistiques).
  • Gestion très performante des droits d'accès de plusieurs catégories d'usagers.
  • Possibilité de créer des formulaires de création de page différentes adaptés aux besoins divers.
  • Le thème peut être différent pour différentes parties du site (couleurs différentes, et menus différents pour les parties officielles et d'autre moins. L'engin de rendition est en php pure, donc tout est possible)
  • La communauté de développement de Drupal est internationale et très active. Drupal a été largement exposé aux milieux médiatiques intéressés durant l'année 2005, et la base d'utilisateurs a grandi de façon exponentielle durant cette même année. C'est un projet mature mais qui est toujours en croissance rapide.
  • Chaque utilisateur peut choisir sa maquette préférée (parmis un choix de maquettes contribuées par des membres).

Conclusions

à venir.