`;
}
recap += `
Compréhension :
${comprehension}
Engagement :
${engagement}
`;
if (commentaire) {
recap += `
Commentaire :
${commentaire}
`;
}
document.getElementById('recapContent').innerHTML = recap;
genererListeDuplication();
showStep(7);
}
function getLevelClass(level) {
switch(level) {
case 'Excellent': return 'level-excellent';
case 'Bon': return 'level-bon';
case 'Moyen': return 'level-moyen';
case 'Faible': return 'level-faible';
default: return '';
}
}
function genererListeDuplication() {
const eleveActuelElem = document.querySelector('input[name="eleve"]:checked');
const eleveActuel = eleveActuelElem.value;
const tousEleves = Array.from(document.querySelectorAll('input[name="eleve"]'))
.map(input => input.value)
.filter(val => val !== eleveActuel && !elevesEvalues.includes(val));
const duplicationGroup = document.getElementById('duplicationGroup');
duplicationGroup.innerHTML = '';
if (tousEleves.length === 0) {
duplicationGroup.innerHTML = '
Tous les élèves ont été évalués.
';
} else {
tousEleves.forEach((eleve, index) => {
const div = document.createElement('div');
div.className = 'checkbox-item';
div.innerHTML = `
`;
duplicationGroup.appendChild(div);
});
}
}
function validerEvaluation() {
const eleveElem = document.querySelector('input[name="eleve"]:checked');
const eleve = eleveElem.value;
const comprehension = document.querySelector('input[name="comprehension"]:checked').value;
const engagement = document.querySelector('input[name="engagement"]:checked').value;
const alerteElem = document.querySelector('input[name="alerte"]:checked');
const alerte = alerteElem ? alerteElem.value : 'Non';
const commentaire = document.getElementById('commentaire').value.trim();
evaluations.push({
eleve,
chapitres: chapitresSelectionnes,
comprehension,
engagement,
alerte,
commentaire
});
elevesEvalues.push(eleve);
const duplications = Array.from(document.querySelectorAll('input[name="duplication"]:checked'))
.map(ch => ch.value);
if (duplications.length > 0) {
duplications.forEach(eleveNom => {
evaluations.push({
eleve: eleveNom,
chapitres: chapitresSelectionnes,
comprehension,
engagement,
alerte,
commentaire
});
elevesEvalues.push(eleveNom);
});
}
afficherHistorique();
const elevesRestants = Array.from(document.querySelectorAll('input[name="eleve"]'))
.map(input => input.value)
.filter(val => !elevesEvalues.includes(val));
if (elevesRestants.length === 0) {
document.getElementById('historique').style.display = 'block';
document.getElementById('evaluationForm').style.display = 'none';
} else {
document.getElementById('historique').style.display = 'block';
}
}
function afficherHistorique() {
const liste = document.getElementById('listeEvaluations');
liste.innerHTML = '';
evaluations.forEach((eval, index) => {
const div = document.createElement('div');
div.className = 'evaluation-item';
const compClass = getLevelClass(eval.comprehension);
const engClass = getLevelClass(eval.engagement);
const alertClass = eval.alerte === 'Oui' ? 'alert-yes' : 'alert-no';
let content = `
👤 ${eval.eleve}
`;
if (eval.chapitres) {
content += `
Chapitres :
${eval.chapitres}
`;
}
content += `
Compréhension :
${eval.comprehension}
Engagement :
${eval.engagement}
`;
if (eval.commentaire) {
content += `
Commentaire :
${eval.commentaire}
`;
}
div.innerHTML = content;
liste.appendChild(div);
});
}
function ouvrirModale(index) {
indexModification = index;
const eval = evaluations[index];
// Remplir les champs de la modale
document.getElementById('modalEleve').value = eval.eleve;
document.getElementById('modalChapitres').value = eval.chapitres || '';
document.getElementById('modalCommentaire').value = eval.commentaire || '';
// Sélectionner les radios de compréhension
document.querySelectorAll('input[name="modalComprehension"]').forEach(radio => {
radio.checked = radio.value === eval.comprehension;
});
// Sélectionner les radios d'engagement
document.querySelectorAll('input[name="modalEngagement"]').forEach(radio => {
radio.checked = radio.value === eval.engagement;
});
// Sélectionner les radios d'alerte
document.querySelectorAll('input[name="modalAlerte"]').forEach(radio => {
radio.checked = radio.value === eval.alerte;
});
// Afficher la modale
const overlay = document.getElementById('evalModalOverlay');
overlay.classList.add('active');
// Empêcher le scroll du body
document.body.style.overflow = 'hidden';
}
function fermerModale() {
const overlay = document.getElementById('evalModalOverlay');
overlay.classList.remove('active');
indexModification = -1;
// Réactiver le scroll du body
document.body.style.overflow = '';
}
function sauvegarderModification() {
if (indexModification === -1) return;
// Récupérer les nouvelles valeurs
const chapitres = document.getElementById('modalChapitres').value.trim();
const comprehension = document.querySelector('input[name="modalComprehension"]:checked')?.value;
const engagement = document.querySelector('input[name="modalEngagement"]:checked')?.value;
const alerte = document.querySelector('input[name="modalAlerte"]:checked')?.value;
const commentaire = document.getElementById('modalCommentaire').value.trim();
// Validation
if (!comprehension) {
alert('Veuillez sélectionner un niveau de compréhension');
return;
}
if (!engagement) {
alert('Veuillez sélectionner un niveau d\'engagement');
return;
}
if (!alerte) {
alert('Veuillez sélectionner une option pour l\'alerte');
return;
}
// Mettre à jour l'évaluation
evaluations[indexModification] = {
...evaluations[indexModification],
chapitres,
comprehension,
engagement,
alerte,
commentaire
};
// Rafraîchir l'affichage
afficherHistorique();
// Fermer la modale
fermerModale();
}
// Fermer la modale en cliquant en dehors
document.getElementById('evalModalOverlay').addEventListener('click', function(e) {
if (e.target === this) {
fermerModale();
}
});
function nouvelleEvaluation() {
const elevesRestants = Array.from(document.querySelectorAll('input[name="eleve"]'))
.map(input => input.value)
.filter(val => !elevesEvalues.includes(val));
if (elevesRestants.length === 0) {
alert('Tous les élèves ont été évalués !');
return;
}
document.querySelectorAll('input[name="eleve"]').forEach(r => r.checked = false);
document.querySelectorAll('input[name="comprehension"]').forEach(r => r.checked = false);
document.querySelectorAll('input[name="engagement"]').forEach(r => r.checked = false);
document.querySelector('input[value="Non"][name="alerte"]').checked = true;
document.getElementById('commentaire').value = '';
document.querySelectorAll('input[name="eleve"]').forEach(input => {
const parentItem = input.closest('.radio-item');
if (elevesEvalues.includes(input.value)) {
parentItem.style.display = 'none';
input.disabled = true;
}
});
document.getElementById('historique').style.display = 'none';
document.getElementById('evaluationForm').style.display = 'block';
showStep(2);
}
function terminer() {
if (confirm('Voulez-vous vraiment terminer les évaluations ?')) {
alert('Évaluations terminées ! ' + evaluations.length + ' élève(s) évalué(s).');
}
}
updateProgress();