⚙ Générateur MathPath · Algèbre v2

Expressions Algébriques & Équations

1 Choisir le bloc & modèle
2 Préparer & modifier
3 Générer le ZIP

Bloc & Modèle

Configuration

Nombre de pages
pages HTML
Exercices par page
exercices
Chemin CSS

Aperçu ZIP

📄

Prépare les exercices puis génère le ZIP

⚙ Génération en cours…

Préparation…
\n'; } /* ════════════════════════════ ZIP ════════════════════════════ */ async function generateZip(){ if(editRows.length===0){alert('Prépare d\'abord les exercices !');return;} var nb=parseInt(document.getElementById('nbPages').value)||10; var nbExosParPage=editRows.length; var cssPath=document.getElementById('cssPath').value.trim()||'../../../../../assets/css/basic.css'; var folder='algebre_'+curTpl.toLowerCase(); var ov=document.getElementById('progOv'); var fill=document.getElementById('progFill'); var txt=document.getElementById('progTxt'); ov.classList.add('show'); var zip=new JSZip(); var dir=zip.folder(folder); var lastCfg={exercises:editRows,tplKey:curTpl,cssPath:cssPath,folder:folder}; for(var i=1;i<=nb;i++){ await new Promise(function(r){setTimeout(r,0);}); fill.style.width=Math.round(i/nb*100)+'%'; txt.textContent='Page '+i+' / '+nb+' …'; var pageExos=[]; for(var j=0;j' +'
'+lbl+'
'+cfg.exercises.length+' ex/page
'; for(var i=1;i<=Math.min(nb,12);i++){ var fn=folder+'_'+pad(i)+'.html'; h+='
'+fn+''+cfg.exercises.length+' ERC
' +'
'+lbl+'
جبر
'; } if(nb>12) h+='

… et '+(nb-12)+' autres

'; document.getElementById('previewBody').innerHTML=h; }