Bonjour, Je viens de lires les archives complètes, et je pense comprendre que la viabilité du projet à court et moyen terme dépend de la réalisation d'un client web.
Je voudrais faire une proposition concrète, et si cette proposition est acceptée, je me porte volontaire pour diriger le développement du client web et à en coder un premier prototype. J'ai vu la liste des CMS qui ont été envisagés pour être la base du client web. Le CMS qui me semble idéal pour les besoins du projet est Drupal: http://drupal.org/ Si Drupal est accepté, je peux commencer à coder un module demexp pour Drupal qui servira de client web. Je ne vois qu'un seul inconvénient à Drupal, c'est qu'il nécessitera à terme un serveur web assez performant. Voir raison technique au bas de ce message. Pour le reste, je ne vois que des avantages. Je commence par les plus généraux, et aussi les plus importants: * Drupal est un CMS supporté par une communauté de développeurs très active. Depuis 2005, Drupal est la star montante des CMS et fait déjà partie de la prochaine génération de CMS. * Drupal est codé en php et MySQL (ou postgreSQL): des langages très en vogue: trouver des développeurs additionnels ne sera pas un problème (il y a déjà au moins 3-4 personnes sur la listes pouvant coder en php). * L'API de Drupal est excellent, extrêmement flexible et permet un développement modulaire de fonctions additionnelles. Je ne peux pas parler des applications python, mais on ne peut pas en dire autant des autres populaires CMS codés en php comme Mambo (Joomla!). Ceci est important car on peut coder notre propre module de façon totalement indépendante du coeur (core) de Drupal. Pas besoin donc de patcher celui-ci ce qui simplifie grandement la maintenance. * Il ne sera pas besoin de coder tout un tas de fonctions essentielles pour demexp car celles-ci existent déjà déjà sous Drupal (gestion des usagers, des sessions, du contenu, des menus, du thème...). * La tendance du développement de Drupal est vers l'abstraction totale de tout l'API, donnant une chance aux développeurs de modules de modifier en tout point le fonctionnement par défaut du coeur de Drupal. * Aussi, un point très important pour demexp, c'est son intégration à la base d'un système de taxonomie. J'ai lu qu'il a été beaucoup question de la gestion et de la classification d'un nombre de questions croissant. Je vois très bien comment le système de taxonomie sous Drupal peut compléter le système de classification du serveur demexp. Ainsi, le serveur peut continuer à classer chaque question dans une hiérarchie simple en arbre (comme un arbre généalogique). Le client Drupal, lui, peut utiliser cette classification, et en plus ajouter d'autres formes de classification qui lui seront propres. Encore un fois, Drupal est très flexible, et une question peut appartenir à plusieurs catégories (donc il est plus facile de trouver la question que je cherche). Aussi, chaque question peut être classifiée selon plusieurs critères différents comme: - pertinence géographique: Rennes, Le monde, la France, le Sud-Ouest, Paris ET Marseille, la frontière franco-polonaise, etc. - pertinence à des personnes nommées dans la question. - pertinences à des sociétés, associations. - pertinences à des produits, objets, etc. Pour un tout petit aperçu des possibilités, veuillez voir les exemples suivants: http://www.wechange.org/tagadelic/topics http://www.wechange.org/tagadelic/places http://www.wechange.org/tagadelic/people Ainsi chaque question est reliée aux catégories qui lui sont pertinentes (voir par exemple la liste de liens propres à chaque article dans le site ci-dessus). * Drupal est un système complet. On n'est pas obligé de tout utiliser, mais il y a des modules pour des forums, des blogs, des wikis, etc. etc. En fait, la popularité de Drupal est évidente lorsqu'on regarde la liste de modules contribués. * Un forum peut-être créé automatiquement pour chaque question, remplissant ainsi le besoin d'un lieu de débat. Le forum sera relié automatiquement à la question. * Drupal a un système de gestion des utilisateurs très puissant. On peut créer plusieurs catégories d'utilisateurs, en fonction, par exemple, s'ils ont un compte dans le serveur ou non, et si leur identité a été vérifiée ou non. Chaque catégorie d'utilisateur aura des permissions différentes. * L'ensemble des questions et des réponses seront affichées sur le site web, mise à jour au besoin. Ainsi, des personnes non-inscrites peuvent consulter les discussions et les moteurs de recherche indexer le site. * évidemment, chaque utilisateur inscrit (logged in) verra pour chaque question des informations supplémentaires qui lui seront pertinentes: bulletin de vote, ou autre information personnalisée. * Drupal a commencé à faire usage de JAVAX dans sa dernière version stable (4.7 sortie en mai), et la première version stable de jquery vient tout juste de sortir, juste à temps pour être incluse dans la version de développement de Drupal avant le code freeze. Tout ceci devrait permettre de créer un client qui ne dépend pas de Javascript pour fonctionner, mais où Javascript peut être utilisé et intégré facilement afin d'améliorer l'ergonomie. * Je connais très bien comment marche Drupal en interne pour avoir participé à son développement et soumis des patches. Si vous avez vu les liens que j'ai posté juste avant, dans mon introduction, vous avez pu voir que je suis très intéressé aux projets de démocratie et de vote condorcet. Je suis heureux de vous avoir trouvé. J'espère que le sentiment est réciproque :) * Drupal a son propre bug tracking system sous forme de module (j'ai vu que vous en cherchiez un). * Drupal a un système de cache très performant pour les visiteurs anonymes qui viendront consulter le site. Les développeurs Drupal sont en train d'essayer d'améliorer le système de cache pour les utilisateurs inscrits afin d'accélérer le temps de rendition d'une page web personnalisée. Ce dernier point est relié au problème de performance dont je faisais mention en introduction. Drupal est très puissant et flexible, mais cette puissance a un prix: les besoins pour servir une page personnalisée sous Drupal n'est pas le même que celui de servir une page codée en dur en HTML. Drupal est plus puissant que les autres CMS parce que Drupal a déjà abstrait (abstracted?) ce que les autres CMS hésitent encore à faire. Il faut un bon CPU pour le php, et un bon serveur SQL pour la base de donnée. Le serveur actuel du projet sera très adéquats pour l'instant, mais dès que le projet prendra de l'ampleur (c-à-d des centaines d'usagés connectés au même moment), il nous faudra un bon serveur dédié. Voilà ce que je peut faire: * Je connais très bien Drupal et son API. * Je sais coder en PHP et SQL. * Dès que cette proposition est acceptée, je peux commencer à coder un module demexp sous Drupal. * Je créerais un projet demexp sur le site de Drupal, et je dirigerais le projet en fonction des intentions de la communauté et en consultation des autres développeurs. * Je peux m'engager à coder pendant 2 heures par jour. * J'ai une bonne expérience pédagogique :) et je peux aider ceux qui connaissent PHP à comprendre l'API de Drupal, de façon à ce que je ne sois pas seul et assurer la pérennité du projet. Voilà ce que je ne peux pas (encore) faire (mais je peux apprendre au besoin): * Javascript. Ce n'est pas essentiel au début. La couche de JAVAX peut être ajouté ultérieurement. Pour des raisons d'accessibilité, je voudrais de toute façon créer un site qui ne requiert pas javascript. * le protocole https. Je ne pense pas que ce soit difficile mais jusqu'à présent, je n'ai pas eu besoin d'apprendre. * le protocole de communication client web / serveur demexp :) . * caml, ocalm :) Mais ça, j'apprendrais pas! voilà. Ca intéresse quelqu'un? Si David est en vacance ce mois-ci et qu'il faille attendre son retour pour avoir son avis, je peux attendre :) Bonsoir à tous, Augustin. -- Liste de discussion demexp-fr. Pour se désinscrire, cliquer sur le lien ci-après. mailto:[EMAIL PROTECTED]
