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.

jopaqrcode

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.

Application "Barcode scanner" sur un téléphone Androïd (HTC Hero)

Application "Barcode scanner" sur un téléphone Androïd (HTC Hero)

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 :

Vus : 1462
Publié par Jopa : 29