On peut faire lire des codes QR à des élèves de collège en cinq activités :
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 :
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 :
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.
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.
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.
Un professeur peut fabriquer à volonté des fiches pour les activités 1 à 3 mais aussi pour les activités 4 et 5.
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 :
On peut convertir dans tous les sens sauf entre alphanumérique et ASCII (ça n’a aucun intérêt).
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 :
Le résultat :