Aller au contenu
FileSlimmer
Outils
Guides

Outils code

Ces trois outils analysent votre source, la réécrivent et la réimpriment. Ce qu'ils ne font jamais, c'est l'exécuter. Cette distinction constitue à elle seule le modèle de sécurité de cette page, et elle est appliquée dans le code plutôt que promise dans une phrase.

Votre code est analysé, jamais exécuté

Un minificateur doit comprendre votre source, c'est-à-dire l'analyser en un arbre syntaxique puis réimprimer cet arbre. Il n'a pas besoin d'évaluer quoi que ce soit, et celui-ci ne le fait pas : pas de eval, pas de Function dynamique, pas d'aperçu qui exécute votre script.

Cela compte surtout pour le SVG. Un SVG est un document exécutable — il peut porter des scripts, des URL javascript: et des gestionnaires d'événements. Tous sont retirés, deux fois : une première par la règle propre à l'optimiseur, une seconde par une passe indépendante qui s'exécute ensuite, car un filtre unique affecté d'un seul bogue ne constitue pas un modèle de sécurité.

Ce que la minification fait vraiment gagner

Retirer les espaces et raccourcir les noms locaux enlève en général un tiers de la source brute. L'essentiel du gain restant vient de la compression de votre serveur, pas du minificateur : la comparaison réaliste porte donc sur un fichier minifié puis gzippé, et non sur le nombre d'octets bruts.

Les imports ne sont pas touchés

Un @import en CSS est conservé sous forme de texte, ou retiré si vous le demandez. Il n'est jamais suivi : aller chercher ce qu'il désigne reviendrait à ce que cette page émette une requête en votre nom au sujet d'un fichier que vous avez collé, c'est-à-dire exactement ce que le reste du site est conçu pour ne pas faire.