Zope 2.6.3 et 2.7.0 beta 4

Posté par  . Modéré par Nÿco.
Étiquettes :
0
10
jan.
2004
Python
Voici deux nouvelles versions majeures pour le meilleur serveur d'applications web libre (si si !).

Ses développeurs ont conduit un audit de sécurité durant le dernier trimestre 2003 conduisant à la correction de nombreux bugs mais aussi de failles potentielles de sécurité. Vous êtes encouragé à mettre vos sites à jour. Attention toutefois à certains produits de bas-niveau qui peuvent devenir incompatibles (dont VerboseSecurity).

Zope 2.6.3 est la version stable. Il utilise toujours l'interpréteur Python qu'il embarque (2.1).

Zope 2.7.0b4 est la version de développement. L'environnement a été modifié pour, d'une part utiliser l'installation à la configure/make/make install et d'autre part utiliser le Python du système (2.3). Pour rappel, Zope est un serveur d'application web écrit en Python (sauf quelques algorithmes en C). Il dispose d'une interface d'administration web qui permet de quasiment tout faire.

Dans Zope tout est objet, les requêtes, les templates, les scripts, etc. La plupart de ces objets sont persistants. En effet, vous travaillez dans une base de données à objets qui, non contente de garder vos instances, est aussi transactionnelle. Chaque requête est une transaction qui est annulée si la requête échoue et les objets reviennent à leur version avant modification.

Zope s'interface aussi très bien avec les bases de données SQL. Il existe des connecteurs (avec gestion de pool) pour les principaux SGBDR du marché. Les requêtes SQL sont contenues dans des scripts spéciaux, les paramètres servant à construire la requête (avec tests et échappement des caractères automatiques).

La gestion de la sécurité est aussi prise en charge sans effort pour le développeur. La gestion des permissions et des droits est fine et précise.

On ne pense pas en termes de pages mais d'objets. Zope publie les objets à travers différents protocoles (HTTP, FTP, WebDAV, XML-RPC) en leurs appliquant des méthodes (les scripts et templates par exemple). Les requêtes sont traitées et les arguments convertis pour faciliter leur traitement.

Zope fait des merveilles dans la gestion de contenu. Son support des méta-données et son catalogue automatique qui est même capable de faire des recherches en plein texte (sur le contenu) deviennent indispensable. Il devient d'ailleurs la plate-forme de référence pour les applications de l'administration française et des collectivités. L'ADAE (Agence pour le Développement de l'Administration Électronique) recommande d'ailleurs Zope dans ses rapports.

Aller plus loin

  • # Re: Zope 2.6.3 et 2.7.0 beta 4

    Posté par  (site web personnel) . Évalué à 2.

    Oui, l'adae recommande aussi spip et php ;)

    C'est comme pour une ssii, de dire qu'elle bosse avec la ratp : toutes les ssii ont bossé avec la ratp ;)

    à bon entendeurs ...
    • [^] # Re: Zope 2.6.3 et 2.7.0 beta 4

      Posté par  . Évalué à 5.

      > Oui, l'adae recommande aussi spip et php ;)

      En fait pas exactement !

      Dans le Cadre Commun d'Interopérabilité (CCI) des Sytèmes d'Information Publics, qui est le document qui s'impose à l'ensemble des administrations, Zope est référencé comme architecture applicative à part entière, sur le même niveau que .NET ou J2EE (et c'est la seule architecture du type Logiciel Libre) alors que PHP n'est ni cité dans le CCI ni dans le rapport de validation (version 2.1 de sept 2003), et n'est indiqué à d'autres endroits que pour ce qu'il est c'est à dire un language.

      La différence réside essentiellement sur ce point : Zope est une __architecture__.

      Ceci dit PHP est un excellent langage (lire : no troll please).
      Quand à SPIP ...

      CCI : http://www.adae.pm.gouv.fr/article.php3?id_article=219(...)

      D.
    • [^] # Re: Zope 2.6.3 et 2.7.0 beta 4

      Posté par  (site web personnel) . Évalué à -7.

      Que les pythoneux aillent se branler la nouille ailleurs svp ! c'est les sites de boutonneux qui manquent...
  • # Re: Zope 2.6.3 et 2.7.0 beta 4

    Posté par  . Évalué à 6.

    Cette nouvelle me donne l'occasion de poser mes questions sur ZOPE.

    J'ai développé un site en ZOPE il y a 2 ans. Depuis je suis revenu à d'autres méthodes pour développer mes sites (python+albatross). A chaque gros site, j'hésite à retourner voir ZOPE seulement mes délais sont trop courts alors je ne change pas ma méthode.

    Alors voici mes questions:

    1. A quand ZOPE 3 ? Quels en seront les améliorations ?
    2. Laissent-t'ils tomber les DTML ? (j'espère que oui)
    3. Quand vous développez un site, utilisez-vous les DB SQL ou la ZODB ?

    J'aimerais qu'on m'explique les avantages de la DB objet. Je vois des avantages (flexibilité (pas contraint aux champs), utilisations des types pythons directement) mais pour moi c'est très peu par rapport aux contraintes que cela engendre. Les requêtes peuvent-elles être aussi flexibles qu'en postgresql (sub query, join, trigger, contrainte, ...) ?
    Pour mes appli je fais de l'objet relationnal mapping comme ca on a l'avantage des deux peut-on faire cela avec ZODB (=ZODB peut-il utiliser postgresql) ?

    4. Y'a-t'il des fuites de mémoire ? (j'avais l'impression qu'il fallait le rebooter tous les semaines/mois)

    5. J'entends parfois parler de la révolution que sera ZOPE3. Quelles seront les grandes améliorations de ZOPE3 ?

    6. ZOPE3 utilisera-til openflow ou un autre workflow propre à ZOPE ? Si oui, quelles différences ?

    7. Si vous désirez vous exprimer sur des trucs cool de ZOPE, allez-y cela m'intéresse :)

    Zope permet-il l'approche machine à états de Albatross ? (page_enter, page_display, page_process, page_leave). En gros cela permet de ne pas traiter le résultat d'une opération dans la page suivante mais dans la page en cours et d'ensuite choisir la page suivante en fonction du résultat de l'opération.

    D'avance merci à ceux qui me répondront.
    • [^] # Re: Zope 2.6.3 et 2.7.0 beta 4

      Posté par  . Évalué à 1.

      j'hésite à retourner voir ZOPE seulement mes délais sont trop courts alors je ne change pas ma méthode.

      C'est dommage, tu devrais au moins le tester pour l'évaluer, en 2 ans les progrès sont nombreux. Sans compter la « veille technologique » ;)

      1. A quand ZOPE 3 ? Quels en seront les améliorations ?

      Je suis pas trop mais j'ai cru comprendre que c'était Zope et CMF fondus ensemble, avec une approche totalement par composant et une API homogène.

      2. Laissent-t'ils tomber les DTML ? (j'espère que oui)

      J'espère que non. Il ne faut pas confondre DTML et TAL, ils n'ont pas le même usage. Amuse-toi à faire un document non-XML avec TAL... une feuille de style par exemple. Sans compter la différence de temps de traitement à l'avantage de DTML.

      3. Quand vous développez un site, utilisez-vous les DB SQL ou la ZODB ?

      Encore une fois ne confond pas, l'approche objet et l'approche relationnel ne servent pas les mêmes objectifs. Dans le domaine qui est le mien (gestion documentaire), une hiérarchie d'objets ça roulaize grave. Pour un magasin, j'utiliserais un bon vieux modèle relationnel, Zope s'occupant de la logique et de la présentation.

      4. Y'a-t'il des fuites de mémoire ? (j'avais l'impression qu'il fallait le rebooter tous les semaines/mois)

      Pas à ma connaissance.

      5. 6.

      Quant à Zope 3, j'attend la beta pour jouer avec.

      Pour comparer avec Albatross, je te suis pas trop. Si tu valide un formulaire, ça va diriger vers un script qui prendra la décision de la page vers où rediriger. Sinon c'est juste des liens.
    • [^] # Re: Zope 2.6.3 et 2.7.0 beta 4

      Posté par  . Évalué à 1.

      J'utilise Zope depuis 1 an 1/2 , et c'est que du bonheur! Je vais tenter quelques réponses :

      2. D'après ce que j'ai compris : oui ils laissent tomber le DTML au profit du ZPT (Zope Pages Templates), qui présente l'avantage de marcher avec les éditeurs html wysiwyg (genre Dreamweaver), ce qui est plus graphiste-friendly.
      3. On utilise plutot la ZOBD, avec quelques touches de sql quand c'est nécessaire pour communiquer avec des applis externes a Zope.
      4. Ca nous est arrivé rarement de rebouter, globalement ca tient quand même la route.
      7. Trucs cools : par exemple l'acquisition :
      ex : A la racine un dossier a1, et un dossier d1 contenant d2 contenant d3 : et bien si tu demande une url comme d1/d2/d3/a1 il va partir de d3, regarder si il y a un a1 dedans, puis remonter a d2 et regarder, etc.. ce qui fait que le dossier a1 sera accédé par acquisition même s'il est a la racine. Je sais pas si j'explique bien m'enfin ce mécanisme permet des constructions assez intéressantes genre accéder a un objet dans des contextes différents.

      Pub : http://www.zwook.org(...) : un content management system basé sur Zope dont je suis un des développeurs.
      • [^] # Re: Zope 2.6.3 et 2.7.0 beta 4

        Posté par  . Évalué à 1.

        2. Grrrrrrr, on touche pas à DTML ! je mords s'il le faut !

        4. rebouter les anglais hors de France, oui y'a longtemps que c'est pas arrivé !

        --> []

        ha non !

        7. L'acquisition, c'est aussi génial que piégant. Je préfère l'éviter et d'ailleurs je crois que ça devient obsolète. Je vais tenter une meilleure explication.

        t'as des objets a et b (des répertoires disons) et une méthode toto (script, template, peu importe). a contient b et toto.

        http://serveur/a/toto(...) -> fait appliquer la méthode toto à a

        http://serveur/a/b/toto(...) -> fait appliquer la méthode toto à b, même si toto n'est pas présent dans ce répertoire.

        imaginons aussi que a ait un attribut plop mais pas b. Si on demande ce que vaut b.plop, il donnera la valeur de a en faisant comme si c'était le sien.

        Comme tu dis c'est une question de contexte, en gros la hiérarchie derrière l'objet. Mais on peut aussi enlever le wrapper d'acquisition pour récupérer l'objet brut.

        Si vous êtes encore en vie après cette explication : http://www.zope.org/Members/4am/AQ_trees(...)
        • [^] # Re: Zope 2.6.3 et 2.7.0 beta 4

          Posté par  . Évalué à 1.

          Si on demande ce que vaut b.plop, il donnera la valeur de a en faisant comme si c'était le sien.

          A mon modeste avis non il renverra une erreur car la méthode toto s'applique à l'objet b (si elle est bien écrite). Or si celui-ci n'a pas la propriété plop il y a erreur (l'acquisition se limite aux objets eux-même pas à leur propriétés).
          • [^] # Re: Zope 2.6.3 et 2.7.0 beta 4

            Posté par  . Évalué à 1.

            l'acquisition se limite aux objets eux-même pas à leur propriétés

            la propriété est un attribut, tout comme les objets contenus, l'acquisition fonctionne pareil pour les deux.

            je viens de tester context.b.plop et here/b/plop, ça fonctionne, qu'on soit dans b ou dans a.
            • [^] # Re: Zope 2.6.3 et 2.7.0 beta 4

              Posté par  . Évalué à 1.

              Tu as raison ! Si la méthode toto est rédigée comme suit :
              return context.plop
              
              a/b/toto renvoie la valeur de la propriété plop de a. Il faut simplement faire le test dans la méthode toto :
              if context.hasProperty('plop'):
                return context.plop
              else:
                return 'noplop !'
              
              et dans ce cas a/b/toto renvoie "noplop !"
    • [^] # Re: Zope 2.6.3 et 2.7.0 beta 4

      Posté par  (site web personnel) . Évalué à 1.

      Je chipote actuellement avec la version cvs de zope3, je vais donc répondre avec les quelques connaissances que j'ai acquis.

      1. A quand ZOPE 3 ? Quels en seront les améliorations ?

      À l'origine, c'était pour avril 2004. Je pense qu'on y est pas encore. Je dirai fin 2004.

      2. Laissent-t'ils tomber les DTML ? (j'espère que oui)

      Dans la version actuelle oui. Dans la version stable non.

      3.Quand vous développez un site, utilisez-vous les DB SQL ou la ZODB ?

      Ça dépend (ça dépasse) ... Avec Zope3, bcp de choses se trouveront dans la ZODB (mais plus les services tel que l'i18n).

      5. J'entends parfois parler de la révolution que sera ZOPE3. Quelles seront les grandes améliorations de ZOPE3 ?

      Architecture plus pythonesque. Écrire une classe pour zope3 et pour python, c'est la même chose maintenant, après pour qu'elle interagisse gentillement dans zope, il faut la déclarer, déclarer ses attributs visibles, etc ... dans un fichier de configuration. C'est plus propre.

      Architecture par composants. Réécriture totale du noyau du serveur. Support des scripts internes (un script dans une zpt) je trouve ça très laid mais pour ceux qui viennent de l'asp et du php, ça peut avoir son charme.

      6. ZOPE3 utilisera-til openflow ou un autre workflow propre à ZOPE ? Si oui, quelles différences ?

      Toujours le vieux workflow. Mais bon en ajouter un différent ne parait pas insurmontable.

      7. Si vous désirez vous exprimer sur des trucs cool de ZOPE, allez-y cela m'intéresse :)

      Zope3, c'est bien et on peut déjà jouer avec. Franchement, je conseille à toutes les personnes intéressée de se lancer dedans.

      http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/Fr(...)
  • # Re: Zope 2.6.3 et 2.7.0 beta 4

    Posté par  (site web personnel) . Évalué à 2.

    Zope 2.6.3 est la version stable. Il utilise toujours l'interpréteur Python qu'il embarque (2.1).
    Mais il fonctionne tout aussi bien avec Python 2.3.3, d'ailleurs c'est ça qui est utilisé en interne par les développeurs. Simplement, à ce stade de la vie de Zope 2.6, ils ne veulent pas changer officiellement de Python.

    Le seul truc à éviter manifestement, c'est d'utiliser le Python livré avec certaines distributions, pas toujours complet et parfois bidouillé de travers. Mieux vaut installer un pur Python spécialement pour Zope.
  • # Changer le logo !!!!

    Posté par  . Évalué à 1.

    python est sous GPL !!!!!

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.