Tutoriel6 min de lecture

Créer une extension Chrome en 1 heure

Illustration de l'article : Créer une extension Chrome en 1 heure

Tu utilises des extensions Chrome tous les jours. Un bloqueur de pubs, un gestionnaire de mots de passe, un outil qui change le thème de certains sites...

Mais as-tu déjà pensé à créer la tienne ?

"C'est sûrement compliqué", tu te dis. Et avant, tu aurais eu raison. Mais avec Claude Code, tu peux créer une extension fonctionnelle en un week-end, même si tu n'as jamais codé d'extension de ta vie.

Je te montre comment. On va créer ensemble une extension concrète, étape par étape.

C'est Quoi Exactement Une Extension Chrome ?

Avant de coder, comprenons ce qu'on fait.

Une extension Chrome est un petit programme qui s'installe dans ton navigateur Google Chrome (ou les navigateurs basés sur Chromium comme Brave, Edge, ou Opera). Elle peut :

  • Modifier l'apparence des sites : changer les couleurs, cacher des éléments
  • Ajouter des fonctionnalités : boutons, raccourcis, automatisations
  • Interagir avec les pages : extraire des infos, remplir des formulaires
  • Afficher des notifications : alertes, rappels
  • Stocker des données : préférences, historique

Quelques exemples d'extensions populaires :

Et tu vas en créer une toi-même.

Le Projet : Un Compteur de Temps Par Site

On va créer une extension qui compte le temps que tu passes sur chaque site web. Pourquoi ce projet ?

  1. C'est utile : Tu vas enfin savoir combien de temps tu perds sur Twitter ou YouTube
  2. C'est simple : Pas besoin de backend ou de base de données complexe
  3. Ça t'apprend les bases : Structure d'une extension, stockage, UI
  4. C'est gratifiant : Tu auras un résultat visible rapidement

Étape 1 : Demande à Claude de Créer la Structure

Ouvre ton terminal (sur Mac, cherche "Terminal" dans Spotlight. Sur Windows, cherche "PowerShell"). Navigue vers le dossier où tu veux créer ton projet :

cd ~/projets
mkdir time-tracker-extension
cd time-tracker-extension
claude

Maintenant, demande à Claude de créer la structure de base :

Prompt à donner à Claude

Je veux créer une extension Chrome qui compte le temps passé sur chaque site web. Quand je clique sur l'icône de l'extension, je vois la liste des sites visités avec le temps passé sur chacun. Crée tous les fichiers nécessaires pour une extension Chrome Manifest V3 : - La structure complète - Le manifest.json - Le popup avec HTML, CSS et JS - Le background script - Les icônes (ou des placeholders) Explique-moi chaque fichier comme si je n'avais jamais fait d'extension Chrome.

Claude va créer plusieurs fichiers. Voici ce que chacun fait :

manifest.json : La carte d'identité de l'extension

C'est le fichier le plus important. Il dit à Chrome :

  • Le nom de ton extension
  • Ce qu'elle a le droit de faire (permissions)
  • Quels fichiers elle utilise
  • Quelle icône afficher
{
  "manifest_version": 3,
  "name": "Time Tracker",
  "version": "1.0",
  "description": "Comptez le temps passé sur chaque site",
  "permissions": ["storage", "tabs", "alarms"],
  ...
}

popup.html et popup.js : Ce que tu vois quand tu cliques sur l'icône

Le "popup", c'est la petite fenêtre qui s'ouvre quand tu cliques sur l'icône de l'extension. C'est là qu'on affichera la liste des sites et le temps passé.

background.js (ou service-worker.js) : Le cerveau invisible

Ce script tourne en arrière-plan, même quand le popup est fermé. C'est lui qui :

  • Détecte quand tu changes de site
  • Compte le temps
  • Sauvegarde les données

Étape 2 : Comprendre Ce Que Claude a Créé

Ne te contente pas d'avoir du code qui marche. Demande des explications :

Prompt à donner à Claude

Explique-moi chaque fichier que tu as créé : 1. manifest.json : c'est quoi chaque ligne ? Pourquoi ces permissions ? 2. background.js : comment ça fonctionne ? Qu'est-ce que le service worker ? 3. popup.html/js : comment ils communiquent avec le background ? Parle-moi comme si je n'avais jamais fait de développement.

Voici les concepts clés que tu dois comprendre :

Les permissions

"permissions": ["storage", "tabs", "alarms"]
- storage : permet de sauvegarder des données (le temps passé sur chaque site) - tabs : permet de savoir sur quel site tu es - alarms : permet de déclencher des actions régulières (compter le temps) Chaque permission que tu demandes doit être justifiée. Plus tu en demandes, plus les utilisateurs seront méfiants.

Le service worker (background.js)

Dans les anciennes extensions (Manifest V2), le background script tournait en permanence. Dans Manifest V3 (la version actuelle obligatoire), c'est un "service worker" qui se réveille quand il a quelque chose à faire et se rendort ensuite. C'est plus économe en ressources.

Le stockage

Chrome offre chrome.storage.local pour sauvegarder des données. C'est comme une petite base de données privée pour ton extension.

Étape 3 : Installer l'Extension Pour Tester

Avant d'aller plus loin, testons ce qu'on a. C'est important de voir le résultat rapidement. 1. Ouvre Chrome 2. Tape chrome://extensions/ dans la barre d'adresse 3. Active le "Mode développeur" (interrupteur en haut à droite) 4. Clique sur "Charger l'extension non empaquetée" 5. Sélectionne le dossier de ton extension Et voilà ! Ton extension apparaît dans la barre Chrome. Clique sur l'icône pour voir le popup. Si ça ne marche pas, Claude peut t'aider à debugger :
Prompt à donner à Claude

Mon extension ne se charge pas. Chrome me dit : [message d'erreur]. Qu'est-ce qui ne va pas ?

Étape 4 : Améliorer L'Extension

La version de base fonctionne. Maintenant, rendons-la vraiment utile.

Prompt à donner à Claude

Améliore l'extension Time Tracker avec : 1. Un affichage plus joli du temps (heures:minutes:secondes au lieu de juste des secondes) 2. Un classement : le site où j'ai passé le plus de temps en premier 3. Un bouton pour remettre les compteurs à zéro 4. Un graphique simple (barres horizontales) montrant la répartition du temps Garde le design minimaliste et moderne.

Aller encore plus loin

Prompt à donner à Claude

Ajoute ces fonctionnalités : 1. Un filtre de période : aujourd'hui / cette semaine / ce mois 2. La possibilité d'exclure certains sites du comptage (comme localhost pour les devs) 3. Une alerte si je passe plus de X minutes sur un site (configurable) 4. Export des données en CSV Implémente-les une par une et explique ce que tu fais.

Étape 5 : Gérer Les Bugs Courants

Les extensions Chrome ont leurs particularités. Voici les problèmes courants et comment les résoudre.

Problème 1 : "Service worker registration failed"

C'est souvent une erreur de syntaxe dans le background.js ou un mauvais chemin dans le manifest.

Prompt à donner à Claude

J'ai l'erreur 'Service worker registration failed' quand je charge mon extension. Comment je debugge ça ?

Problème 2 : Les données ne persistent pas

Le service worker se "réveille" et "s'endort". Si tu stockes des données dans des variables JavaScript normales, elles disparaissent. Utilise chrome.storage.local pour persister.

Prompt à donner à Claude

Mes données disparaissent quand je ferme Chrome. Comment utiliser chrome.storage correctement pour persister les données ?

Problème 3 : Le popup ne se met pas à jour

Le popup est rechargé à chaque ouverture. Si tu veux qu'il montre des données à jour, il doit les récupérer du storage ou communiquer avec le background.

Prompt à donner à Claude

Le compteur dans mon popup ne se met pas à jour en temps réel. Comment faire pour qu'il affiche le temps actuel ?

D'Autres Idées d'Extensions à Créer

Si le compteur de temps ne t'inspire pas, voici d'autres projets de difficulté progressive :

Niveau Débutant

Prompt à donner à Claude

Donne-moi 5 idées d'extensions Chrome simples pour débutants, avec une estimation de difficulté et les concepts qu'elles permettent d'apprendre.

Quelques idées :

  • Raccourcis texte : Taper "@@" insère automatiquement ton email
  • Screenshot rapide : Un bouton pour capturer la page
  • Compteur de mots : Affiche le nombre de mots sur la page

Niveau Intermédiaire

  • Mode focus : Bloque certains sites pendant X heures
  • Notes sur les pages : Ajoute des annotations persistantes à n'importe quel site
  • Traducteur de sélection : Traduit le texte sélectionné au survol

Niveau Avancé

  • Dashboard de productivité : Combine compteur de temps, blocage, et statistiques
  • Extracteur de données : Récupère des infos structurées de certains sites
  • Synchronisation multi-devices : Partage les données entre tes appareils

Publier Sur Le Chrome Web Store

Ton extension fonctionne et tu veux la partager ? Voici comment la publier.

Prompt à donner à Claude

Je veux publier mon extension sur le Chrome Web Store. Guide-moi : 1. Quels sont les prérequis ? 2. Comment préparer les assets (icônes, screenshots) ? 3. Quel est le processus de soumission ? 4. Combien ça coûte ? 5. Combien de temps ça prend pour être approuvé ?

Les points essentiels

  • Coût : 5$ de frais d'inscription (une seule fois, à vie)
  • Compte développeur : Tu dois créer un compte sur le Chrome Web Store Developer Dashboard
  • Assets requis : Au moins 2 screenshots, une icône 128x128, une description
  • Review : Google examine ton extension (quelques jours à quelques semaines)
  • Règles : Respecte les Developer Program Policies
Prompt à donner à Claude

Génère-moi une description attrayante pour le Chrome Web Store pour mon extension Time Tracker. Elle doit expliquer les fonctionnalités et donner envie de l'installer.

Les Bonnes Pratiques

Avant de publier, assure-toi de respecter ces règles :

1. Permissions minimales

Ne demande que les permissions dont tu as vraiment besoin. "This extension can read and change all your data on all websites" fait fuir les utilisateurs.

Prompt à donner à Claude

Mon extension demande ces permissions : [liste]. Lesquelles sont vraiment nécessaires ? Puis-je réduire les permissions ?

2. Politique de confidentialité

Si tu collectes des données (même juste le temps passé sur les sites), tu dois avoir une politique de confidentialité.

Prompt à donner à Claude

Génère une politique de confidentialité simple pour mon extension Time Tracker. Elle stocke les données localement, ne les envoie nulle part, et ne collecte aucune info personnelle.

3. Manifest V3 obligatoire

Google a rendu Manifest V3 obligatoire. Si tu trouves des tutoriels qui utilisent Manifest V2, ils sont obsolètes.

Prompt à donner à Claude

Vérifie que mon extension utilise bien Manifest V3 et respecte toutes les bonnes pratiques actuelles.


Pour Aller Plus Loin

Créer une extension Chrome, c'est un super projet pour débuter. C'est concret (tu vois le résultat immédiatement), c'est utile (tu résous un vrai problème), et ça t'apprend comment le web fonctionne.

Et surtout, c'est un excellent projet à montrer. "J'ai créé une extension Chrome" impressionne toujours, même si l'extension est simple.

Pour ceux qui veulent aller plus loin : on a créé le Workshop "Bâtir avec l'IA".

Articles connexes pour continuer ton apprentissage :

Ton navigateur, tes règles. Va créer quelque chose.

— Charles

Photo de Charles Krzentowski

Écrit par

Charles Krzentowski

Passionné par l'IA et le développement, j'explore les nouvelles façons de coder avec les assistants intelligents.

Voir tous ses articles →