Comment créer et publier une extension Chrome ?

 

Comment créer et publier une extension Chrome ?





Comment créer et publier une extension Chrome ?

Ça faisait dĂ©jĂ  un petit moment que je voulais crĂ©er une extension Chrome.

Et bien... c'est désormais chose faite !

La semaine derniĂšre, j'ai lancĂ© Centuple.

Centuple, c'est une petite extension gratuite qui permet d'afficher 100 rĂ©sultats Google en un clic (ça marche sur n'importe quelle version du moteur de recherche).

Le fonctionnement est ultra basique :

  • clique une fois sur l'icĂŽne pour afficher 100 rĂ©sultats par page
  • clique une deuxiĂšme fois sur l'icĂŽne pour revenir Ă  10 rĂ©sultats par page

Tu te dis peut-ĂȘtre : OK, mais t'avais dĂ©jĂ  fait un bookmarklet, alors quel intĂ©rĂȘt ?

À vrai dire aucun, si ce n'est la curiositĂ©... et le fun !

Je voulais comprendre comment faire pour transformer un bookmarklet en extension.

Au final, c'est plutĂŽt simple. Je te montre !

Création de l'extension

Un package d'extension Chrome se compose :

  • d'un fichier manifest.json, qui est une sorte de fichier "Ă  propos" contenant le nom de l'extension, sa description, sa version, etc.
{
  "background": {
     "service_worker": "background.js",
     "type": "module"
   },
  "action": {
    "default_icon": "icon-128.png",
    "default_title": "Centuple"
  },
  "name": "Centuple",
  "description": "Display 100 Google search results on one page",
  "homepage_url": "https://www.seomemento.com",
  "icons": {
    "16": "icon-16.png",
    "48": "icon-48.png",
    "128": "icon-128.png"
  },
  "permissions": [
    "activeTab",
    "scripting"
  ],
  "version": "0.1",
  "manifest_version": 3
}
Fichier manifest.json
  • d'une icĂŽne de 128px au format PNG
IcĂŽne de Centuple
  • d'un fichier JS contenant le code Ă  exĂ©cuter
url = new URL(window.location);urlParams=url.searchParams;if(url.hostname.match(/^www.google./) && url.pathname == '/search'){if (!urlParams.get('num')){url.searchParams.set('num', 100);location.href=url.toString()}else{url.searchParams.delete('num');location.href=url.toString()}}
Fichier JavaScript
  • d'un fichier background.js indiquant quelles actions doivent ĂȘtre exĂ©cutĂ©es en fonction de quel Ă©vĂ©nement : dans mon cas, au clic sur l'icĂŽne de l'extension, le script JS doit ĂȘtre injectĂ© et exĂ©cutĂ© dans la page
chrome.action.onClicked.addListener(function(tab) {
  chrome.scripting.executeScript({
    target: {tabId: tab.id},
    files: ['bookmarklet.js']
  });
});
Fichier background.js

Et c'est tout !

Pour aller plus vite dans le dĂ©veloppement de l'extension, j'ai utilisĂ© cet outil qui permet de convertir un bookmarklet en extension.

Le zip généré contenait des fichiers dont la syntaxe n'était plus tout à fait conforme aux exigences de Google Chrome (le site utilise notamment le Manifest V2 alors que le Chrome Web Store n'accepte désormais que le Manifest V3).

J'ai donc du adapter un peu le code en m'appuyant sur la documentation.

Pour m'assurer qu'il n'y avait aucune erreur, j'ai chargé mon extension dans Chrome.

Voici comment faire :

  • AccĂ©der Ă  chrome://extensions dans Google Chrome
  • Activer Mode dĂ©veloppeur en haut Ă  droite
  • Cliquer sur Charger l’extension non empaquetĂ©e puis sĂ©lectionner le rĂ©pertoire contenant les fichiers de l'extension
chrome://extensions

Si aucun message d'erreur ne s'affiche et que l'extension fonctionne bien une fois activée, c'est bon, tu peux passer à la suite !

Publication de l'extension

D'abord, il faut zipper le dossier contenant les fichiers de l'extension.

Puis crĂ©er un compte sur le Chrome Developer Dashboard et uploader le package.

Chrome Web Store

Ensuite, il faut remplir le formulaire de soumission :

  • Fiche Play Store : c'est ici que tu prĂ©sentes l'extension (nom, description), que tu choisis une catĂ©gorie, que tu ajoutes un logo, etc.
  • Pratiques en matiĂšre de confidentialitĂ© : c'est ici que tu dĂ©cris l'objectif de l'extension et que tu justifies les autorisations demandĂ©es au navigateur
  • Paiements et distributions : c'est ici que tu indiques si l'extension est payante ou non

DerniĂšre Ă©tape : tu cliques sur le bouton Envoyer pour examen.

Et... tu attends !

Dans mon cas, quelques jours plus tard, c'Ă©tait validĂ© 😀

VoilĂ , j'espĂšre que ça pourra t'ĂȘtre utile si tu souhaites toi aussi te lancer dans le dĂ©veloppement d'une extension Chrome.

PS : si tu te poses la question, le lien vers www.seomemento.com sous le nom de l'extension dans le Chrome Web Store est malheureusement en nofollow ;)

Commentaires

Posts les plus consultés de ce blog

TOP outils de rĂ©fĂ©rencement gratuits qui valent la peine d'ĂȘtre utilisĂ©s en 2023

Les outils de rĂ©fĂ©rencement gratuits qui valent vraiment la peine d'ĂȘtre utilisĂ©s

Changement de domaine en 2023 : tout ce que vous devez savoir

Chatbot Dialogflow : Tutoriel NoCode NLP pour les spĂ©cialistes du marketing | Landbot

Revenu passif : idées pour gagner de l'argent (en dormant)

Meilleurs outils de rĂ©fĂ©rencement 🛠 organisĂ©e par Saijo George

La toolbox du growth hacker 💎 - Outils - Growthhacking.fr | CommunautĂ© française de growth hacking

Comment signer avec une maison de disques ? Voici notre guide ultime pour 2024

100 outils pour lancer sa startup sans argent (mais pas sans talent)