Laravel Vitals v1.0
Star 3 Install
v1.0 Première version stable · 22 contrôles SEO + attribution N+1

Lighthouse, du score à votre code.

Scores Lighthouse, télémétrie backend, Real User Monitoring. Tout est hébergé chez vous, dans votre app Laravel — pas de SaaS, pas d'abonnement.

Fonctionne avec
Laravel
Livewire
Flux UI
Lighthouse
PHP 8.2+
Fonctionnalités

Lighthouse mesure la page. Vitals mesure aussi le serveur.

La plupart des outils s'arrêtent au chargement de la page. Laravel Vitals corrèle chaque finding Lighthouse avec les requêtes, la mémoire et les lignes de code responsables.

Lighthouse, quatre drivers
Node local, Playwright sous Docker, l'API PageSpeed, ou un stub pour les tests. Le driver auto les essaie en cascade — la plupart des environnements tournent sans config.
Télémétrie backend
Requêtes, temps total, suspicion N+1, pic mémoire, jobs dispatchés, hits de cache — capturés à chaque audit via un en-tête signé.
Références au code source
Sept analyseurs statiques rattachent chaque finding Lighthouse à un fichier:ligne précis. Un clic, et vous êtes dans votre éditeur.
Real User Monitoring
Une directive @vitalsRum dans le <head> de votre layout. Core Web Vitals collectés depuis vos vrais visiteurs, attribution INP — sans IP, sans cookie, sans ID de session.
22 contrôles SEO Google
22 contrôles sur la configuration, le contenu, les métadonnées et la performance. Chacun est un signal de classement documenté par Google. Le score final se combine au SEO Lighthouse.
Self-hosted, MIT
S'installe dans votre app Laravel. Audits, beacons RUM, recommandations — tout reste dans votre base. Pas de compte SaaS, pas d'abonnement.
Comparatif

Aussi précis que Lighthouse, avec le contexte serveur en plus.

La plupart des outils s'arrêtent au chargement de la page. Choisissez l'outil de référence — le même écart revient à chaque fois.

Capability
PageSpeed Insights Google · gratuit
GTmetrix commercial · SaaS
Sentry Performance commercial · SaaS
Laravel Vitals self-hosted · MIT
Scores Lighthouse (Performance, Accessibilité, SEO, Bonnes pratiques)
Télémétrie backend — requêtes, mémoire, N+1, cache
Références au code source — fichier et ligne exacts
Real User Monitoring — self-hosted, sans données personnelles payant via CrUX
Budgets de performance avec codes de sortie CI
Commentaires automatiques sur les PR GitHub avec tableau de scores
22 contrôles SEO personnalisés (Google)
Self-hosted — vos données restent chez vous
Facturation à l'utilisateur gratuit, URLs publiques uniquement
Scores Lighthouse (Performance, Accessibilité, SEO, Bonnes pratiques)
Télémétrie backend — requêtes, mémoire, N+1, cache
Références au code source — fichier et ligne exacts
Real User Monitoring — self-hosted, sans données personnelles
Budgets de performance avec codes de sortie CI limité
Commentaires automatiques sur les PR GitHub avec tableau de scores
22 contrôles SEO personnalisés (Google)
Self-hosted — vos données restent chez vous
Facturation à l'utilisateur
Scores Lighthouse (Performance, Accessibilité, SEO, Bonnes pratiques)
Télémétrie backend — requêtes, mémoire, N+1, cache
Références au code source — fichier et ligne exacts partiel
Real User Monitoring — self-hosted, sans données personnelles
Budgets de performance avec codes de sortie CI entreprise
Commentaires automatiques sur les PR GitHub avec tableau de scores
22 contrôles SEO personnalisés (Google)
Self-hosted — vos données restent chez vous
Facturation à l'utilisateur
PageSpeed Insights utilise Lighthouse en interne — même moteur, autre interface. La différence se joue sur ce qu'on en expose.
Références au code source

« Éliminer les ressources bloquant le rendu » — d'accord, mais à quelle ligne ?

Sept analyseurs scannent vos vues Blade, votre config Vite, vos packages Composer, votre .env. Chaque finding Lighthouse pointe un fichier:ligne précis.

  • Balises Blade — détection CSS/JS bloquant le rendu
  • Balises image — images hors écran à différer, attribut alt manquant
  • Config Laravel — config:cache manquant, debug en prod, queue sync, OPcache désactivé
  • Packages Composer — packages obsolètes et recommandations associées
  • Config Vite — bundles non utilisés ou non compressés
  • Patterns de vues Blade — le fichier:ligne qui déclenche un N+1, top 3 patterns
  • Fichier .env — contrôles sur debug, config, locale
resources/views/layouts/app.blade.php 1 finding
8 <head>
9 <meta charset="utf-8">
10 <meta name="viewport" content="width=device-width, initial-scale=1">
11 <title>{{ config('app.name') }}</title>
12 <link rel="stylesheet" href="/css/bootstrap.min.css">
13 @vite(['resources/js/app.js'])
14 @vitalsRum
15 </head>
Performance Éliminer les ressources bloquant le rendu
ligne 12 — utilisez @vite([...]) pour bundler cette feuille de style, ou ajoutez defer / async.
Privacy by design

Vos données ne quittent jamais votre base.

Audits, télémétrie, beacons RUM — tout reste dans votre app Laravel. Aucune IP, aucun cookie, aucun ID de session. Pas de compte SaaS, pas d'abonnement. Licence MIT : un composer remove et tout est nettoyé.

Aucune IP stockée
Aucun cookie, aucun ID de session
RGPD-friendly par défaut
MIT — désinstallable à tout moment
Démo en ligne — accès libre, données réalistes

Le dashboard, en vrai, avant d'installer.

Toutes les pages sont accessibles — Overview, URLs, Issues, SEO, RUM, Queries, Learn, Budgets. Données réalistes, hostnames fictifs. Ouvrez, cliquez, partagez le lien.

  • 8 pages de dashboard
  • Mode clair + sombre
  • Spotlight ⌘K
  • Aucun compte requis
Installation

Reprenez la main sur chaque score Lighthouse.

Installez le package, déclarez vos URLs, lancez un audit. Cinq minutes plus tard, vous avez la télémétrie backend et des recommandations rattachées à votre code.

$ composer require corentinbtmps/laravel-vitals
PHP 8.2+ · Laravel 11 / 12 / 13 Licence MIT i18n : EN · FR · DE · ES