Connexion
Ces billets correspondent à un filtre sur: django

OpenVolunteer v0.2, second public stable release

OpenVolunteer logo

It's not a tradition, but this post will be in english unlike all the others in this blog.

The reason is that i've just release a new version of OpenVolunteer. The 0.2 released is now available for your foundation, organization or collectivity and will provide a lot of improvements in volunteers management.

Hosting

The project is hosted on google code and the plateform provides a SVN repository, Wiki, and a bug tracker. See more on Project hosting site

Changelog

Most of the changes of this new version are listed here:

New functions

  • Django v1.1 support
  • Specific forms for content management
  • Delete and add content function included in interface
  • New welcome page (lighter)
  • Comment thread for event details
  • New installation tutorials according to the facilitations made in code
  • Error management improved (404 and error codes)
  • CSV export for event answers and volunteer lists
  • Social security number and birth place indications added for volunteer data
  • Three choices answers (yes/no/maybe)
  • Mailling links
  • New logo and icons

Fixed issues

  • Vcard charset issue with outlook
  • Filtering of event on date
  • CSS optimizations
  • ...

Commentaires: 0 | Buzz it!

Mise à jour

Les périodes d'inter-contrat ont de magique qu'elles offrent du temps pour faire des choses qui trainent depuis longtemps. En conservant un rythme actif (debout aux mêmes heures que d'habitude et surtout je me force à "bosser" mes 8 heures (flexibles tout de même ;-)) par jour) on peut faire un tas de petites choses.

Une de ces petites choses est de faire quelques modifications dans le code et le style du blog que vous êtes en train de lire. Rien de révolutionnaire, mais un peu plus de cohérence et la réparation de certains défauts techniques. Comme j'avais quelques problèmes de "viagra/enlarge your..." (de spam pour les incultes), j'ai décidé de modérer les commentaires (peu nombreux heureusement). Je suis conscient que ça n'est pas une solution ultime, mais au moins, elle évite la pollution visuelle du blog et des flux RSS.

Sinon vous pourrez apercevoir quelques modifications du style CSS avec notamment des boutons et des champs 'customisés' et une photo de l'auteur du blog comme sur la galerie.

D'ailleurs, je compte bien finir la galerie sous quelques jours. N'hésitez pas à me signaler d'éventuelles erreurs.

PS: À tous les utilisateurs d'Internet Explorer 6, pensez à utiliser un navigateur plus récent et respectueux des standards du Web tel que Mozilla Firefox. En effet, vu les difficultés rencontrées pour avoir un site fonctionnel sur ce navigateur, je préfère ne pas perdre mon temps et je le signalerais avec une page dédiée prochainement.

Commentaires: 0 | Buzz it!

OpenVolunteer v0.1: Première sortie en public

Bonjour à tous,

Ce "petit" journal pour vous annoncer la sortie de la première version d'un petit projet que je réalise actuellement pour une association. Il s'agit d'OpenVolunteer, un logiciel de gestion des bénévoles pour des évènements (qu'on peut imaginer sportifs, musicaux, culturels ou autres...).

Basé sur Django v1.0 (qui était la version stable au moment des premières lignes de code), OpenVolunteer est donc une application web sur laquelle, les "managers" peuvent mettre en relation divers types d'items:
  • Des bénévoles: dont les coordonnées et les avatars sont accessible via l'interface avec si besoin des exports de vcards.
  • Des évènements: une date + un lieu + une dénomination et éventuellement une affiche
  • Des réponses: pour chaque bénévole contacté, les managers peuvent entrer une réponse positive ou négative (=absence de réponse aussi) ainsi qu'en option, un poste (cf. plus bas)
  • Des postes: une activité. Il est aussi possible mais peu utile pour le moment d'associer des bénévoles à la responsabilité d'un poste.
  • Des besoins: qui correspondent à un nombre de personnes souhaitées sur un poste.
Avec diverses relations entre ces types d'éléments, on obtient une interface simpliste qui présente les informations essentielles à la gestion des participants à un évènement. On peut par exemple comparer les réponses aux besoins et savoir si toutes les personnes sont trouvées pour un poste.

Pour des raisons de confidentialité des données stockées sur ce type d'application, par défaut, toutes les vues nécessitent d'être authentifié.

La version 0.1 est la première version publiée de cette application qui sert déjà pour les concerts et le festival organisé par l'association Roc'Han Feu. Elle est disons: fonctionnelle mais nettement améliorable et les prochaines versions devraient corriger certaines faiblesses et lacunes. L'interface d'administration est celle que génère Django en fonction des modèles de donnée. En dehors du fait qu'on y retrouve des informations en anglais, elle convient plutôt bien pour le moment. L'écriture d'une interface d'administration n'est donc pas une priorité.

Pour la version 0.2 et les suivantes, je prévois (selon le temps, l'énergie, les priorités etc...):
  • Une révision du code (optimisations, nettoyage...)
  • Un logo et des icônes (les actuels sont vraiment des images bricolées pour dépanner): appel aux bonnes volontés et à l'imagination ;-)
  • L'export CSV des listes de bénévoles générées
  • L'amélioration de l'export de coordonnées par vcard
  • L'amélioration de l'interface de visualisation
  • Une fonction de création de liste avec choix des champs à afficher
  • Des fils de commentaires sur l'organisation des événements
  • L'internationalisation
  • L'amélioration de l'administration
  • ...
J'ignore bien si une telle application va servir en dehors du cadre où elle a été développée, mais je souhaite vraiment ne pas la confiner à l'utilisation de mon association et en faire une application pouvant éventuellement être utilisée dans d'autres associations ou pour d'autres évènements.

J'en arrive à ce qui me permet de m'inviter ici pour vous en parler: OpenVolunteer est disponible sous la licence GPLv3!

Et enfin, forcément, les liens pour suivre le projet ou télécharger la version 0.1:
PS: dès que possible je mettrais en ligne une démo et des screenshots. Peut être une occasion pour un nouveau journal.

Commentaires: 0 | Buzz it!

Django 1.0 released!

J'ai un peu trainé (mais pour de bonnes raisons que vous verrez ensuite) à annoncer la sortie de la nouvelle version stable de Django.

Django est un framework web en python sur la base du modèle MVC (pour Modèle-Vue-Contrôleur). L'objectif de ce projet est de permettre la création rapide d'applications web tout en permettant d'obtenir de très bons résultats au niveau des performances et de la qualité du code. Bien sur c'est un framework libre (pourquoi vous en parlerais-je sinon?) qui est distribué sous licence BSD.

La version 1.0 a été annoncée le 4 septembre 2008 avec un seul petit jour de retour sur la "roadmap" annoncée. Elle embarque beaucoup de nouveautés vis à vis des versions précédentes parmit lesquelles on peut citer:

  • Support complet de l'unicode: Point noir de python lors de développement d'application web, l'unicode a été une des priorités du développement de cette version majeure.
  • Commandes personnalisées, pour une meilleure adaptabilité du code aux besoins de chaque développement d'application.
  • L'intégration de GéoDjango, une contribution qui permet d'utiliser facilement des outils de localisation géographique pour par exemple faire des calculs de distance entre deux utilisateurs ou deux objets précédemment localisés.
  • Amélioration des fonctions d'upload et de stockage de fichier. De nouveaux modes de stockages voient le jour et lors d'un upload, il est dans certains cas possible de visualiser une partie du fichier.
  • Nouvelle interface d'administration. Coder une application c'est bien, intéressant, passionant même certaines fois, mais lorsqu'il s'agit de coder la partie administration, l'entrain s'enfuie à toutes jambes... Avec Django, en deux clics, et quelques paramétrages vous obtenez une interface permettant, l'ajout/retrait de données dans vos modèles de donnée, ainsi qu'un système d'authentification fiable. Que demander de mieux dans la majorité des cas?
Bien sur, le code a aussi été revu, ainsi que la génération de documentation à partir des commentaires et bien d'autres petites ou moyennes choses. La liste complête des changements peut être trouvée ici.

Bon et "en quoi ça nous concerne tout ça?" pensez vous... Et bien, bientôt, vous consulterez ce blog, les galeries photographiques, les projets de programation sur un nouveau site web basé sur Django. Bien sur, il n'y aura pas que du Django puisque je compte y méler un peu de Dojo pour le coté Web 2.0 qui fait fureur en ce moment sur la toile. En réalité ce n'est pas tant pour suivre la tendance actuelle du Web 2.0 que pour essayer de proposer une manière de naviguer sur le site de façon agréable pour chacun.

Actuellement, je n'ai commencé que la partie fonctionnalités principales du 'blog'. Il me reste sur cette partie à proposer des flux RSS et Atom filtrés par tag ou catégorie ainsi que des possibilités de commenter les billets. Ensuite, je migrerais la gallerie photo actuelle (qui souffre d'une trop grande complexité à maintenir) vers un système plus automatisés où les dossiers sur le serveur correspondront aux albums.

@ bientôt donc pour des nouvelles de Django et de ce projet en cours de réalistation.

Commentaires: 0 | Buzz it!

Premiers pas sous Django

Il faut se rendre à l'évidence, coder une application complexe de nos jours est grandement facilité par l'utilisation de frameworks spécialisés dans un langage de programmation. Avec un bon framework et quelques connaissances dans le développement sur cette base, le travail se focalise sur l'apport de fonctionnalités plutôt que sur des algorythmes laborieux maintes fois utilisés par d'autres développeurs. En gros on évite ainsi de réinventer la roue et on se concentre sur des choses plus importantes.

MyAsterisk est une application plutôt complexe dans son ensemble (multiples scripts, interface web agissant sur ces scripts, accès à une base de donnée...), et comme l'interface web elle même, reste relativement simple (c'est d'ailleurs un des objectifs du projet), je m'intéresse depuis quelques jours à convertir le travail effectué sur un framework Python. Python est un langage qui m'attire depuis de nombreux mois et je n'avais pas eu l'occasion de me lancer dans un projet à l'aide de celui-ci. Voilà donc une opportunité, et pour ce, je potasse entre autre un cours écrit par Gérard Swinnen. C'est d'ailleurs un document (libre) que je conseille à tous les francophones qui voudraient débuter sur Python.

Bon c'est bien tout ça, mais si le langage de programation est choisi, ce n'est pas un "framework"... Et bien, dece coté, ce sera Django. Django est un framework web basé sur Python qui est utilisé sur de nombreux sites très visités, ce qui constitue une garantie non négligeable sur la qualité et la stabilité du logiciel. La communauté francophone est aussi très active et favorise mon intérêt pour ce framework (il est en effet plus agréable de débuter avec une documentation francophone et d'avoir des interlocuteurs francophones lorsqu'on bloque sur des questions de base).

Les débuts sont laborieux et mon premier test (qui se limitait à suivre les instructions d'un tutoriel pour créer une application de sondage) m'a pris beaucoup de temps pour un résultat plutôt mitigé. À moi maintenant d'utiliser ce point de départ et de le faire progresser pour mieux comprendre un système complexe qui n'a pas grand chose à voir avec la programmation web classique.

Bon je parle trop, maintenant, il y a du travail...

Commentaires: 0 | Buzz it!