Récupérer le code source des extensions Chrome

La meilleure façon d’apprendre à programmer ou de s’améliorer est d’examiner le travail d’autres personnes qui ont de l’expérience en ce domaine.

Cela est valable pour tous les langages de programmation. On trouve des exemples complets de sources de programmes sur GitHub qui est une plateforme dédiée aux développeurs. Elle met à disposition des milliers de projets, appelés des dépôts, des plus simples au plus élaborés.

Pour ceux et celles qui s’intéressent au développement d’extensions pour le navigateur Chrome, ils trouveront rapidement les limites de GitHub qui ne leur proposera pas grand-chose à se mettre sous la dent.

Pour se perfectionner en examinant les extensions créées par des développeurs, si possible expérimentés, il faut dans un premier temps récupérer le code source d’une extension afin de l’étudier.

J’ai déjà présenté un bookmarklet conçu pour visualiser le code source d’une extension Chrome.

Il existe aussi une application en ligne gratuite et sans inscription appelée CRX Extractor qui est à même de télécharger le code source de n’importe quelle extension Chrome en quelques clics de souris.

crx-extractor

Son fonctionnement est des plus élémentaire, puisqu’il suffit de copier l’URL de l’extension dont on souhaite récupérer le code source depuis le Chrome Web Store. Il n’est même pas nécessaire d’installer ladite extension sur le navigateur Chrome pour télécharger les fichiers qui la composent.

L’outil va récupérer le fichier.CRX qui renferme tous les fichiers de l’extension. Il s’agit d’une simple archive qui s’ouvre avec n’importe quel utilitaire de compression/décompression de fichiers, tels que Winrar ou 7-Zip.

Il est aussi possible de télécharger un fichier .CRX obtenu en dehors du Chrome Web Store afin de l’étudier. Il va s’en dire que ce type d’extensions téléchargées depuis des sites plus ou moins sérieux présentent des risques de sécurité non négligeables.

Elles peuvent contenir tout et n’importe quoi. C’est pourquoi il faut mieux s’abstenir d’installer des extensions en dehors de l’écosystème de Google quand on n’y connaît rien.

Google est supposé mettre à disposition des utilisateurs de Chrome des extensions fiables qui ne comportent pas de risques de sécurité, même si par le passé la moulinette chargée d’accepter et de valider les extensions a été prise en défaut.

Une fois les fichiers récupérés, il ne reste plus qu’à les analyser tranquillement afin de comprendre dans le détail le fonctionnement de l’extension à étudier. Cela peut s’avérer utile pour corriger une extension qui n’est plus mise à jour, pour examiner le code source d’une extension avant de l’installer sur son ordinateur pour s’assurer qu’elle est fiable, etc.

CRX Extractor est un projet open source pour lequel son développeur a mis à disposition son code source sur GitHub.

Pour apprendre à créer une extension pour Chrome, vous pouvez commencer par consulter la page Getting Started guide que Google consacre à ce sujet.