Unlighthouse : Analysez l’ensemble de votre site avec Google Lighthouse

Unlighthouse : Analysez l’ensemble de votre site avec Google Lighthouse

Unlighthouse est une interface en ligne de commande open‑source basée sur Node qui exécute des audits Google Lighthouse sur chaque page de votre site. Elle propose un système d’échantillonnage intelligent, un modèle de configuration minimal et une interface propre qui transforme les données brutes Lighthouse en informations exploitables.

Qu’est‑ce que Google Lighthouse ?

Google Lighthouse est un outil d’audit populaire qui mesure la performance web, l’accessibilité, les bonnes pratiques, le SEO et la préparation aux Progressive Web Apps. Cependant, la CLI officielle Lighthouse est conçue pour auditer des URL individuelles, pas l’ensemble du site. Pour les grandes applications – notamment celles avec des dizaines voire des centaines de pages – exécuter manuellement Lighthouse sur chaque page est impraticable.

Pourquoi Unlighthouse ?

Unlighthouse résout ce défi en automatisant l’exécution de Lighthouse sur l’ensemble du domaine :

  • Échantillonnage intelligent – Par défaut, il explore un sous‑ensemble d’URL selon une stratégie configurable, réduisant considérablement le temps d’exécution tout en conservant la couverture d’audit.
  • Noyau zéro configuration – Il suffit de préciser --site <url> et l’outil s’occupe de l’exploration, de l’exécution de Lighthouse et de la génération de rapports.
  • UI moderne – Les résultats sont servis via une interface web légère, offrant aux développeurs un retour visuel instantané.
  • Prêt Node et Docker – Fonctionne sur toute machine avec Node ≥ 20 ou via Docker, rendant l’intégration CI un jeu d’enfant.
  • Licence MIT – Aucune préoccupation de licence, vous pouvez l’utiliser librement dans des projets commerciaux.

Démarrage rapide

# Installer via npm
npx unlighthouse --site https://your‑domain.com

# Ou avec PNPM
pnpm dlx unlighthouse --site https://your‑domain.com
Après l’exécution, la CLI affichera le chemin vers les rapports générés – généralement ./output/your‑domain.com – où vous pourrez ouvrir index.html pour visualiser le tableau de bord.

Options de configuration

Unlighthouse supporte une variété de drapeaux et un fichier unlighthouse.config.ts pour les configurations avancées.

Flag Description Exemple
--debug Active les journaux de débogage détaillés --debug
--depth <n> Profondeur maximale d’exploration (défaut 5) --depth 3
--output-dir <dir> Répertoire de rapports personnalisé --output-dir ./reports
--config <path> Chemin vers un fichier de configuration personnalisé --config ./my-config.ts

Configuration d’exemple

// unlighthouse.config.ts
import { defineUnlighthouseConfig } from "unlighthouse"

export default defineUnlighthouseConfig({
  site: "https://example.com",
  // Only audit pages that match these patterns
  include: ["/blog/*", "/products/*"],
  // Exclude admin pages
  exclude: ["/admin/**"],
  // Use 2 concurrency workers
  workers: 2,
  // Enable Lighthouse categories you care about
  lighthouse: {
    categories: ["performance", "accessibility", "seo"],
  },
})

Exécution en CI

Unlighthouse est compatible CI. Enregistrez le dossier de rapport dans le contrôle de version ou publiez-le sur un service d’hébergement statique. Voici un exemple de workflow GitHub Actions :

name: Site Audit
on: [push]
jobs:
  audit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Install Node
        uses: actions/setup-node@v3
        with:
          node-version: 20
      - name: Run Audit
        run: |
          npx unlighthouse --site https://your‑site.com --output-dir ./audit
      - name: Upload Report
        uses: actions/upload-artifact@v3
        with:
          name: lighthouse-report
          path: ./audit

Fonctionnalités avancées

1. Audit basé sur l’échantillonnage

Unlighthouse maintient les temps d’audit faibles en explorant seulement une fraction des pages. Vous pouvez ajuster cela avec le drapeau --sample-rate (0‑1) ou créer une stratégie d’échantillonnage personnalisée dans un fichier de configuration.

2. Ajustement de la configuration Lighthouse

Vous pouvez fournir une configuration lighthouse.json personnalisée ou modifier les paramètres par défaut via la propriété lighthouse dans le fichier de configuration. Les ajustements typiques incluent la désactivation des audits tiers ou la personnalisation des seuils de score.

3. Intégration API

Pour les sites dynamiques nécessitant une authentification, Unlighthouse prend en charge les arguments de lancement Chrome tels que --cookies-file ou --user-data-dir. Vous pouvez également intégrer Unlighthouse dans un script Node et déclencher les audits de façon programmatique.

4. Support multi‑protocole

Bien qu’étant principalement basé sur HTTP, Unlighthouse peut être dirigé vers un serveur de développement local (http://localhost:3000) ou un environnement de mise en scène distant. Il respecte robots.txt par défaut, mais vous pouvez le contourner avec --ignore-robots si nécessaire.

Cas d’usage concrets

Projet Comment Unlighthouse a aidé
Plateforme E‑commerce Audité plus de 400 pages produit en moins de 30 min, découvrant une boucle lente de chargement d’images qui a réduit le score de vitesse de page de 20 points.
Blog à forte densité de contenu Balayé plus de 2 000 publications, découvrant que le contenu plus ancien contenait des liens externes cassés entraînant des pénalités SEO.
SaaS interne Réduit le temps d’audit sur plus de 50 pages internes en n’activant que les catégories performance et seo, économisant des heures de travail de développement.

Guide de contribution

Unlighthouse est conduit par la communauté. Bugs, demandes de fonctionnalités et discussions sont les bienvenus !

  • Problèmes – Signalez bugs ou demandes de fonctionnalités dans le système de suivi des problèmes GitHub.
  • Pull Requests – Suivez le guide de contribution dans CONTRIBUTING.md. Nous utilisons la numérotation sémantique et une vérification automatisée CI.
  • Sponsoring – Le projet accepte les sponsors via GitHub Sponsors. Les contributions aident à maintenir les versions et la documentation.

Conclusion

Unlighthouse apporte toute la puissance de Lighthouse aux sites entiers sans la lourdeur d’une configuration manuelle. Que vous soyez ingénieur front‑end, DevOps ou propriétaire de site cherchant à améliorer les performances et le SEO, cet outil comble une lacune cruciale. Il est léger, rapide et entièrement open source, ce qui en fait une addition parfaite à tout flux de travail web moderne.

Commencez dès aujourd’hui – lancez npx unlighthouse --site https://your‑site.com et observez vos données d’audit se transformer en améliorations concrètes.

Original Article: Voir l’original

Partager cet article