Ce script crée des comptes utilisateurs en combinant les initiales du prénom et le nom normalisé pour générer le login, puis associe chaque login à un mot de passe existant. Le tout est écrit dans un fichier CSV avec colonnes login, password, lastname, firstname.
#!/usr/bin/env python3import csvimport unicodedatadef normaliser_chaine(chaine): chaine = unicodedata.normalize('NFD', chaine) chaine = chaine.encode('ascii', 'ignore').decode('utf-8') chaine = chaine.replace(" ", "").replace("-", "") return chaine.lower()fichier_users = "usersToulouse.csv"fichier_passwords = "usersPassword2.csv"fichier_sortie = "loginToulouse.csv"users = []with open(fichier_users, newline='', encoding="latin-1") as f: reader = csv.DictReader(f, delimiter=';') for row in reader: users.append([row["givenName"].strip(), row["sn"].strip()])passwords = []with open(fichier_passwords, newline='', encoding="utf-8") as f: reader = csv.DictReader(f) for row in reader: passwords.append(row["password"])nb_comptes = min(len(users), len(passwords))with open(fichier_sortie, "w", newline='', encoding="utf-8") as f: writer = csv.writer(f, delimiter=';') writer.writerow(["login", "password", "lastname", "firstname"]) for i in range(nb_comptes): firstname, lastname = users[i] login = normaliser_chaine(firstname[0] + lastname) writer.writerow([ login, passwords[i], lastname.upper(), firstname.capitalize() ])print(f"{nb_comptes} comptes générés dans {fichier_sortie}")