Guide visuel simple pour comprendre les codes QR : anatomie, détection, génération et correction d'erreurs.
info
Qu'est-ce qu'un code QR ?
Un code QR (Quick Response) est un type de code-barres bidimensionnel inventé en 1994 par la société japonaise Denso Wave. Contrairement à un code-barres traditionnel qui ne stocke les informations que dans un sens, le code QR stocke des données horizontalement et verticalement, ce qui lui permet de contenir beaucoup plus d'informations dans un petit espace.
Aujourd'hui, scanner un code QR fait partie du quotidien : on les trouve dans les restaurants, les affiches, les produits, les cartes de visite et même dans les cryptomonnaies. Mais comment fonctionne-t-il vraiment à l'intérieur ?
grid_on
Anatomie d'un code QR
Avant de comprendre comment un code QR est scanné ou généré, il est utile d'en connaître les parties :
Motifs de position (Finder Patterns)Les trois grands carrés dans les coins supérieur gauche, supérieur droit et inférieur gauche. Ils permettent au scanner de détecter le code QR quelle que soit son orientation ou l'angle de la caméra.
Motif d'alignement (Alignment Pattern)Un carré plus petit dans le coin inférieur droit. Il aide à corriger la distorsion lorsque le code est sur une surface courbée.
Motifs de synchronisation (Timing Patterns)Deux rangées de modules alternés (noir-blanc) reliant les motifs de position et permettant de calculer la taille de chaque module.
Zone de donnéesLe reste de la grille : chaque petit carré noir ou blanc représente un bit d'information (1 ou 0).
Zone calme (Quiet Zone)Une bordure blanche autour du code qui aide le scanner à le distinguer de l'arrière-plan.
qr_code_scanner
Comment un code QR est scanné
Lorsque vous pointez votre caméra sur un code QR, plusieurs choses se produisent en quelques millisecondes :
Capture
arrow_forward
Localisation
arrow_forward
Perspective
arrow_forward
Bits
arrow_forward
Décodage
1
1. Capture d'imageLa caméra capture continuellement des images vidéo. Chaque image est une grille de pixels avec des valeurs de luminosité.
2
2. Localisation des motifsLe logiciel recherche les trois carrés de position (Finder Patterns). Leur rapport caractéristique (1:1:3:1:1) les rend uniques et faciles à identifier même sous des angles difficiles.
3
3. Correction de perspectiveÀ partir des trois coins détectés, l'algorithme calcule une transformation mathématique pour redresser le code même si la caméra est inclinée.
4
4. Lecture des modulesLe code étant aligné, le logiciel lit chaque module et le convertit en bit : noir = 1, blanc = 0.
5
5. Décodage et correction d'erreursLes bits sont regroupés en blocs et Reed-Solomon est appliqué pour corriger les éventuelles erreurs. Enfin, les données sont décodées selon le mode (numérique, alphanumérique, binaire ou kanji).
grid_view
Comment un code QR est généré
Créer un code QR est le processus inverse de le scanner :
Entrée
arrow_forward
Encodage
arrow_forward
Reed-Solomon
arrow_forward
Matrice
arrow_forward
Image
1
1. Saisie des donnéesVous entrez le texte, l'URL ou autre contenu que vous souhaitez encoder.
2
2. Encodage binaireLe logiciel sélectionne le mode d'encodage le plus efficace et convertit les données en une séquence de bits.
3
3. Correction d'erreursDes bits de redondance sont ajoutés via Reed-Solomon. Plus le niveau choisi est élevé (L, M, Q ou H), plus de bits supplémentaires sont ajoutés et plus le code est résistant.
4
4. Construction de la matriceLes informations sont placées dans une grille suivant un motif en spirale, les motifs de position sont ajoutés et un masque est appliqué pour éviter de grandes zones de même couleur.
5
5. RenduLa grille finale est convertie en l'image que vous téléchargez : PNG, SVG, PDF…
shield
Correction d'erreurs : pourquoi les QR résistent aux dommages
L'algorithme Reed-Solomon permet à un code QR d'être lisible même si jusqu'à 30% de sa surface est endommagée, sale ou couverte. C'est pourquoi vous pouvez placer le logo de votre entreprise dessus sans qu'il cesse de fonctionner, à condition d'utiliser le niveau H et de ne pas couvrir plus de 25-30%.
Les quatre niveaux disponibles sont :
L
7%
Usage numérique, écrans. Code le plus léger et petit.
M
15%
Usage général. Bon équilibre taille/résistance.
Q
25%
Impression avec usure ou saleté probable.
H
30%
Avec logo dessus ou environnements très défavorables.
quiz
Questions fréquentes sur les codes QR
Un code QR (Quick Response) est un type de code-barres bidimensionnel inventé en 1994 par la société japonaise Denso Wave. Il stocke les informations horizontalement et verticalement grâce à des modules noirs et blancs, ce qui lui permet de contenir jusqu'à 7 089 caractères numériques ou 4 296 caractères alphanumériques dans un petit espace.
Un code QR encode les données sous forme d'un motif de modules sombres et clairs dans une grille. Lorsque la caméra le capture, le logiciel détecte les trois motifs de position (les carrés des coins), corrige la perspective, lit chaque module comme un bit (noir = 1, blanc = 0) et applique l'algorithme Reed-Solomon pour corriger les erreurs avant de décoder les informations.
Grâce à l'algorithme Reed-Solomon, un code QR peut récupérer les informations même si jusqu'à 30% de sa surface est endommagée, sale ou couverte. C'est pourquoi il est courant d'ajouter un logo sur le code sans qu'il cesse d'être scanné correctement, à condition d'utiliser le niveau H et de ne pas couvrir plus de 25-30%.
Cela dépend du type de données et du niveau de correction d'erreurs. Le maximum théorique est : 7 089 chiffres, 4 296 caractères alphanumériques, 2 953 octets binaires ou 1 817 caractères kanji. Pour un usage pratique, gardez les URLs courtes et les textes concis pour que le code soit plus dense et facile à scanner en petite taille.
Scanner c'est lire : la caméra analyse l'image et extrait les informations encodées. Générer est le processus inverse : le logiciel prend vos données (texte, URL, WiFi…), les convertit en bits, ajoute de la redondance Reed-Solomon et construit la grille de modules que vous pouvez imprimer ou partager numériquement.
Pas toujours. Un code QR peut pointer vers une URL malveillante ou déclencher une action non souhaitée (appel, paiement, téléchargement). Avant de visiter le lien, vérifiez l'URL affichée par le scanner. Notre scanner vérifie les URLs via Google Safe Browsing et VirusTotal et vous avertit si la destination est dangereuse.
C'est la quantité de redondance ajoutée pour que le code reste lisible même s'il est partiellement endommagé. Il existe quatre niveaux : L (7% de tolérance, code le plus dense et léger), M (15%, usage général), Q (25%, pour impression avec usure probable) et H (30%, idéal pour ajouter des logos dessus). Plus le niveau est élevé, plus le code est grand.