Page sur la lecture manuelle de codes QR

On peut faire lire des codes QR à des élèves de collège en cinq activités :

Documents pour les élèves

Activité 1

Elle consiste à décoder du texte en ASCII (7 bits) puis à coder un code ASCII (7 bits). Ainsi, Bonjour ! sera codé en 66 111 110 106 111 117 114 32 33 et vice-versa.

L’activité ne nécessite que la connaissance de la division euclidienne par 16. Il y a quatre pages différentes.

Document nécessaire :

Activité 2

Cette fois, on demande de décoder puis de coder un message dans un format propre aux codes QR qui ne contient que 45 caractères : 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:. Il était prévu pour les URL.

La difficulté est que cette fois, un nombre entre 0 et 2024 code deux caractères et non un seul (sauf éventuellement le dernier si le nombre de caractères est impair).

Ainsi, BONJOUR est codé en 519 1054 1110 027 et vice-versa. J’ai choisi la convention d’écrire un zéro à gauche pour indiquer un caractère final solitaire.

On a besoin de la division euclidienne (encore) mais par 45. Il y a quatre pages différentes.

Document nécessaire :

Activité 3

L’élève traduit un nombre écrit en base 2 vers la base 10. Ensuite, il décode des messages écrits binairement en ASCII (activité 1) et en alphanumérique (activité 2). Il s’agit d’un double codage :

Ainsi, 01000010 01101111 01101110 01101010 01101111 01110101 01110010 00100000 00100001 code Bonjour ! en ASCII et 01000000111 10000011110 10001010110 011011 code BONJOUR en alphanumérique. On ne décode que dans le sens binaire vers un des deux autres formats.

Oui, l’ASCII est codé sur 8 bits (un octet) même si seulement 7 sont utilisés.

L’élève a besoin des deux activités précédentes pour le décodage. Il y a quatre feuilles différentes.

Document nécessaire :

La page est cette fois recto-verso.

Activité 4

Cette activité fait lire un pseudo-code QR à l’aide d’un transparent. L’élève a besoin d’avoir déjà joué avec l’activité 3.

Documents nécessaires :

L’élève pose le calque sur le code QR donné par le professeur. Il lit alors en bas à droite si le contenu est alphanumérique ou ASCII. Le professeur donne alors la fiche à compléter correspondante.

L’élève calcule le nombre de caractères du message, codé sur 8 bits en ASCII et sur 9 bits en alphanumérique.

Ensuite, il déchiffre le message.

Activité 5

La dernière activité permet de lire un vrai code QR, lisible par un téléphone portable.

Documents nécessaires :

L’élève doit choisir le bon calque qui recouvre complètement la zone verte. Il aura le masque à utiliser pour découvrir d’abord la nature des données (alphanumérique ou ASCII). Il poursuit son décodage comme dans l’activité précédente à l’aide du masque idoine.

Documents et fichiers pour les professeurs

Un professeur peut fabriquer à volonté des fiches pour les activités 1 à 3 mais aussi pour les activités 4 et 5.

Activités 1 à 3

Les fichiers outils.py (en ligne de commande) ou oooutils.py (graphique, utilise outils.py) pour créer ou vérifier une fiche.

Ainsi, on utilise ./outils.py ab "BONJOUR" et on voit alors 01000000111 10000011110 10001010110 011011.

En mode graphique :

oooutils.py.png

On peut convertir dans tous les sens sauf entre alphanumérique et ASCII (ça n’a aucun intérêt).

Activités 4 et 5

Il faut bien sûr imprimer les calques en couleur sur des transparents pour que les élèves puissent s’en servir.

On peut créer des codes QR avec ou sans masquage, avec ou sans couleurs, avec ou sans bordure, etc. On utilise les cinq scripts qrcodeoutils.py (des outils de base), qrcodestandard.py (les données du standard), qrcorps.py (une implantation du corps fini 𝔽256), qrdecode2.py (pour lire un code QR), qrencode2.py (pour créer un code QR en ligne de commande) et ooqrencode2.py (pour créer un code QR en mode graphique). Deux pages d’aide et les solutions aux codes QR sont dans qrcode-manuel-3.odt (pdf).

En mode graphique :

ooqrencode2.py.png

Le résultat :

qrcodeBONJOUR.png

Maison