# Paramètres des variables d’environnement

À côté de ses [paramètres système](https://docs.ngsurvey.com/fr/installation-setup/system-settings) vous pouvez également configurer le cœur d'ngSurvey en utilisant les variables d'environnement suivantes. Ces variables peuvent aussi être définies dans le fichier web.config si vous utilisez IIS ou dans le fichier ngsurvey.settings.json.

{% hint style="info" %}
Dans un service d'application Linux Azure par défaut ou un conteneur Linux personnalisé tout `:` dans le nom de la variable doit être remplacé par `__` (double underscore).
{% endhint %}

## 🔅 Variables d'environnement

* **`NGSurvey:Secret`**&#x63;lé de chiffrement utilisée pour signer les JWT et les jetons d'éléments de sécurité. Doit contenir au moins 64 caractères.&#x20;
* **`NGSurvey:AutoDBSetup`** par défaut ngSurvey configurera ou mettra à niveau automatiquement votre base de données cible. Si vous souhaitez désactiver le processus d'installation / mise à niveau automatique, vous pouvez définir cette variable sur false. Dans ce cas, vous devrez installer manuellement la base de données en utilisant le [dacpac](https://docs.ngsurvey.com/fr/installation-setup/installation/backend-de-base-de-donnees/microsoft-sql-server) fichier pour Microsoft SQL Server. MariaDB ou MySQL ne seront installés directement que par ngSurvey ; nous n'offrons aucun script ni code pour installer et configurer la base de données manuellement par vous-même.
* **`NGSurvey:MailingBatchPoolingDelay`**&#x65;st le délai en minutes après lequel les batchs liés au mailing, tels que l'envoi d'e-mails de campagne, seront déclenchés. La valeur par défaut est 1 minute.
* **`NGSurvey:MaxMailingThread`** vous permet de définir combien de threads worker seront utilisés pendant le processus d'envoi d'e-mails. Faites attention lors de la configuration du nombre de threads car chaque thread ouvrira une connexion vers votre serveur de mail. La valeur par défaut est 2.
* **`NGSurvey:EnableTenants`** si vous possédez une licence Tenant, vous devez activer les tenants sur votre installation en définissant cette variable sur true.&#x20;
* **`NGSurvey:DisableEmailBlacklisting`** désactive la possibilité de mettre en liste noire les emails pour les campagnes si défini sur true.
* **`NGSurvey:DisableMobilePhoneNumberBlacklisting`** désactive la possibilité de mettre en liste noire les numéros de téléphone mobile pour les campagnes si défini sur true.
* **`NGSurvey:EnableSwagger`** si défini sur false désactivera l'accès à la documentation de l'API à <https://yourngsurveysite/api.&#x20>;
* **`NGSurvey:DistributedCache`**&#x61;ctive le cache distribué si défini sur true. Le cache distribué doit être activé si vous utilisez ngSurvey sur [cluster](https://docs.ngsurvey.com/fr/installation-setup/installation/cluster-scale-out-configuration) comme configuration
* **`NGSurvey:CacheTimeout`** ngSurvey utilise des caches internes pour améliorer les performances. Par défaut ces caches n'expirent pas. Vous pouvez définir un délai d'expiration en minutes si vous souhaitez qu'un temps d'expiration soit appliqué pour vider ces caches à intervalles réguliers.&#x20;
* **`NGSurvey:PanelSyncronizerThreadsNumber`** définit le nombre de threads qui seront utilisés pour synchroniser les panels avec leurs sources de données. La valeur par défaut est 6. Attention car chaque thread peut ouvrir une nouvelle connexion à la source de données à laquelle votre panel est connecté.&#x20;
* **`NGSurvey:Languages`** un tableau de codes de langues qui seront sélectionnables pour la section d'administration.  :&#x20;
* **`NGSurvey:ClusterNode`** indique si, lorsqu'il est défini sur true, l'instance s'exécute sur un nœud de cluster. Les instances ayant cluster node défini sur true n'exécuteront aucun type de tâches en arrière-plan. Vous devriez conserver les tâches en arrière-plan soit sur des instances séparées qui ne servent aucun Sondage, soit sur une seule instance.&#x20;
* **`NGSurvey:EncryptionKey`** cette clé de chiffrement sera utilisée pour tous les chiffrements des données au niveau de la base de données comme les chaînes de connexion, mots de passe, paramètres sensibles. Doit comporter au moins 64 caractères. Veillez à conserver une sauvegarde de la clé car sans elle vous pourriez ne pas être en mesure de récupérer vos données ngSurvey.
* **`NGSurvey:AccountLockoutThreshold`** nombre de tentatives d'authentification possibles avant que le compte ne soit verrouillé.
* **`NGSurvey:AccountLockoutDuration`** nombre de minutes pendant lesquelles le compte de connexion est verrouillé avant de permettre de s'authentifier à nouveau. &#x20;
* **`NGSurvey:EnableHSTS`**&#x61;ctive HSTS ; si vous utilisez SSL, tous les cookies seront définis comme secure.&#x20;
* **`NGSurvey:WebSetupDisabled`** désactive l'interface d'installation web d'ngSurvey si réglé sur true.
* **`NGSurvey:CaptchaDisabled`** désactive les fonctionnalités de captcha si défini sur true.
* **`NGSurvey:TwoFactorDisabled`** désactive la double authentification lors de la connexion si défini sur true. Peut être utilisé pour contourner l'authentification à deux facteurs si un problème survient.
* **`NGSurvey:ClearActivityLogsOlderThanDays`** nombre de jours pendant lesquels conserver les données du journal d'activité.
* **`NGSurvey:ClearActivityLogTresholdDays`** nombre de jours avant que les données du journal d'activité ne soient définitivement supprimées.
* **`NGSurvey:EncryptActivityLog`** si défini sur true chiffrera les données du journal d'activité au niveau de la base de données.
* **`NGSurvey:PersitentMailStorageLocation`** chemin vers un dossier pouvant être utilisé pour sauvegarder les messages enregistrés dans le dossier pickup d'Exchange au cas où vous utiliseriez le dossier pickup d'Exchange pour envoyer des e-mails. &#x20;
* **`NGSurvey:MaxAllowedTextSize`** taille maximale autorisée du texte en octets pouvant être stockée dans le système. Peut être utilisé pour prévenir les attaques d'overflow sur le système. La valeur par défaut est 10485760.
* **`NGSurvey:MailServerTest`** si défini sur true n'enverra pas directement d'e-mails via le serveur mail configuré.
* **`NGSurvey:LoadTest`** si défini sur true permettra de poster plusieurs fois les mêmes réponses d'un Répondant.&#x20;
* **`NGSurvey:AdminDisabled`** si défini sur true désactivera toutes les fonctionnalités liées à l'administration via l'API. Si désactivé, seules les API liées à la récupération de Sondages et aux soumissions de Répondants seront disponibles.&#x20;
* **`NGSurvey:CPSPolicy`**&#x73;i défini à "Self" appliquera la content security policy (CSP) dans le navigateur. Notez que les éléments de réponse basés sur des widgets et toutes les fonctionnalités JavaScript personnalisées seront désactivés si réglé sur Self.&#x20;
* **KeyVault:Name** nom du Key Vault Azure si vous prévoyez de stocker vos variables d'environnement dans le Key Vault d'Azure.&#x20;
* **AzureAd:ClientId** client Id du Key Vault Azure.&#x20;
* **AzureAd:ClientSecret** secret client pour accéder au Key Vault Azure.
* **`NGSurvey:RedisConnectionString`** chaîne de connexion au serveur de cache Redis.
* **`NGSurvey:RedisInstanceName`** nom d'instance Redis optionnel
* **`NGSurvey:ActivityLogAzureWorkspaceId`** identifiant du workspace Azure Log Analytics pour journaliser les activités
* **`NGSurvey:ActivityLogAzureAuthenticationId`** identifiant d'authentification de l'agent Azure Log Analytics
* **`NGSurvey:ActivityLogAwsAccessKeyId`** identifiant de la clé d'accès AWS CloudWatch pour journaliser les activités
* **`NGSurvey:ActivityLogAwsSecretAccessKey`** clé secrète AWS CloudWatch
* **`NGSurvey:ActivityLogAwsRegion`** région AWS CloudWatch&#x20;
* **`NGSurvey:ActivityLogAwsLogGroup`** groupe de logs AWS CloudWatch
* **`NGSurvey:ActivityLogApplicationInsightsKey`** clé Azure Application Insights pour journaliser les activités&#x20;
* **`NGSurvey:ActivityLogUseEventLog`** si défini sur true journalisera les activités dans le journal d'événements Windows.
* **`NGSurvey:AccountJWTAccessTokenExpiration`** Durée d'expiration du jeton JWT développeur au niveau du compte en minutes. Par défaut 90 jours, maximum 6 mois.&#x20;
* **`NGSurvey:FormJWTAccessTokenExpiration`** Durée d'expiration du jeton JWT développeur au niveau du Sondage/Formulaire en minutes. Par défaut 2 jours, maximum 7 jours.
* **`NGSurvey:FormJWTAccessTokenExpiration`** Durée d'expiration du jeton JWT développeur au niveau du Sondage/Formulaire en minutes. Par défaut 2 jours, maximum 7 jours.
* **`NGSurvey:PostgresAzureScope`** scope Azure qui gère les jetons d'accès Entra pour utiliser Postgres avec un compte géré Entra.
