Accueil / Blog / Métier / 2016 / PloneConf 2016, un vent nouveau sur Plone

PloneConf 2016, un vent nouveau sur Plone

Par Eric Brehault publié 02/11/2016, édité le 05/11/2016
Résumé de la conférence annuelle sur Plone qui s'est tenue à Boston.
PloneConf 2016, un vent nouveau sur Plone

Le sentiment qui se dégage suite à cette PloneConf 2016, c'est une envie d'aventure, un regain de curiosité, une ouverture à des domaines nouveaux.

Le grand chantier de Plone 5, qui fut la grande affaire de la conférence 2015, et qui fut rude et éprouvant pour les contributeurs, est maintenant derrière nous, la communauté est prête pour la suite.

Une conférence avec un format renouvelé

Tout d'abord, il faut souligner la grande qualité de l'organisation de la conférence elle-même.

Il y a eu énormément de participants aux formations (gratuites) les deux jours précédant la conférence, les sujets étaient extrêmement variés, et Makina Corpus a notamment animé un track de 4 formations sur le développement via l'interface web de Plone (theming, création de type de contenus, customisation avec Rapido, mise en page avec Mosaic).

Pendant la conférence, certains créneaux étaient spécifiquement réservés à des démos live, ce qui constitue une très bonne idée car bien souvent les conférenciers hésitent à placer une démo live dans leur talk (craignant sans doute des incidents imprévus).

Et enfin, la communication autour de l'événement a su attirer de nombreux participants au-delà du monde Plone lui-même, ainsi on a pu croiser des développeurs Pyramid, avec notamment Chris McDonough, et aussi d'anciennes têtes comme Lawrence Rowe, Nate Aune, Lennart Regebro, Paul Everitt, et même Jim Fulton, inventeur de Zope, qui est venu faire un talk sur la dernière version de la ZODB !!

De nouvelles UI

On se rend compte aujourd'hui à quel point Plone 5 a ouvert un nouveau champ de réflexion autour des UI. On connaissait déjà Quaive, qui continue d'évoluer autour de la thématique des intranets et des réseaux sociaux d'entreprises :

On a désormais CastleCMS qui, lui, se positionne sur la gestion de contenu éditoriale, et propose une interface extrêmement simple et intuitive :

CastleCMS se base sur une utilisation intensive de l'éditeur de mise en page Mosaic, qu'on identifie désormais clairement comme le chainon manquant entre le theming (qui offre une liberté totale de mise en page mais demande du développement) et la rédaction de contenu (qui est accessible à tout utilisateur mais ne permet pas de faire des mises en page avancées).

Tout porte à croire que Mosaic sera de plus en plus intégré dans Plone dans la série 5.x.

Perdre la tête pour de bon

Mais la grande affaire de cette conférence reste la volonté de construire un CMS headless.

Cette idée provient d'abord d'un constat: autant un CMS en tant qu'outil reste une offre intéressante et valable aujourd'hui, autant on ne peut pas ignorer qu'il y a de plus en plus de développeurs qui s'appuient sur des technologies purement frontend et qui souhaitent à tout prix rester en dehors des développements backend lourds. Leur souhait est de se limiter à l'utilisation de services exposés par des API REST.

Que peut offrir un CMS dans un tel cadre ? Contrairement à ce qu'on peut croire, il peut apporter beaucoup de choses.

En effet, même si le principe des CMS (dans leur forme actuelle) peut sembler dépassé pour certains, il n'en demeure pas moins que leurs fonctionnalités sont toujours nécessaires (workflows de validation, traduction multilingue, gestion des comptes utilisateurs, gestion des accès, etc.), et si on se contente d'un simple service de stockage (grosso modo une base de données avec une API REST), on se rend compte à quel point toutes ses fonctionnalités sont compliquées à implémenter.

On bute même sur des choses très élémentaires comme le breadcrumb, la navigation, le plan du site, etc., autant d'éléments qu'un CMS fournit gratuitement et qui coûtent très cher à refaire.

Notre ambition est donc que Plone puisse exposer toutes ces fonctionnalités via une API REST.

Et pour cela deux stratégies (complémentaires) ont été exposées :

  • se baser sur notre implémentation actuelle (c'est-à-dire Plone 5), et y ajouter plone.restapi, de cette manière on peut se positionner dès aujourd'hui sur cette nouvelle offre;
  • construire un serveur Plone purement REST, exposant la même API que plone.restapi, mais basée sur une stack entièrement nouvelle (sans Zope, sans CMF, et sans aucun composant responsable du rendu), c'est ce que propose plone.server: un serveur Asyncio développé en Python 3.5 avec la ZTK, la ZOBD (mais dans sa version 5), Dexterity, et ElasticSearch pour l'indexation. Les avantages de cette nouvelle stack sont simples: des composants modernes (tous d'ores et déjà sous Python 3.5), des performances et une scalabilité incomparable, et des fonctionnalités asynchrones (par exemple pour faire du websocket ou autres).

Parallèlement, on souhaite tout de même fournir une UI, et Makina Corpus s'est impliqué dans la construction d'un client Plone entièrement front, implémenté en Angular 2.

L'idée est que l'API REST peut bien entendu être exploitée depuis n'importe quel framework front (existant ou futur, et les choses changent vite en la matière), mais qu'il est important de fournir une implémentation de référence prête à l'emploi fournissant l'ensemble des fonctionnalités de Plone.

Et l'année prochaine...

L'année prochaine, la PloneConf se tiendra à Barcelone, et nous verrons alors où toutes ces nouvelles idées nous ont menés ! 

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

Retours sur la PloneConf 2017 à Barcelone.

Premiers pas dans la gestion personnalisée des contenus de Plone 05/07/2016

« On ne mélange pas les torchons et les serviettes. » – Alors pourquoi mélangerait-on les ...

Paypal tracking with Rapido Paypal tracking with Rapido 22/06/2016

A very simple approach for Paypal on Plone

Turning hackability into a use case 27/01/2015

When a CMS does not allow happy hacking anymore, it loses a very valid use case.

Plone 5 : Inclure du code avec la coloration synthaxique (restructuredText) Plone 5 : Inclure du code avec la coloration synthaxique (restructuredText) 16/02/2016

Pygments permet de rendre du code informatique plus lisible en y ajoutant des informations de style ...