EN

Extension Chrome · Manifest V3

Erdus Inspector, l'audit sécurité et SEO d'une page en un clic

Erdus Inspector est une extension Chrome que j'ai conçue et développée pour auditer la page ouverte : en-têtes de sécurité, cookies, version de WordPress exposée, cache CDN et balises SEO. Chaque contrôle est noté et expliqué, et le rapport se copie en Markdown.

  • Chrome Extension
  • Manifest V3
  • JavaScript
  • Sécurité web

Erdus Inspector

L'idée

Je fais régulièrement des audits de sécurité des sites que j'héberge et de ceux de mes clients. Je voulais retrouver l'essentiel de ces contrôles dans le navigateur, sur n'importe quelle page, et pouvoir montrer le résultat à un client sans jargon.

L'extension ne collecte rien : l'analyse se fait dans le navigateur et ne contacte que le site audité. Elle demande le minimum d'autorisations, et l'accès aux cookies d'un site n'est accordé que si l'utilisateur le décide.

  • Un score et une explication par contrôle
  • Aucune donnée collectée
  • Permissions minimales, accès site par site
  • Rapport Markdown prêt pour le client

Fonctionnalités clés

  • En-têtes de sécurité

    CSP (avec repérage de 'unsafe-inline' et 'unsafe-eval'), HSTS, X-Frame-Options ou frame-ancestors, nosniff, Referrer-Policy et Permissions-Policy, ainsi que les versions de logiciels divulguées.

  • Cookies

    Attributs Secure, HttpOnly et SameSite des cookies du site. Seuls les cookies de session font baisser le score : un cookie d'analyse posé en JavaScript ne peut pas être HttpOnly.

  • WordPress et cache CDN

    Version de WordPress visible par la balise generator, les paramètres ?ver= ou le fichier readme.html. Statut du cache lu dans les en-têtes de Hostinger, Cloudflare, Vercel ou LiteSpeed.

  • SEO de la page

    Title et meta description avec leurs longueurs, canonical, robots, Open Graph et Twitter card, h1 unique, hiérarchie des titres, images sans alt, JSON-LD, lang et viewport.

  • Aperçus Google et partage

    La popup montre le résultat tel qu'il apparaîtra dans Google et sur les réseaux sociaux, à partir des balises de la page.

  • Surlignage sur la page

    Un interrupteur entoure sur la page les images sans alt, les h1 en double et les sauts de niveau de titre, dans un calque isolé qui ne modifie pas le site.

  • Score et badge

    Une note sur 100 par section et une note globale, affichée en couleur sur l'icône de l'extension pour l'onglet analysé.

  • Rapport Markdown

    Le rapport complet, avec constats, explications et plan des titres, se copie en un clic pour un ticket, un e-mail ou un devis.

Choix techniques

JavaScript sans framework ni dépendance, sans étape de build : le dossier de l'extension est publié tel quel.

  • Manifest V3

    Un service worker orchestre l'analyse ; un script injecté à la demande lit la page et renvoie des données sérialisables, évaluées par le même code que la page d'aperçu.

  • En-têtes sans webRequest

    Les en-têtes sont lus par une requête HEAD anonyme vers la page, grâce à l'accès temporaire d'activeTab. webRequest aurait exigé un accès permanent à tous les sites.

  • Cookies site par site

    Chrome ne livre pas les cookies sous activeTab seul : l'extension demande alors l'accès au seul site audité, par une autorisation facultative et révocable.

  • Calque de surlignage isolé

    Shadow DOM fermé et feuille de style construite : les styles de la page ne touchent pas le calque, et sa CSP ne le bloque pas.

  • Tests dans un vrai Chrome

    L'extension est chargée dans un Chrome headless jetable piloté en CDP, puis lancée sur plusieurs sites réels pour comparer ses résultats aux en-têtes relevés à la main.

  • Publication outillée

    Des scripts Node sans dépendance produisent le paquet du Chrome Web Store et les captures de la fiche, rendues en Chrome headless à partir de la vraie popup.

Technologies

  • JavaScript
  • Chrome Extensions
  • Manifest V3
  • Shadow DOM
  • Chrome DevTools Protocol
  • Node.js

Défis et enseignements

  1. Des autorisations minimales

    Lire les en-têtes et les cookies d'un site sans demander « l'accès à toutes vos données sur tous les sites » : activeTab pour la page, et un accès facultatif demandé site par site pour les cookies.

  2. Pas de faux positifs

    Les essais sur de vrais sites ont corrigé l'analyse : les <title> des icônes SVG, la version de jQuery prise pour celle de WordPress, ou des cookies sans risque signalés à tort.

  3. Un rapport lisible par un client

    Chaque contrôle porte un constat précis et une explication en une phrase, pour que le rapport serve aussi bien au développeur qu'au client.

Un audit de votre site ?

Sécurité, performances, SEO : parlons de votre site en trente minutes.

Cadrage gratuit — 30 min

Visio de 30 minutes, sans engagement, pour cadrer votre besoin.