Nikita1000 Posted August 2 Share Posted August 2 (edited) Bonjour, Après une petite analyse d'un site nous nous sommes rendu compte qu'énormément de script js et fichier css étaient chargés sur la home alors qu'ils n'étaient pas nécessaire (module propre aux pages produits etc ... au final pas loins d'une 20aine de fichier) Le but est donc de ne pas charger tout ça sur la home uniquement, nous avons analysés plusieurs pistes mais au final je suis pas satisfaite complètement : - Désactiver le cache JS & CSS de prestashop et donc via les tpl du thème filtrer via stylesheet.tpl et javascript.tpl les scripts posés dans le dom, problème on doit désactivé le cache donc on perd en performance - Vient la piste du PHP, 1ère solution agir dans chaque module et avant l'implantation du script vérifié si on est sur la home, problème ça fait modifier énormément de module et au final en cas de mise à jour future ça peut poser problème Dans l'idéal j'aimerais trouver un endroit dans le php ou tous les scripts JS et feuille de style sont enqueue boucler dessus et faire le ménage avant qu'ils soient minifier par le cache, j'ai fais pas mal de hook vérifié dans google, chatgpt mais toutes les pistes n'ont rien donné où que je sois les variables sont soit inexistantes soit vides, j'ai testé en modifiant les priorité sur les hooks ou je me greffais mais pas mieux Quelqu'un aurait il une piste un hook quelque chose ? Edit : j'avais pensé à une piste mais je n'ai pas eu le temps de la tester peut être qqun pourra me confirmer si c'est une bonne idée, utiliser la fonctionnalité qui permet de désactivé un module pour certains groupe d'utilisateur que l'on trouve dans Paramètre boutique > Clients > Groupes > modifier un groupe merci beaucoup ! Edited August 2 by Nikita1000 (see edit history) Link to comment Share on other sites More sharing options...
Mediacom87 Posted August 2 Share Posted August 2 Il y a 2 heures, Nikita1000 a dit : - Vient la piste du PHP, 1ère solution agir dans chaque module et avant l'implantation du script vérifié si on est sur la home, problème ça fait modifier énormément de module et au final en cas de mise à jour future ça peut poser problème Il faudrait surtout que les développeurs de modules développent convenablement leurs modules. Évidement que l'on ne doit charger les éléments que lorsqu'ils doivent l'être. C'est un problème que je retrouve souvent et cela m'énerve énormément, car on retrouve des modules super vendeurs, mais développé comme les pieds et alors qu'on se bat pour faire des modules propres et que cette partie passe inaperçue. Donc, oui, c'est aux développeurs de faire leur job, pas à vous de corriger leur incompétence. Link to comment Share on other sites More sharing options...
Nikita1000 Posted August 2 Author Share Posted August 2 Bonjour, je suis totalement d'accord avec ce point mais il y a aussi des modules qui prennent le partie de charger par défaut le js + css parce que le module peut être mis sur la home il n'y pas que le cas de modules qui chargent comme des bourrins le js sans réfléchir Quoiqu'il en soit en expliquant le problème pour faire mon message initial ça m'a permis de réfléchir différement et j'ai finalement je pense trouvé une solution je suis en train de tester mais en overridant FrontController > getJavascript & getStylesheets je me trouve pile là ou je veux être et peut à priori faire du ménage en testant si je suis sur la home et cela s'applique que le cache du site soit activé ou non Merci Link to comment Share on other sites More sharing options...
Prestashop Addict Posted August 2 Share Posted August 2 (edited) Il faudrait changer le système de cache CCC de Presta, pour avoir une concaténation par type de vue (home, catalogue, produit, marque / fournisseur, panier / commande. Mais cela implique de pouvoir taguer les fichiers CSS et JS en fonction de la vue, donc de changer des méthodes du core. Quelqu'un pour un pull request ? Edited August 2 by Prestashop Addict (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now