QR Codes et encodage (qrencode)
Pour compléter mon billet sur la génération de codes barres, je vais me pencher sur les codes à 2 dimensions : les QR Codes.
Pour reprendre la définition de « Wikipedia » :
Le code QR ou QR Code (en anglais) est un code-barres en 2 dimensions (code matrice) pouvant stocker jusqu’à 7089 caractères numériques, 4296 caractères alphanumériques (contrairement au code-barre « traditionnel » qui lui ne peut stocker que de 10 à 13 caractères) ou 2953 octets . Il a l’avantage de pouvoir stocker beaucoup d’informations tout en étant petit et rapide à scanner. Ainsi, le sigle « QR » dérive de « Quick Response » car le contenu peut être décodé rapidement.
Ce type de code, par sa capacité, permet de « stocker » un petit texte, une adresse e-mail, une url, un numéro de téléphone ou encore une vcard complète. Il présente l’intérêt de pouvoir être interprété rapidement à partir d’un PDA ou d’un téléphone, bien sûr munis d’un appareil photo et d’une petite application permettant le décodage. Le contenu, en fonction de son type, peut être, ensuite, traité directement par l’appareil : pointage du navigateur vers l’url, création d’un nouvel email, import de la vcard dans le carnet d’adresses, etc… Un concept qui ravie les adeptes de gadgets mobiles, en permettant, en un shoot, la saisie d’adresses ou d’url, pas toujours très pratique, voir fastidieuse sur ce genre d’appareil.
Pour créer son propre QR Code, il existe de nombreux générateurs en ligne, en voici quelques uns, la liste est loin d’être exhaustive :
Comme pour les codes barres classiques (1 dimension), ce qui va m’intéresser, c’est bien entendu de pouvoir les générer en local… et si possible en lignes de commandes ( eh oui ! Encore !).
Il existe un petit programme qui fait ça très bien et qui se nomme judicieusement : qrencode.
qrencode est intégré dans la majeure partie des distributions, si ce n’était pas votre cas, vous pouvez toujours télécharger les sources sur le site officiel.
Ce petit outil permet de générer une image au format png, à partir d’une ou plusieurs chaînes de caractères.
$ qrencode --help qrencode version 3.0.3 Copyright (C) 2006, 2007, 2008 Kentaro Fukuchi Usage: qrencode [OPTION]... [STRING] Encode input data in a QR Code and save as a PNG image. -h display this message. --help display the usage of long options. -o FILENAME write PNG image to FILENAME. If '-' is specified, the result will be output to standard output. If -S is given, structured symbols are written to FILENAME-01.png, FILENAME-02.png, ...; if specified, remove a trailing '.png' from FILENAME. -s NUMBER specify the size of dot (pixel). (default=3) -l {LMQH} specify error collectin level from L (lowest) to H (highest). (default=L) -v NUMBER specify the version of the symbol. (default=auto) -m NUMBER specify the width of margin. (default=4) -S make structured symbols. Version must be specified. -k assume that the input text contains kanji (shift-jis). -c encode lower-case alphabet characters in 8-bit mode. (default) -i ignore case distinctions and use only upper-case characters. -8 encode entire data in 8-bit mode. -k, -c and -i will be ignored. -V display the version number and copyrights of the qrencode. [STRING] input data. If it is not specified, data will be taken from standard input. |
La plupart des paramètres disposent d’une valeur par défaut, ce qui simplifie la mise en œuvre pour une utilisation « classique ». Il suffit de préciser le nom de fichier en sortie et le contenu à encoder.
$ qrencode -o test1.png « http://www.jopa.fr »
$ qrencore -o test2.png < test.txt
Pour en savoir plus :