# 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/user_guide/audit_security.rst:5
msgid "Audit Logging and Security"
msgstr "Journalisation d'audit et sécurité"

#: ../../source/user_guide/audit_security.rst:7
msgid ""
"When the database-backed authentication system is enabled (the default, "
"see :ref:`user_guide_auth_system`), Xinference records an audit trail of "
"API activity and protects the API against brute-force attacks. "
"Administrators can inspect both from the web UI."
msgstr ""
"Lorsque le système d'authentification basé sur une base de données est "
"activé (le comportement par défaut, voir :ref:`user_guide_auth_system`), "
"Xinference enregistre une piste d'audit de l'activité API et protège "
"l'API contre les attaques par force brute. Les administrateurs peuvent "
"inspecter les deux depuis l'interface Web."

#: ../../source/user_guide/audit_security.rst:13
msgid "Audit logging"
msgstr "Journalisation d'audit"

#: ../../source/user_guide/audit_security.rst:15
msgid ""
"Protected and authenticated API activity is recorded as JSON lines in "
"``<XINFERENCE_LOG_DIR>/audit.log`` (``<XINFERENCE_HOME>/logs`` by "
"default). Files rotate daily (and by size) and are kept for "
"``XINFERENCE_AUDIT_LOG_RETENTION_DAYS`` days (default 90)."
msgstr ""
"L'activité API protégée et authentifiée est enregistrée sous forme de "
"lignes JSON dans ``<XINFERENCE_LOG_DIR>/audit.log`` "
"(``<XINFERENCE_HOME>/logs`` par défaut). Les fichiers font l'objet d'une "
"rotation quotidienne et selon leur taille, puis sont conservés pendant "
"``XINFERENCE_AUDIT_LOG_RETENTION_DAYS`` jours (90 par défaut)."

msgid ""
"This is an authentication and security audit trail, not a complete HTTP "
"access log. Xinference intentionally excludes ``/v1/audit/*``, "
"``/v1/cluster/auth``, ``/v1/cluster/ui_config``, ``/status``, and "
"``/v1/address``; public or bootstrap routes that do not pass through the "
"authenticated audit path may also be absent."
msgstr ""
"Il s'agit d'une piste d'audit d'authentification et de sécurité, et non "
"d'un journal complet des accès HTTP. Xinference exclut volontairement "
"``/v1/audit/*``, ``/v1/cluster/auth``, ``/v1/cluster/ui_config``, "
"``/status`` et ``/v1/address`` ; les routes publiques ou d'initialisation"
" qui ne passent pas par le chemin d'audit authentifié peuvent également "
"être absentes."

#: ../../source/user_guide/audit_security.rst:20
msgid "Each entry contains, among others:"
msgstr "Chaque entrée contient, entre autres :"

#: ../../source/user_guide/audit_security.rst:22
msgid ""
"``category``: ``inference`` (model calls such as ``/v1/chat/...``, "
"``/v1/embeddings``), ``auth`` (login/token endpoints), or ``admin`` "
"(everything else)."
msgstr ""
"``category`` : ``inference`` (appels de modèles tels que "
"``/v1/chat/...``, ``/v1/embeddings``), ``auth`` (points de terminaison de"
" connexion/token) ou ``admin`` (tout le reste)."

#: ../../source/user_guide/audit_security.rst:25
msgid ""
"``user``, ``auth_type``, ``api_key_name`` / ``api_key_prefix``: who made "
"the call and how it was authenticated."
msgstr ""
"``user``, ``auth_type``, ``api_key_name`` / ``api_key_prefix`` : qui a "
"effectué l'appel et comment il a été authentifié."

#: ../../source/user_guide/audit_security.rst:27
msgid ""
"``model_id`` / ``model_name`` / ``model_type``: the model involved, if "
"any."
msgstr ""
"``model_id`` / ``model_name`` / ``model_type`` : le modèle concerné, le "
"cas échéant."

#: ../../source/user_guide/audit_security.rst:28
msgid ""
"``endpoint``, ``status``, ``latency_ms``, ``client_ip``, ``node``, "
"``address``: what was called, the outcome, and where it ran."
msgstr ""
"``endpoint``, ``status``, ``latency_ms``, ``client_ip``, ``node``, "
"``address`` : ce qui a été appelé, le résultat et l'endroit où "
"l'exécution a eu lieu."

#: ../../source/user_guide/audit_security.rst:32
msgid "Audit Center"
msgstr "Centre d'audit"

#: ../../source/user_guide/audit_security.rst:34
msgid ""
"The **Audit Center** page of the web UI lets administrators search and "
"filter the audit trail (by time range, user, API key, model, category, "
"status, and client IP). It is backed by ``GET /v1/audit/search``, which "
"requires the ``admin`` permission."
msgstr ""
"La page **Centre d'audit** de l'interface Web permet aux administrateurs "
"de rechercher et de filtrer la piste d'audit (par plage temporelle, "
"utilisateur, clé API, modèle, catégorie, statut et IP cliente). Elle "
"s'appuie sur ``GET /v1/audit/search``, qui nécessite la permission "
"``admin``."

#: ../../source/user_guide/audit_security.rst:39
msgid ""
"By default the search reads the local ``audit.log``. If the "
"``XINFERENCE_ES_URL`` environment variable points at an Elasticsearch "
"cluster (e.g. with the audit log shipped by Filebeat), the search queries"
" Elasticsearch instead, using the index pattern from "
"``XINFERENCE_AUDIT_ES_INDEX`` (default ``xinference-audit-*``)."
msgstr ""
"Par défaut, la recherche lit le fichier local ``audit.log``. Si la "
"variable d'environnement ``XINFERENCE_ES_URL`` pointe vers un cluster "
"Elasticsearch (par ex. avec le journal d'audit expédié par Filebeat), la "
"recherche interroge Elasticsearch à la place, en utilisant le motif "
"d'index de ``XINFERENCE_AUDIT_ES_INDEX`` (par défaut ``xinference-"
"audit-*``)."

#: ../../source/user_guide/audit_security.rst:46
msgid "Brute-force protection"
msgstr "Protection contre la force brute"

#: ../../source/user_guide/audit_security.rst:48
msgid "Failed API-key authentication attempts are rate-limited on two levels:"
msgstr ""
"Les tentatives d'authentification par clé API échouées sont limitées en "
"débit à deux niveaux :"

#: ../../source/user_guide/audit_security.rst:50
msgid ""
"**Per IP**: an IP presenting invalid API keys is banned after "
"``XINFERENCE_RATE_LIMIT_IP_MAX_FAILURES`` failures (default 10) within "
"``XINFERENCE_RATE_LIMIT_IP_WINDOW_SECONDS`` (default 300), for "
"``XINFERENCE_RATE_LIMIT_IP_BAN_SECONDS`` (default 3600). Requests from a "
"banned IP are rejected with ``429 Too Many Requests``."
msgstr ""
"**Par IP** : une IP présentant des clés API invalides est bannie après "
"``XINFERENCE_RATE_LIMIT_IP_MAX_FAILURES`` échecs (10 par défaut) dans une"
" fenêtre de ``XINFERENCE_RATE_LIMIT_IP_WINDOW_SECONDS`` (300 par défaut),"
" pendant ``XINFERENCE_RATE_LIMIT_IP_BAN_SECONDS`` (3600 par défaut). Les "
"requêtes provenant d'une IP bannie sont rejetées avec ``429 Too Many "
"Requests``."

#: ../../source/user_guide/audit_security.rst:55
msgid ""
"**Per (IP, API key)**: repeated failures with one specific key from one "
"IP ban that combination after ``XINFERENCE_RATE_LIMIT_KEY_MAX_FAILURES`` "
"failures (default 5) within ``XINFERENCE_RATE_LIMIT_KEY_WINDOW_SECONDS`` "
"(default 300), for ``XINFERENCE_RATE_LIMIT_KEY_BAN_SECONDS`` (default "
"3600)."
msgstr ""
"**Par couple (IP, clé API)** : des échecs répétés avec une clé spécifique"
" depuis une même IP bannissent cette combinaison après "
"``XINFERENCE_RATE_LIMIT_KEY_MAX_FAILURES`` échecs (5 par défaut) dans une"
" fenêtre de ``XINFERENCE_RATE_LIMIT_KEY_WINDOW_SECONDS`` (300 par "
"défaut), pendant ``XINFERENCE_RATE_LIMIT_KEY_BAN_SECONDS`` (3600 par "
"défaut)."

#: ../../source/user_guide/audit_security.rst:61
msgid ""
"Individual API keys can override the key-level limits with the "
"``rate_limit_max_failures`` / ``rate_limit_window_seconds`` / "
"``rate_limit_ban_seconds`` fields when creating or updating the key."
msgstr ""
"Les clés API individuelles peuvent remplacer les limites au niveau de la "
"clé avec les champs ``rate_limit_max_failures`` / "
"``rate_limit_window_seconds`` / ``rate_limit_ban_seconds`` lors de la "
"création ou de la mise à jour de la clé."

#: ../../source/user_guide/audit_security.rst:66
msgid "Security Settings"
msgstr "Paramètres de sécurité"

#: ../../source/user_guide/audit_security.rst:68
msgid "The **Security Settings** page of the web UI lets administrators:"
msgstr ""
"La page **Paramètres de sécurité** de l'interface Web permet aux "
"administrateurs de :"

#: ../../source/user_guide/audit_security.rst:70
msgid "view and tune the rate-limit configuration at runtime,"
msgstr ""
"consulter et ajuster la configuration de limitation de débit à "
"l'exécution,"

#: ../../source/user_guide/audit_security.rst:71
msgid "list currently banned IPs and (IP, key) pairs,"
msgstr "lister les IP et les couples (IP, clé) actuellement bannis,"

#: ../../source/user_guide/audit_security.rst:72
msgid "lift bans individually or all at once."
msgstr "lever les bannissements individuellement ou tous à la fois."

#: ../../source/user_guide/audit_security.rst:74
msgid ""
"The equivalent REST endpoints live under ``/v1/admin/security/*`` (e.g. "
"``GET``/``PUT /v1/admin/security/rate-limit``, ``GET /v1/admin/security"
"/banned-ips``, ``POST /v1/admin/security/unban-ip``) and require the "
"``admin`` permission."
msgstr ""
"Les points de terminaison REST équivalents se trouvent sous "
"``/v1/admin/security/*`` (par ex. ``GET``/``PUT /v1/admin/security/rate-"
"limit``, ``GET /v1/admin/security/banned-ips``, ``POST /v1/admin/security"
"/unban-ip``) et nécessitent la permission ``admin``."

