Astral 360 WSA — Accélérateur de sites

Configuration de la cache

Paramètres par zone (Dynamique, CSS/JS, Médias) et listes d'exclusion serveur.

La page Cache Configuration rassemble tous les paramètres de cache qui s'appliquent zone par zone : durée d'expiration en mémoire, taille maximale par zone, et listes de contournement (URI et cookies) appliquées globalement à tous les sites.

Accès : Barre latérale → Cache Configuration.

💡 Les tailles maximales des zones (Dynamic, CSS/JS, Media) se règlent ici et sur la page Module Configuration. Les deux pages restent synchronisées — modifier l'un met à jour l'autre.

💡 Les paramètres par compte (qui domaine utilise quoi) sont gérés depuis le cPanel par chaque client (mode simple ou avancé). La page WHM décrite ici fournit les valeurs serveur par défaut.

Page Configuration de la cache dans WHM


1. Organisation par onglets

La page est divisée en 4 onglets :

   [ All | Dynamic | CSS / JS | Media ]
Onglet Contenu
All Affiche les paramètres des 3 zones en même temps.
Dynamic Paramètres de cache pour le contenu généré (PHP/HTML, JSON, API).
CSS / JS Paramètres pour les feuilles de style et scripts.
Media Paramètres pour images, polices, vidéos.

Chaque onglet de zone (Dynamic, CSS/JS, Media) contient les mêmes 4 types de paramètres :

  1. Inactive — durée avant qu'une entrée non sollicitée soit évincée.
  2. Max size — taille maximale de la zone sur disque.
  3. Bypass URI — URLs qui contournent toujours cette zone.
  4. Bypass Cookie — cookies qui contournent toujours cette zone (Dynamic uniquement).

Pour chaque champ, l'utilisateur voit :

  • Le titre de l'option.
  • La valeur actuelle.
  • La valeur par défaut indiquée à côté.
  • Un bouton ↺ undo si la valeur diffère du défaut.
  • Une info-bulle d'aide sur les concepts non-évidents.

2. Onglet Dynamic

Paramètres pour la zone Dynamic — pages PHP/HTML, JSON, réponses d'API. C'est la zone qui impacte le plus la vitesse perçue des sites pour les visiteurs.

2.1 dyn_proxy_cache_inactive

   Inactive timeout                       (Default: 60m)
   Time before an unrequested cache entry is dropped.
                                              [ 60m ]  ↺

Type : durée (60m, 1h, 1d, etc.) Défaut : 60m

Durée pendant laquelle nginx garde une réponse dans la zone même si elle n'est pas demandée. Au-delà, l'entrée est évincée pour libérer de l'espace.

⚠️ À ne pas confondre avec TTL de cache (durée pendant laquelle nginx considère la réponse comme fraîche pour la servir directement). Le TTL est défini :

  • Globalement par client cPanel (mode simple : profil pré-défini ; mode avancé : par domaine).
  • Ou par défaut serveur (paramétré dans le fichier default.conf).

L'inactive est la limite maximale : même si vous avez un TTL de 1 jour mais que personne ne demande la page pendant 60 minutes, l'entrée est évincée.

Recommandations :

Profil de site Inactive recommandée
Trafic constant (toujours du monde) 60m (défaut)
Trafic en bursts (peu visité hors événements) 3h à 6h
Sites peu visités 12h à 24h

2.2 dyn_proxy_cache_path_max_size

   Maximum cache size                    (Default: 512m)
   Total disk space allocated to this cache zone.
                                            [ 512m ]  ↺

Type : taille (512m, 1g, etc.) Défaut : 512m

Taille maximale de la zone sur disque. Quand elle est atteinte, nginx évince les entrées les moins récemment utilisées (LRU) pour libérer de la place.

Cette valeur est aussi exposée sur la page Module Configuration. Modifier ici met à jour les deux emplacements.

2.3 Liste d'URI à contourner (Bypass URI)

Texterea multi-ligne, une URI par ligne.

Toute requête dont le path correspond à l'une de ces entrées contourne automatiquement la cache Dynamic. La réponse est servie directement par Apache et n'est pas stockée.

Format : path tel qu'il apparaît dans l'URL, sans le domaine. Les wildcards * et les query strings sont supportés.

Exemples de contenu :

/wp-admin
/wp-login.php
/administrator
/admin
/cart
/checkout
/my-account
/cpanel
/whm
?nocache=1

Recommandation : la liste shippée par défaut couvre les URI sensibles des CMS populaires. Ajoutez vos propres URI spécifiques au-dessus de cette liste (par exemple, une page de prévisualisation /?preview=true).

Éditeur de la liste de cookies à contourner — vue popup

Textarea multi-ligne, un nom de cookie par ligne.

Toute requête contenant l'un de ces cookies contourne automatiquement la cache Dynamic. C'est la mécanique principale qui empêche les utilisateurs connectés de voir le cache d'un autre utilisateur.

Format : nom du cookie tel qu'il apparaît dans l'en-tête HTTP Cookie:. Le wildcard * final est supporté.

Exemples de contenu :

wordpress_logged_in_*
wp-postpass_*
comment_author_*
woocommerce_cart_hash
woocommerce_items_in_cart
PHPSESSID
member_*
edd_items_in_cart

Recommandation : ne pas raccourcir cette liste. La liste shippée est le résultat d'années de retours opérationnels — chaque entrée existe parce qu'un cas client a été rencontré.


3. Onglet CSS / JS

Paramètres pour la zone CSS/JS — feuilles de style et scripts. Plus simple que Dynamic : pas de bypass cookie (scripts et styles ne dépendent pas des cookies).

3.1 cssjs_proxy_cache_inactive

Défaut : 7d

Durée d'inactivité avant éviction. Plus longue que Dynamic parce que les fichiers CSS/JS changent rarement.

3.2 cssjs_proxy_cache_path_max_size

Défaut : 512m

Taille maximale de la zone. Voir Module Configuration pour les recommandations.

3.3 Liste d'URI à contourner

Liste textarea. Rarement utilisée pour CSS/JS.

Cas typiques :

/dev/app.js
/dist/unversioned.css

À utiliser quand un build dev sert des fichiers à URL fixe qui sont réécrits à chaque déploiement.


4. Onglet Media

Paramètres pour la zone Media — images, polices, vidéos, PDF, ZIP, et tous les fichiers binaires.

4.1 static_proxy_cache_inactive

Défaut : 7d

Identique à CSS/JS — les médias changent rarement.

4.2 static_proxy_cache_path_max_size

Défaut : 1024m

Taille maximale. Cette zone est habituellement la plus grosse car les médias représentent la majeure partie du poids des pages web.

4.3 Liste d'URI à contourner

Liste textarea, rarement modifiée.

Cas typiques :

/avatars/*
/charts/live/*
/downloads/signed/*

Pour des URLs où le contenu change même si le nom de fichier ne change pas.


5. Comportement à la sauvegarde

5.1 Validation par-item

Pour les listes (URI et Cookie), chaque entrée est validée individuellement :

  • URI : regex ^[A-Za-z0-9._~/?&=%*\-]{1,256}$.
  • Cookie : regex ^[A-Za-z0-9_*\-]{1,128}$.

Politique partial-save : si certaines entrées sont invalides, les valides sont quand même sauvegardées. Un bandeau jaune liste les entrées rejetées avec une explication du format attendu.

5.2 Reconstruction nginx automatique

Toute modification des tailles ou des listes nécessite une reconstruction nginx pour être effective. WSA déclenche automatiquement un wsa --rebuild-forced --verbose après la sauvegarde, avec sortie streamée.

5.3 Impact sur les sites en cours

Les visiteurs en cours de navigation ne sont pas affectés :

  • Les listes de bypass nouvellement ajoutées s'appliquent à partir de la prochaine requête.
  • Les modifications de taille rebuild la zone (les entrées existantes en mémoire restent valides).
  • Aucune fenêtre de service interrompu.

6. Pour aller plus loin

  • Configuration nginx — Paramètres fins de nginx (timeouts, rate limiting, gzip, etc.).
  • Module Configuration — Tailles globales, branche de release, mise à jour automatique.
  • Mode simple cPanel — Comment les clients utilisent un profil tout-fait basé sur les paramètres serveur.
  • Optimisation — Comment identifier les URI et cookies à ajouter à vos listes de contournement.