# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2026, XINFERENCE HOLDINGS PTE. LTD.
# This file is distributed under the same license as the Xinference package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2026.
#
msgid ""
msgstr ""
"Project-Id-Version: Xinference \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-07-17 15:37+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: fr\n"
"Language-Team: fr <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.18.0\n"

#: ../../source/getting_started/using_docker_compose.rst:5
msgid "Docker Compose Deployment"
msgstr "Déploiement avec Docker Compose"

#: ../../source/getting_started/using_docker_compose.rst:7
msgid ""
"Xinference ships an official Docker Compose setup for standalone "
"deployment, located at `xinference/deploy/docker "
"<https://github.com/xorbitsai/inference/tree/main/xinference/deploy/docker>`_."
" It supports online hosts as well as fully offline / air-gapped "
"environments, where an optional private PyPI server is started alongside "
"Xinference to serve the packages installed at model-launch time."
msgstr ""
"Xinference fournit une configuration Docker Compose officielle pour un "
"déploiement autonome, située dans `xinference/deploy/docker "
"<https://github.com/xorbitsai/inference/tree/main/xinference/deploy/docker>`_."
" Elle prend en charge les hôtes connectés à Internet ainsi que les "
"environnements totalement hors ligne / isolés (air-gapped), où un serveur"
" PyPI privé optionnel est démarré aux côtés de Xinference pour servir les"
" paquets installés au moment du lancement des modèles."

#: ../../source/getting_started/using_docker_compose.rst:14
msgid "Prerequisites"
msgstr "Prérequis"

#: ../../source/getting_started/using_docker_compose.rst:15
msgid ""
"Docker Compose **v2.24.4 or above** (required by the ``env_file: "
"required: false`` and ``!reset`` features used in the compose files)."
msgstr ""
"Docker Compose **v2.24.4 ou supérieur** (requis par les fonctionnalités "
"``env_file: required: false`` et ``!reset`` utilisées dans les fichiers "
"compose)."

#: ../../source/getting_started/using_docker_compose.rst:16
msgid ""
"For GPU deployment: a host with NVIDIA GPUs, CUDA installed, and `NVIDIA "
"Container Toolkit <https://docs.nvidia.com/datacenter/cloud-native"
"/container-toolkit/latest/install-guide.html>`_. See "
":ref:`using_docker_image` for image requirements."
msgstr ""
"Pour un déploiement GPU : un hôte avec des GPU NVIDIA, CUDA installé et "
"le `NVIDIA Container Toolkit <https://docs.nvidia.com/datacenter/cloud-"
"native/container-toolkit/latest/install-guide.html>`_. Voir "
":ref:`using_docker_image` pour les exigences relatives aux images."

#: ../../source/getting_started/using_docker_compose.rst:17
msgid ""
"Get the whole ``xinference/deploy/docker`` directory. The compose file "
"bind-mounts ``pip.conf`` and ``./wheels`` from the same directory, so "
"downloading ``docker-compose.yml`` alone is not sufficient:"
msgstr ""
"Récupérez l'intégralité du répertoire ``xinference/deploy/docker``. Le "
"fichier compose monte (bind-mount) ``pip.conf`` et ``./wheels`` depuis le"
" même répertoire, télécharger uniquement ``docker-compose.yml`` n'est "
"donc pas suffisant :"

#: ../../source/getting_started/using_docker_compose.rst:26
msgid "Quick Start (GPU)"
msgstr "Démarrage rapide (GPU)"

#: ../../source/getting_started/using_docker_compose.rst:27
msgid "Start Xinference with all GPUs of the host:"
msgstr "Démarrez Xinference avec tous les GPU de l'hôte :"

#: ../../source/getting_started/using_docker_compose.rst:33
msgid "Wait until the service is healthy, then verify:"
msgstr "Attendez que le service soit sain (healthy), puis vérifiez :"

#: ../../source/getting_started/using_docker_compose.rst:40
msgid "The Web UI is served at ``http://localhost:9997``."
msgstr "L'interface Web est servie à l'adresse ``http://localhost:9997``."

#: ../../source/getting_started/using_docker_compose.rst:44
msgid ""
"Since v3.0, authentication is enabled by default: the first visit to the "
"Web UI asks you to create the initial admin account, and API calls "
"require a login or API key afterwards. To run without authentication, add"
" ``XINFERENCE_AUTH_ADVANCED=false`` under the ``environment:`` section of"
" ``docker-compose.yml``. See :ref:`user_guide_auth_system`."
msgstr ""
"Depuis la v3.0, l'authentification est activée par défaut : la première "
"visite de l'interface Web vous demande de créer le compte administrateur "
"initial, et les appels d'API nécessitent ensuite une connexion ou une clé"
" API. Pour fonctionner sans authentification, ajoutez "
"``XINFERENCE_AUTH_ADVANCED=false`` dans la section ``environment:`` de "
"``docker-compose.yml``. Voir :ref:`user_guide_auth_system`."

#: ../../source/getting_started/using_docker_compose.rst:52
msgid "Configuration"
msgstr "Configuration"

#: ../../source/getting_started/using_docker_compose.rst:53
msgid ""
"All settings are exposed as variables with sensible defaults and can be "
"overridden through a ``.env`` file next to ``docker-compose.yml``. Copy "
"the template and edit as needed:"
msgstr ""
"Tous les paramètres sont exposés sous forme de variables avec des valeurs"
" par défaut raisonnables et peuvent être remplacés via un fichier "
"``.env`` placé à côté de ``docker-compose.yml``. Copiez le modèle et "
"modifiez-le selon vos besoins :"

#: ../../source/getting_started/using_docker_compose.rst:60
msgid "Available variables:"
msgstr "Variables disponibles :"

#: ../../source/getting_started/using_docker_compose.rst:62
msgid ""
"``XINFERENCE_IMAGE``: image to run, defaults to "
"``xprobe/xinference:latest``. Pin a release tag such as "
"``xprobe/xinference:v<version>`` for production."
msgstr ""
"``XINFERENCE_IMAGE`` : image à exécuter, par défaut "
"``xprobe/xinference:latest``. Épinglez un tag de version tel que "
"``xprobe/xinference:v<version>`` en production."

#: ../../source/getting_started/using_docker_compose.rst:63
msgid ""
"``XINFERENCE_PORT``: host port of the RESTful API / Web UI, defaults to "
"``9997``."
msgstr ""
"``XINFERENCE_PORT`` : port hôte de l'API RESTful / de l'interface Web, "
"par défaut ``9997``."

#: ../../source/getting_started/using_docker_compose.rst:64
msgid ""
"``XINFERENCE_MODEL_SRC``: model download source, ``huggingface`` "
"(default) or ``modelscope``."
msgstr ""
"``XINFERENCE_MODEL_SRC`` : source de téléchargement des modèles, "
"``huggingface`` (par défaut) ou ``modelscope``."

#: ../../source/getting_started/using_docker_compose.rst:65
msgid ""
"``XINFERENCE_SHM_SIZE``: shared memory size, defaults to ``8gb``. "
"Increase for multi-GPU inference."
msgstr ""
"``XINFERENCE_SHM_SIZE`` : taille de la mémoire partagée, par défaut "
"``8gb``. Augmentez-la pour l'inférence multi-GPU."

#: ../../source/getting_started/using_docker_compose.rst:66
msgid "``XINFERENCE_LOG_LEVEL``: log level, defaults to ``info``."
msgstr "``XINFERENCE_LOG_LEVEL`` : niveau de journalisation, par défaut ``info``."

#: ../../source/getting_started/using_docker_compose.rst:67
msgid ""
"``XINFERENCE_HOME_DIR`` / ``XINFERENCE_HF_CACHE_DIR`` / "
"``XINFERENCE_MODELSCOPE_CACHE_DIR``: persistence locations. They default "
"to named Docker volumes; point them at absolute host paths to reuse "
"existing model caches, in the same way as described in "
":ref:`using_docker_image`."
msgstr ""
"``XINFERENCE_HOME_DIR`` / ``XINFERENCE_HF_CACHE_DIR`` / "
"``XINFERENCE_MODELSCOPE_CACHE_DIR`` : emplacements de persistance. Par "
"défaut, il s'agit de volumes Docker nommés ; pointez-les vers des chemins"
" absolus de l'hôte pour réutiliser des caches de modèles existants, de la"
" même manière que décrit dans :ref:`using_docker_image`."

#: ../../source/getting_started/using_docker_compose.rst:68
msgid ""
"``XINFERENCE_WHEELS_DIR`` / ``XINFERENCE_PYPISERVER_PORT`` / "
"``XINFERENCE_PYPISERVER_IMAGE``: offline profile settings, see below."
msgstr ""
"``XINFERENCE_WHEELS_DIR`` / ``XINFERENCE_PYPISERVER_PORT`` / "
"``XINFERENCE_PYPISERVER_IMAGE`` : paramètres du profil hors ligne, voir "
"ci-dessous."

#: ../../source/getting_started/using_docker_compose.rst:70
msgid ""
"For other runtime options (authentication, OpenTelemetry, health-check "
"tuning, ...), add the corresponding variables under the ``environment:`` "
"section of ``docker-compose.yml``. See :ref:`environments` for the full "
"list."
msgstr ""
"Pour les autres options d'exécution (authentification, OpenTelemetry, "
"réglage des vérifications de santé, ...), ajoutez les variables "
"correspondantes dans la section ``environment:`` de ``docker-"
"compose.yml``. Voir :ref:`environments` pour la liste complète."

#: ../../source/getting_started/using_docker_compose.rst:76
msgid "CPU-only Deployment"
msgstr "Déploiement CPU uniquement"

#: ../../source/getting_started/using_docker_compose.rst:77
msgid ""
"On hosts without NVIDIA GPUs, apply the CPU override file, which switches"
" the image to the ``-cpu`` variant and removes the GPU reservation:"
msgstr ""
"Sur les hôtes sans GPU NVIDIA, appliquez le fichier de surcharge CPU, qui"
" bascule l'image vers la variante ``-cpu`` et supprime la réservation de "
"GPU :"

#: ../../source/getting_started/using_docker_compose.rst:86
msgid "Health Check and Restart Policy"
msgstr "Vérification de santé et politique de redémarrage"

#: ../../source/getting_started/using_docker_compose.rst:87
msgid ""
"The ``xinference`` service reports health through the ``/status`` "
"endpoint and restarts automatically unless explicitly stopped (``restart:"
" unless-stopped``). ``docker compose ps`` shows the health state; "
"orchestration on top of compose can rely on it."
msgstr ""
"Le service ``xinference`` rapporte son état de santé via le point de "
"terminaison ``/status`` et redémarre automatiquement sauf s'il est "
"explicitement arrêté (``restart: unless-stopped``). ``docker compose ps``"
" affiche l'état de santé ; une orchestration au-dessus de compose peut "
"s'y fier."

#: ../../source/getting_started/using_docker_compose.rst:93
msgid "Offline / Air-gapped Deployment"
msgstr "Déploiement hors ligne / isolé (air-gapped)"

#: ../../source/getting_started/using_docker_compose.rst:94
msgid ""
"By default Xinference installs the extra Python packages declared by a "
"model at launch time into a per-model virtual environment (controlled by "
"``XINFERENCE_ENABLE_VIRTUAL_ENV``, see :ref:`environments`). On a host "
"without Internet access these installs would fail."
msgstr ""
"Par défaut, Xinference installe les paquets Python supplémentaires "
"déclarés par un modèle au moment de son lancement dans un environnement "
"virtuel propre à chaque modèle (contrôlé par "
"``XINFERENCE_ENABLE_VIRTUAL_ENV``, voir :ref:`environments`). Sur un hôte"
" sans accès à Internet, ces installations échoueraient."

#: ../../source/getting_started/using_docker_compose.rst:98
msgid ""
"The ``offline`` compose profile solves this by starting a private PyPI "
"server (`pypiserver <https://github.com/pypiserver/pypiserver>`_) next to"
" Xinference. It serves wheels from the local ``./wheels`` directory, and "
"the offline configuration points every runtime ``pip`` / ``uv`` "
"invocation inside the Xinference container at it."
msgstr ""
"Le profil compose ``offline`` résout ce problème en démarrant un serveur "
"PyPI privé (`pypiserver <https://github.com/pypiserver/pypiserver>`_) aux"
" côtés de Xinference. Il sert les wheels depuis le répertoire local "
"``./wheels``, et la configuration hors ligne fait pointer chaque "
"invocation ``pip`` / ``uv`` exécutée dans le conteneur Xinference vers ce"
" serveur."

#: ../../source/getting_started/using_docker_compose.rst:104
msgid "Step 1: Prepare wheels on an Internet-connected machine"
msgstr "Étape 1 : préparer les wheels sur une machine connectée à Internet"

#: ../../source/getting_started/using_docker_compose.rst:105
msgid ""
"Download the wheels of every package your models declare in their "
"``virtualenv`` section (shown on each model card in the Web UI, or in the"
" built-in model JSON specs). The GPU image runs Python 3.12 on "
"``x86_64``:"
msgstr ""
"Téléchargez les wheels de chaque paquet que vos modèles déclarent dans "
"leur section ``virtualenv`` (affichée sur chaque fiche de modèle dans "
"l'interface Web, ou dans les spécifications JSON des modèles intégrés). "
"L'image GPU exécute Python 3.12 sur ``x86_64`` :"

#: ../../source/getting_started/using_docker_compose.rst:118
msgid ""
"Copy the resulting ``wheels`` directory into "
"``xinference/deploy/docker/wheels`` on the offline host. Also transfer "
"the Docker images (``docker save`` / ``docker load``): the Xinference "
"image and ``pypiserver/pypiserver:v2.3.2``."
msgstr ""
"Copiez le répertoire ``wheels`` obtenu dans "
"``xinference/deploy/docker/wheels`` sur l'hôte hors ligne. Transférez "
"également les images Docker (``docker save`` / ``docker load``) : l'image"
" Xinference et ``pypiserver/pypiserver:v2.3.2``."

#: ../../source/getting_started/using_docker_compose.rst:122
msgid ""
"On Linux hosts, grant the pypiserver container user (UID 9898) access to "
"the directory — its entrypoint requires read/write/execute permission "
"bits, although the volume itself is mounted read-only:"
msgstr ""
"Sur les hôtes Linux, accordez à l'utilisateur du conteneur pypiserver "
"(UID 9898) l'accès au répertoire — son point d'entrée exige les bits de "
"permission lecture/écriture/exécution, bien que le volume lui-même soit "
"monté en lecture seule :"

#: ../../source/getting_started/using_docker_compose.rst:131
msgid "Step 2: Enable the offline configuration"
msgstr "Étape 2 : activer la configuration hors ligne"

#: ../../source/getting_started/using_docker_compose.rst:136
msgid "Then open ``pip.conf`` and uncomment the three lines of the offline block:"
msgstr ""
"Ouvrez ensuite ``pip.conf`` et décommentez les trois lignes du bloc hors "
"ligne :"

#: ../../source/getting_started/using_docker_compose.rst:147
msgid ""
"Both pieces are required because they cover different code paths. "
"``pip.conf`` feeds Xinference's pip-config inheritance, which passes the "
"private index explicitly to the per-model virtual-env installer; the "
"``UV_*`` variables in ``offline.env`` cover ``uv`` invocations that do "
"not carry index flags (such as the dependency-resolution dry-run). "
"Removing either half breaks the offline install chain."
msgstr ""
"Les deux éléments sont nécessaires car ils couvrent des chemins de code "
"différents. ``pip.conf`` alimente l'héritage de configuration pip de "
"Xinference, qui transmet explicitement l'index privé à l'installateur "
"d'environnements virtuels par modèle ; les variables ``UV_*`` de "
"``offline.env`` couvrent les invocations de ``uv`` qui ne portent pas de "
"drapeaux d'index (comme le dry-run de résolution des dépendances). "
"Supprimer l'une des deux moitiés casse la chaîne d'installation hors "
"ligne."

#: ../../source/getting_started/using_docker_compose.rst:154
msgid "Step 3: Start with the offline profile"
msgstr "Étape 3 : démarrer avec le profil hors ligne"

#: ../../source/getting_started/using_docker_compose.rst:159
msgid ""
"Or set ``COMPOSE_PROFILES=offline`` in ``.env`` to omit the ``--profile``"
" flag. Combine with the CPU override if needed:"
msgstr ""
"Ou définissez ``COMPOSE_PROFILES=offline`` dans ``.env`` pour omettre le "
"drapeau ``--profile``. Combinez avec la surcharge CPU si nécessaire :"

#: ../../source/getting_started/using_docker_compose.rst:166
msgid ""
"The private index is also published on the host (default port ``8080``), "
"so other machines on the same network can reuse it with ``pip install -i "
"http://<host>:8080/simple ...``."
msgstr ""
"L'index privé est également publié sur l'hôte (port par défaut ``8080``),"
" de sorte que d'autres machines du même réseau peuvent le réutiliser avec"
" ``pip install -i http://<host>:8080/simple ...``."

#: ../../source/getting_started/using_docker_compose.rst:171
msgid ""
"When launching models with the **vLLM** or **SGLang** engines, Xinference"
" by default resolves some dependencies from hardcoded public indexes "
"(``wheels.vllm.ai``, ``download.pytorch.org``). The offline ``pip.conf`` "
"above overrides them with the private index, which means those wheels "
"must be present in ``./wheels`` — mirror the required ``vllm`` / "
"``torch`` CUDA wheels when preparing Step 1. Alternatively, set "
"``XINFERENCE_ENABLE_VIRTUAL_ENV=0`` in ``offline.env`` to skip runtime "
"installs entirely and rely on the packages baked into the image."
msgstr ""
"Lors du lancement de modèles avec les moteurs **vLLM** ou **SGLang**, "
"Xinference résout par défaut certaines dépendances depuis des index "
"publics codés en dur (``wheels.vllm.ai``, ``download.pytorch.org``). Le "
"``pip.conf`` hors ligne ci-dessus les remplace par l'index privé, ce qui "
"signifie que ces wheels doivent être présents dans ``./wheels`` — mettez "
"en miroir les wheels CUDA ``vllm`` / ``torch`` requis lors de la "
"préparation de l'étape 1. Vous pouvez aussi définir "
"``XINFERENCE_ENABLE_VIRTUAL_ENV=0`` dans ``offline.env`` pour ignorer "
"entièrement les installations à l'exécution et vous reposer sur les "
"paquets intégrés à l'image."

#: ../../source/getting_started/using_docker_compose.rst:180
msgid "Offline model weights"
msgstr "Poids de modèles hors ligne"

#: ../../source/getting_started/using_docker_compose.rst:181
msgid ""
"The offline configuration sets ``HF_HUB_OFFLINE=1`` and "
"``TRANSFORMERS_OFFLINE=1``, so model weights are read from the local "
"cache only. Populate the cache before going offline, either by pointing "
"the cache variables in ``.env`` at host directories that already contain "
"the models, or by launching each model once on a connected host and "
"copying the volumes. Models can also be loaded from arbitrary local paths"
" by registering custom models or passing ``--model-path``."
msgstr ""
"La configuration hors ligne définit ``HF_HUB_OFFLINE=1`` et "
"``TRANSFORMERS_OFFLINE=1``, de sorte que les poids des modèles sont lus "
"uniquement depuis le cache local. Remplissez le cache avant de passer "
"hors ligne, soit en faisant pointer les variables de cache de ``.env`` "
"vers des répertoires de l'hôte contenant déjà les modèles, soit en "
"lançant chaque modèle une fois sur un hôte connecté puis en copiant les "
"volumes. Les modèles peuvent aussi être chargés depuis des chemins locaux"
" arbitraires en enregistrant des modèles personnalisés ou en passant "
"``--model-path``."

#: ../../source/getting_started/using_docker_compose.rst:188
msgid "Enforced network isolation (optional)"
msgstr "Isolation réseau forcée (optionnel)"

#: ../../source/getting_started/using_docker_compose.rst:189
msgid ""
"The offline configuration redirects every download to local sources, but "
"by itself it does not prevent the containers from reaching the Internet "
"if the host happens to have connectivity. To *guarantee* isolation at the"
" network level, add the air-gap override, which moves Xinference and the "
"private PyPI server onto an ``internal`` Docker network with no external "
"routing:"
msgstr ""
"La configuration hors ligne redirige tous les téléchargements vers des "
"sources locales, mais elle n'empêche pas à elle seule les conteneurs "
"d'atteindre Internet si l'hôte dispose d'une connectivité. Pour "
"*garantir* l'isolation au niveau du réseau, ajoutez la surcharge air-gap,"
" qui place Xinference et le serveur PyPI privé sur un réseau Docker "
"``internal`` sans routage externe :"

#: ../../source/getting_started/using_docker_compose.rst:199
msgid ""
"Because Docker does not publish ports of internal-only networks, the "
"override adds a minimal TCP gateway (``alpine/socat``) that forwards the "
"API port from the host into the isolated network. The gateway only relays"
" inbound traffic to ``xinference:9997``; the containers cannot use it as "
"an egress path. Remember to transfer the ``alpine/socat`` image to the "
"offline host along with the others."
msgstr ""
"Comme Docker ne publie pas les ports des réseaux internes, la surcharge "
"ajoute une passerelle TCP minimale (``alpine/socat``) qui transfère le "
"port de l'API depuis l'hôte vers le réseau isolé. La passerelle ne relaie"
" que le trafic entrant vers ``xinference:9997`` ; les conteneurs ne "
"peuvent pas l'utiliser comme chemin de sortie. N'oubliez pas de "
"transférer l'image ``alpine/socat`` sur l'hôte hors ligne avec les "
"autres."

#: ../../source/getting_started/using_docker_compose.rst:207
msgid ""
"In this mode the private PyPI server is not published on the host; it is "
"only reachable from containers inside the isolated network. Verify the "
"isolation from within the container — external requests must fail while "
"the private index stays reachable:"
msgstr ""
"Dans ce mode, le serveur PyPI privé n'est pas publié sur l'hôte ; il "
"n'est accessible que depuis les conteneurs du réseau isolé. Vérifiez "
"l'isolation depuis l'intérieur du conteneur — les requêtes externes "
"doivent échouer tandis que l'index privé reste accessible :"

#: ../../source/getting_started/using_docker_compose.rst:219
msgid "Smoke test"
msgstr "Test de fumée (smoke test)"

#: ../../source/getting_started/using_docker_compose.rst:229
msgid ""
"Then launch a model and watch ``docker compose logs -f xinference`` — "
"package installation logs should reference ``http://xinference-"
"pypiserver:8080/simple``."
msgstr ""
"Lancez ensuite un modèle et surveillez ``docker compose logs -f "
"xinference`` — les journaux d'installation de paquets doivent référencer "
"``http://xinference-pypiserver:8080/simple``."

