Bonjour à tous,

Ainsi que me l'a demandé Sophie, voici une petite présentation du nouveau site Dicollecte que j'ai construit ces deux derniers mois.

Au dernier moment imaginable, j'ai pu boucler une version afin de la proposer au concours d'innovation de SUN:
http://development.openoffice.org/community_innovation_program.html

Le principe initial, collecter des mots de la part des utilisateurs, n'a pas changé, mais j'ai tâché d'améliorer l'ensemble de toutes les manières possibles.

La raison initiale de la reconstruction du site était son adaptation au nouveau dictionnaire français sur lequel je travaille depuis plus de six mois. Comme ce nouveau dico n'est pas encore terminé et que ce n'est pas le sujet de ce mail, je passe sur ce point.

Par rapport à l'ancien site (très rudimentaire et d'une conception grossière), il n'y a presque que de nouvelles fonctionnalités.

Voici les principales:

# 1. Le site est internationalisable.

Il suffit de traduire une série de fichiers, de créer de nouvelles tables dans la base de données et de procéder à quelques réglages pour adapter le site aux dictionnaires étrangers. En guise de démonstration, j'ai uploadé les dictionnaires anglais et allemand.


# 2. Modification du thesaurus.

Il est possible d'éditer les entrées du thésaurus directement, et pour chaque entrée d'ajouter aisément des catégories de significations ou d'en soustraire, dans selon l'ordre qu'on veut. Pour la démonstration de cette fonctionnalité, mieux vaut aller voir dans le thesaurus anglais qui est bien plus complet et mieux organisé que le thesaurus français. Ce dernier ne propose qu'une seule catégorie de synonymes où tout est mélangé pêle-mêle. Contrairement aux dictionnaires orthographiques, où les modifications passent par un procédé de validation des propositions, l'édition du thesaurus est directe (car il eût été trop complexe de faire autrement à mon humble avis). Cependant, chaque modification est enregistrée dans des fichiers de suivi. Chaque édition d'une entrée bloque l'édition de cette entrée par quiconque d'autre durant un temps déterminé.


# 3. Edition des pages personnelles à chaque projet.
Chaque administrateur de projet peut éditer à sa guise cinq pages pour y diffuser les informations qu'il désire:
- la page Home pour les dernières nouvelles
- la page Documentation pour y expliquer ce qu'il désire au sujet des dictionnaires, des affixes, etc.
- la page FAQ
- la page Download pour y proposer les dictionnaires résultants.
- la page Old news ou archives pour vider la page Home des anciennes nouvelles.

Cette édition est un peu "brute", car le bouton "Editer cette page" que seuls les admins de projet peuvent voir fait basculer la page en édition HTML directe (seul le contenu des pages est accessible, bien sûr).


# 4. Personnalisation des projets.

Outre l'édition de certaines pages du site par les admins, il est possible de personnaliser les projets. Je n'ai pas eu le temps d'en faire autant que je le souhaitais sur ce point, mais c'est mieux que rien.

   a. Création de sous-dictionnaires orthographiques.
      Chaque projet peut définir un nombre important (c'est codé
      sur un caractère en UTF-8) de sous-dictionnaires auxquels
      il est possible d'assigner les entrées du dico.
      Ce qui permettra de créer des dictionnaires spécialisés.

   b. Qui peut éditer le thésaurus.
      Tous les inscrits? ou seulement les administrateurs et les
      contrôleurs des dictionnaires? C'est au choix de chaque
      projet.

   c. Temps de blocage des entrées du thésaurus quand on commence
      une édition.

   d. Personnalisation des liens vers les ressources linguistiques
      externes.

Cette personnalisation se fait toutefois uniquement par l'écriture des fichiers à la création du projet. Rien n'est encore prévu pour y accéder depuis le site lui-même. Ensuite, il faudra demander à l'administrateur du site (moi, pour l'instant) d'éditer les fichiers de projet pour changer ces réglages spécifiques.


# 5. Déclinaison des lemmes et analyse morphologique des formes fléchies.

Si les entrées sont grammaticalement étiquetées ainsi que les règles d'affixation de Hunspell, le site peut afficher la morphologie des formes fléchies.
Exemple:
http://dicollecte.free.fr/entry.php?prj=fr&id=122977
http://dicollecte.free.fr/entry.php?prj=fr&id=72153

Si vous constatez des erreurs, elles ne sont pas imputables au site mais à l'étiquetage du dictionnaire qui est toujours en bêta.

Pour l'instant, seul le dictionnaire français bénéficie de cet avantage puisque c'est le seul, à ma connaissance, dont 82% des entrées sont grammaticalement étiquetées (par mes soins, vous savez donc qui blamer en cas d'erreur) ainsi que la totalité des règles d'affixation.

Cet affichage de la morphologie des mots n'est pas hyper-importante en soi, mais permet de vérifier aisément si un drapeau engendre des formes erronées.


----------------------------------------------------------------------

Fonctionnement général du site :

Contrairement au premier site qui ne faisait qu'enregistrer les propositions des utilisateurs, les dictionnaires sont cette fois partie intégrante de la base de données, ainsi que les règles d'affixation.

Hormis ça, le principe de fonctionnement pour l'amélioration des dictionnaires orthographiques n'a pas beaucoup changé: Les utilisateurs proposent d'ajouter, de supprimer ou de modifier des entrées, les contrôleurs valident, rejettent ou pinaillent par le système de commentaires les propositions. Ensuite, l'administrateur seul peut appliquer la proposition sur le dictionnaire lui-même. Seul lui peut éditer directement le dictionnaire orthographique.

Pour le thésaurus, comme je l'ai dit, c'est de l'édition directe, car il eût été trop compliqué de faire autrement amha. Cette édition est permise ou non à tous les inscrits, ou réservée aux utilisateurs de confiance (contrôleurs).

En théorie, ce devait être plus souple que ça, mais le temps m'a manqué pour faire mieux. Par exemple, j'avais prévu que les dictionnaires orthographiques puissent être directement modifiés par les utilisateurs pour étiqueter grammaticalement ou changer le champ lexical, par exemple, selon que les entrées fussent ou non verrouillées par l'administrateur. J'avais même déjà implémenté cette fonctionnalité pour le dictionnaire français afin de boucler l'étiquetage grammatical par la communauté, mais je n'ai pas eu le temps d'internationaliser le système, et j'ai donc dû carrément l'enlever.

----------------------------------------------------------------------

Vu que c'est toi, Sophie, qui va défendre le projet auprès des décideurs (enfin, je présume, car j'ignore tout de comment est censée se dérouler la suite), je n'ai pas l'intention de te faire de mauvaises surprises, alors voici les lacunes de ce que j'ai proposé.

1. Il y a un bug dans ce que j'ai envoyé! Je m'en suis aperçu le lendemain... :( :( Je suis très déçu, car j'avais tout fait pour envoyer un projet sans bug, quitte à réduire les fonctionnalités, plutôt que de proposer un machin avec plein d'options mais perclus d'erreurs. Je travaille sur deux PCs, et je sais qu'une fois, j'ai merdé lors d'un transfert de l'un à l'autre, effaçant une partie de mon travail du jour. J'ai donc tout recorrigé en vitesse, mais je n'ai pas procédé à autant de tests que lors de la première mise en œuvre. Résultat, lorsqu'un administrateur décide d'appliquer une proposition dans le dictionnaire, 3 cas possibles:
  a. c'est une nouvelle entrée à ajouter. tout va bien.
  b. c'est une entrée à effacer. ça efface bien l'entrée, mais ça
     renvoie le message: "Nouvelle entrée ajoutée". Pas trop grave.
  c. c'est une entrée à modifier, et là, ça renvoie un beau message
     d'erreur "database error" ou je ne sais plus quoi.
     La requête SQL est erronée. C'est simple comme bonjour à corriger,
     et on se demandera si j'ai seulement testé ce cas. Oui, mais j'ai
     pas eu le temps de tout retester lors de la réécriture.
Cette erreur lors du transfert de fichier a aussi laissé quelques scories que j'avais ôtées précédemment, mais ça ne provoque aucune erreur (il y a juste deux ou trois pages ou un certain test de sécurité est fait deux fois au lieu d'une.)

2. On se demandera peut-être pourquoi je n'ai pas utilisé la librairie PDO pour les connexions à la base de données. (C'est une librairie qui permet d'employer un code générique pour la connexion à divers types de bases de données.) La raison est fort simple. Quand j'ai commencé le projet, comme je te l'ai expliqué, je ne prévoyais que de refaire mon site pour la gestion du français et ça n'allait pas plus loin. Je n'avais pas l'intention de diffuser le code ni de participer au programme d'innovation dont je n'avais pas encore connaissance. Comme j'avais l'habitude de PostgreSQL, je ne voyais pas de raison de changer de méthode. Ensuite, quand j'ai commencé l'adaptation, juste pour voir si c'était possible de rendre tout ça facilement international, je ne pensais pas qu'il fût possible de boucler quelque chose dans les temps (moins de deux mois, ça me semblait court). Ce n'est que sur le tard, quand j'ai pensé pouvoir rendre éventuellement quelque chose (et j'étais loin de savoir encore quoi), que j'ai réalisé qu'utiliser la librairie PDO eût été mieux, mais j'ai toujours eu beaucoup plus urgent à faire. Bref, Dicollecte veut du PostgreSQL et rien d'autre. Je ne pense pas que ce soit rédhibitoire, car ce n'est pas comme si j'avais programmé un forum que chacun pourrait installer sur sa base de données. Mais on s'étonnera peut-être du choix, ou pas.

3. Une documentation bouclée en hâte, comme tu l'as peut-être déjà constaté :/

4. J'ai prévenu une semaine avant la fin de ma participation, mais comme tu le sais, c'est que je n'étais pas sûr moi-même de pouvoir rendre quelque chose à temps.

5. D'une manière générale, l'ensemble paraîtra peut-être un peu brut de décoffrage et pas toujours bien dégrossi. La célérité avec laquelle j'ai écrit tout ça explique quasiment tout. Si j'avais eu six mois devant moi, au lieu de deux, j'aurais sans doute fait bien des choses différemment, et pas forcément dans cet ordre. Il y encore pas mal de détails à régler et à améliorer, mais les détails sont parfois longs à mettre en oeuvre. J'ai fait au mieux, comme j'ai pu. Bref... ce qui est fait est fait.


Maintenant, passons à l'avantage de ce projet. A moins que je ne me berce d'illusions (qui sait?), je crois avoir posé le premier socle qui dotera peut-être OpenOffice.org de moyens plus conséquent pour développer et gérer à l'avenir les dictionnaires, qui jusqu'à présent étaient laissés aux soins de qui voudraient bien se pencher sur leur sort plus ou moins misérable.

Voilà. Je ne suis probablement qu'un outsider au milieu des autres participants, mais qu'importe. J'ai la plus grande difficulté à avoir du recul vis-à-vis de ce que j'ai fait. Et je ne sais pas du tout qu'en penser.

Si quiconque a des questions... J'ai sans doute omis bien des choses.


------------------------------------------------------------------------

J'en viens maintenant à mes questions:
- qui va juger de tout ceci? la communauté d'OOo? SUN? les project leads?
- est-il normal que je n'ai reçu aucun message depuis que j'ai envoyé le projet (je l'ai même envoyé deux fois par mesure de sécurité)? Pas de "bien reçu, merci, on vous recontacte". Aucune question. Silence radio absolu.



Cordialement,
Olivier
http://dicollecte.free.fr/

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à