0% ont trouvé ce document utile (0 vote)
6 vues10 pages

Générateur de Mots de Passe en Python

Le document décrit un générateur de mots de passe utilisant Tkinter pour l'interface graphique et comprend trois classes principales : PasswordGenerator pour la création de mots de passe, PasswordHistory pour la gestion de l'historique des mots de passe, et PasswordGUI pour l'interface utilisateur. Chaque classe a des responsabilités distinctes, avec des méthodes pour générer des mots de passe, stocker l'historique, et gérer les interactions utilisateur. La logique d'interaction relie l'interface aux classes internes, permettant une expérience utilisateur fluide.

Transféré par

aboulazmabdelilah
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
6 vues10 pages

Générateur de Mots de Passe en Python

Le document décrit un générateur de mots de passe utilisant Tkinter pour l'interface graphique et comprend trois classes principales : PasswordGenerator pour la création de mots de passe, PasswordHistory pour la gestion de l'historique des mots de passe, et PasswordGUI pour l'interface utilisateur. Chaque classe a des responsabilités distinctes, avec des méthodes pour générer des mots de passe, stocker l'historique, et gérer les interactions utilisateur. La logique d'interaction relie l'interface aux classes internes, permettant une expérience utilisateur fluide.

Transféré par

aboulazmabdelilah
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Explication du Code - Générateur de Mots de Passe

PARTIE 1 — Importations + Classe PasswordGenerator


Dans cette première partie, le code importe les modules nécessaires au fonctionnement du
programme : tkinter pour l’interface graphique, ttk pour les widgets modernes, messagebox
pour les pop-ups, string pour utiliser facilement des listes de caractères, et random pour
générer du hasard. Ensuite, la classe PasswordGenerator est définie : c’est elle qui contient
toute la logique liée à la création des mots de passe. Son constructeur initialise les
paramètres choisis par l’utilisateur, comme la longueur du mot de passe et les types de
caractères autorisés (minuscules, majuscules, chiffres, symboles). La méthode generate()
assemble le mot de passe en garantissant la présence d’au moins un caractère de chaque
catégorie sélectionnée, puis complète avec des caractères aléatoires jusqu’à atteindre la
longueur voulue. Elle mélange les caractères afin d’éliminer tout ordre prévisible. La
méthode evaluate() calcule ensuite un score de sécurité sur 100 en fonction de critères
comme la longueur, la présence de chiffres, de majuscules et de symboles. Cette classe
représente le « cœur logique » de l’application.

🔹 tkinter : pour créer l’interface graphique


🔹 ttk : widgets modernes
🔹 messagebox : pop-ups d’alerte
🔹 string : listes de caractères
🔹 random : tirage aléatoire
🔹 Constructeur qui stocke :
✔ la longueur voulue
✔ options minuscules / majuscules / chiffres / symbols

🔹 chars = tous les caractères possibles


🔹 pwd = liste du mot de passe avant mélange
PARTIE 2 — Classe PasswordHistory
La deuxième partie du code est consacrée à la classe PasswordHistory, qui a pour rôle de
gérer l’historique des mots de passe générés. Son fonctionnement est volontairement
simple pour rester clair et efficace : elle contient une liste interne qui stocke les mots de
passe déjà générés. La méthode add() ajoute un mot de passe uniquement s’il n’est pas déjà
présent, ce qui évite les doublons et maintient un historique propre. De plus, les mots de
passe sont insérés au début de la liste, ce qui permet d’afficher en premier les plus récents
dans l’interface. La méthode list() renvoie simplement la liste complète pour qu’elle puisse
être affichée dans la Listbox. Cette classe respecte bien le principe POO de séparation des
responsabilités : elle s’occupe uniquement du stockage, sans intervenir dans la génération
ou l’affichage.
PARTIE 3 — Interface Graphique : constructeur + build_ui
La troisième partie concerne la classe PasswordGUI, qui gère toute l’interface graphique
Tkinter. Son constructeur crée la fenêtre principale, fixe son titre, sa taille, sa couleur de
fond et l'empêche d’être redimensionnée. Il instancie ensuite la classe PasswordGenerator
et PasswordHistory afin de connecter l’interface à la logique interne. La méthode build_ui()
construit tous les éléments visuels de l’application : un titre, un cadre blanc central, un
slider pour choisir la longueur, des cases à cocher pour sélectionner les types de caractères,
un bouton pour générer le mot de passe, une zone d’affichage du résultat, un bouton pour
copier le mot de passe, une barre de progression qui montre la force du mot de passe et
enfin une Listbox affichant l’historique. L’utilisation de [Link]() permet de styliser les
boutons et la barre de progression pour donner un rendu plus moderne. Cette partie est
essentielle, car elle transforme la logique abstraite du programme en une interface
utilisable et intuitive.
🔹 Construction de toute l’interface.

PARTIE 4 — Logique des interactions


La dernière partie du code regroupe les méthodes qui relient les actions de l’utilisateur à la
logique interne du programme. La méthode generate_pwd() récupère les paramètres
sélectionnés dans l’interface, génère le mot de passe, l’affiche dans l’entrée, l’ajoute dans
l’historique et met à jour la barre de force selon le score obtenu. La méthode
update_history() rafraîchit visuellement la Listbox en affichant la liste complète des mots de
passe générés. La méthode update_strength() colore la barre de progression en rouge,
orange ou vert selon la force du mot de passe, tout en mettant à jour le texte
d’accompagnement. La méthode copy_pwd() copie le mot de passe dans le presse-papier et
affiche un message de confirmation. Enfin, la méthode run() lance la boucle principale
Tkinter, qui permet à la fenêtre de rester ouverte et interactive. Cette partie sert de « pont »
entre l’interface et les classes internes : elle orchestre toutes les interactions pour offrir une
expérience fluide et complète.

Lignes 96–176 : Fonction build_ui()

Cette partie contient 100% des widgets Tkinter.

Style graphique :
🔹 Style moderne.
✅ 📌 PARTIE 4 — Logique de l’interface + lancement (lignes 178 → fin)
Méthode generate_pwd()

Lignes 178–200 :

🔹 Récupère les valeurs du slider et des cases


🔹 Génère un mot de passe
🔹 L’affiche
🔹 L’ajoute à l’historique
🔹 Met à jour la barre de force

Méthode update_strength()

Lignes 202–224 :

🔹 Change la valeur de la barre


🔹 Change la couleur selon score :

 < 40 → rouge

 < 70 → orange

 ≥ 70 → vert

🔹 Met à jour le texte « Faible / Moyen / Fort »

Vous aimerez peut-être aussi