> ## 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.

# Exécuter plusieurs applications sur un même hôte

## Le problème

Lors de l'exécution de plusieurs applications sur un même hôte, des comportements étranges peuvent se produire. Un problème courant que nous avons rencontré est que des applications commencent à être rapportées sous des noms et/ou des environnements différents. Par exemple, une application qui bascule entre l'environnement de staging et de production après un déploiement ou un redémarrage du processus de l'application ou d'un worker.

## Contexte

L'agent AppSignal démarre en utilisant la configuration d'une application. Il utilise cette configuration pour envoyer les données aux serveurs AppSignal afin de les rapporter en tant qu'application sur AppSignal.com.

Par défaut, AppSignal est configuré en supposant qu'une application s'exécute sur un seul hôte. Si vous exécutez plus d'une application sur un hôte, une configuration est nécessaire pour éviter de partager le répertoire de travail AppSignal entre plusieurs applications. De cette façon, plusieurs agents AppSignal peuvent s'exécuter en même temps avec des configurations d'application différentes.

<Tip>
  En savoir plus sur le [répertoire de
  travail](/appsignal/how-appsignal-operates#working-directory) d'AppSignal.
</Tip>

## Configuration

Pour permettre à AppSignal d'être utilisé pour plusieurs applications sur un même hôte, nous devons définir l'option de configuration « chemin du répertoire de travail ». À l'aide de cette option de configuration, nous devons définir un chemin de répertoire de travail unique par application pour qu'AppSignal y stocke ses fichiers (temporaires). De cette façon, l'agent AppSignal ne partagera pas le répertoire de travail entre plusieurs applications.

### Ruby

Pour définir le chemin du répertoire de travail dans l'intégration Ruby, ajoutez ce qui suit à votre fichier de configuration AppSignal. La valeur [`working_directory_path`][ruby working_directory_path] est un chemin vers un répertoire existant sur votre système hôte.

<CodeGroup>
  ```ruby Ruby theme={null}
  Appsignal.configure do |config|
    config.working_directory_path = "/tmp/project_1/"
  end
  ```

  ```yaml YAML theme={null}
  production:
    working_directory_path: "/tmp/project_1/"
  ```
</CodeGroup>

#### En savoir plus {/* id: ruby-read-more */}

* [Détails de l'option de configuration `working_directory_path` de l'intégration Ruby][ruby working_directory_path]

[ruby working_directory_path]: /ruby/configuration/options.html#option-working_directory_path

### Elixir

Pour définir le chemin du répertoire de travail dans l'intégration Elixir, ajoutez ce qui suit à votre fichier de configuration AppSignal. La valeur [`working_directory_path`][elixir working_directory_path] est un chemin vers un répertoire existant sur votre système hôte.

<CodeGroup>
  ```elixir Elixir theme={null}
  config :appsignal, :config,
    working_directory_path: "/tmp/project_1/"
  ```
</CodeGroup>

#### En savoir plus {/* id: elixir-read-more */}

* [Détails de l'option de configuration `working_directory_path` de l'intégration Elixir][elixir working_directory_path]

[elixir working_directory_path]: /elixir/configuration/options.html#option-working_directory_path

### Node.js

Pour définir le chemin du répertoire de travail dans l'intégration Node.js, ajoutez ce qui suit à votre fichier de configuration AppSignal. La valeur [`workingDirectoryPath`][nodejs working_directory_path] est un chemin vers un répertoire existant sur votre système hôte.

<CodeGroup>
  ```javascript Node.js theme={null}
  const { Appsignal } = require("@appsignal/nodejs");

  const appsignal = new Appsignal({
    // Other config
    workingDirectoryPath: "/tmp/project_1",
  });

  module.exports = { appsignal };
  ```
</CodeGroup>

#### En savoir plus {/* id: nodejs-read-more */}

* [Détails de l'option de configuration `workingDirectoryPath` de l'intégration Node.js][nodejs working_directory_path]

[nodejs working_directory_path]: /nodejs/3.x/configuration/options.html#option-workingdirectorypath

### Python

Pour l'intégration Python, deux options de configuration doivent être modifiées. La première est l'option de configuration `working_directory_path`, et l'autre l'option `opentelemetry_port`.

Pour définir ces options de configuration dans l'intégration Python, ajoutez ce qui suit à votre fichier de configuration AppSignal. La valeur [`opentelemetry_port`][python opentelemetry_port] est un numéro de port disponible et la valeur [`working_directory_path`][python working_directory_path] est un chemin vers un répertoire existant sur votre système hôte. Ces valeurs doivent être uniques par application.

<CodeGroup>
  ```python Python theme={null}
  from appsignal import Appsignal

  appsignal = Appsignal(
    # Other config
    opentelemetry_port: 9001,
    working_directory_path: "/tmp/project_1"
  )
  ```
</CodeGroup>

#### En savoir plus {/* id: python-read-more */}

* [Détails de l'option de configuration `opentelemetry_port` de l'intégration Python][python opentelemetry_port]
* [Détails de l'option de configuration `working_directory_path` de l'intégration Python][python working_directory_path]

[python opentelemetry_port]: /python/configuration/options.html#option-opentelemetry_port

[python working_directory_path]: /python/configuration/options.html#option-working_directory_path

### JavaScript front-end

Aucun répertoire de travail ne peut être configuré pour les applications JavaScript front-end, car elles ne reposent pas sur le processus de l'agent AppSignal. Si des données sont rapportées pour la mauvaise application, assurez-vous que l'application utilise la bonne [clé API Push](/appsignal/terminology#push-api-key)

## Voir aussi

* [Rubrique Application](/application/)
* [Index des guides](/guides/)
