Userscript, script utilisateur et script Greasemonkey

Que l'on parle de userscript, de script utilisateur, de script Greasemonkey de Tampermonkey ou de Violent monkey, on parle exactement de la même chose, le premier est dit en anglais, le second en français quand aux derniers ce sont des extensions pour que les navigateurs puissent exécuter ces fameux scripts.

C'est quoi un script utilisateur?

Un script utilisateur est un code écrit en Javascript que l'on intègre à son navigateur pour modifier l'apparence ou le comportement d'une page web, d'un site internet ou de tout le web.

Par exemple en supposant que vous ne supportiez plus le logo du site que vous fréquentez quotidiennement, un script utilisateur pourrait le faire disparaitre ou le remplacer. Cela uniquement en local et avec le navigateur où il est installé.

Cet exemple est des plus simpliste et c'est rarement dans ce cas de figure que l'on fait appèle à des scripts utilisateur qui s'avèrent réellement beaucoup plus puissants que cela.

Installation de script

L'intégration d'un script utilisateur dépend du navigateur que vous utilisez.

Opéra dans la version 12 et plus anciennes les utilise de façon native, il suffit de placer le fichier dans le répertoire approprié qui est indiqué dans les préférences du navigateur pour qu'il prenne effet immédiatement. préférences Opera pour les scripts utilisateur

C'est également le cas pour les anciennes versions de Chrome et Chromium. Il suffit simplement de faire glisser le fichier dans une fenêtre du navigateur. Par la suite il est possible d'activer/dé-activer/supprimer les scripts depuis les préférences. Chromium, gérer les extentions

Pour les navigateurs plus récents (ce fut toujours le cas pour Firefox) il faudra passer par l'installation d'une extension.

Greasemonkey est l'extension pour Firefox. Une fois installée une nouvelle icon sera disponible dans la barre d'outils d'où vous pourrez au choix éditer un nouveau script ou plus simplement en faire glisser un dans la fenêtre du navigateur qui vous proposera alors de l'installer.
Greasemonkey

ViolentmonkeyViolent monkey est une des deux extensions disponible pour Opera.
A l'image de Greasemonkey une icon dans la barre d'outils vous permettra d'éditer ou d'ajouter de nouveaux scripts.


Tampermonkey enfin est l'extension multi-navigateur. Disponible pour Chrome, Opera, Firefox, Safari, et d'autres.
Tampermonkey

Violentmonkey A ce jour le navigateur Brave est en bêta et ne permet pas encore d'utiliser les scripts utilisateur mais cela ne devrait pas durer.

Coder sois même ses scripts utilisateur

Si vous téléchargez un script déjà écrit vous n'aurez rien à faire sinon l'intégrer à votre navigateur comme expliqué ci-dessus. Mais si le script que vous cherchez n'existe pas, dans ce cas vous n'aurez d'autre choix que de le créer vous même ou de vous en passer.

Comme je l'ai dit en introduction un script utilisateur est écrit en Javascript, loin de moi l'idée (et les compétences) de faire un cours sur ce puissant langage, toutefois quelques règles importantes doivent êtres respectés pour que votre travail aboutisse à un résultat.

Structure des nom de fichiers

Rien ne vous y oblige mais il est de bonne pratique de nommer ses scripts utilisateur avec l'extension .user.js. En plus de vous permettre de distinguer vos scripts utilisateur de vos Javascript classiques ceci vous évitera d'interminables prises de tête pour identifier une erreur de code qui n'en est pas une. Ne vous posez pas plus de question, faites le!

Entête de fichier

Avant d'écrire quoi que ce soit en Javascript, un script utilisateur doit impérativement commencer par une entête pour fournir au navigateur les informations dont il à besoin. En voici un exemple:

// version 1.0
// 2016
// Released under the GPL license
// http://www.gnu.org/copyleft/gpl.html
//
// --------------------------------------------------------------------
//
// ==UserScript==
// @name         Mon script
// @namespace    http://gogolplex.org/
// @description  Ne fait absolument rien
// @include      http://localhost/htdocs/test/test1.php
// @include      http://gogolplex.org/*
// ==/UserScript==

Ici les premières lignes sont facultatives, libre à vous de les retirer ou d'écrire ce que bon vous semble du moment quelles commencent par //.

Les lignes qui nous intéressent sont celles entre les pseudo balises ouvrante ==UserScript== et fermante ==/UserScript==. Est-il besoin de préciser que ces deux lignes sont impératives.

Vous remarquerez qu'il est possible d'executer le script sur une page précise (test1.php) ou à l'intégralité d'un domaine (gogolplex.org/*) grâce à l'astérisque.
On aurait pu faire également @include http://gogolplex.org/document/* ou @include * pour l'appliquer à l'ensemble du web.

Le corps du script

Vous allez bientôt pouvoir commencer à coder, il reste juste une dernière chose importante: le code de votre script doit être exécuté dans une fonction anonyme.

// version 1.0
// 2016
// Released under the GPL license
// http://www.gnu.org/copyleft/gpl.html
//
// --------------------------------------------------------------------
//
// ==UserScript==
// @name         QwantPlus
// @namespace    http://gogolplex.org/
// @description  Petit coup de pousse pour Qwant et se dégoogliser
// @include      https://google.com/*
// @include      https://google.fr/*
// ==/UserScript==

(function(){

   // écrivez votre code ici
   alert("qwant.com le fait aussi bien");

})();

Voila c'est tout. Modifiez l'entête selon vos besoins le reste c'est du javascript.

Liens utiles

Si vous vous demandez encore à quoi peuvent bien servir les userscripts, je vous invite à vous balader sur les sites qui références le travail d'autres développeurs. Je serais surpris que vous ne trouviez rien qui vous titille.

greasyfork.org

openuserjs.org

Cryptus gestionnaire de notes chiffrées par clé privée

^