# Code QR

Un code QR (en anglais QR code), en forme longue quick response code (« code à réponse rapide »), est un type de code-barres à deux dimensions constitué de modules-carrés noirs disposés dans un carré à fond blanc. Ces points définissent l'information que contient le code. Ce dessin, lisible par machine, peut être visualisé sur l'écran d'un appareil mobile ou imprimé sur papier. Il existe d'autres formats de code-barres deux dimensions au fonctionnement similaire, comme le Flashcode (En France, les exploitants de réseaux de téléphonie mobile ont créé le format Flashcode, mais ils sont les seuls à l'utiliser) ou encore le 2D-Doc, confondus avec le code QR.
Le QR code a été inventé en 1994 par Masahiro Hara, ingénieur chez Denso-Wave, pour améliorer la traçabilité des pièces dans les usines Toyota. Sa rapidité de lecture et sa robustesse face aux dommages, tels que les taches d’huile, en ont fait une solution pratique pour les chaînes de production. Mis sous licence libre dès 1999, le QR code a pu être adopté dans des domaines très variés, dépassant largement l’industrie automobile.
QR (abréviation de l'anglais quick response, réponse rapide) signifie que le contenu du code peut être décodé rapidement après avoir été lu par un lecteur de code QR installé sur un téléphone mobile, un smartphone, une tablette tactile ou encore une webcam. Son avantage est de pouvoir contenir plus d'informations qu'un code à barres, et surtout des données directement reconnues par des applications, ce qui permet d’effectuer facilement différentes sortes d’actions, entre autres :
* Aller sur un site Internet, mettre l'adresse d'un site en marque-page ou montrer un point géographique sur une carte telle que OpenStreetMap ;
* Regarder une vidéo en ligne ou un contenu multimédia ;
* Se connecter à une borne Wi-Fi
* Déclencher un appel vers un numéro de téléphone ou envoyer un SMS ;
* Envoyer un courriel ;
* Faire un paiement direct avec un téléphone mobile ;
* Ajouter une carte de visite virtuelle (vCard) à une liste de contacts, ou un rendez-vous ou un événement (iCalendar) à un agenda électronique ;
* Afficher un texte ou rédiger un texte libre (sa version la plus grande permettant d'inclure un texte d'environ 500 mots) ;

## Histoire
### Origine

Le code QR a été créé en 1994 par Masahiro Hara, ingénieur de l'entreprise japonaise Denso-Wave, pour suivre l'itinéraire des pièces détachées dans les usines Toyota. Les codes-barres classiques présentaient plusieurs limitations : faible capacité d’information, nécessité de scanner plusieurs codes pour une seule pièce, et sensibilité aux dommages, tels que les taches d’huile, causant des erreurs de lecture.
L’idée du design est née lors d’une pause-déjeuner. Pendant une partie de go, Hara a remarqué que les motifs noirs et blancs du jeu pourraient être utilisés pour encoder de grandes quantités d’informations. Inspiré par cette observation, il a conçu un système de code à deux dimensions capable de stocker 200 fois plus de données qu’un code-barres traditionnel. Grâce à un mécanisme intégré de correction d’erreur, le QR code reste lisible même si 30 % de sa surface est endommagée. Hara a déclaré : « Mon but était de simplifier la vie des autres. »
Initialement appelé "ND code" (pour Nippon Denso), il a été renommé "QR code" pour Quick Response, soulignant sa rapidité de lecture. Il est rendu public en 1999, lorsque Denso-Wave publie le code QR sous licence libre. Cela contribue à la diffusion du code au Japon. Hara a expliqué : « Si nous avions déposé un brevet, le code ne se serait sans doute pas diffusé au-delà du milieu automobile. » Par la suite, le code QR prend un réel essor avec l'avènement des smartphones. À la fin des années 2000, il devient l'un des codes bidimensionnels les plus populaires dans le monde, et les applications informatiques de lecture de codes QR sont souvent préinstallées par les fabricants dans leurs téléphones mobiles. Au Japon, cette pratique était déjà répandue en 2003.
Il existe aussi de nombreux autres fournisseurs de générateurs et de lecteurs.

### Normes et licences

En 1999, tout en conservant les droits du brevet, Denso-Wave accorde l'utilisation du code QR avec une licence libre, défini et publié comme norme ISO.
* En octobre 1997, publication du standard AIM (Association for Automatic Identification and Mobility), renouvelé en 1999.
* En 1999, publication du standard japonais JIS X 0510.
* En juin 2000, publication de la norme ISO/CEI 18004.
* En novembre 2004, approbation du Micro QR code par la norme JIS X 0510:2004.
* Le 1er septembre 2006, la norme ISO/CEI 18004:2006 est renouvelée.
* Le 1er février 2015 la norme ISO/IEC 18004:2015 est publiée.
* Le 15 août 2024, la norme ISO/IEC 18004:2024 est publiée.
Du côté applicatif, il y a des variations entre les mises en œuvre. NTT Docomo instaure de facto la norme pour le codage des URL, des informations de contact et d'autres types de données$^,$. Le projet open source Zxing publie un guide des normes de codage de l'information dans les codes-barres.

## Principe de fonctionnement
### Structuration des informations

L'unité fondamentale d'un QR code, plus petit bloc noir ou blanc, est le module.
Le QR code est divisé en plusieurs zones permettant d'organiser les données$^,$ :
Les position pattern (motifs de position) sont les 3 gros carrés situés dans les coins supérieurs et dans le coin inférieur gauche. Ils permettent au scanner de bien repérer le QR code. Ils sont formés d'un carré noir de largeur 3 modules, lui même entouré d'un espace blanc de largeur 1 module, lui même finalement entouré d'un espace noir de largeur 1 module. Le position pattern est séparé du reste des données par un espace blanc de largeur 1 module.
Les alignement pattern ont également pour but d'aider le scanner à déterminer l'orientation du QR code. Ils sont formés sur le même schéma que les position pattern, mais en plus petits : un seul module noir, entouré d'un carré blanc de largeur 1 module, puis d'un carré noir de largeur 1 module. Le nombre d'alignement pattern requis dépend de la version du QR code.
Les timming pattern sont de deux lignes pointillées (une colonne et une rangée), présentant une alternance de modules noirs et blancs et situées à la sixième ligne et la sixième colonne. Ces deux lignes permettent au logiciel de localiser les début et fin des colonnes et des rangées, et de définir la largeur d’un module. Une fois ces informations obtenues, le logiciel peut calculer l'emplacement des pixels à lire et la lecture d'un seul pixel suffit à lire un bit d'information. La lecture est donc rapide puisque le logiciel peut lire un nombre réduit de pixels, d'où le nom de réponse rapide, dit code QR.
La version information est un emplacement réservé pour définir le nombre de lignes et colonnes (un code QR a un nombre identique de ligne et de colonnes). Il existe différentes versions du code QR. Le numéro de version définit le nombre de colonnes et lignes du QR code, et le nombre de caractères pouvant être codé par celui-ci, allant de 25 à 4 296 caractères. Le nombre d'alignement pattern dépend également de la version du QR code.
* Différentes versions de Code QR pour un taux de redondance de 7 %
* Version 2, 25×25, 20-47 caractères.
* Version 3, 29×29, 35-77 caractères.
* Version 4, 33×33, 67-114 caractères.
* Version 10, 57×57, 174 à 395 caractères.
* Version 40, 177×177, 1 852 à 4 296 caractères.
Le format pattern permet de définir deux notions : le niveau de correction d'erreur et le masking, ou masquage en français. La correction d'erreur permet au code d'être lisible même s'il est abimé, grâce à l'algorithme de correction d'erreur Reed-Solomon. Il existe 4 niveau de correction d’erreur :
* Low (L) : 7%
* Medium (M) : 15%
* Quartile (Q) : 25%
* High (H) : 30%
Le masquage est utilisé pour décomposer des motifs dans la zone de données qui pourraient tromper un lecteur, tels que de larges zones blanches ou des fonctions manquantes qui ressemblent aux marques de localisation. Les motifs de masquage sont définis dans une grille répétée autant de fois que nécessaire pour couvrir entièrement le symbole. Les modules correspondant aux zones sombres du masque sont inversés. L'information de format est protégée des erreurs par un code BCH et par sa présence dupliquée dans chaque symbole QR.
Enfin, la quiet zone est une zone blanche de largeur 4 modules qui entoure tout le QR code et qui permet d'assurer que du textes ou des signes situés à l'extérieur du code ne puisse venir perturber la lecture de celui-ci.

### Lecture de l'information

Le format utilisé par le symbole de code QR est conditionné par une information de format codée sur 15 bits.
Le QR code permet de coder une chaîne de caractères. Il possède quatre modes d'encodage de l'information : numérique, alphanumérique, octet, et Kanji. Dans tous les cas, le texte sera converti en chaîne de bits (des 1 et des 0), mais en fonction du mode, la manière de décoder le texte sera différente.
Le jeu de données du message est placé de droite à gauche dans un motif en zigzag — c'est-à-dire de bas-en-haut puis alternativement de haut en bas — comme illustré plus bas. La lecture commence dans le coin en bas à droite, monte, se décale d'un module vers la gauche, redescends, se décale d'un module vers le gauche et recommence le même motif de lecture en boustrophédon. Pour les symboles QR les plus gros, cela est compliqué par la présence de motif de réalignement et l'utilisation de multiples blocs entrelacés de correction d'erreur.
* Information de format (version 1): Dans la figure ci-dessus, l’information de format est protégée par un code BCH (15,5), qui peut corriger jusqu'à 3 bits d'erreur. La longueur totale du code est de 15 bits, dont 5 sont des bits de données (2 pour le niveau de correction d'erreur et 3 pour le motif de masquage) et 10 sont des bits supplémentaires pour correction d'erreur. Le masque de format pour ces 15 bits est 101010000010010.
* Ordre de lecture (version 1). Le message est codé en utilisant un code Reed Solomon (255,249) (réduit à un code (24,18) par l'utilisation de remplissage ("padding")) qui peut corriger jusqu'à 3 octets d'erreur.
* Entrelacement de blocs dans un grand symbole QR (version 3). Le messages a 26 octets de donnée et est codé en utilisant deux blocs de code Reed-Solomon. Chaque bloc est un code Reed Solomon (255,233) (réduit à (35,13)), qui peut corriger jusqu'à 11 octets d'erreur en un simple burst, contenant 13 octets de données et 22 octets de "parité" ajoutés aux octets de données (13+22=35). Les deux blocs de code Reed-Solomon de 35-octets sont entrelacés pour corriger jusqu'à 22 octets d'erreur en un seul burst (résultant en un total de 70 octets (70=2×35). Le symbole permet une correction d'erreur de niveau H.

### Exemple de phases de décodages

Les images suivantes offrent de l'information sur le décodage des codes QR (version 3).
* 1 – Introduction
* 2 – Structure
* 3 – Disposition & Codage
* 4 – Niveaux & Masques
* 5 – Protocoles

### Capacités

Les codes QR peuvent contenir jusqu'à 7 089 caractères numériques ou 4 296 caractères alphanumériques, ce qui leur donne une capacité bien supérieure à celle du code-barres (une douzaine de caractères).
Capacité maximale de stockage de données (version 40, 177×177) :
* Caractères numériques : maximum 7 089 ;
* Caractères alphanumériques : maximum 4 296 ;
* Binaires (8-bits) : maximum 2 953 octets ;
* Kanji/Kana : maximum 1 817 caractères.

### Utilisation de la correction d'erreur à des fins artistiques.

Grâce à l'algorithme de correction d'erreur Reed-Solomon, les codes QR peuvent incorporer des images, telles que logos ou dessins, sans perdre les informations utiles à la lecture du code. Il suffit de transformer le code avec un logiciel de retouche d'image tant que le code continue de fonctionner. Le code contient jusqu'à 30 % de redondance.

## Comparaison avec d'autres types de codes matriciels
### Variantes QR

Il existe deux variantes au code QR :
* QR Micro (micro code QR), une version réduite du code QR normal, utilisé pour les applications qui nécessitent l'utilisation de petits espaces et une moindre quantité d'informations, par exemple, l'ID de cartes de circuits imprimés ou des composants électroniques. Il existe différentes formes de codes micros QR, la plus dense d'informations peut contenir jusqu'à 25 caractères alphanumériques ;
* code iQR, une variante en forme rectangulaire.
* Variantes de code QR
* Exemple de QR Micro.
* Code iQR.
Les lecteurs QR pour les smartphones supportent le code QR classique. Pour lire les variantes, un lecteur industriel est souvent nécessaire.

### Codes matriciels non QR

Le code QR se distingue du Flashcode et du Datamatrix notamment par la présence de carrés concentriques sur trois des quatre angles du carré.

## Différents types de codes QR

Les codes QR ont plusieurs applications et existent en deux types, les codes QR statiques et les codes QR dynamiques.
Le type du code QR se définit par son utilisation, la différence essentielle étant que la redirection d'un code QR dynamique peut être modifiée, au contraire d'un code QR statique.

### Codes QR statiques

Les codes QR dits statiques ne peuvent pas être modifiés, l’information est encodée de manière permanente. L'information est directement contenue dans le code QR.

### Codes QR dynamiques

Les codes QR dits dynamiques contiennent l'information de manière indirecte au moyen, par exemple, d'un lien hypertexte encodé.
Le code QR contient le lien hypertexte qui permet au logiciel de l'utilisateur d’être redirigé sur un autre site web qui contient l'information attendue par l'utilisateur.
Ce procédé offre à l'hébergeur la possibilité illimitée de modifier le contenu affiché ou la redirection. Il n’est donc plus nécessaire de changer le code, mais simplement sa redirection.

## Utilisations

Les codes QR peuvent contenir des adresses Internet, du texte, des numéros de téléphone, des mots de passe Wi-Fi, des SMS ou d’autres types de données comme le format vCard (qui permet l'ajout rapide d'un contact), lisibles par les téléphones intellligents et les téléphones mobiles équipés d'une application de lecture (lecteur de code QR ou QR reader en anglais).
L'avantage du code QR est sa facilité et sa rapidité d'utilisation et de création.
Pour lire un code QR depuis un mobile, il suffit de lancer une application de lecture ou simplement de viser le code avec l'appareil photo. De nombreuses pages Web offrent ces applications pour mobiles, généralement sans frais. Avec certains téléphones, comme les appareils Apple, il suffit d’ouvrir l’application Appareil photo et de viser le code QR pour effectuer l’opération.
Plusieurs sites ou services web permettent de générer des codes QR.
L'utilisation du code QR (provenant du Japon) est répandue dans le monde entier mais particulièrement dans les pays occidentaux comme la France, le Royaume-Uni, l'Allemagne, les États-Unis, l'Australie, mais également dans de nombreux pays asiatiques comme la Corée du Sud ou la Chine où l'adoption est désormais massive.

### Dans la vie courante et culturelle

Peu utilisé jusqu'alors, le code QR a connu une vague de démocratisation en 2020 durant la pandémie de Covid-19.
Cette transformation s'illustre par l'utilisation à grande échelle dans le milieu « CHR » (Cafés, Hôtels, Restaurants), le code QR est alors majoritairement utilisé afin de pouvoir accéder aux cartes des établissements. Plusieurs startups spécialisées dans l'expérience client proposent aux professionnels du milieu de donner la possibilité à leurs clients d'accéder à la carte de leurs établissements, passer commande et payer directement depuis leurs smartphones. Cette nouvelle utilisation est un geste barrière supplémentaire dans le CHR ; que ce soit dans les bars, les restaurants ou les hôtels, il était nécessaire de modifier les habitudes de consommations et de services afin d'aider à résoudre cette crise sanitaire. Les avantages sont notamment le côté « sans contact » qui permet de limiter les contacts des clients avec les menus papiers, mais également le côté « nouvelle expérience client ».
Les musées et les offices de tourisme, et de façon générale les lieux culturels, utilisent de plus en plus les codes QR pour que les possesseurs de smartphones puissent lire des informations complètes, via un lien vers une page de site web, voire un lien vers un fichier son pour écouter un commentaire audio. C'est une sorte de guide, d'aide à l'accessibilité aussi : sans avoir besoin d'écrire le texte du lien Web sur le téléphone portable, on a accès à l'information. De même, des réseaux de transport public mettent en place des codes QR qui permettent d'accéder à un site de recherche d'itinéraires ou à des informations sur les travaux en cours.
En Corée du Sud, une chaîne de magasins utilise des sculptures dont les ombres projetées forment un code QR à l'heure du déjeuner, proposant la possibilité de se rendre sur un portail, avec son smartphone, pour obtenir des réductions et des coupons.
Des codes QR peuvent être utilisés pour réaliser des paiements. Dans l'Union européenne, le code QR de l'EPC permet de faire des virements dans sa banque sans fil.
Le code QR est également un moyen efficace de fournir un ticket de caisse dématérialisé.
Le secteur de la formation peut exploiter les codes QR aussi bien pour des aspects pratiques ou administratifs (liste de stagiaires…) que pédagogiques (quiz codé par exemple).
Il existe aussi de petites médailles possédant un code QR que l'on peut accrocher aux colliers des animaux domestiques. Ce code renvoie à un site qui permet d'identifier le propriétaire de l'animal éventuellement perdu.
Enfin, quelques startups ont tiré parti de la banalisation du code QR et de son universalité pour construire des services innovants (notifications urgentes sans accès aux coordonnées, cartes de visite virtuelles, suivi de maintenance, lutte contre la contrefaçon, etc.)

### Dans le multimédia

* L'entreprise Nintendo a inclus l'utilisation de codes QR dans la Nintendo 3DS pour faciliter l'échange de Mii.
* La chaîne Nolife utilise des codes QR sur son système Nolife Online, où le code apparaît à chaque fin de vidéo et permet de récupérer sur son portable le lien de la vidéo.
* En 2011, le magazine Qweekr à Nantes n'utilise dans son contenu éditorial que des codes QR.
* En 2012, le cablo-opérateur français Numericable a intégré les codes QR pour configurer le réseau Wi-Fi sur La Box.
* En 2013, le code QR tombal fait son apparition en Europe. Différentes sociétés proposent de conserver un souvenir enregistré d'une personne décédée, accessible via un code QR céramique fixé sur une pierre tombale.
* En 2016, l'application mobile snapchat, utilise un système de codes QR re-designés. Chaque utilisateur se voit attribuer un code QR relié à son compte personnel, ceux-ci peuvent ainsi s'ajouter automatiquement sur l'application moyennant un scan. L'application permet aussi de scanner les codes QR conventionnels et propose donc un service de scanner QR classique.
* En 2016, la firme de Pokémon a ajouté les codes QR pour compléter le Pokédex.
* En 2021, la société Bandaï utilise des codes QR dans une nouvelle itération des Tamagotchi. Appelé Pix, ce modèle permet, entre autres, d'échanger des objets entre amis et de télécharger du contenu exclusif au moyen de code QR lisible par la caméra située au dos de l'appareil.

### Appropriation par des artistes

* En 2005, Philippe Pellering réalise une série de toiles et dessins intitulés "QR Code pointé". L'œuvre est la représentation minimaliste parfaite de la discrimination, de l’ostracisme, de la ségrégation. Symbole de la liberté, de l’esprit critique, du libre arbitre et du rejet de tout QRCode ou numérisation discriminante. Refus d'une société avec laquelle le tout numérique deviendrait la norme. "QR Code pointé" a été depuis repris comme Gif...
* Depuis 2006, l'artiste italien Fabrice de Nola utilise les codes QR dans des peintures à l'huile ou des photographies$^,$.
* En 2007, le groupe pop britannique Pet Shop Boys a utilisé un code QR pour télécharger le single Integral. Dans la vidéo, d'autres codes renvoient vers le site du groupe et des pages web au sujet de l'utilisation de la carte d'identité en Grande-Bretagne.
* En 2009, l'artiste japonais Takashi Murakami a créé un code QR avec l'image du motif LV et l'un des personnages de l'artiste.
* En 2010, le musicien hip-hop américain DJ Spooky a exposé un code QR à la Biennale Experimenta de Melbourne. Le code dirige vers le site web Nauru Elégies, au sujet de l'île de Nauru au Pacifique.
* Dans la vidéo du single de Kylie Minogue, All The Lovers (2010), apparaît un code QR imprimé sur des objets. Le code n'est pas assez visible pour être lu directement à partir de la vidéo, mais un blogueur l'a reconstruit, révélant qu'il contient le mot anglais love (amour).
* En novembre 2010, le groupe français Valentine's Day a mis en place un code QR sur le verso de son album Whatever You Want. Le code QR permettait le visionnage d'un clip unplugged du titre phare de l'album Lady Bug.
* Le collectif Raspouteam au travers de son projet « Paris, Désordres publics », disposant des codes QR dans certaines rues de la ville de Paris et relatant les événements marquants propres à ces rues.
* En 2011, l’artiste plasticienne Mai Tabakian produit une nouvelle série HaïkuCode construisant des tableaux QR Code en y associant des Haïku
* En 2012, Jean-Thierry Lechein publie le premier livre Qr1book entièrement écrit en codes QR.
* En 2012, Maryvonne Rippert publie Alabama Blues le premier roman jeunesse interactif où les codes QR permettent d'écouter la bande originale du livre composée et interprétée par Les Chics Types.
* En 2016, Jean-Robert Sédano publie L'Art interactif en jeu, un livre interactif avec codes QR et anaglyphes, qui agrémentent le texte de contenus multimédia.
* En 2020, Jean-Marie Blas de Roblès publie un roman Ce qu'ici bas nous sommes, éditions Zulma (ISBN 978-2-8430-4971-2), qui imagine un monde ancien cryptant en QR code.Masahiro Hara, inventeur du QR code scannant l'œuvre en Lego de l'artiste qargo avec son QR code géant.En 2022, le rappeur Vald sort un album V avec un QR Code sur la pochette, renvoyant sur le site de son label.
* En 2023, le film de science-fiction La Bête de Bertrand Bonello n'a pas de générique de fin, mais un QR code qui reste à l'écran pendant une minute. Le réalisateur a fait ce choix car il voulait limiter les émotions suscitées par le générique, la suppression des affects étant une des thématique du film.
* Depuis 2022, l'artiste français qargo crée des sculptures avec des QR codes en Lego. Ces sculptures sont utilisées pour prolonger l'expérience artistique en ligne et dévoiler les détails de chacune de ses œuvres$^,$.

### Passe sanitaire européen

Au 13 octobre 2021, 591 728 344 certificats européens ont utilisé le code QR dans l'espace économique européen, dont 136 901 354 certificats en France, 123 254 466 en Allemagne, 97 058 162 en Italie, et 43 058 575 en Autriche.
Le certificat covid de l'Union européenne utilise un format optique lisible par machine (code QR) qui peut être affiché sur l'écran d'un appareil mobile ou être imprimé.
Il s'agit d'un Electronic Health Certificate — « HCERT » qui contient diverses données. Les données sont enregistrées dans un CBOR (représentation concise d'objet binaire) avec une signature numérique au format COSE (CBOR Object Signing and Encryption — signature et chiffrement d'objet en représentation concise d’objet binaire). Cette information signée est compressée au format zlib - deflate avant d'être encodée en ASCII par Base45.
C'est ce texte ASCII qui est enregistré dans le code QR à la norme (ISO/IEC 18004:2015) . Le code QR est paramétré avec un taux de correction d’erreur de « Q » (environ 25 %) et un encodage alphanumérique (mode 2, indiqué par les symboles 0010).
Le code optique est présenté avec une diagonale comprise entre 35 et 60 millimètres.
Lors de l'impression sur papier, la forme carrée de chaque symbole/point du code QR doit parfaitement être respectée, sinon, des lignes ou des colonnes du code QR comporteraient des symboles/points rectangulaires qui peuvent nuire à la lisibilité.

### Traçabilité alimentaire

La maison familiale italienne Rovagnati, spécialisée dans la charcuterie, annonce appliquer sur chaque barquette de leurs produits “Naturals” un code QR offrant un accès détaillé à la carte d'identité de leurs charcuteries. Cette initiative vise à proposer une transparence totale sur l'origine et les caractéristiques des produits.

## Sécurité et escroqueries

L'augmentation des usages liés à cette technologie attire les cybercriminels qui remplacent des codes légitimes par des codes malveillants pour renvoyer vers des URL détournées et placer des programmes sur les appareils des victimes pour récupérer des données personnelles. Il est impossible de repérer un code QR malveillant. Il faut donc s'assurer de la provenance du code QR avant de l'ouvrir.