Outils & qualité · 4 mondes · 12 étapes
Tests & déploiement
Des tests qui attrapent les bugs, une chaîne qui vérifie tout, une mise en production sans frayeur.
Progression
0 %
0/12 étapes terminées
Avancé · 12 min de lecture
La fiabilité en production
Observer, alerter, réparer vite
1Définition
Une fois en ligne, une application se surveille : journaux structurés, métriques (taux d'erreurs, temps de réponse), alertes sur des seuils, et un tableau de bord partagé. L'objectif n'est pas zéro panne, mais une panne détectée vite et réparée vite.
2Principes fondamentaux
01
Des journaux structurés
Du JSON avec un niveau, un message et un contexte, plutôt que des phrases libres.
02
Des métriques utiles
Taux d'erreurs, latence, saturation : ce qui dit si les joueurs souffrent.
03
Des alertes actionnables
Chaque alerte correspond à une action ; une alerte ignorée est une alerte à supprimer.
04
Apprendre des pannes
Un compte rendu sans reproche après chaque incident : ce qui s'est passé, ce qu'on change.
3Exemples pratiques
Un journal structuré
1console.log(JSON.stringify({2 niveau: "erreur",3 message: "Échec de l'enregistrement de la partie",4 joueur: "awa",5 duree_ms: 1840,6}));Un outil de journaux peut ensuite filtrer, compter et alerter sur n'importe quel champ.
Un point de santé
1export async function GET() {2 const baseOk = await base.ping().then(() => true, () => false);3 return Response.json({ ok: baseOk, version: process.env.VERSION }, { status: baseOk ? 200 : 503 });4}La plateforme et les outils de surveillance l'interrogent en continu ; c'est aussi la mesure d'un déploiement canari.
4Erreurs courantes
Des alertes partout
À éviter
// 200 alertes par jour, toutes ignoréesÀ faire
Quelques alertes, chacune actionnablePourquoi : La vraie alerte se perd dans le bruit.
Des données personnelles dans les journaux
À éviter
log({ motDePasse, email })À faire
log({ joueur: id })Pourquoi : Les journaux sont copiés, conservés et lus par beaucoup de monde.
5Subtilités à connaître
- ◆Un objectif de fiabilité (99,9 % par exemple) laisse un « budget d'erreurs » : tant qu'il reste du budget, on peut livrer vite.
- ◆Les traces distribuées suivent une requête à travers plusieurs services, et montrent où le temps est perdu.
- ◆Le meilleur retour arrière est celui qu'on a déjà répété un jour calme.
6Techniques d'expert
Des tests de bout en bout
Playwright pilote un vrai navigateur sur l'application déployée en préproduction : l'inscription, une leçon, un achat en boutique.
Les déploiements de prévisualisation
Vercel crée une adresse par demande de fusion : on relit la fonctionnalité en vrai avant de fusionner.
Les drapeaux de fonctionnalités
Livrer le code désactivé, l'activer pour l'équipe, puis pour 10 % des joueurs, sans redéployer.
if (drapeaux.estActif("duels-a-trois", joueur)) afficherDuelsATrois();7Sur le terrain
- Sys-Code se déploie aujourd'hui sur Vercel, où chaque déploiement est figé et la production pointe vers l'un d'eux ; demain sur son propre serveur, où Coolify reconstruit l'appli à chaque push sur main.
- La page /dev/verif de Sys-Code est un test de contenu : chaque solution doit passer, chaque code de départ doit échouer.
- Les grandes plateformes déploient des centaines de fois par jour, justement parce que chaque déploiement est petit, testé et réversible.
8Vérifie ta compréhension
Question 1/3
Score 0
Un bon journal est…
Envie d'essayer ? Ouvre le Labo et recopie les exemples pour les modifier.