9,90 € TTC
p. 06 Advent of code, jour 7
p. 12 Quelques réalisations basées sur l'algorithme PEAC
p. 30 Rocket : construisez une API REST en Rust
p. 38 GitHub équipé d’un Sonar
p. 54 Modularité de l'authentification sous OpenBSD
p. 64 Visualisez les données grâce à l’alphabet Braille !
p. 66 Les codes fantastiques : fusion en chaîne
p. 68 aStrA : vers de vraies chaînes de caractères en C !
John Connor n’avait pas pensé à ça...
Un récent billet [1] de Niccolò Venerandi, développeur KDE Plasma, met l’accent sur un problème impactant certains sites web : les bots/scrapers/crawlers IA/LLM les surchargent au point d’en pénaliser le fonctionnement, ainsi que celui des projets associés.
Sans trop de surprise, l’origine de la perturbation semble clairement et principalement venir d’entités chinoises, choisissant d’ignorer totalement les directives du robots.txt et allant parfois même jusqu’à délibérément ajuster leur user agent pour contourner les mesures de protection. Les effets sont si conséquents que le projet GNOME a décidé d’utiliser Anubis [2] fin 2024, présentant un challenge au navigateur, lui demandant une « preuve de travail » pour lui autoriser l’accès, et ce, de façon transparente pour un vrai humain.
Le billet détaille clairement les choses, chiffres à l’appui et on en arrive à ce demander si la « théorie de l’Internet Mort », à défaut d’être déjà juste, n’est pas sur le point de se vérifier définitivement. Cela me fait tristement penser à Usenet, longtemps source de connaissances et d’interactions (souvenez-vous des recettes de FMBL) qui n’est aujourd’hui plus que l’ombre de lui-même, après n’être devenu un temps rien d’autre qu’un média d’échange de volumineuses données binaires (NZB, Yenc, uuencode, etc.).
Aujourd’hui, la plupart des ISP n’offrent même plus d’accès à Usenet/NNTP et la perspective que le Web puisse avoir une destinée similaire, ses utilisateurs ne le percevant plus qu’au travers d’assistants personnels, me paraît aussi déprimant que plausible. Peut-être faudra-t-il, à ce moment, revenir à quelque chose de proche des BBS d’antan, chiffrés, protégés et exclusifs, sur fond de « si vous accédez à ce serveur, vous êtes la résistance »...
Denis Bodor
[1] https://thelibre.news/foss-infrastructure-is-under-attack-by-ai-companies/
[2] https://github.com/TecharoHQ/anubis
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...
La revue de code représente une pratique essentielle dans le processus de développement logiciel. Cet article illustre l'amélioration du processus en intégrant les retours de l’analyseur statique SonarQube Cloud au serveur de source GitHub. Pour cela, une application minimaliste développée en Rust, exécutée à l'aide d’AWS, facilitera cette intégration.
Qu’est-ce qui caractérise un langage de haut niveau ? On peut dire que celui-ci doit au moins gérer les chaînes de caractères facilement et sans aucun risque. BASIC le faisait il y a soixante ans. N’importe quel langage courant le fait actuellement. Pourtant, le précédent article a démont(r)é [1] que le C n’en fait pas partie, surtout à cause des fonctions printf(3) et assimilées : elles procurent une illusion d’aisance qui s’effondre vite et c’est un vrai nid à failles. Nous avons suggéré quelques solutions que nous allons mettre en œuvre ici, grâce notamment au format des chaînes alignées [2] étendu avec des attributs, d’où le nom aStrA. Cela demande un peu de bricolage pour les réaliser en C, mais c’est un premier pas en avant, une base qui ne demande qu’à évoluer.
Si vous êtes coutumier de GNU/Linux, ou même de FreeBSD, vous connaissez sans doute PAM. Il ne s'agit pas du diminutif de Pamela (Rose ?), mais des Pluggable Authentication Modules, permettant de varier les contraintes d'authentification en fonction des services (login, SSH, su, etc.) et des besoins. Ce mécanisme, doublé d'une API, hérité de Sun Microsystems n'existe pas sous OpenBSD et est remplacé par le classique système de classes, et entre autres, leurs configurations via /etc/login.conf...