Passer au contenu

Zope 2.6.1 : un serveur d’applications atypique

Zope embarque sa propre base objet, un moteur d’indexation et un serveur HTTP. Complexe, il nécessite un long apprentissage.

Contrairement à ce que son nom laisse supposer, Zope ­ pour Z Objects Publishing Environnement ­ n’est pas un système de gestion de contenu, mais un serveur d’applications open source dédié à la création de sites web. Suite à un échec
commercial, ses créateurs ont décidé d’ouvrir son code en 1998. Écrit en Python et en C, Zope est fortement orienté objet. La version 2.6.1 embarque un serveur web ­ ZServer ­ acceptant les protocoles HTTP, FTP, XML-RPC (mais ne gérant pas encore
Soap) et les API FastCGI et PCGI. Il fonctionne de concert avec Apache, IIS, et tous les serveurs HTTP prenant en charge l’interface CGI. Zope intègre en plus une base de données objets ZODB (Zope Object DataBase) ainsi qu’un moteur d’indexation,
ZCatalog. Enfin il dispose de trois mécanismes pour améliorer les performances et la disponibilité d’un site. Zope Cache Manager et RAM Cache Manager optimisent la charge du serveur tandis que la bande passante est gérée par HTTP Accelerated Cache
Manager.

Configuration : un jeu d’enfant

Les codes source de Zope et des binaires précompilés sont disponibles pour Windows, Solaris et Linux. Une installation sur AIX, HP-UX ou xBSD nécessite donc une adaptation et une compilation des sources. L’installation avec Windows ne
pose pas de difficulté. Zope dispose ensuite d’une interface d’administration web qui gomme complètement la plate-forme d’exécution. Elle permet d’administrer l’ensemble des paramètres du site, comme la création de la structure des pages,
l’importation des scripts, des images et des documents, la gestion des versions d’objets manipulés, la configuration du moteur d’indexation, etc.

Prise en main : une approche déroutante

La publication de contenu HTML statique s’effectue par l’interface d’administration. Cette opération est simple mais fastidieuse : chaque page HTML doit être importée dans Zope qui la transforme en objet et la stocke dans la base
ZODB. Grâce à cette approche, Zope indexe l’ensemble des contenus HTML et peut les retrouver très facilement. La création de pages web dynamiques est elle aussi déroutante. On manipule et assemble des objets (HTML, DTML, Python, etc.) au travers de
l’interface web plus qu’on ne crée réellement une page. Zope sépare la présentation des traitements, ceux-ci étant écrits en Python, et la présentation en DTML (Document Template Markup Language). Zope génère les pages HTML en associant ces deux
couches. DTML se présente sous la forme de balises qui s’insèrent dans le code HTML. Par défaut, les données de l’application sont stockées dans ZODB, mais il est possible d’établir une connexion vers les SGBDR traditionnels tels que les bases
d’Oracle, MySQL, et ODBC via des connecteurs open source. Les fonctionnalités de base du serveur d’applications peuvent être étendues grâce à une base d’environ 700 composants de granularité très variable, les ZClasses et les ZProducts. Content
Management Framework (CMF) et CMFPortlet fournissent, eux, les fonctions de base pour créer un site web.

Notre avis : un outil complet mais complexe

Zope possède une architecture technique intéressante et, à la différence de nombre de solutions concurrentes, il propose une plate-forme complète et homogène. Mais sa logique et ses langages ‘ exotiques
nécessitent un très gros effort d’adaptation. Les développeurs sont en effet initialement formés à des langages web tels que ASP, Java, et PHP et à des bases de données relationnelles telles que MySQL et celles d’Oracle. Ils ne
seront donc opérationnels sur Zope qu’après avoir appris DTML et Python. Opter pour Zope relève donc d’un choix judicieux sur un plan purement technique, mais peu réaliste au regard des compétences des développeurs. Au final, Zope nous semble être
un outil intelligent mais complexe, et qui risque d’avoir du mal à se frayer un chemin entre J2EE, .NET et PHP.

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


Frédéric Bordage