Samedi 9 juillet 2005 — Dernier ajout lundi 26 novembre 2007

Éléments « manquant » à AGORA ; SPIP 1.8, une réponse ?

Agora, disponible depuis un peu plus d’un an peine à convaincre. Pourquoi ?

Agora a été rendu public il y a environ un an, en juin 2004.

Cette sortie a fait beaucoup de bruit, trop de bruits pour certains, pas assez pour d’autres.

Depuis, de l’eau a coulé sous les ponts, les passions se sont un peu calmées, et j’ai eu envie de faire un bilan qui fait le pendant d’un article rédigé il y a un an et demi, alors que l’on commençait à parler d’Agora et de ses promesses : Éléments « manquant » à SPIP 1.7 ; SPIP-AGORA, une réponse ?.

Retour Sommaire

Quelques constats

Retour Sommaire

Premier constat : Agora est difficile à installer

Alors que pour installer SPIP sous Windows™, il suffit de 10 minutes [1], la liste des utilisateurs d’Agora voit régulièrement revenir la question de comment l’installer.

Une fois installé, il est manifeste que tout est plus lent que dans SPIP [2].

Retour Sommaire

Deuxième constat : Agora n’est pas internationalisé

Pour s’en rendre compte, il suffit de naviguer dans l’interface d’administration en sélectionnant une autre langue que le français. Tout ce qui s’affiche encore en français n’est pas traduit.

Retour Sommaire

Troisième constat : Agora est obsolète !

En effet, Agora est basé sur la version de SPIP 1.7.0, seule version de SPIP à partir de laquelle il soit possible de migrer vers Agora (toute autre possibilité de migration, dans un sens ou dans l’autre n’est pas prévue).

Or, les versions de SPIP 1.7.1 et 1.7.2 ont déjà vu des améliorations au niveau de la gestion du multilinguisme (parachevée dans la version 1.8 [3]) et l’apparition d’une nouvelle balise : #EXPOSER.

Mais la version 1.8 a apporté tellement de changements au niveau des possibilités des squelettes que l’on peut dire que l’on se retrouve devant un moteur de Formule 1 après avoir eu une brave 2 Chevaux ! Quelques exemples :

  • L’imbrication de balises : [<img str="(#LOGO_ARTICLE)"[ alt=(#DESCRIPTIF|attribut_html)] />]
  • Boucle entre <Bn> et <BOUCLEn>
Retour Sommaire

Quatrième constat : Agora est une usine à gaz

Retour Sommaire

Architecture

Agora est architecturé selon une méthodologie objet (sans doute MVC) qui rend son code difficile à suivre. Est-ce une manière d’obscurcir le code, ou de ne le rendre accessible qu’à des sociétés commerciales ayant des ingénieurs en programmation maîtrisant une programmation par abstraction et couches métiers ?

Retour Sommaire

Maintenance de plusieurs versions

De plus, il vient d’être décidé de maintenir non pas une mais deux versions d’Agora :

  • la version stable officielle en production
  • la version en cours de développement

en veillant à distinguer lors des commits ce qui est de l’ordre d’une nouvelle fonctionnalité et ce qui est de l’ordre de la correction de bug, qui dans ce dernier cas doit être propagée aux deux versions.

Autant dire que ce genre de politique ferme la porte à beaucoup de monde quant à la capacité à pouvoir s’intégrer au projet.

Retour Sommaire

Pourquoi alors utiliser Agora ?

Personnellement, j’ai utilisé Agora pour sa newsletter intégrée. Mais la donne va changer avec l’excellent travail fourni par BoOz avec SPIP-Listes.

Une autre raison de choisir Agora est la possibilité de disposer des rédacteurs restreints qui ne voient que leurs rubriques. Ça peut être particulièrement utile sur des sites ayant 4000 rubriques tel que celui du Ministère des Affaires Étrangères.

Enfin, Agora dispose de plus de niveaux de validation et d’utilisateurs que SPIP, ce qui lui permet d’être plus adapté à un modèle de prise de décision très hiérarchisé comme dans l’Administration.

Retour Sommaire

Pourquoi Agora est bon pour SPIP ?

Retour Sommaire

Agora : une référence intéressante

Il est toujours pratique, dans le cadre d’une négociation commerciale de pouvoir dire que le site du Premier Ministre et celui de l’ANPE « tournent sous SPIP » [4].

Qu’on le veuille ou non, Agora a donné à SPIP une couverture médiatique et une reconnaissance publique qu’il n’avait pas encore (face à des Directions Informatiques gavées de java, J2EE, Zope…).

Retour Sommaire

Agora : un stimulant de SPIP ?

Les avis sur la question sont partagés. La communauté de SPIP se défend d’avoir été piquée au vif par Agora.

Et pourtant… Après la sortie d’Agora :

  • la communauté des traducteurs de SPIP a produit encore plus de langues
  • le manuel d’utilisation de SPIP a été largement amélioré [5]
  • un nouveau développeur a été intégré aux « mousquetaires » avec dans son bagage le nouveau compilateur de SPIP (qui ouvre la voie au multi-bases, multi-SGBDR)
  • la gestion des URL propres a été grandement améliorée
  • SPIP intègre désormais un correcteur d’orthographe et un mode de pré-visualisation
  • presque tous les éléments de SPIP peuvent être suivis via un flux RSS
  • il est possible de faire des boucles SPIP sur des tables non SPIP
  • l’interface d’administration a été complètement remaniée pour permettre de faire pratiquement toutes les opérations d’un seul clic
  • une gestion centralisée des autorisations est en cours de préparation
  • une version de l’interface d’administration conforme aux standards du W3C est en préparation
  • un nouvel espace de travail collaboratif a vu le jour : SPIP-Zone

Coïncidence ou non, tout cela est largement bénéfique à la communauté SPIP.

Retour Sommaire

Point de vue très personnel

À mon humble avis, Agora constitue donc d’une part un aiguillon pour SPIP, mais aussi, par certains aspect, un laboratoire d’essai, où des solutions de programmation (trop) lourdes ont été testées, et constituent donc pour SPIP une exploration du terrain montrant comment ne pas faire les choses (il va de soit que certains chez Agora pensent exactement la même chose de SPIP !)…

Voir aussi : Agora → SPIP.

[1Installer EasyPhp, décompacter l’archive de SPIP dans le dossier racine du serveur web d’EasyPhp, et de suivre la procédure d’installation de SPIP dans le dossier ecrire via son navigateur web.

[2Ce propos est à modérer par rapport à la version 1.3 d’Agora actuellement en Release Candidate qui voit ses performances grandement améliorées

[3Merci Paolo !

[4Inutile d’entrer dans les détails, Agora et SPIP, à ce stade de la négociation, c’est la même chose !

[5Merci Pierre !

Vos réactions

  • Stanislas 27 août 2006 19:57

    Lire également ce fil de discussion sur la liste Spir-user :

    http://article.gmane.org/gmane.comp.web.spip.user/92045

  • Agora est architecturé selon une méthodologie objet (sans doute MVC) qui rend son code difficile à suivre. Est-ce une manière d’obscursir le code, ou de ne le rendre accesible qu’à des sociétés commerciales ayant des ingénieurs en programmation maitrisant une programmation par abstraction et couches métiers ?

    c’est vraiment le meilleur passage !

    merci beaucoup

    • les choix du SIG en matière d’architecture sont très bon et ils permettent une évolution du logiciel beaucoup plus simple et rapide.

      Mais il est sur qu’un projet informatique doit être géré par des informaticiens ;-), le fait que des non informaticien ne comprennent pas le code source est un critère idiot.

      • La guerre est une chose trop sérieuse pour être abandonnée aux militaires (Clémenceau)…

        De même, si évidemment les informaticiens sont nécessaires, il est extrêmement utiles qu’ils soient cadrés, encadrés, supervisés par des personnes qui n’ont pas nécessairement ce profil.

        J’ai moi-même des compétences en informatique, et plutôt une « informatique avancée », mais je suis conscient des limites d’une approche exclusivement technique ou trop technologique.

        En l’occurence je ne peux pas me prononcer sur Agora que je ne connais pas, mais s’il est clair que je comprends très bien l’importance des besoins ciblés par les développements Agora, je constate la puissance de Spip 1.8 et suis extrêmement favorable à ce que au moins certains développements Agora soient rééecrits sous forme de modules complémentaires à Spip 1.8 ou 1.9.

        Ce sera bénéfique pour tous.

    • Quel rapport entre « méthodologie objet » et MVC ? SPIP sans être architecturé objet (full du moins) implémente d’office le pattern MVC : boucles SPIP, php+filtres+…, (X)HTML. SPIP Agora dérive de SPIP donc il hérite de l’architecture MVC.

      Balluche