CENTRE INFORMATIQUE
{{ student.department ? student.department.name : 'Centre Informatique' }}
Relevé de Notes
Année Académique {{ generatedAt|date('Y') }}
Informations de l'Étudiant
Nom Complet: {{ student.firstName }} {{ student.lastName }}
Matricule: {{ student.matricule }}
Département: {{ student.department ? student.department.name : 'Non assigné' }}
Niveau: {{ student.level ? student.level.name : 'Non assigné' }}
Date de naissance: {{ student.dateOfBirth ? student.dateOfBirth|date('d/m/Y') : 'Non renseignée' }}
Email: {{ student.email ?: 'Non renseigné' }}
{% if grades %} {% set gradesBySemester = {} %} {% for gradeData in grades %} {% set course = gradeData.course %} {% set grade = gradeData.grade %} {% set hasGrades = gradeData.hasGrades %} {% set semesterKey = course.semester.number %} {% if gradesBySemester[semesterKey] is not defined %} {% set gradesBySemester = gradesBySemester|merge({(semesterKey): []}) %} {% endif %} {% set gradesBySemester = gradesBySemester|merge({(semesterKey): gradesBySemester[semesterKey]|merge([gradeData])}) %} {% endfor %} {% for semesterNumber, semesterGrades in gradesBySemester %}
Semestre {{ semesterNumber }}
{% set totalPoints = 0 %} {% set totalCoeff = 0 %} {% set gradesCount = 0 %} {% for gradeData in semesterGrades %} {% set course = gradeData.course %} {% set grade = gradeData.grade %} {% set hasGrades = gradeData.hasGrades %} {% if hasGrades and grade %} {% set finalGrade = grade.calculateFinalGrade() %} {% set points = finalGrade * (course.credits ?: 1) %} {% set totalPoints = totalPoints + points %} {% set totalCoeff = totalCoeff + (course.credits ?: 1) %} {% set gradesCount = gradesCount + 1 %} {% else %} {% endif %} {% endfor %}
Matière Note 1 Note 2 Note 3 Note 4 Moyenne Statut
{{ course.name }} {{ grade.grade1 ?: '0' }} {{ grade.grade2 ?: '0' }} {{ grade.grade3 ?: '0' }} {{ grade.grade4 ?: '0' }} {{ finalGrade ? (finalGrade|number_format(2)) : '0.00' }} {{ translateStatus(grade.status) }}
{{ course.name }} 0 0 0 0 0.00 Non évalué
MOYENNE SEMESTRE {{ semesterNumber }} {{ totalCoeff > 0 ? ((totalPoints / totalCoeff)|number_format(2)) : '0.00' }} {% set average = totalCoeff > 0 ? (totalPoints / totalCoeff) : 0 %} {% if average >= 10 %} VALIDÉ {% else %} NON VALIDÉ {% endif %}
{% endfor %} {% set grandTotalPoints = 0 %} {% set grandTotalCoeff = 0 %} {% set validatedSemesters = 0 %} {% for semesterNumber, semesterGrades in gradesBySemester %} {% set semesterPoints = 0 %} {% set semesterCoeff = 0 %} {% for gradeData in semesterGrades %} {% set course = gradeData.course %} {% set grade = gradeData.grade %} {% set hasGrades = gradeData.hasGrades %} {% if hasGrades and grade %} {% set finalGrade = grade.calculateFinalGrade() %} {% set points = finalGrade * (course.credits ?: 1) %} {% set semesterPoints = semesterPoints + points %} {% set semesterCoeff = semesterCoeff + (course.credits ?: 1) %} {% endif %} {% endfor %} {% set grandTotalPoints = grandTotalPoints + semesterPoints %} {% set grandTotalCoeff = grandTotalCoeff + semesterCoeff %} {% if semesterCoeff > 0 and (semesterPoints / semesterCoeff) >= 10 %} {% set validatedSemesters = validatedSemesters + 1 %} {% endif %} {% endfor %}
Résumé Académique
{{ grandTotalCoeff > 0 ? ((grandTotalPoints / grandTotalCoeff)|number_format(2)) : 'N/A' }}
Moyenne Générale
{{ validatedSemesters }}
Semestres Validés
{{ grades|length }}
Total Matières
{% else %}

Aucune note disponible

Aucune évaluation n'a été enregistrée pour cet étudiant.

{% endif %}
Validation Administrative
Date: {{ generatedAt|date('d/m/Y') }}
Signature et Cachet de l'Administration