Créez vos extensions Chromium/Google Chrome ou Mozilla Firefox en JavaScript

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
103
Mois de parution
juillet 2019
Domaines


Résumé

De nombreuses extensions permettent d'ajouter des fonctionnalités aux navigateurs Chromium/Google Chrome ou Mozilla Firefox. On peut par exemple enregistrer des pages (TabHamster), insérer du code JavaScript (TamperMonkey/GreaseMonkey), bloquer les pubs (uBlock Origin), etc. Il est donc possible de créer des extensions qui viendront s'intégrer dans le navigateur et c'est ce que nous allons voir dans cet article.


Les extensions pour Chromium/Google Chrome et pour Mozilla Firefoxsont écrites en JavaScript/HTML en utilisant les API de WebExtension (API plus ou moins compatible entre les navigateurs de dernière génération). Dans cet article, nous allons voir comment procéder pour créer notre propre extension, qui permettra de récupérer sur une page d'article du site Connect des Éditions Diamond (https://connect.ed-diamond.com/) les références dudit article et de les placer dans le presse-papier (clipboard), pour pouvoir les coller facilement dans un document. L'écriture de cette extension nous permettra d'appréhender le processus de création dans sa globalité. Nous écrirons tout d'abord l'extension pour Chromium/Google Chrome, avant de la porter sur Mozilla Firefox.

Dans la suite de l'article, plutôt que de répéter Chromium/Google Chrome, je noterai Chrome de manière générique pour désigner les deux navigateurs et je noterai Firefox pour Mozilla Firefox.

1. Une...

Cet article est réservé aux abonnés. Il vous reste 97% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite
Références

[1] Les entrées du fichier manifest.json : https://developer.chrome.com/extensions/manifest

[2] Événement onInstalled : https://developer.chrome.com/apps/runtime#event-onInstalled

[3] Format des icônes : https://developer.chrome.com/extensions/manifest/icons

[4] Material Design : https://material.io/design/

[5] Liste des permissions : https://developer.chrome.com/extensions/declare_permissions

[6] Déclaration des permissions : https://developer.chrome.com/extensions/permission_warnings

[7] Portage d'une extension Chrome sur Firefox : https://developer.mozilla.org/fr/docs/Mozilla/Add-ons/WebExtensions/Porting_a_Google_Chrome_extension

[8] Compatibilité de l'entrée persistent de background dans le fichier manifest.json (cliquez sur la flèche vers le bas pour obtenir toutes les informations) : https://developer.mozilla.org/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/arriere-plan#Compatibilit%C3%A9_du_navigateur

[9] Liste des compatibilités des entrées du fichier manifest.json : https://developer.mozilla.org/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json



Articles qui pourraient vous intéresser...

Simulation d’un ordinateur mécanique en scriptant sous FreeCAD

Magazine
Marque
Hackable
Numéro
35
Mois de parution
octobre 2020
Domaines
Résumé

L’évolution du traitement du signal est une histoire fascinante largement déroulée par David Mindell dans ses divers ouvrages [1] et citations [2]. Partant de l’ordinateur mécanique avec ses rouages, poulies, bielles et crémaillères, le passage à l’électrique au début du 20ème siècle, puis à l’électronique intégrée avec l’avènement du transistor et des circuits intégrés (VLSI) nous ont fait oublier les stades initiaux qui ont amené à notre statut actuel d’ordinateurs infiniment puissants, précis et compacts. Alors que cette histoire semble s’accompagner du passage de l’analogique au numérique – de la manipulation de grandeurs continues en grandeurs discrètes avec son gain en stabilité et reproductibilité – il n’en est en fait rien : un boulier fournit déjà les bases du calcul discrétisé mécanique, tandis que [3] introduit les concepts du calcul mécanique avec les traitements numériques avant de passer aux traitements analogiques.

Conservez l’historique de vos commandes pour chaque projet, le retour

Magazine
Marque
GNU/Linux Magazine
Numéro
241
Mois de parution
octobre 2020
Domaines
Résumé

Pouvoir conserver un historique dédié pour chaque projet, voici l’idée géniale énoncée par Tristan Colombo dans un précédent article de GLMF [1]. Cet article reprend ce concept génial (je l’ai déjà dit?) et l’étoffe en simplifiant son installation et en ajoutant quelques fonctionnalités (comme l’autodétection de projets versionnés pour proposer à l’utilisateur d’activer un historique dédié, si ce n’est pas le cas).