Tag - web2py

Entries feed - Comments feed

Last entries

Mon 13 Jul 2009

Mini news : micro-blogging et demexp

En premier lieu, désolé pour le manque de billets la semaine dernière, mais il est parfois nécessaire de faire une pause de temps en temps.

Première mini-news : micro-blogging

Logo Identi.ca J'ai cédé aux appels de Jean-Philippe, Thomas ou Fabien sur le micro-blogging en finissant par ouvrir un compte sur le service de micro-blogging libre identi.ca. Mon identifiant (très original) : dmentre. Pourquoi choisir identi.ca plutôt que Twitter ? Parce que identi.ca fonctionne sur une plate-forme libre avec le logiciel Laconica et que les billets sont publiés sous une licence libre (CC-BY-SA 3.0). Bon, à mon avis, c'est encore une source de perte de temps sans réel utilité, mais j'affirme de plus en plus mon côté geek. :-)

Deuxième mini-news : demexp et les RMLL

RMLL 2009 J'ai fait un saut au 10e Rencontres Mondiales du Logiciel Libre (les reumeuleuleu pour les intimes) à Nantes cette année et malgré le peu de temps que j'ai pu y passer, Fred a trouvé le moyen de me faire participer à un débat radiophonique sur le vote électronique. Et pourtant, ce n'est pas faute de dire que demexp m'intéresse de moins en moins ! :-) Si vous avez 50 minutes à perdre, n'hésitez pas à me donner votre avis. J'ai l'impression qu'on est super confus au début (forcément, aucune préparation !) mais qu'après ça s'arrange un peu. Enfin j'espère. ;-) Pour ceux qui suivent les aventures du vote électronique, pas grande originalité dans les propos. Sinon, les RMLL, c'est super sympa pour voir les potes exilés aux quatre coins de l'hexagone. :)

Le logiciel de vote epoll pour les élections au CNRS réalisé par le troisième intervenant, Olivier Thauvin (alias nanardon), est lui aussi disponible. Il a des spécifications plus classiques (par rapport à demexp ;-) mais il y a apparemment un gros effort pour garantir les bonnes propriétés du vote en respectant notamment les recommandations de la CNIL. Les présentations d'Olivier donnent une description plus complète d'epoll.

Troisième mini-news : nouvelle version du demexp de Jean-Marc Fauché

Jean-Marc a publié il y a plus de deux semaines une nouvelle version de son demexp développé en Python avec web2py. Elle est enfin accessible en ligne à l'URL http://bentobako.org:8000/Demexp. Cette version apporte un système de délégation d'un vote.

Thu 28 May 2009

Une nouvelle application demexp en web avec web2py

Le projet d'expérience démocratique est un projet de démocratie directe à grande échelle. Il a démarré il y a quelques années déjà mais il a du mal à décoller, en particulier par manque d'un logiciel adapté. En effet le projet nécessite un logiciel de vote électronique en ligne ayant des caractéristiques bien particulière comme le vote Condorcet, une délégation possible du vote, à tout moment possibilité de changer un vote, etc. J'avais écris un serveur et un client lourd (en OCaml) pour remplir ce rôle mais les développements ont stagné pour diverses raisons : manque de motivation de ma part, trop de choses encore à faire, client lourd trop compliqué à déployer et à maintenir, langage OCaml peu connu donc je suis le seul développeur sur le projet, etc.

Hors, très récemment, une nouvelle application est apparue, programmé par Jean-Marc Fauché : une implémentation des idées de demexp en technologie web. Plutôt que de partir de mon code, Jean-Marc redémarre de zéro en langage Python, en utilisant le framework web2py.

Les caractéristiques de web2py sont intéressantes :

  • un déploiement aisé des applications : on peut télécharger une application dans un serveur existant ou récupérer une application existante à partir d'un serveur ;
  • on peut développer l'application en ligne : base de données, modèles et vues (même si à mon avis ce n'est pas forcément très utile pour de grosses applications) ;
  • les rapports d'erreurs (exceptions) sont accessibles en ligne, par l'interface d'administration ;
  • le déploiement est hyper-simple : unzip web2py_src.zip && python web2py/web2py.py ;
  • web2py est organisé autour de l'architecture modèle-vue-contrôleur et incite à utiliser ce modèle ;
  • le système de template utilise le langage Python plutôt qu'un autre langage ad hoc ;
  • un système de traductions en ligne, là aussi par l'interface d'administration ;
  • la base de donnée est vue au travers d'objets Python et toute modification des descriptions de la base est répercuté sous forme de commandes SQL de mise à jour de la base ;
  • et bien sûr un soin tout particulier apporté au framework pour faire des applications web sûres par défaut.

En bref, web2py semble la plate-forme idéale de prototypage rapide d'applications web, améliorant les idées trouvées dans d'autres frameworks comme Django ou Ruby on Rail. Pour des développements longs et importants, je ne suis pas sûr qu'il soit totalement satisfaisant, les aspects dynamiques de Python ont leurs limites (qui ne connait pas le typage fort d'OCaml ne peut pas comprendre le sens de la vie ;-). Mais il faut reconnaître a développé en quelques semaines une application qu'on peut tester et facilement déployer.

J'ai installé un dépôt Mercurial pour consulter le code de Jean-Marc. Si vous voulez tester son code, sa dernière version publiée est utilisable sur ce site temporaire : http://bentobako.org:8000/Demexp/.

En guise de conclusion, l'expérience démocratique semble redémarrer et on ne peut que s'en réjouir.