Plus léger, plus rapide : compactez votre site web

Magazine
Marque
GNU/Linux Magazine
Numéro
145
Mois de parution
janvier 2012
Domaines


Résumé

Cet article termine la trilogie commencée dans le numéro précédent. Gandalf avait trop bu d'hydromel et... ah non, ce n'est pas la bonne histoire. Donc nous avons allégé la charge d'un serveur web en concaténant tous les fichiers d'une application, dont la CSS et les scripts ont été dépouillés de leurs commentaires, espaces et retours à la ligne. Une grande partie du gain de place vient du parseur, qui a été écrit en JavaScript, mais sa puissance a été à peine exploitée... Nous allons maintenant remédier à cela et nous en servir pour substituer astucieusement et automatiquement les noms des variables. L'algorithme de base est simple et assez efficace, mais il demande pas mal de préparations.


1. Rappels

Dans l'épisode précédent, le petit site web statique [1] (qu'on peut aussi qualifier d'application en ligne) a subi une cure impressionnante. Alors que la version de développement charge 55 fichiers pour chaque nouveau visiteur, il n'en reste plus que 3 après concaténation des scripts et même insertion des petites images directement au format base64. La suppression de quasiment tous les espaces, de tous les commentaires et de certains points-virgules a presque divisé par deux la quantité de données envoyées par le serveur. Et le plus important, c'est le gain de temps : le chargement est dix fois plus court !

C'est déjà un gain énorme pour un effort raisonnable, et notre parseur est semblable à JSMIN [2], donc les résultats sont semblables aussi. Or on sait qu'on peut faire mieux car le packer [3] de Dean Edwards (un compacteur plus sophistiqué) arrive encore à enlever un tiers (ratio de 66064/99388=0.665) du fichier déjà compacté par notre...

Cet article est réservé aux abonnés. Il vous reste 98% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Mise au point à distance avec GDB

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
111
Mois de parution
novembre 2020
Domaines
Résumé

Le débogueur GDB est un outil indispensable pour la mise au point de programmes, a fortiori dans le cas du développement croisé (mise au point à distance ou « remote debug »). Dans cet article, nous allons voir comment mettre en place différentes solutions suivant plusieurs cas de figure (programme en espace utilisateur, noyau Linux statique ou pilote en espace noyau). Afin de permettre au plus grand nombre de lecteurs de tester les exemples décrits, nous utiliserons l’émulateur QEMU (et Buildroot) pour les démonstrations.

Jouons avec l'obfuscation de code

Magazine
Marque
GNU/Linux Magazine
Numéro
242
Mois de parution
novembre 2020
Domaines
Résumé

Rendre son code illisible lorsque l'on prêche pour l'open source, c'est le mal incarné. Toutefois, il est possible de concevoir que dans certains cas, on souhaite obscurcir des parties d'un code et, surtout d'un point de vue purement technique, cela peut se révéler intéressant.

Le point sur le débogage en Python

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
111
Mois de parution
novembre 2020
Domaines
Résumé

Il n'existe pas une unique façon de déboguer du code en Python. Dans cet article, nous allons faire un rapide tour des différentes techniques qui s'offrent à vous pour traquer les bugs.

Les bases de LaTeX sous GNU/Linux et Windows

Magazine
Marque
GNU/Linux Magazine
Numéro
242
Mois de parution
novembre 2020
Domaines
Résumé

Et si nous retournions aux sources ? Des articles sont régulièrement consacrés à LaTeX dans ce magazine, mais comment les utiliser si l'on part de zéro ? Dans cet article, je vous propose de voir ou revoir comment installer LaTeX, configurer un éditeur et gérer les extensions/paquets pour une utilisation sous GNU/Linux ou Windows. Une sorte de guide de survie pour prof de maths, en cas d'obligation d'enseignement à distance...

Débugage facile avec Sentry

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
111
Mois de parution
novembre 2020
Domaines
Résumé

Nous le savons tous, aucun code n’est exempt de bugs. Nous avons beau écrire tous les tests unitaires du monde, tous les tests fonctionnels, avoir une couverture du code par nos tests de 200 %, il y a toujours des bugs qui passent à travers les mailles du filet. Sentry est là pour vous aider à les trouver et à les corriger grâce à vos utilisateurs, et ce, sans qu’ils ne s’en rendent compte.