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

# Systèmes d'exploitation pris en charge

Les intégrations AppSignal pour Ruby, Elixir & Node.js contiennent des extensions natives et un processus d'agent léger séparé. Ces extensions natives sont prises en charge sur la plupart des distributions Linux, FreeBSD et macOS/OSX. Nos intégrations Go et Python utilisent uniquement notre processus d'agent et ne nécessitent pas l'installation de paquets supplémentaires. Comme les autres intégrations, elles ne fonctionnent que sur les systèmes d'exploitation pris en charge listés dans le [tableau de prise en charge](#support-table).

Si un système d'exploitation que vous utilisez n'est pas pris en charge, veuillez [nous contacter][support].

## Tableau de prise en charge

Tableau des différentes combinaisons de systèmes d'exploitation et d'architecture que nous prenons en charge. Vérifiez les notes sous le tableau pour toute exception et exigence de version.

### Intégrations

Nos intégrations incluent : [le gem Ruby](/ruby), [le paquet Elixir](/elixir), [le paquet Node.js](/nodejs) et [le paquet Python](/python).

|                                                                    | x86 32-bit                                             | x86 64-bit                                             | ARM 64-bit                                                            |
| ------------------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | --------------------------------------------------------------------- |
| [macOS/OSX](#macos) <sup>1</sup>                                   |                                                        | <center><Icon icon="check" color="#22c55e" /></center> | <center><Icon icon="check" color="#22c55e" /></center>                |
| [Linux](#linux)                                                    |                                                        |                                                        |                                                                       |
|    - [Alpine Linux](#alpine-linux)                                 |                                                        | <center><Icon icon="check" color="#22c55e" /></center> | <center>  <Icon icon="check" color="#22c55e" /> <sup>2</sup></center> |
|    - [CentOS](#centos)                                             | <center><Icon icon="check" color="#22c55e" /></center> | <center><Icon icon="check" color="#22c55e" /></center> | <center><Icon icon="check" color="#22c55e" /></center>                |
|    - [Debian / Ubuntu](#debian-ubuntu)                             | <center><Icon icon="check" color="#22c55e" /></center> | <center><Icon icon="check" color="#22c55e" /></center> | <center><Icon icon="check" color="#22c55e" /></center>                |
|    - [Fedora](#fedora)                                             | <center><Icon icon="check" color="#22c55e" /></center> | <center><Icon icon="check" color="#22c55e" /></center> | <center><Icon icon="check" color="#22c55e" /></center>                |
| [FreeBSD](#freebsd) <sup>1 3</sup>                                 |                                                        | <center>?</center>                                     |                                                                       |
| [Microsoft Windows](#microsoft-windows)<sup>4</sup>                |                                                        |                                                        |                                                                       |
|    - [Subsystem for Linux](#microsoft-windows-subsystem-for-linux) |                                                        | <center>? <sup>4</sup></center>                        |                                                                       |

* `1` : Ne prend pas en charge les [métriques d'hôte][host-metrics].
* `2` : Non pris en charge pour notre intégration Node.js.
* `3` : Niveau de support peu clair, voir [FreeBSD](#freeBSD).
* `4` : Ne fonctionne pas nativement sur [Windows](#microsoft-windows). AppSignal ne fournit pas de support officiel pour le [Sous-système Windows pour Linux](#microsoft-windows-subsystem-for-linux).

### Composants

Les composants supplémentaires incluent : [Collector](/collector), [Agent autonome](/standalone-agent/installation/docker-image), [Wrap](/wrap).

|                               | x86 64-bit                                                          | ARM 64-bit                                                          |
| ----------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
| macOS/OSX                     | <center><Icon icon="check" color="#22c55e" /></center>              | <center><Icon icon="check" color="#22c55e" /></center>              |
| Linux                         |                                                                     |                                                                     |
|    - Alpine Linux             | <center><Icon icon="check" color="#22c55e" /> <sup>1</sup></center> | <center><Icon icon="check" color="#22c55e" /> <sup>1</sup></center> |
|    - CentOS                   | <center><Icon icon="check" color="#22c55e" /></center>              | <center><Icon icon="check" color="#22c55e" /></center>              |
|    - Debian / Ubuntu          | <center><Icon icon="check" color="#22c55e" /></center>              | <center><Icon icon="check" color="#22c55e" /></center>              |
| Microsoft Windows<sup>2</sup> |                                                                     |                                                                     |
|    - Subsystem for Linux      | <center>? <sup>2</sup></center>                                     | <center>? <sup>2</sup></center>                                     |
| Image Docker                  | <center><Icon icon="check" color="#22c55e" /> <sup>3</sup></center> | <center><Icon icon="check" color="#22c55e" /> <sup>3</sup></center> |

Aucune dépendance supplémentaire n'a besoin d'être installée pour ces composants, sauf si indiquée dans leurs guides d'installation.

* `1` : Alpine Linux est uniquement pris en charge par [Wrap](/wrap).
* `2` : Ne fonctionne pas nativement sur [Windows](#microsoft-windows). AppSignal ne fournit pas de support officiel pour le [Sous-système Windows pour Linux](#microsoft-windows-subsystem-for-linux).
* `3` : [Wrap](/wrap) n'est pas disponible en tant qu'image Docker.

## Linux

AppSignal essaie de prendre en charge Linux du mieux possible, mais certains changements dans notre processus de compilation ont causé des problèmes pour la prise en charge de certaines distributions et versions Linux. Notre agent et notre extension sont compilés contre libc, et selon la version de libc contre laquelle nous compilons, nous prenons en charge certaines versions plus anciennes de distributions Linux et pas d'autres.

### Versions prises en charge

La prise en charge par AppSignal des versions de libc a changé au cours des dernières versions du gem Ruby et du paquet Elixir.

Voici la liste des versions de libc/musl contre lesquelles AppSignal a été compilé au cours des dernières versions de nos intégrations :

* AppSignal pour Ruby `v1.0.0` - `v2.0.x`<br />
  AppSignal pour Elixir `v0.0.x` - `v0.10.x`
  * libc `v2.5`
  * musl `N/A`
* AppSignal pour Ruby `v2.1.x` - `v2.3.x`<br />
  AppSignal pour Elixir `v0.11.x` - `v1.3.x`
  * libc `N/A` - voir le [problème connu des délais d'attente DNS](/support/known-issues/dns-timeouts).
  * musl `v1.1.16`
* AppSignal pour Ruby `v2.4.x` et supérieur<br />
  AppSignal pour Elixir `v1.4.x` et supérieur<br />
  AppSignal pour Node.js `v1.0.0` et supérieur<br />
  AppSignal pour Python `v0.1.0` et supérieur
  * libc `v2.15`
  * musl `v1.1.16`

Si votre système utilise une version de libc plus ancienne que celle contre laquelle l'extension AppSignal est compilée, vous rencontrerez des problèmes pour installer ou exécuter l'agent AppSignal. Si c'est le cas, vous pouvez plutôt [opter pour la compilation musl](#musl-build-override), qui n'a pas ce problème. Cela ne devrait plus être un problème pour le gem AppSignal Ruby `v2.4.1` & le paquet Elixir `v1.4.3` et supérieurs ; dans ces paquets, une détection automatique des versions de libc plus anciennes a été ajoutée et ils basculeront automatiquement vers la compilation musl.

**Avertissement pour JRuby** : La prise en charge de JRuby sur Alpine Linux (compilation musl) est prise en charge depuis le gem Ruby `2.8.0`. Ce scénario nécessite une compilation dynamique de l'extension AppSignal, qui n'est pas prise en charge pour la compilation musl pour les versions plus anciennes du gem.

Vous pouvez voir quelle version de libc votre système utilise en exécutant la commande suivante : `ldd --version 2>&1`

Exemple de sortie sur Ubuntu 12.04 :

<CodeGroup>
  ```bash Bash theme={null}
  $ ldd --version 2>&1
  ldd (Ubuntu EGLIBC 2.15-0ubuntu10.18) 2.15
  Copyright (C) 2012 Free Software Foundation, Inc.
  This is free software; see the source for copying conditions.  There is NO
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  Written by Roland McGrath and Ulrich Drepper.
  ```
</CodeGroup>

### Forçage de la compilation musl

Pour opter manuellement pour la compilation musl, ajoutez la variable d'environnement `APPSIGNAL_BUILD_FOR_MUSL` à l'environnement de votre système avant d'installer AppSignal et de compiler votre application. Cette variable d'environnement n'est nécessaire que si notre détection automatique ne détecte pas la bonne architecture.

<CodeGroup>
  ```sh Shell theme={null}
  # For Ruby
  export APPSIGNAL_BUILD_FOR_MUSL=1
  gem install appsignal
  # or with Bundler
  bundle install

  # For Elixir
  export APPSIGNAL_BUILD_FOR_MUSL=1
  mix deps.get
  mix compile

  # For Node.js
  export APPSIGNAL_BUILD_FOR_MUSL=1
  npm install

  # For Python
  # Not supported
  ```
</CodeGroup>

### Forçage de la compilation Linux ARM

Les paquets AppSignal détecteront automatiquement les hôtes basés sur ARM et sélectionneront l'agent et l'extension à installer pour les systèmes ARM.

Lorsque cette détection ne fonctionne pas, optez manuellement pour la compilation Linux ARM avec la variable d'environnement `APPSIGNAL_BUILD_FOR_LINUX_ARM`. Ajoutez-la à l'environnement de votre système avant d'installer AppSignal et de compiler votre application. Cette variable d'environnement n'est nécessaire que si notre détection automatique ne détecte pas la bonne architecture.

<Tip>
  Disponible dans ces paquets :

  * Gem Ruby 3.0.8 ou plus récent.
  * Paquet Elixir 2.1.8 ou plus récent.
  * Paquet Node.js 1.2.6 ou plus récent.

  Non pris en charge dans notre paquet Python.
</Tip>

<CodeGroup>
  ```sh Shell theme={null}
  # Set this environment variable
  # Note: How environment variables are set may be different for your Operating
  # System.
  export APPSIGNAL_BUILD_FOR_LINUX_ARM=1
  # Run the install command, such as: bundle install, npm install, mix compile
  ```
</CodeGroup>

### Alpine Linux

* Ruby : prend en charge [Alpine Linux] depuis la version `2.1.0` du gem Ruby. (JRuby n'est pas pris en charge sur Alpine Linux.)
* Elixir : prend en charge [Alpine Linux] depuis la version `0.11.0` du paquet Elixir.
* Node.js : prend en charge [Alpine Linux] depuis la version `3.0.2` du paquet Node.js. Non pris en charge pour la version `14` de Node.js.

Dans la version `2.4.0` d'AppSignal pour Ruby et la version `1.4.0` d'AppSignal pour Elixir, nous avons commencé à livrer une compilation distincte pour Alpine Linux. Si vous avez mis à niveau depuis une version antérieure et que vous avez des problèmes à compiler votre application, notre détection ne fonctionne pas correctement.

Les dépendances système suivantes sont requises pour Alpine Linux :

<CodeGroup>
  ```sh Shell theme={null}
  # Dependencies for the AppSignal Ruby gem
  apk add make gcc musl-dev musl-utils

  # Dependencies for the AppSignal Node.js package
  apk add python3 make g++

  # Dependencies for the AppSignal for Elixir package version 1.7.0 and newer
  apk add make gcc musl-dev musl-utils
  # Dependencies for the AppSignal for Elixir package version 1.6.3 and older
  apk add make gcc musl-dev musl-utils curl
  ```
</CodeGroup>

Pour toutes les intégrations, la détection est basée sur la sortie de `ldd --version`.

Si votre application n'arrive pas à appeler le programme `ldd` ou si la détection est faussée pour une raison quelconque, vous pouvez forcer la compilation compatible Alpine Linux en fournissant une variable d'environnement spéciale lors de l'installation.

<CodeGroup>
  ```sh Shell theme={null}
  # For Ruby
  export APPSIGNAL_BUILD_FOR_MUSL=1
  gem install appsignal
  # or with Bundler
  bundle install

  # For Elixir
  export APPSIGNAL_BUILD_FOR_MUSL=1
  mix deps.get
  mix compile

  # For Node.js
  export APPSIGNAL_BUILD_FOR_MUSL=1
  npm install
  ```
</CodeGroup>

#### Ruby {/* id: alpine-linux-ruby */}

Pour le gem Ruby, ajoutez ceci à votre `Gemfile` :

<CodeGroup>
  ```ruby Ruby theme={null}
  gem "appsignal", ">= 2.1.0" # or a newer version
  ```
</CodeGroup>

Pour la dernière version disponible, consultez la liste complète sur [RubyGems.org](https://rubygems.org/gems/appsignal/versions) et si vous rencontrez des problèmes, veuillez [nous le faire savoir][support].

#### Elixir {/* id: alpine-linux-elixir */}

Si vous utilisez le paquet Elixir, ajoutez ceci à la section `deps` de votre fichier
`mix.exs` :

<CodeGroup>
  ```elixir Elixir theme={null}
  {:appsignal, ">= 1.0.0"} # or a newer version
  ```
</CodeGroup>

Pour la dernière version disponible, consultez la liste complète sur [Hex.pm](https://hex.pm/packages/appsignal) et si vous rencontrez des problèmes, veuillez [nous le faire savoir][support].

#### Node.js {/* id: alpine-linux-nodejs */}

Si vous utilisez le paquet Node.js, ajoutez ceci à la section `dependencies` de votre
fichier `package.json` :

```text Text theme={null}
"@appsignal/nodejs": "^3.0.2"
```

Pour la dernière version disponible, consultez la liste complète sur [NPM](https://www.npmjs.com/package/@appsignal/nodejs) et si vous rencontrez des problèmes, veuillez [nous le faire savoir][support].

### CentOS

CentOS est entièrement pris en charge par l'extension AppSignal. Selon votre version de CentOS, vous devrez peut-être sélectionner un autre type de compilation pour le gem AppSignal Ruby `v2.4.0` et AppSignal pour Elixir `v1.4.0` et supérieurs.

Les dépendances système suivantes sont requises pour CentOS :

<CodeGroup>
  ```sh Shell theme={null}
  # Dependencies for the AppSignal Ruby gem and Node.js package
  yum install gcc gcc-c++ make openssl-devel

  # Dependencies for the AppSignal for Elixir package version 1.7.0 and newer
  yum install gcc gcc-c++ make openssl-devel
  # Dependencies for the AppSignal for Elixir package version 1.6.3 and older
  yum install gcc gcc-c++ make openssl-devel curl

  # Dependencies for the AppSignal for Node.js package version 2.3.4 or newer, the supported Python versions are those between Python 3.7 and Python 3.10.
  # Dependencies for the AppSignal for Node.js package version 2.3.3 or below, the supported Python versions are those between Python 3.5 and Python 3.8.
  yum install python3
  ```
</CodeGroup>

Pour CentOS 7 et supérieur, il n'y a pas de problème à mettre à niveau vers AppSignal pour Ruby `v2.4.0` et AppSignal pour Elixir `1.4.0` et supérieurs.

Pour CentOS 6 et les versions plus anciennes, vous devrez plutôt opter pour la compilation musl pour AppSignal. Pour plus d'informations, consultez la [section Linux](#linux).

### Debian / Ubuntu {/* id: debian-ubuntu */}

Les dépendances système suivantes sont requises pour les distributions Linux Debian :

<CodeGroup>
  ```sh Shell theme={null}
  # Dependencies for the AppSignal Ruby gem and Node.js package
  apt-get update
  apt-get install build-essential ca-certificates

  # Dependencies for the AppSignal for Elixir package version 1.7.0 and newer
  apt-get update
  apt-get install build-essential ca-certificates
  # Dependencies for the AppSignal for Elixir package version 1.6.3 and older
  apt-get update
  apt-get install build-essential ca-certificates curl

  # Dependencies for the AppSignal for Node.js package version 2.3.4 or newer, the supported Python versions are those between Python 3.7 and Python 3.10.
  # Dependencies for the AppSignal for Node.js package version 2.3.3 or below, the supported Python versions are those between Python 3.5 and Python 3.8.
  apt-get install python3
  ```
</CodeGroup>

### Fedora

Les dépendances système suivantes sont requises pour les distributions Linux Fedora :

<CodeGroup>
  ```sh Shell theme={null}
  # Dependencies for the AppSignal Ruby gem
  dnf install gcc gcc-c++ make openssl-devel

  # Dependencies for the AppSignal for Elixir package version 1.7.0 and newer
  dnf install gcc gcc-c++ make openssl-devel
  # Dependencies for the AppSignal for Elixir package version 1.6.3 and older
  dnf install gcc gcc-c++ make openssl-devel curl

  # Dependencies for the AppSignal for Node.js package version 2.3.4 or newer, the supported Python versions are those between Python 3.7 and Python 3.10.
  # Dependencies for the AppSignal for Node.js package version 2.3.3 or below, the supported Python versions are those between Python 3.5 and Python 3.8.
  dnf install python3
  ```
</CodeGroup>

## FreeBSD

<Warning>
  Notre niveau de prise en charge de FreeBSD est actuellement peu clair. Nos
  tests montrent qu'il fonctionne sur FreeBSD 11, mais nous n'avons pas pu le
  voir rapporter des données sur FreeBSD 12 et supérieur. Supposez qu'il ne
  rapportera pas de données sur FreeBSD 12 et supérieur.
</Warning>

La prise en charge des systèmes FreeBSD a été ajoutée dans le gem AppSignal pour Ruby `2.4.0` et le paquet AppSignal pour Elixir `1.4.0`. Elle ne prend actuellement pas en charge la fonctionnalité de [métriques d'hôte][host-metrics].

Les dépendances système suivantes sont requises pour les distributions Linux FreeBSD :

<CodeGroup>
  ```sh Shell theme={null}
  pkg install gcc gmake openssl-devel

  # Dependencies for the AppSignal for Node.js package version 2.3.4 or newer, the supported Python versions are those between Python 3.7 and Python 3.10.
  # Dependencies for the AppSignal for Node.js package version 2.3.3 or below, the supported Python versions are those between Python 3.5 and Python 3.8.
  pkg install python3
  ```
</CodeGroup>

## macOS

macOS (OS X) `10.14.x` et supérieur est pris en charge par AppSignal pour Ruby, Elixir & Node.js. Il ne prend actuellement pas en charge la fonctionnalité de [métriques d'hôte][host-metrics].

Veuillez vous assurer qu'Xcode est installé avec les outils de compilation en ligne de commande.

<CodeGroup>
  ```sh Shell theme={null}
  xcode-select --install

  # Dependencies for the AppSignal for Node.js package version 2.3.4 or newer, the supported Python versions are those between Python 3.7 and Python 3.10.
  # Dependencies for the AppSignal for Node.js package version 2.3.3 or below, the supported Python versions are those between Python 3.5 and Python 3.8.
  brew install python@3
  ```
</CodeGroup>

## Microsoft Windows

Nous n'avons actuellement pas l'intention de prendre en charge le système d'exploitation [Microsoft Windows](https://www.microsoft.com/en-us/windows/). Nous essayons cependant de rendre les bibliothèques AppSignal installables sur Microsoft Windows sans aucune erreur ni problème de compilation afin que l'application dans laquelle elles sont installées continue de fonctionner.

Si vous utilisez Microsoft Windows et souhaitez que nous le prenions en charge, [envoyez-nous un e-mail][support].

### Ruby

Pour installer le gem AppSignal Ruby sur Microsoft Windows, assurez-vous d'avoir installé le DevKit [RubyInstaller](https://rubyinstaller.org/) avant d'installer AppSignal. Sinon, l'erreur suivante apparaîtra lors de l'installation de notre extension C. Nous n'installerons pas l'extension C sur Microsoft Windows, mais l'installation Ruby détecte qu'elle fait partie du gem et ne continuera pas sans le DevKit.

<CodeGroup>
  ```sh Shell theme={null}
  $ gem install appsignal
  Fetching appsignal 2.2.1
  Installing appsignal 2.2.1 with native extensions
  Gem::InstallError: The 'appsignal' native gem requires installed build tools.
  Please update your PATH to include build tools or download the DevKit
  from 'http://rubyinstaller.org/downloads' and follow the instructions
  at 'http://github.com/oneclick/rubyinstaller/wiki/Development-Kit'
  ```
</CodeGroup>

### Sous-système Microsoft Windows pour Linux

<Warning>
  Nous ne fournissons pas de support pour le sous-système Microsoft Windows pour Linux.
</Warning>

Le [sous-système Microsoft Windows pour Linux](https://docs.microsoft.com/en-us/windows/wsl/about) (WSL) est une couche entre Microsoft Windows et une distribution [Linux](#linux). Cela permet aux utilisateurs d'exécuter certaines distributions GNU/Linux, disponibles dans le Microsoft Store, sur leur ordinateur Microsoft Windows.

Exécuter une application sur WSL en utilisant une intégration AppSignal ne causera aucune erreur ni problème de compilation, comme décrit dans la [section Microsoft Windows](#microsoft-windows).

Exécuter AppSignal sur WSL fonctionnera aussi bien que WSL le prend en charge. Suivez les étapes pour votre [distribution Linux](#linux) sur cette page dans l'environnement WSL pour installer correctement les dépendances AppSignal, avant d'installer AppSignal dans votre application.

Dans nos tests utilisant le WSL Ubuntu, nous avons constaté que la plupart des fonctionnalités AppSignal fonctionneront, mais nous ne pouvons pas dire à quel point les informations collectées sont précises. Quelques petites différences entre l'implémentation de WSL et nos configurations de test Linux peuvent entraîner un comportement étrange ou un rapport inexact des métriques. Nous ne testons pas activement sur WSL et nous ne pouvons pas garantir son fonctionnement correct. <u>Nous ne fournissons pas de support pour AppSignal sur le WSL.</u>

Toutes les fonctionnalités AppSignal ne fonctionneront pas sur le système WSL ; dans nos tests, nous avons confirmé que les [métriques d'hôte](/metrics/host-metrics) pour les disques (utilisation et IO) ne fonctionnent pas.

Utilisez le système WSL pour tester l'intégration d'AppSignal avec votre application dans un environnement de développement, mais n'utilisez pas cette configuration dans un environnement de production. Testez toujours votre application en utilisant AppSignal dans un environnement de staging avec un environnement similaire (système d'exploitation) à l'environnement de production de l'application.

[alpine linux]: https://alpinelinux.org/

[musl]: https://www.musl-libc.org/

[rust]: https://www.rust-lang.org/en-US/

[host-metrics]: /metrics/host-metrics.html

[support]: mailto:support@appsignal.com
