Un bibliothèque complète cachée dans le code source des dépôts Debian | Insolite | Le site de Korben

Un bibliothèque complète cachée dans le code source des dépôts Debian

par Korben ✨ -

Tiens, alors ça c’est rigolo ! Le projet deb-books vient de mettre en lumière une pratique assez fascinante, à savoir l’utilisation d’œuvres littéraires complètes comme données de test dans des dépôts Debian.

En général, quand je pense “dépôt Debian”, j’imagine des lignes de code impénétrables et des commentaires cryptiques et chelous qui feraient chialer un intégrateur HTML, mais certainement pas les œuvres complètes de William Shakespeare ou les aventures d’Alice au pays des merveilles.

Et pourtant !

Soutenir Korben

Le codeur Jakub Wilk a découvert que les sources Debian sont une sorte de bibliothèque d’Alexandrie numérique, où se cachent des classiques littéraires vieux de plusieurs siècles. Une sorte de Room of Requirement version geek qui n’attendait que le bon incantateur pour révéler ses trésors.

Mais alors… pourquoi cacher des bouquins dans du code source ??? C’est quoi encore ce délire ?

Soutenir Korben

Et bien c’est là que cet article devient intéressant ^^ !

Ces textes ne sont pas là par hasard ou par fantaisie littéraire de la part des devs Debian. Non, non, non, ils servent de données de test standardisées pour divers algorithmes et outils.

Par exemple, quand vous développez un algorithme de compression comme bzip3, vous avez besoin de textes avec des patterns naturels pour tester l’efficacité de votre algo. Et quoi de mieux que “Les Œuvres Complètes de William Shakespeare” pour ça ? Ce bon vieux Will offre en effet un corpus textuel varié, avec répétitions, richesse linguistique et motifs suffisamment complexes pour mettre votre algo à l’épreuve.

Soutenir Korben

De même, les textes comme “Les Aventures d’Alice au pays des merveilles” de Lewis Carroll se retrouvent dans les tests du projet snappy (compression) et des packages Golang.

C’est top pour tester tout ce qui est :

Compression sans perte (les patterns naturels du langage humain) • Algorithmes de recherche textuelle (xapian-core) • Outils d’encodage de caractères (icu4j) • Implémentations de structures de données (rust-radix-trie)

Soutenir Korben

Et c’est quand même plus classe de tester son code avec du Shakespeare qu’avec un bon vieux “Lorem ipsum dolor sit amet” répété 10 000 fois !

Voici donc un petit tour d’horizon complet des pépites littéraires triées par années, que Jakub a pu repérer dans cette bibliothèque clandestine :

Soutenir Korben

Maintenant, si vous voulez explorer vous-même cette étrange collection littéraire, rien de plus simple.

D’abord, installez les outils nécessaires :

sudo apt install apt-source devscripts

Configurez les sources Debian (si ce n’est pas déjà fait) :

echo "deb-src http://deb.debian.org/debian/ stable main" | sudo tee -a /etc/apt/sources.list
sudo apt update

Soutenir Korben

Puis téléchargeons les sources d’un package contenant un texte intéressant, comme snappy qui héberge Alice au pays des merveilles :

apt-get source snappy
cd snappy-*
find . -name "*.txt"

Et voilà ! Vous devriez trouver plusieurs fichiers .txt, dont certains sont des fameux classiques littéraires. Et pour lire Alice :

less testdata/alice29.txt

Ce qui est fascinant, c’est que ces fichiers servent finalement de corpus standard dans l’industrie du dev. En utilisant toujours les mêmes textes, les développeurs peuvent facilement comparer les performances de leurs algorithmes avec ceux des autres. Comme une sorte de benchmark littéraire informel qui s’est imposé naturellement au fil du temps.

Ces textes ont aussi l’avantage d’être principalement dans le domaine public, ce qui évite les problèmes de licence et ils offrent une variété de styles, d’époques et de complexités linguistiques capables de mettre à l’épreuve différents aspects des programmes open source. Certains diraient que c’est une forme moderne de préservation culturelle, d’autres y verraient simplement une solution pratique à un problème technique. Moi, j’y vois surtout une preuve que les plus barbus des barbus adorent aussi la littérature !

Donc, voilà si vous cherchez des livres gratuits en anglais, y’a quelques trucs ici. loool. Et si vous voulez planquer certains de mes articles dans vos codes sources, n’hésitez pas hein :)