Laravel Debugbar : L’outil ultime pour déboguer vos applications Laravel

Découvrez Laravel Debugbar, un outil puissant pour analyser vos requêtes SQL, vos vues, vos logs et vos performances en temps réel. Un indispensable pour déboguer et optimiser vos applications Laravel en toute simplicité.

auteur Aud Mbag Aud Mbag
30 Sep 2025
Laravel Debugbar : L’outil ultime pour déboguer vos applications Laravel

Introduction

Le développement d’une application Laravel implique souvent de surveiller ce qui se passe en arrière-plan : requêtes SQL, temps d’exécution, variables, logs, etc.
Bien qu’on puisse utiliser les logs Laravel ou l’outil dd()/dump(), ces méthodes sont limitées.
C’est là que Laravel Debugbar entre en jeu : une barre d’outils intégrée à votre navigateur, affichant en temps réel des informations essentielles sur votre application.

Installation et configuration

Étape 1 : Installation via Composer

1composer require barryvdh/laravel-debugbar --dev

Étape 2 : Publication de la configuration (optionnelle)

1php artisan vendor:publish --provider="Barryvdh\Debugbar\ServiceProvider"

Cela crée un fichier config/debugbar.php que vous pouvez personnaliser.

Étape 3 : Vérifier l’environnement

Assurez-vous que Debugbar n’est activé qu’en local. Dans .env :

1APP_ENV=local
2APP_DEBUG=true

En production, il est crucial de désactiver Debugbar (APP_DEBUG=false).

Fonctionnalités principales

Laravel Debugbar est composé de plusieurs onglets que vous verrez en bas de votre page :

1. Requêtes SQL

  • Liste toutes les requêtes SQL exécutées.
  • Montre la durée de chaque requête.
  • Indique la ligne de code qui a généré la requête.
  • Permet de repérer facilement le problème du N+1 (plusieurs requêtes inutiles au lieu d’une seule).

2. Timeline (Performance)

  • Visualisation du temps d’exécution de chaque étape du cycle de vie Laravel.
  • Indique clairement où se situent les lenteurs (middleware, contrôleur, vues, etc.).

3. Vues Blade

  • Liste toutes les vues rendues par Laravel.
  • Indique quelles variables ont été passées à la vue.

4. Logs & Exceptions

  • Montre directement vos appels Log::info(), Log::error(), etc.
  • Affiche les exceptions et leur stack trace.

5. Routes & Requêtes HTTP

  • Indique la route exécutée (GET /users).
  • Précise le contrôleur et la méthode associée.
  • Montre les données envoyées ($_GET, $_POST, $_SESSION).

6. Événements, Jobs & Mail

  • Liste les événements déclenchés (Event::dispatch).
  • Montre les jobs envoyés à la file d’attente.
  • Affiche les emails générés par Laravel.

Exemple pratique

Contrôleur

1public function index()
2{
3 $users = User::with('posts')->get();
4 
5 \Debugbar::info($users); // Exemple : afficher directement dans Debugbar
6 
7 return view('users.index', compact('users'));
8}

Résultat avec Debugbar

  • Dans l’onglet Requêtes SQL, vous verrez :
    1select * from users;
    2select * from posts where user_id in (...);
  • Dans Vues, vous retrouverez users.index et les données associées.
  • Dans Logs, vous verrez votre appel Debugbar::info($users).

Astuces avancées

1. Marquer des points de performance

Vous pouvez mesurer le temps d’exécution de morceaux précis de votre code :

1\Debugbar::startMeasure('custom', 'Traitement personnalisé');
2 
3// Votre code
4sleep(2);
5 
6\Debugbar::stopMeasure('custom');

Résultat : un nouveau bloc "custom" apparaît dans l’onglet Timeline.

2. Ajouter des messages personnalisés

Debugbar permet d’afficher différents types de messages :

1\Debugbar::info('Ceci est une information');
2\Debugbar::warning('Attention, possible problème');
3\Debugbar::error('Erreur détectée');

3. Inspecter les variables

Vous pouvez inspecter n’importe quelle variable :

1$user = User::first();
2\Debugbar::dump($user);

4. Déboguer vos requêtes Eloquent

Pour vérifier une requête avant son exécution :

1$query = User::where('active', true);
2\Debugbar::info($query->toSql());

Avantages

  • Gain de temps dans l’analyse et le débogage.
  • Vision claire des requêtes et du cycle de vie.
  • Optimisation facile des performances.
  • Support natif pour Eloquent, Blade, routes, logs et événements.

Bonnes pratiques

  • N’activer Debugbar que dans un environnement local.
  • Désactiver APP_DEBUG en production.
  • Ne pas l’utiliser pour mesurer les performances exactes en production (préférer un profiler comme Blackfire ou Telescope).

Voir aussi

Sommaire

--------------