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]

Répondre à