Chargement du ZIP en cours...
Certains fichiers contiennent plus de 50 000 entrées, cela peut prendre 10 à 30 secondes...

document.querySelectorAll('#tree a.file-link').forEach(link => { link.addEventListener('click', function(e) { e.preventDefault(); e.stopPropagation(); const url = this.getAttribute('href'); const viewer = document.getElementById('viewer'); const isImage = this.closest('span').classList.contains('img'); // Réafficher le préchargeur if (preloader) preloader.style.display = 'flex'; viewer.innerHTML = '

Chargement du fichier (cela peut prendre 10–30 secondes pour les gros fichiers)...

'; fetch(url, { timeout: 60000 }) // timeout à 60 secondes .then(response => { if (!response.ok) throw new Error(`Erreur serveur : ${response.status}`); return isImage ? response.blob() : response.text(); }) .then(data => { if (preloader) preloader.style.display = 'none'; if (data instanceof Blob) { const imgUrl = URL.createObjectURL(data); const fileName = this.closest('span').textContent.split('(')[0].trim(); viewer.innerHTML = `

${fileName}

${fileName} `; } else { viewer.innerHTML = data; if (typeof hljs !== 'undefined') { document.querySelectorAll('#viewer pre code').forEach(block => hljs.highlightElement(block)); } } }) .catch(err => { if (preloader) preloader.style.display = 'none'; viewer.innerHTML = `
Impossible de charger le fichier :
${err.message}

Conseil : essayez un fichier plus petit ou vérifiez la console (F12)
`; console.error(err); }); }); });