Comment fonctionnent les QR Codes ?

Vous avez sans doute déjà vu et même peut-être scanné un QR Code sans vraiment savoir comment ceux-ci fonctionnent. Il suffit de sortir votre téléphone, de scanner le code et vous êtes « magiquement » redirigé vers un contenu. Le Centre NTE s’en sert régulièrement pour inclure des liens web vers les services sur les affiches à imprimer.

Mais comment cela fonctionne concrètement ?

Pour comprendre le fonctionnement d’un QR code, il faut tout d’abord s’intéresser à sa structure :

Par souci de simplicité, les termes anglais présents sur le schéma ont été préservés dans la suite de cet article.

Le Timing Pattern, facilement identifiable à l’oeil nu grâce à son alternance de modules noirs et blancs est situé à la sixième ligne et la sixième colonne. Il permet de définir la largeur d’un module, nous reviendrons sur les modules plus loin.

La combinaison des Finder Pattern, des Separator et de la Quiet Zone permet aux scanners de facilement situer le QR Code. Les Finder Pattern déterminent les coins du QR code, les Separator permettent de bien séparer les Finder Pattern du contenu et la Quiet Zone évite que le scanner mélange le QR code avec le contenu situé autour de celui-ci. Il est ainsi possible de scanner un QR Code même si celui-ci est placé sur un contenu très fourni.

Les Alignment Patterns sont également là pour aider le scanner, ils permettent de déterminer l’orientation du code et ainsi la possibilité de scanner un QR code de n’importe quel angle.

Le Format Information contient 2 informations vitales au fonctionnement :  le niveau de correction d’erreur et le Mask Pattern.

La correction d’erreur permet au code d’être scannable même si celui-ci est endommagé (jusqu’à 30% d’endommagement) grâce à l’algorithme Reed-Solomon. Il existe 4 niveau de correction d’erreur :

  • Low (L) : 7%
  • Medium (M) : 15%
  • Quartile (Q) : 25%
  • High (H) : 30%

Le système de Mask Pattern permet quant à lui de rendre le code plus facilement scannable en choisissant la meilleure répartition des modules en fonction de leur couleur (noir ou blanc).

Le Module est l’unité fondamentale d’un QR code. Il s’agit de ces petits blocs noir ou blancs. Ces blocs stockent l’information de manière linéaire et forment ainsi les lignes et les colonnes du code. Les données sont codées à partir du coin en bas à droite et la direction va de bas en haut sur une largeur de 2 modules. La direction est inversée lorsqu’on arrive en haut et ainsi de suite.

Le nombre de lignes et colonnes de modules est déterminé par le numéro de version, situé dans le Version Information.
Un QR code aura toujours autant de lignes que de colonnes, mais leur nombre est déterminé par la version de celui-ci :

  • La Version 1 comprend 21 lignes et 21 colonnes
  • La Version 2 comprend 25 lignes et 25 colonnes

Il y a 40 versions en tout, plus la version est élevée plus il y aura de lignes et de colonnes.

Il est possible d’encoder les données dans 4 modes différents : numérique, alpha-numérique, binaire et Kanji. La capacité de stockage diffère en fonction du numéro de version et du mode d’encodage.

Vous savez maintenant presque tout de ces petits bouts de code bien pratiques.
En guise d’anecdote de conclusion, sachez que le QR code a été créé par l’entreprise japonaise Denso-Wave en 1994 pour suivre le chemin des pièces détachées dans les usines de Toyota.


Grandement basé sur : How QR Codes work: Everything you need to know
Autre source : Code QR – Wikipedia

Vous aimerez aussi...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *