Passer la navigation

Programmer des mots avec le Python

Par Bilal Qadar 120 minutes
Niveau
Secondaire 3 à 5 / 9e à 12e année
Disciplines
Science et technologie,
Univers social
composants du cadre
  • Programmation
  • Ordinateurs et réseaux
  • Technologie et société
Outils et langages
Python

Concepts clés en programmation

  • Algorithme 
  • Tableau 
  • Variable

Terminologie

Attaque par force brute

Attaque informatique où un ordinateur enchaîne des caractères et des nombres aléatoires pour deviner un mot de passe. Un ordinateur peut essayer des milliers de mots de passe par seconde.

 

Attaque par le dictionnaire

Attaque informatique où un ordinateur enchaîne des mots et des phrases que l’on trouve fréquemment dans les mots de passe pour deviner un mot de passe précis. L’attaque par dictionnaire est habituellement beaucoup plus rapide qu’une attaque par force brute, car les essais de mots de passe sont moins aléatoires.

Pourquoi est-il important d'avoir un mot de passe sécuritaire? C’est simple : un mot de passe sécuritaire protège vos informations et votre identité. Comme l’hameçonnage et l’ingénierie sociale sont de plus en plus courants, il est indispensable de savoir comment générer des mots de passe sécuritaires et faciles à retenir!

En partenariat avec :
Ceci est un plan de leçon de la Semaine Canada en programmation! Faites-nous part de votre impact après avoir enseigné au moins une de nos leçons : https://bit.ly/clc-etude-impact

Technologie
  • Connexion Wi-Fi et ordinateurs portables, de bureau ou blocs-notes

Avant la leçon...
  • Lisez le plan de leçon.
  • Facultatif : Lisez les diapositives « Introduction à l’informatique » pour vous familiariser avec le Python.
  • Révisez les concepts de programmation et exercez-vous à les expliquer au groupe avec assurance.
  • Lisez le corrigé correspondant au groupe d’âge de votre public cible :
  • Réalisez le projet principal de la leçon et assurez-vous de bien comprendre les étapes de création.
  • Imprimez les ressources d’apprentissage.
  • Trouvez les outils technologiques et le matériel supplémentaire.

Introduction

Ask: Demandez : Avez-vous déjà reçu un courriel ou un appel qui ressemblait à ceci?

« ecole123@gmail.com

Cher utilisateur, nous vous envoyons ce courriel pour vous informer que votre compte étudiant a été piraté. Cliquez sur le lien ci-dessous et écrivez votre mot de passe pour protéger votre compte. Merci, Équipe de sécurité de l’école »

Levez votre main si vous trouvez que ce courriel est crédible.

En fait, il s'agit d’un exemple d’hameçonnage par courriel! L’hameçonnage est la création de fausses pages Web ou de faux courriels pour tromper les utilisateurs. Comme ils ont l'air réalistes, les utilisateurs croient interagir avec des organisations ou des personnes connues. L’objectif d’une page d’hameçonnage est de pousser l’utilisateur à saisir son nom d’utilisateur et son mot de passe. Ainsi, une personne malveillante peut stocker ces informations et les exploiter à mauvais escient.

L’hameçonnage est la technique la plus courante, mais les groupes et les personnes malveillantes se servent aussi d’autres techniques pour obtenir des mots de passe.

Écrivez ces mots de passe à un endroit visible par tous :

  • Refrigerating
  • 13579
  • H4CK3R
  • W3lc0m3!

PENSEZ, DISCUTEZ, PRÉSENTEZ : Jetez un coup d'œil à ces mots de passe. Classez-les du plus sécuritaire au moins sécuritaire. Ensuite, modifiez les mots de passe qui ne sont pas sécuritaires pour les rendre sécuritaires!

Exécutez le programme Python ci-dessous pour voir en combien de secondes un pirate pourrait trouver les mots de passe. (https://repl.it/@learningcode/CLCWeekPasswordsFR).
Ce programme utilise des attaques par force brute et par dictionnaire pour deviner les mots de passe.

Demandez : Les résultats ressemblent-ils à votre classement?
Ask: Demandez : Qu’est-ce qu’une attaque par force brute? (R : Un ordinateur essaie des combinaisons aléatoires de caractères jusqu’à ce qu’il trouve le mot de passe.)
Demandez : Qu'est-ce qu’une attaque par dictionnaire? Pensez-y. Pourquoi utilisez-vous un dictionnaire dans la vie?(R : Un ordinateur essaie des mots et des phrases que l’on retrouve fréquemment dans les mots de passe pour deviner le bon mot de passe.)
Demandez : Pourquoi le mot de passe “W3lc0m3!” n’a pas été deviné par l’ordinateur? (R : Ce mot de passe contient une combinaison de lettres majuscules et minuscules, de nombres et de caractères spéciaux.)

Apprenons à créer des mots de passe à la fois sécuritaires et faciles à retenir!

Programmation en groupe

Remarque : Rappelez aux personnes apprenantes de ne pas partager d’informations ou d’éléments de leurs mots de passe actuels durant la prochaine activité.

Demandez : Qu'est-ce que le code? (R : Un ensemble de consignes lues et exécutées par un ordinateur.)

Facultatif : Réalisez l'activité débranchée liée ci-dessous :

Réalisez l'activité de programmation en groupe selon l’âge des personnes apprenantes. Suivez le corrigé approprié :

Objectifs d’apprentissage
  • Je peux créer des algorithmes en Python.
  • Je peux expérimenter avec mon code, l'essayer et l’améliorer pour résoudre un problème.
  • Je peux développer des solutions informatiques à des problèmes réels.
  • Je peux utiliser des variables et des tableaux (listes) pour stocker des données.
  • [13 ans et plus] Je peux utiliser des boucles pour répéter des consignes dans le code.
  • [13 ans et plus] Je peux utiliser des expressions conditionnelles pour prendre des décisions avec le code.

Méthodes d’évaluation

Encouragez les personnes apprenantes à modifier leurs projets pour générer ou remixer des noms d’utilisateurs et des mots de passe. Demandez-leur de présenter ces concepts de programmation clés dans leurs projets :

  • Variables
  • Tableaux (listes)
  • Fonctions aléatoires « random » en Python
  • [13 ans et plus] Expressions conditionnelles

Prolongements en ligne

Réalisez les activités de prolongement dans les corrigés.

Si votre groupe a de l’expérience avec le Python, regardez ensemble le code source du projet de recherche de mot de passe en Python : https://repl.it/@learningcode/CLCWeekPasswordsFR#crackPassword.py.

Les personnes apprenantes peuvent ajouter des phrases à imprimer et modifier le code pour lui permettre de deviner tous les types de mots de passe. De plus, les personnes apprenantes peuvent faire des recherches sur le piratage éthique et les raisons pour lesquelles un programme de recherche de mot de passe est une solution pour détecter et corriger les failles.

Prolongements débranchés

Facultatif : Les personnes apprenantes peuvent consulter les diapositives « Introduction à l’informatique » : http://bit.ly/teenslc-python-programmation-en-groupe. Invitez le groupe à réfléchir à l’utilisation des composantes décrites sur les diapositives dans leurs projets. Par exemple, comment ont-ils utilisé les variables?

Défi cyberrobotique

Amenez le monde industriel réel dans votre classe! Dans cette expérience d'apprentissage virtuelle gratuite de trois heures, les étudiants apprennent les bases de l'informatique tout en découvrant la méthode miraculeuse utilisée par Amazon pour livrer ses marchandises.
Inscrivez-vous au défi cyberrobotique d'Amazon..

Activité débranchée inspirée de la leçon « Creating Strong Passwords » créée par Diana Arruda pour Pinnguaq : https://pinnguaq.com/learn/creating-strong-passwords

Image par Logan Kirschner à Pexels

Enseignez des leçons qui sont liées à votre programme existant! https://bit.ly/ActivitésCLC_FR

r

Plus de plans de cours pour Secondaire 3 à 5 / 9e à 12e année

    Voir tous les plans de cours

    Explorez les lessons basé sur les composants du cadre

    Un cadre de référence pancanadien pour l’enseignement de l’informatique

    Bien que l’apprentissage des méthodes de création de projets numériques soit une composante importante de l’enseignement de l’informatique, les élèves devraient aussi développer des compétences et des habiletés diverses leur permettant d’exploiter le potentiel des technologies numériques, tant pour la créer que pour la consommer. Un enseignement de l’informatique complet de la maternelle jusqu’à la fin du secondaire aborde les cinq domaines clés suivants :

    Explorez le cadre ➝

    Programmation

    À la fin de leurs études secondaires, les élèves devraient être en mesure de créer un programme informatique simple.

    Ordinateurs et Réseaux

    À la fin de leurs études secondaires, les élèves devraient être en mesure de comprendre et d’utiliser les outils et les appareils couramment employés pour créer des projets numériques.

    Données

    À la fin de leurs études secondaires, les élèves devraient être en mesure d’expliquer comment utiliser les ordinateurs pour créer, stocker, classer et analyser des données.

    Technologie et Société

    À la fin de leurs études secondaires, les élèves devraient être en mesure de décrire l’influence de la technologie sur la société et vice versa.

    Conception

    À la fin de leurs études secondaires, les élèves devraient être en mesure d’appliquer des principes de conception en créant des projets numériques.