Retrouvez cet article dans : Linux Pratique Hors série 5
Parmi les centaines de CMS disponibles au sein des logiciels libres, il est difficile de s'y retrouver lorsqu'on veut rapidement un résultat efficace pour un site professionnel. eZ Publish est une des réponses les plus adéquates. Voici pourquoi.
Présentation
eZ Publish est un CMS créé et pensé pour le commerce, tout en restant généraliste. Tout comme SPIP a été pensé et créé pour l'édition en ligne, tout dans eZ Publish ramène à un moment ou à un autre vers la notion de société. Clairement, il n'est pas adapté à la publication en ligne d'une revue. En revanche, il facilitera sans conteste la vente en ligne des produits de tout type de boutique ou société de services.
Pourtant, eZ Publish est loin d'être le plus simple des CMS en PHP. Certes, l'installation est aisée et il est à ma connaissance et à mon goût le plus complet des CMS professionnels. Mais l'honnêteté exige de reconnaître qu'il est plus difficile à manipuler que d'autres et demande du temps et de la volonté pour qui veut s'éloigner des modèles d'origine. Pour autant, il dispose d'une communauté active et soudée, d'une documentation bien faite et d'une flexibilité attrayante. Surtout, il dispose par défaut de tous les modules que l'on peut vouloir pour faire du commerce en ligne au sein d'un site dynamique et entretenu.
Je le conseille donc aux professionnels qui ont peu de temps à consacrer à leur CMS une fois l'installation finie et qui veulent un produit large et évolutif. Maintenant, il y a du travail avant la maîtrise totale. Mais on n’a rien sans rien. On ne peut désirer un outil professionnel luxueux sans devoir par endroit verser dans la technique. En échange, on aura un résultat sans tache !

Fig. 1 : Sur cette capture est illustré le modèle « Corporate .
Pour information, l'un des sites utilisateur d'eZ publish connu en France est l'INRA (l'Institut National de Recherche Agronomique) pour le site http://www.inra.fr. Cela vous donnera une idée de ce que sait faire ce CMS.
Différents modèles de site...
L'une des particularités d'eZ Publish est qu'il vous propose, lors de l'installation, de choisir un modèle de site selon l'usage que vous pensez en faire :
- News : pour réaliser un site Internet orienté vers la diffusion d'informations ;
- Blog : pour mettre en ligne votre weblog ;
- Corporate : pour faire la promotion de la société ou du groupe (Fig. 1) ;
- Forum : pour mettre en ligne un ou des forum(s) ;
- Gallery : pour la gestion et l'organisation d'une galerie multimédia (photos mais aussi vidéos et objets ludiques animés) ;
- Intranet : pour permettre à des gens distants de travailler ensemble dans un environnement sécurisé ;
- Shop : pour la vente en ligne de produits ;
- Plain : le modèle à personnaliser !
Choisir l'un de ces modèles n'implique pas la disparition des autres fonctionnalités. Ainsi, si vous choisissez le site de news, vous aurez accès aux autres modules, mais l'interface mettra l'accent sur le flux d'informations plutôt que sur la galerie d'images ou le site marchand.
Fonctionnalités communes
- Notion d'arborescence
Tous les sites que gère une instance d'eZ Publish sont organisés sous forme d'arborescence (ainsi que les utilisateurs). Cette arborescence est la première chose que l'on voit lorsqu'on se connecte à l'interface d'administration (onglet Content structure). Chaque site est représenté par un dossier, qui contiendra autant de sous-dossiers que nécessaire.
Cela permet de hiérarchiser visuellement le site en permanence. On retrouve quelque chose de similaire sous SPIP, soit dit en passant (mais pas avec la même ergonomie et j'avoue préférer celle d'eZ Publish).
- Génération de PDF
On peut décider d'exporter certaines pages (ou une arborescence complète) sous forme de PDF. Cela se fait depuis une option dans l'onglet Setup de l'interface d'administration (sélectionnez la rubrique PDF export dans la colonne de gauche). Une option très pratique qui permet de transformer une partie du site en catalogue !
- Gestion des commandes en ligne
On peut gérer les flux de commandes directement dans la partie administration. Et ainsi gérer aussi la TVA, les décomptes, les réponses aux clients, etc.
- Gestion des traductions
Par défaut, tout dans eZ Publish est en anglais. En revanche, ce dernier sait gérer un nombre n de langues (vous pouvez, si nécessaire, ajouter une langue non prévue). Cela est fait dans l'unique objectif de vous permettre à tout moment de disposer pour un article de toutes ses traductions possibles ou potentielles. Par contre, nombre de traductions sont très incomplètes (dont le français).
-  Gestion multisites
eZ Publish peut gérer plusieurs sites si on le désire. Pour cela, on va définir plusieurs racines qui apparaîtront pour l'administrateur dans une seule arborescence. Ensuite, les utilisateurs autorisés ne verront que la racine qui les concerne.
Installation d'eZ Publish
eZ Publish est actuellement en version 3.8.0. Il fonctionne sur une base Apache (2.x de préférence) avec PHP 4.4 et supérieur et en arrière, une base de données SQL (MySQL 3.23 ou supérieur, PostGreSQL 7.3 ou supérieur). Attention, la version 3.8.0, tout comme les précédentes, ne fonctionne pas avec PHP5 !
Un dernier point important tient dans le fait que eZ Publish fait un appel massif à la base de données ; de fait, si votre base de données est située sur un autre serveur que le serveur Web, je ne saurais que trop vous conseiller de bien dimensionner cette dernière afin d'obtenir des résultats satisfaisants. Ainsi, deux machines dotées de 512 Mo de mémoire vive sont une bonne base pour commencer.
Téléchargement et préparation
Une fois que vous disposez de ces éléments, vous pouvez télécharger eZ Publish à l'adresse suivante : http://ez.no/download. On veillera à bien choisir sa version en fonction de sa plate-forme (Linux ou Windows). On récupère ainsi le paquet ezpublish-3.8.0-gpl.tar.bz2. Vous remarquerez que eZ Publish est disponible en 2 versions : une version sous licence GPL et une version sous une licence propriétaire (eZPUL). Notre choix se porte bien entendu sur la première...
Pour commencer, il faut décompacter l'archive dans le répertoire qui deviendra votre site Web. On crée, à l'aide de PhpMyAdmin, une nouvelle base de données pour eZ Publish (donnez-lui le nom qui vous plaira). Comme conseillé dans la documentation officielle, pour le bon fonctionnement de notre installation, nous allons augmenter la valeur de la directive memory_limit de notre fichier php.ini (le fichier de configuration de PHP) : de 8 Mo, valeur par défaut, nous passons à 64 Mo. N'oubliez pas de relancer le serveur Web après cela.
Note : Sur le site officiel, vous trouverez une section « Documentation », dans laquelle se trouve un support pour l’installation en cas de besoin.
Bien, tout est prêt, vous allez maintenant pouvoir lancer le processus d'installation automatique. Pour cela, ouvrez votre navigateur Web et rendez-vous à l'adresse : http://www.votre_site.com/repertoire_ezpublish/index.php
Les étapes de l'installation
Tout d'abord, sachez qu'à chaque étape de l'installation, vous disposerez d'une aide textuelle (située dans la colonne de droite) pour vous aider dans vos choix de configuration.
Au début, la procédure d'installation vérifie que le système sur lequel vous comptez faire fonctionner
eZ Publish dispose de toutes les librairies nécessaires. Si ce n'est pas le cas, la procédure d'installation va alors vous demander soit d'installer la librairie manquante, soit vous indiquer qu'une fonctionnalité sera bridée. Si vous sélectionnez la fonction Finetune, eZ Publish va vous informer des quelques imperfections qu'il a décelées dans votre configuration, mais qui ne sont pas bloquantes. Il vous propose pour chacune des corrections possibles (Fig. 2 page suivante).
Suivent la configuration de la messagerie, puis le choix des langues. Pour les langues, je vous conseille de laisser cochée en bas la case Unicode afin de permettre une meilleure compatibilité avec l'ensemble du monde en ligne.
Ensuite, eZ Publish va vous demander de choisir le type de site que vous souhaitez créer (Fig. 3). Vous pouvez aussi, si vous avez un autre modèle sous la main, l'insérer dans la liste afin de l'utiliser. Pour notre exemple, nous choisissons le type « Corporate ».
Les étapes suivantes ne devraient vous poser aucun problème. Néanmoins, lors de la validation de vos
choix, il se peut que vous ayez un avertissement à propos de l'encodage de votre base de données : celle-ci doit être encodée impérativement en UTF-8. Si ce n'est pas le cas, veuillez y remédier (ceci se fait très simplement via phpMyAdmin).
La création de la base de données peut prendre un moment, même sur une machine puissante. On peut ensuite suivre les liens (interface utilisateur : User_admin ou interface d'administration : Admin_site) et entrer dans la phase de création de SON site ! L'installation en tant que telle est finie (Fig. 4).


Fig 2 - 3
Au premier lancement
Le premier lancement est quelque peu lent, car il faut le temps que les automates d'eZ Publish préparent le site pour le système hôte. Si vous rencontrez un message d'erreur sans même avoir aperçu le site, il faut modifier l'une des variables du fichier php.ini : augmentez la valeur de la directive max_execution_time.

De cette façon, les différents scripts PHP mis en jeu auront le temps de s'exécuter sans pour autant atteindre la limite de temps qui générait une erreur précédemment.
De la langue française
Dans la version 3.8.0, le français pour l'interface administrateur laisse fortement à désirer. On ne parle pas du site puisque tout est malléable dans ce dernier. Mais en ce qui concerne l'interface administrateur, l'anglais (hormis quelques mots de-ci de-là ) est la norme. Il existe une traduction plus complète pour la branche 3.6 et on peut espérer que la branche 3.8 en bénéficiera d'ici peu.
Pour ceux que cela tenterait ou qui voudraient rapidement améliorer la traduction pour leur usage, cela est relativement facile. Le fichier contenant la traduction se situe dans le répertoire <racine du site>/share/translation/fre-FR/.
Il suffit, avec un éditeur de texte (et les droits nécessaires pour écrire sur le fichier), de chercher la ou les expression(s) à traduire et de le faire dans la ligne du dessous entre les tags marqués « unfinished » (littéralement : incomplet). Ensuite, on vide les caches et on relance le site et c'est gagné ! N'hésitez pas à consulter régulièrement le site de http://www.ezpublish-france.org pour ne pas rater la sortie du fichier de traduction complet.
Le premier article - Organisation du CMS
Le CMS est organisé en arborescence, ce qui permet une très grande souplesse. Mais l'intéressant réside aussi dans l'organisation du Content Structure, le premier onglet de l'interface d'administration (Fig. 5).
L'arborescence
A gauche, on dispose sous forme graphique de toute l'arborescence du site (ou des sites si on est l'administrateur général). Au centre, apparaît la prévisualisation de l'objet sélectionné dans l'arborescence. Dans la colonne de droite, vous trouverez des informations sur l'utilisateur, ses signets rapides ainsi que la gestion du cache d'eZ Publish. La zone centrale se divise en plusieurs sections
(Fig. 6) :
- Prévisualisation :
permet de visualiser l'apparence du contenu de l'élément sélectionné sur le site. - Détails :
fournit des informations supplémentaires sur l'objet, notamment l'auteur du contenu, la date de création, etc. - Locations :
vous pouvez visualiser ici (et éventuellement modifier) l'emplacement de l'objet dans l'arborescence. Vous pouvez également savoir si celui-ci est visible ou non et, le cas échéant, changer cet état de fait (en cliquant sur le lien Visible ou Hide situé dans la colonne Visibility). - Relations :
cette section est réservée aux éléments liés à l'objet. Vous ne pourrez les modifier qu'en utilisant la fonction Éditer de l'objet (situé dans la section Prévisualisation). - La section Sub items
apparaît tout en bas de la page. Elle permet de lister les éléments sous-jacents à l'objet sélectionné. C'est là que vous pourrez ajouter du contenu (article, commentaire, fichier, image, lien, etc.) dans l'objet (répertoire) qui est sélectionné. Les divers éléments de contenu que vous créerez apparaîtront ensuite sous forme de liste dans cette section.
Modifier l'objet (fonction Éditer)
Lorsque l'on modifie un objet ou que l'on en crée un nouveau, on est dirigé sur une page d'édition. Sur celle-ci, vous trouverez, sur la gauche, des informations sur l'objet et le brouillon (toute modification d'un objet est un brouillon). Au centre, l'objet à modifier. Sur la Figure 7 page suivante, vous pourrez constater que nous éditons la page de contact (créée par défaut lors de l'installation).
Il est important de savoir qu'eZ Publish utilise un langage interne de balises très puissant et dérivé de l'HTML. Certains diront que c'est inutile mais d'un autre côté, une fois habitué, on ne peut plus s'en passer, car il est d'une extrême souplesse et d'une grande rapidité. On trouvera toutes les balises dans la documentation d'eZ Publish.

Fig. 5 : L'interface d'administration d'eZ Publish.

Fig. 6

Fig. 7

Fig. 8

Fig.9
Le résultat
Nous avons modifié la page Contact. Observons le résultat côté visiteurs...
Vous remarquerez dans le cas de ce formulaire que restent en anglais le bouton d'envoi (Send form) et la demande de courrier électronique. Que faire ? Eh bien, ces deux éléments sont considérés par eZ Publish comme partie complète de l'installation, ils sont donc dans le fichier translation.ts dont nous parlions précédemment dans le cadre de la traduction en français du site (ou en espagnol, allemand, russe, chinois, etc.). Il faut donc appliquer la méthode proposée plus haut pour obtenir un résultat 100% en français.

Fig. 10
J'attire votre attention néanmoins sur le fait qu'une purge du cache d'eZ Publish est parfois nécessaire pour que soient prises en compte les modifications du fichier de traduction.
Autres fonctions
Site marchand
La gestion du site marchand se fait dans l'onglet Webshop de l'utilisateur administrateur. On peut y gérer les statistiques des produits, les commandes, la TVA, la liste des clients, plusieurs monnaies différentes, etc. (Fig. 10). Cela dit, cette interface ne nous a pas paru très intuitive...
Les modèles
On peut bien entendu modifier les modèles, mais cela deviendrait très technique et fastidieux ici. Sachez simplement que pour le faire, il faut maîtriser les notions élémentaires d'XML. Tout est cependant expliqué dans la documentation située sur le site de l'éditeur.
Vous disposez par défaut du modèle que vous avez choisi lors de l'installation. Pour en changer, rendez-vous dans l'onglet Design de l'interface d'administration. Remarquez au passage qu'il vous est possible de redéfinir ici la position des menus de votre site (Fig. 11).

Fig. 11
Dans la colonne de gauche, sélectionnez la section Look and feel. Vous êtes alors sur la page d'édition du template de votre site (Template look). Sur cette page, vous trouverez un encadré nommé Sitestyle. Pour l'instant, un seul choix est possible (le style par défaut). Pour récupérer d'autres thèmes, allez sur le site officiel d'eZ Publish (dans la partie Community -> Contributions -> Site Styles). Téléchargez le ou les thème(s) de votre choix (il s'agit d'un fichier au format .ezpkg).
Pour installer le ou les nouveau(x) thème(s), rendez-vous ensuite dans l'onglet Setup de l'interface d'administration. Cet onglet renferme les différents éléments de la configuration de votre site. Puis, dans la colonne de gauche, cliquez sur la section Paquets. Importez le fichier contenant le nouveau modèle que vous souhaitez installer en cliquant sur le bouton Import new package. Vous pouvez installer de cette façon autant de thèmes que vous le souhaitez.
Quand l'importation est terminée, allez dans l'onglet Design, puis Look & feel. Dans la partie Sitestyle apparaissent à présent tous les thèmes que vous venez d'installer (Fig. 12). Sélectionnez votre thème préféré en cliquant sur le bouton radio correspondant, puis cliquez sur Envoyer pour publication. Faites un tour sur votre site pour observer le résultat...
Les modules et autres plugins
Fonctionnalités non commerciales
Dans la partie contributions du site d'eZ, vous trouverez des plugins et autres modules non commerciaux. L'installation est très simple. Il vous suffit de dépaqueter l'archive dans le répertoire extension/ du site (/var/www/ez/extension dans mon cas). Ensuite, il faut activer l'extension en modifiant le fichier site.ini.append.php dans le répertoire settings/ de la racine du site (/var/www/ez/settings).
Une fois cela fait, il faut alors configurer l'extension elle-même si nécessaire (par exemple via le fichier /var/www/ez/extension/<nom du module>/settings/<nom du module>.ini.append.php). Le module fonctionne alors pour tous les sites gérés par l'instance d'eZ Publish.
On peut aussi faire ce type de modification pour que cela fonctionne uniquement pour un site et non pour tous.
Paiement
Par défaut, seul le module de paiement par Paypal est installé. Si cela vous intéresse, d'autres modules sont disponibles librement et certains moyennant finances. Ici, on entre dans des questions purement commerciales et il est donc relativement logique que l'éditeur se fasse rémunérer son travail. D'autant que le lien vers des organismes de paiement peut aussi inclure pour fonctionner l'obligation de disposer d'un abonnement spécifique auprès de cet organisme. Mais si vous en êtes là , c'est que définitivement eZ Publish est fait pour vous !

Fig. 12

Fig. 13 : Ici, c'est le thème « Structural » qui a été choisi...
Conclusion
On ne peut que regretter de faire un tour rapide d'une solution comme celle-ci. Mais il faudrait bien plus d'espace pour traiter en profondeur chaque option de l'interface. A vous de découvrir !
S'il y avait un défaut à reprocher à eZ Publish, ce ne serait pas son modèle XML, ses choix en termes d'éditeur ou ses modèles par défaut, mais sa gourmandise en termes de ressources ! Car la beauté et la réussite ont un prix qui se paie en dédiant des moyens importants à ce petit morceau de bravoure de CMS. Cependant, ça en vaut la peine !
Il y a aussi des efforts à faire certainement autour de la francisation de l'interface. Néanmoins, lorsque l'on utilise un produit de cet acabit, généralement, on parle anglais ou on le lit ! Des efforts aussi au point de vue ergonomie de l'interface administrateur, qui est tout sauf intuitive !! À déconseiller aux webmasters débutants...
En revanche, je le recommande sans conteste pour un usage professionnel ! Pas parfait, mais bien sous tout rapport...
- Dernière version : eZpublish 3.8.0 (mai 2006)
Retrouvez cet article dans : Linux Pratique Hors série 5

