eZ Publish : premières impressions
Voilà plus de deux mois que j’utilise eZ Publish pour les projets qui me sont confiés chez Metycea et je n’ai pas résisté à l’envie de partager mes premières impressions. Pour plus d’informations sur l’outil, n’hésitez pas à consulter le site officiel de l’éditeur : http://ez.no/fr/
Une première approche
Le CMS peut paraître relativement indigeste pour un grand nombre de développeurs non-avertis, tout simplement parce qu’eZ Publish c’est avant tout des centaines de fichiers et de dossiers… très bien organisés! Rassurez-vous, avec le temps on fini par s’y retrouver très facilement, d’autant plus que lors d’un développement lambda, vous passerez près de 90% de votre temps dans ces deux répertoires :
- design: contient ce qui touche de près comme de loin à l’élaboration de vos pages (html, css, js, images etc…) ;
- settings: fichiers de configurations (.ini).
Il faut savoir qu’eZ Publish fonctionne en Modèle-Vue-Contrôleur, où toutes les vues seront des templates facilement personnalisables à l’aide de surcharges (selon les cas) définies dans un fichier de configuration bien spécifique. Notez que cette logique s’applique aussi-bien en front qu’en backend.
Sous eZ Publish, tout est objet
La force du CMS réside dans sa conception même. Admettons que vous souhaitez créer un template de page simple qui comporte un titre principal, une description courte et un corps.
Pour commencer, il suffira de vous rendre dans le manager et d’y créer une classe de contenu nommée « page » (son type) composée des attributs cités précédemment (name, description, body) eux aussi typés (ligne de texte, bloc de texte, éditeur wysiwyg). On remarque une forte analogie avec le modèle objet des langages de programmation, c’est normal puisqu’il s’agit réellement d’une classe comme vous avez très certainement l’habitude d’en créer en PHP ou en JAVA. Ensuite, lors de l’intégration, il faudra simplement créer un fichier page.tpl (dossier design) qui réalise les différents traitements (à l’aide de templates operators) pour l’affichage de nos différents éléments (les attributs cités plus haut). Pour terminer, vous aurez besoin d’indiquer à la plateforme quel template utiliser pour les objets de type « page », le tout dans d’un fichier de configuration nommé overrides.append.ini.php (dossier settings). La procédure restera identique pour toutes les classes de contenu que vous aurez besoin de créer par la suite.
En résumé: Création de la classe de contenu » Intégration (template) » Ajout de la classe dans les settings.
Une histoire de cache !
Sous eZ Publish, vous vous apercevrez très vite que tout est fait pour optimiser votre temps de développement, mais en contre-partie, votre site pourra parfois afficher des délais de réponses trop élevés pour internet. Pour pallier à ce manque de réactivité, et en vue du grand nombre de fichiers de configuration et de templates que vous aurez besoin de créer pour vos futurs projets, eZ Publish va tout mettre en cache … ou presque. La conséquence d’un tel comportement ? Un temps de réponse optimal avec des pages qui s’affichent très rapidement (sauf au premier chargement des vues qui seront alors mises en cache). Du peu que j’ai pu constater, le framework va stocker certaines de vos règles de configuration (les fichiers ini), vos templates et les différentes références de vos images, des tailles pré-définies susceptibles d’être utilisées en front et/ou backend.
L’aide au développement
Pour vous accompagner dans vos différentes phases de développement, eZ Publish propose un mode de débogage qui vous permettra entre autres de dépister les petites comme les plus grosses erreurs. Cet outil s’avère très pratique lorsque le résultat d’un traitement n’est pas celui escompté en vous indiquant précisément l’origine de l’erreur. En plus de ça, il affiche le nom des templates utilisés pour vos pages, et pour ma part, c’est ce qui rend son utilisation incontournable. En effet, lorsqu’on débute (et même des semaines plus tard), on ne connait pas toujours le chemin complet des templates standards à surcharger pour nos besoins, grâce à cette aide, fini les longues minutes de recherche dans le répertoire des templates par défauts.
En conclusion
Avec le recul, on s’aperçoit vite qu’eZ Publish a tout ce qu’il vous faut pour mettre en place des sites administrables robustes et sécurisés. De base, il propose une large palette de classes de contenu modifiables à souhait. Bien entendu, comme nous venons de le voir, il est aussi possible d’en créer autant que vous le souhaitez en ne partant de rien. Il n’est pas nécessaire d’avoir de très lourdes connaissances en PHP, en effet, avec eZ Publish vous devrez vous familiariser avec les templates operators qui permettent de récupérer les informations d’un objet à afficher lors du développement de vos templates (titre d’une page, son contenu riche etc…). En revanche, si vous souhaitez développer des extensions, il faudra mettre les mains dans le cambouis. Fort heureusement, rien d’insurmontable et le site officiel propose de nombreux tutoriaux qui vous permettront d’arriver à vos fins.
Il faudra faire avec le cache, ne pas oublier de le désactiver lors de vos développements et surtout le vider régulièrement, sans oublier d’utiliser le mode de débogage et ainsi vous faire gagner un temps précieux.
Pour ma part, à l’heure où je rédige cet article je suis en plein dans mon 4me projet sous eZ Publish, je me rend compte sans grande surprise qu’il n’y a vraiment pas de limites. eZ Publish est développé de tel sorte que vous pourrez réellement faire de l’outil ce que vous en voulez!
Quelques liens utiles :



Merci pour ce partage d’impressions !
Belle clairvoyance sur le potentiel d’eZ Publish. Je t’invite à venir partager régulièrement avec le reste de la communauté eZ Publish : http://share.ez.no
Plus particulièrement, quelques feed RSS, listes twitter et canaux IRC peuvent t’intéresser : http://share.ez.no/about/get-involved#share
A bientôt,
Merci Nicolas, je n’y manquerai pas, il faut dire que je débute à peine sous eZ (bientôt 3 mois c’est pas énorme) … j’ai encore beaucoup de choses à apprendre. A bientôt!
3 mois seulement certes ! Mais avec un entrain tel que tu domptes rapidement la bête !
Merci pour le retour d’expériences sur notre CMS de prédilection.
J’essaye de m’adapter au mieux, mais il faut dire aussi que je suis bien entouré … du coup c’est plus facile pour moi. J’envisage d’apporter à nouveau mon feedback sur l’outil très prochainement … mais sur quoi, ça reste encore à déterminer !
Bravo à l’équipe Metycea pour cet engagement sur eZ Publish.
Adrien, une idée pourrait être de publier ce retour sur ton blog sur share.ez.no (que tu peux facilement créer depuis ton profil), en anglais. Je me mets à ta disposition pour la traduction, si besoin.
Cela apportera au passage de la visibilité à Metycea !
C’est une idée qui me plaît bien, l’anglais n’est pas le réel problème et merci pour cette disponibilité. Pour le moment je compte uniquement utiliser mon blog pour partager mon expérience sous eZ, et ce n’est que progressivement que je compte faire mon entrée dans la communauté eZ car je trouve que cela en vaut vraiment la peine. J’attends simplement d’avoir suffisamment d’expérience avant d’entreprendre quoi que ce soit.
Une sage démarche. A bientôt donc !
Salam
Merci pour ce retour