Yop. La dernière fois, je parlais d’un super outil permettant de designer sa base de données, intitulé dbdiagram.io. Eh ben c’est toujours aussi génial, mais ces cons-là ont décidé de booster leur feature premium en se tirant littéralement une balle dans le pied à coup de pop-ins intempestives du genre “Tu veux changer la couleur du header ? Fais la promo de l’outil sur Twitter et on te file un accès Premium !” ou “Tu veux le Darkmode ? Bah crache le blé, vas-y”, et le tout pendant que tu écris ton markup, te forçant à taper sur [ESC] tous les trois caractères. Moi je veux bien que tu fasses la promo de toutes tes belles features, mais pas en sabotant l’UX de celles qui sont censées être gratuites. Ton outil est génial en plus, pourquoi tu fais ça, Holistics ? Ça n’a aucun putain de sens !

Alors, excédé par cette ignominie, et voulant toujours profiter de l’outil, tout en refusant d’être forcé à en faire la promo, qui plus est pour bénéficier de fonctionnalités dont je n’ai cure, j’ai développé un petit UserScript qui va, tout simplement, buter les pop-ins à chaque tentative d’affichage. C’est pas très fair pour eux, mais à un moment, merde.

Si ça t’intéresse, il te suffit d’installer l’extension Tampermonkey sur Chrome ou Firefox (ouais, Safari, Brave, Opera ou autres, bat un peu les gonades, mais y’a sûrement un truc du genre pour eux aussi).

Ensuite, clique sur le petit logo suivant : à côté de la barre d’adresse de ton navigateur, puis sur “Dashboard”. Ensuite, le petit bouton “+”, et dans le textarea qui t’est présenté, insère ce petit script :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// ==UserScript==
// @name DB Diagram fucking dialogs remover
// @namespace http://tampermonkey.net/
// @version 0.1.0
// @description Each time dbdiagram displays its fucking dialog to incent you to activate premium feature, remove it
// @author Pierre Rolland <prolland@lafourchette.com>
// @match https://dbdiagram.io/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
const target = document.getElementsByClassName('v-box')[0];
const observer = new MutationObserver(() => {
document.querySelectorAll(".toggle-wrapper").forEach(e => {
e.parentNode.removeChild(e);
console.log('Removed crap');
})
});
observer.observe(target, { childList: true });
})();

Vire le console.log si voir le nombre de pop-ins contrées ne t’intéresse pas. Un p’tit “Save”, et tu es bon. Tu peux profiter à nouveau de dbdiagram en toute quiétude. En plus, tu peux même activer le dark-mode, ils sont pas très intelligents.

La bise.