Pourquoi l'ajout d'ENV ne modifie-t-il pas les paramètres du site côté client ?

Bonjour @sam,

Peut-être que je comprends mal ou que je fais une erreur ?

Dans app.yml, j’ai ajouté une variable d’environnement personnalisée :

env:
   DISCOURSE_MY_ENV_TEST:  app

Puis j’ai reconstruit le conteneur avec un petit plugin personnalisé où j’ai affiché toutes les paramètres du site comme ceci :

console.log(Discourse.SiteSettings);

Cela affiche bien tous les paramètres du site dans la console comme prévu ; mais la variable d’environnement personnalisée que j’ai définie dans app.yml ne semble pas être accessible dans les paramètres du site, comme je l’espérais.

Est-ce que je fais une erreur ?

La raison pour laquelle je pose la question est que j’ai trouvé ce sujet en cherchant un moyen simple d’injecter des variables d’environnement dans l’application pour les utiliser dans mon plugin. J’ai pensé que vous disiez peut-être qu’on pouvait le faire en les ajoutant au fichier app.yml ; mais cela ne fonctionne pas comme prévu.

PS : Désolé de raviver ce vieux sujet, mais il semblait être le plus proche lors de la recherche sur le site, et j’ai pensé qu’il valait mieux répondre ici plutôt que de créer un nouveau sujet.

1 « J'aime »

Vous devez définir un plugin avec le paramètre du site pour que cela fonctionne. Nous ne transmettons pas aveuglément des données de l’ENV au client.

2 « J'aime »

Salut Sam,

J’ai compris, je pense :

Donc, en gros, nous ne pouvons pas définir une nouvelle variable d’environnement dans le fichier yml et faire en sorte que cette variable env: soit utilisée par les paramètres du site dans l’application, sauf si nous créons un plugin à cette fin (pour ajouter une variable d’environnement supplémentaire pour le site, configurable depuis le fichier yml).

Est-ce que ma compréhension est correcte ?

Merci !

1 « J'aime »

Oui, si vous souhaitez définir un nouveau paramètre de site, il doit être ajouté à un plugin.

4 « J'aime »