Drupal 8 met en cache automatiquement toutes les entités rendues (noeuds, utilisateurs, blocs...). Cela permet d'améliorer considérablement les performances générales, mais peut s'avérer également gênant en phase de développement, particulièrement lorsque l'on travaille au niveau du thème.
Plutôt que de vider le cache manuellement via l'interface ou en utilisant Drush, il est possible de désactiver le cache de rendu via les fichiers locaux (non destinés à la production).
1) Créer un fichier local de services
Copier le fichier /sites/development.services.yml dans le répertoire /sites/default/. Renommer le fichier créé services.local.yml. Ce fichier déclare le service de cache "null". Il sera par la suite automatiquement chargé.
2) Créer un fichier local de settings
Copier le fichier /sites/exemple.settings.local.php dans le répertoire /sites/default/. Renommer le fichier créé settings.local.php.
Editer ce dernier en adaptant la ligne 39 comme suit :
3) Modifier le fichier de settings
Editer le fichier /sites/default/settings.php et décommenter les lignes 712 à 714 :
4) Vider le cache
Vider le cache de Drupal afin d'enregistrer le nouveau service déclaré.
5) Modifier le fichier de settings local
Décommenter la ligne 67 :
Rafraichissez n'importe quelle page de votre site. Et voila !
Que s'est-il passé ? Le fichier de settings chargé par défaut (/sites/default/settings.php) inclus maintenant notre fichier de configuration local (/sites/default/settings.local.php). Ce dernier ajoute le service cache.backend.null et le charge. C'est ce service qui se substitue à celui par défaut, annulant la mise en cache du HTML.