Comment activer le cache JS/CSS dans Easy2Do ?
Lorsque l'on passe en production, il est important de minimiser les appels pour charger les ressources (scripts, styles, vues, etc.) afin d'améliorer les performances de l'application. C'est là que la gestion du cache d'E2D entre en jeu.
Via un simple paramètre, Easy2Do va récupérer l'intégralité des ressources précisées dans le DOM (soit dans le modèle de la page, soit dans le tableau aVues du conf.yml du module), les minifier et les concaténer en un fichier CSS et un fichier JS. Attention, de ce fait, les URLs externes ne sont donc pas mises en cache par Easy2Do.
Le code complet (structure de répertoires, tests, configuration) est disponible dans le repo d’exemples Doing.
➡ Easy2Do : https://bitbucket.org/doingfr/doing-cookbooks-examples/src/main/e2d-gestion-du-cache/easy2do/
TL;DR
- Easy2Do propose une gestion du cache qui permet de minimiser les appels pour charger les ressources (scripts, styles, vues, etc.) afin d'améliorer les performances de l'application.
- Via un simple paramètre, Easy2Do va récupérer l'intégralité des ressources précisées dans le DOM (soit dans le modèle de la page, soit dans le tableau aVues
Prérequis
| Élément | Version / Remarque |
|---|---|
| PHP | 8.4 |
| E2D - Core | 2.18 |
| E2D - Bdd | 3.0 |
| E2D - Auth | 1.8 |
Utilisation la gestion du cache d'E2D pour alléger le chargement des ressources
Contexte
Nous avons un projet avec deux ressources visibles : menu et utilisateur. Ce projet dispose d'un module créé pour l'occasion : commande. Nous passons en mode production et nous souhaitons alléger le chargement des ressources. Nous allons donc utiliser la gestion du cache d'E2D pour cela.
Mise en place
Etant donné que la mise en cache dépend de l'environnement, nous allons utiliser le surcharge_conf.php qui est justement contextuel à l'environnement.
$GLOBALS['aParamsAppli']['cache'] = [
'fichiers_css' => 'oui',
'fichiers_js' => 'oui',
];
Désormais, lorsque nous allons charger la page, nous allons voir que les ressources sont chargées via un seul fichier CSS et un seul fichier JS générés par E2D.
