ConfigModule
NestJS 🟡 MidDéfinition
Module officiel @nestjs/config pour gérer les variables d'environnement. Charge les fichiers .env et fournit ConfigService pour l'injection.
Analogie
Comme un coffre-fort d'entreprise : centralise tous les secrets et paramètrès, accessible uniquement aux autorises.
Exemple de code
@Module({
imports: [ConfigModule.forRoot({
isGlobal: true,
validationSchema: Joi.object({
DB_HOST: Joi.string().required(),
DB_PORT: Joi.number().default(5432),
}),
})],
})
export class AppModule {}
Cas d'usage
Centraliser et valider toutes les variables d'environnement au démarrage de l'application.
Anti-pattern
Termes liés
En entretien
À quoi sert ConfigModule et pourquoi ne pas juste utiliser process.env partout ?
ConfigModule (@nestjs/config) centralise le chargement des .env et fournit un ConfigService injectable pour accéder aux variables, comme un coffre-fort d'entreprise qui centralise les secrets et les rend accessibles seulement aux autorisés. Accéder directement à process.env partout dans le code est justement l'anti-pattern classique à éviter.
Comment tu ferais pour être sûr que toutes les variables d'environnement nécessaires sont présentes au démarrage ?
Je passe un validationSchema, par exemple avec Joi, dans ConfigModule.forRoot, ce qui valide toutes les variables d'environnement dès le démarrage de l'application. Ça permet de centraliser et valider la config en un seul endroit plutôt que de le découvrir en prod.
Fiche mise à jour le 2026-09-27