> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Ordre de chargement d'AppSignal pour Elixir

AppSignal pour Elixir peut être configuré de plusieurs façons. Via la
configuration Mix ou via des variables d'environnement.

La configuration est chargée en un processus en quatre étapes. Cela commence par les
valeurs par défaut du paquet et se termine par la lecture des variables d'environnement. Les options de
configuration peuvent être combinées sans perdre la configuration provenant d'une autre option.
L'utilisation conjointe d'un initialiseur, d'un fichier de configuration et de variables d'environnement
fonctionnera.

## Ordre de chargement

* 1. [Valeurs par défaut du paquet - `default`](#1-package-defaults)
* 2. [Paramètres détectés par le système - `system`](#2-system-detected-settings)
* 3. [Fichier de configuration de l'app Mix - `file`](#3-mix-configuration)
* 4. [Variables d'environnement - `env`](#4-environment-variables)
* 5. [Overrides - `override`](#5-overrides)

## 1. Valeurs par défaut du paquet

Le paquet AppSignal commence par charger sa configuration par défaut, en définissant
les chemins et en activant certaines fonctionnalités.

Les valeurs par défaut de l'agent peuvent être trouvées dans la [documentation des options de configuration](/elixir/configuration/options).

Cette source est listée comme `default` dans la sortie de [diagnose](/elixir/command-line/diagnose).

## 2. Paramètres détectés par le système

Le paquet détecte le type de système sur lequel il s'exécute et se configure
en conséquence.

Par exemple, lorsqu'il s'exécute sur Heroku, il définit l'option de configuration
`:running_in_container` sur `true` et `:log` sur `"stdout"`.

Cette source est listée comme `system` dans la sortie de [diagnose](/elixir/command-line/diagnose).

## 3. Configuration Mix

Le paquet AppSignal est le plus souvent configuré via la configuration
dans le fichier de configuration Mix.

<CodeGroup>
  ```elixir Elixir theme={null}
  # config/config.exs
  # or config/prod.exs
  config :appsignal, :config,
    otp_app: :appsignal_phoenix_example,
    name: "AppsignalPhoenixExample",
    push_api_key: "your-push-api-key",
    env: Mix.env,
    active: true
  ```
</CodeGroup>

Cette étape remplacera toutes les options fournies par les valeurs par défaut ou la
configuration détectée par le système.

Cette source est listée comme `file` dans la sortie de [diagnose](/elixir/command-line/diagnose).

## 4. Variables d'environnement

Notre intégration recherchera sa configuration dans les variables d'environnement.
Lorsqu'elles sont trouvées, elles remplaceront toutes les options de configuration
fournies par les étapes précédentes.

<CodeGroup>
  ```bash Bash theme={null}
  export APPSIGNAL_APP_NAME="AppsignalPhoenixExample"
  # start your app here
  ```
</CodeGroup>

Cette source est listée comme `env` dans la sortie de [diagnose](/elixir/command-line/diagnose).

## 5. Overrides

Une fois toute la configuration connue, notre intégration effectue une dernière vérification pour s'assurer que la configuration ne se contredit pas elle-même ou que certaines options de configuration par défaut ne sont pas absentes.

La source de configuration « override » contient ces derniers changements de configuration effectués par l'intégration. Lorsqu'elle remplace la valeur d'une option de configuration, cette valeur est prioritaire.

Par exemple, à un moment donné, nous avons déprécié l'option `skip_session_data` au profit de l'option `send_session_data`. Lorsque l'option de configuration `skip_session_data` était configurée par l'application, mais que `send_session_data` ne l'était pas, l'intégration utilisait la valeur de `skip_session_data` pour définir la valeur de l'option de configuration `send_session_data`.
