Chrome : comment créer une extension ?

March 24, 2009

La version 2.0 beta du navigateur Google Chrome est disponible en téléchargement. Une des évolutions majeures de cette version est la possibilité de rajouter des extensions (attention, ne vous attendez pas à la puissance de XUL des produits Mozilla).

Développement

Pour développer une extension pour Chrome, il faut tout d’abord télécharger la dernière version 2.0 beta. Ensuite créer un répertoire qui va contenir l’arborescence de l’extension : C:MyChromeExtension. Dans ce répertoire on va créer deux fichiers : manifest.json et MyExtension.js.

Le fichier manifest.json qui décrit l’extension :

{
  "format_version": 1,
  "id": "00123456789ABCDEF0123456789ABCDEF0123456",
  "version": "1.0",
  "name": "My First Extension",
  "description": "The first extension that I made.",
  "content_scripts": [
    {
      "matches": ["http://www.google.fr/"],
      "js": ["MyExtension.js"]
    }
  ]
}

Voilà les différents champs :

Ensuite il faut créer le fichier JavaScript qui va être exécuté au chargement de la page de Google. Modifier le fichier MyExtension.js :

alert ('Hello World!');

Utilisation de l’extension

Pour utiliser l’extension que l’on vient de développer, il faut démarrer Chrome dans un mode permettant de charger les extensions : chrome.exe –enable-extensions –load-extension=”C:MyChromeExtension”.

Et naviguer sur votre moteur de recherche favoris pour voir que votre extension fonctionne bien.

Distribution de l’extension

Pour distribuer l’extension il faut la packager au format CRX. Pour cela il faut que Python 2.6 soit installé sur votre machine et télécharger ce script. Ensuite lancer la commande suivante :

chromium_extension.py --indir="C:MyChromeExtension" --outfile="MyExtension.crx"

Pour voir les extensions qui sont installées dans Chrome, il suffit d’aller à l’URL suivante : chrome-ui://extensions/. Cette page liste les extensions chargées et les erreurs qui on été rencontrées dans l’exécution des extensions.

Conclusion

Même si ce n’est pas du tout du même niveau que celui des produits Mozilla cela permet de mettre en place un système d’extensions qui, je l’espère, sera amélioré dans les futures versions.

Sources : Chrome Extension HOWTO ‎(Chromium Developer Documentation).