TECHNOLOGIES

Sentry, monitoring d'erreurs en production

Sentry est notre outil de monitoring d'erreurs et de performance. Il capture en temps réel les exceptions PHP et JavaScript, enrichit chaque événement avec son contexte complet et alerte l'équipe avant que les utilisateurs ne signalent un problème.

Cette fiche documente notre configuration type, notre intégration Symfony/Vue.js et nos pratiques de gestion des alertes.

Sentry

POURQUOI SENTRY

Ce qui en fait notre outil de monitoring de référence

Sentry est activé sur tous nos projets en production. Voici les fonctionnalités que nous utilisons systématiquement et pourquoi elles font la différence.

Alertes en temps réel

Sentry notifie l'équipe dès qu'une erreur non gérée survient en production. Chaque alerte contient la stack trace complète, le contexte utilisateur et les breadcrumbs qui ont précédé l'erreur.

Stack traces enrichies

L'intégration Symfony injecte automatiquement les variables de requête, les paramètres de session et les logs Monolog dans chaque événement — le contexte nécessaire au diagnostic est déjà là.

Suivi de performance (Tracing)

Sentry mesure les temps de réponse par transaction, identifie les requêtes SQL lentes et trace les appels externes. La régression de performance est détectée avant que les utilisateurs ne la signalent.

Gestion des releases

En associant chaque déploiement à une release Sentry, on identifie précisément dans quelle version une erreur est apparue et si elle a été résolue par un déploiement ultérieur.

Assignation et workflow d'équipe

Les erreurs sont assignables à un développeur, liables à un ticket et marquables comme résolues. Le workflow évite que la même erreur soit ignorée ou traitée deux fois.

Monitoring frontend et backend unifié

Un seul outil couvre le backend Symfony (PHP) et le frontend Vue.js. Les erreurs JavaScript côté navigateur remontent dans le même projet avec les source maps pour une stack trace lisible.

NOTRE USAGE

Comment nous utilisons Sentry chez SmartBooster

Sentry couvre l'ensemble de notre stack, du backend Symfony au frontend Vue.js. Voici les quatre axes de notre intégration.

Intégration Symfony via sentry-symfony

Le bundle sentry/sentry-symfony capture automatiquement toutes les exceptions non gérées et les envoie à Sentry sans configuration manuelle des try/catch.

SDK Vue.js pour le frontend

Le SDK @sentry/vue intègre Sentry dans Vue.js avec le router Inertia pour tracer les navigations et capturer les erreurs JavaScript avec les source maps de production.

Release tracking au déploiement

Chaque déploiement GitLab CI crée une release Sentry et upload les source maps. L'historique des erreurs est corrélé aux commits pour identifier l'introduction d'une régression.

Filtrage des erreurs connues

Les erreurs attendues (404, bot scrapers, erreurs réseau transitoires) sont filtrées via before_send pour garder les alertes actionnables et éviter le bruit.