Un ticket de caisse sur un rouleau de papier

Une caisse de comptoir imprime sur un rouleau de 80 mm de large, et un rouleau n’a pas de bord du bas : le papier est coupé là où le panier s’arrête. La page fait donc la longueur de ce qui a été acheté, et aucun chiffre n’y est écrit d’avance. Une ligne vaut sa quantité fois son prix unitaire, la TVA de chaque taux est prise sur le TTC qui la contient, et la monnaie rendue est ce qui reste du billet tendu. Passez un article de plus et le rouleau grandit d’une ligne, les totaux toujours en dessous.

Le code-barres du bas est ce que le magasin lit quand le ticket revient — un retour, un échange, une garantie. Personne ne choisit son jeu à la main : la bibliothèque lit le numéro du ticket, n’y trouve que des chiffres, et l’écrit deux chiffres par symbole, 112 modules là où épeler le numéro caractère par caractère en prendrait 189. Dire s’il se lit revient à un scanner, et un scanner le dit : un décodeur est pointé sur la page rendue et relit le numéro.

Ce que montre cet exemple

  • Un rouleau de 80 mm de large, coupé aussi long que le panier le demande.
  • Six articles, la TVA rassemblée par taux, et le rendu de monnaie calculé sur le billet donné.
  • Le numéro du ticket écrit en code-barres, dans le jeu de caractères que la bibliothèque choisit pour lui.

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

Une facture commerciale

Une facture : chaque ligne facturée suit la précédente, les totaux se placent sous la dernière, et le QR code contient le virement. Le client le vise avec son téléphone, et son application bancaire propose la somme exacte sur le compte exact, sans rien retaper.

Un bon de livraison

Le bon qui voyage avec la marchandise : un code-barres en regard de chaque article, une case que le destinataire coche, et le code propre à l’expédition.

Un bulletin de paie

Un bulletin de paie : dix-huit lignes de cotisations, avec la part du salarié et celle de l’employeur, et pour chacune le montant du mois puis le cumul depuis janvier. Chaque valeur est rattachée à sa ligne et à sa colonne, pour les logiciels qui lisent la page à voix haute.

Un contrat de prestation de deux pages

Un contrat de prestation sur deux pages où aucune clause n’est jamais coupée en deux par un changement de page, et qui finit par des champs de signature, de nom et de date remplies à l’écran.

Un certificat au format paysage

Un diplôme dont l’encadrement, le ruban et le sceau sont dessinés au trait plutôt que photographiés : net à toutes les tailles, et pour une fraction du poids.

Une carte d’embarquement

Une carte d’embarquement qui contient, sous forme de QR code, la seule ligne que lisent les portiques d’un aéroport — un caractère à la mauvaise place et elle est refusée.

Tous les exemples, par sujet