getConnection(); // Récupérer les statistiques globales $stmt = $db->query(" SELECT (SELECT COUNT(*) FROM utilisateurs WHERE id_type IN (2,3)) as nb_eleves, (SELECT COUNT(*) FROM classes WHERE actif = 1) as nb_classes, (SELECT COUNT(*) FROM utilisateurs WHERE id_type = 1) as nb_enseignants, (SELECT COUNT(*) FROM evaluations WHERE actif = 1) as nb_evaluations_actives, (SELECT COUNT(*) FROM evaluations) as nb_evaluations_total "); $stats = $stmt->fetch(); // Récupérer les évaluations récentes $stmt = $db->query(" SELECT e.id_evaluation, e.titre, e.type, e.actif, e.duree_minutes, e.note_totale, COUNT(DISTINCT q.id_question) as nb_questions, COUNT(DISTINCT t.id_eleve) as nb_participants FROM evaluations e LEFT JOIN questions q ON e.id_evaluation = q.id_evaluation LEFT JOIN tentatives_eleves t ON e.id_evaluation = t.id_evaluation GROUP BY e.id_evaluation ORDER BY e.id_evaluation DESC LIMIT 5 "); $evaluations_recentes = $stmt->fetchAll(); // Récupérer la liste des classes avec le nombre d'élèves $stmt = $db->query(" SELECT c.id_classe, c.nom_classe, c.niveau, c.type_classe, COUNT(u.id_utilisateur) as nb_eleves FROM classes c LEFT JOIN utilisateurs u ON c.id_classe = u.id_classe AND u.actif = 1 WHERE c.actif = 1 GROUP BY c.id_classe ORDER BY c.niveau, c.nom_classe "); $classes = $stmt->fetchAll(); // Récupérer les dernières connexions $stmt = $db->query(" SELECT u.login, u.nom, u.prenom, c.nom_classe, u.date_derniere_connexion FROM utilisateurs u LEFT JOIN classes c ON u.id_classe = c.id_classe WHERE u.id_type IN (2,3) AND u.date_derniere_connexion IS NOT NULL ORDER BY u.date_derniere_connexion DESC LIMIT 10 "); $dernieres_connexions = $stmt->fetchAll(); } catch (PDOException $e) { error_log("Erreur dashboard enseignant : " . $e->getMessage()); $stats = ['nb_eleves' => 0, 'nb_classes' => 0, 'nb_enseignants' => 0, 'nb_evaluations_actives' => 0, 'nb_evaluations_total' => 0]; $classes = []; $evaluations_recentes = []; $dernieres_connexions = []; } ?>
| Classe | Niveau | Type | Élèves | Actions |
|---|---|---|---|---|
| = htmlspecialchars($classe['nom_classe']) ?> | = htmlspecialchars($classe['niveau']) ?> | = ucfirst($classe['type_classe']) ?> | = $classe['nb_eleves'] ?> élève(s) |
Aucune classe active
| Élève | Classe | Dernière connexion |
|---|---|---|
|
= htmlspecialchars($connexion['prenom'] . ' ' . $connexion['nom']) ?>
= htmlspecialchars($connexion['login']) ?>
|
= htmlspecialchars($connexion['nom_classe'] ?? '-') ?> | format('d/m/Y à H:i'); ?> |
Aucune connexion récente