| ![]()
 La route a été plus longue que prévu, mais
                        voici enfin Grammalecte pour Firefox.http://1n5o.mj.am/link/1n5o/y3ynt2r/a3/vxZYy34KKud7Au48LUD4Tg/aHR0cHM6Ly9hZGRvbnMubW96aWxsYS5vcmcvZnIvZmlyZWZveC9hZGRvbi9ncmFtbWFsZWN0ZS1mci8
 Pour la mise à jour la plus récente, allez ici :
 http://1n5o.mj.am/link/1n5o/y3ynt2r/a4/_ilFUrThmTKIxhJla93jSg/aHR0cHM6Ly9hZGRvbnMubW96aWxsYS5vcmcvZnIvZmlyZWZveC9hZGRvbi9ncmFtbWFsZWN0ZS1mci92ZXJzaW9ucy8
 (Je voulais attendre que Mozilla ait vérifié
                        l’extension avant de publier l’annonce, mais
                        comme certains m’ont devancé, je suis le
                        mouvement.) Pour l’instant, attendu que Mozilla n’a
                        toujours pas implémenté l’interface de
                        programmation qui permettra de souligner en bleu
                        les erreurs directement dans les zones de texte,
                        la correction se fait dans un panneau annexe.
                        Mais dès que cette interface sera disponible,
                        c’est bien sûr ainsi que les corrections se
                        feront. A priori, Grammalecte pour Firefox peut et doit
                        signaler les mêmes erreurs que la version pour
                        LibreOffice. Les tests de qualité confirment ce
                        point, mais ces tests ne sont pas encore
                        complets. Il est donc possible qu’il y ait
                        encore quelques divergences de comportement
                        entre les deux correcteurs. Implémenter la version en _javascript_ du
                        correcteur n’a pas toujours été facile, d’où mon
                        retard, ça a même été parfois assez
                        cauchemardesque, mais l’hydre semble à peu près
                        sous contrôle à présent. Il reste sans doute encore pas mal de rugosités
                        à polir. Mais ici la question est plus
                        culturelle que technique. Avant l’existence de
                        l’extension pour Firefox, avec le correcteur, je
                        faisais surtout des tests avec des documents
                        plutôt littéraires et pas trop mal écrits. Mais
                        le Web est vaste et chaotique: le type de textes
                        qu’on y trouve est extrêmement variable et
                        ceux-ci présentent de nombreux cas de figure
                        différents. Ces derniers jours, j’ai fait passer
                        au correcteur des centaines de textes tirés de
                        blogs et de journaux. J’ai corrigé des tas de
                        faux positifs et j’ai ajouté des centaines de
                        mots dans le dictionnaire. Le Web fourmille de
                        sigles, de néologismes, d’anglicismes, de termes
                        et d’écritures techniques plus ou moins
                        cohérents. Pour éviter que le correcteur ne voit
                        trop rouge, je vais devoir assouplir
                        l’éligibilité de certains mots dans le
                        dictionnaire. J’ai aussi désactivé le
                        signalement des sigles non reconnus, revu la
                        tokenisatio n pour éviter le signalement des
                        hashtags et des hyperliens. La version 0.5.4,
                        résultat de ces nombreux tests, diffère donc
                        déjà pas mal de la version 0.5.1. (Je vous
                        conseille donc la version 0.5.4, même si Mozilla
                        n’a pas encore vérifié le code.) Bien sûr, le correcteur a aussi été amélioré.
                        De nouvelles règles de contrôle ont été
                        implémentées, le moteur de suggestion est plus
                        efficace, le désambiguïsateur aide à s’y
                        retrouver et il y a moins de faux positifs. Propos techniques (les non-geeks
                          peuvent passer les paragraphes en italique)Pour ceux que la mécanique intéresse, je
                          suis passé d’un moteur multi-passes avec des
                          règles mono-action à un moteur bi-passes avec
                          des règles multi-actions. Mais c’est un point
                          dont je parlerai quand j’aurai le temps
                          d’écrire un billet récapitulatif du
                          développement fait.
 Le correcteur grammatical en _javascript_ est
                          environ 12 fois plus lent que celui en Python
                          si on l’exécute dans le thread principal de
                          Firefox (ce qui m’a donné des sueurs froides),
                          mais environ 33 % plus rapide que celui en
                          Python si on l’exécute dans un thread séparé
                          (ce qui fut un soulagement). Donc, tout est
                          exécuté dans un thread séparé de manière
                          asynchrone (environ 20 fois plus rapide que
                          dans le thread principal… ne me demandez pas
                          pourquoi…). Le moteur d’expressions régulières de
                          _javascript_ est très déficient (restons poli),
                          nettement en retrait par rapport à celui de
                          Python. Il manque les assertions “lookbehind”,
                          un support commode de l’Unicode (lamentable)
                          et surtout il n’y a rien pour récupérer les
                          index de position des groupes (ça m’avait
                          échappé quand j’ai lancé la campagne de
                          financement), ce qui a été problématique. Il a
                          donc fallu suppléer ces déficiences (et disons
                          même pas mal magouiller). Ce qui m’a fait
                          perdre pas mal de temps et rendu le processus
                          de build assez délicat (disons même
                          bordélique), mais ça ne concerne que le dév
                          après tout. J’ai décidé d’utiliser autant que possible
                          toutes les nouveautés syntaxiques d’ES6 : let,
                          const, les classes, les générateurs, Map, Set,
                          les fonctions fléchées, for … of, la
                          déstructuration, les paramètres par défaut,
                          les paramètres du reste, les gabarits de
                          chaînes de caractères, les array
                          comprehensions (ES7), les promesses, à peu
                          près tout ce qui se fait en ES6. Sauf les
                          tableaux typés, qui se sont révélés plus lents
                          qu’un simple Array, et import/export, pas
                          encore implémentés dans Firefox. Le serveurJ’en ai un peu marre de _javascript_ en ce moment.
                        Alors d’ici quelques jours, je sors une version
                        du serveur. Comme je l’ai déjà dit, désimbriquer
                        Grammalecte de LibreOffice, c’est avoir accompli
                        la plus grande partie du boulot pour le serveur.
                        Donc, il n’y a donc a priori plus grand-chose à
                        faire.
 Je vais le baser sur Bottle (http://1n5o.mj.am/link/1n5o/y3ynt2r/a5/FN4LfBmT3lxMxb5nJpX6vg/aHR0cDovL2JvdHRsZXB5Lm9yZy9kb2NzLzAuMTIvaW5kZXguaHRtbA)
                        qui présente l’avantage de tenir dans un seul
                        fichier, qu’il suffit d’inclure dans
                        Grammalecte. Le correcteur n’aura ainsi besoin
                        d’aucune dépendance.
 ThunderbirdJe n’ai pas encore commencé le travail sur ce
                        point. En théorie, puisque Thunderbird intègre
                        le moteur de _javascript_ de Firefox, le cœur du
                        correcteur n’a pas à être modifié. En revanche,
                        tout ce qui concerne l’interface est
                        probablement à revoir. Comme Thunderbird est
                        abandonné par Mozilla et survit entre deux eaux
                        (il est probable que Thunderbird passe sous une
                        autre bannière: celle de TDF peut-être), sa
                        documentation est en pleine décrépitude, le
                        désordre règne, je ne sais pas encore ce qui est
                        faisable, et j’ignore combien de temps ça va me
                        prendre.
 Les contreparties La liste de ces mots inclus dans les
                        dictionnaires est consultable par ce lien.
                        Merci de me signaler les éventuelles erreurs et
                        les oublis. Bon nombre de ces mots (beaucoup des noms
                        communs et quelques-uns des noms propres) sont
                        éligibles pour être intégrés dans le
                        dictionnaire commun. Ils y seront donc
                        transférés dans quelque temps, au fur et à
                        mesure, quand j’aurai le temps de faire les
                        vérifications nécessaires. Voici par exemple
                        certains des noms propres qui sont éligibles :
                        Clothilde, Andrei, Joakim, Léopoldine,
                        Euphrasie, Mouhammad, Fantine, Florestan,
                        Florie, Terence, Hypnos, etc.À noter que certains mots proposés étaient déjà
                        présents dans le dictionnaire. En voici la liste
                        : fada, Arthur, Marilou, jardin, vélo,
                        grammatologie, Léopold, Héloïse, héraldique,
                        Terry, Marcia, Narcisse, Lionel, Théo, Florence,
                        plussoyer, Freud, schmilblick, Richard, Val
                        d'Isère, Fernando, Grenoble, Buenos Aires, bépo,
                        nuoc mam (sous la forme nuoc-mâm), yiddish,
                        apostolicité, adamantin, Occitanie, occitant
                        (mais il n’y a pas de “t” final), Gascogne,
                        gascon-ne-s, OK, gouterreau (mais ça s’écrit
                        avec deux “t”), email (sous la forme e-mail),
                        escagasser, esquicher, esclaffer, emboucaner,
                        µmole (sous la forme µmol), Min (le symbole des
                        minutes s’écrit min, sans majuscule).
 Certains des mots proposés n’ont pas été
                        ajoutés au dictionnaire et certains ne le seront
                        probablement pas (la décision est en suspens).
                        En voici la liste : Southern blot, Northern
                        blot, Zea Invent, Apex Agri, Agro Bio, The
                        Document Foundation, Apache Software Foundation,
                        Free Software Foundation, Golden Show, Lovely
                        Rita, Mix Bizarre, Scred TV, Las Gastios, Hero
                        Corp, Texas Instruments, Standard de Liège,
                        Creative Commons, Madame&Services.La raison, c’est que le dictionnaire ne peut
                        accepter que des mots entiers (pas d’espace et
                        pas de caractères spéciaux comme “&”). Il
                        faudrait donc ajouter ces mots séparément. Mais
                        certains d’entre eux sont susceptibles de créer
                        des confusions (Creative, The, etc.). Parfois,
                        ces mots existent déjà dans le dictionnaire
                        (Rita, apache, software, document, bizarre, mix,
                        golden, show, etc.). Bon, ça reste encore à
                        voir. N’hésitez pas à m’écrire si je tarde…
 |