QA Panel - Extension DevTools pour la QA

En tant que dev, j ai passé des heures à décrypter des tickets QA qui disaient 'ça marche pas' sans contexte. URL manquante, navigateur inconnu, pas d étapes de reproduction. J ai voulu une extension DevTools qui capture tout ça automatiquement pour que le testeur se concentre sur le bug, pas sur la rédaction.

II - Pousse 2026-02-20 2026-03-14
XP
55%

Le constat

J’ai vécu les deux côtés. Côté dev, tu reçois un ticket “le bouton marche pas” sans URL, sans navigateur, sans étapes de reproduction. Tu passes 20 minutes à reproduire ce que le testeur a vu en 5 secondes. Côté QA, c’est pas mieux : rédiger un bon ticket demande d’ouvrir DevTools, copier la console, noter l’URL, le viewport, le navigateur, faire un screenshot, tout coller dans Jira. C’est fastidieux, alors les gens bâclent, et le cycle recommence.

Le vrai problème, c’est que le QA fait deux boulots en même temps : trouver le bug et documenter le bug. L’un est intéressant, l’autre est une corvée mécanique. QA Panel existe pour supprimer la corvée.

Ce que ça fait

Le QA ouvre l’onglet QA Panel dans ses DevTools, clique sur “enregistrer” et navigue normalement sur l’application testée. L’extension capture chaque clic, chaque saisie, chaque navigation en arrière-plan. En parallèle, elle surveille les requêtes réseau et note celles qui échouent avec leur status et le body de la réponse décodé.

Quand le bug se manifeste, le QA capture l’écran, annote la capture directement dans un canvas intégré au panneau, et pointe l’élément problématique avec un sélecteur CSS intelligent qui génère le chemin le plus court vers l’élément du DOM. Le ticket sort formaté en Markdown avec tout le contexte technique : navigateur, viewport, OS, étapes de reproduction horodatées, erreurs réseau, captures annotées.

Le QA peut aussi exporter les actions enregistrées sous forme de scénario Playwright, pour que le dev puisse reproduire le bug automatiquement en lançant un test E2E. Plus de copie-colle entre DevTools et Jira, plus de “c’est sur quel navigateur ?”, plus de tickets incomplets.

Stack

CoucheChoixPourquoi
Framework extensionWXT 0.19 (Chrome MV3 + Firefox MV2)Un seul code source, deux navigateurs cibles
FrontendVue 3.5, Composition API, <script setup>Réactivité fine pour le panneau DevTools
StatePinia 3 (setup syntax)5 stores pour gérer issues, actions, réseau, scénarios
ValidationZod 4 (inférence de types)Schemas partagés entre extension et types
Design systemTotem (chargé en local, “Soft Minimal 2026”)Cohérence visuelle avec l’écosystème
TestsVitest + PlaywrightTests unitaires et E2E
Storageidb-keyval (IndexedDB)Persistance locale des scénarios et tickets
Iconslucide-vue-nextIconographie cohérente

L’état du projet

Le projet existe sous forme de prototype intensif : 20 composants Vue, 14 composables, 5 stores Pinia. Tout a été écrit en quelques sessions pilotées via Claude Code, mais rien n’est versionné. Zéro commit git. C’est un prototype fonctionnel qui a validé le concept, qui capture des screenshots via CDP sur Chrome avec fallback captureVisibleTab sur Firefox, qui génère des rapports Markdown structurés, mais qui attend son premier commit et une vraie confrontation avec des testeurs sur le terrain.

Côté audit structuré, Basalt Beholder s’attaque au même enjeu de qualité mais depuis l’autre bout : des audits CMMI industrialisés avec génération de rapports PDF automatique. Les deux projets partagent cette obsession que les outils de qualité soient aussi agréables à utiliser que les produits qu’ils sont censés tester.

Stats

Composants Vue20
Composables14
Stores Pinia5
CiblesChrome MV3 + Firefox MV2

Stack technique

WXT

Framework extension

Un seul code source pour Chrome et Firefox

Vue 3

UI DevTools panel

Interface réactive dans le panneau DevTools

Totem

Design system

Cohérence visuelle avec l'écosystème

Export Playwright, monitoring réseau

Les actions enregistrées sont transformables en scénario Playwright E2E. Le monitoring réseau capture les requêtes XHR/fetch en erreur avec status et body décodé.

  • Export code Playwright depuis les actions enregistrées
  • Monitoring réseau XHR/fetch avec capture des erreurs
  • Scénarios : enregistrement, sauvegarde et replay
Prototype fonctionnel

Phase 0 complète. Panel DevTools avec capture CDP Chrome + fallback Firefox, sélecteur d éléments, annotation canvas, génération de rapports Markdown. L essentiel pour valider le concept.

  • DevTools panel Vue 3.5 complet (20 composants)
  • Content script : sélecteur CSS intelligent + enregistrement d actions
  • Screenshots CDP Chrome + fallback captureVisibleTab Firefox
  • Canvas d annotation intégré
  • Génération de rapports Markdown structurés