“Hackers for good” : donner la possibilité aux utilisateurs de Linux de bénéficier de claviers personnalisés pour la transcription phonétique des langues du monde

Le monde de la recherche se digitalise, ce n’est pas une nouveauté, et le domaine de la linguistique n’y échappe pas. Si la discipline a pu mettre comparativement plus de temps à y venir que d’autres telles que la mathématique ou la logique, cela tient essentiellement aux besoins qui sont ceux des linguistes en termes de capacité de traitement informatique. En effet, si les mathématiciens ou les physiciens s’accommodent d’un encodage en ASCII ou d’outils ayant une gestion des chaînes de caractères plutôt complexe (dont ils éviteront de faire usage sauf à ne pouvoir faire autrement), les linguistes ne peuvent se passer de ces objets. Ainsi, je pense que la programmation en linguistique outillée, ou l’utilisation plus généralisée de l’ordinateur pour l’annotation, la transcription de corpora, a été rendue bien plus accessible à partir du moment où l’Unicode a fait son entrée dans les éditeurs de texte et s’est installé également dans les fichiers Système. Les linguistes, qui ne sont pas des informaticiens, ont besoin d’outils dont la prise en main soit accessible. On pourra également, “faire le kilomètre 609 supplémentaire”, si le jeu en vaut la chandelle.

C’est typiquement le cas lorsque la question du passage au libre se pose, puisque nous sommes de plus en plus nombreux à refuser de nous faire enfermer dans des options logicielles ou éditoriales qui font de nous les obligés de nos fournisseurs. Avant de construire nos propres géants du numérique, ouverts, souverains (https://www.assemblee-nationale.fr/dyn/15/rapports/souvnum/l15b4299-t1_rapport-information#), affranchissons-nous déjà de ceux qui nous empêchent.

C’est pourquoi, prenant la question à sa racine, certains ont décidé de repenser le choix même du système d’exploitation (OS). La question : “Quel est le meilleur choix d’OS pour faire de la science, et pourquoi la réponse est Linux ?” mérite en effet d’être posée.  Dans cette perspective, j’ai le plaisir de vous présenter un tutoriel qui vous permettra d’implémenter dans Linux Ubuntu n’importe quel clavier personnalisé, vous permettant de taper du texte en allouant potentiellement à chaque touche de votre clavier le caractère unicode de votre choix.

Notre objectif ici est de créer un clavier “customisé” pour les besoins de nos travaux. Mettons par exemple que dans ma langue de travail, les caractères a-A ne m’intéressent pas, et que j’aie besoin à la place de ɑ-æ, et ainsi de suite. Les communautés utilisant des systèmes d’exploitation propriétaires se sont saisies de ce problème (e.g. MSKLC). À nous de nous saisir de la question pour l’environnement Linux.

L’idée consiste à “hacker” une IME périphérique basée sur ibus : m17n. m17n propose de vous laisser ajouter des paquets de langues développées par la communauté, et ainsi de pouvoir écrire en utilisant des claviers faisant partie de ces paquets. Nous nous proposons ici de vous montrer comment détourner et de remplacer les touches par celle qui vous intéressent. Dans l’exemple,  nous allons installer un clavier phonétique (IPA) pour transcrire la langue na à la place d’un clavier gujarati (dont je n’aurai a priori pas besoin dans ma vie de linguiste).

Commencer par installer ibus. ibus est disponible sur la plateforme de développement Github (https://github.com/ibus/ibus/wiki). Pour configurer ibus, la commande ibus-setup peut s’avérer utile. Puis m17n est installé avec le même procédé :

sudo apt-get install ibus
sudo apt-get install ibus-m17n
cd /usr/share/m17n/

Une fois dans le répertoire contenant les claviers de m17n, trouver le clavier goudjaráti :

ls | grep "gu-phonetic"

Ensuite, il vous faut protéger le fichier original pour pouvoir y revenir au cas où (pour le moment je le mets sur le bureau) :

mkdir ~/bkup_m17n
cp gu-phonetic.mim ~/Desktop/bkup_m17n/gu-phonetic.mim.orig
gedit /usr/share/m17n/gu-phonetic.mim

Une fois l’éditeur lancé, modifier à la main la table de caractères, sachant que là c’est un peu à chacun de voir puisque personne ne sait mieux que vous ce dont vous avez besoin. Pour faire simple, la colonne de gauche est à laisser telle quelle. Il s’agit de la colonne listant les touches du clavier. La colonne de droite contient les caractères associés aux touches, précédés d’un point d’interrogation. pour avoir vos propres caractères, vous pouvez modifier le caractère après le point d’interrogation. D’autres méthodes sont possibles et pour cela je vous renvoie au paragraphe “résolution de problème”, point n°3 en fin d’article.

A titre d’exemple, voici un extrait d’une comparaison entre le fichier gu-phonetic original et le fichier modifié pour les besoins de la langue na :

Aperçu des modifications effectuées au fichier original (gauche), visibles dans le fichier modifié (droite)

Une fois ces tâches effectuées, le plus dur est fait. Il vous suffit d’aller déclarer le fichier gu-phonetic dans paramètres > > pays et langues > Sources de saisie -> + (pour ajouter un clavier) > “autres” (faites dérouler jusqu’en bas).
Dans l’outil de recherche de clavier, taper “gu” et le clavier en question devrait sortir (gu-phonetic).

aperçu du panneau de langues sous Ubuntu 20.04 lorsque le clavier modifié est déclaré

##WARNING/RÉSOLUTION DE PROBLÈMES##

Dans ce tutoriel, vous êtes amené à modifier des fichier qui sont généralement modifiés par le système, soyez prudent et faites des sauvegardes des fichiers que vous modifiez sous /usr/share/m17n. De manière évidente (mais ça va mieux en le disant) ne touchez surtout pas au clavier azerty qui est votre clavier par défaut !!

Quelques conseils de “résolution des problèmes” (troubleshoot) :

  • un potentiel problème rencontré parfois c’est que ibus peut coder la table de  caractères soit à partir d’un clavier QWERTY, soit d’un AZERTY. Cela dépend de votre clavier par défaut, et de certaines options système un peu techniques. À ce moment là, il faut un peu tâtonner car il n’y a pas de solution magique. Cela étant dit, si vous êtes sur Linux, vous savez déjà cela, et surtout vous savez pourquoi vous y êtes. Mon conseil est d’essayer autant que possible de “Partager la même méthode d’entrée pour toutes les applications”, et, dans le menu Paramètres > Pays et Langues > gujarati, dans les paramètres du clavier (le petit engrenage en figure 2), de décocher la case “utiliser la disposition clavier US”.
  • Autre précaution essentielle à prendre : le système Ubuntu va faire des mises à jour, et ce faisant risque d’écraser les fichiers clavier de ibus-m17n pour les remplacer par leurs versions les plus récentes. C’est une super chose car cela signifie que la communauté avance, cependant les claviers “faits maison” seront écrasés, et donc il est important d’avoir dans vos documents un dossier “utilitaires” où stocker les claviers que vous avez développé pour pouvoir les remettre lorsque vous ferez une grosse mise à jour système. La bonne nouvelle sous Linux, c’est que vous avez la main pour les mises à jour, vous les faites quand cela vous arrange, et c’est un luxe incroyable (en même temps qu’une responsabilité puisque vous ne pourrez pas indéfiniment repousser les mises à jour sans compromettre votre configuration).
  • Enfin, un conseil pour écrire votre clavier : vous l’aurez compris, les claviers en format .mim sont des tableaux avec en colonne gauche la touche et en colonne droite le caractère associé. Insérer des diacritiques représente un défi qui peut être relevé de différentes manières. Le site http://www.nongnu.org/m17n/manual-en/m17nDBTutorial.html propose un grand nombre de méthodes pour définir des claviers “custom” dans l’environnement m17n (merci à Guillaume Segerer pour le tuyau !).

En conclusion, je dirai de ce tutoriel qu’il n’est qu’une méthode artisanale de création de clavier personnalisé, et que le mieux serait de développer ces claviers et de les soumettre ensuite aux développeurs de ibus-m17n afin qu’ils soient incorporés dans un package, mais la question se poserait de savoir si cela est pertinent de (sur)charger un package déployé massivement avec des claviers qui chacun servent en premier à quelques personnes en recherche. Une réflexion est à mener, en tout cas, pour les claviers absents de ibus-m17n et dont la communauté d’utilisateurs atteint une taille importante.

Pour le moment, nous en restons à un usage de “hacker” du package ibus, des hackers certes, mais “hackers for good” !


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.