Générer sa carte de visite en QRcode

QR code exemple

Image via Wikipedia

Les QRCode sont des matrices de points plus riches que les codes barres mais suffisamment concis pour être interprété rapidement  grâce notement à une redondance qui corrige les erreurs.

La génération de qrcode est aisée sous linux où il existe l’outil qrencode disponible dans le dépôt Ubuntu. Les QRCode peuvent contenir du texte ou des données binaires. On peut donc y stocker une carte de visite au format vcard qui est du texte (qui peut contenir du binaire comme on le verra).

Notre carte de visite est saisie à un seul endroit disons dans notre machine de bureau qui est sous Ubuntu bien entendu. Dans les informations personnelles de l’utilisateur sont présentes toutes les données de la carte de visite. On va voir comment les extraires dans un vcard puis générer le qrcode correspondant.

Extraction du vcard

Sous Ubuntu c’est au bureau GNOME que nous nous adressons afin d’obtenir la carte de visite de l’utilisateur. Nous passons par le binding python de Evolution (suite communicante mail, agenda etc) et la bibliothèque vobject:

Voici le script myvcard.py :

#!/usr/bin/python
# -*- encoding: UTF-8 -*-
import evolution
c = evolution.ebook.get_self_contact()
v = c.get_vcard_string()
import vobject
vo = vobject.readOne(v)
# remove photo because too big for qrcode and N900 may not handle it
del vo.photo
print vo.serialize()

Ce script affiche sur la sortie standard la vcard de l’utilisateur.

Génération du qrcode

Maintenant que le contenu de la vcard est obtenu il suffit de générer le qrcode. Pour cela il suffit de lancer le script suivant, myvcard2qrcode.sh:

#!/bin/bash
./myvcard.py | qrencode -o $1

Il prend un argument qui est le fichier PNG de sortie. Par exemple:

./myvcard2qrcode.sh tb.png

va générer le fichier tb.png, image du qrcode !

Cet article, publié dans Application, est tagué , , , , . Ajoutez ce permalien à vos favoris.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s