BackBackMenuCloseFermerPlusPlusSearchUluleUluleUluleChatFacebookInstagramLinkedInTwitterYouTubefacebooktwitterB Corporation

Grammalecte

Correcteur grammatical open source

Grammalecte — Nouvelles du front

Il y a longtemps que je n’ai pas donné de nouvelles sur l’avancée des travaux, d’autant plus que la dernière fois que je l’ai fait, je n’ai publié mes annonces que sur Twitter (impossible de me connecter sur mon compte Ulule). Alors je vais faire comme si je n’avais rien dit jusqu’à présent.

Grammalecte comme WebExtension
En novembre est parue la nouvelle extension pour Firefox, basée sur la technologie WebExtension, devenue obligatoire pour continuer à proposer Grammalecte sur Firefox.
Par certains aspects, développer une extension via ce système est plus facile, mais par d’autres il est aussi bien plus contraignant et restrictif. Il n’était pas possible de recréer l’extension comme elle existait autrefois (v0.5), attendu que le panneau principal (qui apparaît en superposition des pages Web) n’est plus aussi manipulable (impossible de le garder ouvert, par exemple, si on clique ailleurs). Le seul moyen était donc d’inclure la correction grammaticale à l’intérieur des pages Web, ce qui apporte un lot non négligeable de complications et de pièges, car cela implique d’éditer les pages Web consultées pour y insérer les panneaux de correction en évitant autant que possible les interférences. (La dernière version protège d’ailleurs mieux les altérations possibles des panneaux de Grammalecte par le code CSS des pages Web.)

Grammalecte sur Chrome
La bonne nouvelle inespérée c’est que la réécriture de l’extension pour Firefox a permis de faire un portage facile de l’extension pour Chrome.
https://chrome.google.com/webstore/detail/grammalecte-fr/knbmiaaadhgbgjciepkagmcadapophpa
Peu de temps après la campagne de financement est paru le brouillon d’un projet visant à harmoniser le système des extensions de tous les navigateurs. https://browserext.github.io/browserext/
Ce projet est encore très loin d’être abouti, et il reste des incompatibilités entre Chrome et Firefox, mais il signifie qu’à l’avenir ces divergences devraient se réduire. À l’heure actuelle, ces incompatibilités ne sont que peu nombreuses pour le cas de Grammalecte. Cela dit, une même interface de programmation n’implique pas nécessairement un comportement totalement identique.
L’autre bonne nouvelle, c’est que l’extension de Chrome est installable sur le navigateur Vivaldi.

Quoi qu’il en soit de l’avenir de l’harmonisation du système d’extensions des navigateurs, c’est sur Firefox que le développement et les tests se font et se feront. Je n’ai pas le temps de tester les autres navigateurs. Je le fais parfois à la va-vite sur Chrome, mais c’est tout. C’est déjà bien assez chronophage de maintenir trois interfaces pour Firefox, Thunderbird et LibreOffice.

Un dictionnaire personnalisable via un éditeur lexical
La grande nouveauté, c’est l’arrivée de l’éditeur lexical qui permet de créer votre dictionnaire personnel. J’ai passé les dernières semaines à travailler l’interface de cet éditeur, j’espère avoir gommé la plupart des rugosités.
Cet éditeur est disponible sur Firefox/Chrome et Thunderbird, et le sera bientôt pour LibreOffice. En fait, il est déjà prêt pour LibreOffice, mais il est nécessaire de remplacer le correcteur orthographique de LibreOffice (Hunspell) par un autre correcteur orthographique, ce qui nécessite d’autres aménagements.

Graphspell, le correcteur orthographique
À l’intérieur du correcteur grammatical existait un embryon de correcteur orthographique qui servait de ressource lexicale pour Grammalecte (il indiquait la nature grammaticale des mots), et il ne manquait plus grand-chose pour en faire un correcteur orthographique à part entière : la capacité de faire des suggestions sur les mots erronés. C’est maintenant chose faite, et les suggestions orthographiques de Firefox/Chrome sont dorénavant fournies par ce correcteur. C’est aussi le cas pour la dernière version de Grammalecte pour Thunderbird.
Le moteur de suggestion est fonctionnel mais encore en phase bêta. La plus grosse difficulté n’est pas de suggérer quelque chose, mais de suggérer quelque chose rapidement. Les erreurs orthographiques étant potentiellement presque infinies, il faut permuter, substituer, ajouter, supprimer un nombre considérable de lettres pour trouver la bonne orthographe parmi les innombrables possibilités. Ceci est coûteux en ressources. C’est pourquoi cette recherche de graphies correctes se fait de manière asynchrone sur demande de l’utilisateur.

Thunderbird
Ça bouge du côté de Thunderbird. La mécanique interne du courrielleur va connaître pas mal de bouleversements dans les mois et années à venir. La prochaine version, la 60 (qui sortira dans quelques semaines ou mois), casse pas mal de choses en interne. J’ai commencé à réajuster le code de Grammalecte pour que ça fonctionne à nouveau, mais de nouveaux bugs de Thunderbird sont apparus (je ne sais pas s’ils seront corrigés). Mais il y a de gros bouleversements à l’horizon. Le gros changement viendra après la version 60 où il semble possible que tout saute… J’ai même lu, je ne sais plus où (navré pour l’aspect rumeur infondée), que les dévs envisageaient de maintenir les 10 principales extensions et que tout le reste passerait à la trappe. Ça n’a rien d’officiel et ça n’arrivera peut-être jamais, mais ça indique bien que les changements seront majeurs. Pour eux, la difficulté vient surtout du fait qu’ils se basent sur une technologie que Mozilla va complètement abandonner prochainement et qu’il n’est pas envisageable pour eux de la maintenir à eux seuls (ils sont trop peu nombreux).

À venir
Cet hiver, j’ai été malade assez longtemps et ça m’a fait prendre un peu de retard sur le programme.
Les travaux vont se poursuivre sur l’éditeur lexical et LibreOffice. Mais surtout je vais bientôt entamer la refonte complète du moteur d’analyse grammaticale.

  • Francois MAROT

    Merci pour le boulot et pour les news. Bonne continuation !

  • Olivier R.Créateur

    Oui, il y a bien sûr des tests unitaires, plus de 8600.

    Et j’en rajoute régulièrement. Il n’y a priori pas de régressions majeures sur le potentiel global du correcteur, de nouvelles règles sont aussi ajoutées régulièrement.

    En revanche, il peut arriver que, pour réduire certains faux positifs, il faille amoindrir un peu le potentiel de détection de certaines règles.

    La refonte du cœur du correcteur devrait permettre de détecter bon nombre d’erreurs indétectables, ou plutôt devrais-je, indétectable sans faire exploser la quantité de faux positifs.

  • Narann

    Merci pour les infos!

    Y a t'il des sortes de tests unitaires sur les suggestions/résolutions. Car j'ai l'impression que la nouvelle version est moins efficace sur certaines choses (mais elle est beaucoup plus fluide a utiliser).