Wecena est une entreprise qui organise des chantiers de mécénat de compétences pour informaticiens. Mais Wecena, c’est aussi un ensemble de logiciels libres (et open source et gratuits, licence AGPL) qui permettent d’organiser des chantiers de volontariat, de mécénat ou de bénévolat de compétences pour mettre des professionnels au service de grandes causes. Vous pouvez librement installer ces logiciels sur vos propres serveurs pour mettre en place des plates-formes réunissant entreprises et associations autour de projets de solidarité. Les logiciels Wecena sont déjà :
- utilisés par Wecena dans le secteur informatique
- installés par Investime pour organiser des missions professionnelles de solidarité dans les métiers de l’assurance (soutien à des institutions de micro-finance en Afrique notamment)
- étudiés par Antoine G. pour organiser des chantiers de mécénat de compétences dans certains métiers du conseil et des services
Voici un copier-coller de mes derniers échanges par email avec Antoine (avec sa permission). Ceci peut vous aider à savoir comment installer votre propre plateforme Wecena. Pour pouvoir suivre ces échanges (et installer Wecena sur vos serveurs), il faut avoir les compétences suivantes :
- notions d’administration systèmes linux
- expérience en développement Web objet, si possible sur un langage open source
From Antoine G. to Jean M.
[…] Nous serions intéressé de tester la plateforme Wecena que tu as mise en place.
Pour cela, [j’ai reçu un mail] sur lequel tu indiques l’adresse de ta plateforme de test avec quelques comptes ainsi que les étapes nécessaires à l’installation de Wecena sur un autre serveur.
Je t’avouerai que sur ce deuxième point j’ai fait un checkout sur mon serveur debian, et regarder quelque peu le lien sur la configuration et le lancement d’un buildout de Plone mais tout ceci n’est pas clair pour moi encore. Si comme tu le proposais, tu pouvais me transmettre un exemple de buildout comme point de départ, avec un mini tuto, ça pourrait grandement me / nous rendre service ;-)
Et à vrai qu’est-ce exactement qu’un buildout, une sorte de Makefile ?
J’ai déjà python 2.4.4 d’installer et j’ai ajouté quelques packages qui pourraient m’être utiles « plone3-site » et « zope-plone3 » (à peu près similaire j’ai l’impression).
Je te remercie par avance, pour l’aide que tu pourras m’apporter en temps voulu.
Quoiqu’il en soit, je continue de potasser le tuto plone sur la création de bluidout de mon côté…
From Jean M. to Antoine G.
Le 22/12/2010 23:43, Antoine G. a écrit :
> Je t’avouerai que sur ce deuxième point j’ai fait un checkout sur mon
> serveur debian, et regarder quelque peu le lien sur la configuration et
> le lancement d’un buildout de Plone mais tout ceci n’est pas claire pour
> moi encore.
> Si comme tu le proposais, tu pouvais me transmettre un exemple de
> buildout comme point de départ, avec un mini tuto, ça pourrait
> grandement me / nous rendre service ;-)
La première chose que tu devrais faire, c’est sans les produits Wecena : essaie d’installer Plone 3.3.5 via son buildout en suivant ce tutoriel
http://icp.ge.ch/sem/plone-dip/le-pool-plone-dip/icp-zope-technique/installation-plone3-buildout
> Et à vrai qu’est-ce exactement qu’un buildout, une sorte de Makefile ?
Oui, en quelque sorte.
C’est un ensemble de fichiers de config (habituellement en « .cfg ») qui indiquent au logiciel buildout quelles sont les dépendances et paramétrage de déploiement d’un logiciel Python (par exemple de Zope et Plone).
Quand tu télécharges Plone sur plone.org, l’installeur te déploie Plone avec les options par défaut. Tu peux modifier ces options dans les fichiers.cfg puis mettre à jour ton déploiement en lançant la commande bin/buildout A ce moment-là, buildout va télécharger, paramétrer et installer tous les composants logiciels spécifiés dans ses fichiers de config.
Le tutoriel ci-dessus te permet d’installer directement Plone via buildout sans passer par un package de ton OS ni par l’installeur packagé sur plone.org. Il te permet de bien voir toutes les étapes d’installation.
> J’ai déjà python 2.4.4 d’installer et j’ai ajouté quelques packages qui
> pourraient m’être utiles « plone3-site » et « zope-plone3 » (à peu près
> similaire j’ai l’impression).
Si tu peux prendre python 2.4.6, ce serait mieux (pas sûr que Plone 3.3.5 marche avec python 2.4.4). Au besoin, tu télécharges la source et tu recompiles simplement.
Mais, pour zope et plone, oublie les package debian et installe plutôt en suivant le tutoriel ci-dessus. En effet, c’est buildout qui s’occupera d’aller chercher les dépendance dont tu as besoin et de les paramétrer comme il faut.
> Je te remercie par avance, pour l’aide que tu pourras m’apporter en
> temps voulu.
Une fois que tu auras réussi l’install d’un plone avec buildout en suivant le tuto, je t’indiquerai comment y ajouter les produits wecena comme dépendances.
> Quoiqu’il en soit, je continue de potasser le tuto plone sur la création
> de bluidout de mon côté…
OK
N’hésite pas à me faire signe au moment où tu coinces.
From Antoine G. to Jean M.
Je reviens vers toi pour te faire un petit point d’avancement sur mon installation de plone 3, à travers le tuto que tu m’as transmis ( http://icp.ge.ch/sem/plone-dip/le-pool-plone-dip/icp-zope-technique/installation-plone3-buildout ).
Dans l’ensemble ça c’est bien passé sauf que les liens des productdistros étaient pour la moitié mort… Je suis allé chercher les fichiers à la mano sur d’autres sites mais je pense que c’est bon de ce côté là.
http://plone4artists.org/products/plone4artistsvideo/releases/1.1/Plone4ArtistsVideo-1.1b1.tar.gz *DEAD*
*NEW –> http://dist.serverzen.com/misc/Plone4ArtistsVideo-1.1b1.tar.gz*
http://downloads.sourceforge.net/julius/ATGoogleVideo-0-6.tar.gz
http://plone.org/products/cmfnotification/releases/2.0/cmfnotification-2-0-rc1-tar.gz *DEAD
NEW –> http://plone.org/products/cmfnotification/releases/2.0/cmfnotification-2-0-tar.gz –> rename to cmfnotification-2-0-rc1-tar.gz*
http://plone.org/products/mailservices/releases/0.5/armailservices-0-5.tgz
http://plone.org/products/ploneldap/releases/1.0/PloneLDAP-bundle-1.0rc3.tar.gz
http://plone4artists.org/products/plone4artistscalendar/releases/1.1/Plone4ArtistsCalendar-1.1b1-plone3.0-bundle.tar.gz *DEAD
NEW –> http://icp.ge.ch/sem/plone-dip/utiliser-plone-efficacement/gerer-mon-plone/produits/produits-infos-admin/produits-fichiers-utiles/Plone4ArtistsCalendar-1.1b1-plone3.0-bundle.tar.gz/at_download/file –> rename to Plone4ArtistsCalendar-1.1b1-plone3.0-bundle.tar.gz
* http://weblion.psu.edu/static/products/cssmanager/cssmanager-0.8.tar.gz
Lors de la première exécution du ./bin/buildout j’ai rencontré pas mal de messages d’erreur. En voici quelques exemples :
SyntaxError: ‘return’ outside function
File « build/bdist.linux-i686/egg/Products/Ploneboard/skins/ploneboard_scripts/comment_redirect_to_conversation.py »,
line 33
return printed
SyntaxError: ‘return’ outside function
File « /home/ploneTest/virtualplone/ploneproject/eggs/tmplebqDf/Products.NuPlone-1.0b3-py2.4.egg/Products/NuPlone/skins/nuplone_templates/livesearch_reply.py », line 146
return ‘\n’.join(output).encode(site_encoding)
SyntaxError: ‘return’ outside function
Modules/LDAPObject.c:1228: warning: return makes pointer from integer
without a cast
Modules/LDAPObject.c:1185: warning: unused variable ânewpwâ
Modules/LDAPObject.c:1183: warning: unused variable âoldpwâ
Modules/LDAPObject.c:1181: warning: unused variable âuserâ
error: Setup script exited with error: command ‘gcc’ failed with exit status 1
An error occured when trying to install python-ldap 2.3.12. Look above this message for any errors that were output by easy_install.
While:
Installing instance.
Getting distribution for ‘python-ldap>=2.0.6’.
Error: Couldn’t install: python-ldap 2.3.12
Après l’exécution des actions suivantes, j’ai finit par avoir l’exécution d’un buildout complet propre :
aptitude install libldap2-dev
aptitude install libsasl2-dev
aptitude install libssl-dev
cp /var/lib/zope2.10/instance/plone-site/var/Data.fs var/filestorage/
aptitude install python-ldap
Résultat :
./bin/buildout
Updating zope2.
Updating fake eggs
Updating productdistros.
Updating instance.
Updating zopepy.
Malheureusement quand je lance l’instance du serveur ça ne fonctionne pas, il ne trouve pas une librairie :
./bin/instance fg
File « /home/ploneTest/virtualplone/ploneproject/eggs/Plone-3.3.5-py2.4.egg/Products/CMFPlone/browser/ploneview.py », line 12, in ?
from Products.CMFPlone import utils
File « /home/ploneTest/virtualplone/ploneproject/eggs/Plone-3.3.5-py2.4.egg/Products/CMFPlone/utils.py », line 6, in ?
from PIL import Image
ImportError: No module named PIL
Voici la liste des paquets python installés de mon côté :
python
python2.4
python2.4-dev
python2.4-minimal
python2.5
python2.5-minimal
python-central
python-docutils
python-imaging
python-imaging-tk
python-ldap
python-minimal
python-newt
python-selinux
python-semanage
python-sepolgen
python-support
python-tk
python-twisted
python-twisted-conch
python-twisted-core
python-twisted-words
Il souhaiterait peut être avoir le package python2.4-imaging, malheureusement il m’installe forcément la dernière version python-imaging… Si tu as des pistes je suis preneur ;-)
Sinon une fois que l’on aura réussi à faire tourner le serveur, je serais intéressé comme tu l’as proposé de procéder à l’installation de wecena.
Pour ma curiosité personnelle et pour nourrir mon amour de plone, pourrais-tu me dire ce qui t’as guidé vers ce CMS ? Car je vois dans l’étude des CMS jointe en PJ ( http://www.waterandstone.com/book/2010-open-source-cms-market-share-report )qui a été faîtes sur l’année 2010, que celui-ci est loin d’être le plus répandu. Par contre je remarque que pas mal de livres sont sorties dessus, il doit avoir certains atouts majeurs…
Je te remercie pour l’aide que tu pourras m’apporter.
From Jean M. to Antoine G.
> Lors de la première exécution du ./bin/buildout j’ai rencontré pas mal
> de messages d’erreur. En voici quelques exemples :
> SyntaxError: ‘return’ outside function
> File
> « build/bdist.linux-i686/egg/Products/Ploneboard/skins/ploneboard_scripts/comment_redirect_to_conversation.py »,
> line 33
> return printed
>
> SyntaxError: ‘return’ outside function
> File
> « /home/ploneTest/virtualplone/ploneproject/eggs/tmplebqDf/Products.NuPlone-1.0b3-py2.4.egg/Products/NuPlone/skins/nuplone_templates/livesearch_reply.py »,
> line 146
> return ‘\n’.join(output).encode(site_encoding)
> SyntaxError: ‘return’ outside function
Tu peux ignorer sans risque les messages « SyntaxError: ‘return’ outside function » comme expliqué ici :
http://plone.org/documentation/error/syntaxerror-return-outside-function
> Modules/LDAPObject.c:1228: warning: return makes pointer from integer
> without a cast
> Modules/LDAPObject.c:1185: warning: unused variable ânewpwâ
> Modules/LDAPObject.c:1183: warning: unused variable âoldpwâ
> Modules/LDAPObject.c:1181: warning: unused variable âuserâ
> error: Setup script exited with error: command ‘gcc’ failed with exit
> status 1
> An error occured when trying to install python-ldap 2.3.12. Look above
> this message for any errors that were output by easy_install.
> While:
> Installing instance.
> Getting distribution for ‘python-ldap>=2.0.6’.
> Error: Couldn’t install: python-ldap 2.3.12
>
> Après l’exécution des actions suivantes, j’ai finit par avoir
> l’exécution d’un buildout complet propre :
> aptitude install libldap2-dev
> aptitude install libsasl2-dev
> aptitude install libssl-dev
> cp /var/lib/zope2.10/instance/plone-site/var/Data.fs var/filestorage/
> aptitude install python-ldap
OK Bravo.
> résultat :
> ./bin/buildout
> Updating zope2.
> Updating fake eggs
> Updating productdistros.
> Updating instance.
> Updating zopepy.
Super.
> Malheureusement quand je lance l’instance du serveur ça ne fonctionne
> pas, il ne trouve pas une librairie :
> ./bin/instance fg
>
> File
> « /home/ploneTest/virtualplone/ploneproject/eggs/Plone-3.3.5-py2.4.egg/Products/CMFPlone/browser/ploneview.py »,
> line 12, in ?
> from Products.CMFPlone import utils
> File
> « /home/ploneTest/virtualplone/ploneproject/eggs/Plone-3.3.5-py2.4.egg/Products/CMFPlone/utils.py »,
> line 6, in ?
> from PIL import Image
> ImportError: No module named PIL
> Il souhaiterait peut être avoir le package python2.4-imaging,
> malheureusement il m’installe forcément la dernière version
> python-imaging…
> Si tu as des pistes je suis preneur ;-)
Chez moi, c’est buildout qui s’occupe d’aller chercher et installer cette bibliothèque.
Pour cela, dans les fichiers .cfg de ton buildout, tu cherches la section [buildout] dans laquelle se trouve la liste de tes dépendances sous la forme d’une variable « eggs = » avec la liste des dépendances. Dans cette liste, tu ajoutes :
PILwoTK
Si buildout se plaint de ne pas trouver cette bibliothèque, alors tu lui ajoutes quelques URL à partir desquelles il pourra aller fouiller. Ca se passe aussi dans la section [buildout] sous la forme d’une variable find-links :
find-links =
http://dist.plone.org/
http://download.zope.org/ppix/
http://download.zope.org/distribution/
http://effbot.org/downloads/
http://code.google.com/p/html5lib/downloads/list
C’est dans le dépôt http://download.zope.org/distribution/ qu’on trouve PILwoTK (= Python Imaging Library without its TK dependency).
Si ça ne marche pas, tu peux aussi compiler en récupérant le tarball ici : http://www.pythonware.com/products/pil/
> Sinon une fois que l’on aura réussi à faire tourner le serveur, je
> serais intéressé comme tu l’as proposé de procéder à l’installation de
> wecena.
Il faut que je prenne le temps de faire une distribution de mon buildout. Allez hop, c’est fait :
http://svn.gna.org/viewcvs/wecena/trunk/wecena.buildout/
Mais il faudra encore que je partage deux produits d’intégration :
wecena.policy
wecena.theme
Peut-être lundi prochain ?
> Pour ma curiosité personnelle et pour nourrir mon amour de plone,
> pourrais-tu me dire ce qui t’as guidé vers ce CMS ? Car je vois dans
> l’étude des CMS jointe en PJ qui a été faîtes sur l’année 2010, que
> celui-ci est loin d’être le plus répandu. Par contre je remarque que pas
> mal de livres sont sorties dessus, il doit avoir certains atouts majeurs…
Je n’ai pas fait d’analyse comparative complète récemment. J’en ai fait à certains moments dans mon parcours. Ton étude en pièce-jointe est super intéressante (notamment la méthodo qui m’a l’air très bien). Après, il faut voir comment tu l’utilises.
Le premier facteur pour choisir, à mon avis, en tant que développeur, c’est le langage. Développer en python me semble plus productif qu’en Java. Et conceptuellement plus satisfaisant (plus « professionnel » ?) que PHP. Ceci dit c’est une affaire de goût. Et la communauté python compte des développeurs d’un niveau vraiment excellents qui se mettent au service des autres. Donc il y a déjà un facteur un peu irrationnel qui m’a amené vers python et sa communauté. Concrètement, mon parcours en matière de langages de prédilection est le suivant :
- Turbo Pascal quand j’étais au lycée (jusqu’en prépa en 93)
- un peu de VB à l’école (94/97) mais surtout du Delphi
- ensuite, de 98 à 99 je me suis tourné vers Perl car c’était, parmi les langages du libre, celui qui avaient le plus de bibliothèques orientées Internet (et avec une bonne orientation objet)
- de 99 à 2005, j’ai encadré des équipes qui faisaient de l’ASP, du PHP et un peu de J2EE mais, pendant ce temps j’ai découvert python, plus « propre » et maintenable que Perl mais avec les mêmes avantages (grosse communauté et bibliothèques, à fond dans le Net, agile, dynamic typing, orienté objet) ; et c’est dans la communauté python que j’ai vu apparaître des produits et framework mûrs pour livrer ce que mes équipes ASP/PHP réinventaient de manière artisanale à chaque projet,
- de 2005 à 2007, pour le boulot, j’ai fait du J2ME, J2SE et J2EE mais, franchement, quelle lourdeur de développer en Java quand on vient de python… j’aurais pu virer ruby (encore plus agile que python mais plus jeune) ou me mettre à PHP qui avait gagné en maturité objet
Donc, pour moi :
- J2EE = ok mais lourd
- ruby = ok mais « jeune »
- Perl = ok mais peu maintenable (plus artistique…)
- PHP = ok mais une communauté de niveau inégal (beaucoup de temps perdu avec des débutants)
- Python = ok mais moins populaire
Ensuite, au niveau framework applicatif pour le web, conceptuellement, l’idée de publier des objets m’a séduit dès le début (Zope Object Publishing Environment) alors que le paradigme de l’époque (2000/2005) restait les applis sur mesure sur base relationnelle (LAMP côté libre). C’est quand-même plus confortable, pour développer, d’accéder « nativement » à une persistence objet (base de données objet) plutôt que de gérer des accès à des données relationnelle ou de devoir gérer une surcouche de mapping objet-relationnel.
Si on compare les CMS Web PHP comme Drupal ou Joomla d’une part, et Plone d’autre part, les avantages spécifiques de Plone résident dans sa couche de sécurité et dans son moteur de workflow (qui est essentiel dans la gestion de la sécurité). Il semble que ces aspects sécurité + workflow sont moins bien pris en compte dans Drupal et Joomla que dans Plone. C’est pourquoi Plone a une réputation de meilleur produit pour les besoins professionnels impliquant des règles de sécurité fines (et compliquées) et des workflows spécifiques, avec une gestion des rôles complexes.
Drupal serait plus à son aise pour les besoins communautaires « simples » et « variés » alors que Plone serait plus à son aise pour les besoins professionnels avec des processus métiers complexes. Les produits J2EE couvrent sans doute des besoins encore plus « pro » et des processus métiers encore plus complexes et nécessitant plus de rigueur, mais au prix d’une lourdeur énorme.
Mais on parle bien de gestion de contenu, là.
A propos de la popularité des CMS, il faut bien voir ce qu’on compare. C’est normal que WordPress (PHP) soit astronomiquement plus populaire que Plone (python) puisqu’il ne fournit que 10% des fonctionnalités d’un Plone. De plus, Plone impose un hébergement spécifique (serveur dédié) alors que WordPress ou Drupal peuvent se satisfaire d’un hébergement partagé. Donc, si tu installes du Plone, c’est que tu as une bonne raison.
Mais si on parle de développement d’applications innovantes et spécifiques, de type crowdsourcing par exemple, alors j’irais regarder du côté de framework comme Django en python.
J’ai aussi l’impression que le développeur python « moyen » est plus à l’aise avec des concepts intéressants de développement que le développeur PHP « moyen ». Il y a plus de choses conceptuellement stimulantes dans la communauté python que PHP.
Par exemple, quelle est la maturité de telle ou telle communauté en matière d’outils et pratiques de Test-Driven Development, etc.
> Je te remercie pour l’aide que tu pourras m’apporter.
De rien.
Je t’ai répondu un peu en vrac ci-dessus alors n’hésite pas à préciser tes questions.
From Antoine G. to Jean M.
Merci pour tes indications précieuses. Tu as débloqué la situation, nous avons maintenant une instance zope/plone qui tourne.
Pour ce qui est du buildout de wecena, j’ai déjà fait un checkout du svn pour récupérer la distribution que tu as faite. Quand je l’exécute j’ai l’erreur suivante :
While:
Initializing.
Error: The specified download cache:
'/home/jean/Desktop/techno/buildouts/.shared/downloads'
Doesn't exist.
Je pense que je pourrais commenter la partie faisant référence à ce dossier ‘downloads’ en local sur ton serveur car il n’est peut être pas nécessaire mais comme tu le disais il faut encore que je récupère wecena.policy et wecena.theme
Je te remercie pour ton analyse sur le marché des CMS avec en trame de fond les grandes lignes de ton parcours. Tout cela est fort enrichissant et si tu
conçois le développement python/plone à contrario de la lourdeur de Java, j’ai hâte de voire ça ;).
Maintenant que je vais bientôt pouvoir modifier / créer du contenu avec plone, as-tu un livre de chevet à me conseiller ? Je pense déjà regarder la doc du côté du site français de plone : http://plone.org/countries/fr/index_html
J’ai regardé le comparatif que tu m’as envoyé par la suite entre les 4 CMS (wordpress, drupal, joomla et plone), qui est encore un bon point pour plone. D’ailleurs en quoi la sécurité sur plone est-elle mieux assurée ? Est-ce simplement par un meilleur degré de précision sur la gestion des droits utilisateurs ?
From Jean M. to Antoine G.
Le 23/01/2011 03:47, Antoine G. a écrit :
> Merci pour tes indications précieuses. Tu as débloqué la situation, nous
> avons maintenant une instance zope/plone qui tourne :
>
> http://alterformation.org:8080/
Bravo !
> Pour ce qui est du buildout de wecena, j’ai déjà fait un checkout du svn
> pour récupérer la distribution que tu as faite. Quand je l’exécute j’ai
> l’erreur suivante :
>
> While:
> Initializing.
> Error: The specified download cache:
> ‘/home/jean/Desktop/techno/buildouts/.shared/downloads’
> Doesn’t exist.
Tu dois créer sur ton disque un répertoire dans lequel seront stockés les dépendances au fur et à mesure qu’elles sont téléchargées (cache). Et tu en indiques le chemin dans un fichier de buildout en lieu et place du chemin indiqué dans ce message d’erreur.
> Je pense que je pourrais commenter la partie faisant référence à ce dossier
> ‘downloads’ en local sur ton serveur car il n’est peut être pas nécessaire
> mais comme tu le disais il faut encore que je récupère wecena.policy et
> wecena.theme
C’est juste un cache local. C’est utile surtout si tu installes plusieurs buildout qui partageront le même cache. Si tu commentes cette instruction, buildout utilisera je ne sais plus quel chemin pour y stocker ses téléchargements.
> Maintenant que je vais bientôt pouvoir modifier / créer du contenu avec
> plone, as-tu un livre de chevet à me conseiller ? Je pense déjà regarder la
> doc du côté du site français de plone :
> http://plone.org/countries/fr/index_html
Ce bouquin-ci est très bien pour les techniques utilisés pour le développement dans Plone 3 : http://professional-plone-book.packtpub.com/
> J’ai regardé le comparatif que tu m’as envoyé par la suite entre les 4 CMS
> (wordpress, drupal, joomla et plone), qui est encore un bon point pour
> plone. D’ailleurs en quoi la sécurité sur plone est-elle mieux assurée ?
> Est-ce simplement par un meilleur degré de précision sur la gestion des
> droits utilisateurs ?
C’est l’une des deux raisons. La deuxième raison est plus fondamentale (ce qui en fait la première…) : Plone s’appuie sur la Zope Object DataBase (ZODB). C’est une base objet. Le caractère sécuritaire de cette base objet tient à ce que tout accès à un objet stocké fait l’objet d’un contrôle d’accès très fin et applicatif. Ce n’est pas comme dans le cas classique du développement avec une base relationnelle. Habituellement, avec une base relationnelle, tu as une chaîne de connexion (login + mot de passe) unique utilisée quasiment partout dans ton code. Ton code accède partout comme il veut à toute ta base de données. Au contraire,
avec la ZODB, l’accès à chaque objet se fait sous le contrôle des permissions associées à l’utilisateur qui s’est authentifié. Autrement dit, il ne s’agit d’une base de données par-dessus laquelle on a plaqué une couche de sécurité indépendante mais d’un système d’accès sécurisé aux données qui est inclus dans la base de données (ce qui a pour inconvénient un côté un peu monolithique de cette base).
Donc non seulement le contrôle d’accès est plus fin (d’innombrables permissions qui se combinent les unes aux autres) mais aussi il est plus « profond ».
Mais je te réponds un peu « de mémoire » donc je me trompe peut-être un peu sur les points ci-dessus. Les autres raisons pour lesquels on lit que Zope est sûr :
- comme ce n’est pas une base SQL, la ZODB n’est pas soumise au risque d’injection SQL qui est une cause fréquente de failles dans les systèmes relationnels,
- comme Zope est une techno moins populaire, il y a moins d’intérêt pour un pirate à l’étudier (?)
- comme Plone fournit des fonctionnalités qui plaisent plus aux entreprises qu’aux bricoleurs (workflow, contrôle d’accès poussé), il est plus souvent utilisé dans un contexte professionnel que associatif ou personnel et donc la communauté Plone a une culture de sécurisation d’entreprise qui, en moyenne, est plus stricte et rigoureuse que dans la moyenne des produits alternatifs
A propos de la sécurité dans Zope, tu trouveras plus de détails ici : http://www.zope.org/Documentation/Books/ZDG/current/Security.stx
[ Update : malgré ces arguments, il faut noter qu’une vulnérabilité très grave de Plone vient d’être annoncée et un patch sera révélé mardi prochain. Mais, ces dernières années, je n’ai vu que 2 vulnérabilités significatives annoncées pour Plone. ]
J’ai publié wecena.policy et wecena.theme dans mon dépôt subversion. Tu devrais pouvoir les checkouter et les mettre sous le répertoire src/ de
ton buildout.
Et voila.
From Jean M. to Antoine G.