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é · 10 min de lecture
Mettre en production
Configurer, versionner, déployer prudemment
1Définition
Un même code tourne partout ; ce qui change vit dans les variables d'environnement, validées au démarrage. Chaque version porte un numéro sémantique (majeure, mineure, correctif) et se déploie par paliers — le déploiement canari — avec un retour arrière automatique si les mesures se dégradent.
2Principes fondamentaux
01
La configuration hors du code
Adresses et secrets dans l'environnement, jamais dans le dépôt.
02
Échouer au démarrage
Une configuration incomplète empêche le démarrage, avec la liste de tout ce qui manque.
03
Des numéros qui ont un sens
Correctif, mineure, majeure : chaque numéro promet un niveau de compatibilité.
04
Des paliers et une mesure
10 %, 50 %, 100 %, et un retour automatique au-delà du seuil.
3Exemples pratiques
Valider la configuration avec zod
1import { z } from "zod";2 3const Config = z.object({4 DATABASE_URL: z.string().url(),5 JETON_SECRET: z.string().min(32),6 PORT: z.coerce.number().int().default(3000),7});8export const config = Config.parse(process.env); // lève une erreur détailléeLa même idée que lireConfig, avec des règles plus riches et un message qui liste tous les problèmes.
Revenir en arrière sur Vercel
1vercel rollback # revient au déploiement de production précédent2vercel promote <url> # promeut un déploiement existant en productionChaque déploiement est un artefact figé : revenir en arrière ne reconstruit rien, cela change seulement la version servie.
4Erreurs courantes
Un secret dans le code
À éviter
const secret = "s3cr3t";À faire
const secret = process.env.JETON_SECRET;Pourquoi : L'historique Git le garde pour toujours.
Comparer des versions comme du texte
À éviter
"1.10.0" > "1.9.3" // falseÀ faire
comparer("1.10.0", "1.9.3") // 1Pourquoi : L'ordre alphabétique n'est pas l'ordre des versions.
Tout déployer d'un coup
À éviter
// 100 % des joueurs dès la mise en ligneÀ faire
10 %, puis 50 %, puis 100 %Pourquoi : Un bug touche alors tout le monde avant d'être détecté.
5Subtilités à connaître
- ◆Un retour arrière suppose que la base reste compatible : on ajoute une colonne avant de s'en servir, et on attend la version suivante pour supprimer l'ancienne.
- ◆Les drapeaux de fonctionnalités séparent le déploiement du code de l'activation de la fonctionnalité.
- ◆Les versions
0.xne promettent rien : toute mineure peut casser la compatibilité.
6Vérifie ta compréhension
Question 1/3
Score 0
Une correction de bug fait passer 2.3.1 à…
Envie d'essayer ? Ouvre le Labo et recopie les exemples pour les modifier.