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.
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.
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.
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.
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.
Violent 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 les dérivés de Chromium (Chrome, Brave, ...) mais aussi pour Opera, Firefox, Safari, et d'autres.
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.
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!
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.
// @name
: Le nom de baptême de votre script qui s'affiche dans le gestionnaire de scripts.// @namespace
: Il s'agit d'un espace de nom dont vous avez le contrôle afin d'éviter des conflits en cas de noms de script identiques.// @description
: La description de votre script qui s'affiche dans le gestionnaire de scripts.// @include
: L'adresse internet sur la-quelle vas s'exécuter votre script.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.
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.
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.
Cryptus gestionnaire de notes chiffrées par clé privée