Projet de création de commandes pour des comptes étudiants avec génération de mot de passe réalisé en première année de BTS SIO en C# sous Visual studio


Diagramme de cas d’utilisation

Explication du code

Le code est accessible dans le projet


DatagriedView: Ligne 25 à 32

Création du DataGridView avec quartes colonnes : nom, prénom, date, classe.


StreamReader: Ligne 34 à 50

StreamReader permet de lire un fichier. Donc on lit le fichier CSV et on récupère les données de chaque élève pour les afficher dans le DataGridView.


Générer: Ligne 52 à 57

Génération du DataGridView et blocage du bouton « charger » pour éviter de charger deux fois les élèves.


Création du mot de passe: Ligne 61 à 70

Quand on clique sur le bouton « Générer compte » :
   · le document bat s’ouvre et se met en « truncate » pour écraser l’ancien contenu s’il y a.
   · le document est ensuite fermé pour pouvoir être rouvert plus tard.
   · on crée une collection « Login ».
   · on crée une collection « mdp ».
   · on crée un tableau de lettres majuscules puis un tableau de lettres minuscules.
   · on crée une variable « Random » qui générera un nombre aléatoire.


Traitement des doublons: Ligne 71 à 107
  • Ouverture du doc bat pour écrire dedans (StreamWriter)
  • On crée une boucle « for » (pour) pour créer les logins.
  • On crée la variable « newLogin » pour écrire le login qu’on testera ensuite (pour éviter les doublons).
  • On crée la variable « existe » (on la met à « false » car on estime que le contenu « newLogin » n’existe pas encore).
  • On crée la variable « chiffre » pour ajouter un chiffre à la fin de chaque login (pour les personnes qui auraient la même première lettre de prénom et le même nom).
  • On réalise une boucle répétée pour tester les doublons.
  • On assigne « existe » à « false » pour éviter une boucle infinie.
  • On avait une collection « Login » que l’on va parcourir avec un « foreach » pour regarder si un Login correspond à « newLogin ». On va donc tester la ressemblance entre Login et newLogin. Si newLogin ressemble à un Login existant, on met « existe » à true.
  • On stoppe le foreach si « existe » est à « true » (pour éviter de continuer à parcourir la liste pour rien).
  • Le foreach fini, on teste si « existe » a été mis à « true » ; si oui, on rajoute à newLogin la variable chiffre.
  • On recommence toute la boucle tant que « existe » n’est pas à « false » (si on a plusieurs fois le même nom de compte, on aura par exemple rfourbier4).
  • Quand on sort de la boucle répéter, newLogin est ajouté à la collection de Login.
  • On crée le mot de passe avec une majuscule aléatoire, deux minuscules aléatoires, un chiffre, une majuscule aléatoire et une minuscule aléatoire.
  • On écrit ensuite la commande « dos » dans le document bat.