Testez vos connaissances

Quiz de Génie Civil

Sélectionnez une thématique pour commencer l'entraînement.
Parfait pour réviser avant les examens ou valider vos acquis.

Chargement des quiz...

📝 Pour aller plus loin : Exercices

Voir tous les exercices →
Recherche des exercices recommandés...

${quiz.desc}

Commencer le Quiz `; }); gridContainer.innerHTML = htmlContent; } // --- 3. GÉNÉRATION DE LA SIDEBAR RAPIDE --- const sidebarList = document.getElementById('egc-sidebar-list-quiz'); if(sidebarList) { let htmlCats = ''; quizzes.slice(0, 6).forEach(quiz => { htmlCats += `
  • ${quiz.emoji}${quiz.name}
  • `; }); htmlCats += `
  • Et bien d'autres...
  • `; sidebarList.innerHTML = htmlCats; } // --- 4. CHARGEMENT DES EXERCICES (API) --- const exGrid = document.getElementById('egc-exercises-grid'); const baseUrl = 'https://www.etudiantgeniecivil.com/wp-json/wp/v2'; const exSlug = 'exercices-genie-civil'; async function loadExercises() { try { // A. Trouver ID Catégorie const catRes = await fetch(`${baseUrl}/categories?slug=${exSlug}`); const catData = await catRes.json(); if(catData.length > 0) { const catId = catData[0].id; // B. Fetch Articles (4 exercices) const postsRes = await fetch(`${baseUrl}/posts?categories=${catId}&per_page=4&_embed`); const posts = await postsRes.json(); if(posts.length > 0) { exGrid.innerHTML = ''; posts.forEach(post => { // Création de la carte Article let imgUrl = 'https://via.placeholder.com/400x300/f1f5f9/94a3b8?text=Exercice'; if (post._embedded && post._embedded['wp:featuredmedia']) { imgUrl = post._embedded['wp:featuredmedia'][0].source_url; } let excerpt = post.excerpt.rendered.replace(/(<([^>]+)>)/gi, "").substring(0, 90) + '...'; const card = document.createElement('div'); card.className = 'egc-article-card'; card.innerHTML = `
    Exercice ${post.title.rendered}
    `; exGrid.appendChild(card); }); } else { exGrid.innerHTML = '
    Aucun exercice trouvé.
    '; } } else { // Fallback si la catégorie "exercices-genie-civil" n'est pas trouvée const fallbackRes = await fetch(`${baseUrl}/posts?per_page=4&_embed`); const fallbackPosts = await fallbackRes.json(); exGrid.innerHTML = ''; fallbackPosts.forEach(post => { // (Code identique de rendu carte, simplifié pour la démo) // ... }); } } catch(e) { console.error(e); exGrid.innerHTML = '
    Impossible de charger les exercices.
    '; } } loadExercises(); });