top of page

Projet Vacances - Mission 2 — Le message secret

  • 7 août
  • 5 min de lecture

Défi de l'été · Vendredi 7 août · 20 minutes en famille


Cette semaine, on écrit des mots que personne ne peut lire. Ou presque : uniquement celui qui possède la clé.


C'est une idée vieille de deux mille ans, et c'est exactement celle qui protège vos messages WhatsApp aujourd'hui. La différence tient à la taille de la clé, pas au principe.

Trois versions selon l'âge.


🐣 Petits Explorateurs · 5-6 ans

L'alphabet secret

Ce qu'il vous faut : deux feuilles, des crayons de couleur. Aucun écran.

  1. Sur la première feuille, écrivez les lettres du prénom de votre enfant, une par ligne. Ajoutez-en trois ou quatre autres si vous voulez : E, S, T, L sont utiles.

  2. Pour chaque lettre, votre enfant invente un dessin très simple : un rond, une étoile, une vague, un éclair. Un dessin qu'il saura refaire. Cette feuille, c'est la clé. Écrivez-le dessus.

  3. Pendant qu'il regarde ailleurs, écrivez un mot court sur la deuxième feuille — en dessins, pas en lettres. Son prénom, par exemple. Cachez-la sous une assiette, dans une chaussure, dans le sable.

  4. Il retrouve le message et le décode, la clé à la main.

  5. Le moment important : demandez ensuite à quelqu'un d'autre — un frère, une sœur, un grand-parent — de lire le message sans la clé. Il n'y arrivera pas. Puis donnez-lui la clé. Là, ça marche.

Le conseil qui change tout : ne sautez pas l'étape 5. C'est elle qui fait comprendre l'idée entière. Le message circule au vu de tous, et ça ne pose aucun problème, parce que le secret n'est pas dans le message — il est dans la clé.

Ce que ça travaille : la correspondance entre un signe et un son, ce qui prépare directement la lecture. Et la notion de code, qu'il retrouvera partout ensuite.


🚀 Parcours Juniors · 7-10 ans

La roue de César

Il y a deux mille ans, Jules César envoyait ses ordres militaires en décalant chaque lettre de trois rangs dans l'alphabet. Le A devenait D, le B devenait E, le C devenait F. Simple, et suffisant à l'époque.

Fabriquez la roue (10 minutes) : découpez deux disques de carton, un grand et un plus petit. Écrivez l'alphabet en 26 positions régulières sur le bord de chacun. Superposez-les et percez le centre avec une attache parisienne, ou un crayon bien planté. En tournant le petit disque, vous choisissez le décalage.

Décodez ce message. Il a été écrit avec un décalage de 3 :

ERQQHV YDFDQFHV

Puis celui-ci, plus retors : on ne vous donne pas le décalage. À vous de le trouver.

QF HQJ JXY IFSX QJ XFGQJ

Indice : le premier mot ne fait que deux lettres, et il y en a peu qui commencent une phrase en français.

Défi bonus, sur Scratch. Faites-le faire à la machine. C'est un vrai projet, comptez une bonne demi-heure :

  • Créez une liste alphabet et remplissez-la avec les 26 lettres.

  • Créez une variable décalage.

  • demander « Ton message ? » et attendre

  • Répétez autant de fois qu'il y a de lettres dans la réponse : trouvez la position de la lettre dans la liste, ajoutez le décalage, et si le résultat dépasse 26, retirez 26. Ajoutez la lettre trouvée à une variable résultat.

  • Pour décoder, il suffit de relancer avec un décalage négatif.

Ce que ça travaille : l'alphabet comme suite numérotée, l'addition avec retour à zéro, et la différence entre chiffrer et déchiffrer.


🛠️ Bâtisseurs du Numérique · 10-15 ans

Chiffrer, déchiffrer, puis casser le code

Ce qu'il vous faut : un éditeur Python dans le navigateur — Google Colab ou Trinket font l'affaire, et fonctionnent sur tablette. Sur téléphone, l'application Pydroid 3 sur Android ou a-Shell sur iPhone évitent de se battre avec un clavier virtuel.

Étape 1 — Le chiffrement

ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

def cesar(message, decalage):
    resultat = ""
    for lettre in message.upper():
        if lettre in ALPHABET:
            position = ALPHABET.index(lettre)
            resultat += ALPHABET[(position + decalage) % 26]
        else:
            resultat += lettre
    return resultat

print(cesar("BONNES VACANCES", 3))
print(cesar("ERQQHV YDFDQFHV", -3))

Le % 26 est le cœur du programme : c'est lui qui ramène le Z au A au lieu de sortir de l'alphabet. Le même mécanisme que la roue en carton des Juniors.


Étape 2 — Casser le code

Le chiffre de César a un défaut fatal : il n'existe que 26 clés possibles. Une machine les essaie toutes en une fraction de seconde.

secret = "QF HQJ JXY IFSX QJ XFGQJ"

for d in range(26):
    print(d, cesar(secret, -d))

Lancez, lisez les 26 lignes, une seule veut dire quelque chose. C'est ce qu'on appelle une attaque par force brute, et c'est exactement ce que fait un ordinateur face à un mot de passe trop court.


Trois défis

  1. La bonne question. Chiffrez un message et envoyez-le à un ami — mais transmettez-lui la clé par un autre moyen (de vive voix, par exemple). Vous venez de toucher le vrai problème de la cryptographie : ce n'est pas de fabriquer un code, c'est de transmettre la clé sans qu'elle soit interceptée. Toute la cryptographie moderne est née de cette question.

  2. L'analyse de fréquence. En français, le E est de loin la lettre la plus courante. Écrivez une fonction qui compte les lettres d'un message chiffré, repère la plus fréquente, et en déduit le décalage automatiquement. Testez-la sur un texte court, puis sur un long. Vous verrez qu'elle échoue sur le court, et devinerez pourquoi.

  3. Vigenère. Au lieu d'un décalage unique, utilisez un mot-clé : chaque lettre du mot-clé donne le décalage de la lettre correspondante du message, en boucle. Ce chiffre a résisté trois siècles. L'analyse de fréquence de l'exercice 2 ne fonctionne plus dessus — comprendre pourquoi vaut largement le temps passé.


Ce que ça travaille : le modulo, les boucles sur les chaînes de caractères, les dictionnaires pour le comptage, et une première intuition de ce que veut dire « sécurisé ».


Pour les parents, en deux lignes

Quand votre enfant vous demandera pourquoi WhatsApp affiche « chiffré de bout en bout », il aura la réponse. Le principe est celui de la roue en carton ; la clé, elle, fait plusieurs centaines de chiffres au lieu de 26 positions. C'est toute la différence entre un secret de cour de récréation et un secret qui tient.


Solutions

À ne lire qu'après avoir essayé.

  • Premier message des Juniors : BONNES VACANCES

  • Second message : décalage de 5 → LA CLE EST DANS LE SABLE


Montrez-nous le résultat

Envoyez vos alphabets secrets, vos roues de César ou vos programmes dans le groupe WhatsApp Grandir avec le Numérique, ou à amroy@codeacademy123.com. Et si vous nous envoyez un message chiffré, nous jouerons le jeu : nous le décoderons.


Prochaine mission vendredi prochain : l'algorithme du glacier. Comment choisir un parfum en trois questions — et pourquoi c'est la même méthode qui permet à une machine de reconnaître une photo de chat.

Anne-Marie Roy — Fondatrice · Code Academy 123

Code Academy 123 • www.codeacademy123.com

Commentaires


  • icon-instagram
  • icon-facebook
  • icon-twitter-x
  • icon-linkedin
  • icon-youtube

© 2015 by CodeAcademy123 - S'amuser en apprenant la programmation avec des jeux, de la robotique et de l'apprentissage machine.

Paiement
bottom of page