Exercice de Grammaire: La Place de l’Adjectif

body {
font-family: ‘Segoe UI’, Tahoma, Geneva, Verdana, sans-serif;
max-width: 100%;
margin: 0 auto;
padding: 20px;
background-color: #f9f9f9;
}
h1, h2, h3 {
color: #2c3e50;
}
.container {
background-color: white;
padding: 30px;
border-radius: 10px;
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
max-width: 100%;
}
.subscription-form {
background-color: #e8f4f8;
padding: 20px;
border-radius: 8px;
margin-bottom: 30px;
}
.exercise-container {
display: none;
}
.form-group {
margin-bottom: 15px;
}
label {
display: block;
margin-bottom: 5px;
font-weight: bold;
}
input, select {
width: 100%;
padding: 10px;
border: 1px solid #ddd;
border-radius: 4px;
font-size: 16px;
}
button {
background-color: #3498db;
color: white;
border: none;
padding: 12px 20px;
border-radius: 4px;
cursor: pointer;
font-size: 16px;
transition: background-color 0.3s;
}
button:hover {
background-color: #2980b9;
}
.exercise-text {
line-height: 2;
font-size: 18px;
}
.adjective {
font-weight: bold;
color: #3498db;
}
.result {
margin-top: 30px;
padding: 20px;
background-color: #eafaf1;
border-radius: 8px;
display: none;
}
.badge {
text-align: center;
margin-top: 30px;
padding: 20px;
display: none;
}
.difficulty-selector {
margin-bottom: 20px;
}
.error {
color: red;
font-size: 14px;
}
#badgePreview {
position: relative;
width: 300px;
height: 300px;
margin: 0 auto;
overflow: hidden;
}
.badge-outer {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border-radius: 50%;
background: linear-gradient(45deg, #3498db, #2980b9, #1abc9c, #16a085);
display: flex;
justify-content: center;
align-items: center;
}
.badge-inner {
width: 90%;
height: 90%;
border-radius: 50%;
background-color: white;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
padding: 15px;
box-sizing: border-box;
}
.badge-title {
font-size: 16px;
font-weight: bold;
margin-bottom: 10px;
color: #2c3e50;
}
.badge-name {
font-size: 18px;
font-weight: bold;
margin-bottom: 5px;
color: #3498db;
}
.badge-info {
font-size: 14px;
margin-bottom: 5px;
text-align: center;
}
.rules-section {
background-color: #f0f8ff;
padding: 15px;
border-radius: 8px;
margin-bottom: 20px;
border-left: 4px solid #3498db;
}
.rules-toggle {
margin-bottom: 15px;
text-decoration: underline;
color: #3498db;
cursor: pointer;
}
.hint-button {
background-color: #f39c12;
color: white;
padding: 5px 10px;
border-radius: 4px;
cursor: pointer;
font-size: 12px;
margin-left: 10px;
vertical-align: middle;
}
.hint-button:hover {
background-color: #e67e22;
}
.question-container {
margin-bottom: 20px;
border-bottom: 1px solid #eee;
padding-bottom: 15px;
}
.correct {
color: green;
}
.incorrect {
color: red;
}
.sentence-options {
display: flex;
flex-direction: column;
gap: 10px;
margin: 10px 0;
}
.sentence-option {
padding: 10px;
border: 1px solid #ddd;
border-radius: 4px;
cursor: pointer;
transition: background-color 0.2s;
}
.sentence-option:hover {
background-color: #f0f8ff;
}
.sentence-option.selected {
background-color: #e8f4f8;
border-color: #3498db;
}
.badge-download-area {
margin-top: 20px;
text-align: center;
}
.progress-bar {
height: 10px;
background-color: #ecf0f1;
border-radius: 5px;
margin-bottom: 20px;
overflow: hidden;
}
.progress {
height: 100%;
background-color: #3498db;
width: 0%;
transition: width 0.5s;
}

Exercice de Grammaire: La Place de l’Adjectif

Inscrivez-vous pour commencer l’exercice

Veuillez remplir vos informations pour accéder à l’exercice.

Choisissez la formulation correcte

Afficher les règles de placement des adjectifs

Règles de placement des adjectifs en français

En français, la place de l’adjectif par rapport au nom qu’il qualifie est importante. Généralement:

  • Après le nom (position la plus courante):
    • Adjectifs de forme, de couleur: une table ronde, une voiture rouge
    • Adjectifs de catégorie, religion, nationalité: un film américain, une église catholique
    • Adjectifs dérivés de verbes: une histoire amusante, un livre intéressant
    • Adjectifs techniques, scientifiques: un problème informatique, une analyse économique
    • Adjectifs longs (en général): une situation extraordinaire
  • Avant le nom:
    • Adjectifs courts et fréquents: petit chat, belle maison, jeune homme
    • Adjectifs ordinaux: premier jour, deuxième étage
    • Certains adjectifs courants: bon, mauvais, grand, petit, joli, beau, nouveau, vieux, autre, etc.
  • Cas particuliers:
    • Certains adjectifs changent de sens selon leur position: un grand homme (important) / un homme grand (de taille)
    • Lorsque plusieurs adjectifs qualifient un même nom, ils suivent généralement les règles ci-dessus individuellement

Choisissez le niveau de difficulté:

Facile
Moyen
Difficile

Niveau Facile

Pour chaque question, choisissez la formulation correcte avec l’adjectif en bleu.

Niveau Moyen

Pour chaque question, choisissez la formulation correcte avec l’adjectif en bleu.

Niveau Difficile

Pour chaque question, choisissez la formulation correcte avec l’adjectif en bleu. Attention aux nuances de sens!

Résultat

A+

Badge de Maîtrise
Place de l’Adjectif
Niveau:
Score: %

Votre badge est prêt! Cliquez sur le bouton ci-dessous pour le télécharger.

// Variables globales
let currentDifficulty = ‘facile’;
let userInfo = {
prenom: ”,
nom: ”,
email: ”
};
let currentScore = 0;
let badgePDF = null;
let currentQuestionIndex = 0;

// Données reformulées des questions pour chaque niveau
const questionsFacile = [
{
id: 1,
options: [
“J’ai acheté une nouvelle voiture.”,
“J’ai acheté une voiture nouvelle.”
],
correctIndex: 0,
explanation: “L’adjectif ‘nouveau/nouvelle’ fait partie des adjectifs courts et fréquents qui se placent généralement avant le nom.”
},
{
id: 2,
options: [
“Elle porte une rouge robe.”,
“Elle porte une robe rouge.”
],
correctIndex: 1,
explanation: “Les adjectifs de couleur se placent après le nom en français.”
},
{
id: 3,
options: [
“Il a un grand jardin.”,
“Il a un jardin grand.”
],
correctIndex: 0,
explanation: “L’adjectif ‘grand’ est un adjectif court et fréquent qui se place généralement avant le nom.”
},
{
id: 4,
options: [
“Nous avons visité un historique monument.”,
“Nous avons visité un monument historique.”
],
correctIndex: 1,
explanation: “Les adjectifs techniques ou scientifiques se placent après le nom.”
},
{
id: 5,
options: [
“C’est une jolie maison.”,
“C’est une maison jolie.”
],
correctIndex: 0,
explanation: “L’adjectif ‘joli’ fait partie des adjectifs courts et fréquents qui se placent avant le nom.”
},
{
id: 6,
options: [
“Ils ont acheté une ronde table.”,
“Ils ont acheté une table ronde.”
],
correctIndex: 1,
explanation: “Les adjectifs de forme se placent après le nom.”
},
{
id: 7,
options: [
“J’ai rencontré un vieil ami.”,
“J’ai rencontré un ami vieil.”
],
correctIndex: 0,
explanation: “L’adjectif ‘vieux/vieil’ fait partie des adjectifs courts et fréquents qui se placent avant le nom.”
},
{
id: 8,
options: [
“Nous avons mangé un délicieux gâteau.”,
“Nous avons mangé un gâteau délicieux.”
],
correctIndex: 1,
explanation: “Les adjectifs de qualité comme ‘délicieux’ se placent généralement après le nom.”
},
{
id: 9,
options: [
“C’est le premier jour.”,
“C’est le jour premier.”
],
correctIndex: 0,
explanation: “Les adjectifs ordinaux (premier, deuxième, etc.) se placent avant le nom.”
},
{
id: 10,
options: [
“Il vient d’un lointain pays.”,
“Il vient d’un pays lointain.”
],
correctIndex: 1,
explanation: “Les adjectifs de distance ou de position se placent généralement après le nom.”
}
];

const questionsMoyen = [
{
id: 1,
options: [
“Elle porte un français parfum.”,
“Elle porte un parfum français.”
],
correctIndex: 1,
explanation: “Les adjectifs de nationalité se placent après le nom en français.”
},
{
id: 2,
options: [
“Nous avons eu une bonne idée.”,
“Nous avons eu une idée bonne.”
],
correctIndex: 0,
explanation: “L’adjectif ‘bon/bonne’ fait partie des adjectifs courts et fréquents qui se placent avant le nom.”
},
{
id: 3,
options: [
“Il travaille dans une internationale entreprise.”,
“Il travaille dans une entreprise internationale.”
],
correctIndex: 1,
explanation: “Les adjectifs longs et techniques comme ‘international’ se placent après le nom.”
},
{
id: 4,
options: [
“C’est un autre problème.”,
“C’est un problème autre.”
],
correctIndex: 0,
explanation: “L’adjectif ‘autre’ se place presque toujours avant le nom.”
},
{
id: 5,
options: [
“Nous avons visité un célèbre musée.”,
“Nous avons visité un musée célèbre.”
],
correctIndex: 1,
explanation: “Les adjectifs de réputation comme ‘célèbre’ se placent généralement après le nom.”
},
{
id: 6,
options: [
“Il a une longue barbe.”,
“Il a une barbe longue.”
],
correctIndex: 0,
explanation: “L’adjectif ‘long/longue’ fait partie des adjectifs courants qui se placent généralement avant le nom, surtout quand il est utilisé dans un sens figuré ou pour des caractéristiques physiques simples.”
},
{
id: 7,
options: [
“Ils ont publié un scientifique article.”,
“Ils ont publié un article scientifique.”
],
correctIndex: 1,
explanation: “Les adjectifs techniques et scientifiques se placent après le nom.”
},
{
id: 8,
options: [
“C’est une dernière chance.”,
“C’est une chance dernière.”
],
correctIndex: 0,
explanation: “L’adjectif ‘dernier/dernière’ fait partie des adjectifs ordinaux qui se placent avant le nom.”
},
{
id: 9,
options: [
“Nous avons écouté une italienne chanson.”,
“Nous avons écouté une chanson italienne.”
],
correctIndex: 1,
explanation: “Les adjectifs de nationalité se placent après le nom.”
},
{
id: 10,
options: [
“Elle a un magnifique sourire.”,
“Elle a un sourire magnifique.”
],
correctIndex: 0,
explanation: “Bien que ‘magnifique’ soit un adjectif plutôt long, il fait partie des adjectifs d’appréciation qui peuvent se placer avant le nom, surtout dans un contexte plus littéraire ou expressif.”
}
];

const questionsDifficile = [
{
id: 1,
options: [
“C’est un grand homme.”,
“C’est un homme grand.”
],
correctIndex: 0,
explanation: “Dans l’expression ‘un grand homme’, l’adjectif ‘grand’ placé avant le nom signifie ‘important, illustre’ (changement de sens selon la position).”
},
{
id: 2,
options: [
“J’ai rencontré un grand homme.”,
“J’ai rencontré un homme grand.”
],
correctIndex: 1,
explanation: “Dans l’expression ‘un homme grand’, l’adjectif ‘grand’ placé après le nom indique simplement la taille physique (changement de sens selon la position).”
},
{
id: 3,
options: [
“Elle cherche une simple solution.”,
“Elle cherche une solution simple.”
],
correctIndex: 0,
explanation: “L’adjectif ‘simple’ peut se placer avant le nom quand il exprime une qualité subjective ou une appréciation.”
},
{
id: 4,
options: [
“Il a trouvé une simple solution.”,
“Il a trouvé une solution simple.”
],
correctIndex: 1,
explanation: “Bien que ‘simple’ puisse se placer avant le nom, il est aussi correct de le placer après, surtout quand on veut insister sur la caractéristique objective.”
},
{
id: 5,
options: [
“C’est un ancien professeur.”,
“C’est un professeur ancien.”
],
correctIndex: 0,
explanation: “L’adjectif ‘ancien’ placé avant le nom signifie ‘qui n’est plus en fonction’ (il n’est plus professeur maintenant).”
},
{
id: 6,
options: [
“Nous avons visité un ancien temple.”,
“Nous avons visité un temple ancien.”
],
correctIndex: 1,
explanation: “L’adjectif ‘ancien’ placé après le nom signifie ‘qui date d’une époque lointaine’ (le temple est vieux, d’une autre époque).”
},
{
id: 7,
options: [
“Il porte un certain regard.”,
“Il porte un regard certain.”
],
correctIndex: 0,
explanation: “L’adjectif ‘certain’ placé avant le nom a le sens de ‘un type particulier de’ (un regard d’un certain type).”
},
{
id: 8,
options: [
“Cette information est certaine.”,
“Cette certaine information est vraie.”
],
correctIndex: 0,
explanation: “L’adjectif ‘certain(e)’ placé après le nom signifie ‘sûr, indubitable’ (l’information est sûre).”
},
{
id: 9,
options: [
“C’est une pauvre femme.”,
“C’est une femme pauvre.”
],
correctIndex: 0,
explanation: “L’adjectif ‘pauvre’ placé avant le nom peut exprimer la pitié ou la compassion (une femme malheureuse, qui inspire la pitié).”
},
{
id: 10,
options: [
“C’est une pauvre femme.”,
“C’est une femme pauvre.”
],
correctIndex: 1,
explanation: “L’adjectif ‘pauvre’ placé après le nom indique le manque d’argent ou de ressources (une femme qui n’a pas d’argent).”
}
];

// Attente que le DOM soit chargé
document.addEventListener(‘DOMContentLoaded’, function() {
// Éléments du DOM
const startButton = document.getElementById(‘startButton’);
const changeDifficultyButton = document.getElementById(‘changeDifficultyButton’);
const checkButton = document.getElementById(‘checkButton’);
const generateBadgeButton = document.getElementById(‘generateBadgeButton’);
const downloadBadgeButton = document.getElementById(‘downloadBadgeButton’);
const difficultySelect = document.getElementById(‘difficultySelect’);
const rulesToggle = document.getElementById(‘rulesToggle’);
const rulesSection = document.getElementById(‘rulesSection’);
const progressBar = document.getElementById(‘progressBar’);

// Générer les questions pour chaque niveau
generateSentenceQuestions(‘Facile’, questionsFacile);
generateSentenceQuestions(‘Moyen’, questionsMoyen);
generateSentenceQuestions(‘Difficile’, questionsDifficile);

// Fonction pour générer les questions avec options de phrases
function generateSentenceQuestions(level, questions) {
const container = document.getElementById(`questions${level}`);
container.innerHTML = ”;

// Nettoie le conteneur

questions.forEach((question, index) => {
// Créer l’élément de question
const questionElement = document.createElement(‘div’);
questionElement.className = ‘question-container’;
questionElement.dataset.questionId = question.id;

// Numéro de question
const questionNumber = document.createElement(‘h4’);
questionNumber.textContent = `Question ${index + 1}:`;
questionElement.appendChild(questionNumber);

// Options de phrases
const optionsContainer = document.createElement(‘div’);
optionsContainer.className = ‘sentence-options’;

question.options.forEach((option, optionIndex) => {
const optionElement = document.createElement(‘div’);
optionElement.className = ‘sentence-option’;
optionElement.innerHTML = option;
optionElement.dataset.optionIndex = optionIndex;

// Ajouter un événement de clic
optionElement.addEventListener(‘click’, function() {
// Supprimer la classe ‘selected’ de toutes les options de cette question
optionsContainer.querySelectorAll(‘.sentence-option’).forEach(el => {
el.classList.remove(‘selected’);
});

// Ajouter la classe ‘selected’ à l’option cliquée
this.classList.add(‘selected’);

// Mettre à jour la barre de progression
updateProgressBar();
});

optionsContainer.appendChild(optionElement);
});

questionElement.appendChild(optionsContainer);

// Bouton d’indice
const hintButton = document.createElement(‘button’);
hintButton.className = ‘hint-button’;
hintButton.textContent = ‘Indice’;
hintButton.addEventListener(‘click’, function() {
alert(“Pensez à la catégorie de l’adjectif et aux règles associées.”);
});
questionElement.appendChild(hintButton);

// Ajouter l’élément de question au conteneur
container.appendChild(questionElement);
});
}

// Fonction pour mettre à jour la barre de progression
function updateProgressBar() {
const level = currentDifficulty.charAt(0).toUpperCase() + currentDifficulty.slice(1);
const totalQuestions = document.querySelectorAll(`#questions${level} .question-container`).length;
const answeredQuestions = document.querySelectorAll(`#questions${level} .sentence-option.selected`).length;

const percentage = (answeredQuestions / totalQuestions) * 100;
progressBar.style.width = percentage + ‘%’;
}

// Fonction pour changer le niveau de difficulté
function changeDifficulty() {
const newDifficulty = difficultySelect.value;

// Cacher tous les niveaux d’exercice
document.querySelectorAll(‘.exercise-level’).forEach(level => {
level.style.display = ‘none’;
});

// Afficher le niveau sélectionné
document.getElementById(`exercise${newDifficulty.charAt(0).toUpperCase() + newDifficulty.slice(1)}`).style.display = ‘block’;

// Mettre à jour la difficulté courante
currentDifficulty = newDifficulty;

// Réinitialiser la barre de progression
progressBar.style.width = ‘0%’;

// Mettre à jour la barre de progression si des réponses sont déjà sélectionnées
updateProgressBar();
}

// Fonction pour vérifier les réponses
function checkAnswers() {
const level = currentDifficulty.charAt(0).toUpperCase() + currentDifficulty.slice(1);
const questionContainers = document.querySelectorAll(`#questions${level} .question-container`);

let score = 0;
let totalQuestions = questionContainers.length;
let correctionHTML = ”;

// Questions pour le niveau actuel
let currentQuestions;
if (currentDifficulty === ‘facile’) {
currentQuestions = questionsFacile;
} else if (currentDifficulty === ‘moyen’) {
currentQuestions = questionsMoyen;
} else {
currentQuestions = questionsDifficile;
}

// Vérifier chaque question
questionContainers.forEach((container, index) => {
const questionId = parseInt(container.dataset.questionId);
const question = currentQuestions.find(q => q.id === questionId);

const selectedOption = container.querySelector(‘.sentence-option.selected’);

if (selectedOption) {
const selectedIndex = parseInt(selectedOption.dataset.optionIndex);
const isCorrect = selectedIndex === question.correctIndex;

if (isCorrect) {
score++;
}

// Ajouter à la correction
correctionHTML += `

Question ${index + 1}:

${isCorrect ? ‘✓ Correct‘ : ‘✗ Incorrect‘}

Explication: ${question.explanation}

`;
} else {
// Pas de réponse sélectionnée
correctionHTML += `

Question ${index + 1}:

✗ Non répondu

Explication: ${question.explanation}

`;
}
});

// Calculer le pourcentage
const percentage = Math.round((score / totalQuestions) * 100);
currentScore = percentage;

// Afficher le résultat
document.getElementById(‘scoreDisplay’).innerHTML = `
Vous avez obtenu ${score}/${totalQuestions} réponses correctes, soit ${percentage}%.
`;
document.getElementById(‘correctionDisplay’).innerHTML = correctionHTML;
document.getElementById(‘resultContainer’).style.display = ‘block’;
}

// Fonction pour générer le badge
function generateBadge() {
// Afficher les informations sur le badge
document.getElementById(‘badgeNamePreview’).textContent = `${userInfo.prenom} ${userInfo.nom}`;
document.getElementById(‘badgeLevelPreview’).textContent = currentDifficulty.charAt(0).toUpperCase() + currentDifficulty.slice(1);
document.getElementById(‘badgeScorePreview’).textContent = currentScore;

// Date actuelle
const today = new Date();
const dateString = today.toLocaleDateString(‘fr-FR’);
document.getElementById(‘badgeDatePreview’).textContent = `Date: ${dateString}`;

// Afficher le badge
document.getElementById(‘badgePreview’).style.display = ‘block’;
document.getElementById(‘badgeDownloadArea’).style.display = ‘block’;

// Création du PDF
createBadgePDF();
}

// Fonction pour créer le PDF du badge
function createBadgePDF() {
// Importer jsPDF (déjà chargé dans le head)
const { jsPDF } = window.jspdf;

// Créer un nouveau document PDF
const pdf = new jsPDF({
orientation: ‘portrait’,
unit: ‘mm’,
format: ‘a4’
});

// Ajouter le titre
pdf.setFontSize(24);
pdf.text(‘Badge de Maîtrise’, 105, 40, { align: ‘center’ });

// Nom de l’utilisateur
pdf.setFontSize(18);
pdf.text(`${userInfo.prenom} ${userInfo.nom}`, 105, 60, { align: ‘center’ });

// Informations du badge
pdf.setFontSize(14);
pdf.text(‘Place de l’Adjectif’, 105, 80, { align: ‘center’ });
pdf.text(`Niveau: ${currentDifficulty.charAt(0).toUpperCase() + currentDifficulty.slice(1)}`, 105, 90, { align: ‘center’ });
pdf.text(`Score: ${currentScore}%`, 105, 100, { align: ‘center’ });

// Date
const today = new Date();
const dateString = today.toLocaleDateString(‘fr-FR’);
pdf.text(`Date: ${dateString}`, 105, 110, { align: ‘center’ });

// Cercle décoratif
pdf.setDrawColor(52, 152, 219); // Couleur bleue
pdf.setLineWidth(1);
pdf.circle(105, 140, 30);

// Texte au centre du cercle
pdf.setFontSize(40);
pdf.setTextColor(52, 152, 219);
pdf.text(‘A+’, 105, 140, { align: ‘center’ });

// Générer un QR code contenant les informations du badge
const qrInfo = `Nom: ${userInfo.prenom} ${userInfo.nom}, Niveau: ${currentDifficulty}, Score: ${currentScore}%, Date: ${dateString}`;

// Créer un QR code avec qrcode-generator
const typeNumber = 4;
const errorCorrectionLevel = ‘L’;
const qr = qrcode(typeNumber, errorCorrectionLevel);
qr.addData(qrInfo);
qr.make();

// Convertir le QR code en tableau de données pour PDF
const cellSize = 2;
const qrSize = qr.getModuleCount() * cellSize;
const qrData = [];

for (let row = 0; row < qr.getModuleCount(); row++) {
for (let col = 0; col {
pdf.rect(x, y, w, h, ‘F’);
});

// Sauvegarder le PDF
badgePDF = pdf;
}

// Fonction pour télécharger le badge
function downloadBadge() {
if (badgePDF) {
const fileName = `badge_${userInfo.prenom.toLowerCase()}_${userInfo.nom.toLowerCase()}_${currentDifficulty}.pdf`;
badgePDF.save(fileName);
}
}

// Fonction pour valider le formulaire d’inscription
function validateForm() {
let isValid = true;

// Valider le prénom
const prenom = document.getElementById(‘prenom’).value.trim();
if (prenom === ”) {
document.getElementById(‘prenomError’).textContent = ‘Veuillez entrer votre prénom’;
isValid = false;
} else {
document.getElementById(‘prenomError’).textContent = ”;
}

// Valider le nom
const nom = document.getElementById(‘nom’).value.trim();
if (nom === ”) {
document.getElementById(‘nomError’).textContent = ‘Veuillez entrer votre nom’;
isValid = false;
} else {
document.getElementById(‘nomError’).textContent = ”;
}

// Valider l’email
const email = document.getElementById(‘email’).value.trim();
const emailRegex = /^[^s@]+@[^s@]+.[^s@]+$/;
if (email === ” || !emailRegex.test(email)) {
document.getElementById(‘emailError’).textContent = ‘Veuillez entrer une adresse email valide’;
isValid = false;
} else {
document.getElementById(‘emailError’).textContent = ”;
}

// Valider la case à cocher
const subscribe = document.getElementById(‘subscribe’).checked;
if (!subscribe) {
document.getElementById(‘subscribeError’).textContent = ‘Veuillez cocher cette case pour continuer’;
isValid = false;
} else {
document.getElementById(‘subscribeError’).textContent = ”;
}

return isValid;
}

// Événements
startButton.addEventListener(‘click’, function() {
if (validateForm()) {
// Sauvegarder les informations de l’utilisateur
userInfo.prenom = document.getElementById(‘prenom’).value.trim();
userInfo.nom = document.getElementById(‘nom’).value.trim();
userInfo.email = document.getElementById(‘email’).value.trim();

// Cacher le formulaire d’inscription
document.getElementById(‘subscriptionForm’).style.display = ‘none’;

// Afficher le conteneur d’exercice
document.getElementById(‘exerciseContainer’).style.display = ‘block’;

// Initialiser le niveau de difficulté
changeDifficulty();
}
});

changeDifficultyButton.addEventListener(‘click’, changeDifficulty);

checkButton.addEventListener(‘click’, checkAnswers);

generateBadgeButton.addEventListener(‘click’, generateBadge);

downloadBadgeButton.addEventListener(‘click’, downloadBadge);

rulesToggle.addEventListener(‘click’, function() {
if (rulesSection.style.display === ‘none’) {
rulesSection.style.display = ‘block’;
rulesToggle.textContent = ‘Cacher les règles de placement des adjectifs’;
} else {
rulesSection.style.display = ‘none’;
rulesToggle.textContent = ‘Afficher les règles de placement des adjectifs’;
}
});
});

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *