1. What is a citizen?
Bonne réponse : A person who lives in a city or country and has rights and duties
Explication : Un·e citoyen·ne est une personne qui vit dans un pays ou une ville avec des droits et des devoirs.
A is someone who behaves responsibly online.
Bonne réponse : digital citizen
Explication : Le citoyen numérique est celui qui adopte un comportement responsable sur Internet.
3. Which of these is a responsible behavior online?
Bonne réponse : Respecting other people’s opinions
Explication : Un·e citoyen·ne numérique respecte les autres et évite les propos blessants.
Traduis : “Take breaks when you use the Internet.”
Bonne réponse : Fais des pauses quand tu utilises Internet
Variantes acceptées : Prends des pauses pendant ton utilisation d’Internet
Don’t share your on unknown websites.
Bonne réponse : personal information
Explication : Ne jamais partager ses informations personnelles (nom, adresse, etc.) sur des sites peu fiables.
6. What should you do before posting something online?
Bonne réponse : Think carefully about what you write
Explication : Avant de publier, il est important de réfléchir à l’impact possible.
Traduis : “A digital citizen respects the law and the terms of use.”
Bonne réponse : Un citoyen numérique respecte la loi et les conditions d’utilisation
Variantes acceptées : Un·e citoyen·ne du numérique respecte les lois et les CGU
.question { font-weight: bold; }
.choices label { display: block; margin-bottom: 4px; }
.good { color: green; }
.bad { color: red; }
.answer { margin-top: 10px; background: #f3f3f3; padding: 8px; }
.helper { margin-top: 5px; display: block; }
input.correct { border: 2px solid green; }
input.incorrect { border: 2px solid red; }
document.addEventListener(‘click’, function (e) {
if (e.target.matches(‘input[type=radio]’)) {
const isCorrect = e.target.dataset.answer === « true »;
const questionId = e.target.dataset.questionId;
const inputs = document.querySelectorAll(`input[name=q${questionId}]`);
inputs.forEach(i => i.parentElement.classList.remove(‘good’, ‘bad’));
e.target.parentElement.classList.add(isCorrect ? ‘good’ : ‘bad’);
updateScore();
}
if (e.target.matches(‘.js-show-answer’)) {
const answerDiv = e.target.nextElementSibling;
answerDiv.hidden = !answerDiv.hidden;
e.target.setAttribute(‘aria-expanded’, !answerDiv.hidden);
}
});
function updateScore() {
let total = 0;
document.querySelectorAll(‘[data-type= »qcm »]’).forEach(article => {
const selected = article.querySelector(‘input[type=radio]:checked’);
if (selected && selected.dataset.answer === « true ») total++;
});
document.querySelectorAll(‘[data-type= »cloze »]’).forEach(article => {
const input = article.querySelector(‘input’);
if (input.value.trim().toLowerCase() === input.dataset.answer.toLowerCase()) {
input.classList.add(‘correct’);
input.classList.remove(‘incorrect’);
total++;
} else if (input.value !== « ») {
input.classList.add(‘incorrect’);
input.classList.remove(‘correct’);
}
});
document.querySelectorAll(‘[data-type= »traduction »]’).forEach(article => {
const input = article.querySelector(‘input’);
const expected = input.dataset.answer.toLowerCase().trim();
if (input.value.trim().toLowerCase() === expected) {
input.classList.add(‘correct’);
input.classList.remove(‘incorrect’);
total++;
} else if (input.value !== « ») {
input.classList.add(‘incorrect’);
input.classList.remove(‘correct’);
}
});
document.getElementById(‘score’).textContent = `Score : ${total}/7`;
}