false, 'message' => 'Méthode non autorisée']); exit; } // CORRECTION : Utiliser les vraies clés de session if (!isset($_SESSION['user_id']) || $_SESSION['type_libelle'] !== 'enseignant') { echo json_encode(['success' => false, 'message' => 'Non autorisé']); exit; } $id_eleve = $_POST['id_eleve'] ?? null; if (!$id_eleve) { echo json_encode(['success' => false, 'message' => 'ID élève manquant']); exit; } try { $db = Database::getInstance()->getConnection(); $stmt = $db->prepare("SELECT login FROM utilisateurs WHERE id_utilisateur = ? AND id_type IN (2, 3)"); $stmt->execute([$id_eleve]); $eleve = $stmt->fetch(PDO::FETCH_ASSOC); if (!$eleve) { echo json_encode(['success' => false, 'message' => 'Élève non trouvé']); exit; } $nouveau_mdp = (strpos($eleve['login'], 'test.') === 0) ? 'test2025' : 'eleve2025'; $mdp_hash = password_hash($nouveau_mdp, PASSWORD_DEFAULT); $stmt = $db->prepare("UPDATE utilisateurs SET mot_de_passe = ? WHERE id_utilisateur = ?"); $stmt->execute([$mdp_hash, $id_eleve]); echo json_encode([ 'success' => true, 'message' => "Mot de passe réinitialisé avec succès à $nouveau_mdp", 'data' => [ 'login' => $eleve['login'], 'nouveau_mdp' => $nouveau_mdp ] ]); } catch (Exception $e) { echo json_encode(['success' => false, 'message' => 'Erreur serveur: ' . $e->getMessage()]); } ob_end_flush(); ?>