Est-ce que tu penses qu'il est aisé de rendre ton programme portable vis à vis d'une autre langue ?
Pour l’instant, non, attendu que les autres langues ne disposent pas des ressources linguistiques nécessaires. Par ailleurs, l’absence de module autonome et de tests unitaires, ça ne facilite pas la tâche.
Mais, concevoir le correcteur pour Firefox ou comme serveur va justement ouvrir cette possibilité, car les lexiques de LanguageTool seront réutilisables (il suffira de les recompiler) et il y aura des tests unitaires. Après ça, oui, il sera facile d’utiliser le système de Grammalecte : règles de contrôle, règles de transformation du préprocesseur de texte, règles d’étiquetage du désambiguïsateur (à venir), tout ça pourra être utilisé en créant son propre fichier de règles. En revanche, la plupart des mécanismes de suggestion sont bien trop étroitement liés à la langue. Il faudra écrire ses propres fonctions de suggestion. Quant aux modules annexes, ils nécessiteront pour la plupart une adaptation, mais rien d’insurmontable de mon point de vue.
As-tu essayé de discuter avec LibreOffice et Mozilla pour une possibilité d'inclusion par défaut ?
I. Avec Mozilla, non, je n’ai pas discuté d’un module qui n’existe pas encore. :) Par ailleurs, j’ai lu je ne sais plus où qu’ils n’ont pas l’intention d’inclure ce genre d’extensions par défaut. En revanche, ils prévoient de concevoir une API grammaticale pour aider à l’intégration dans leur navigateur (et j’espère bien Thunderbird).
II. Avec LibreOffice, l’intégration est déjà possible. Je pourrais le faire si je le voulais. Mais je ne le veux pas (encore) pour plusieurs raisons :
a. Grammalecte n’est pas encore assez bien à mes yeux. Même s’il reste peu de faux positifs, c’est toujours trop pour moi. J’aimerais avoir le temps de créer une option zéro faux positif, qui exclurait les règles de contrôle qui en font parfois. Pour l’instant, sans tests unitaires, c’est peine perdue.
b. Il faudrait réécrire une grosse partie du code concernant les outils annexes juste pour satisfaire les normes de LO sur l’interface et leur traduction. Actuellement, les chaînes de caractères sont décrites dans des fichiers en Python. Il faudrait mettre tout ça dans des fichiers en XML, générer l’UI autrement que ce que je fais jusqu’à présent (Grammalecte commande directement l’API de LO pour créer ses fenêtres). Par ailleurs, faire cela signifie que je renonce à écrire moi-même le texte en français. Tout sera écrit en anglais puis traduit. Je suis réticent à cette idée. Par ailleurs, j’écris en anglais, mais je ne suis pas assez doué pour le faire sonner nativement, et il est certainement parfois incorrect.
Si un anglophone me lit, je suis partant pour qu’on me fasse des retours sur l’anglais de l’UI (il suffit de passer l’interface de LO en anglais pour avoir Grammalecte anglais, sauf les messages d’erreurs et le conjugueur).
c. Inclure Grammalecte dans LO signifie qu’une partie de la gestion du projet va transiter chez eux, dans leur bugzilla, ce qui ne me motive pas du tout. Ne pas inclure Grammalecte dans LO me permet de conserver l’indépendance dans la conception et la gestion du projet. Je trouve que c’est plus souple ainsi. Si un jour, je cède ça à LO, je vais mettre la pression pour faire modifier l’API grammaticale qui n’est pas terrible en l’état actuel. Ce sera donnant-donnant. :) Mais je ne suis pas encore prêt pour ça, et je suis heureux de mon indépendance.
Je profite de ce message pour ajouter une chose que j’ai oubliée dans l’article : Grammalecte est encore un projet assez peu connu, même parmi les utilisateurs de LibreOffice/OpenOffice. C’est la première fois que j’en parle en dehors de leurs mailing-lists/forums. Donc, si vous voulez voir la campagne de financement réussir, je vous invite à en parler sur vos blogs, réseaux sociaux et autres lieux de discussion. C’est un logiciel encore très peu connu.
[^] # Re: Bravo
Posté par Olivier . En réponse à la dépêche Grammalecte, correcteur grammatical. Évalué à 10.
Pour l’instant, non, attendu que les autres langues ne disposent pas des ressources linguistiques nécessaires. Par ailleurs, l’absence de module autonome et de tests unitaires, ça ne facilite pas la tâche.
Mais, concevoir le correcteur pour Firefox ou comme serveur va justement ouvrir cette possibilité, car les lexiques de LanguageTool seront réutilisables (il suffira de les recompiler) et il y aura des tests unitaires. Après ça, oui, il sera facile d’utiliser le système de Grammalecte : règles de contrôle, règles de transformation du préprocesseur de texte, règles d’étiquetage du désambiguïsateur (à venir), tout ça pourra être utilisé en créant son propre fichier de règles. En revanche, la plupart des mécanismes de suggestion sont bien trop étroitement liés à la langue. Il faudra écrire ses propres fonctions de suggestion. Quant aux modules annexes, ils nécessiteront pour la plupart une adaptation, mais rien d’insurmontable de mon point de vue.
I. Avec Mozilla, non, je n’ai pas discuté d’un module qui n’existe pas encore. :) Par ailleurs, j’ai lu je ne sais plus où qu’ils n’ont pas l’intention d’inclure ce genre d’extensions par défaut. En revanche, ils prévoient de concevoir une API grammaticale pour aider à l’intégration dans leur navigateur (et j’espère bien Thunderbird).
II. Avec LibreOffice, l’intégration est déjà possible. Je pourrais le faire si je le voulais. Mais je ne le veux pas (encore) pour plusieurs raisons :
a. Grammalecte n’est pas encore assez bien à mes yeux. Même s’il reste peu de faux positifs, c’est toujours trop pour moi. J’aimerais avoir le temps de créer une option zéro faux positif, qui exclurait les règles de contrôle qui en font parfois. Pour l’instant, sans tests unitaires, c’est peine perdue.
b. Il faudrait réécrire une grosse partie du code concernant les outils annexes juste pour satisfaire les normes de LO sur l’interface et leur traduction. Actuellement, les chaînes de caractères sont décrites dans des fichiers en Python. Il faudrait mettre tout ça dans des fichiers en XML, générer l’UI autrement que ce que je fais jusqu’à présent (Grammalecte commande directement l’API de LO pour créer ses fenêtres). Par ailleurs, faire cela signifie que je renonce à écrire moi-même le texte en français. Tout sera écrit en anglais puis traduit. Je suis réticent à cette idée. Par ailleurs, j’écris en anglais, mais je ne suis pas assez doué pour le faire sonner nativement, et il est certainement parfois incorrect.
Si un anglophone me lit, je suis partant pour qu’on me fasse des retours sur l’anglais de l’UI (il suffit de passer l’interface de LO en anglais pour avoir Grammalecte anglais, sauf les messages d’erreurs et le conjugueur).
c. Inclure Grammalecte dans LO signifie qu’une partie de la gestion du projet va transiter chez eux, dans leur bugzilla, ce qui ne me motive pas du tout. Ne pas inclure Grammalecte dans LO me permet de conserver l’indépendance dans la conception et la gestion du projet. Je trouve que c’est plus souple ainsi. Si un jour, je cède ça à LO, je vais mettre la pression pour faire modifier l’API grammaticale qui n’est pas terrible en l’état actuel. Ce sera donnant-donnant. :) Mais je ne suis pas encore prêt pour ça, et je suis heureux de mon indépendance.
Je profite de ce message pour ajouter une chose que j’ai oubliée dans l’article : Grammalecte est encore un projet assez peu connu, même parmi les utilisateurs de LibreOffice/OpenOffice. C’est la première fois que j’en parle en dehors de leurs mailing-lists/forums. Donc, si vous voulez voir la campagne de financement réussir, je vous invite à en parler sur vos blogs, réseaux sociaux et autres lieux de discussion. C’est un logiciel encore très peu connu.