SE CONNECTER
1,2,3... codez ! | Le site de la Fondation La main à la pâte
Module 123 Codez | Jouer | Informatics and Digital Creation

Comment encoder un message avec des nombres

1, 2, 3, codez ! - Activités cycle 3 - Séance 1.2: Comment encoder un message avec des nombres ?

Résumé

Les élèves doivent encoder un message textuel en utilisant seulement des nombres. Pour cela, ils font des propositions puis conviennent d’un tableau de correspondance entre caractères textuels et nombres, commun à toute la classe. Ils utilisent ce tableau pour encoder un message qu’ils doivent envoyer, puis pour décoder un message qu’ils ont reçu.

Notions

« Information »

  • Un caractère peut être représenté par un nombre.
  • Un texte, qui est une succession de caractères, peut-être représenté par une succession de nombres.
  • L’encodage du texte est le remplacement de ses caractères par les nombres qui leur correspondent. Le décodage est l’opération inverse.

Matériel

Pour la classe

Lexique

Table de correspondance, encodage, décodage

Durée :

1h15

Note scientifique préalable sur le vocabulaire

  • Dans le langage courant, les termes « coder », « chiffrer », « crypter » sont souvent confondus et employés à mauvais escient. Le terme « coder », par exemple, est parfois utilisé pour signifier « programmer » (on lit aussi « écrire du code »), parfois pour « représenter de l’information » (par exemple, le codage binaire), ou encore pour « altérer un message pour le rendre incompréhensible » (en référence à la notion de « code » secret…).
  • Dans tout ce qui suit, nous tâcherons d’employer les mots dans leur signification scientifique, c’est-à-dire
    • Coder signifie représenter de l’information. Au cours de cette séance, les élèves vont représenter un message textuel à l’aide de nombres. Lorsqu’ils transformeront les lettres en nombre, on parlera d’encodage et, lorsqu’ils effectueront la transformation inverse, de décodage. C’est l’objet de cette séance, puis des deux suivantes sur le binaire.
    • Chiffrer un message consiste à le déformer pour le rendre incompréhensible à toute personne non destinataire du message (qui ne possède pas la clé pour le déchiffrer). C’est l’objet de la Séance III-3.4.
    • Les termes crypter/décrypter (que nous éviterons ici) sont en général employés comme synonymes de chiffrer/déchiffrer, mais il existe une nuance. La cryptanalyse consiste à casser le chiffrement (on devine quelle est la clé alors qu’on n’est pas censé la connaître).

Situation déclenchante

L’enseignant explique à la classe que l’équipe du poste de contrôle communique avec le rover et avec l’équipe de terrain en utilisant des instruments électroniques. Ces instruments permettent d’envoyer et de recevoir seulement des nombres, pas de lettres. Tout message textuel à transmettre doit donc être converti en une succession de nombres avant l’envoi (c’est l’opération d’encodage du message), puis reconverti en une succession de caractères textuels à l’arrivée (c’est l’opération de décodage du message). Il ne peut pas y avoir d’espace ou de virgule entre les nombres : les nombres arrivent tous « collés » à la suite les uns des autres.

La question est donc est la suivante : comment encoder des messages textuels sous forme de nombres, puis les décoder ?

Recherche : stratégie d’encodage et de décodage (par binômes)

L’enseignant annonce que l’équipe de terrain souhaite prolonger sa sortie au-delà de l’horaire initialement prévu. Mais le vent semble se lever. Il faut envoyer au poste de contrôle un message qui commence comme ceci :

ENVOYEZ BULLETIN METEO.

Par binômes, les élèves recherchent une stratégie d’encodage de ce texte en nombres. Il ne s’agit pas pour le moment d’effectuer l’encodage proprement dit, mais seulement d’en proposer les modalités.

Lorsqu’un binôme annonce avoir trouvé une stratégie d’encodage, l’enseignant donne en secret  à chaque élève un petit papier sur lequel est écrit un court message textuel contenant au moins un espace ou un point : par exemple « PLUS VITE. », « TRES BIEN. » ou « TOUT VA BIEN.». Il demande aux élèves d’encoder le message à destination de leur camarade, qui doit ensuite le décoder. L’enseignant rappelle que les nombres du message encodé devront être tous collés les uns à la suite des autres, sans espace ni ponctuation. Les deux élèves vérifient si la transmission de l’information s’est bien passée. Si ce n’est pas le cas, le binôme peut identifier le problème et changer ou améliorer sa stratégie.

Classe de CM2 de Christelle Crusberg (Champigny-sur-Marne)

Notes pédagogiques

  • Le texte à encoder contient uniquement des lettres majuscules sans accents, des points et des espaces. De ce fait, il est probable que la plupart des propositions des élèves consistent à associer chaque lettre de l’alphabet à un nombre, conformément à l’ordre alphabétique (1 pour coder A, 2 pour coder B, etc. jusqu’à 26 pour coder Z) et à ajouter une correspondance entre le point, l’espace et deux autres nombres (par exemple 27 et 28 ou bien 27 et 0).
  • Toutefois, certains groupes imaginent de coder par des nombres différents les lettres majuscules (de 1 à 26 par exemple) et minuscules (de 27 à 52 par exemple). La question des lettres accentuées peut également émerger, ainsi que celle des caractères de ponctuation autres que le point.  Bien que le message à coder ne comporte pas de chiffres, certains groupes peuvent chercher à les prendre en compte : ils peuvent alors associer les chiffres 0 à 9 aux nombres 0 à 9, et le codage des lettres ne commence qu’à partir de 10.
  • Toutes ces propositions doivent être valorisées, même si on effectue ensuite, pour des raisons de simplicité, le choix de ne pas coder les chiffres et d’en rester à un codage identique pour toutes les variantes d’une lettre (A, a, â, à tous codés par 01, par exemple).
  • Enfin, certains élèves risquent d’anticiper sur la question du chiffrement du message en proposant une correspondance peu intuitive entre caractères textuels et nombres, voire en proposant une correspondance instable (qui change tous les 10 caractères par exemple). On proposera à ces élèves de retenir leurs idées pour une autre séance (Séance III-3.4).

Mise en commun

Lors de la mise en commun, l’enseignant demande à un premier binôme de présenter sa proposition. Celle-ci est confrontée aux propositions des autres groupes (voir notes pédagogiques ci-dessous), en pesant les avantages et les inconvénients de chacune. Puis, la classe s’arrête sur un choix de consensus : celui d’une table de correspondance biunivoque (aucune ambigüité, ni à l’encodage, ni au décodage) entre les caractères textuels que l’on souhaite utiliser dans les messages et des nombres.
La table de correspondance retenue pour la suite est la suivante (noter que la table véritablement utilisée peut varier d’une classe à l’autre, notamment pour l’espace et le point) :

Caractère textuel A B C D E F G H
Nombre   01 02 03 04 05 06 07 08
Caractère textuel I J K L M N O P
Nombre   09 10 11 12 13 14 15 16
Caractère textuel Q R S T U V W X
Nombre   17 18 19 20 21 22 23 24
Caractère textuel Y Z point espace        
Nombre   25 26 27 28        

Noter que les nombres 1 à 9 (correspondant aux lettres A à I) ont été notés 01 à 09, de façon à ce que tous les nombres utilisés pour coder les caractères textuels soient écrits avec autant de chiffres (2 en l’occurrence). Ainsi, 0221 se lit 02 21 et se décode en BU et 2201 se lit 22 01 et se décode en VA. Alors que si les lettres A à I étaient codées par les nombres 1 à 9, le texte encodé 221 pourrait être lu soit 2 21, soit 22 1 et être décodé indifféremment en BU ou en VA.

Exercice – Encoder un message (par groupes)

L’enseignant distribue aux élèves le haut de la Fiche 29 (table de correspondance et consigne 1) et leur demande d’effectuer l’encodage du message destiné au poste de contrôle (consigne 1), en utilisant la table de correspondance choisie par la classe.
Une fois les messages encodés, l’enseignant affiche les résultats et annonce que le message vient d’être envoyé au poste de contrôle. Il insiste sur le fait que le message de départ et le message encodé contiennent la même information sous deux formes différentes.


Discussion sur l’importance d’un encodage sur 2 chiffres pour chaque caractère.
Classe de CM1 de Carole Vinel (Paris)

Défi – Décoder un message (par groupes)

L’enseignant annonce que la classe vient de recevoir la réponse du poste de contrôle, sous forme encodée. Il va maintenant s’agir de décoder cette réponse.
Il distribue la partie basse de la Fiche 29 (consigne 2) et laisse aux élèves le temps de mener à bien le décodage.

La classe partage le message décodé :

APPROCHE CYCLONE MAJEUR. RETOUR PARKING OBLIGATOIRE. INDIQUEZ DELAI PREVU.

La mission ne peut donc pas être prolongée, le rover doit rentrer immédiatement à la base.


Deux stratégies de décodage, au fil du texte (à gauche) ou pour toutes les occurrences d’un caractère dans le texte (à droite).
Classe de CM2 d’Anne-Marie Lebrun (Bourg-la-Reine).

Note pédagogique
L’exercice d’encodage et le défi de décodage peuvent être menés de façon collaborative : un élève donné encode ou décode seulement une ligne du message, et les résultats sont mis en commun. Nous proposons toutefois de distribuer les messages en entier aux élèves, ce qui simplifie la logistique de la séance, permet aux élèves les plus rapides d’avoir constamment du travail et à tous de garder mémoire du travail collectif accompli.

Conclusion et trace écrite

La classe synthétise collectivement ce qui a été appris au cours de cette séance :

  • Un caractère peut être représenté par un nombre.
  • Un texte, qui est une succession de caractères, peut donc être représenté par une succession de nombres.
  • L’encodage du texte est le remplacement de ses caractères par les nombres qui leur correspondent. Le décodage est l’opération inverse.

Les élèves notent ces conclusions dans leur cahier de sciences. L’enseignant, quant-à-lui, complète l’affiche « Qu’est-ce que l’informatique ? » avec ce que la classe a appris au cours de cette séance sur les notions d’information et d’algorithme.

Prolongements

Avec les plus grands, le message à décoder peut être un peu plus long. Par exemple, le message ci-dessous a la propriété amusante d’être un pangramme (toutes les lettres de l’alphabet y sont présentes au moins une fois) :

WARNING. APPROCHE CYCLONE MAJEUR. VENTS EXCEPTIONNELLEMENT FORTS ATTENDUS. RETOUR PARKING OBLIGATOIRE. INDIQUEZ DELAI PREVU.