INGENIWEB spécialiste français du serveur d'application
Internet/Intranet ZOPE
ZOPE est une plate-forme dynamique de gestion de sites Web,
très largement personnalisable, « orientée
objet » et « open source ». Sa
principale caractéristique est de permettre la
réalisation et la mise en place de sites Internet ou Intranet
directement modifiables à l'aide d'un simple navigateur (IE,
Netscape, etc.) !
ZOPE est un produit déjà fini et non un projet
en cours de développement.
Développé par la société Digital
Creations, ZOPE est commercialisé jusqu'en novembre 1998, date
à laquelle cette société décide de placer
son application en « open source » pour se
consacrer au consulting lié à cette plate-forme.
En juillet 2001, devant le succès croissant remporté
par ZOPE, Digital Creations changea sa dénomination sociale
pour devenir « ZOPE Corporation ». En septembre
2001, ZOPE obtient le prestigieux « Web Tools
Award » dans la catégorie Infra-Structure. Ce prix
avait été obtenu l'an dernier par « Debian
GNU/Linux » et parmi les nominés figuraient cette
année des concurrents célèbres tels que
« Linux Mandrake 8 » de MandrakeSoft,
« PostgreSQL 7.1 » ou encore « Open
Network Environment » de Sun Microsystems !
Le développement de ZOPE est très actif du fait de
son appartenance au monde « open source ». En
outre, la parution aux éditions Eyrolles d'un ouvrage
en Français écrit par Pierre-Julien Grizel et Olivier
Deckmyn suscite un engouement sans précédent dans la
communauté des développeurs français.
ZOPE est un produit puissant capable de gérer tout
type de sites.
Quelques exemples :
- Le site CBS2 de « CBS Television Network »
(cbsnewyork.com)
- Le site gouvernemental pour le Système d'Information
Territorial du Bas-Rhin (www.bas-rhin.sit.gouv.fr)
- Le site de la Faculté de Médecine de Nice
(ZOPE.unice.fr)
- Le site de VistaSource (www.vistasource.com), principal
fournisseur de solutions personnalisables accessibles par le Web
pour l'automatisation de documents et données en temps
réel
- Le site communautaire allemand agricole
(www.raiffeisen.com)
- Le site d'expertise médicale français Experts MD
(www.experts-md.com)
- Etc. (plusieurs milliers de sites sont déjà
référencés)
Quelques chiffres :
- Le site www.ZOPE.org avec plus de 3 millions de pages vues par
mois (source baymountain.com)
- Le site Tec24.com avec 1 million de pages vues par mois et 2.5
millions de requêtes SQL (plusieurs pages sont construites
avec plus de 2 requêtes - source comp.lang.python)
Enfin des témoignages :
- Larry O'Brien éditeur fondateur du journal de
référence « Software
Development » écrit dans son article
intituled « And Then Came ZOPE
» :
« The open-source ZOPE compares favorably, very
favorably, with the most expensive application servers in the
marketplace ».
- John Taschek de ZDNet parlant de ZOPE : « It's
faster, it's cheaper, it's not Vignette, but it does the same
thing, and the code comes with it ».
- Didier Georgieff, Chef de projet technique au SIT du Bas-Rhin,
qui n'hésite pas à déclarer :
« ZOPE est la chose la plus excitante que j'ai
découvert depuis mon premier baiser ».
- Jon Udell, ancien rédacteur en chef du magazine BYTE,
écrit dans un article du 27 Août 2001 :
« You can do everything with ZOPE and Python. True. I
find ZOPE and Python to be a terrific combo ».
ZOPE est un produit simple qui décuple votre
productivité.
ZOPE dispose d'une interface d'administration accessible
à l'aide de n'importe quel navigateur. Cette interface fournit
des mécanismes pour laisser un individu, sans
compétences techniques, placer ses documents au sein du site
Web, sans connaissance HTML. Ces documents peuvent être tout
simplement du texte ou directement des fichiers classiques au format
Word, des images, des sons, etc.
Votre secrétaire, par exemple, pourra modifier les pages
de votre site Web à l'aide de son navigateur (Internet
Explorer, Netscape, etc.) sans aucune difficulté et sans
connaissances particulières !
L'un des gros avantages de ZOPE, est de permettre la gestion de
contenu. Au lieu de s'occuper de gérer des pages HTML en
demandant à chacun de devenir spécialiste de ce
langage, ZOPE prend en charge la complexité des
procédures et de la technique. Par exemple, dans ZOPE, changer
un logo sur l'ensemble des pages, ajouter ou modifier un texte, un
document ne prend que quelques secondes, se fait en un seul endroit
et ne risque pas de perturber le fonctionnement du site. La
modification est immédiate, ne nécessite pas d'autres
outils que votre navigateur et vous pouvez dire adieu à vos
outils classiques (éditeur HTML, FTP, etc.)
Un autre avantage fondamental de ZOPE est de pouvoir
réutiliser véritablement et simplement des parties
fonctionnelles, des composants ou des modules, grâce à
son orientation « objet ». Si vous changez une
chose, vous le changez à un seul endroit et ce changement est
effectif instantanément sur tout le site. Vous pouvez
séparer le design des pages, la logique du site et les
informations à publier. Ainsi, vous déléguez
facilement chaque tache à la personne compétente, vous
gardez réduite la structure de suivi et de
développement de votre site web et vous en maîtrisez les
coûts. Vos collaborateurs n'ont pas besoin d'apprendre de
nouveaux outils.
ZOPE est un serveur d'application
vos
applications !
Au fur et à mesure de l'avancée des technologies
Web, les sites Internet deviennent plus complexes, et bien entendu
leur création et leur maintenance tendent à devenir des
disciplines d'experts.
Les sites Web, plus que toute autre forme de publication,
nécessitent des mises à jour fréquentes, voire
en temps réel. Connecter des sites Web à des bases de
données de façon sécurisée sans faire
appel à un Webmaster connaissant tous les aspects d'un site,
HTML, SQL, voire même le design, est un problème qui se
pose à toutes les entreprises désireuses de se lancer
dans cette aventure.
ZOPE apporte un concept différent de celui rencontré
dans les plate-formes de développement d'applications Internet
traditionnelles. Lorsque vous concevez des sites Web avec ZOPE, vous
travaillez avec une base de données objet
intégrée. Les autres environnements de
développement utilisent une base de données
relationnelle mais seul ZOPE est capable d'intégrer des bases
de données relationnelles au sein de sa structure
orientée objet. Cela signifie que vous pourrez toujours
employer un serveur SQL pour vos données. C'est avantageux,
non seulement parce que toutes les informations ne se prêtent
pas au stockage dans une base orientée objet, mais aussi parce
que cela permet d'intégrer les données existantes,
stockées dans des bases traditionnelles pour d'autres raisons
et par d'autres programmes. Ainsi, sont officiellement
supportés: Oracle, Sybase, MySQL, PostgreSQL, mSQL, Interbase
et ODBC.
Pour résumer, vous profitez des bénéfices
d'un environnement de développement orienté objet qui
va vous permettre d'intégrer l'existant du système
d'information de votre entreprise grâce à ZOPE.
Convertir un site traditionnel HTML en un site ZOPE ne demande que
peu d'efforts qui seront vite récompensés et
rentabilisés par les avantages formidables
conférés au nouveau site pour son administration et sa
mise à jour au quotidien.
Aller plus loin avec ZOPE
ZOPE fournit un accès à des méthodes externes
et à des modules internes, qui peuvent être
écrits dans les puissants langages Python ou Perl. Disposant
des principaux avantages de Perl et Java, Python fournit les
mêmes facilités de « scripting »
qu'un langage interactif et interprété tel que Perl,
tout en apportant de puissants objets à l'instar de Java ainsi
qu'une syntaxe facilitant la modification et la réutilisation
des codes sources. Python, étant (comme ZOPE) libre, multi
plate-forme et Open Source, est le langage utilisé pour la
conception de ZOPE (a part quelques composants clés
écrits en C pour des raisons de performance). Il apporte
à ZOPE ses qualités de clarté, de puissance et
son orientation objet. Grâce à son langage interne de
scripting très simple (DTML), il n'est pas nécessaire
de connaître Python pour créer des sites Web
sophistiqués avec ZOPE.
La façon de concevoir une application Web de ZOPE est
totalement différente de la manière actuelle de
construire de telles applications. Dans de nombreux cas, une
application Web consiste en une collection de pages HTML statiques et
de scripts CGI, qui fonctionnent assez bien de façon
indépendante. Il n'y a presque pas d'interaction entre eux,
excepté le fait qu'un script CGI puisse être
appelé depuis une page HTML. Alternativement, ils sont
constitués de scripts complexes incrustés dans des
pages Web, de telle façon que chaque page Web soit
transformée en une mixture de scripts et de code HTML (PHP,
ASP, JSP, Perl, etc.).
Dans un environnement de publication objet, l'application Web est
faite d'objets. Les objets ont un contenu et un comportement. Ils
peuvent être imbriqués les uns dans les autres ou
organisés de façon hiérarchique. Un objet ZOPE
est dynamique, ce qui signifie que son comportement et son contenu
dépendent de l'environnement au sein duquel il est
placé. La technologie sous-jacente est appelée
« acquisition ». Plus fort encore, l'accès
à la base de données peut être rendu totalement
transparent pour l'utilisateur final, et votre base de données
objet ou SQL peut faire partie intégrante de vos pages
Web.
Enfin, il faut comprendre que ZOPE est un « serveur
d'applications » entièrement objet, et dont les divers
modules sont véritablement " plug & play "
permettant de développer simplement des " composants
métiers " réellement réutilisables. A la
différence de l'excellent langage de script PHP (lui aussi
Open Source et très répandu sur l'Internet) où
les modules spécifiques ne sont que des fonctions
supplémentaires, les modules additionnels ZOPE
s'intègrent en étendant le modèle objet originel
et le modèle de sécurité de ZOPE. Les
« anciens » objets bénéficient des
apports des « nouveaux » objets, qui eux
même s'enrichissent des comportements existants.
ZOPE dans
« laviedetouslesjours.com »
Quels sont les avantages pour votre site Web d'adopter la
plate-forme ZOPE ?
Ils sont nombreux et la liste qui suit est loin d'être
exhaustive :
- ZOPE est « open-source » donc gratuit.
Combiné avec FreeBSD, APACHE, PHP, MySQL, vous disposez
d'une plate-forme d'hébergement hyper performante et
entièrement gratuite sur le plan des licences.
- Le temps de développement de votre site est très
inférieur aux standards habituels. Un objet ZOPE n'est
créé qu'une seule fois et il peut être
ré-utilisé à l'infini de façon
très simple.
- Vous pouvez déléguer la mise à jour de
certaines pages/rubriques à des personnes n'ayant pas de
connaissance dans le développement de sites Web, ni de
HTML. Ces mises à jour seront faites par la personne de
votre choix à l'aide d'un simple navigateur.
- La gestion dynamique des
« zones utilisateurs » et la gestion des
droits afférents est incluse de façon native dans
les fonctionnalités de base de ZOPE. Vous n'avez pas
à vous soucier de gérer la sécurité. A
partir des paramètres de la plate-forme ZOPE, il est facile
de spécifier quelles sont les protections que l'on veut
apporter au site en général, mais aussi à
chaque élément du site. Il n'est pas besoin de faire
développer un schéma de sécurité et de
délégation d'autorisation et de rôle, car tout
cela existe déjà de manière puissante et
simple dans ZOPE.
- Vous profitez de la dynamique
« open-source » et de sa gratuité. Des
milliers de modules ZOPE existent et vous pouvez les
intégrer à votre site :
- Modules de boutiques online
- Modules de gestion de panier
- Transactions financières
sécurisées
- Modules de gestion de forums de discussion
- Modules de moteur de recherche intégré
(Zcatalog)
- Automates de création de plan de site
- Modules de gestion de petites annonces
- Modules d'annuaires/trombinoscopes
- Outils de sondage
- Modules groupware pour gestion de projet
- Questionnaires à choix multiples
- Etc.
Et les inconvénients ?
Les inconvénients ne sont pas pour vous mais pour votre
hébergeur. En effet, ZOPE n'est pas une plate-forme triviale
à installer « à la chaîne »
comme peut l'être un hébergement classique. Faire
cohabiter APACHE, PHP, MySQL et ZOPE nécessite des techniciens
de très haut niveau. C'est pourquoi, chez INGENIWEB, nous
avons trouvé plus simple de faire appel à l'un des
co-auteurs du livre ZOPE (éditions Eyrolles),
Monsieur Olivier Deckmyn. C'est sous sa direction
que sont montés et installés les serveurs ZOPE mis à
disposition de nos clients.
Un autre inconvénient de ZOPE, c'est sa gourmandise en
ressources. Il est exclu d'installer ZOPE sur des serveurs
« soho » ou 1er prix. Mais là
encore, c'est le problème de l'hébergeur et non le
vôtre. A noter que l'offre d'hébergement ZOPE ne cesse
de croître que ce soit en France ou en Europe.
D'ailleurs, votre site étant composé, au final, de
pages HTML, vous n'êtes pas tributaire d'un hébergement
ZOPE. Si d'aventures, vous envisagiez de migrer vers un serveur
conventionnel, il suffirait de capturer l'intégralité
de votre site au format HTML pour l'installer ailleurs. Certes, vous
perdriez alors les avantages liés à la dynamique de
ZOPE mais votre site ne serait pas pour autant perdu.
Le véritable inconvénient de ZOPE réside dans
sa nouveauté. Votre site actuel en HTML va devoir être
adapté mais cette adaptation reste triviale et demande peu
d'efforts au regard des innombrables améliorations qui sont
mises en place. Pour ceux qui sont en phase de création de
site, le problème ne se pose pas et ZOPE est un choix
technologique à adopter sans la moindre hésitation.
ZOPE permet à INGENIWEB d'être totalement en
phase avec son slogan :
« Les services web ingénieux »