Afin d’optimiser votre site web (ou application web), il existe un certain nombre d’actions simple à effectuer. Dans cet article nous allons passer en revue le moyen d’optimiser la vitesse de chargement de votre page web. Pour ce faire, nous allons utiliser un outil mis à disposition par GOOGLE (pagespeed) disponible à l’adresse suivante: https://developers.google.com/speed/pagespeed/
Cet outil donne un certain nombre d’indicateur simple avec des conseils pour les réaliser. Nous allons donc les parcourir et voir comment les appliquer sur votre application JEEJava Entreprise Edition.
Les images posent de gros problèmes de performance dans une application web. En effet, pour avoir un site agréable, les graphistes fournissent souvent de belles et grandes images d’une taille conséquente. Pour résoudre ce problème, un grand nombre d’outils permettent de compresser les images et de choisir le bon type pour l’image (PNG ou GIF). Cette étape est particulièrement importante pour la vitesse de votre page, puisqu’elle joue directement sur la taille du transfert réseau. N’oubliez pas que tout le monde n’a pas la fibre optique. Dans l’outil mis à disposition par google, cet item est situer dans « Réduire la charge utile -> Optimiser les images »
Une optimisation importante est de servir les images depuis un autre sous domaine pour ainsi éviter d’avoir un cookie. Cette action peut paraitre futile mais elle permet d’augmenter sensiblement les performances de votre application. De plus ceci permettra en plus de pouvoir facilement configurer le cache par le serveur d’apache.
Ce qui est mauvais et pour le référencement et pour les performances puisqu’un grand nombre de navigateur ne cache pas les ressources avec des ? et des variables.
Pour résoudre le problème, il convient de ne pas utiliser ce mécanisme et d’externaliser toutes les images sur un sous-domaine comme expliqué dans le point précédent. Ce problème se situe dans « Autres -> Supprimer les chaînes de requête des ressources statiques » dans l’outil de google.
Une autre optimisation intéressante est de spécifier la taille des images dans la balise img. Cette astuce permet de limiter les appels aux commandes reflow() et repaint() et donc d’optimiser le temps de chargement de la page. Cette optimisation se trouve dans l’outil de google dans la partie « Réduire les temps de chargement des pages-> Spécifier les dimensions des images »
La mise en cache peut s’effectuer sur le navigateur et/ou sur votre apache.
La mise en cache sur le navigateur permet de limiter les aller-retours avec le serveur en spécifiant au navigateur que la ressource n’a pas besoin d’être recharger.
Pour ce faire, il est nécessaire de spécifier les headers HTTP soit avec apache comme ceci:
ExpiresActive On
ExpiresDefault « access plus 1 month »
Header unset ETag
FileETag None
soit avec un filter JAVA en rajouter un header:
httpResponse.setHeader(« Cache-Control », « max-age=1204800, public »);
Un autre cache peut être réaliser avec le module mem_cache d’apache.
Nous verrons dans un autre article comment continuer d’optimiser les applications web JEE côté serveur.
Si vous ne vivez pas dans une grotte, vous avez surement déjà entendu parler de l'IA générative, et à quel point elle "révolutionne" plein de secteurs.
Quelques années après avoir créé ce blog, nous nous sommes rendu compte d’une chose : nous ne nous sommes jamais présentés ! Grossière erreur de notre part… Cependant, « vaut mieux tard que jamais », alors on fait un petit rectificatif pour tenter de se r
Tuto AXOPEN - On vous explique pas à pas le déploiement de websockets sur un cluster de Node.js