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]