« A portée de main, toutes les informations sur mon parcours. »


BTS Services Informatiques aux Organisations, un parcours passionnant au cœur des technologies et de l’innovation.

genererLoginToulouse.py

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 python3
import csv
import unicodedata
def 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}")