Maîtriser la visibilité des blocs dans Drupal sans coder

Maîtriser la visibilité des blocs dans Drupal sans coder

Sam Rollin
Sam Rollin
January 7, 2026
Dernière mise à jour : February 15, 2026
January 7, 2026

Vous avez besoin d'une bannière promotionnelle uniquement sur votre page d'accueil. Une barre latérale réservée aux membres connectés. Un message des Fêtes qui apparaît dans toute votre section blogue, mais nulle part ailleurs. Ce sont des besoins courants pour les sites Drupal, et la bonne nouvelle, c'est que vous n'avez pas besoin d'écrire une seule ligne de PHP ou de Twig pour y arriver.

Le système de visibilité des blocs de Drupal dans les versions 10.3 et 11.x offre aux bâtisseurs de sites des outils puissants pour contrôler exactement où et quand les blocs apparaissent. Combiné à quelques modules contribués bien maintenus, vous pouvez gérer des règles de visibilité étonnamment complexes uniquement par la configuration.

Ce guide vous accompagne à travers les options de visibilité de base, les modules contribués les plus utiles pour un contrôle sans code, et des flux de travail pratiques pour les scénarios courants. À la fin, vous saurez quelle approche convient à vos besoins et comment éviter les pièges qui font trébucher plusieurs bâtisseurs de sites.

Prérequis

Avant de commencer, assurez-vous d'avoir :

  • Drupal 10.3 ou 11.x installé et fonctionnel
  • Un accès administrateur à la configuration de votre site
  • Composer disponible pour installer les modules contribués (si vous choisissez cette voie)
  • Une connaissance de base de l'interface de mise en page des blocs de Drupal (Structure → Mise en page des blocs)

Aucune connaissance en programmation n'est requise. Tout ce qui est couvert ici se fait via l'interface d'administration de Drupal.

Étape 1 : Comprendre la visibilité des blocs dans le cœur de Drupal

Le cœur de Drupal offre des contrôles de visibilité solides dès l'installation. Vous trouverez ces options lorsque vous configurez n'importe quel bloc via Structure → Mise en page des blocs → [Votre thème] → Configurer (sur un bloc existant) ou Placer un bloc.

Conditions de visibilité intégrées

Chaque bloc dans Drupal est accompagné de ces onglets de visibilité :

Pages (Chemin de la requête)

Contrôlez la visibilité selon les patterns d'URL. Vous pouvez spécifier :

  • <front> pour la page d'accueil uniquement
  • /a-propos pour une page spécifique
  • /blogue/* pour toutes les pages sous le chemin blogue
  • Plusieurs chemins, un par ligne

Choisissez « Afficher pour les pages listées » ou « Masquer pour les pages listées » pour contrôler la logique.

Types de contenu

Affichez les blocs uniquement sur les pages de nœuds de types spécifiques. Si vous voulez qu'une barre latérale apparaisse seulement sur les pages Article, cochez « Article » et laissez les autres types de contenu décochés.

Rôles

Contrôlez l'accès selon les rôles des utilisateurs. Patterns courants :

  • Cochez uniquement « Utilisateur authentifié » pour les visiteurs connectés
  • Cochez uniquement « Utilisateur anonyme » pour les visiteurs déconnectés
  • Cochez des rôles spécifiques comme « Membre » ou « Abonné premium »

Langues

Pour les sites multilingues, affichez les blocs selon la langue de l'interface ou du contenu.

Exemple pratique : Bannière promo sur la page d'accueil seulement

Voici comment configurer un bloc promotionnel qui apparaît uniquement sur votre page d'accueil :

  • Naviguez vers Structure → Mise en page des blocs
  • Cliquez sur « Placer un bloc » dans la région souhaitée (comme « En-tête » ou « Contenu »)
  • Sélectionnez ou créez votre bloc promotionnel
  • Sous l'onglet de visibilité « Pages », entrez <front>
  • Sélectionnez « Afficher pour les pages listées »
  • Enregistrez le bloc

C'est tout. Votre promo apparaît sur la page d'accueil et nulle part ailleurs.

Exemple pratique : Barre latérale réservée aux membres

Pour une barre latérale visible uniquement par les utilisateurs connectés :

  • Configurez le bloc dans votre région de barre latérale
  • Sous l'onglet de visibilité « Rôles », cochez « Utilisateur authentifié »
  • Laissez « Utilisateur anonyme » décoché
  • Enregistrez le bloc

Les visiteurs anonymes ne verront pas ce bloc du tout.

Notre expérience démontre que ces options de base couvrent environ 70 % des besoins typiques de visibilité. Les cas restants nécessitent généralement l'un des modules contribués présentés ensuite.

Étape 2 : Installer Block Visibility Groups pour des règles réutilisables

Quand vous avez plusieurs blocs qui doivent suivre les mêmes règles de visibilité, configurer chacun individuellement devient fastidieux et sujet aux erreurs. Block Visibility Groups résout ce problème en vous permettant de définir des groupes nommés de conditions que vous pouvez appliquer à n'importe quel bloc.

Installation

Installez via Composer :

composer require drupal/block_visibility_groups:^2.0

Puis activez le module dans Étendre ou via Drush :

drush en block_visibility_groups

Créer votre premier groupe de visibilité

  • Naviguez vers Structure → Block Visibility Groups
  • Cliquez sur « Ajouter un groupe de visibilité de bloc »
  • Donnez-lui un nom descriptif comme « Section Blogue » ou « Espace Membres »
  • Ajoutez des conditions en cliquant sur « Ajouter une nouvelle condition »
  • Sélectionnez le type de condition (Chemin de la requête, Type de contenu, Rôle utilisateur, etc.)
  • Configurez les détails
  • Enregistrez le groupe

Appliquer les groupes aux blocs

Une fois que vous avez créé un groupe :

  • Allez dans Structure → Mise en page des blocs
  • Configurez n'importe quel bloc
  • Vous verrez une nouvelle option « Groupe de visibilité »
  • Sélectionnez votre groupe au lieu de configurer des conditions individuelles

La vraie valeur apparaît quand vous devez changer les règles. Mettez à jour le groupe une fois, et chaque bloc utilisant ce groupe se met à jour automatiquement.

Exemple : Groupe Section Blogue

Créez un groupe appelé « Section Blogue » avec ces conditions :

  • Chemin de la requête : /blogue/* (Afficher pour les pages listées)
  • Type de contenu : Article (Afficher pour les types de contenu sélectionnés)

Maintenant, tout bloc assigné à ce groupe—articles connexes, bio de l'auteur, inscription à l'infolettre—apparaîtra uniquement dans votre section blogue. Quand vous ajoutez un nouveau pattern d'URL de blogue comme /nouvelles/*, mettez à jour le groupe une fois et tous les blocs suivent.

Étape 3 : Utiliser Block Visibility Conditions pour la logique « Pas X »

Une exigence courante est « afficher ce bloc partout sauf sur certains types de contenu ». La case de négation du cœur peut produire des résultats inattendus—votre bloc pourrait disparaître sur les pages non-nœuds comme les Vues ou les résultats de recherche.

Block Visibility Conditions ajoute des conditions « Pas X » plus propres qui se comportent de manière plus intuitive.

Installation

composer require drupal/block_visibility_conditions:^2.2
drush en block_visibility_conditions

Quand l'utiliser

Utilisez Block Visibility Conditions quand vous avez besoin de :

  • Pas le type de nœud : Afficher sur toutes les pages sauf certains types de contenu, tout en apparaissant sur les Vues, la recherche et autres pages non-nœuds
  • Pas le vocabulaire de taxonomie : Logique similaire pour la visibilité basée sur la taxonomie
  • Pas le type de produit : Pour les sites Commerce, contrôler la visibilité autour des pages de produits

Exemple : Afficher partout sauf sur les pages d'atterrissage

Disons que vous avez une inscription à l'infolettre dans la barre latérale qui devrait apparaître partout sauf sur vos pages d'atterrissage soigneusement conçues :

  • Configurez le bloc
  • Ajoutez la condition « Pas le type de nœud » (pas la condition standard « Type de contenu »)
  • Sélectionnez le type de contenu « Page d'atterrissage »
  • Enregistrez

Le bloc apparaît maintenant sur les articles, votre page d'accueil, les résultats de recherche, les pages de Vues—partout sauf sur les nœuds Page d'atterrissage.

Étape 4 : Visibilité du Layout Builder avec Context

Si vous utilisez Layout Builder pour les mises en page, vous remarquerez que les contrôles de visibilité par bloc ne sont pas aussi développés que dans la mise en page des blocs traditionnelle. Un ticket du cœur travaille activement à ajouter des conditions de visibilité directement aux blocs du Layout Builder, mais ce n'est pas encore disponible.

En attendant, le module Context combiné avec Layout Builder Context Integration offre une solution de contournement solide.

Installation

composer require drupal/context drupal/layout_builder_context
drush en context layout_builder_context

Comment Context fonctionne

Context vous permet de définir des scénarios (appelés « contextes ») basés sur des conditions, puis de déclencher des réactions lorsque ces contextes sont actifs. Pour Layout Builder, la réaction peut afficher ou masquer des sections ou blocs entiers.

Configurer un contexte de campagne

Imaginez que vous voulez qu'une section promotionnelle apparaisse sur votre page d'accueil uniquement pendant une période de vente :

  • Naviguez vers Structure → Context
  • Cliquez sur « Ajouter un contexte »
  • Nommez-le « Campagne Soldes des Fêtes »
  • Ajoutez des conditions : Chemin de la requête : <front>
  • Optionnellement, ajoutez des conditions basées sur la date si vous avez un module de condition de date
  • Ajoutez une réaction qui contrôle la visibilité de votre section Layout Builder
  • Enregistrez

Maintenant, vous pouvez activer ou désactiver le contexte de campagne entier sans toucher aux blocs individuels.

Étape 5 : Choisir la bonne approche

Voici un cadre de décision rapide :

Utilisez la visibilité du cœur quand :

  • Vous avez des règles simples par bloc
  • Les conditions de chemin, rôle, type de contenu ou langue sont suffisantes
  • Vous n'avez pas besoin de partager des règles entre plusieurs blocs

Utilisez Block Visibility Groups quand :

  • Plusieurs blocs partagent les mêmes règles de visibilité
  • Vous voulez mettre à jour les règles à un seul endroit
  • Vous gérez une visibilité par section (blogue, boutique, espace membres)

Utilisez Block Visibility Conditions quand :

  • Vous avez besoin d'une logique « partout sauf X »
  • La négation du cœur produit des résultats inattendus
  • Vous travaillez avec des types de produits Commerce

Utilisez Context Layout Builder Integration quand :

  • Vous construisez avec Layout Builder
  • Vous avez besoin d'une visibilité basée sur des scénarios (campagnes, segments d'utilisateurs)
  • Vous voulez un contrôle au niveau de la mise en page, pas seulement au niveau du bloc

Erreurs courantes à éviter

Oublier la barre oblique au début

Les patterns de chemin dans Drupal exigent la barre oblique au début. /blogue/* fonctionne; blogue/* pourrait ne pas se comporter comme prévu. Incluez toujours la barre oblique.

Mélanger trop d'outils

Utiliser les conditions du cœur, Block Visibility Groups et Context sur le même bloc crée des cauchemars de débogage. Nous avons constaté que les équipes obtiennent les meilleurs résultats quand elles choisissent un outil principal pour la visibilité et s'y tiennent. Utilisez le cœur pour les cas simples, et un module contribué pour les cas complexes—pas tous simultanément.

Confondre la mise en page des blocs avec Layout Builder

Les blocs placés via Structure → Mise en page des blocs suivent les règles de visibilité de la mise en page des blocs. Les blocs placés via Layout Builder suivent les règles de Layout Builder (et des modules d'intégration que vous utilisez). Quand un bloc « disparaît », la première question de débogage devrait être : où ce bloc a-t-il été placé?

Ne pas vider le cache

Les règles de visibilité sont mises en cache de manière agressive pour la performance. Après avoir fait des changements, videz le cache de votre site :

drush cr

Ou utilisez le bouton « Vider tous les caches » dans Configuration → Performance.

Conditions qui se chevauchent

Un bloc assigné à un groupe de visibilité qui le masque, plus des conditions individuelles qui l'affichent, crée un comportement confus. Gardez votre logique à un seul endroit.

Tests et vérification

Après avoir configuré les règles de visibilité, vérifiez qu'elles fonctionnent correctement :

Liste de vérification pour les tests manuels

  • Testez en tant que différents utilisateurs : Déconnectez-vous et vérifiez la visibilité anonyme. Connectez-vous avec différents rôles et vérifiez les règles basées sur les rôles.
  • Vérifiez plusieurs chemins : Ne testez pas seulement les chemins que vous avez configurés. Vérifiez les chemins que vous n'avez pas spécifiés pour vous assurer que les blocs apparaissent ou se masquent correctement là aussi.
  • Testez les cas limites : Que se passe-t-il sur les pages 404? Les résultats de recherche? Les pages de Vues? Ces pages non-nœuds révèlent souvent des comportements inattendus.
  • Videz le cache entre les tests : Les changements de visibilité pourraient ne pas apparaître tant que vous n'avez pas vidé le cache.

Utiliser les outils du navigateur

  • Ouvrez les outils de développement de votre navigateur
  • Vérifiez l'onglet Réseau pour les réponses en cache
  • Utilisez le mode privé/incognito pour simuler les utilisateurs anonymes
  • Connectez-vous avec différents utilisateurs de test pour vérifier la visibilité basée sur les rôles

Documenter votre configuration

Pour tout site avec des règles de visibilité complexes, documentez :

  • Quel outil contrôle la visibilité de quels blocs
  • La logique derrière chaque groupe de visibilité ou contexte
  • Toute limitation connue ou solution de contournement

Le vous du futur (ou vos collègues) appréciera cela quand quelque chose aura besoin d'être débogué six mois plus tard.

Conclusion

Le système de visibilité des blocs de Drupal donne aux bâtisseurs de sites un vrai contrôle sur où et quand le contenu apparaît, le tout par la configuration. La visibilité du cœur gère les exigences simples comme les règles basées sur le chemin et les rôles. Block Visibility Groups ajoute des ensembles de règles réutilisables quand vous gérez plusieurs blocs. Block Visibility Conditions comble les lacunes avec une logique « pas X » plus propre. Et Context fait le pont pour la visibilité de Layout Builder en attendant que le cœur rattrape son retard.

Les équipes avec lesquelles nous travaillons rapportent que commencer avec la visibilité du cœur et ajouter un module contribué au besoin produit les configurations les plus propres et les plus maintenables. La clé est de choisir votre outil principal et de l'utiliser de manière cohérente plutôt que de mélanger les approches.

Si votre site a besoin de règles de visibilité complexes—personnalisation basée sur le comportement de l'utilisateur, campagnes sensibles au temps, ou intégration avec votre automatisation marketing—l'approche uniquement par configuration a ses limites. Savoir où se trouvent ces limites vous aide à planifier adéquatement. Nous aidons régulièrement les équipes à concevoir des systèmes de visibilité qui équilibrent le contrôle éditorial avec la durabilité technique. Si vous construisez un site Drupal qui nécessite un ciblage sophistiqué des blocs, nous pouvons vous aider à élaborer une approche qui fonctionne pour votre équipe de contenu sans créer de maux de tête de maintenance à long terme.

Share this article