Laravel Telescope pour PHP : guide complet avec exemples

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Laravel Telescope : Le débogueur élégant pour vos applications PHP

1. Qu'est-ce que Laravel Telescope et pourquoi l'utiliser ?

Laravel Telescope est un outil puissant de débogage et de monitoring pour les applications Laravel, développé par l'équipe Laravel. Il offre aux développeurs une vue d'inspecteur sur ce qui se passe à l'intérieur de l'application : des requêtes entrantes et requêtes SQL aux tâches de file d'attente, exceptions et logs. Telescope fonctionne comme un tableau de bord qui collecte et affiche toute la télémétrie en temps réel.

Pourquoi en avez-vous besoin ? Dans le développement web moderne, les applications deviennent de plus en plus complexes : files d'attente, mise en cache, API externes, requêtes SQL complexes. Sans un outil comme Telescope, le développeur doit ajouter manuellement des dd() ou Log::debug() dans le code, ce qui ralentit le développement et ne donne pas une vue d'ensemble. Telescope collecte automatiquement les données de chaque requête, affichant le temps d'exécution, le nombre de requêtes à la base de données, la mémoire utilisée et bien plus encore. Cela transforme le débogage en une science exacte.

L'avantage clé de Telescope est sa discrétion. Il fonctionne "prêt à l'emploi" sans nécessiter de modification du code de l'application. Les données sont stockées dans une base de données (MySQL ou SQLite par défaut), permettant d'analyser l'historique des requêtes. Telescope est particulièrement utile pour le développement d'API, le travail avec les files d'attente et le débogage des pages lentes.

2. Installation

L'installation de Laravel Telescope se fait via Composer, le gestionnaire de paquets standard pour PHP. Exécutez la commande suivante à la racine de votre projet Laravel :

composer require laravel/telescope --dev

Le flag --dev est important : Telescope est destiné uniquement au développement local et ne doit pas être installé sur les serveurs de production. Après l'installation du paquet, vous devez publier les assets (CSS/JS) et la configuration :

php artisan telescope:install

Cette commande crée le fichier de configuration config/telescope.php et une migration de base de données. Exécutez ensuite la migration pour créer les tables de stockage des données Telescope :

php artisan migrate

Après cela, Telescope sera accessible à l'adresse /telescope de votre application. Si vous utilisez Laravel Sail (Docker), n'oubliez pas de redémarrer les conteneurs.

3. Démarrage rapide — exemple minimal fonctionnel

Après l'installation, Telescope commence automatiquement à collecter des données. Vous n'avez pas besoin d'écrire de code supplémentaire. Ouvrez simplement votre navigateur et allez à l'adresse http://votre-app.test/telescope.

Vous verrez un tableau de bord avec les onglets : Requests, Commands, Schedule, Jobs, Exceptions, Logs, Dumps, Queries, Models, Mail, Notifications, Cache, Events, Gates.

Pour vérifier que tout fonctionne, effectuez une simple requête vers n'importe quelle route de votre application. Par exemple, ouvrez la page d'accueil. Ensuite, allez dans Telescope et sélectionnez l'onglet Requests. Vous verrez une entrée correspondant à votre requête avec les détails : méthode, URI, statut, durée, nombre de requêtes SQL, etc.

Voici un exemple de la façon dont vous pouvez ajouter manuellement des données à Telescope pour le débogage :

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\User;
use Laravel\Telescope\Telescope;

class UserController extends Controller
{
    public function show($id)
    {
        // Telescope enregistrera automatiquement cette requête                    

Recommendations