Un fichier qui explique ses entrées

Sur le papier, un service d'archives écrit sur la chemise elle-même : la référence, le bureau d'où elle vient, la date après laquelle elle peut être détruite. Numérisez la chemise et cette écriture n'a plus nulle part où aller. Écrivez-la à l'intérieur du fichier et il arrive pire — le fichier cesse en silence d'obéir aux règles d'archivage qu'il dit suivre, et le jour où quelqu'un le contrôle, il revient refusé.

Toute règle d'archivage connaît un titre et un auteur ; une date de conservation n'appartient qu'à vous. Ce fichier contient donc ces entrées et, à côté de chacune, une description : comment elle s'appelle, comment elle se lit, à qui elle s'adresse, ce qu'elle signifie. C'est cette description qu'un contrôleur cherche en premier, et c'est sur elle qu'il accepte un renseignement que personne d'autre que vous n'a inventé. La page imprime exactement les cinq mêmes entrées que le relevé caché à l'intérieur — une référence, un département, une date en 2056, un classement et un nombre de feuillets — pour que ce qu'une personne lit et ce qu'une machine lit ne puissent pas s'écarter.

Ce que montre cet exemple

  • Cinq entrées inventées par un service d'archives, dont une date en 2056 avant laquelle rien ne peut être détruit.
  • Chaque entrée arrivant avec sa propre description, et c'est sur elle qu'un contrôleur l'accepte.
  • La page et le relevé caché imprimés depuis une seule liste, pour qu'ils ne puissent pas se contredire.

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

Un fichier qui explique ses entrées, première page

Optimisé, ce document pèse 24.6 ko — au moins 75 % de moins que ce qu'écriraient la plupart des générateurs de PDF

Le document est plus léger qu'avant, et chaque page a exactement le même aspect. Voir la ligne de ce document dans le tableau de tous les exemples.

Des exemples voisins de celui-ci

Une feuille qui mesure ce qu'elle annonce

Trois règles — centimètres, pouces et points — sur une page qui dit à ce qui l'imprime de la sortir exactement à la taille où elle a été dessinée, et de ne rien proposer d'autre. Posez un mètre ruban sur la feuille imprimée et vous pourrez vérifier vous-même.

Un registre dont chaque page dit d'où elle vient

Deux séances reliées en un seul fichier. Chaque page a son propre relevé — ce qu'elle est, de quelle main elle a été écrite, le jour où elle l'a été — la photographie de la deuxième page en a un aussi, et chaque transcription est rattachée à la page qu'elle transcrit plutôt qu'au fichier entier.

Un bon de livraison qui connaît sa commande

Chaque ligne du bon contient la commande pour laquelle elle a été prélevée, le code article et l'étagère d'où elle vient, et n'imprime rien de tout cela. L'endroit où le chauffeur signe contient la tournée et la camionnette, et un autre, à côté du repère de pliage, ne contient rien que son propre emplacement.

Un document qui se lit à voix haute

Deux pages qui contiennent une copie d'elles-mêmes que personne ne voit : voici un titre, voici un tableau, et voici dans quel ordre les lire. Le logiciel qui lit le document à voix haute suit cette copie plutôt que l'ordre où les traits ont été dessinés, et saute le titre courant. Sur la page, rien ne change à l'œil.

Une liste dont les images parlent aussi

Une liste de pièces dont la première colonne est une image plutôt qu'un mot. Chaque image donne la phrase qu'on entend à sa place, si bien que rien de cette liste n'échappe à qui ne la voit pas. Sur la page, les images restent de simples images.

Factur-X : la facture électronique

La facture électronique que la loi française impose depuis septembre 2026 : un seul fichier, une page qu'une personne lit et la même facture à l'intérieur en XML. Plus rien à rapprocher ensuite, puisqu'il n'y a jamais qu'une seule facture.

Tous les exemples, par sujet