{% extends "base.html" %} {% block title %}Dashboard Instructeur{% endblock %} {% block head %} {% endblock %} {% block body %}
{{ total_students }}
Étudiants inscrits
{{ submitted }}
Évaluations soumises
{{ in_progress }}
En cours
{% if avg_score is not none %}{{ avg_score }}/20{% else %}–{% endif %}
Moyenne de la classe
{% if grades %}

📊 Distribution des notes

{% set buckets = {'0-9': 0, '10-11': 0, '12-13': 0, '14-15': 0, '16-17': 0, '18-20': 0} %} {% for g in grades %} {% if g.total_score < 10 %}{% set _ = buckets.update({'0-9': buckets['0-9'] + 1}) %} {% elif g.total_score < 12 %}{% set _ = buckets.update({'10-11': buckets['10-11'] + 1}) %} {% elif g.total_score < 14 %}{% set _ = buckets.update({'12-13': buckets['12-13'] + 1}) %} {% elif g.total_score < 16 %}{% set _ = buckets.update({'14-15': buckets['14-15'] + 1}) %} {% elif g.total_score < 18 %}{% set _ = buckets.update({'16-17': buckets['16-17'] + 1}) %} {% else %}{% set _ = buckets.update({'18-20': buckets['18-20'] + 1}) %} {% endif %} {% endfor %} {% set max_count = [1, buckets.values() | max] | max %} {% for range_label, count in buckets.items() %}
{{ range_label }}
{% if count > 0 %}{{ count }}{% endif %}
{{ count }}
{% endfor %}
{% endif %}

📋 Résultats des étudiants

{{ grades | length }} évaluation(s) complétée(s)
{% if grades %}
{% for g in grades %} {% set score = g.total_score %} {% endfor %}
Étudiant QCM /12 Cas /8 Total /20 Mention Soumis le Détail
{{ g.full_name }}
{{ g.email }}
{{ "%.1f"|format(g.quiz_score) }} {{ "%.1f"|format(g.usecase_score) }}
{{ "%.1f"|format(score) }}
{% if score >= 16 %}Très bien {% elif score >= 14 %}Bien {% elif score >= 12 %}Assez bien {% elif score >= 10 %}Passable {% else %}Insuffisant{% endif %} {% if g.submitted_at %} {{ g.submitted_at[:16].replace('T', ' ') }} {% else %}–{% endif %} Voir détail →
{% else %}
📭

Aucune évaluation soumise pour le moment

Les résultats apparaîtront ici une fois les étudiants connectés

{% endif %}
{% endblock %}