PLONE : création de site Web et gestion de contenus (CMS)

Fiche PLUME
  • Création ou MAJ importante : 13/01/2012
  • Correction mineure : 13/01/2012
  • Auteur : Vladimir Daric - CNRS Délégation IDF-Sud / Service des Systèmes d'Information (CNRS)
  • Contributions importantes :

    Françoise Conil (LIRIS Lyon)


  • Responsable thématique : Pascal Dayre (IRIT)
  • Relecteur 1 : Loïc Gouarin
  • Relecteur 2 : Françoise Conil
Mots clés
Description
Fonctionnalités générales

Plone est un système de gestion de contenu Web (CMS) complet, robuste, reconnu qui permet de réaliser une grande variété de sites web dynamiques : site internet, intranet, blog, boutique en ligne.

Plone fonctionne avec la plupart de navigateurs web. L'édition des contenus se fait à l'aide d'un éditeur wysiwyg.

Plone dispose de nombreuses fonctionnalités dès l'installation :

  • une gestion des membres et de leurs droits
  • une mise à jour du contenu par de multiples utilisateurs à travers un éditeur intégré
  • un système de workflows (chaînes de publication) puissant et flexible
  • une gestion séparée de la forme et du contenu
  • une structuration du site (semblable à une hiérarchie de fichiers) et du contenu (par l'utilisation de types de contenu différents comme par exemple des documents, des dossiers, des actualités, des événements, etc.)
  • une gestion des versions des contenus
  • une indexation automatique du contenu (y compris des principaux formats de fichiers bureautiques)
  • une gestion complète par interface web
  • la gestion du multilinguisme
  • la possibilité de le déployer en mode standalone ou cluster, pour des sites à fort trafic (passage à l'échelle)
  • l'intégration du framework javascript JQuery
Autres fonctionnalités

Plone est basé sur le serveur d'applications Zope (langage Python).

Par défaut, Plone stocke ses données dans la base de données de Zope, la ZODB (Zope Object DataBase), une base de données orientée-objet adaptée aux applications de gestion de contenu : organisation hiérarchique des données, indexation des informations, etc.

Plone peut interopérer avec la plupart des systèmes de bases de données relationnelles, open source ou propriétaires. Il existe des connecteurs pour un certain nombre de SGBDR incluant MySQL, PostgreSQL, Oracle, Sybase ainsi que Microsoft SQL Server et Access (via un lien ODBC).

Pour compléter les fonctionnalités de Plone, il existe un grand nombre de produits d'extensions. Vous pouvez également créer vos propres extensions ce qui fait de Plone un outil très flexible.

Ci-dessous, plus d'informations sur les standards supportés, la sécurité...

Standards

Plone respecte rigoureusement les normes d'ergonomie et d'accessibilité. Les pages d'un site Plone sont conformes aux recommandations "Section 508" du Gouvernement Américain, et à la norme d'accessibilité AA du W3C. D'autre part, elles se basent sur les meilleurs standards du web tels que XHTML et CSS.

Sécurité

Le CMS Plone est souvent très bien positionné concernant la sécurité.

Contrôle d'accès

Dans Zope / Plone, la gestion du contrôle d'accès (Autorisation) est faite par l'attribution de rôles aux membres et par la définition de permissions pour les ressources accédées.

Les permissions spécifient quelles actions sont permises pour quel rôle.

Un utilisateur peut avoir un nombre quelconque de rôles, les rôles peuvent être attribués à des groupes d'utilisateurs ce qui est préférable car on a régulièrement des changements de rôles pour les membres alors que la règle "les gestionnaireDeXYZ ont les droits de relecture pour la branche XYZ" reste stable.

Depuis Plone 2.5, Plone utilise PlonePAS basé sur le produit Zope PAS (Pluggable Authentication Service).
PAS est construit autour des concepts d'interfaces et de plugins : toutes les tâches relatives à la gestion des utilisateurs et des groupes et à l'authentification sont décrites dans des interfaces séparées. Ces interfaces sont implémentées par des plugins qui peuvent être sélectivement activées par interface.

Enfin les types de contenus sont protégés par des workflow qui définissent les permissions requises lors des différentes étapes allant de la création à la mise en ligne du contenu.

L'interface utilisateur est plus ou moins riche suivant les permissions accordées à l'utilisateur.

L'administrateur dispose en plus d'une interface d'administration très complète, la ZMI : Zope Management Interface.

Types de contenus

Plone dispose d'un certain nombre de contenus de base qu'il est possible d'étendre en créant de nouveau types de contenus.

Les contenus de base de Plone 3 sont les documents, les actualités, les événements, les collections, les fichiers, les images, les liens.

Les types de contenus peuvent être ajoutés à l'aide de produits d'extensions ou créés. Le produit d'extension ArchGenXML génère le code python pour la création de nouveau type de contenu à partir de modèles XML (format XMI).

Internationalisation

L'interface de Plone a été traduite dans plus de 40 langues, et des outils additionnels sont fournis pour permettre la gestion du contenu multilingue.

Indexation

Tous les contenus (et les fichiers bureautiques et pdf) sont indexés "fulltext" en temps réel.

Le moteur de recherche donne des résultats très pertinents.

Apparence

L'administrateur peut placer les composants de la page à travers une interface graphique.

Comme tout CMS, l'aspect du site peut être modifié en appliquant un thème.

La modification de l'aspect du site peut être faite simplement à partir de l'interface d'administration (ZMI) mais ces modifications ne sont alors pas duplicables/répétables.

Il est conseillé de créer un thème et d'y placer ses modifications. Cependant cette procédure n'est pas simple car elle demande de comprendre le fonctionnement de Plone. Il y a néanmoins des outils (paster) qui génèrent le squelette du thème dans lequel on peut placer ses adaptations.

Produits d'extension

Il existe de nombreux produits d'extension pour Plone, près de 1300 projets.

Comme pour tous les CMS Open Source, il faut être attentif avant d'adopter une extension. Il faut évaluer la nécessité de cette extension et sa pérennité. Le risque est d'être bloqué pour migrer son CMS lorsque l'extension n'est pas disponible pour la nouvelle version.

Sur la page de l'extension, regarder la date de la dernière release, la fréquence des releases, le nombre de bugs soumis, corrigés, le(s) porteur(s) du projet.

Divers

Statistiques sur les langages de programmation utilisés dans Plone

Pour les administrateurs

Plone est facile à installer. Vous pouvez installer Plone en quelques clicks grâce à son programme d'installation ; vous obtenez un système de gestion de contenu qui tourne sur votre machine en quelques minutes car Zope intègre sa propre base de données et son propre serveur Web.

Pour les développeurs

Les concepts utilisés dans Plone sont sains et robustes. Le code est systématiquement livré avec des tests. Le code est maintenu et stable. Dans Plone la retrocompatibilité compte.

Plus d'informations

Présentation des fonctionnalités disponibles dans Plone 3.0
Présentation des fonctionnalités de la nouvelle version majeure de Plone : Plone 4

Une copie d'écran d'administrateur

Copie d'écran d'administrateur

Interopérabilité

XHTML : export XML
accès : HTTP, FTP, WebDAV, XML-RPC
CSS, OpenID

Contexte d'utilisation dans mon laboratoire/service

Partage de l'information, documents, collaboration;

Limitations, difficultés, fonctionnalités importantes non couvertes

La courbe d'apprentissage est importante lorsque l'on veut adapter le produit.

Plone est un système de gestion de contenu. Si l'on veut créer et gérer des contenus spécifiques, les données de ces contenus doivent être stockées dans la ZODB et non dans un SGBD externe. C'est le fonctionnement de Plone pour garantir la persistance des données des contenus et leur indexation correcte. Des composants ont été développés pour le stockage des données de types de contenus dans un SGBD mais ils ne sont pas intégrés et ils sont parfois déconseillés.

La ZODB est très commode pour représenter des donnes hiérarchisées mais contrairement aux bases de données relationnelles il n'y a pas de langage de requête standard.

Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré

La méthode d'installation la plus courante et qui est recommandée est d'utiliser l'installeur fourni sur le site de Plone.

Il y a cependant des packages Plone pour les principales distributions Linux.

Plates-formes

Linux, OS X, Windows, BSD, etc

Logiciels connexes

Plone est construit au-dessus de Zope.

Autres logiciels aux fonctionnalités équivalentes

Drupal, Joomla, Typo3, eZ Publish et eXo Platform

Environnement de développement
Type de structure associée au développement

La fondation Plone qui veut adopter un fonctionnement similaire à l'Apache Software Foundation

Eléments de pérennité
  • Historique : Plone a vu le jour en 1999. Depuis la communauté n'a pas cessé de grandir. Actuellement la communauté de développeurs comporte plus de 200 membres actifs.
  • Maintenance : Seule une version majeure (3.X, 4.X, ... ) est activement maintenue. Les corrections de sécurité sont réalisées pour les 2 dernières versions majeures, cf http://plone.org/support/version-support-policy
Références d'utilisateurs institutionnels
Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur

La documentation en ligne Plone
Les livres recommandés

Pour les livres, je recommande :

  • "Professional Plone Development" de Martin Aspeli (si vous l'achetez chez l'éditeur vous pouvez acheter en même temps le PDF).
  • "Practical Plone 3: A Beginner's Guide to Building Powerful Websites", Alex Clark, Clayton Parker, Darci Hanning, David Convent, John DeStefano, Jon Stahl, Martin Aspeli, Matt Bowen, Ricardo Newbery, Sam Knox, Steve McMahon, Tom Conklin, Veda Williams
  • "Plone 3 Products Development Cookbook", J. P. Gimenez, M. F. Romero
  • "Plone 3.3 Site Administration", Alex Clark
  • "Plone 3 Theming", Veda Williams
Divers (astuces, actualités, sécurité)

Deux documentations très récentes ont été réalisées par la communauté française, merci aux contributeurs :

Consulter les ressources des conférences Plone lorsqu'elles sont mises en ligne : http://www.ploneconf2009.org/program/talks

Consulter les supports de présentation sur slideshare :

Suivre les blogs et flux RSS du domaine :

Consulter les vidéos en ligne : http://plone.blip.tv/

Contributions