Articles précédents : Logiciel
- [2] Un nouveau logiciel de statistique pour KDE
- [9] Icecast 2.1.0 est sorti
- [24] Sortie de WinLibre 0.3
- [27] digiKam 0.7 est sorti
- [55] Wired: un nouveau logiciel de composition et de production musicale pour Linux
- [12] Pilote Eagle-Usb 2.0.0 disponible
- [213] Firefox 1.0 est disponible
- [52] Firefox de plus en plus accepté ?
- [88] Thunderbird 0.9 est sorti
- [20] Sortie de VLC 0.8.0
Liens connexes
- L'annonce (617 hits)
- Le site du projet (879 hits)
- Feuille de route vers Zope 3 (515 hits)
- Zopera (1150 hits)
- Plone (490 hits)
- Ingeniweb (703 hits)
Dépêche modérée par
Dépêche éditée par
Logiciel : Zope X3 en version finale
Posté par Manuel Menal (page perso, ). Modéré le 12 novembre 2004.Zope X3 est une réécriture du serveur d'applications web objet Zope visant à proposer une nouvelle génération de technologies inspirées des motifs de développement modernes. Le coeur de Zope X3 est "l'architecture à base de composants" dont le principe de base est le respect des interfaces. Elle permet d'augmenter la qualité logicielle dans la mesure où chaque composant est conforme à des interfaces qui sont définies, et dont le résultat est prédictible, notamment via des tests unitaires.
Parmi les nouveautés de Zope X3, on trouve :
- une meilleure séparation du code et de la configuration grâce au langage ZCML ;
- une nouvelle version de la base de données "objet" de Zope, ZODB 3.3, plus à même de gérer des sites à haut trafic ;
- une meilleure documentation.
NdM : Un énorme merci à l'équipe d'Ingeniweb, à l'initiative notamment de Zopera, et qui a rédigé cette dépêche, ainsi qu'à ArBaDaCarBa, Nicolas Évrard et Baptiste Simon pour leurs propositions.
L'annonce (617 hits)
Le site du projet (879 hits)
Feuille de route vers Zope 3 (515 hits)
Zopera (1150 hits)
Plone (490 hits)
Ingeniweb (703 hits)
> Lire la suite (25 commentaires, moyenne: 2,8). [dépêche : 3280 caractères]
Les nouveautés de Zope X3 plus en détail :
1. L'architecture de composants. Elle met en oeuvre des objets qui respectent des interfaces : les composants.
Le principal bénéfice en terme de productivité pour les développeurs de composants vient du fait qu'il est possible de définir un nouveau composant en adaptant un composant existant à une interface donnée grâce à un composant d'adaptation ("Adapteur"). Comparé au mode de développement de Zope 2, il y a donc plus de réutilisabilité et moins de code à écrire.
Les types de composants techniques participant à l'architecture sont : les "composants de contenu", les Vues, les Adapteurs, les Outils, les Utilitaires, et les Services.
Les autres apports de l'architecture sont :
- la séparation du code et de la configuration logicielle grâce au langage ZCML (basé sur XML) ;
- les schémas pour la gestion de listes de champs avec génération des formulaires (grâce aux widgets) à la manière du produit Formulator pour Zope 2.
Le serveur est livré avec un certain nombre de composants utilitaires importants : les interfaces, les permissions, les rôles, les gestionnaires de cache, le négociateur de langue, les utilitaires de création d'objets (factories), les connecteurs SQL, l'utilitaire de livraison de courriel, etc.
2. Zope X3 utilise la dernière version stable de la base de données "objet" de Zope, ZODB 3.3. Cette version, entre autres, grâce à la technologie MVCC (Multi-Version Concurrency Control) lève les limitations en termes de conflits de lecture des versions précédentes, de manière à permettre la gestion correcte de sites à haut trafic.
3. Enfin, pour faciliter le travail des développeurs, la documentation de l'API, extraite à partir du code source, est directement accessible.
Quelle plate-forme Zope de production à l'horizon ?
Zope X3 est une plate-forme expérimentale. La plate-forme Zope 2 reste celle sur laquelle Zope Corp. et le reste de la communauté mettra les efforts afin de continuer à fournir le meilleur service possible. Le long terme verra arriver une version 3.0 de Zope intégrant la plupart des nouveautés de Zope X3, mais l'évolution sera progressive de manière à garantir la pérennité des investissements des utilisateurs de Zope.
Cette phase de migration progressive sera également volontaire. Elle a en fait déjà commencé avec la préparation de la version 2.8 de Zope. La prochaine version de Zope, déjà en phase alpha, intègre la ZODB 3.3 et permet le support du nouveau type de classes introduit par Python 2.3 (new-style classes) pour les classes d'objets Zope.
Une fois le passage à Zope 2.8 garanti, les différents modules de l'architecture de composants de Zope X3 pourront être ajoutés, probablement dans Zope 2.9.
Pour découvrir Zope X3 :
- Téléchargez Zope X3 pour Windows ou Linux/Unix,
- Télécharger des modules d'extension fournissant des applications "exemples" ou des outils tels que les connecteurs SQL.
mon commentaire
C'est rigolo quand même, c'est la première fois que je vois une version expérimentale sortir dans une version finale... une version expérimentale finale. Pourquoi pas.
Enfin le but était peut être de passer en première page de linuxfr, qui comme chacun le sait est limité aux versions à chiffre rond ;)
-
[^]Re: mon commentaire
Posté par Manuel Menal (page perso, ) le 13/11/2004 à 11:03. (lien). Évalué à 5.Une plateforme expérimentale, une version finale. Tu peux très bien avoir un logiciel très stable, mais qui implémente un système qui lui, se veut amener à évoluer, au fur et à mesure justement qu'on développe et utilise la version stable. C'est une procédure en particulier très courante dans le développement des systèmes d'exploitation modernes, où les interfaces jouent un rôle fondamental (contrairement à Linux où Linus change les interfaces plus que régulièrement, par principe plus encore que par nécessité). La définition des interfaces (API et ABI) peut être amenée à évoluer dans un premier temps, ce qui fait de la plateforme une plateforme expérimentale, tandis que le noyau, lui, est tout à fait stable, robuste, utilisable.
-
[^]Re: mon commentaire
Posté par TImaniac (Jabber id, page perso, ) le 13/11/2004 à 12:08. (lien). Évalué à 4.oui je comprend bien, mais même si le noyau est stable, les interfaces ne le sont pas du tout, alors déclarer celà en version "finale" (qui en général signifie on y touche plus sauf pour corriger des bugs jusqu'à la prochaine version majeur) est un peu fort :)
En gros c'est une version pas finie (puisque les interfaces évoluent) finie. Mais j'ai un peu peur pour le support de ce genre de version "finale" : ils vont proposer des maj pour toutes les version expérimentales finales ? J'espère que y'en a pas trop :)-
[^]Re: mon commentaire
Posté par TImaniac (Jabber id, page perso, ) le 13/11/2004 à 12:18. (lien). Évalué à 2.le commentaire ci-dessous (http://linuxfr.org/~BlueBird/(...)) me fait dire que c'est encore plus drôle qui n'y paraît : mettre l'accent sur le respect des interfaces et proposer une plateformes dont les interfaces vont évoluer en version final me fait dire que en plus d'être drôle c'est paradoxal, j'ai presque envie de dire stupide ?
-
[^]Re: mon commentaire
Posté par Manuel Menal (page perso, ) le 13/11/2004 à 13:09. (lien). Évalué à 3.Euh, ça n'a rien de paradoxal. À partir du moment où ton but est la stabilité des interfaces, tu peux pas déclarer "Zope3 est sorti, les interfaces sont stables". Il te faut l'expérience derrière. Alors, tu as plusieurs choix. Soit tu considères que l'expérience a été suffisamment accumulée par les autres projets (encore faut-il qu'il existe depuis longtemps des alternatives rigoureusement équivalentes en terme fonctionnel), soit tu es bien obligé de développer toi-même ta propre expérience. Dans la deuxième configuration, il est on ne peut plus logique de déclarer une version "stable", une version donc "finale" d'une plateforme expérimentale. Les développements et utilisations de cette plateforme expérimentale sert à accumuler l'expérience nécessaire à la définition de ces interfaces, et une fois qu'elles sont stabilisées et qu'on sait suffisamment ce que ça donne, on les intègre à ce qui deviendra Zope3.
C'est en tous cas la façon dont je le vois, et c'est une procédure de développement que j'ai souvent vu mise en oeuvre et mis en oeuvre moi-même dans des projets orientés composants.-
[^]Re: mon commentaire
Posté par TImaniac (Jabber id, page perso, ) le 13/11/2004 à 13:16. (lien). Évalué à 2.Oué enfin là c'est évident que c'est pas final du tout puisqu'il n'y a pas encore la compatiblité avec Zope 2, ce qui amènera forcement les interfaces à évoluer.
M'enfin quand on voit "Zope X3 en version final" on se doute vraiment pas qu'on a entre les mains une plateforme pas du tout fini et qui n'assure pas la compatiblité avec l'existant. Je dirais presqu'il y a tromperie sur la marchandise :) Heuresement c'est bien explicité sur la première page, mais je suis sûr que des daissideure vont se prendre au piège et des journaleux faire des articles avec ce même titre accrocheur : Zope 3 en version finale (le journaleux enlèvera le X qui n'a pas trop d'intérêt pour lui)
-
-
-
-
L'hébergement
Le seul reproche que j'aurais à faire à Zope c'est qu'il reste couteux au niveau de l'hébergement par rapport au PHP.
-
[^]Re: L'hébergement
Posté par Jean-Max Reymond (Jabber id, page perso, ) le 13/11/2004 à 10:18. (lien). Évalué à 3.Coutex dans quel sens ?
consommateur en ressources ? ressource CPU, mémoire, disque dur ?--
CKR Solutions Open Source-
[^]Re: L'hébergement
Posté par Elrik de Melnibone () le 13/11/2004 à 10:25. (lien). Évalué à 3.Couteux en tout ça et donc couteux en ¤.
-
[^]Re: L'hébergement
Posté par tgl () le 13/11/2004 à 12:40. (lien). Évalué à 4.Le coût en ¤ vient sûrement effectivement principalement des ressources consommées, mais je pense qu'un autre facteur est que l'hébergement Zope ne bénéficie pas de la même sauvage concurrence que l'hébergement PHP, faute d'avoir atteint la même popularité. Et ça ne l'aide pas à devenir populaire bien sûr, etc.
Ah, les dures lois du marché...-
[^]Re: L'hébergement
Posté par Julien Duponchelle (page perso, ) le 13/11/2004 à 13:59. (lien). Évalué à 2.Le problème c'est que chaque hébergé doit avoir les droits complet sur le serveur, il est impossible de partgaer un seul serveur pour plusieurs personne.
-
[^]Re: L'hébergement
-
[^]Re: L'hébergement
Posté par alexissoft (Jabber id, page perso, ) le 13/11/2004 à 21:13. (lien). Évalué à 1.Ah bon ? Comment je fais alors pour héberger mon pote sur zope, pourtant ça marche très bien ?
En fait faut créer un dossier avec les deux options cochées, et ensuite on va dans le dossier avec /manage/ après, un joli vhost monster et des rewrite rules apache et ça rox.-
[^]Re: L'hébergement
Posté par Julien Duponchelle (page perso, ) le 14/11/2004 à 10:05. (lien). Évalué à 2.Il faudrait que je vérifie mais il me semblait que pour installer des extension comme Plone il fallait être admin sur le serveur.
-
-
-
[^]Re: L'hébergement
Posté par davewave (page perso, ) le 14/11/2004 à 00:10. (lien). Évalué à 2.Tu peux bosser et héberger gratuitement sur objectis.org. Dans quelques semaines, Objectis pro, à un prix sensiblement inférieur à 20 euros / mois, te permettra de faire de même dans un cadre professionnel.
Objectis, c'est 6.274 sites Zope ce soir, dont 3.290 sites Plone 2. Le tout gratuit bien sûr.
L'argument "c'est plus cher que PHP" tombe en partie, et l'écart qui restera entre l'hébergement d'une appli Plone et d'un SPIP par exemple, tiendra au fait qu'un serveur d'application, c'est plus lourd qu'un environnement de script. Et plus puissant (ZEO, pour les intimes, est packagé en standard à partir de Zope 2.7. C'est un répartiteur de charge applicatif).
http://www.objectis.org(...)-
[^]Re: L'hébergement
Posté par Julien Duponchelle (page perso, ) le 14/11/2004 à 10:15. (lien). Évalué à 1.C'est vrais qu'a moins de 20 ¤ par mois on commence à avoir une offre intérressante et accessible pour les entreprises.
-
[^]Re: L'hébergement
-
-
-
-
-
Des interfaces en python
Ce qui me surprend dans cette news, c'est que l'accent est mis sur les interfaces et leur respect, alors que c'est justement un des gros points faibles de python. Peu de moyens de definir des interfaces, pas tres pratiques de forcer des types par defaut, etc etc.
Je serai curieux de voir commen Zope reussit a rendre ces interfaces robustes.
-
[^]Re: Des interfaces en python
Posté par Sébastien Douche () le 13/11/2004 à 14:50. (lien). Évalué à 3.Si le sujet t'intéresse, il existe 3 gros projets qui implémentent des interfaces en Python :
- Zope 3
http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/Fr(...)
- Twisted
http://twistedmatrix.com/(...)
- PyProtocols
http://peak.telecommunity.com/PyProtocols.html(...)-
[^]Re: Des interfaces en python
Posté par Sébastien Douche () le 13/11/2004 à 15:08. (lien). Évalué à 2.Crotaflute, j'ai oublié ceci :
http://svn.zope.org/Zope3/trunk/src/zope/interface/README.txt?rev=2(...)
Le README sur les interfaces dans Zope3.
-
[^]Re: Des interfaces en python
Posté par didbaba (page perso, ) le 15/11/2004 à 17:03. (lien). Évalué à 3.Comme Twisted a adopté le code des interfaces de Zope3 depuis quelques mois, il ne reste plus que deux gros projets qui implémentent des interfaces...
Il existe aussi quelques PEP pour intégrer cela dans Python. http://www.python.org/peps/pep-0245.html(...) par exemple. Cela permettra peut-être l'unification, et en même temps la non évolutivité.
-
-
[^]Re: Des interfaces en python
Posté par Gabriel () le 13/11/2004 à 14:51. (lien). Évalué à 1.C'est étonnant comme on peut apprendre une chose qui me parait aussi - pardon de le dire - énorme au détour d'une phrase. Je ne connais pas python. Mais...pas d'interface? Du coup je regarde en ruby et... pas non plus? En php c'est apparu avec php5 je crois.
ça m'étonne parce qu'un des mantras des javaistes et autres personnes est: Coder des interfaces pas des classes. ça permet de te libérer de l'implémentation. C'est même devenu pour beaucoup plus caractéristique de l'approche objet que l'héritage.
Est-ce qu'on parle de la meme chose?--
Every takeoff is optional. Every landing is mandatory. -- Rules Of Flying-
[^]Re: Des interfaces en python
Posté par Philippe Fremy (page perso, ) le 13/11/2004 à 15:51. (lien). Évalué à 4.On parle bien de la meme chose. Je suis en train de lire les liens qui ont ete conseilles donc je ne peux pas encore donner une reponse mais en effet, dans le python de base, pas de concept d'interface.
On peut citer plusieurs caracteristiques qui "compensent" ce probleme:
1. l'interface n'est pas tout, il faut une suite de test pour valider des composants et donc s'appuyer sur des interfaces plutot que sur des suites de tests conduit a diminuer la qualite de l'implementation. Enfin ca, c'est si tu compenses ton absence d'interface par une bonne suite de test.
2. Ecrire des suites de tests en python est tres tres facile. Sa caracteristique dynamique fait qu'on peut facilement substituer un objet a tester par un autre qui lui va verifier qu'il est appele correctement.
Apres avoir lu les quelques liens, je ne suis pas convaincu. Le systeme permet de dire que tu reponds a une interface donnee, mais il ne permet pas en revanche de valider qu'un objet repond a l'interface qu'il indique. Ca me parait moins strict que ce que je souhaiterai niveau test. Mais je n'ai fait que survoler les liens, donc je peux me tromper.
-
Un autre lien
Un autre lien pour nos zamis les les zopeurs:
http://zopeur.org/(...)
La mort est un phénomène naturel qui se produit par l'avalement répété de petites quantités de salive au cours d'une grande période de temps. - George Carlin
Espoir
Espérons que cette nouvelle version attirera enfin un peu de monde sur cette plateforme, car pour y avoir goûté auparavant, on est souvent seul et la doc date vraiment. Ca a été un frein pour moi, je ne suis pas encore au stade python ou je peux me permettre de fouiller dans le code source pour trouver les finessses.
SI maintenant on me dit que la doc est à jour, alors...vivement que des mentors tracent un chemin dans cette brousse et que des faqs hémergent. Espérons car je trouve en tout cas que c'est un bel outil.



Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.