Devbrau

Ne recevez plus seulement l'erreur. Recevez le correctif.

Devbrau reçoit les erreurs de vos SDK Sentry, en explique la cause et, à votre demande, ouvre la pull request qui corrige, avec un test qui le prouve. Données stockées en Europe. Une seule ligne à changer : le DSN.

Plan Free : 5 000 événements et 10 analyses IA par mois.

Compte rendu d'incident Données fictives, à titre d'illustration
Régression

TypeError: Cannot read properties of undefined (reading 'items')

checkout/cart.ts in totalFor

Issue
#812
Projet
boutique
Release
4.2.1commit a41f9c2
Statut
non résolue
Niveau
error
Événements
1 234
Première fois
12/10 16:02
Dernière fois
27/10 09:14

9 h 14, l'alerte. 9 h 32, la pull request.

Un incident, étape par étape, avec un seul geste de votre part avant la pull request. Chaque étape laisse une trace que vous pouvez relire.

  1. Réception

    Vos SDK Sentry envoient, Devbrau reçoit. Les données personnelles sont retirées avant toute écriture.

    Événement reçu, après nettoyage
    SDK@sentry/node, inchangé
    user.emailcamille@exemple.fr [filtré]
    user.ip_address203.0.113.42 [filtré]
    Écrit en baseaprès nettoyage, en Europe
  2. Regroupement et alerte

    1 234 événements, une seule issue. Résolue en 4.1.0, revenue en 4.2.1 : c'est une régression, l'équipe est prévenue.

    Historique de l'issue #812
    1. Première occurrence, release 4.0.3
    2. Marquée résolue, release 4.1.0
    3. Régression Revenue en 4.2.1
    4. Alerte envoyée par e-mail et webhook signé
  3. Diagnostic IA

    Pour chaque nouvelle issue et chaque régression, l'IA explique la cause probable, désigne les fichiers en cause et indique sa confiance. Ce qu'elle a le droit de lire, c'est vous qui le décidez, projet par projet.

    Niveau d'accès au code du projet

    L'agent peut créer une branche devbrau/*, y pousser un correctif et ouvrir une pull request. Jamais d'écriture sur la branche par défaut ; la revue reste humaine.

    Conclusion de l'analyse

    totalFor lit session.cart.items sans vérifier que le panier existe : quand la session invitée expire pendant le paiement, session.cart est indéfini (src/checkout/cart.ts, ligne 52).

    Données utiliséesstack trace, breadcrumbs, contexte de l'événement · 2 fichiers lus au commit de la release
    Fichiers en causesrc/checkout/cart.ts · src/session/guest.ts
    Confianceélevée
    Journal des accès au code
    1. lecture src/checkout/cart.ts L40–88 @ a41f9c2
    2. lecture src/session/guest.ts L1–30 @ a41f9c2
  4. Vous demandez le correctif

    Le diagnostic vous convainc : un clic sur « Proposer un correctif » lance l'agent. Sans cette demande, rien ne touche à votre dépôt.

  5. Correctif vérifié en bac à sable

    Dans un conteneur isolé, l'agent écrit un test qui reproduit l'erreur et corrige le code. Devbrau rejoue ensuite lui-même le test et la suite existante : le test doit échouer avant, passer après, et la suite rester verte. Sinon, pas de PR : le compte rendu s'affiche dans l'issue.

    Tests, avant / après
    ExécutionCommandeRésultatÉcart
    Avantpnpm vitest run checkout/cart.test.ts1 échecÉchec
    Aprèspnpm vitest run checkout/cart.test.ts0 échecConforme
      export function totalFor(session: Session) {
    -   return session.cart.items.reduce(sum, 0);
    +   const cart = session.cart ?? emptyCart();
    +   return cart.items.reduce(sum, 0);
      }
  6. Pull request avec dossier de preuve

    Sur GitHub ou Azure DevOps, toujours sur une branche devbrau/*, jamais sur la branche par défaut. Le clone, la branche et la PR sont inscrits au journal des accès au code.

    Pull request ouverte

    devbrau/fix-812-1 vers main

    • Diagnostic de l'analyse IA
    • Test de reproduction, sorties avant et après
    • Résultat de la suite de tests existante
    • Commandes exécutées et fichiers modifiés
    • Lien vers l'issue Devbrau
  7. Vous décidez

    Vous relisez. Vous fusionnez, ou pas. Une fois la release déployée, vous passez l'issue en « résolue » ; si l'erreur revient, Devbrau la signale comme régression.

Les erreurs, et tout le reste de la production.

Logs, temps de réponse, sites, tâches planifiées, serveurs : une seule application, un seul DSN, les mêmes alertes.

  • Logs

    Les logs de vos SDK et de vos conteneurs, nettoyés des données personnelles, reliés à l'erreur par leur trace.

    SDK Sentry · OpenTelemetry

  • Performances

    Le temps de réponse de chaque route, p50 à p99, et la cascade des requêtes SQL et HTTP de la plus lente. Les plus coûteuses d'abord.

    tracesSampleRate · SDK Sentry

  • Disponibilité

    Vos sites interrogés jusqu'à toutes les 30 secondes ; alerte à la panne, au rétablissement et avant l'expiration du certificat.

    HTTP · HTTPS

  • Pages de statut

    Une page publique pour vos clients : état de chaque service, 90 jours d'historique, message en cas d'incident.

    Sans connexion · tous les plans

  • Tâches planifiées

    Crons, jobs et sauvegardes signalent chaque exécution : vous savez quand l'une ne tourne pas, échoue ou dure trop.

    Sentry.withMonitor · curl

  • Serveurs

    CPU, mémoire, disques et charge chaque minute, avec des seuils d'alerte par serveur. Un conteneur à lancer, aucun agent maison.

    OpenTelemetry Collector

  • Source maps

    Vos piles JavaScript minifiées redeviennent lisibles : fichier, ligne et fonction d'origine.

    sentry-cli · Vite · webpack

  • Alertes où vous travaillez

    E-mail, Microsoft Teams ou webhook signé, regroupées pour ne pas vous noyer.

    E-mail · Teams · webhook

  • Tickets automatiques

    Un ticket Azure Boards ou GitHub Issues pour les erreurs qui le méritent : selon le niveau, le nombre d'occurrences, l'environnement ou une régression.

    Azure Boards · GitHub Issues

  • Connexion Microsoft

    Vos collègues se connectent avec leur compte Microsoft et rejoignent l'organisation sans invitation. Sur tous les plans.

    SSO Microsoft Entra ID

Vous utilisez déjà Sentry ? Changez une ligne.

Devbrau parle le protocole des SDK Sentry. Vous gardez votre code d'initialisation, vos breadcrumbs, vos releases.

  1. Créez un projet

    Choisissez la plateforme ; Devbrau vous donne son DSN.

  2. Remplacez le DSN

    Sentry.init({
    -  dsn: "https://3f1c…@o4507.ingest.sentry.io/45",
    +  dsn: "https://9a2e…@ingest.devbrau.fr/12",
       release: process.env.RELEASE,
    });
  3. Déployez

    Les premières erreurs arrivent, regroupées en issues.

SDK Testé avec les SDK officiels Node.js et Python. Les autres SDK Sentry (navigateur, Java, PHP, Go, .NET, Ruby) parlent le même protocole.

Vos données sont stockées en Europe. Vous savez qui a lu votre code.

Tout se vérifie dans l'application, sans écrire au support.

ContrôleChez DevbrauComment le vérifier
StockageÉvénements, logs, métriques, issues et comptes dans l'Union européenneEngagement du service
Analyse IADonnées de l'erreur, et extraits de code au niveau 2, envoyés à Anthropic (Claude), hors de l'UE ; rien au niveau 0Réglages du projet et journal des accès au code
Données personnellesE-mails et adresses IP retirés à l'ingestion, avant écritureRéglage RGPD de chaque projet
IsolationVos données sont cloisonnées de celles des autres clientsContrôlé à chaque requête
Lecture du code par l'IAChaque fichier lu et chaque appel au modèle sont journalisésJournal des accès au code, exportable
Écriture dans vos dépôtsBranches devbrau/* et pull requests uniquementVotre forge, comme toute PR
Niveau d'accèsDe 0 à 3, choisi par projet, vérifié côté serveurRéglages du projet

Tarifs

Par organisation, hors taxes. Chaque plan est un intervalle de référence : tant que vous y restez, tout fonctionne.

Mesure Free Pro Team
Prixpar mois0 €29 €99 €
Événementspar mois0–5 0000–100 0000–1 000 000
Analyses IApar mois0–100–3000–3 000
Correctifs automatiquespar moisnon inclus0–300–300
Rétentionjours1490180
Logslignes par mois0–50 0000–1 000 0000–10 000 000
Rétention des logsjours73090
Moniteurs (sites et tâches planifiées)sites vérifiés toutes les3 · 5 min20 · 1 min100 · 30 s
Serveurs supervisésCPU, mémoire, disque, logs11050
SSO Microsoft Entra IDéquipe rejointe sans invitationInclusInclusInclus

Hors intervalle Au-delà d'un quota, la fonction se met en pause jusqu'au mois suivant. Aucun dépassement n'est facturé.

Créer un compte gratuit

Commencez en Free, puis changez de plan depuis la page Abonnement de l'application.

Votre prochaine alerte arrivera avec son diagnostic. Le correctif est à un clic.