Extrait de l'émission CPU release Ex0193 : Datamatrix, QR-code et autres damiers.
Bonjour, Enfant du Futur Immédiat, toi qui t'amuse à collectionner ces damiers abstraits dans la mémoire de ton photophone. T'as raison : c'est une super idée d'échanger tes doubles avec ses camarades à l'école !
On l'a vu à la fin de notre émission sur les code-barres, construire une application qui lise un de ces codes-barre et qui les lient à d'autres informations, [ générique de « c'est pas sorcier »] Ce n'est pas sorcier : suffit de lire la spec !
Et on est très vite arrivé aux limites de la lecture d'un code-barre conventionnel : le nombre d'informations stockées dedans, à une époque où tous les appareils de lecture n'avaient pas forcément la connectivité pour compléter les informations. Ben oui : dans les années 1990s, la plupart des appareils mobiles ne sont pas des téléphones et n'ont pas le wi-fi. En gros, on n'avait pas un lien vers une adresse dynamique, mais uniquement la référence à une base de donnée embarquée.
Les risques sont donc nombreux que les informations ne soient pas à jour, ne soient pas cohérentes ou utilisent un mauvais référentiel.
Et d'un autre côté, avoir un message embarqué indépendant de l'accès à une base centralisée, c'est permettre au grand public de pouvoir lui aussi scanner [bip], décoder, utiliser voir de générer.
Bref, de transformer un standard industriel en standard public.
Dans les années 1980, les lecteurs de code-barres se sont très bien intégrés dans l'industrie, mais reposent sur une technologie qui ne peuvent contenir plus de 32 chiffres dans une information. L'une des problématiques, par exemple, est d'écrire une adresse et un routage.
Un autre exemple assez particulier d'usage : on a vu dans une précédente émission qu'il existe un format de données, le GS1-128, qui flirte avec la limite de taille pour un code-barre. Et que c'est un format container avec plusieurs informations agrégées. Le GS1-128 fut le support solution pour les obligations de traçabilité des médicaments, stockant le code CIP (Code Identifiant de Présentation) qui identifie la référence, le numéro de lot et la date d'expiration, des données ultra-importantes en cas de retrait pour des raisons sanitaires. Ça fait à peu près 31 symboles. Or les industriels ont parfois envie d'en mettre plus, mais de scanner qu'une seule fois l'emballage.
À côté des diodes lasers, les capteurs CCD commencent à se démocratiser, grâce aux débouchés dans les caméras vidéos familiales… et la vidéo-surveillance. Ces capteurs deviennent donc économiquement intéressants même si leurs performances sont encore modestes.
Pour augmenter la densité de lecture, avec le prix modique des capteurs CCD et les capacités croissantes de calcul embarqué, quelqu'un a eu l'idée de faire entrer le code-barre dans une nouvelle dimension : la 2D !
L'astuce pour élever au carré le nombre d'informations a été de la coder non plus sur une ligne, mais dans une grille. La 2D va donc nous faire passer d'une ligne simple à un quadrillage. On a toujours la robustesse de lisibilité du code-barre, tant qu'on reste dans un contraste raisonnable et une impression suffisamment propre.
Et on a vu une réelle ruée aux œufs d'or puisqu'une multitude de formats concurrents vont apparaître : Datamatrix, QR-code mais aussi Aztec, le HCCB de Microsoft-Tag et une centaine d'autres… Et on verra que cela ne va pas faciliter les choses quand certains nouveaux opérateurs vont tenter de créer de nouvelles contraintes.
Enfant du Futur Immédiat, après une période d'or il y a une dizaine d'année, le regain d'intérêt pour le QR-code en Europe et venu avec les passes sanitaires lors de la pandémie de Covid. On ne va pas débattre ou revenir sur l'utilité ou non de ces mesures, mais nous allons découvrir en quoi le vecteur que sont les code-barres 2D ont changé à leur manière les moyens de transmettre des informations, et de voir le monde.
Texte : Da Scritch
Illustrations musicales : générique de l'émission « C'est pas sorcier », D.R.
Illustration graphique : a japanese person using its mobile phone on a qr-code
généré via Dall-E 2, reversé en CC-NC-SA