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
./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.