Zope (Z
Object Publishing Environment) est une plate-forme de développement
à part entière, à mi-chemin entre le serveur
d'applications Web et le système de gestion de contenu. Open Source
(donc potentiellement gratuit), multi plates-formes et orienté-objet,
il est souvent vu comme la prochaine génération des
gestionnaires de portails Internet/Intranet. Son implantation dans
les entreprises reste encore limitée, notamment du fait de
ses spécificités techniques, et ses performances face
à la montée en charge ont pu, ça et là,
être questionnées, mais il reste que l'outil demeure
prometteur et actif dans son développement.
Zope a été
développé principalement en Python, avec certains
aspects construits en C. L'interface Zope est écrite en HTML
3.2, ce qui la rend fonctionnelle sur toutes les plates-formes et
tous les navigateurs. L'accès au code source facilite de
plus l'installation personnalisée de la solution, pour qui
dispose de quelques connaissances autour de Python,
un langage de script orienté-objet très puissant et
simple à apprendre.
Zope se divise
en composants, parmi lesquels on trouve un serveur Web (la solution
peut tout aussi bien fonctionner avec son propre serveur HTTP qu'avec
Apache ou IIS, ou n'importe quel autre doté d'un module CGI),
ainsi qu'une interface (HTML) de gestion de site Web, permettant
notamment de créer une page, poser une image, se connecter
à une base de données (sa propre base Gadfly ou Oracle,
MySQL, Sybase...) ou écrire des scripts (même dans
d'autres langages)...
En quelque sorte, l'environnement Zope regroupe en une seule application
les packages plus éparpillés du type Apache-PHP-MySQL
ou IIS-ASP-SQL Server, toutes proportions gardées...
Zope est construit
autour du principe d'offrir (ou publier) des objets plutôt
que de remplir des pages HTML de contenu dynamique. En travaillant
avec Zope, on utilise principalement des objets stockés (dans
la base d'objets de Zope). Grâce à l'interface graphique,
la manipulation de ces objets est totalement transparente, et la
construction d'une application Web dynamique n'en est rendue que
plus facile.
En tant qu'environnement orienté-objet, Zope rend la programmation
Web beaucoup moins linéaire: on ne raisonne plus en termes
de page, mais en termes d'objet, chacun ayant un comportement, une
logique et une présentation différente, leur interaction
produisant au final une page Web. Un objet peut ainsi être
utilisé sur plusieurs pages, être étendu, hériter
d'un autre objet... Les possibilités sont multiples et riches
d'avantages: séparation des données, de la logique
et de la présentation, extensibilité, réutilisabilité...
Avec la forte
extension de la communauté
Zope, nous aborderons au fil d'articles à venir les principales
caractéristiques de cet environnement.
|