[21/12/2023 ~ 2/01/2024] - Refonte du cache de fichiers ; Ce dernier ne fonctionnait pas, les fichiers étaient bien crée mais n'était jamais utilisé. Le hook 'template_include' est désormais utilisé pour utiliser le fichier mais aussi pour le créer s'il n'existe pas encore. - Ajout d'une purge automatique au cache de fichiers ; Celle-ci s'active grâce à divers hooks WordPress déclenché lorsqu'un commentaire est modfiié, un post (page/article) est crée/supprimé/modifié... Le fichier de cache de la/les pages concernée(s) est alors supprimé. - Sur WooCommerce, ajouter un produit au panier, par exemple, ne modifie pas que la page du produit. Si WooCommerce est activé, la purge supprimera également les pages de WooCommerce en lien avec celle purgée. Cela évite d'avoir un panier qui ne se met pas à jour, par exemple - Possibilité d'ajouter des exclusions au cache de fichiers, lors de sa purge. Par défaut, les URLs de WooCommerce (panier, boutique, mon-compte) sont exclues ; il est possible d'en ajouter autant que l'on veut et d'utiliser la wildcard (*) - Le cache de fichiers peut être préchargé ; En utilisant la sitemap de WordPress (wp-sitemap.xml par défaut, l'URL peut changer si un plugin SEO est actif), toutes les pages sont explorées et mises en cache pour un utilisateur non-connecté [21/12/2023 ~ 2/01/2024] [3/01/2024] - Maquette de la page Cache effectuée en majorité. Les informations indisponibles à ce jour n'ont pas été ajoutée (stats, par ex) - Changement de la nomenclature des fichiers de cache. /articles/2023/mai/mes-vacances, par exemple, sera stocké : articles_2023_mai_mes-vacances. Auparavant, les '/' n'étaient pas modifiés, et le fichier ne pouvait pas être crée ('/' est interdit dans un fichier) - Memcached a été légèrement retouché pour fonctionner avec le nouveau système [3/01/2024] [4/01/2024] - La page cache est rollback sur sa version originale le temps de faire les 2 premiers onglets. Les changements ne sont pas perdus. - Refonte de la gestion des pages ; Tous les éléments constituant une action (titre, desc, id, ...) sont stockés dans un tableau qui est ensuite bouclé dans un template qui se chargera d'afficher les bonnes données (e.g. : le template check si l'action a un bouton d'exclusion dans ses données, et l'affiche ou non en conséquence) ; Il est ainsi plus rapide de modifier la page et d'ajouter des éléments - Mise en place de la modale pour exclure des éléments des minifications/concaténations [4/01/2024] [5/01/2024] - Revisite des fonctions de minification JS/CSS ; La librairie de Mathias Muller est toujours utilisée mais ce sont les hooks qui sont différents. Ces hooks se déclenchent au moment où le script/style va être enqueue, permettant de modifier ses données au dernier moment en ayant un impact minime sur les perfomances [5/01/2024] [8/01/2024] - Pour la concaténation, wp_enqueue_scripts est le hook utilisé, comme auparavant mais le code a été optimisé pour s'exécuter plus vite et en gérant les dépendances de fichiers - Concaténer des JS provoque souvent des erreurs ; pour les limiter le plus possible, les scripts de WooCommerce sont en majorité ignorés (dont l'URL contient wc ou woocommerce), ces derniers ayant beaucoup de dépendances entre-eux, rendant la concénation impossible [8/01/2024] [9/01/2024] - Les CSS/JS peuvent désormais être préchargé/defer ; Ces actions ne sont pas forcément recommandés, principalement defer, car pouvant causer des problèmes lorsqu'un script se charge trop tard, par exemple, ce qui casse le site - Ajout des dernières fonctions du Front-End : préchargement des polices (un attribut est ajouté aux de police les forçant à se charger en parralèle en tout premier, bien avant le reste du contenu, améliorant les performances) ; retrait du JS des emojis de WordPress (inutile, le navigateur possède ses propres emojis ; charge des données pour rien) ; retrait de ?ver dans les urls des CSS/JS [9/01/2024] [10/01/2024] - Les exclusions dans "Front-end" sont fonctionnelles ; le script vérifie l'URL du script/style à modifier, s'il est dans la liste à exclure, il est ignoré - L'action de ddésactivation du plugin a été réimplémentée. Elle fonctionne de la même façon qu'auparavant - La minification HTML a été ajoutée. Elle utilise le même hook que le cache de fichiers (template_include) et utilise une librairie externe pour minifier la page [10/01/2024] [11/01/2024] - Refonte de l'onglet "Média" de la même manière que pour le Front-End - Ajout d'une première version du lazyloading des images/videos/iframes, basée sur ce qui existait déjà dans l'ancienne version - Début de réalisation de la modale d'exclusion pour le lazy loading ; Mise en place des [11/01/2024] [18/01/2024] - Les tests des différentes fonctionnalités ont révélé des points à corriger : - Le lazy loading a été ajouté aux hooks de WooCommerce afin de lazy-load les images chargées par le plugin - Encodage UTF-8 manquant lors de l'utilisation de DomDocument corrigé ; Les accents et autres sont bien encodés correctement (Lazy-Loading) - Nouveau test sur une installation neuve contenant divers plugins populaire comme divi, elementor, woocommerce, yoast seo... => Divi est ajouté à la liste des plugins ignorés par la concaténation/minification JS ; le Visual Builder ne charge pas autrement - Changement de minificateur pour HTML, utilisant maintenant voku/html-min ; La minification fonctionne désormais bien mieux et charge correctement la page, au lieu d'en ignorer une partie [18/01/2024] [19/01/2024] - Changement du lazy loading iframe/video/image ; DOMDocument causant des problèmes avec les plugins, retour à une version plus standard (preg_replace le contenu de la page) et qui fonctionne - Mise en ligne des changements sur les 2 premiers onglets - Améliorations de l'onglet Cache ; Correction d'un bug où changer le timer du cache échouait et désactivait le cache si ce dernier était déjà activé - Ajout de l'option "Cache dynamique" et des boutons d'exclusion/spécification de la purge automatique - Modification de la gestion du cache ; Ses paramètres sont stockés avec ceux des 2 autres onglets, les fichiers sont stockés dans wp-content/cache/lws-optimize [19/01/2024] [22/01/2024] - Les fonctions du cache de fichiers étaient séparées des autres onglets ; Désormais la configuration de tous les éléments de "Cache" est stockée dans la même entrée de BDD, pour un accès plus simple - Ajout des fonctions liées aux URLs "spécifiques", qui sont toujours purgée par l'autopurge - Le contenu de la page était récupéré puis sauvegardé par le cache de fichiers grâce à un hook ; Cela causait des incompatibilités avec certains thèmes/plugins. Désormais la pagé est traitée dans le retour de ob_start, qui a lieu dans 'shutdown', le dernier hook WordPress - Les exclusions ont été revues. Le Regex a désormais les charactères ^ et $, * => .* ; Cela permet de bien encadrer l'exclusion, et ne pas prendre toutes les URLs qui possèderaient le mot (e.g : exclusion de "page" ; toutes les URLs ayant "page" (ma-page) étaient exclues) [22/01/2024] [31/01/2024] - Ajout de l'action "Cache dynamique" à l'onglet "Cache" ; Cette action reprend le plugin LWSCache et l'intègre dans Optimize - Implémentation des classes de LWSCache, certaines fonctions sont encore manquantes [31/01/2024] [01/02/2024] - LWSCache a été complètement implémenté ; Il manque la purge des pages qui n'avait jamais été implémentée et il n'est pas possible de désactiver la purge [01/02/2024] [02/02/2024] - LWSCache et les actions manquantes ont toutes été implémentées - Vider le cache dynamique est de nouveau disponible - Implémentation de la gestion des URLs à purger à chaque purge automatique ; Désormais, un encadré indique le nombre d'URLs actuellement ajoutées, se mettant à jour dynamiquement - Traductions françaises - Tentatives d'ajouter le cache spécifique au navigateur, offrant un cache pour PC et pour Mobile au prix de performances [02/02/2024] [03/02/2024] - La manière dont le cache spécifique a été implémenté chez SiteGround fait qu'il est impossible dans l'immédiat de mettre en place l'action similairement sans modifier de grand pans de code. L'implémentation est mise en pause. - Mise à jour du préchargement du cache de fichier ; Tous les sites sont désormais bien ajouté, ce qui n'était plus le cas suite à un bug, et le preloading se lance à chaque purge du cache - Ajout de statistiques de cache, telles que la taille et le nombre de fichiers en cache [03/02/2024] [27/06/2024] - Toutes les fonctions liées à l'onglet "Front-End" ont été revues en se basant quelques peu sur WPFastestCache - Les librairies & fichiers non utilisées ont été retirés, tel que de vieux tests de minification - Les optimisations ont désormais un véritable effet, avec des gains important de performances, notamment le cache de fichiers [27/06/2024]