Une page dont les lettres coûtent un octet chacune

Une banque qui imprime deux millions de relevés par nuit paie chaque octet deux fois : une fois sur le disque où le tirage est conservé, une fois sur le réseau où il circule. Une lettre s’écrit normalement dans un fichier sur deux octets, parce que c’est ce qu’il faut pour atteindre n’importe quelle lettre de n’importe quel alphabet au monde. Un relevé en français n’a besoin que d’une centaine de ces lettres, et le second octet vaut zéro sur chacune des lettres du tirage.

Sur demande, le moteur attribue son propre numéro à chaque lettre qu’un document utilise, écrit la liste de ces numéros dans le fichier pour que le logiciel de lecture sache ce qu’il regarde, puis dépense un octet par lettre au lieu de deux. La page montre les trois lignes tracées des deux façons et imprime ce qu’a donné chacune, compté pendant que la page se traçait. Elle finit sur ce que la façon courte apporte en plus de la place : l’espace entre les mots devient quelque chose qu’un document peut élargir, c’est ainsi qu’on compose un texte justifié, et la façon longue n’a aucun moyen d’y parvenir. Une dernière ligne, en cyrillique, passe par une table de codes d’un octet désignée par sa norme, la page de codes Windows 1251, que les logiciels de lecture connaissent déjà.

Ce que montre cet exemple

  • Un octet par lettre au lieu de deux, sur chaque ligne de la fournée.
  • Le fichier contient sa propre liste de ce que chaque numéro représente.
  • L’espace entre les mots devient quelque chose qu’une ligne peut élargir.

Le code source complet

Rien n’est omis et rien n’est simplifié : c’est le programme exactement tel qu’il tourne, pour le développeur qui utilise cette bibliothèque. La troisième est la description elle-même : une simple liste de ce que la page doit dire, et c’est elle qu’on envoie au service.

Voir le code Rust Voir le code Python Voir le code JSON

Le document lui-même

Ouvrir le document en anglais Ouvrir le document en français Ouvrir le document en allemand Ouvrir le document en espagnol Ouvrir le document en italien Ouvrir le document en portugais

Exemples proches de celui-ci

Un PDF minimal

Deux pages identiques qui dessinent la structure d’une facture avec des traits et des rectangles, sans un mot de texte : le fichier fait une douzaine de kilooctets et n’incorpore aucune police.

Montrer la page un sans attendre le reste

Le même document écrit deux fois : une fois tel quel, une fois avec sa première page placée au début du fichier. La page donne, pour chacun des deux, le nombre d’octets qu’un navigateur doit avoir reçus avant d’afficher la page 1.

Chaque format de papier, sur sa page

Une page pour chaque format de papier que la bibliothèque connaît, de l’A0 à l’A6 ainsi que les formats américains, chacune avec sa taille en millimètres et en pouces ; puis des pages couchées ou à l’envers, et une banderole de dix mètres de long.

Un document qui se lit librement et demande à ne pas être copié

Une page qui s’ouvre sans mot de passe et s’imprime comme n’importe quelle autre, mais qui demande au logiciel de lecture d’interdire le copier-coller de son texte. Le texte est chiffré dans le fichier : un programme qui le lit octet par octet n’y trouve aucune phrase.

Un document qui demande un mot de passe pour s’ouvrir

Une page dont rien n’apparaît tant que son mot de passe n’est pas saisi : pas de première ligne, pas d’aperçu, aucune image d’elle nulle part. Le mot de passe est donné sur la page de l’exemple, pour que vous puissiez l’essayer.

Tous les exemples, par sujet