Téléverser les fichiers vers "/"

This commit is contained in:
2025-11-20 15:18:59 +00:00
commit 0fba1c611c
2 changed files with 97 additions and 0 deletions

View File

@@ -0,0 +1,67 @@
import pandas as pd
import random
import string
def generate_password():
"""
Génère un mot de passe aléatoire de 8 caractères contenant :
- Au moins 1 majuscule
- Au moins 1 minuscule
- Au moins 1 chiffre
- Au moins 1 caractère spécial
"""
# Définition des jeux de caractères
upper = string.ascii_uppercase
lower = string.ascii_lowercase
digits = string.digits
special = string.punctuation
# On s'assure d'avoir au moins un caractère de chaque type
password = [
random.choice(upper),
random.choice(lower),
random.choice(digits),
random.choice(special)
]
# On complète les 4 caractères restants avec un mélange de tous les types
all_chars = upper + lower + digits + special
password += [random.choice(all_chars) for _ in range(4)]
# On mélange les caractères pour que l'ordre soit aléatoire
random.shuffle(password)
# On convertit la liste en chaîne de caractères
return "".join(password)
def main():
input_file = "Projet 01 - happy_koalas_employees.csv"
output_file = "happy_koalas_employees_with_passwords.csv"
try:
# Lecture du fichier CSV (séparateur point-virgule)
print(f"Lecture du fichier {input_file}...")
df = pd.read_csv(input_file, sep=";")
# Nettoyage des colonnes vides éventuelles
df = df.dropna(axis=1, how='all')
# Génération des mots de passe pour chaque ligne
print("Génération des mots de passe...")
df['Password'] = df.apply(lambda x: generate_password(), axis=1)
# Sauvegarde dans un nouveau fichier
df.to_csv(output_file, sep=';', index=False)
print(f"Succès ! Le fichier a été sauvegardé sous : {output_file}")
# Affichage d'un aperçu
print("\nAperçu des 5 premiers utilisateurs :")
print(df[['FirstName', 'LastName', 'Password']].head())
except FileNotFoundError:
print(f"Erreur : Le fichier '{input_file}' est introuvable.")
except Exception as e:
print(f"Une erreur est survenue : {e}")
if __name__ == "__main__":
main()

30
readme.md Normal file
View File

@@ -0,0 +1,30 @@
# Générateur de Mots de Passe - Happy Koalas
Ce projet contient un script Python permettant d'automatiser la création de mots de passe sécurisés pour une liste d'employés contenue dans un fichier CSV.
## 📋 Description
Le script lit un fichier source (`.csv`) contenant les informations des employés, génère un mot de passe unique et aléatoire pour chacun selon des critères de sécurité stricts, et exporte le résultat dans un nouveau fichier.
### Critères de sécurité des mots de passe
Chaque mot de passe généré respecte les règles suivantes :
* **Longueur :** 8 caractères exactement.
* **Composition :**
* Au moins 1 lettre majuscule.
* Au moins 1 lettre minuscule.
* Au moins 1 chiffre.
* Au moins 1 caractère spécial (ponctuation).
## 🛠 Prérequis
Pour exécuter ce script, vous devez avoir installé :
* **Python 3.x**
* La bibliothèque **Pandas**
## ⚙️ Installation
1. **Cloner ou télécharger** les fichiers du projet.
2. **Installer les dépendances** via le terminal :
```bash
pip install pandas