Bugsnag : qu'est-ce que c'est, suivi des erreurs et collecte de données

Auteur : IT Sectr Publié le : 2026-05-29 Temps de lecture : 8 min

Bugsnag est une plateforme de surveillance des erreurs et de stabilité des applications qui détecte, regroupe et hiérarchise automatiquement les bugs dans les environnements de production avec un contexte de diagnostic complet. Selon la Documentation Bugsnag, 2025, Bugsnag traite 6 milliards d'événements par mois pour plus de 7 000 clients, dont Airbnb, Lyft, Slack et PagerDuty.

Points clés

  • Bugsnag est une plateforme de surveillance des erreurs avec regroupement automatique, hiérarchisation par gravité et intégration CI/CD.
  • Stability Score est une métrique du pourcentage de sessions sans incident, reflétant la stabilité globale de l'application.
  • Severity-based triage divise automatiquement les erreurs en critical, warning et info pour concentrer l'équipe sur l'essentiel.
  • Breadcrumbs enregistrent la séquence d'événements précédant une erreur avec prise en charge d'attributs personnalisés du développeur.
  • Release tracking lie les erreurs à une version spécifique de l'application et alerte automatiquement en cas d'augmentation du taux de crash après une version.

Qu'est-ce que Bugsnag dans le développement

Bugsnag est une plateforme de surveillance de la stabilité des applications fondée en 2013 et acquise par SmartBear en 2019. La principale différence entre Bugsnag et ses concurrents est l'accent mis sur la stabilité en tant que métrique clé du produit, et pas seulement sur le nombre d'erreurs. La plateforme fournit un tableau de bord unifié pour iOS, Android, React Native, Flutter, le web et les services backend.

Chaque erreur dans Bugsnag reçoit une évaluation automatique de gravité (critical, warning, info) basée sur le contexte : si un crash s'est produit, si une fonction de paiement a été affectée ou si l'erreur se répète pour de nombreux utilisateurs. L'équipe ne voit pas seulement une liste de bugs, mais un backlog hiérarchisé indiquant l'impact sur l'activité.

Selon SmartBear (2024), les équipes utilisant Bugsnag réduisent le temps moyen de résolution de 40% grâce au regroupement automatique des doublons et au contexte complet de chaque événement. La plateforme s'intègre avec Slack, PagerDuty, Jira, GitHub et GitLab pour la création automatique de tâches à partir des erreurs.

Stability Score et hiérarchisation automatique

Stability Score est la métrique clé de Bugsnag, affichant le pourcentage de sessions terminées sans erreur. La valeur est calculée comme le rapport entre les sessions sans crash et le nombre total de sessions sur une période. Un score de 99,9% signifie qu'une session sur 1 000 contient une erreur.

Les seuils du Stability Score sont intégrés au CI/CD : si après le déploiement d'une nouvelle version, le score tombe en dessous d'un seuil défini (par exemple 99,5%), Bugsnag bloque automatiquement la version ou envoie une alerte critique dans Slack. Le Release health dashboard montre la dynamique du score pour chaque version de l'application, permettant de suivre l'impact d'un changement spécifique sur la stabilité.

Severity-based triage

Bugsnag utilise un algorithme de classification automatique des erreurs avec trois niveaux de gravité. Critical — crashs de l'application, erreurs dans les scénarios de paiement affectant plus de 5% des utilisateurs. Warning — erreurs non fatales (exceptions gérées) affectant des fonctions individuelles. Info — journaux, avertissements de faible priorité. Cette approche évite la fatigue des alertes, où des centaines de notifications empêchent de se concentrer sur les problèmes vraiment critiques.

GravitéExempleAction
CriticalCrash au démarrage de l'applicationNotification immédiate
WarningErreur de chargement de l'avatarTâche Jira pour le prochain sprint
InfoDélai d'attente lors du scan QRJournalisation sans notification

Intégration du SDK Bugsnag pour les plateformes mobiles

L'installation du SDK Bugsnag prend 5 minutes : ajouter une dépendance et initialiser avec une clé API du projet. Le SDK Bugsnag Android prend en charge Kotlin et Java, intercepte automatiquement les exceptions Java, les ANR et les erreurs natives (C/C++) via des signaux.

Configuration sur Android

Le SDK est ajouté via Gradle et initialisé dans Application.onCreate. Bugsnag collecte automatiquement les informations sur l'appareil : modèle, version de l'OS, mémoire libre, niveau de batterie. Auto-notify est activé par défaut et envoie toutes les exceptions non gérées au serveur Bugsnag.

kotlin
import com.bugsnag.android.Bugsnag
import com.bugsnag.android.Configuration

class App : Application() {
    override fun onCreate() {
        super.onCreate()
        val config = Configuration("YOUR_API_KEY")
        config.autoTrackSessions = true
        config.launchDurationMillis = 5_000
        Bugsnag.start(this, config)
    }
}

Le code initialise le SDK Bugsnag avec un suivi automatique des sessions et un temps de démarrage maximal de 5 secondes. Si l'application ne démarre pas dans ce délai, Bugsnag enregistre un événement de « démarrage lent » comme avertissement.

Configuration sur iOS

Le SDK Bugsnag iOS prend en charge Swift et Objective-C, intercepte NSException, les exceptions Mach (SIGABRT, SIGSEGV) et les signaux du système d'exploitation. Le SDK est compatible avec iOS 11+ et SwiftUI, et crée automatiquement des breadcrumbs pour tous les événements d'interface utilisateur : tapotements, transitions, gestes.

swift
import Bugsnag

class AppDelegate: UIResponder, UIApplicationDelegate {
    override func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions options: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
        Bugsnag.start(withApiKey: "YOUR_API_KEY")
        // configuration supplémentaire
        return true
    }
}

Le code Swift initialise Bugsnag avec une configuration minimale. Toutes les exceptions non gérées et les crashs sont automatiquement envoyés au tableau de bord Bugsnag avec le contexte complet de l'appareil et la pile d'appels.

Les Breadcrumbs dans Bugsnag sont un journal structuré des événements précédant une erreur. Chaque breadcrumb contient un horodatage, un type (navigation, request, state, error, manual) et des métadonnées arbitraires. Bugsnag enregistre automatiquement des breadcrumbs pour les événements d'interface utilisateur dans iOS et Android, les changements d'état de l'application (arrière-plan, premier plan) et les requêtes réseau.

Les développeurs peuvent ajouter des breadcrumbs personnalisés pour la logique métier : « l'utilisateur a ajouté un article au panier », « demande de création de commande envoyée ». Lorsqu'une erreur se produit, tous les breadcrumbs des 30 dernières secondes sont joints à l'événement. Bugsnag prend également en charge le « state » — un dictionnaire de données arbitraire transmis avec toutes les erreurs de session.

kotlin
Bugsnag.leaveBreadcrumb(
    message = "Order created",
    metadata = mapOf(
        "order_id" to "ORD-12345",
        "total" to "49.99"
    ),
    type = BreadcrumbType.STATE
)

Bugsnag.setExtraData(
    "user_tier", "premium"
)

Le code laisse un breadcrumb concernant la création de la commande et définit des informations supplémentaires sur le forfait de l'utilisateur. Lorsqu'une erreur se produit dans cette session, Bugsnag joint le contexte avec le numéro de commande et le type d'utilisateur.

Session tracking

Bugsnag compte automatiquement les sessions — chaque lancement d'application est considéré comme une nouvelle session. Le rapport entre les sessions avec erreurs et le nombre total de sessions forme le Stability Score. Le session tracking affecte la tarification : Bugsnag est sous licence en fonction du nombre de sessions suivies, et non du volume d'erreurs, ce qui le distingue des modèles de tarification par événement de Sentry et de ses concurrents.

Release tracking et intégration CI/CD

Release tracking est un mécanisme qui lie chaque erreur à une version spécifique de l'application et à un commit du référentiel. Bugsnag détecte automatiquement la version à partir d'Info.plist (iOS) ou de build.gradle (Android) et affiche le nombre d'erreurs par version dans le tableau de bord. Cela permet de voir immédiatement si un problème a été introduit par la dernière version.

Si après le déploiement de la version 2.4.1, le nombre d'erreurs critiques a augmenté de 3 fois par rapport à la 2.4.0, Bugsnag marque cette version comme « instable » et envoie une alerte. L'intégration CI/CD permet de bloquer la promotion d'un build vers le staging ou la production si le Stability Score tombe en dessous du seuil. Les plugins pour Jenkins, GitHub Actions et GitLab CI transmettent les métriques de stabilité au pipeline.

Selon le Bugsnag Stability Benchmark (2024), 68% des erreurs dans les applications mobiles sont introduites par les nouvelles versions, et ne sont pas des bugs anciens. Le release tracking réduit le temps de détection des régressions de plusieurs heures à quelques minutes après le déploiement.

Comparaison : Bugsnag vs Sentry et Crashlytics

Il y a trois acteurs principaux sur le marché de la surveillance des erreurs : Bugsnag, Sentry et Firebase Crashlytics. Bugsnag se distingue par son modèle de tarification basé sur les sessions (plutôt que sur les événements), l'accent mis sur le Stability Score et la hiérarchisation automatique par gravité. Sentry offre une surveillance plus approfondie des performances avec du tracing distribué et est open source. Crashlytics est une solution gratuite aux fonctionnalités de base, intégrée à l'écosystème Firebase.

CaractéristiqueBugsnagSentryCrashlytics
Prix (départ)Gratuit jusqu'à 5 000 sessionsGratuit jusqu'à 5 000 événementsGratuit
Surveillance des performancesLimitéeComplete avec tracing distribuéNon
SDK pour FlutterOuiOuiLimité
Auto-hébergementNonOui (open source)Non
Stability ScoreOui (métrique clé)NonNon

Le choix entre les outils dépend des priorités : si la métrique clé est la stabilité de l'application en production, Bugsnag fournit la métrique la plus intuitive. Si une analyse approfondie des performances avec tracing distribué est nécessaire — Sentry. Pour une surveillance de base gratuite avec intégration à l'écosystème Google — Crashlytics.

Questions fréquentes

Comment Bugsnag détermine-t-il la gravité d'une erreur ?

L'algorithme prend en compte trois facteurs : le type d'exception (crash ou gérée), le nombre d'utilisateurs affectés et le contexte du scénario. La gravité Critical est attribuée si l'erreur s'est produite sur l'écran principal ou dans un flux de paiement et a affecté plus de 1% des utilisateurs. Le développeur peut remplacer manuellement la gravité via l'API ou la configuration du SDK.

Bugsnag prend-il en charge React Native et Flutter ?

Oui, Bugsnag fournit des SDK pour React Native (avec prise en charge de la nouvelle architecture) et Flutter (compatible avec Dart 3.x). Les deux SDK prennent en charge la collecte automatique de breadcrumbs pour la navigation, les requêtes réseau et l'état de l'application, ainsi que l'instrumentation personnalisée pour la logique métier.

Peut-on intégrer Bugsnag avec Jira ?

Oui, Bugsnag fournit une intégration bidirectionnelle avec Jira : une nouvelle erreur peut créer automatiquement une tâche dans Jira, et la fermeture d'une tâche dans Jira fait passer l'erreur à l'état « résolue » dans Bugsnag. Jira Cloud et Jira Server (via Jira Connect) sont pris en charge.

Comment Bugsnag affecte-t-il la taille de l'application ?

Le SDK Bugsnag ajoute environ 1,5 Mo à la taille de l'APK/IPA dans une build de version. C'est moins que Sentry (environ 2 Mo) mais plus que Firebase Crashlytics (environ 0,8 Mo). Il est recommandé de supprimer le SDK des builds de débogage pour accélérer la compilation, en le conservant uniquement pour les configurations de test et de version.

Peut-on utiliser Bugsnag pour les applications backend ?

Oui, Bugsnag prend en charge les langages backend : Ruby, Python, Node.js, Java, .NET, Go, PHP. Les erreurs backend sont affichées dans le même tableau de bord que les erreurs mobiles, regroupées par service. Cela permet de suivre la stabilité de bout en bout : si une API tombe, le développeur peut voir si le problème vient du client ou du serveur.

Résumé

  • Bugsnag est une plateforme de surveillance des erreurs axée sur les métriques de stabilité et la hiérarchisation automatique par gravité.
  • Stability Score — pourcentage de sessions sans erreur, métrique clé pour l'évaluation de la qualité des versions et le contrôle CI/CD.
  • Severity-based triage divise automatiquement les erreurs en critical, warning et info, évitant la fatigue des alertes.
  • Release tracking lie chaque erreur à une version de l'application et à un commit pour une détection rapide des régressions.
  • SDK prend en charge iOS, Android, React Native, Flutter et 9 langages backend dans un tableau de bord unifié.
  • Modèle de tarification basé sur les sessions différencie Bugsnag de ses concurrents et le rend prévisible en termes de budget.
  • Bugsnag est recommandé pour les équipes produit où la stabilité de l'application est une métrique commerciale clé et où une hiérarchisation automatique des erreurs est nécessaire.

Nous développerons une application mobile clé en main

IT Sectr crée des applications iOS et Android pour les startups et les entreprises depuis 2017. Nous vous conseillerons et vous proposerons la meilleure solution.

Discuter du projet

Lisez aussi