Patrice Ferlet
Patrice Ferlet
Créateur de ce blog.
Publié le sept. 24, 2013 Temps de lecture: 11 min

Me suivre sur Mastodon

Montrer un message aux utilisateurs AdBlock

AdBlock… le cauchemars de ceux qui vivent des bannières de pubs sur leur site… On a des polémiques, on a des discussions houleuses, et en mélangeant un peu le tout, on peut trouver un arrangement. Je vous propose une solution qui peut plaire à presque tout le monde, techniquement simple, qui ne gène pas (ou peu) l’utilisateur AdBlock ou Freenaute et qui peut vous permettre de vous faire comprendre; mais avant cela je tiens à m’exprimer une fois pour toute sur le pourquoi du comment de l’utilisation de bannières de pubs sur différents sites que je maintiens.

Bon, soyons clairs, moi personnellement j’utilise des bannières de pubs sur mon site. Si j’avais un moyen simple de vous proposer des logiciels, des solutions, des services en ligne sans avoir à me ruiner avec des serveurs dédiés, je le ferai. Le souci, c’est qu’un serveur ça coûte bonbon.

Pour ma part, entre les noms de domaines, le serveur, et sans compter le courant à la maison pour alimenter les heures de boulot sur mes travaux, je tape dans les 100, voir 120 euros par mois. Et le souci, c’est que ces serveurs ne sont pas là pour héberger des solutions professionnelles. Oui je suis développeur, mais pour un patron qui n’a rien à voir avec ce que je propose en ligne.

OK, je ne suis pas du tout un grand blogueur. Mon audience se limite à 500 visites par jours, et encore je pense que certains se sont juste perdu et ont atterrit ici pour rien. Toujours est-il que voilà, à un moment donné je tente de proposer du contenu utile, par forcément grand publique j’en conviens. Mais pour être clair, j’ai besoin d’aide, financièrement parlant. Je suis pas riche, je suis juste passionné et je fais de mon mieux.

J’ai donc décidé de tenter, il y a déjà un long moment, de mettre des bannières de pubs sur mon site. Oui là en bas de l’article. Avouez qu’elle vous gène en rien là… si ? ha… c’est dommage. Dommage pour qui ? bah pour vous…

Pourquoi je dis ça ? C’est simple, moi elle me permet de financer un peu mes travaux, c’est à dire les logiciels libres que je développe et je donne sans demander quelque chose en retour, des services que je maintiens, et j’en passe. La totalité des revenus des bannières de pub que je mets me donne (allez… en voyant large) 5 euros dans les meilleurs mois. La faute à qui ? bah à moi là pour le coup! Et oui, parce que j’ai fais le choix idiot de ne pas polluer complètement mon site avec des bannières partout. Là où certains abusent largement des bannières de pubs alors qu’ils génèrent un trafic conséquent, moi et mes visites ridicules je ne fais pas le choix de compenser.

Sauf que justement, moi qui ne compense pas en vous polluant la vue sur tout l’écran, je me vois réduis à être classifié dans le même groupe que le “salop qui profite des visiteurs” à cause des abus… Du coup, l’autre là avec son site chargé comme une mule de pubs, il profite toujours des revenus de ceux qui n’ont pas de bloqueur de pubs, mais moi, par contre, ça me vautre littéralement alors que je pense être largement en dessous du seuil d’abus.

Alors que je tente de faire les choses bien, on me prive de plus en plus de mes revenus. Adblock Plus par exemple, et Free avec son système anti-pub, me virent près de 40% de ce que je pourrais gagner. Ce chiffre ne sort pas de nul part, il sort de mes rapports de stats. Je sais comment connaitre le ratio en regardant simplement sur mes sites le nombre d’impression de pubs par rapport à mes visites réelles.

Alors quelles sont les solutions ?

Solution 1, j’arrête tout.

Bah à un moment donné, à force d’en baver j’ai littéralement ralenti mon rythme de travail. J’ai arrêté de supporter mon serveur de dépôt Fedora de près de 40 paquets que je maintenais (qui ne pouvaient pas entrer dans rpmfusion et dans les dépôts officiels). Passer près de 4h par jour à développer Kwiscale, Knotter, Baboosh ou GoVerbalExpressions

  • 10 autres projets… pour en plus payer tout ça (serveur d’appli, noms de domaines…) avouez que ça décourage.

J’ai donc arrêté et je ne maintiens plus que deux ou trois projets… et encore… je vous assure que je pense de plus en plus à tout couper.

A ceux qui vont me répondre: t’as des services gratuit pour avoir un blog etc… je répond de suite: non. Enfin oui… je peux très bien avoir un site sur BlogSpot par exemple, mais le but est tout de même de faire tourner mes outils. Là par exemple, c’est Knotter qui répond. Un outil que je développe pour le moment dans mon coin mais qui permet de faire des sites comme ce blog. Le souci c’est que tous les serveurs qu’on me propose gratuitement ne me permettent pas de faire tourner mon framework node. J’attends pas la gloire, mais de faire tourner en production un outil qui, à terme, peut servir à d’autres que mon misérable blog. Donc, je répète, NON je ne peux pas aller sur un service gratuit.

Et encore, je parle pour le moment très peu de mon autre projet sous Go (Golang), nommé Kwiscale, pourtant j’ai un autre blog qui tourne dessus, mais comme je ne connais pas encore sa limite en sécurité, je dois le faire tourner sur mon serveur et vérifier tout ça. Je prends des heures à développer tout ce petit monde, en espérant qu’un jour des gens l’utilisent.

Solution 2, j’arrête le libre

Bah à un moment donné, la lâcheté me pendait au nez. Retourner sur Windows et faire un gros projet pour les mecs prêt à payer 15€ par copie, je me suis posé la question. Même en ne vendant que 10-15 produits par mois, ça arrondissait largement les angles pour mon banquier. Sauf que voilà, moi j’aime pas le fait de fermer la connaissance. J’ai toujours soutenu le libre et je ne vois pas trop comment l’argent pourrait polluer à ce point cet engouement.

Ma vrai richesse c’est ma passion, et le fait de vouloir la partager. Donc non, hors de question de passer à cette solution.

Solution 3, je fais la manche

Pas si con en fait… Mettre un petit encart avec marqué “sivousplééééé” ou un truc du genre. Non, je suis bête… les gens ne veulent pas payer et moi le premier. Si je devais faire un don à tous les sites que je visite et que j’adore, je pense que mon banquier me pendrait. Même à un euro par mois et par site, je serai très mal.

Par contre j’ai fait pas mal de dons, Ardour, Blender,… je donne quand j’utilise, parce que ces mecs méritent d’être aidé. Mais moi, je suis pas Ton Roosendhal et j’ai pas le génie de Thorvalds. Bref, le don ça marche pas. Donc à la limite, un mec qui a des sous, si il met 1 euro dans mes projets, je suis preneur.

1 euro ça parait rien comme ça… mais c’est preque 1% de mes couts de maintenance…

Solution 4, je laisse la pub et je supplie les gens de me whitelister

Mhhhh pas bête ça ! A la limite, je vais pas interdire un mec de lire mes articles, de télécharger mes sources de logiciels etc… sous prétexte qu’il veut pas voir les pub de “meetruc” ou “comment blanchir ses dents avec de la javel alimentaire”… mais si je lui explique que ces pubs aussi grotesques soit-elles parfois (souvent) sont très importantes pour que je puisse continuer à lui fournir des outils, des articles, etc… Peut-être qu’il acceptera. Ou mieux, je lui propose de faire un don ou de désactiver le blocage de pub mais je lui laisse aussi le choix de ne rien faire. Y’a aussi des gens qui peuvent pas payer et qui ne veulent pas voir de pub. J’aurais beau tenter de lui expliquer que voir de la pub ne lui coute rien, que ça m’aide à payer mon serveur qu’il utilise pour lire mes déblatérations, et qu’en plus ça lui permet de pouvoir jouer avec mes outils sans rien payer, si il veut pas comprendre, je vais pas le blâmer… tant pis pour moi.

Donc la solution est pas si mal. Mais comment savoir si il a coupé mes pubs ?

Afficher un popup pour celui qui coupe les pubs

Y’a un moyen simple, c’est de jouer avec le bloqueur lui même. Que fait le bloqueur ? il regarde le DNS utilisé, ou simplement le nom du ficher récupéré (c’est ce que fait AdBlock) pour aller chercher le javascript et/ou l’iframe de la pub, et il arrête le chargement avant affichage.

On peut alors imaginer simplement que le bloqueur cherche un truc simple dans le nom du ficher, par exemple “ads”. Je me suis alors adonné à une expérience. J’ai posé un fichier css nommé “myblogads.css” et (miracle ?) le bloqueur de pub refuse son chargement… L’idée est là !

Je pose un div qui contient un message explicatif, du genre “hey monsieur (ou madame) tu bloques mes pubs… machin… tout ça… aide moi, argent… bouton de don, bouton pour cacher le div”. ID du bloc: “soyezcool”

Ensuite, dans ce fameux CSS bloqué par AdBlock, je mets:

div#soyezcool { display: none }

Ce qui va se passer c’est que si le bloqueur refuse mon CSS (à cause de son nom qui contient “ads”) la div n’est plus cachée. Par contre, pour ceux qui se foutent de voir un petit encart de pub, rien ne se passe, car le CSS est chargé. Donc le bloc “soyezcool” est caché.

Reste à être sympa aussi avec celui qui veut pas de pub. J’ai personnellement eut l’idée (sur un autre site) de placer un cookie valable un an qui, s’il est présent, cache direct le div.

Le script qui fait tout le patacaisse

Dans un JS:

function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

function eraseCookie(name) {
    createCookie(name,"",-1);
}

// cache le message d'information et place un cookie
function hide(cookietime) {
    // on retient qu'on ne montera pas le message pendant X jours 
    createCookie("cool", "true", cookietime); 
    // on cache le message
    document.getElementById("soyezcool").style.display = "none";
}

// cas d'un retour de paiement, à paramétrer chez Paypal si vous mettez un bouton de don
// place le cookie, le mec a fait un don
if (location.hash === "#payed" && readCookie(cookiename) !== "true") {
    hide(356); // on laisse le visiteur 1 an tranquile
}

// Bon le visiteur là, il a déjà payé ou demandé de cacher le message, on 
// cache le message par défaut
if (readCookie(cookiename) === "true") {
    document.getElementById(divid).style.display = "none";
}

Voilà, c’est tout. Reste à faire une div dans votre HTML:

<div id="soyezcool">
<button onclick="hide(1)">Fermer</button>
<p>
    Soyez cool, coupez votre bloqueur de pub ou faire un don (mettre le bouton de don)... etc... 
    avec des explications claires et gentilles. 
    Si vous voulez pas vous pouvez continuer quand même... et bla bla bla
</p>
</div>

C’est tout… Si votre visiteur a déjà pris connaissance de votre quête ou qu’il a fait un petit don et qu’il a bien été redirigé sur votre page suivi d’un “#payed” dans l’URL, il ne verra ni la pub, ni votre div d’information.

Dans le cas d’un don, le message disparait 1 an, pour une personne qui cache juste le message, on le fait pour 1 jour. Oui là je le fais à la mode cookie ce qui veut dire que:

  • le payeur change de navigateur ou supprime les cookies, il verra de nouveau le message
  • en lisant le code, on peut facilement être tranquile 1 an sans payer…

Je sais tout ça… mais je suis pas là pour fliquer tout le monde… et puis encore une fois je suis désolé de me défausser mais si AdBlock n’était pas là il ne verrait qu’une pub en bas de page et pas un gros popup une fois par jours en haut de page… et je continue sur ma lancée, si les foutus sites remplis de bannières de pub n’avaient pas été aussi avide de pognon, vous ne seriez pas un utilsateur de AdBlock, et par conséquent moi j’aurai pas à ruser pour vous montrer un message. La faute est aux profiteurs, pas à vous chers lecteurs qui utilisez AdBlock ou qui êtes chez Free. Je tiens à être clair sur ce point !

Personnellement j’ai déjà utilisé cette méthode sur ma page http://asm.metal3d.org étant donné le temps que m’a pris ce petit émulateur d’assembleur…

Comprenez moi bien, je comprends largement le fait que la pub vous ennui, mais pensez à ceux qui posent des pubs avec parcimonie (tel que moi) et qui ne cherchent pas la richesse, mais la subsistance… je suis pas un Robin des bois, mais je donne pas mal de mon temps à des projets qui ne me rapportent rien, mis à part l’immense joie (et c’est énorme, croyez moi) d’avoir de temps à autre des commentaires par mail sur différents projets que je donne de bon cœur. Pensez juste au fait que tout cela me prend du temps, beaucoup de temps, et que ça me coute vraiment cher par mois pour maintenir le matériel en marche. Si ce que je donne vous aide:

  • faites un don sur la page de projet qui vous intéresse
  • ou whiltelistez mes pages de votre bloqueur de pub (si c’est Free je sais pas comment vous devez faire…)

En espérant que vous ne preniez pas comme une agression ce billet de site. Bonne soirée à tous !

comments powered by Disqus