Trouve la clé

L’objectif de cette activité consiste à vous faire analyser le code de fonctions Python de façon à découvrir petit à petit les 10 chiffres d’une clé secrète.

💻 Challenge n° 1

🎯 Travail à faire :

  1. Lancer l’environnement Basthon :

    • soit depuis internet → https://basthon.fr/

    • soit localement en exécutant la version bureau de Basthonbasthon-desktop-full-0.5.0-32bit.exe

      Avec cette solution, la page d’accueil du site doit automatiquement s’ouvrir dans un navigateur internet.

      Si ce n’est pas le cas, lancer le navigateur et saisir l’URL indiquée dans la console.

      Starting local webserver on port 22245.
      A web-browser should be automatically opened. Otherwise, look at http://localhost:22245/  (1)
      Press Enter to stop the server.
      127.0.0.1 - - [15/May/2025 14:38:09] "port=22245 GET / HTTP/1.1" 200 -
      127.0.0.1 - - [15/May/2025 14:38:09] "port=22245 GET /theme/assets/css/open-sans.css HTTP/1.1" 200 -
      [...]
      1 ⇒ Saisir l’URL http://localhost:22245/
  2. Choisir d’utiliser Python depuis un notebook Jupyter

  3. Télécharger localement et ouvrir le notebook fourni pour l’atelier → notebookTrouveLaCle.ipynb python

  4. Télécharger localement puis installer le module Python requis par cet atelier → moduleTrouveLaCle.pyc python

  5. Exécuter la 1ère cellule de code du notebook pour initialiser le code Python de l’atelier (→ génération de la clé secrète, importation du module installé plus haut…​).

    Ceci se fait soit en appuyant sur CTRL+ENTREE soit en cliquant sur l’icône “Exécuter” de la barre d’outil APRÈS avoir sélectionné la cellule avec la souris

  6. Analyser le code de la fonction cracker1() de façon à comprendre ce qu’elle fait

  7. Saisir puis exécuter l’instruction appropriée dans la 2ème cellule de code de façon à réaliser l’appel à la fonction cracker1() avec un argument qui lui fasse retourner la valeur True (→ cracker(25) ).

    Ceci provoque l’affichage de :
    (True, 'Cle : X - - - - - - - - -')
    avec X représentant le 1er chiffre de la clé secrète

  8. Analyser le code de la fonction cracker2()

  9. L’appeler avec l’argument qui lui fera retourner la valeur True

    Le notebook affichera alors le 2ème chiffre de la clé secrète

  10. Répéter les étapes 8 et 9 pour chacune des 8 fonctions restantes (→ cracker3(), cracker4(), …​, cracker10()) pour trouver la clé secrète

  11. Appeler le prof pour valider le travail

💻 Challenge n° 2

🎯 Travail à faire :

Trouver la 2ème clé secrète proposée dans la partie “Vous en voulez encore ? C’était un peu court ?” du notebook.

Pour ce 2ème travail, il faudra importer dans Jupyter Notebook le module moduleTrouveLaCleBis.pyc python (→ menu Fichier  Ouvrir ou icône correspondante dans la barre d’outils).

Ceci est clairement indiqué dans le code d’initialisation :

#Importation du module random et des fonctions de validation des résultats
from random import *
from moduleTrouveLaCleBis import * (1)

[...]
1 Module Python requis dans la suite du notebook

🞄  🞄  🞄