Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions actions/account.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,5 +43,20 @@
"region": "Aube",
"codePostal": "10000"
}
},
{
"id": "prof1",
"password": "prof1",
"role": "enseignant",
"prenom": "a",
"nom": "a",
"email": "a",
"telephone": "a",
"adresse": {
"rue": "a",
"ville": "a",
"region": "a",
"codePostal": "a"
}
}
]
2 changes: 1 addition & 1 deletion actions/genererVCard.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ export default async function genererVCard(rl = null) {
rl = readline.createInterface({ input, output });
ownRl = true;
}

//veferication de l'etat du fichier des comptes
try {
const jsonFile = path.join(process.cwd(), "actions", "account.json");

Expand Down
89 changes: 52 additions & 37 deletions menuLogin.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,53 +16,68 @@ export default async function menuLogin(rl = null) {

try {
while (true) {
console.log("\n---------------------------------------------------\n");
console.log("LOGIN");
console.log("1) Se connecter");
console.log("2) Créer un compte");
console.log("0) Quitter");
const choice = await rl.question("\nChoix > ");
try {
console.log("\n---------------------------------------------------\n");
console.log("LOGIN");
console.log("1) Se connecter");
console.log("2) Créer un compte");
console.log("0) Quitter");
const choice = await rl.question("\nChoix > ");

if (choice === '1') {
const id = await rl.question("Identifiant : ");
rl.pause();
const question = [
{
type: "password",
name: "password",
message: "Mot de passe : ",
mask: '*',
if (choice === '1') {
const id = await rl.question("Identifiant : ");
rl.pause();
const question = [
{
type: "password",
name: "password",
message: "Mot de passe : ",
mask: '*',
}
];

const password = await inquirer.prompt(question);
rl.resume();

let data;
try {
data = await fs.readFile(path.join(process.cwd(), "actions", "account.json"), "utf-8");
} catch (readErr) {
if (readErr.code === 'ENOENT') {
console.error(`${colors.red}\nErreur : Fichier de comptes introuvable (actions/account.json).${colors.reset}`);
console.error("Veuillez contacter l'administrateur ou créer un nouveau compte si possible.");
continue;
} else {
throw readErr;
}
}
];

const password = await inquirer.prompt(question);
rl.resume();
const data = await fs.readFile(path.join(process.cwd(), "actions", "account.json"), "utf-8");
const enseignants = JSON.parse(data);
const enseignants = JSON.parse(data);

const user = enseignants.find(e => e.id === id && e.password === password.password);
const user = enseignants.find(e => e.id === id && e.password === password.password);


if (user) {
console.log(`${colors.green}\nConnexion réussie ! Bienvenue ${user.prenom} ${user.nom}.${colors.reset}`);
return user;
} else {
console.log(`${colors.red}\nIdentifiant ou mot de passe incorrect.${colors.reset}`);
if (user) {
console.log(`${colors.green}\nConnexion réussie ! Bienvenue ${user.prenom} ${user.nom}.${colors.reset}`);
return user;
} else {
console.log(`${colors.red}\nIdentifiant ou mot de passe incorrect.${colors.reset}`);
continue;
}
}
else if (choice === '2') {
await ajoutAccount(rl);
continue;
}
}
else if (choice === '2') {
await ajoutAccount(rl);
continue;
}
else if (choice === '0') {
console.log("Vous avez quitté le logiciel.");
rl.close();
process.exit(0);
else if (choice === '0') {
console.log("Vous avez quitté le logiciel.");
rl.close();
process.exit(0);
}
} catch (err) {
console.error("Erreur lors de la connexion :", err);
}
}
} catch (err) {
console.error("Erreur lors de la connexion :", err);
} finally {
if (ownRl && rl) {
rl.close();
Expand Down