Aller à la navigation

Blog

Retour à l’accueil

12 Nov 2021

Devoxx UK 2021 : « Le texte ordinaire, revisité »

Le Devoxx édition UK, l’événement majeur des développeurs pour approfondir ses connaissances Cloud, Big Data, IA, Programmation, Sécurité, Architecture, Développement, se tenait cette année du 1er au 3 novembre.

– Par René GHOSH, Tech Lead FINAXYS


Je ne vais pas en dire plus sur Quarkus – si vous faites du java, soit ça vous dit quelque chose, soit vous l’utilisez déjà, soit vous allez rapidement être amenés à l’utiliser. “Making java fun again” – indeed !
Peut-être parce que j’ai un certain âge et que j’exerce l’informatique depuis de longues années, mais ce qui m’interpelle dans ces conférences ce ne sont pas que les nouvelles technologies avec leurs lots de révolutions, mais surtout les anciennes… Celles qui, comme moi, refusent obstinément de disparaître, celles qui nécessitent des mises à jour régulières, celles que l’on doit périodiquement déconstruire pour les adapter à un monde en constante évolution.
Ainsi, lorsque j’ai vu passer le titre “There’s no such thing as plain text” (le texte ordinaire n’existe pas), j’ai su qu’il me fallait assister à cette conférence. Et le conférencier, Dylan Beattie, ne m’a certainement pas déçu.
Comme c’est souvent le cas en informatique, une fois que l’on a trouvé une solution à un problème, on se dit “c’est bon, c’est fait, rentrez chez vous, demain on tourne la page”. Mais non. On a fait une première version, et il y en aura d’autres à venir.

Alors, le texte ordinaire, c’est quoi ? 
Si vous étiez Américain dans les années 60, vous vous diriez que l’ensemble de tous les caractères dont on a besoin pour transmettre du texte tiennent sur 7 bits. C’était la naissance du codage de caractères ASCII.
Pour faire bref – et au risque de heurter les esprits rigoureux – voici ce qui s’est passé par la suite. Pour certaines autres langues, le dernier bit qui complète l’octet, soit 128 caractères de plus, était suffisant pour relayer les caractères accentués et autres lettres, donnant lieu à une pléthore de versions d’ASCII qui fonctionnaient tant bien que mal dans les pays mais donnaient lieu à des dysfonctionnements catastrophiques dans les échanges internationaux. A terme, on a vu apparaître le standard ANSI et ses “pages de code” qui recensaient les spécificités de chaque langue. En Asie, la situation était encore plus compliquée, parce que 128 caractères de plus était bien loin du minimum syndical, certaines langues ayant des alphabets de plusieurs milliers de caractères.

Arriva donc l’unicode avec son concept “point de code”, qui distinguait enfin la liste de tous-les-caractères-imaginables pour le codage des caractères. Ce codage a bien des versions, notamment le canonique UTF-8, et même si tout n’est pas réglé, de nos jours les développeurs ont en main tous les outils pour stocker et restituer à peu près toute langue parlée et écrite sur la planète.

La problématique est-elle donc résolue ? Non. 
Tout évolue, même au niveau du langage.
Quel est le langage qui évolue le plus rapidement de nos jours ? Celui utilisé par la quasi-totalité des humains de la planète ? 
Vous l’avez deviné : cet article n’est qu’un prétexte pour traiter l’un de mes sujets préférés :  le langage emoji 🙂 

Saviez-vous que les emojis sont inclus dans le standard unicode ? Et que chaque année, de nouveaux symboles apparaissent, acceptés et intégrés au standard par le Consortium Unicode ?
Note: si vous allez voir ce qu’est le Consortium Unicode, vous en retirerez certainement plus de questions que de réponses, promis, et aussi quelques inquiétudes !

Il y a peu de chances que l’arrivage annuel des nouveaux emojis remplisse la capacité d’absorption d’unicode. L’unicode, avec sa capacité de 1 114 112 points de code, n’utilise aujourd’hui que les 144 697 premières places, soit à peu près 13%. De quoi tenir encore quelque temps, et surtout parce que la déclinaison des emojis est faite à partir de combinaisons.
Par exemple, lorsque vous envoyez un emoji d’une personne qui hausse les épaules, en changeant la couleur de peau par défaut, vous envoyez en réalité une combinaison de deux points de code : U+1F937 (personne qui hausse les épaules) et U+1F3FD (couleur de peau “moyenne”). Lorsque vous envoyez un emoji d’un astronaute, vous combinez en réalité le point de code représentant un homme avec celui qui représente une fusée. 

L’aspect positif de cette logique combinatoire est que ça laisse beaucoup de place à l’interprétation et donc à de puissantes possibilités. L’aspect négatif est que ça laisse aussi la place à des interprétations bien différentes de l’intention de l’émetteur. Parfois, ça laisse même la place à aucune interprétation !
La réalité, c’est que les emojis ne sont pas de simples symboles. Un symbole est une forme arbitraire qui fait référence à une signification externe, alors que les emojis véhiculent leur représentation graphique propre, tout en ne fournissant aucune garantie sur ce que cette représentation sera à la réception.
Par exemple, pour limiter l’incitation à la violence, un géant des réseaux sociaux avait choisi de modifier l’apparence de l’emoji “revolver” pour en faire un simple pistolet à eau. Les nouveaux modèles de téléphone sont sortis dans la foulée, mais les utilisateurs n’ont pas tous changé leur téléphone dans l’année ! Ainsi pendant quelques temps, l’emoji “pistolet à eau” partagé dans un message à esprit ludique avait de fortes chances d’être transformé en emoji “revolver”, avec une connotation bien différente.
Autre exemple parlant : le drapeau du Taiwan n’est pas visible sur un iPhone si ce dernier se trouve en Chine.

On aime souvent croire, lorsqu’on œuvre dans le domaine de l’informatique, que l’on peut faire son travail en évitant de faire de la politique. Et c’est louable. Mais, tout informaticien devrait connaître les mécanismes qui se cachent derrière ce langage mythique qu’est le texte ordinaire. Je dis bien mythique, car le texte ordinaire n’existe pas. N’oubliez pas vos indicateurs de charset 😉

.

Share our news :

-