JustZix vs Tampermonkey / Greasemonkey — ce qui diffère, ce qui gagne, quand choisir lequel
Tampermonkey est synonyme de « userscripts » depuis 15 ans. Quand quelqu'un dit « j'injecte du JS dans une page », il pense probablement à Tampermonkey par défaut. JustZix fait tout ce que fait Tampermonkey, plus les userstyles (comme Stylus), plus une couche UI que les userscripts n'ont pas. Ce billet montre où nous différons.
Comparatif des fonctionnalités
| Fonctionnalité | Tampermonkey | Greasemonkey | JustZix |
|---|---|---|---|
| Injection JS sur correspondance d'URL | ✓ (@match dans l'en-tête) | ✓ (@include) | ✓ (scope.url) |
| Injection CSS | ~ (via GM_addStyle) | ~ (via GM_addStyle) | ✓ (règle CSS dédiée) |
| Éditeur en direct dans l'onglet | ✗ | ✗ | ✓ (CSS pane + JS pane) |
| REPL dans l'onglet | ✗ | ✗ | ✓ (JS Console) |
| Barre d'actions avec boutons UI | ~ (GM_registerMenuCommand — dans le popup de l'extension) | ~ | ✓ (6 types d'actions visibles sur la page) |
| Partage via URL | ~ (export vers .user.js) | ~ (export) | ✓ (lien TTL 1-48 h) |
| Synchro entre appareils | ✓ (Tampermonkey Cloud — payant) | ✗ | ✓ (chrome.storage.sync, gratuit) |
| Open source | ~ (version gratuite, mais Tampermonkey est closed-source) | ✓ (Greasemonkey GPL) | ✓ (MIT) |
| @require scripts externes | ✓ | ✓ | ~ (fetch dans une règle JS) |
| GM_xmlhttpRequest (contournement CORS) | ✓ | ✓ | ~ (fetch natif, limité par CORS) |
| Marketplace de scripts | greasyfork.org | greasyfork.org | n/a (liens de partage TTL) |
Là où Tampermonkey gagne
- @require + libs externes — les userscripts peuvent importer jQuery, Lodash via URL. JustZix exige du code inline ou un fetch dans une règle JS.
- GM_xmlhttpRequest — contournement CORS pour les appels d'API cross-domain. JustZix utilise le fetch natif — limité par le CORS de la page.
- Marketplace greasyfork.org — des milliers de userscripts publics. JustZix n'a pas de registre central (volontairement — partage TTL).
- Collection de userscripts existante — si vous avez 50 userscripts installés, la migration est du travail. JustZix n'importe pas les .user.js (mais vous pouvez copier-coller le corps dans une règle JS).
Là où JustZix gagne
- Couche UI dans l'onglet — barres d'actions avec BOUTON/SLIDER/TOGGLE3 visibles sur la page. Tampermonkey n'a que GM_registerMenuCommand dans le popup de l'extension (invisible tant que vous ne cliquez pas sur l'icône de la barre d'outils).
- CSS + JS dans une seule règle — userstyle + userscript ensemble, scope=identique. Tampermonkey exige un Stylus séparé.
- Éditeur en direct dans l'onglet — CSS pane / JS pane pour itérer sans F5.
- Output Console dans l'onglet — debug sans DevTools, canal
JUSTZIX.logdédié. - Dashboard snap — barres + panes s'organisent en groupes. Tampermonkey n'a pas d'UI persistante hors du popup.
Migrer 3 userscripts typiques vers JustZix
Script 1 : « Auto-skip des bannières cookies »
Userscript Tampermonkey :
// ==UserScript==
// @name Cookie skip
// @match *://*/*
// @run-at document-end
// ==/UserScript==
(function() {
const obs = new MutationObserver(() => {
const accept = [...document.querySelectorAll('button')]
.find(b => /accept all/i.test(b.textContent));
if (accept) { accept.click(); obs.disconnect(); }
});
obs.observe(document.body, {childList: true, subtree: true});
})();
Migration JustZix :
- Nouveau dossier « Auto-actions »
- Nouvelle règle « Cookie skip », scope :
*://*/* - Onglet JS : collez le corps de la fonction (SANS wrapper IIFE, SANS en-tête userscript)
- Run-at : JustZix utilise « document-end » par défaut — correspondance
- Enregistrer
Script 2 : « GitHub : copier le SHA »
Le userscript Tampermonkey ajoute un bouton « Copier le SHA » à côté des hash de commit. JustZix :
- Scope de la règle :
https://github.com/* - Règle JS : le même code observant les éléments de hash de commit
- En plus : au lieu de créer un bouton DOM, utilisez une action BOUTON « 📋 SHA » dans la barre d'actions JustZix — visuellement cohérent avec les autres actions
Script 3 : « Reddit : masquer les pubs »
Le userscript Tampermonkey masque les éléments .promoted. JustZix :
- Règle CSS (pas JS !) — plus propre, plus rapide :
.promoted, [data-promoted="true"] { display: none !important; } - Bonus : ajoutez un TOGGLE3 « Mode » (Défaut / Masquer pubs / Masquer pubs+sponsorisé) avec les variables CSS de 3 états
Les patterns CSS-first sont souvent plus simples qu'un observer JS.
Pièges de migration
- Les API GM_* sont différentes. Tampermonkey : GM_setValue, GM_getValue, GM_xmlhttpRequest, GM_notification. JustZix :
chrome.storage.local/sync,fetchnatif,JUSTZIX.logcomme canal de log. - @require n'a pas d'équivalent. Les userscripts peuvent importer jQuery via URL. Dans JustZix, vous collez en inline (~10 Ko minifié) ou
fetch + new Function(risque CSP). - Tampermonkey Cloud Sync est payant. Le chrome.storage.sync de JustZix est gratuit mais limité à 100 Ko. Au-delà → chrome.storage.local (pas de synchro). En pratique : 50-100 règles.
- greasyfork.org a des scripts que JustZix n'a pas. Si vous dépendez d'un userscript greasyfork précis — la migration est éparpillée (copier le corps, adapter les appels GM_*). Réalistement : 50 % des userscripts font moins de 100 lignes, migration ~5 min.
La suite
- Migrer depuis Stylish/Stylus — l'équivalent pour les userstyles
- Mini-IDE dans un onglet — ce que JustZix ajoute au-delà des userscripts
- window.JZ + JUSTZIX — l'équivalent JustZix de l'API GM_*
Installez JustZix — Tampermonkey peut vivre en parallèle. Testez 2 semaines, voyez lequel reste.
Notez cet article
Aucune note — soyez le premier.