+1
−1
+60
−11
+62
−55
+13
−17
Chargement en cours
Suppression de la décompression d'un cache quand il n'a pas besoin de post-traitements et que le navigateur accepte le format compressé Deflate utilisé par SPIP pour gérer son cache. Les tests réalisés font apparaître un gain de 10% dans le temps de rendu de la page par les navigateurs. Les post-traitements sont effectués par public.php soit par un code explicite, soit par les déclarations dans le pipeline "affichage_final", lequel était en standard garni avec 3 fonctions. Elles en ont été retirées et rendues explicites dans public.php, car ce pipeline impose de décompresser pour savoir s'il faut décompresser ! Voici les post-traitements qu'il faut essayer d'éviter pour obtenir l'optimisation: * les squelettes de premier niveau comportant des interpolations de PHP nécessitent un post-traitement; il faut les éviter, en particulier utiliser "#INCLURE" plutôt que la version où "#" est remplacé par un chevron ouvrant; * si la profondeur d'URL n'est pas nulle et qu'une balise base avec attribut Href en absolu ne figure pas dans le squelette, l'introduction de cette balise est nécessaire; mettre cette balise dans le squelette est préférable, et sa présence est testée lors de la mise en cache afin de disposer de l'information sans nécessité de décrompression; * un post traitement de surlignage est effectué si la requête comporte "var_recherche" et possède un Referer; à noter que ce code est lié au filtre url_var_recherche de la 1.9.2 et qui a disparu en 2.0 bizarrement (il ne figure pas dans le r12702 qui l'a créée, alors que la 1.9.2 a continué à l'améliorer jusqu'à la r14826). De plus un AND a été tranformé en OR à un moment, ce qui faisait invoquer cette fonction dès qu'un Referer était présent. Sauf plugin inconnu, je pense que ce code est complètement mort et devrait être supprimé; * un post-traitement est nécessaire si on demande la validation XML de la page (seulement accessible aux admins); * un post-traitement est nécessaire en cas de bouton admin (même remarque). Enfin, si une version compressée n'est pas envoyable (inexistante ou ayant nécessité décompression) SPIP effectue la compression si le panneau de configuration l'a demandé. Ce bout de code de 3 lignes fait donc le boulot de l'extension "compresseur" qui a le défaut de tenter de compresser les envois par le script "acceder_document" et sort en erreur quand ils sont trop gros. Il peut donc être retirer de la distribution sans perte de fonctionnalité.
Forge communautaire SPIP | Charte d'utilisation | Signaler un problème sur ce site