LanguageTool, un correcteur gratuit et intelligent pour votre PC

Lionel nous partage son expérience avec le correcteur orthographique et grammatical totalement gratuit qu’est LanguageTool.

Malgré son nom en anglais, LanguageTool est un correcteur tout à fait capable de prendre en charge la langue française. Lionel, lecteur du blog, nous le fait découvrir dans ce guide qui vous expliquera comment l’installer et en tirer partie aussi bien dans une suite bureautique que dans votre navigateur. Un grand merci à lui.

LanguageTool qu’est-ce que c’est ?

J’ai découvert LanguageTool un peu par hasard sur la toile et depuis je l’ai adopté. Il est bien plus performant que les correcteurs que je connaissais et maintenant qu’il est intégré nativement dans la version stable de LibreOffice, il devient encore plus intéressant.

C’est un projet dont « les fonctionnalités essentielles sont open-source » et qui est financé par l’Europe au travers de l’European Social Fund, donc par les Européens. C’est une première bonne raison de l’utiliser mais ça ne saurait être la seule.

Là où LanguageTool se distingue des autres correcteurs, c’est qu’il ne se cantonne pas à la correction orthographe/grammaire mais qu’il permet également de contrôler la ponctuation (avec les espaces des bons côtés des différents sigles), la casse (minuscule/majuscule), mais aussi l’amélioration du style (répétitions, phrases trop longues, etc.) et la reformulation. Les exemples donnés sur la page du projet sont éloquents et montrent la qualité de l’analyse et des corrections proposées.

Il est possible de tester le correcteur en ligne sur le site du projet. Pour cela, il suffit de copier-coller du texte dans la boîte prévue afin de lire les différentes suggestions et corrections qui seront proposées. Vous pourrez également parcourir cette page pour découvrir l’outil et ses extensions accessibles à différentes applications. Mais la méthode la plus simple pour utiliser LanguageTool est de créer un compte personnel pour pouvoir accéder directement au serveur officiel qui se chargera de l’analyse de vos textes et proposera ses suggestions.

Mais cette méthode présente deux inconvénients majeurs. Tout d’abord, ce mode « en ligne » nécessite une connexion permanente, donc un usage sédentaire. Même si ça n’est pas un service « critique », c’est assez dommage de risquer de perdre une fonctionnalité sur laquelle on doit pouvoir compter. Et cela sans parler du coût énergétique d’un envoi continu de données sur le réseau. Le second, et principal défaut, c’est bien évidemment la confidentialité de ses données. Le projet de LanguageTool est de devenir la solution de correction unique de votre machine. Ainsi vos documents mais également vos recherches et vos courriels peuvent être analysés. Ces mails en particulier sont susceptibles d’être sensibles. Votre vie privée ou le simple secret professionnel souffriront d’une analyse effectuée par un outil externe. Le service proposé est hébergé en Europe et les échanges sont bien entendu chiffrés mais cela ne sera pas suffisant pour beaucoup d’utilisateurs.

Il existe une parade à ce problème puisque LanguageTool peut être installé localement ou sur une machine auto-hébergée1. La seconde solution peut être utile pour mutualiser l’outil lorsqu’on a plusieurs machines à la maison, mais on reproduit alors, dans une moindre mesure, le premier inconvénient décrit ci-dessus.

Nous allons voir ici comment installer et utiliser son propre « serveur » LanguageTool sur un PC. L’opération utilisera le langage Java, il faudra donc avoir une version de ce langage en V8 minimum installée sur sa machine. La procédure est sensiblement la même quelque soit le système d’exploitation utilisé, mais ce tutoriel concerne une machine exploitant un système Windows. Les distributions GNU/Linux principales ayant probablement un paquet dédié. Le seul impératif matériel est la présence d’un peu de mémoire vive disponible, 1 Go sur ma machine par exemple. Cette quantité peut être ajustée afin d’éviter des plantages de LanguageTool à cause de la fameuse erreur « java heap size ».

Installation locale du serveur LanguageTool

La démarche pour installer LanguageTool n’a rien de sorcier et elle est largement inspirée de la page https://languagetool.org/fr/dev du projet, surtout de sa partie https://dev.languagetool.org/http-server. Il faut tout d’abord récupérer la dernière version du serveur (6.0 à l’heure où j’écris ce document) : https://languagetool.org/download/LanguageTool-stable.zip. Tant qu’on est à télécharger des archives, récupérons également les fichiers « n-grams » qui permettent d’améliorer considérablement la pertinence des corrections : https://languagetool.org/download/ngram-data/. Attention, ces fichiers sont particulièrement volumineux : presque 2 Go pour le Français et 8 Go pour l’anglais !

Une fois ces fichiers récupérés, on va extraire le contenu de LanguageTool-stable.zip dans un dossier de notre disque dur. Personnellement, j’ai un dossier à la racine de C: baptisé Coolbox dans lequel je mets les différentes applications dont je me sers et qui ne nécessitent pas d’installation. Je renomme le dossier « LanguageTool-6.0 » pour supprimer le numéro de version et n’avoir plus que le « LanguageTool ». Cela permettra de ne pas avoir à redéfinir les chemin pour lancer LanguageTool à chaque nouvelle version. Dans ce dossier C:\Coolbox\LanguageTool », je crée un nouveau dossier n-gram dans lequel il faudra décompresser les archives des ngram-data téléchargées précédemment.

Par exemple, pour le n-gram du français, on crée le dossier : C:\Coolbox\LanguageTool\n-gram\fr.

Dont le contenu est :

Au final, avec l’Anglais et le Français, le dossier LanguageTool fait quasiment 18Go ! C’est un « investissement » important en stockage qui sera interdit à certaines machines et qui fait réfléchir à l’idée d’une machine mutualisée. Mais c’est également l’assurance d’avoir une correction de qualité. Pour les langues étrangères, c’est également une excellente source d’apprentissage des tournures de phrases et de règles grammaticales.

Dans le dossier LanguageTool, je créée un fichier « config.txt » dans lequel j’ajoute la ligne suivante pour exploiter les fameux fichiers n-grams précédemment téléchargés et installés :

languageModel=C:/Coolbox/LanguageTool/n-gram

D’autres modifications sont possibles pour configurer finement cet outil. Le manuel donne des indications dans ce sens pour adapter LanguaTools à vos besoins mais ce simple paramétrage suffit à en faire une solution exploitable. Pour vérifier que l’outil fonctionne correctement on va lancer un invite de commandes MS Windows : soit à partir du menu des applications, soit en utilisant la combinaison de touches « Windows+R » et en tapant « cmd ». Dans la fenêtre de commandes, on se place dans le dossier LanguageTool où l’on a décompressé les différentes archives téléchargées. On pianote d’abord :

cd \

puis :

cd c:\Coolbox\LanguageTool

Enfin, on lance la commande suivante que vous pouvez copier-coller :

java -cp languagetool-server.jar org.languagetool.server.HTTPServer --port 8081 --allow-origin "*" --config config.txt

Une série de lignes devrait s’afficher et se terminer par : Server started

Une fois cette vérification faite, on peut fermer la fenêtre de l’Invite de Commandes et passer à la dernière étape. Lancer automatiquement le serveur LanguageTool. Pour faire en sorte que le serveur soit lancé automatiquement à chaque ouverture de session, quelque soit l’utilisateur qui se connectera à la machine.

Pour cela, on lance le « Planificateur des tâches » de Windows2, que l’on va ouvrir en tant qu’administrateur.

Dans la colonne de droite, on va « Créer une tâche ». Dans le premier onglet qui s’ouvre, on va nommer la tâche. Peut importe le nom mais quelque chose d’explicite comme « LanguageTool » serait approprié pour pouvoir y revenir facilement.

Dans le second onglet, « Déclencheurs », on va en ajouter un « Nouveau » via le bouton en bas à gauche. Un menu déroulant dans lequel on va choisir « À l’ouverture de session ». Laissez bien sélectionné « Tout utilisateur » dans la première partie. Dans les paramètres avancées, vous pouvez ajouter un léger « Report de tâche » pour éviter de surcharger votre machine à l’ouverture de session. Il est rare qu’on ait immédiatement besoin du correcteur dans les 30 secondes après le lancement de sa session.

L’onglet suivant, baptisé « Actions », fonctionne de la même façon. Le bouton en bas à gauche permet d’ajouter une nouvelle action associée à la tâche programmée. Sélectionnez ici « Démarrer un programme » dans le menu déroulant du haut et remplissez les champs comme suit :

Programme/script

javaw

Ajouter des arguments

-cp languagetool-server.jar org.languagetool.server.HTTPServer –port 8081 –allow-origin « * » –config config.txt

Commencer dans

C:\Coolbox\LanguageTool

Modulez évidemment suivant les changements effectués dans votre installation. Si vous avez décidé de décompresser LanguageTool dans un autre dossier par exemple. Le « w » à la fin de java dans le premier champ n’est pas une erreur de frappe.

A la fin de toutes ces fastidieuses mais simples opérations vous devriez avoir un résultat comme celui-ci. A noter qu’il est possible de changer le port, mais il sera nécessaire de l’indiquer correctement lors du paramétrage des différents modules.

L’onglet suivant, « Conditions », permet de définir dans quels cas exécuter ou ne pas exécuter notre tâche. Il est important ici de bien Décocher la case « Ne démarrer la tâche que si l’ordinateur est relié au secteur » si vous travaillez sur un PC portable. Vous pouvez également parcourir le dernier onglet, « Paramètres », les différentes options proposées sont plutôt claires.

Une fois tout ceci fait, on valide cette nouvelle tâche en cliquant sur le bouton « OK » en bas de la fenêtre. La tâche « LanguageTool » doit maintenant être listée dans la partie centrale du « Planificateur de tâches ». Un petit clic-droit sur la ligne et on lance la tâche avec l’option « Exécuter ». Le statut de la tâche doit alors passer à « En cours » et rester dans cet état.

Réglage des différents clients

Maintenant que nous avons une instance fonctionnelle de LanguageTool, il ne reste plus qu’à installer et paramétrer les différents clients existants. Les différents programmes qui vont en tirer parti.

Sous LibreOffice

Pour LibreOffice, à partir de la version 7.4, c’est plutôt simple. À partir de la fenêtre d’option, dans le menu « Outils » assurez-vous que la case « Vérificateur de grammaire distant LanguageTool » est bien cochée. Il faudra peut-être faire bouger l’ascenseur de droite pour faire apparaître cette ligne.

Puis dans les « Paramètres du serveur LanguageTool », activez LanguageTool et indiquez l’URL de votre serveur local : http://localhost:8081/v2

Il ne vous reste plus qu’à saisir du texte dans votre suite préférée pour profiter des suggestions de LanguageTool.

Sous Firefox, Thunderbird et autres

Les différents modules existants sont listés en bas de cette page : https://languagetool.org/fr. Vous trouverez donc la démarche pour Firefox mais elle est similaire pour les modules des autres logiciels supportés.

On commence par installer le module de manière traditionnelle en appuyant sur « Ctrl+Maj+a » sur le clavier ou en cliquant sur les trois petits traits en haut à droite de votre navigateur puis en cherchant « Extensions et thèmes ».  On pianote ensuite « LanguageTool » dans le moteur de recherche, on clique dessus pour le sélectionner et on clique sur « Ajouter à FireFox ».

Une fois le module pour Firefox installé, il faut modifier les options de ce dernier. Pour cela, on retourne sur la page des modules et on clique sur les trois petits points tout à droite de la ligne de l’extension. Cela permet d’ouvrir les options.

Dans les préférences générales, je vous conseille d’activer le « Mode méticuleux » pour tirer le maximum de LanguageTool. Plus bas, vous pouvez adapter les « Options de langue » qui vous correspondent le mieux : langue maternelle et langues dans lesquelles vous écrivez habituellement. La partie qui nous intéresse s’intitule « Paramètres avancés (uniquement pour les professionnels) ». Oui, nous sommes des professionnels maintenant. 😅 Je ne sais pas si le titre est volontairement fait pour effrayer les novices mais il suffit, dans notre cas, de cocher la case « Serveur local » et… le tour est joué.

À partir de maintenant, tous les textes écrits dans Firefox seront passés à la moulinette de votre propre instance de LanguageTool. Finies les erreurs dans les commentaires de Minimachines.net ! 
Comme indiqué dans la capture d’écran, il est possible de bloquer certains noms de domaine pour que LanguageTool ne sache pas ce que l’on saisit dessus. Une fonction pratique pour ne pas envoyer de données sensibles sur un serveur distant mais qui ne sera pas forcément nécessaire si vous utilisez votre propre installation du logiciel.

Voilà, j’espère ne pas avoir été trop long et surtout que ce tutoriel vous servira à utiliser et apprécier LanguageTool autant que moi.

Lionel

Notes :

  1. Il existe des Dockerfile pour LanguageTool par exemple.
  2. Appuyez sur la touche Windows et pianotez directement « planificateur » devrait vous offrir la possibilité de lancer ce planificateur de tâches.

Soutenez Minimachines avec un don mensuel : C'est la solution la plus souple et la plus intéressante pour moi. Vous pouvez participer via un abonnement mensuel en cliquant sur un lien ci dessous.
2,5€ par mois 5€ par mois 10€ par mois Le montant de votre choix

Gérez votre abonnement

23 commentaires sur ce sujet.
  • 14 février 2023 - 15 h 14 min

    Excellent travail.
    Merci pour le tuto que je resterai à la maison.

    Répondre
  • 14 février 2023 - 15 h 15 min

    Dommage pour le deuxième exemple (avec les impôts) : l’information de la date (demain) est perdue…

    Répondre
  • 14 février 2023 - 15 h 16 min

    Je n’utiliserais pas le terme intelligent pour un programme informatique utilisant de l’apprentissage même profond comme chatgpt, alors encore moins avec un modèle n-grams.

    D’après mes souvenirs de traitement automatique de la langue, les modèles n-grams sont assez efficaces avec l’anglais, mais totalement inadaptés au français.

    Cela dis, je n’ai pas vérifié la qualité de languagetool, mais si je veux travailler en français, je partirai plutôt sur grammalecte qui est beaucoup plus facile à mettre en oeuvre. Il y a aussi la référence Antidote si on accepte de payer.

    Si on souhaite avec un correcteur qui travaille sur un ensemble de langue, alors c’est intéresant.

    Répondre
  • 14 février 2023 - 15 h 23 min

    « Là où LanguageTool se distingue des autres correcteurs, c’est qu’il ne se chatonne pas à la correction orthographe/grammaire mais qu’il permet également de contrôler la ponctuation »

    Chat alors !

    ;)

    Répondre
  • 14 février 2023 - 15 h 39 min

    @orfait: Pas spécialement difficile a corriger cependant non ?

    @coincoin: Quand je parle d’intelligence (Le titre est de moi) ce n’est pas pour qualifier la méthode de travail informatique du produit mais plutôt par son approche de la correction. Le fait de proposer des corrections contextualisées me parait plus intelligent que de juste fournir un ou une liste de mots corrigés avec la bonne grammaire. On progresse en comprenant sa faute et pas juste en la corrigeant semi automatiquement.

    @Donk: ah ah bien vu. A noter que c’est 100% ma faute et pas celle de Lionel.

    Répondre
  • 14 février 2023 - 16 h 00 min

    Merci pour cette belle découverte ! à noter pour ceux ayant un serveur Yunohost qu’il existe en tant qu’application serveur à auto-héberger.

    Répondre
  • 14 février 2023 - 16 h 09 min

    @prog-amateur: On peut également l’héberger sur un NAS Synology via Docker.

    Répondre
  • JLE
    14 février 2023 - 16 h 44 min

    @coincoin:

    J’ai tenté grammalecte, mais grosse déception. Languagetool me semble plus efficace, même en français ;-) En tous cas je l’utilise depuis l’an dernier et j’en suis pleinement satisfait.

    Répondre
  • 14 février 2023 - 18 h 02 min

    Tu as neurospell fait par un français qui est gratuit et pas mal aussi

    Répondre
  • 14 février 2023 - 21 h 05 min

    Moi qui cherchais un remplacant à Antidote qui, depuis la version 11, ne propose plus de version native pour Linux.

    Répondre
  • 14 février 2023 - 22 h 17 min

    merci pour cette découverte,j’utilisais le web « merci » pour passer du texte en copié collé justement parce-que je ne voulais pas que tout ce que j’écris sur firefox passe par leur plugin. mais ici la solution d’autohebergement est top!
    Je pense même pour l’enseignement où je suis en partie mettre en place un serveur en interne ferait quelques économies de licences Antidote… Et vu que c’est avec des subsides que l’on paye autant en faire profiter le secteur non marchand :)

    Répondre
  • 14 février 2023 - 23 h 51 min

    Je n’ai clairement pas les talents de rédacteur de Pierre. 😅

    J’apprécie également beaucoup le fait que les corrections soient contextualisées : ça permet d’apprendre ou de comprendre les règles d’écriture.

    Enjoy !

    Répondre
  • 15 février 2023 - 11 h 11 min

    Merci pour cet article.
    J’ai une question, en auto-hébergement, nous restons malgré tout sur un compte Basic ou pas ?

    J’ai pour exemple Bitwarden qui offre toutes les possibilités du service, une fois autohébergé.

    Merci pour vos réponses.

    Répondre
  • 15 février 2023 - 11 h 22 min

    Oh la vache pour installer ca abandon direct

    Répondre
  • 15 février 2023 - 11 h 52 min

    @kantfredo: Franchement c’est pas sorcier. Moins compliqué que de suivre une recette de cuisine d’un plat en sauce…

    Répondre
  • 15 février 2023 - 12 h 55 min

    @kantfredo:
    Bonjour, crois-moi ce n’est vraiment pas compliqué !
    Le tuto est très détaillé avec des copies d’écran.
    Juste des cases à cocher et deux lignes à recopier dans l’invite de commande.
    Bref, installé et adopté !
    Merci @ Lionel :)

    Répondre
  • 15 février 2023 - 15 h 05 min

    @Franck:
    Apparemment çà reste la version basique :
    localhost:8081/v2/check?language=fr-FR&text=Mon+texte+a+été+oubliée

    premium: false
    premiumHint: « You might be missing errors only the Premium version can find. Contact us at supportlanguagetoolplus.com. »

    Répondre
  • 15 février 2023 - 19 h 15 min

    Bonjour

    Je teste sous mac pour voir si l’extension safari fonctionne.
    et bien c’est bon, mais je ne peux pas régler le serveur par défaut c’est vers languagetool.org.
    par contre, sous opera pas de souci pour lui mettre un serveur où il tourne sou docker.

    Belle trouvaille Pierre comme d’hab.
    Merci

    Répondre
  • 16 février 2023 - 10 h 47 min

    @Franck: Honnêtement, la version Libre est très suffisante. Les différences sont détaillées ici : https://languagetool.org/insights/fr/poste/premium/
    En gros, plus de limitation à 10 000 caractères (par texte), primeur sur les mises à jour (mais si tu gères toi-même le service ça n’est peut-être plus vrai), etc.

    @kantfredo: J’ai un style un peu lourd. J’aurais pu faire beaucoup plus court mais j’ai essayé de détailler au maximum pour que ce soit accessible à tous.

    Répondre
  • 16 février 2023 - 15 h 46 min

    Bonjour,

    J’ai installé le serveur LanguageTool via un docker-compose sur mon VPS, accessible à l’URL « https://languagetool.domain.tld »
    Dans la configuration des extensions pour Safari et Firefox, il faut donc choisir « Autre serveur » et entrer l’URL de votre serveur…
    Mais attention, il y a une ruse ici !
    Pour que cela fonctionne, Il faut suffixer l’URL de son serveur avec la version de l’API.
    Cela donne quelque chose comme « https://languagetool.domain.tld/v2 » dans le champ « Autre serveur ».

    Cordialement,
    iGoX

    Répondre
  • 16 février 2023 - 17 h 34 min
  • ygb
    17 février 2023 - 14 h 01 min
  • 17 février 2023 - 15 h 27 min

    @ygb: Pour la gestion des mots de passe, j’utilise Keepass. Je préfère séparer la fonction « gestion des mots de passe » et la fonction « synchro Cloud ».

    Mes 0.02 cents

    Répondre
  • LAISSER UN COMMENTAIRE

    *

    *