Passer au contenu principal

Qu’est-ce que Laravel Telescope

Laravel Telescope est l’outil de débogage officiel qui donne une visibilité sur l’état interne d’une application Laravel. Il enregistre en détail les requêtes, exceptions, requêtes SQL, jobs, logs, e-mails, notifications, opérations de cache, exécutions planifiées, etc. Il s’agit d’un outil de débogage exclusivement destiné à l’environnement de développement local. Pour la supervision en production, utilisez Laravel Pulse ou Laravel Nightwatch.

Couches surveillées


Installation

1

Installer Telescope

composer require laravel/telescope
2

Publier les assets et migrations

php artisan telescope:install
3

Exécuter les migrations

php artisan migrate
Une fois installé, accédez au tableau de bord à /telescope.

Installation en mode local uniquement (recommandé)

Si votre objectif principal est le débogage en local, il est recommandé d’installer avec --dev et d’enregistrer manuellement le service provider uniquement en environnement local.
composer require laravel/telescope --dev

php artisan telescope:install
php artisan migrate
Après avoir lancé telescope:install, retirez l’enregistrement de TelescopeServiceProvider de bootstrap/providers.php. Puis enregistrez-le manuellement dans la méthode register de App\Providers\AppServiceProvider.
public function register(): void
{
    if ($this->app->environment('local') && class_exists(\Laravel\Telescope\TelescopeServiceProvider::class)) {
        $this->app->register(\Laravel\Telescope\TelescopeServiceProvider::class);
        $this->app->register(TelescopeServiceProvider::class);
    }
}
Désactivez également l’auto-discovery dans composer.json.
{
  "extra": {
    "laravel": {
      "dont-discover": [
        "laravel/telescope"
      ]
    }
  }
}

Watchers disponibles

Les watchers collectent la télémétrie lors des requêtes et de l’exécution des commandes. Gérez l’activation et la configuration dans config/telescope.php.
Enregistre les requêtes, en-têtes, sessions et réponses.
size_limit permet de limiter la taille des réponses enregistrées.
Enregistre le SQL, les bindings et le temps d’exécution.
Par défaut, les requêtes de plus de 100 ms sont taguées slow, ce qui est très efficace pour détecter les goulets d’étranglement.
Watchers\QueryWatcher::class => [
    'enabled' => env('TELESCOPE_QUERY_WATCHER', true),
    'slow' => 100,
],
Enregistre la mise en file des jobs et leur résultat d’exécution.
Enregistre les exceptions destinées à report et leurs traces.
Enregistre les logs de l’application.
Par défaut à partir du niveau error, mais on peut abaisser jusqu’à debug via la configuration.
Enregistre les arguments, options, sortie et code de sortie des commandes Artisan.
Enregistre les payloads et listeners des événements dispatchés (à l’exception des événements internes de Laravel).
Enregistre les hits, misses, mises à jour et suppressions du cache.
Enregistre les commandes Redis exécutées depuis l’application.
Enregistre les événements de modèles Eloquent et, au besoin, le nombre d’hydratations.
Enregistre les notifications envoyées.
Prévisualise les e-mails envoyés dans le navigateur et permet de les télécharger au format .eml.
Enregistre les requêtes HTTP sortantes du client.
Enregistre le résultat des vérifications d’autorisation Gate / Policy.
Enregistre les commandes exécutées par le scheduler et leur sortie.
Enregistre le nom, le chemin, les données et les composers des vues rendues.
Enregistre les informations des batchs de queue (jobs, informations de connexion).
Enregistre la sortie des dump tant que l’onglet Dump de Telescope est ouvert.

Récapitulatif

TâcheConfiguration recommandée
Installationcomposer require laravel/telescope --dev
Isolation locale fiableEnregistrement manuel du provider + dont-discover
Analyse de performances DBExploiter le tag « slow » du Query Watcher (100 ms par défaut)

Prochaines étapes

Laravel Pulse

Mettez en place un tableau de bord d’agrégation de performance pour la production.

Laravel Nightwatch

Utilisez Nightwatch pour la supervision en temps réel de la production.
Dernière modification le 13 juillet 2026