userMgr->login($username, $password)) { return true; } else { echo "Erreur de connexion. Essayez encore.\n"; sleep(2); return false; } } catch (\Exception $e) { // Handle other exceptions echo "Une erreur s'est produite : " . $e->getMessage() . "\n"; sleep(2); return false; } } function registerUser(DataManager $model) { try { echo "\nEntrez votre nom: "; $nom = trim(fgets(STDIN)); echo "Entrez votre prénom: "; $prenom = trim(fgets(STDIN)); echo "Entrez votre adresse email: "; $email = trim(fgets(STDIN)); echo "Entrez votre mot de passe: "; $motDePasse = trim(fgets(STDIN)); echo "Entrez votre sexe ( M :Homme / F :Femme ): "; $sexe = trim(fgets(STDIN)); echo "Entrez votre taille (en mètres): "; $taille = floatval(trim(fgets(STDIN))); echo "Entrez votre poids (en kilogrammes): "; $poids = floatval(trim(fgets(STDIN))); echo "Entrez votre date de naissance (au format YYYY-MM-DD): "; $dateNaissanceStr = trim(fgets(STDIN)); $dateNaissance = new \DateTime($dateNaissanceStr); if (!$dateNaissance) { throw new \Exception("Date de naissance non valide. Format attendu : YYYY-MM-DD"); } echo "Entrez votre rôle (ex. Athlete,Coach , etc.): "; $roleName = trim(fgets(STDIN)); $registrationData = [ 'nom' => $nom, 'prenom' => $prenom, 'email' => $email, 'sexe' => $sexe, 'taille' => $taille, 'poids' => $poids, 'dateNaissance' => $dateNaissance, 'roleName' => $roleName ]; if ($model->userMgr->register($email, $motDePasse,$registrationData)) { echo "Inscription réussie. Connexion automatique...\n"; return true; } else { echo "L'inscription a échoué. Veuillez réessayer.\n"; return false; } } catch (\Exception $e) { echo "Erreur lors de l'inscription : " . $e->getMessage() . "\n"; sleep(2); return false; } } // const auth = getAuth(); // signInWithEmailAndPassword(auth, email, password) // const auth = getAuth(); // signOut(auth).then(() => { // // Sign-out successful. // }).catch((error) => { // // An error happened. // }); while (true) { $loggedIn = false; if (!$loggedIn) { displayAuthMenu(); $choice = trim(fgets(STDIN)); switch ($choice) { case '1': // Se connecter if (loginUser($model)) { $loggedIn = true; } break; case '2': // S'inscrire if (registerUser($model)) { $loggedIn = true; } break; case '0': // Quitter echo "Merci d'avoir utilisé notre application. Au revoir !\n"; exit(0); default: echo "Option invalide. Veuillez réessayer.\n"; break; } } if ($loggedIn){ while ($loggedIn) { displayMainMenu(); $mainChoice = trim(fgets(STDIN)); switch ($mainChoice) { case '1': // Accueil echo "Affichage de l'accueil...\n"; break; case '2': // Profil displayProfileMenu(); $profileChoice = trim(fgets(STDIN)); // TODO: Ajouter la logique pour les options de profil ici. break; case '3': // Analyse de la fréquence cardiaque displayHeartRateAnalysisMenu(); $analysisChoice = trim(fgets(STDIN)); // TODO: Ajouter la logique pour les options d'analyse ici. break; case '4': // Gestion sociale displaySocialManagementMenu(); $socialChoice = trim(fgets(STDIN)); // TODO: Ajouter la logique pour les options de gestion sociale ici. break; case '5': // Athlètes (pour les Coachs seulement) displayCoachMenu(); $coachChoice = trim(fgets(STDIN)); // TODO: Ajouter la logique pour les options de coach ici. break; case '6': // Paramètres displaySettingsMenu(); $settingsChoice = trim(fgets(STDIN)); // TODO: Ajouter la logique pour les options de paramètres ici. break; case '7': // Notifications echo "Affichage des notifications...\n"; break; case '0': // Se déconnecter $loggedIn = false; break; // Sortir de la boucle interne pour revenir à l'écran d'authentification. default: echo "Option invalide. Veuillez réessayer.\n"; break; } } } } ?>