Détectez les extensions de navigateur de type bloqueur de publicités et affichez une superposition modale plein écran invitant les visiteurs à les désactiver avant de continuer à naviguer sur votre site.

Double détection

Utilise à la fois la détection des filtres cosmétiques basée sur le DOM et la détection du blocage des requêtes au niveau réseau pour une grande précision.

Comportement configurable

Contrôlez le délai de détection, la possibilité pour les utilisateurs de fermer la superposition, et personnalisez le texte affiché par langue.

Injection automatique

Un middleware global injecte automatiquement le détecteur dans toutes les pages de la partie publique : aucune modification de template n'est nécessaire.

Surcharge par le thème

Les thèmes peuvent fournir leur propre design de superposition du détecteur en surchargeant la vue par défaut.

Cas d'utilisation

Site de contenu financé par la publicité

Votre site dépend des revenus publicitaires. Lorsqu'un visiteur a un bloqueur de publicités activé, la superposition apparaît et l'invite à le désactiver. Vous pouvez bloquer tout accès jusqu'à ce qu'il s'exécute, ou l'autoriser à fermer la superposition et à continuer.

Modèle freemium avec publicités

Les utilisateurs gratuits voient des publicités, les utilisateurs premium non. Utilisez le détecteur pour imposer l'affichage des publicités aux visiteurs anonymes, tandis que les membres inscrits ne sont pas concernés (activez Ignorer les utilisateurs connectés).

Conformité éditeur

Les régies publicitaires exigent un nombre minimum d'impressions publicitaires. Le détecteur permet de s'assurer que vos emplacements publicitaires sont réellement rendus et visibles par les visiteurs.

Prérequis

  • LaraClassifier / JobClass v19.0.0 ou ultérieur
  • PHP 8.3+
  • Aucune dépendance externe : l'add-on est entièrement autonome
Remarque : Cet add-on ne nécessite aucune table de base de données. Tous les paramètres sont stockés dans la table settings du cœur de l'application.

Installation

Étape 1 : Téléverser l'add-on

Allez dans Panneau d'administration → Extensions → Add-ons, cliquez sur Téléverser un add-on et déposez le fichier .zip de l'add-on dans la zone de téléversement (50 Mo maximum). L'archive est extraite dans extensions/addons/adsblockerdetector/ et Ad Blocker Detector apparaît dans la liste, désactivé.

Impossible de téléverser depuis le navigateur ? Décompressez l'archive sur votre ordinateur et copiez le dossier de l'add-on dans extensions/addons/adsblockerdetector/ par FTP ou SSH : son fichier addon.json doit se trouver directement dans ce dossier. Ouvrez ensuite Panneau d'administration → Extensions → Add-ons. La page analyse extensions/addons/ à chaque chargement : l'add-on est donc listé immédiatement (le bouton Synchroniser lance la même analyse à la demande).

Étape 2 : Activer l'add-on

Cliquez sur Activer sur la carte Ad Blocker Detector. C'est un add-on payant : une fenêtre demande son code d'achat, qui est vérifié avant toute autre opération. Un code invalide est refusé dans la fenêtre et rien n'est modifié.

Une fois le code accepté, l'activation se fait en une seule passe : elle crée les tables de base de données de l'add-on (ses migrations), enregistre ses permissions, exécute ses seeders et publie ses assets publics. Rechargez la page pour voir sa nouvelle entrée dans la section Add-ons de la barre latérale d'administration.

Étape 3 : Configurer

Ouvrez Panneau d'administration → Détecteur de bloqueur de pub depuis la section Add-ons de la barre latérale et configurez l'add-on : voir Admin : Paramètres.

Code d'achat (clé de licence)

Ad Blocker Detector est vendu comme un produit séparé, il possède donc son propre code d'achat (clé de licence), distinct du code d'achat de l'application principale et de celui de chaque autre add-on. Il vous est demandé lorsque vous activez Ad Blocker Detector dans Panneau d'administration → Extensions → Add-ons.

Nos produits sont vendus sur trois plateformes. La manière dont vous recevez un code d'achat dépend de l'endroit où vous avez acheté le produit.

Plateforme / Marketplace Comment vous obtenez le code d'achat Où le retrouver
Boutique bedigit.com
Achat sur le site (Boutique)
Généré automatiquement lorsque la commande est payée, puis envoyé par e-mail, soit dans son propre e-mail de licence, soit dans l'e-mail de confirmation de commande. Mon compte → Mes licences sur bedigit.com
Gumroad Créé dès que Gumroad nous notifie la vente, puis envoyé dans un e-mail séparé, en plus du reçu Gumroad. L'e-mail de licence, votre Bibliothèque Gumroad, et Mon compte → Mes licences sur bedigit.com
Envato Market
CodeCanyon
Délivré par Envato, pas par nous, et jamais envoyé par e-mail : vous le téléchargez vous-même depuis votre compte Envato. Compte Envato → Downloads → License certificate & purchase code
Vérifiez votre dossier spam. Pour les achats effectués sur la Boutique bedigit.com comme sur Gumroad, le code d'achat est livré par e-mail. Les e-mails de licence automatiques sont très souvent filtrés : si le message n'est pas dans votre boîte de réception, regardez dans votre dossier spam / courrier indésirable avant de contacter le support, et ajoutez notre adresse d'expéditeur à vos contacts ou à votre liste blanche.

1. Boutique bedigit.com (achat sur le site)

  • Dès que le statut de paiement de la commande passe à Payée, une clé de licence est générée automatiquement pour chaque article sous licence de la commande (une clé par unité achetée : l'achat de 3 unités donne 3 clés distinctes).
  • Elle est envoyée par e-mail à l'adresse utilisée sur la commande, soit dans un e-mail de licence dédié, soit dans l'e-mail de confirmation de commande. Vérifiez votre boîte de réception et votre dossier spam / courrier indésirable.
  • La clé reste disponible dans votre compte sous Mon compte → Mes licences. Les clés sont masquées dans la liste ; ouvrez la page de détail de la licence pour révéler et copier la clé complète, voir les domaines sur lesquels elle est activée, et désactiver un domaine pour libérer un emplacement d'activation.
  • La facture correspondante se trouve sous Mon compte → Mes commandes.

2. Gumroad

  • Un achat Gumroad produit deux e-mails séparés : le reçu Gumroad (envoyé par Gumroad, donnant accès aux fichiers) et un e-mail de clé de licence (envoyé par bedigit.com) qui contient votre code d'achat.
  • L'e-mail de clé de licence est généré dès que Gumroad nous notifie la vente, il arrive donc normalement quelques secondes après le paiement. Là aussi, vérifiez votre boîte de réception et votre dossier spam / courrier indésirable.
  • Lorsque le produit Gumroad utilise la fonction de clé de licence propre à Gumroad, la même clé apparaît aussi dans votre reçu Gumroad et sous Bibliothèque → votre achat sur gumroad.com.
  • Utilisez la même adresse e-mail sur bedigit.com que sur Gumroad : vos clés sont alors liées automatiquement à votre compte et listées sous Mon compte → Mes licences, même si vous vous inscrivez après l'achat. Vous pouvez aussi ajouter une clé Gumroad manuellement depuis Mon compte → Mes licences Gumroad.

3. Envato Market (CodeCanyon)

  • Les codes d'achat Envato sont délivrés et distribués par Envato Market, jamais envoyés par e-mail par nous, il n'y a donc rien à chercher dans votre dossier spam : vous récupérez le code depuis votre compte Envato.
  • Connectez-vous à votre compte Envato / CodeCanyon, ouvrez la page Downloads, trouvez l'article, et choisissez License certificate & purchase code dans le menu déroulant Download. Le code est inscrit dans ce certificat.
  • Un code d'achat Envato ressemble à 12345678-90ab-cdef-1234-567890abcdef (8-4-4-4-12 caractères). Il ne change jamais, et le renouvellement du support de l'article n'en délivre pas de nouveau.
  • Article officiel Envato : Where Is My Purchase Code?
Vous avez perdu votre code d'achat ? Cherchez dans votre boîte mail (dossier spam inclus) les mots “licence” ou “code d'achat”, puis consultez Mon compte → Mes licences sur bedigit.com pour les achats Boutique et Gumroad, ou Downloads → License certificate sur Envato. S'il est toujours introuvable, ouvrez un ticket sur notre Centre d'aide avec votre numéro de commande (Boutique), l'identifiant de vente Gumroad ou l'e-mail de l'acheteur (Gumroad), ou votre nom d'utilisateur Envato et le nom de l'article (Envato).

Configuration

Tous les paramètres se gèrent depuis le panneau d'administration, dans la section Add-ons de la barre latérale : Panneau d'administration → Add-ons → Détecteur de bloqueur de pub. Ils sont stockés dans la table settings du cœur de l'application (groupe adsblockerdetector).

Paramètre Description Par défaut
adsblockerdetector_enabled Activer ou désactiver globalement la détection des bloqueurs de publicités true
adsblockerdetector_detection_delay Délai en millisecondes avant de vérifier la présence d'un bloqueur de publicités (100–5000) 300
adsblockerdetector_allow_dismiss Si les utilisateurs peuvent fermer la superposition sans désactiver leur bloqueur de publicités false
adsblockerdetector_skip_bots Ne jamais afficher la superposition aux moteurs de recherche, crawlers et agents IA connus (ni aux requêtes sans User-Agent), afin que les pages restent indexables true
adsblockerdetector_skip_logged_in Ne jamais afficher la superposition aux utilisateurs connectés (cela inclut déjà les administrateurs) false
adsblockerdetector_skip_admins Ne jamais afficher la superposition aux administrateurs (utilisateurs ayant le statut administrateur ou le rôle admin). Ignoré lorsque adsblockerdetector_skip_logged_in est activé. false
adsblockerdetector_title Titre personnalisé de la superposition, par langue. Laissez vide pour utiliser la traduction par défaut. vide
adsblockerdetector_message Message personnalisé de la superposition, par langue. Laissez vide pour utiliser la traduction par défaut. vide

Les valeurs par défaut proviennent du fichier de configuration de l'add-on (extensions/addons/adsblockerdetector/config/adsblockerdetector.php). Les valeurs enregistrées depuis la page des paramètres remplacent ces valeurs par défaut.

Le détecteur n'est jamais injecté dans les pages du panneau d'administration, les pages d'installation/de mise à niveau, les réponses AJAX/JSON, ni les réponses dépourvues de balise fermante </body>.

Admin : Paramètres

La page des paramètres est accessible dans Panneau d'administration → Add-ons → Détecteur de bloqueur de pub. Son affichage requiert la permission admin.setting.view et son enregistrement la permission admin.setting.edit. La page comporte deux onglets.

Paramètres généraux

  • Activer la détection de bloqueur de publicités : Active ou désactive le détecteur globalement.
  • Délai de détection (ms) : Durée d'attente avant de lancer la détection (100–5000 ms). Des valeurs plus élevées réduisent les faux positifs mais retardent l'apparition de la superposition.
  • Autoriser la fermeture : Lorsque cette option est activée, un bouton “Continuer quand même” apparaît sur la superposition, permettant aux utilisateurs de passer outre sans désactiver leur bloqueur de publicités. La fermeture ne vaut que pour la page affichée : la superposition réapparaît à la page suivante si le bloqueur est toujours actif.
  • Ignorer les robots et crawlers (activé par défaut) : Les moteurs de recherche, crawlers et agents IA connus ne reçoivent jamais la superposition, afin que vos pages restent indexables.
  • Ignorer les utilisateurs connectés : La superposition n'est jamais affichée aux utilisateurs authentifiés. Cela inclut déjà les administrateurs.
  • Ignorer les administrateurs : La superposition n'est jamais affichée aux utilisateurs ayant le statut administrateur ou le rôle admin. Cette option est masquée tant que Ignorer les utilisateurs connectés est activé, puisque ce dernier couvre déjà les administrateurs.

Texte personnalisé

Vous pouvez définir un Titre personnalisé et un Message personnalisé pour la superposition, par langue. Un sélecteur de langue vous permet de saisir le texte pour chaque langue de votre site. Laissez les champs vides pour utiliser les traductions par défaut des fichiers de langue de l'add-on.

Routes

Méthode URL Nom Permission
GET /admin/adsblockerdetector/settings admin.adsblockerdetector.settings.index admin.setting.view
PUT /admin/adsblockerdetector/settings admin.adsblockerdetector.settings.update admin.setting.edit

Le préfixe /admin suit le chemin de base de votre panneau d'administration.

Interface de la superposition

Lorsqu'un bloqueur de publicités est détecté, une superposition modale plein écran apparaît avec :

  • Un fond sombre semi-transparent couvrant toute la fenêtre d'affichage (z-index 99999).
  • Une boîte de dialogue blanche centrée avec une icône de bouclier.
  • Un titre configurable (par défaut : “Bloqueur de publicités détecté”).
  • Un message configurable expliquant pourquoi les bloqueurs de publicités doivent être désactivés.
  • Des instructions pas à pas pour désactiver le bloqueur de publicités.
  • Un bouton principal “Je l’ai désactivé” qui relance la détection.
  • Un bouton de fermeture optionnel “Continuer quand même” (si allow_dismiss est activé).

La superposition bloque le défilement de la page en ajoutant une classe .abd-locked à <body>. Tout le style est inline (aucune requête CSS externe) et la superposition est entièrement responsive.

Accessibilité

  • role="dialog" sur l'élément de superposition
  • aria-labelledby="abdTitle" lié au titre
  • aria-modal="true" pour les lecteurs d'écran
  • aria-hidden="true" sur les éléments appâts
  • Le contraste des couleurs respecte les normes WCAG AA

Mise à jour

Une mise à jour ne remplace que les fichiers de l'add-on. Ses tables et ses données, ses paramètres, son état d'activation et son code d'achat enregistré sont tous conservés : ne désactivez et ne supprimez pas l'add-on avant de le mettre à jour. Sauvegardez tout de même votre base de données au préalable.

Méthode 1 : Téléverser la nouvelle version (recommandé)

  1. Téléchargez le dernier fichier .zip de l'add-on.
  2. Allez dans Panneau d'administration → Extensions → Add-ons et cliquez sur Téléverser un add-on.
  3. Déposez le fichier .zip dans la zone de téléversement.
  4. Comme Ad Blocker Detector est déjà installé, une demande de confirmation affiche la version installée et la nouvelle. Cliquez sur Remplacer : le dossier extensions/addons/adsblockerdetector/ est remplacé par les nouveaux fichiers. Annuler la demande abandonne le téléversement.

Méthode 2 : Remplacer les fichiers à la main

  1. Par FTP ou SSH, supprimez le dossier extensions/addons/adsblockerdetector/ et envoyez le nouveau à sa place. Remplacez le dossier entier plutôt que de copier par-dessus, afin que les fichiers retirés par la nouvelle version ne subsistent pas.
  2. Ouvrez Panneau d'administration → Extensions → Add-ons : la page relit addon.json et la carte affiche le nouveau numéro de version.

Une fois les fichiers remplacés

Si votre installation met en cache sa configuration ou ses routes (php artisan config:cache, route:cache), exécutez php artisan optimize:clear après la mise à jour.

Désinstallation

Éteindre un add-on sans rien perdre, c'est le désactiver : allez dans Panneau d'administration → Extensions → Add-ons, cliquez sur Désactiver sur la carte Ad Blocker Detector et confirmez.

  • L'add-on n'est plus chargé : ses routes, ses vues, son entrée dans la barre latérale d'administration et ses pages publiques ne répondent plus.
  • Ses tables de base de données et toutes les données qu'elles contiennent sont conservées, et ses fichiers restent dans extensions/addons/adsblockerdetector/. Rien n'est supprimé.
  • Ses permissions et son code d'achat enregistré restent en base de données. Seule la suppression les efface.
  • La désactivation est refusée tant qu'un autre add-on actif dépend de celui-ci : désactivez d'abord cet add-on.

Cliquez sur Activer sur la même carte pour le rallumer. Comme lors de la première activation, le code d'achat est redemandé et vérifié ; ensuite les migrations en attente sont exécutées, les assets republiés, et l'add-on reprend exactement là où il s'était arrêté.

Suppression

La suppression est définitive et détruit les données de l'add-on. Le bouton Supprimer n'apparaît que sur un add-on désactivé : la suppression se fait donc toujours en deux temps :

  1. Désactivez Ad Blocker Detector (voir Désinstallation).
  2. Cliquez sur Supprimer sur sa carte et confirmez la demande.

Le panneau d'administration, en une seule passe :

  • exécute le hook de désinstallation de l'add-on, s'il en fournit un, tant que son code est encore sur le disque ;
  • révoque les permissions déclarées dans son addon.json ;
  • annule ses migrations, ce qui supprime ses tables de base de données et toutes les lignes qu'elles contiennent, et purge ses entrées de la table migrations, afin qu'une réinstallation ultérieure reparte de zéro ;
  • supprime ses assets publiés : public/addons/adsblockerdetector/, public/vendor/adsblockerdetector/ et storage/app/public/addons/adsblockerdetector/ ;
  • supprime le dossier de l'add-on extensions/addons/adsblockerdetector/ ;
  • supprime sa ligne dans la table addons (le code d'achat enregistré disparaît avec elle) et vide le cache de l'application.
Cette action est irréversible. Sauvegardez votre base de données avant de supprimer un add-on dont les données peuvent encore vous servir : le réinstaller plus tard crée des tables vides, pas votre ancien contenu, et redemande le code d'achat.

La suppression est refusée, avec un message explicatif et avant toute destruction, lorsque l'add-on est encore actif, lorsqu'un autre add-on actif en dépend, ou lorsque l'utilisateur du serveur web (PHP) ne peut pas supprimer extensions/addons/adsblockerdetector/. Dans ce dernier cas, donnez à cet utilisateur le droit d'écriture sur le dossier et sur son parent, puis réessayez.

Supprimer le dossier en FTP ou en SSH n'est pas équivalent : l'add-on est seulement éteint, et ses tables, ses entrées dans la table migrations et sa ligne addons restent en place. Utilisez plutôt Supprimer dans le panneau d'administration.

Dépannage

La superposition n'apparaît jamais

  • Vérifiez que l'add-on est activé dans Panneau d'administration → Extensions → Add-ons.
  • Vérifiez que Activer la détection de bloqueur de publicités est activé dans les paramètres de l'add-on.
  • Si vous testez en étant connecté, vérifiez que Ignorer les utilisateurs connectés (ou Ignorer les administrateurs pour un compte administrateur) est désactivé, ou testez dans une fenêtre de navigation privée.
  • Lorsque Ignorer les robots et crawlers est activé, les navigateurs ou outils de test qui envoient un User-Agent de robot ou vide ne reçoivent jamais la superposition.
  • Assurez-vous de tester avec un bloqueur de publicités installé et activé.
  • Essayez de réduire le detection_delay à 100 ms pour les tests.
  • Vérifiez la console du navigateur pour des erreurs JavaScript.

Faux positifs (la superposition apparaît sans bloqueur de publicités)

  • Augmentez le detection_delay (essayez 1000 ms ou plus).
  • Vérifiez si votre Content Security Policy (CSP) bloque la requête fetch vers /ads/ad-banner.js.
  • Un blocage au niveau réseau par des pare-feux d'entreprise ou des filtres DNS peut provoquer des faux positifs.

La superposition apparaît sur les pages d'administration

  • Cela ne devrait pas se produire. Le middleware exclut les routes d'administration. Si cela arrive, vérifiez que isAdminPanelRoute() est correctement défini dans les helpers du cœur de l'application.

Le bouton “Je l’ai désactivé” ne fonctionne pas

  • Le bloqueur de publicités est peut-être encore actif. Le détecteur crée de nouveaux éléments appâts à chaque nouvelle vérification.
  • Certains bloqueurs de publicités nécessitent un rechargement complet de la page après désactivation. Le détecteur rechargera la page une fois la nouvelle vérification réussie.

Cet article vous a-t-il été utile ?

Merci pour votre retour !

Besoin d'aide ? Créez un ticket de support

Créer un Ticket

Guides des add-ons

juil. 15, 2026