7,90 € TTC
p.06 Quand un petit projet dépasse son concepteur...
p.10 Détection d’objets abandonnés
p.34 L’hyperconvergence, Open Source
p.52 Mise en œuvre du protocole Modbus (RTU) sur WaRP7 via Qt5
p.68 Object Storage sur Raspberry Pi avec Docker
p.74 Créez et auto-corrigez vos QCM avec Auto Multiple Choice
p.82 Démystifier l’injection de dépendances en PHP
p.92 Protections des partages NFS par Kerberos
Ce mois-ci, je voulais revenir avec vous sur la manière dont nous nous exprimons, nous informaticiens, pour communiquer, non plus avec des machines, mais entre nous. Si des règles existent pour les ordinateurs, de manière à ce que l'information leur parvienne sans possibilité de compréhension approximative (et donc sans interprétation possible), il en va de même du français et, comme le disait Boileau en son temps : « Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire arrivent aisément. ». Tout comme un disque n'est pas un cercle, un langage de programmation n'est pas un langage de description ! Encore récemment un étudiant me parlait du langage html comme d'un langage de programmation or, par définition, un langage de programmation contient des structures conditionnelles et des structures de boucles… qui sont absentes du html comme du LaTeX, etc. Il ne s'agit donc pas d'un langage de programmation, mais bien d'un langage de description, permettant de spécifier comment structurer un document, la nuance est importante !
Un autre exemple, plus mathématique, déjà abordé en 2016 (GLMF n°191) : nombre de personnes ne font toujours pas la distinction entre les préfixes décimaux et binaires pour quantifier la mémoire (préfixes introduits dans la norme IEC 60027-2 de 1999, soit depuis bientôt 20 ans !). Lorsque l'on parle d'un « kilo » octet on pense à 1024 octets, mais d'après le Système International d'unités, il s'agit de 1000 octets. D'où les préfixes binaires qui sont des puissances de 2 et permettent de quantifier par exemple 1024 octets et 210 octets. Pour différencier les deux notations, on ajoute un « i » (kibi-octet, etc.) et les Kio, Mio, Gio ou Tio remplaceront les ko, Mo, Go ou To. Entre 1 Go (109 octets) et 1 Gio (230 octets), il y a tout de même 7% d'erreurs ! Pourtant, nous voyons encore tous les jours des ko, Mo, etc. traîner dans des articles ou des documents. Nous sommes confrontés ici à une problématique de résistance au changement. En tant qu'informaticiens, nous savons combien il est important (et difficile) de la combattre… à nous de montrer l'exemple !
Pour finir, voici un autre exemple où cette fois-ci nombre d'informaticiens s'insurgent d'un mésusage de la langue française… qui en fait n'en est pas un. Je suis le premier à remplacer le terme « librairie » dans les articles par « bibliothèque ». À force d'être confronté au problème, je me suis demandé si, finalement, on ne pouvait pas accepter ce terme, si ce n'était pas moi qui faisais fausse route. Si l'on se questionne, dans une librairie comme dans une bibliothèque, quoi de plus normal que de trouver des livres ? Quelle est donc la différence entre ces deux mots ? Leur définition ne nous sera pas d'une grande utilité puisque l'on apprend qu'une bibliothèque est un « lieu où est rangée une collection de livres » (http://www.cnrtl.fr/definition/biblioth%C3%A8que)et qu'une librairie est définie, d'un point de vue littéraire, comme étant... une bibliothèque (http://www.cnrtl.fr/definition/librairie). Ça, c'est pour le sens premier (en général, une librairie a un sens marchand de nos jours, mais en bon français la « librairie du roi » désigne sa bibliothèque). En informatique, une bibliothèque est une « collection de programmes et de sous-programmes standards soigneusement testés, au moyen de laquelle on peut résoudre plusieurs types de problèmes ou de parties de problèmes ». Mais dans ce domaine, lorsque quelqu'un parle de librairie, on va tout de suite penser qu'il s'agit d'un anglicisme, d'une traduction fausse du terme anglais library ; nombre de personnes hurleront à l'hérésie. Pourtant, d'un point de vue purement formel, si A → B et que A = C, alors C → B... ce qui revient à dire que si « bibliothèque » → « collection de programmes » et que « bibliothèque » = « librairie », alors « librairie » → « collection de programmes ». Je pense donc qu'un peu de tolérance serait de mise dans ce domaine et je suis le premier à faire mon mea-culpa pour l'ensemble des auteurs que j'ai injustement corrigés.
On pourrait trouver encore bien des pièges à détailler, mais l'on peut voir que dans un domaine déjà semé de bugs et de problèmes de compatibilité, il n'est pas toujours évident d'exprimer correctement et précisément sa pensée. À nous donc de faire un effort sur notre langage pour être sûrs de bien nous comprendre !
Sur ce, je vous souhaite une bonne lecture et je vous retrouverai avec plaisir le mois prochain.
Tristan Colombo
GNU/Linux Magazine s'adresse aux professionnels et aux particuliers désireux de mieux maîtriser les techniques et problématiques liées à la programmation et à l’utilisation de solutions open source. Tous les deux mois avec ses articles techniques, la publication couvre les thématiques suivantes : programmation système, algo, bas niveau, sécurité du code, développement web...
Un des risques les plus connus du grand public dans les gares est le fameux bagage abandonné (et heureusement le plus souvent oublié par son propriétaire). Comment faire pour détecter qu’un bagage a été abandonné ? Le sujet est loin d’être simple...