Déposez votre fichier HTML ici
ou cliquez pour sélectionner un fichier
École Préparatoire - Clavier Mathématique & Système d'Annotations Ghali
ou cliquez pour sélectionner un fichier
')) { modifiedHTML = modifiedHTML.replace(' ', bodyInjection + ' '); } // Afficher les modifications const codeDisplay = document.getElementById('codeDisplay'); const codeContent = document.getElementById('codeContent'); codeContent.textContent = modifications.join('\n'); codeDisplay.classList.add('visible', 'fade-in'); // Télécharger le fichier try { const blob = new Blob([modifiedHTML], { type: 'text/html;charset=utf-8' }); const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; // Nom intelligent du fichier const baseName = uploadedFileName.replace(/\.html?$/i, ''); a.download = `${baseName}_generated.html`; document.body.appendChild(a); a.click(); document.body.removeChild(a); URL.revokeObjectURL(url); generatedOnce = true; showStatus('✅ Fichier généré et téléchargé avec succès !', 'success'); } catch (error) { showStatus('❌ Erreur lors de la génération du fichier : ' + error.message, 'error'); } } function previewFile() { if (!uploadedFileContent) { showStatus('Veuillez d\'abord charger un fichier HTML', 'error'); return; } showStatus('⚠️ Aperçu limité : les fichiers externes (CSS/JS) ne seront pas chargés dans l\'iframe', 'warning'); const iframe = document.getElementById('previewFrame'); // FIX ERREUR #7 : Sandbox pour sécurité iframe.srcdoc = uploadedFileContent; document.getElementById('previewSection').classList.add('visible', 'fade-in'); document.getElementById('previewSection').scrollIntoView({ behavior: 'smooth' }); } function closePreview() { document.getElementById('previewSection').classList.remove('visible'); const iframe = document.getElementById('previewFrame'); iframe.srcdoc = ''; // Nettoyer l'iframe } function showStatus(message, type) { const statusEl = document.getElementById('statusMessage'); statusEl.textContent = message; statusEl.className = `status-message ${type} fade-in`; // Auto-hide après 5 secondes pour success if (type === 'success') { setTimeout(() => { statusEl.classList.remove('success'); }, 5000); } }