Accueil / Blog / Métier / Archives / À quel prix devient-on vraiment pluggable ?

À quel prix devient-on vraiment pluggable ?

Par Eric Brehault publié 16/03/2012

Cet article fait suite au mail de Chris McDonough http://groups.google.com/group/pylons-discuss/msg/b19df600ddb8be3f et à l'analyse qu'en fait Paul Everitt http://pauleveritt.wordpress.com/2011/01/14/chris-mcdonough-on-pluggable-apps/

McDonough explique très bien la distinction entre extensibilité et pluggabilité, et il est tout à fait clairvoyant sur le fait que Pyramid n'offre pas automatiquement la pluggabilité.

Dans Zope/Plone, on l'a.
Ce qui est intéressant, c'est qu'au départ, on ne l'avait pas : Zope au départ c'est un système avec beaucoup de 'rails' (comme il dit), un peu comme Django aujourd'hui, c'est-à-dire avec un outillage fixe donné, mais par contre basé sur des concepts plutôt du genre de Pyramid.

Aujourd'hui, on en est au point où un type de contenu développé en Dexterity peut être ajouté dans un autre développé en Archetypes, répondre à un évènement envoyé par un composant grok, et être modifié dans une browser view z3c.form, et tout cela par la simple grâce d'avoir installé les eggs correspondants (autrement dit d'en énumérer les noms dans le buildout.cfg, et sans aucune ligne de code).
Parmi les technos listées ici, certaines ont 10 ans d'écart.
Pour en arriver là, cela n'a pas été gratuit. Cela s'appuie sur des outils anciens qui ont été maintenus jusqu'à aujourd'hui (la ZODB, les CMF, à titre d'exemple une solution moderne comme Dexterity s'appuie sur les CMF), et sur des outils plus récents très pointus (la ZCA, GenericSetup, buildout).

Accessoirement, cela a pris 15 ans.

Au cours de ces 15 années, on a construit deux choses précieuses :

  • les outils et les frameworks eux-mêmes,
  • la culture qui va avec.

C'est parce que cette culture est très forte que l'écosystème Plone fonctionne si bien. Par exemple, le respect systématique par n'importe quel composant communautaire de la structure CSS générale de Plone ou de son ergonomie ne vient pas à proprement parler de contraintes techniques, il relève de la culture globale de la communauté Plone et du soin que prend cette communauté de son outil.
Et c'est cette volonté de soin couplée à la volonté de s'inscrire dans cette culture qui est le fondement de la pluggabilité réelle qu'on peut observer dans Plone.

Au fond la technique n'est pas tellement importante, rien n'empêche de faire avec Django ou Pyramid la même chose qu'avec Zope/Plone (d'ailleurs, on trouve tout ce qu'il faut dans Pyramid pour suivre la même voie que Zope si on le souhaitait). Ce n'est pas la question. Ce n'est pas que ce soit possible de le faire qui compte, ce qui compte c'est que toute une communauté le fasse.

ABONNEZ-VOUS À LA NEWSLETTER !
Voir aussi
PloneConf 2017 à Barcelone PloneConf 2017 à Barcelone 27/10/2017

Retours sur la PloneConf 2017 à Barcelone.

Python : Bien configurer son environnement de développement Python : Bien configurer son environnement de développement 07/12/2015

Comment utiliser les bonnes pratiques de développement Python.

Formation Django initiation à Toulouse du 13 au 15 mars Formation Django initiation à Toulouse du 13 au 15 mars 26/01/2017

Entrez de plain-pied dans l'univers de Django aux côtés de développeurs ayant une expérience de ...

PloneConf 2016, un vent nouveau sur Plone PloneConf 2016, un vent nouveau sur Plone 02/11/2016

Résumé de la conférence annuelle sur Plone qui s'est tenue à Boston.

Retour sur la PyConFr 2016 Retour sur la PyConFr 2016 18/10/2016

Nous étions présents à Rennes pour PyConFr 2016. Voici notre compte-rendu à chaud.