diff --git a/src/dev/i18n_tools/bin/run_i18n_check.ts b/src/dev/i18n_tools/bin/run_i18n_check.ts index ff00148ab3012..f25257c3ec51b 100644 --- a/src/dev/i18n_tools/bin/run_i18n_check.ts +++ b/src/dev/i18n_tools/bin/run_i18n_check.ts @@ -110,7 +110,7 @@ run( }, { title: 'Checking Untracked i18n Messages outside defined namespaces', - enabled: (_) => !ignoreUntracked || !!(filterNamespaces && filterNamespaces.length), + enabled: (_) => !ignoreUntracked && !!(filterNamespaces && filterNamespaces.length), task: (context, task) => checkUntrackedNamespacesTask(context, task, { rootPaths }), }, { diff --git a/src/dev/i18n_tools/tasks/validate_translation_files/remove_outdated_translations.ts b/src/dev/i18n_tools/tasks/validate_translation_files/remove_outdated_translations.ts index a4815c17cac91..e4f9aae6b5277 100644 --- a/src/dev/i18n_tools/tasks/validate_translation_files/remove_outdated_translations.ts +++ b/src/dev/i18n_tools/tasks/validate_translation_files/remove_outdated_translations.ts @@ -67,26 +67,31 @@ const removeOutdatedMessages = ( 'outdatedMessages' | 'updatedMessages', Array<[string, string | { message: string }]> > => { - const outdatedMessages: Array<[string, string | { message: string }]> = []; - let updatedMessages = translationMessages; + return translationMessages.reduce( + (acc, [translatedId, translatedMessage]) => { + const messageDescriptor = extractedMessages.find(({ id }) => id === translatedId); + // removed from codebase + if (!messageDescriptor) { + acc.outdatedMessages.push([translatedId, translatedMessage]); + return acc; + } - updatedMessages = translationMessages.filter(([translatedId, translatedMessage]) => { - const messageDescriptor = extractedMessages.find(({ id }) => id === translatedId); - if (!messageDescriptor?.hasValuesObject) { - return true; - } - try { - verifyMessageDescriptor( - typeof translatedMessage === 'string' ? translatedMessage : translatedMessage.message, - messageDescriptor - ); - return true; - } catch (err) { - outdatedMessages.push([translatedId, translatedMessage]); - // failed to verify message against latest descriptor. remove from file. - return false; - } - }); + try { + verifyMessageDescriptor( + typeof translatedMessage === 'string' ? translatedMessage : translatedMessage.message, + messageDescriptor + ); + acc.updatedMessages.push([translatedId, translatedMessage]); + } catch (err) { + // failed to verify message against latest descriptor. remove from file. + acc.outdatedMessages.push([translatedId, translatedMessage]); + } - return { updatedMessages, outdatedMessages }; + return acc; + }, + { updatedMessages: [], outdatedMessages: [] } as Record< + 'outdatedMessages' | 'updatedMessages', + Array<[string, string | { message: string }]> + > + ); }; diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index d8cde2e6efb51..95fa3406d42dc 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -1,5 +1,80 @@ { - "formats": {}, + "formats": { + "number": { + "currency": { + "style": "currency" + }, + "percent": { + "style": "percent" + } + }, + "date": { + "short": { + "month": "numeric", + "day": "numeric", + "year": "2-digit" + }, + "medium": { + "month": "short", + "day": "numeric", + "year": "numeric" + }, + "long": { + "month": "long", + "day": "numeric", + "year": "numeric" + }, + "full": { + "weekday": "long", + "month": "long", + "day": "numeric", + "year": "numeric" + } + }, + "time": { + "short": { + "hour": "numeric", + "minute": "numeric" + }, + "medium": { + "hour": "numeric", + "minute": "numeric", + "second": "numeric" + }, + "long": { + "hour": "numeric", + "minute": "numeric", + "second": "numeric", + "timeZoneName": "short" + }, + "full": { + "hour": "numeric", + "minute": "numeric", + "second": "numeric", + "timeZoneName": "short" + } + }, + "relative": { + "years": { + "style": "long" + }, + "months": { + "style": "long" + }, + "days": { + "style": "long" + }, + "hours": { + "style": "long" + }, + "minutes": { + "style": "long" + }, + "seconds": { + "style": "long" + } + } + }, "messages": { "advancedSettings.advancedSettingsLabel": "Paramètres avancés", "advancedSettings.featureCatalogueTitle": "Personnalisez votre expérience Kibana : modifiez le format de date, activez le mode sombre, et bien plus encore.", @@ -8,7 +83,7 @@ "aiAssistantManagementSelection.aiAssistantSelectionPage.obsAssistant.manageSettingsButtonLabel": "Gérer les paramètres", "aiAssistantManagementSelection.aiAssistantSelectionPage.observabilityAi.thisFeatureIsDisabledCallOutLabel": "Cette fonctionnalité est désactivée.", "aiAssistantManagementSelection.aiAssistantSelectionPage.observabilityLabel": "Assistant d'IA Elastic pour Observability", - "aiAssistantManagementSelection.aiAssistantSelectionPage.securityAi.thisFeatureIsDisabledCallOutLabel": "Cette fonctionnalité est désactivée. Elle peut être activée dans Espaces > Fonctionnalités.", + "aiAssistantManagementSelection.aiAssistantSelectionPage.securityAi.thisFeatureIsDisabledCallOutLabel": "Cette fonctionnalité est désactivée. Vous pouvez l'activer à partir de Espaces > Fonctionnalités.", "aiAssistantManagementSelection.aiAssistantSelectionPage.securityAssistant.documentationLinkDescription": "Pour en savoir plus, consultez notre {documentation}.", "aiAssistantManagementSelection.aiAssistantSelectionPage.securityAssistant.manageSettingsButtonLabel": "Gérer les paramètres", "aiAssistantManagementSelection.aiAssistantSelectionPage.securityLabel": "Assistant d'IA Elastic pour Security", @@ -27,6 +102,41 @@ "aiAssistantManagementSelection.preferredAIAssistantTypeSettingValueNever": "Nulle part", "aiAssistantManagementSelection.preferredAIAssistantTypeSettingValueObservability": "Partout", "alertingTypes.builtinActionGroups.recovered": "Récupéré", + "alertsGrouping.unit": "{totalCount, plural, =1 {alerte} other {alertes}}", + "alertsUIShared.actiActionsonNotifyWhen.forEachOption": "Pour chaque alerte", + "alertsUIShared.actiActionsonNotifyWhen.summaryOption": "Résumé des alertes", + "alertsUIShared.actionForm.actionGroupRecoveredMessage": "Récupéré", + "alertsUIShared.actionVariables.alertActionGroupLabel": "Groupe d'actions de l'alerte ayant programmé les actions pour la règle.", + "alertsUIShared.actionVariables.alertActionGroupNameLabel": "Nom lisible par l'utilisateur du groupe d'actions de l'alerte ayant programmé les actions pour la règle.", + "alertsUIShared.actionVariables.alertConsecutiveMatchesLabel": "Le nombre de courses consécutives qui remplissent les conditions de la règle.", + "alertsUIShared.actionVariables.alertFlappingLabel": "Indicateur sur l'alerte spécifiant si le statut de l'alerte change fréquemment.", + "alertsUIShared.actionVariables.alertIdLabel": "ID de l'alerte ayant programmé les actions pour la règle.", + "alertsUIShared.actionVariables.alertUuidLabel": "UUID de l'alerte ayant programmé les actions pour la règle.", + "alertsUIShared.actionVariables.allAlertsCountLabel": "Décompte de toutes les alertes.", + "alertsUIShared.actionVariables.allAlertsDataLabel": "Tableau d'objets pour toutes les alertes.", + "alertsUIShared.actionVariables.dateLabel": "Date à laquelle la règle a programmé l'action.", + "alertsUIShared.actionVariables.kibanaBaseUrlLabel": "Valeur server.publicBaseUrl configurée ou chaîne vide si elle n'est pas configurée.", + "alertsUIShared.actionVariables.legacyAlertActionGroupLabel": "Cet élément a été déclassé au profit de {variable}.", + "alertsUIShared.actionVariables.legacyAlertActionGroupNameLabel": "Cet élément a été déclassé au profit de {variable}.", + "alertsUIShared.actionVariables.legacyAlertIdLabel": "Cet élément a été déclassé au profit de {variable}.", + "alertsUIShared.actionVariables.legacyAlertInstanceIdLabel": "Cet élément a été déclassé au profit de {variable}.", + "alertsUIShared.actionVariables.legacyAlertNameLabel": "Cet élément a été déclassé au profit de {variable}.", + "alertsUIShared.actionVariables.legacyParamsLabel": "Cet élément a été déclassé au profit de {variable}.", + "alertsUIShared.actionVariables.legacySpaceIdLabel": "Cet élément a été déclassé au profit de {variable}.", + "alertsUIShared.actionVariables.legacyTagsLabel": "Cet élément a été déclassé au profit de {variable}.", + "alertsUIShared.actionVariables.newAlertsCountLabel": "Décompte des nouvelles alertes.", + "alertsUIShared.actionVariables.newAlertsDataLabel": "Tableau d'objets pour les nouvelles alertes.", + "alertsUIShared.actionVariables.ongoingAlertsCountLabel": "Décompte des alertes en cours.", + "alertsUIShared.actionVariables.ongoingAlertsDataLabel": "Tableau d'objets pour les alertes en cours.", + "alertsUIShared.actionVariables.recoveredAlertsCountLabel": "Décompte des alertes récupérées.", + "alertsUIShared.actionVariables.recoveredAlertsDataLabel": "Tableau d'objets pour les alertes récupérées.", + "alertsUIShared.actionVariables.ruleIdLabel": "ID de la règle.", + "alertsUIShared.actionVariables.ruleNameLabel": "Nom de la règle.", + "alertsUIShared.actionVariables.ruleParamsLabel": "Les paramètres de la règle.", + "alertsUIShared.actionVariables.ruleSpaceIdLabel": "ID d'espace de la règle.", + "alertsUIShared.actionVariables.ruleTagsLabel": "Balises de la règle.", + "alertsUIShared.actionVariables.ruleTypeLabel": "Type de règle.", + "alertsUIShared.actionVariables.ruleUrlLabel": "L'URL d'accès à la règle qui a généré l'alerte. La chaîne sera vide si server.publicBaseUrl n'est pas configuré.", "alertsUIShared.alertFieldsTable.field": "Champ", "alertsUIShared.alertFieldsTable.filter.placeholder": "Filtre par Champ, Valeur ou Description...", "alertsUIShared.alertFieldsTable.value": "Valeur", @@ -34,6 +144,8 @@ "alertsUIShared.alertFilterControls.defaultControlDisplayNames.rule": "Règle", "alertsUIShared.alertFilterControls.defaultControlDisplayNames.status": "Statut", "alertsUIShared.alertFilterControls.defaultControlDisplayNames.tags": "Balises", + "alertsUIShared.checkActionTypeEnabled.actionTypeDisabledByConfigMessage": "Ce connecteur est désactivé par la configuration de Kibana.", + "alertsUIShared.checkActionTypeEnabled.actionTypeDisabledByLicenseMessage": "Ce connecteur requiert une licence {minimumLicenseRequired}.", "alertsUIShared.component.alertsSearchBar.placeholder": "Alertes de recherche (par exemple, kibana.alert.evaluation.threshold > 75)", "alertsUIShared.components.addMessageVariables.addRuleVariableTitle": "Ajouter une variable", "alertsUIShared.components.addMessageVariables.addVariablePopoverButton": "Ajouter une variable", @@ -54,10 +166,11 @@ "alertsUIShared.components.ruleTypeModal.noRuleTypesErrorTitle": "Aucun type de règles trouvé", "alertsUIShared.components.ruleTypeModal.searchPlaceholder": "Recherche", "alertsUIShared.components.ruleTypeModal.title": "Sélectionner le type de règle", + "alertsUIShared.disabledActionsWarningTitle": "Cette règle possède des actions qui sont désactivées", "alertsUIShared.filterGroup.contextMenu.reset": "Réinitialiser les contrôles", "alertsUIShared.filterGroup.contextMenu.resetTooltip": "Réinitialiser les contrôles aux paramètres d'usine", "alertsUIShared.filterGroup.filtersChangedBanner": "Les contrôles de filtre ont changé", - "alertsUIShared.filterGroup.filtersChangedTitle": "Les nouveaux contrôles de filtre de cette page sont différents de ceux que vous avez précédemment enregistrés. Vous pouvez enregistrer les modifications ou les ignorer.\n Si vous quittez cette fenêtre, ces modifications seront automatiquement ignorées", + "alertsUIShared.filterGroup.filtersChangedTitle": "Les nouveaux contrôles de filtre de cette page sont différents de ceux que vous avez précédemment enregistrés. Vous pouvez enregistrer les modifications ou les ignorer. Si vous quittez cette fenêtre, ces modifications seront automatiquement ignorées", "alertsUIShared.filterGroup.groupMenuTitle": "Menu de groupe de filtres", "alertsUIShared.filtersGroup.contextMenu.addControls": "Ajouter des contrôles", "alertsUIShared.filtersGroup.contextMenu.addControls.maxLimit": "Un maximum de 4 contrôles peut être ajouté.", @@ -68,8 +181,24 @@ "alertsUIShared.filtersGroup.discardChanges": "Abandonner les modifications", "alertsUIShared.filtersGroup.pendingChanges": "Enregistrer les modifications en attente", "alertsUIShared.filtersGroup.urlParam.arrayError": "Les paramètres d'URL du filtre de page doivent être un tableau", + "alertsUIShared.healthCheck.actionText": "En savoir plus.", + "alertsUIShared.healthCheck.alertsErrorText": "Pour créer une règle, vous devez activer les plug-ins d'alerting et d'actions.", + "alertsUIShared.healthCheck.alertsErrorTitle": "Vous devez activer Alerting et Actions", + "alertsUIShared.healthCheck.apiKeysAndEncryptionErrorText": "Vous devez activer les clés d'API et configurer une clé de chiffrement pour utiliser Alerting.", + "alertsUIShared.healthCheck.apiKeysDisabledErrorText": "Vous devez activer les clés d'API pour utiliser Alerting.", + "alertsUIShared.healthCheck.apiKeysDisabledErrorTitle": "Configuration supplémentaire requise", + "alertsUIShared.healthCheck.encryptionErrorText": "Vous devez configurer une clé de chiffrement pour utiliser Alerting.", + "alertsUIShared.healthCheck.encryptionErrorTitle": "Configuration supplémentaire requise", + "alertsUIShared.healthCheck.healthCheck.apiKeysAndEncryptionErrorTitle": "Configuration supplémentaire requise", + "alertsUIShared.hooks.useAlertDataView.fetchErrorMessage": "Impossible de charger la vue des données de l'alerte", + "alertsUIShared.hooks.useFindAlertsQuery.unableToFetchAlertsGroupingAggregations": "Impossible de récupérer les agrégations de groupement d'alertes", + "alertsUIShared.hooks.useFindAlertsQuery.unableToFindAlertsQueryMessage": "Impossible de trouver les alertes", "alertsUIShared.hooks.useLoadRuleTypesQuery.unableToLoadRuleTypesMessage": "Impossible de charger les types de règles", "alertsUIShared.hooks.useRuleAADFields.errorMessage": "Impossible de charger les champs d'alerte par type de règle", + "alertsUIShared.licenseCheck.actionTypeDisabledByConfigMessageTitle": "Cette fonctionnalité est désactivée par la configuration de Kibana.", + "alertsUIShared.licenseCheck.actionTypeDisabledByLicenseLinkTitle": "Afficher les options de licence", + "alertsUIShared.licenseCheck.actionTypeDisabledByLicenseMessageDescription": "Pour réactiver cette action, veuillez mettre à niveau votre licence.", + "alertsUIShared.licenseCheck.actionTypeDisabledByLicenseMessageTitle": "Cette fonctionnalité requiert une licence {minimumLicenseRequired}.", "alertsUIShared.maintenanceWindowCallout.fetchError": "La vérification visant à déterminer si les fenêtres de maintenance sont actives a échoué", "alertsUIShared.maintenanceWindowCallout.fetchErrorDescription": "Les notifications de règle sont arrêtées lorsque les fenêtres de maintenance sont en cours d'exécution.", "alertsUIShared.maintenanceWindowCallout.maintenanceWindowActive": "{activeWindowCount, plural, one {Une fenêtre de maintenance est} other {Des fenêtres de maintenance sont}} en cours d'exécution pour des règles de {categories}", @@ -89,20 +218,74 @@ "alertsUIShared.producerDisplayNames.slo": "SLO", "alertsUIShared.producerDisplayNames.stackAlerts": "Alertes de la suite", "alertsUIShared.producerDisplayNames.uptime": "Synthetics et Uptime", - "alertsUIShared.ruleForm.error.belowMinimumAlertDelayText": "Le délai d’alerte doit être supérieur à 1.", + "alertsUIShared.ruleActionsAlertsFilter.ActionAlertsFilterQueryPlaceholder": "Filtrer les alertes à l'aide de la syntaxe KQL", + "alertsUIShared.ruleActionsAlertsFilter.ActionAlertsFilterQueryToggleLabel": "Si l'alerte correspond à une requête", + "alertsUIShared.ruleActionsItem.actionErrorToolTip": "L’action contient des erreurs.", + "alertsUIShared.ruleActionsItem.actionUnableToLoadConnectorTitle": "Créez un connecteur et réessayez. Si vous ne parvenez pas à créer un connecteur, contactez votre administrateur système.", + "alertsUIShared.ruleActionsItem.actionUseAadTemplateFieldsLabel": "Utiliser les champs de modèle de l'index des alertes", + "alertsUIShared.ruleActionsItem.actionWarningsTitle": "1 avertissement", + "alertsUIShared.ruleActionsItem.existingAlertActionTypeEditTitle": "{actionConnectorName}", + "alertsUIShared.ruleActionsItem.runWhenGroupTitle": "Exécuter lorsque {groupName}", + "alertsUIShared.ruleActionsItem.summaryGroupTitle": "Résumé des alertes", + "alertsUIShared.ruleActionsNotifyWhen.actionFrequencyLabel": "Fréquence d'action", + "alertsUIShared.ruleActionsNotifyWhen.frequencyNotifyWhen.label": "Exécuter chaque", + "alertsUIShared.ruleActionsNotifyWhen.notifyWhenThrottleWarning": "Les intervalles d'action personnalisés ne peuvent pas être plus courts que l'intervalle de vérification de la règle", + "alertsUIShared.ruleActionsNotifyWhen.onActionGroupChange.description": "Actions exécutées si le statut de l'alerte change.", + "alertsUIShared.ruleActionsNotifyWhen.onActionGroupChange.display": "Lors de changements de statut", + "alertsUIShared.ruleActionsNotifyWhen.onActionGroupChange.label": "Lors de changements de statut", + "alertsUIShared.ruleActionsNotifyWhen.onActiveAlert.description": "Les actions sont exécutées si les conditions de règle sont remplies.", + "alertsUIShared.ruleActionsNotifyWhen.onActiveAlert.display": "Selon les intervalles de vérification", + "alertsUIShared.ruleActionsNotifyWhen.onActiveAlert.label": "Selon les intervalles de vérification", + "alertsUIShared.ruleActionsNotifyWhen.onThrottleInterval.description": "Les actions sont exécutées si les conditions de règle sont remplies.", + "alertsUIShared.ruleActionsNotifyWhen.onThrottleInterval.display": "Selon des intervalles d'action personnalisés", + "alertsUIShared.ruleActionsNotifyWhen.onThrottleInterval.label": "Selon des intervalles d'action personnalisés", + "alertsUIShared.ruleActionsNotifyWhen.summaryOrRulePerSelectRoleDescription": "Sélection du type de fréquence d'action", + "alertsUIShared.ruleActionsSetting.actionGroupNotSupported": "{actionGroupName} (non pris en charge actuellement)", + "alertsUIShared.ruleActionsSetting.actionGroupRunWhen": "Exécuter quand", + "alertsUIShared.ruleActionsSystemActionsItem.deleteActionAriaLabel": "supprimer l'action", + "alertsUIShared.ruleForm.actionsForm.publicBaseUrl": "server.publicBaseUrl n'est pas défini. Les URL générées seront relatives ou vides.", + "alertsUIShared.ruleForm.actionsForm.requiredFilterQuery": "Une requête personnalisée est requise.", + "alertsUIShared.ruleForm.actionTypeModalEmptyText": "Essayez une autre recherche ou modifiez vos paramètres de filtrage.", + "alertsUIShared.ruleForm.actionTypeModalEmptyTitle": "Aucun connecteur trouvé", + "alertsUIShared.ruleForm.actionTypeModalFilterAll": "Tous", + "alertsUIShared.ruleForm.actionTypeModalTitle": "Sélectionner un connecteur", + "alertsUIShared.ruleForm.circuitBreakerHideFullErrorText": "Masquer l'erreur en intégralité", + "alertsUIShared.ruleForm.circuitBreakerSeeFullErrorText": "Afficher l'erreur en intégralité", + "alertsUIShared.ruleForm.confirmRuleSaveCancelButtonText": "Annuler", + "alertsUIShared.ruleForm.confirmRuleSaveConfirmButtonText": "Enregistrer la règle", + "alertsUIShared.ruleForm.confirmRuleSaveMessageText": "Vous pouvez ajouter une action à tout moment.", + "alertsUIShared.ruleForm.confirmRuleSaveTitle": "Enregistrer la règle ne contenant aucune action ?", + "alertsUIShared.ruleForm.createErrorText": "Impossible de créer une règle.", + "alertsUIShared.ruleForm.createSuccessText": "Création de la règle \"{ruleName}\" effectuée", + "alertsUIShared.ruleForm.editErrorText": "Impossible de mettre à jour la règle.", + "alertsUIShared.ruleForm.editSuccessText": "Mise à jour de \"{ruleName}\" effectuée", + "alertsUIShared.ruleForm.error.belowMinimumAlertDelayText": "Le délai d'alerte doit être supérieur ou égal à 1.", "alertsUIShared.ruleForm.error.belowMinimumText": "L'intervalle doit être au minimum de {minimum}.", "alertsUIShared.ruleForm.error.requiredConsumerText": "La portée est requise.", "alertsUIShared.ruleForm.error.requiredIntervalText": "L'intervalle de vérification est requis.", "alertsUIShared.ruleForm.error.requiredNameText": "Le nom est requis.", "alertsUIShared.ruleForm.error.requiredRuleTypeIdText": "Le type de règle est requis.", "alertsUIShared.ruleForm.intervalWarningText": "Des intervalles inférieurs à {minimum} ne sont pas recommandés pour des raisons de performances.", + "alertsUIShared.ruleForm.modalSearchClearFiltersText": "Effacer les filtres", + "alertsUIShared.ruleForm.modalSearchPlaceholder": "Recherche", + "alertsUIShared.ruleForm.returnTitle": "Renvoyer", + "alertsUIShared.ruleForm.routeParamsErrorText": "Une erreur s'est produite lors du chargement du formulaire de la règle. Veuillez vérifier que le chemin est correct.", + "alertsUIShared.ruleForm.routeParamsErrorTitle": "Impossible de charger le formulaire de règle", "alertsUIShared.ruleForm.ruleActions.addActionText": "Ajouter une action", + "alertsUIShared.ruleForm.ruleActionsAlertsFilterTimeframeTimezoneLabel": "Fuseau horaire", + "alertsUIShared.ruleForm.ruleActionsAlertsFilterTimeframeToggleLabel": "Si l'alerte est générée pendant l'intervalle de temps", + "alertsUIShared.ruleForm.ruleActionsAlertsFilterTimeframeWeekdays": "Jours de la semaine", + "alertsUIShared.ruleForm.ruleActionsNoPermissionDescription": "Pour modifier les règles, vous devez avoir un accès en lecture aux actions et aux connecteurs.", + "alertsUIShared.ruleForm.ruleActionsNoPermissionTitle": "Privilèges manquants pour les actions et les connecteurs", + "alertsUIShared.ruleForm.ruleActionsTitle": "Actions", "alertsUIShared.ruleForm.ruleAlertDelay.alertDelayHelpText": "Une alerte n'est déclenchée que si le nombre spécifié d'exécutions consécutives remplit les conditions de la règle.", "alertsUIShared.ruleForm.ruleAlertDelay.alertDelayTitlePrefix": "Après une alerte", "alertsUIShared.ruleForm.ruleAlertDelay.alertDelayTitleSuffix": "correspondances consécutives", "alertsUIShared.ruleForm.ruleDefinition.advancedOptionsTitle": "Options avancées", "alertsUIShared.ruleForm.ruleDefinition.alertDelayDescription": "Définir le nombre d’exécutions consécutives pour lesquelles cette règle doit répondre aux conditions d'alerte avant qu'une alerte ne se déclenche", "alertsUIShared.ruleForm.ruleDefinition.alertDelayTitle": "Délai d'alerte", + "alertsUIShared.ruleForm.ruleDefinition.alertFlappingDetectionDescription": "Détectez les alertes qui passent rapidement de l'état actif à l'état récupéré et réduisez le bruit non souhaité de ces alertes instables", + "alertsUIShared.ruleForm.ruleDefinition.alertFlappingDetectionTitle": "Détection de bagotement d'alerte", "alertsUIShared.ruleForm.ruleDefinition.docLinkTitle": "Afficher la documentation", "alertsUIShared.ruleForm.ruleDefinition.loadingRuleTypeParamsTitle": "Chargement des paramètres de types de règles", "alertsUIShared.ruleForm.ruleDefinition.scheduleDescriptionText": "Définir la fréquence de vérification des conditions de l'alerte", @@ -110,10 +293,18 @@ "alertsUIShared.ruleForm.ruleDefinition.scheduleTooltipText": "Les vérifications sont mises en file d'attente ; elles seront exécutées au plus près de la valeur définie, en fonction de la capacité.", "alertsUIShared.ruleForm.ruleDefinition.scopeDescriptionText": "Sélectionnez les applications auxquelles associer le privilège de rôle correspondant", "alertsUIShared.ruleForm.ruleDefinition.scopeTitle": "Portée de la règle", + "alertsUIShared.ruleForm.ruleDefinitionTitle": "Définition de la règle", "alertsUIShared.ruleForm.ruleDetails.description": "Définissez un nom et des balises pour votre règle.", + "alertsUIShared.ruleForm.ruleDetails.ruleNameInputButtonAriaLabel": "Enregistrer le nom de la règle", "alertsUIShared.ruleForm.ruleDetails.ruleNameInputTitle": "Nom de règle", "alertsUIShared.ruleForm.ruleDetails.ruleTagsInputTitle": "Balises", + "alertsUIShared.ruleForm.ruleDetails.ruleTagsPlaceholder": "Ajouter des balises", "alertsUIShared.ruleForm.ruleDetails.title": "Nom et balises de la règle", + "alertsUIShared.ruleForm.ruleDetailsTitle": "Détails de la règle", + "alertsUIShared.ruleForm.ruleFormCancelModalCancel": "Annuler", + "alertsUIShared.ruleForm.ruleFormCancelModalConfirm": "Abandonner les modifications", + "alertsUIShared.ruleForm.ruleFormCancelModalDescription": "Vous ne pouvez pas récupérer de modifications non enregistrées.", + "alertsUIShared.ruleForm.ruleFormCancelModalTitle": "Abandonner les modifications non enregistrées apportées à la règle ?", "alertsUIShared.ruleForm.ruleFormConsumerSelection.apm": "APM et expérience utilisateur", "alertsUIShared.ruleForm.ruleFormConsumerSelection.consumerSelectComboBoxTitle": "Sélectionner une portée", "alertsUIShared.ruleForm.ruleFormConsumerSelection.consumerSelectTitle": "Visibilité du rôle", @@ -122,7 +313,53 @@ "alertsUIShared.ruleForm.ruleFormConsumerSelection.slo": "SLO", "alertsUIShared.ruleForm.ruleFormConsumerSelection.stackAlerts": "Règles de la Suite Elastic", "alertsUIShared.ruleForm.ruleFormConsumerSelection.uptime": "Synthetics et Uptime", + "alertsUIShared.ruleForm.ruleNotFoundErrorText": "Une erreur s'est produite lors du chargement de la règle. Veuillez vous assurer que la règle existe et que vous y avez accès.", + "alertsUIShared.ruleForm.ruleNotFoundErrorTitle": "Impossible de charger la règle", + "alertsUIShared.ruleForm.rulePage.ruleNameAriaLabelText": "Modifier le nom de la règle", + "alertsUIShared.ruleForm.rulePageFooter.cancelText": "Annuler", + "alertsUIShared.ruleForm.rulePageFooter.createText": "Créer une règle", + "alertsUIShared.ruleForm.rulePageFooter.saveText": "Enregistrer la règle", + "alertsUIShared.ruleForm.rulePageFooter.showRequestText": "Afficher la requête", "alertsUIShared.ruleForm.ruleSchedule.scheduleTitlePrefix": "Chaque", + "alertsUIShared.ruleForm.ruleTypeNotFoundErrorText": "Une erreur s'est produite lors du chargement du type de règle. Veuillez vous assurer que vous avez accès au type de règle sélectionné.", + "alertsUIShared.ruleForm.ruleTypeNotFoundErrorTitle": "Impossible de charger le type de règle", + "alertsUIShared.ruleForm.showRequestModal.headerTitle": "{requestType} requête de règle d'alerte", + "alertsUIShared.ruleForm.showRequestModal.headerTitleCreate": "Créer", + "alertsUIShared.ruleForm.showRequestModal.headerTitleEdit": "Modifier", + "alertsUIShared.ruleForm.showRequestModal.somethingWentWrongDescription": "Désolé, un problème est survenu.", + "alertsUIShared.ruleForm.showRequestModal.subheadingTitle": "La requête Kibana va {requestType} cette règle.", + "alertsUIShared.ruleForm.showRequestModal.subheadingTitleCreate": "créer", + "alertsUIShared.ruleForm.showRequestModal.subheadingTitleEdit": "modifier", + "alertsUIShared.ruleSettingsFlappingForm.flappingExternalLinkLabel": "Qu'est-ce que c'est ?", + "alertsUIShared.ruleSettingsFlappingForm.flappingLabel": "Détection des éléments instables", + "alertsUIShared.ruleSettingsFlappingForm.flappingOffContentRules": "Règles", + "alertsUIShared.ruleSettingsFlappingForm.flappingOffContentSettings": "Paramètres", + "alertsUIShared.ruleSettingsFlappingForm.flappingOffPopoverContent": "Accédez à {rules} > {settings} pour activer la détection d'instabilité pour l'ensemble des règles d'un espace. Vous pouvez ensuite personnaliser la période d'analyse et les valeurs seuils de chaque règle.", + "alertsUIShared.ruleSettingsFlappingForm.flappingOverrideConfiguration": "Personnaliser la configuration", + "alertsUIShared.ruleSettingsFlappingForm.offLabel": "DÉSACTIVÉ", + "alertsUIShared.ruleSettingsFlappingForm.onLabel": "ACTIVÉ", + "alertsUIShared.ruleSettingsFlappingForm.overrideLabel": "Personnalisé", + "alertsUIShared.ruleSettingsFlappingInputsProps.lookBackWindowHelp": "Nombre minimal d'exécutions pour lesquelles le seuil doit être atteint.", + "alertsUIShared.ruleSettingsFlappingInputsProps.lookBackWindowLabel": "Fenêtre d'historique d'exécution de la règle", + "alertsUIShared.ruleSettingsFlappingInputsProps.statusChangeThresholdHelp": "Nombre minimal de fois où une alerte doit changer d'état dans la fenêtre d'historique.", + "alertsUIShared.ruleSettingsFlappingInputsProps.statusChangeThresholdLabel": "Seuil de modification du statut d'alerte", + "alertsUIShared.ruleSettingsFlappingMessage.flappingOffMessage": "La détection de bagotement d'alerte est désactivée. Les alertes seront générées en fonction de l'intervalle de la règle, ce qui peut entraîner des volumes d'alertes plus importants.", + "alertsUIShared.ruleSettingsFlappingMessage.flappingSettingsDescription": "Cette règle détecte qu'une alerte est instable si son statut change au moins {statusChangeThreshold} au cours des derniers/dernières {lookBackWindow}.", + "alertsUIShared.ruleSettingsFlappingMessage.lookBackWindowLabelRuleRuns": "{amount, number} règle {amount, plural, one {exécute} other {exécutent}}", + "alertsUIShared.ruleSettingsFlappingMessage.spaceFlappingSettingsDescription": "L'ensemble des règles (de cet espace) détecte qu'une alerte est instable lorsque son statut change au moins {statusChangeThreshold} au cours des derniers/dernières {lookBackWindow}.", + "alertsUIShared.ruleSettingsFlappingMessage.statusChangeThresholdTimes": "{amount, number} {amount, plural, other {fois}}", + "alertsUIShared.ruleSettingsFlappingTitleTooltip.flappingOffContentRules": "Règles", + "alertsUIShared.ruleSettingsFlappingTitleTooltip.flappingOffContentSettings": "Paramètres", + "alertsUIShared.ruleSettingsFlappingTitleTooltip.flappingTitlePopover1": "Lorsque la {flappingDetection} est activée, les alertes qui passent rapidement de l'état actif à l'état récupéré sont identifiées comme \"instables\" et les notifications sont réduites.", + "alertsUIShared.ruleSettingsFlappingTitleTooltip.flappingTitlePopover2": "Le statut {alertStatus} définit une période (nombre minimum d'exécutions) utilisée dans l'algorithme de détection.", + "alertsUIShared.ruleSettingsFlappingTitleTooltip.flappingTitlePopover3": "Le paramètre {lookBack} indique le nombre minimum de fois que les alertes doivent changer d'état au cours de la période seuil pour être considérées comme des alertes instables.", + "alertsUIShared.ruleSettingsFlappingTitleTooltip.flappingTitlePopover4": "Accédez à {rules} > {settings} pour activer la détection d'instabilité pour l'ensemble des règles d'un espace. Vous pouvez ensuite personnaliser la période d'analyse et les valeurs seuils de chaque règle.", + "alertsUIShared.ruleSettingsFlappingTitleTooltip.flappingTitlePopoverAlertStatus": "seuil de modification du statut d'alerte", + "alertsUIShared.ruleSettingsFlappingTitleTooltip.flappingTitlePopoverFlappingDetection": "détection des éléments instables", + "alertsUIShared.ruleSettingsFlappingTitleTooltip.flappingTitlePopoverLookBack": "fenêtre d'historique d'exécution de la règle", + "alertsUIShared.ruleSettingsFlappingTitleTooltip.tooltipTitle": "Détection de bagotement d'alerte", + "alertsUIShared.technicalPreviewBadgeDescription": "Cette fonctionnalité est en version d'évaluation technique et pourra être modifiée ou retirée complètement dans une future version. Elastic s'efforcera de corriger tout problème, mais les fonctionnalités des versions d'évaluation technique ne sont pas soumises aux SLA de support des fonctionnalités officielles en disponibilité générale.", + "alertsUIShared.technicalPreviewBadgeLabel": "Version d'évaluation technique", "alertsUIShared.timeUnits.dayLabel": "{timeValue, plural, one {jour} other {jours}}", "alertsUIShared.timeUnits.hourLabel": "{timeValue, plural, one {heure} other {heures}}", "alertsUIShared.timeUnits.minuteLabel": "{timeValue, plural, one {minute} other {minutes}}", @@ -143,6 +380,11 @@ "autocomplete.seeDocumentation": "Consultez la documentation", "autocomplete.selectField": "Veuillez d'abord sélectionner un champ...", "autocomplete.showValueListModal": "Afficher la liste de valeurs", + "avcBanner.body": "Elastic Security passe avec brio le test de protection contre les malwares réalisé par AV-Comparatives", + "avcBanner.readTheBlog.link": "Lire le blog", + "avcBanner.title": "Protection à 100 % sans aucun faux positif.", + "bfetch.advancedSettings.disableBfetchCompressionDeprecation": "Ce paramètre est déclassé et sera supprimé dans la version 9.0 de Kibana.", + "bfetch.advancedSettings.disableBfetchDeprecation": "Ce paramètre est déclassé et sera supprimé dans la version 9.0 de Kibana.", "bfetch.disableBfetch": "Désactiver la mise en lots de requêtes", "bfetch.disableBfetchCompression": "Désactiver la compression par lots", "bfetch.disableBfetchCompressionDesc": "Vous pouvez désactiver la compression par lots. Cela permet de déboguer des requêtes individuelles, mais augmente la taille des réponses.", @@ -246,7 +488,7 @@ "cloud.deploymentDetails.modal.closeButtonLabel": "Fermer", "cloud.deploymentDetails.modal.learnMoreButtonLabel": "En savoir plus", "coloring.colorMapping.assignments.autoAssignedTermAriaLabel": "Cette couleur sera automatiquement affectée au premier terme qui ne correspond pas à toutes les autres affectations", - "coloring.colorMapping.assignments.autoAssignedTermPlaceholder": "Affecté automatiquement", + "coloring.colorMapping.assignments.autoAssignedTermPlaceholder": "Terme d'affectation automatique", "coloring.colorMapping.assignments.deleteAssignmentButtonLabel": "Supprimer cette affectation", "coloring.colorMapping.assignments.duplicateCategoryWarning": "Une autre couleur a déjà été affectée à cette catégorie. Seule la première affectation correspondante sera utilisée.", "coloring.colorMapping.colorChangesModal.categoricalModeDescription": "Basculer en mode de catégorie conduira à l'abandon de toutes vos modifications de couleurs personnalisées", @@ -277,7 +519,7 @@ "coloring.colorMapping.container.mapCurrentValuesButtonLabel": "Ajouter tous les termes non affectés", "coloring.colorMapping.container.mappingAssignmentHeader": "Affectations de couleurs", "coloring.colorMapping.container.mapValueButtonLabel": "Ajouter tous les termes non affectés", - "coloring.colorMapping.container.mapValuesPromptDescription.mapValuesPromptDetail": "Ajoutez de nouvelles affectations pour commencer à associer des termes de vos données à des couleurs spécifiques.", + "coloring.colorMapping.container.mapValuesPromptDescription.mapValuesPromptDetail": "Ajoutez une nouvelle affectation pour associer manuellement des termes à des couleurs spécifiées.", "coloring.colorMapping.container.OpenAdditionalActionsButtonLabel": "Ouvrir les actions d'affectation supplémentaires", "coloring.colorMapping.container.unassignedTermsMode.ReuseColorsLabel": "Palette de couleurs", "coloring.colorMapping.container.unassignedTermsMode.ReuseGradientLabel": "Gradient", @@ -324,10 +566,14 @@ "console.autocompleteSuggestions.endpointLabel": "point de terminaison", "console.autocompleteSuggestions.methodLabel": "méthode", "console.autocompleteSuggestions.paramLabel": "param", + "console.closeFullscreenButton": "Fermer l'affichage pleine page", "console.consoleDisplayName": "Console", "console.consoleMenu.copyAsCurlFailedMessage": "Impossible de copier la requête en tant que cURL", "console.consoleMenu.copyAsCurlMessage": "Requête copiée en tant que cURL", - "console.deprecations.enabled.manualStepOneMessage": "Ouvrez le fichier de configuration kibana.yml.", + "console.consoleMenu.copyAsFailedMessage": "{requestsCount, plural, one {Une requête n'a pas pu être copiée} other {Plusieurs requêtes n'ont pas pu être copiées}} dans le presse-papiers", + "console.consoleMenu.copyAsSuccessMessage": "{requestsCount, plural, one {Une requête copiée} other {Plusieurs requêtes copiées}} dans le presse-papiers en tant que {language}", + "console.consoleMenu.missingDocumentationPage": "La page de documentation n'est pas encore disponible pour cette API.", + "console.deprecations.enabled.manualStepOneMessage": "Ouvrir le fichier de configuration kibana.yml.", "console.deprecations.enabled.manualStepTwoMessage": "Remplacez le paramètre \"console.enabled\" par \"console.ui.enabled\".", "console.deprecations.enabledMessage": "Pour empêcher les utilisateurs d'accéder à l'interface utilisateur de la console, utilisez le paramètre \"console.ui.enabled\" au lieu de \"console.enabled\".", "console.deprecations.enabledTitle": "Le paramètre \"console.enabled\" est déclassé", @@ -343,12 +589,39 @@ "console.deprecations.proxyFilterTitle": "Le paramètre \"console.proxyFilter\" est déclassé", "console.devToolsDescription": "Plutôt que l’interface cURL, utilisez une interface JSON pour exploiter vos données dans la console.", "console.devToolsTitle": "Interagir avec l'API Elasticsearch", + "console.editor.adjustPanelSizeAriaLabel": "Utilisez les flèches gauche et droite pour ajuster la taille des panneaux", + "console.editor.clearConsoleInputButton": "Effacer cette entrée", + "console.editor.clearConsoleOutputButton": "Effacer cette sortie", "console.embeddableConsole.customScreenReaderAnnouncement": "Il y a un nouveau repère de région nommé {landmarkHeading} avec des commandes de niveau de page à la fin du document.", - "console.embeddableConsole.landmarkHeading": "Console développeur", + "console.embeddableConsole.landmarkHeading": "Console développeur. Appuyez sur Entrée pour modifier. Une fois terminé, appuyez sur Échap pour arrêter la modification.", "console.embeddableConsole.title": "Console", - "console.historyPage.applyHistoryButtonLabel": "Appliquer", - "console.historyPage.clearHistoryButtonLabel": "Effacer", + "console.exportButton": "Exporter les requêtes", + "console.exportButtonTooltipLabel": "Exporter toutes les requêtes de la console vers un fichier TXT", + "console.helpButtonTooltipContent": "Aide", + "console.helpPopover.aboutConsoleButtonAriaLabel": "À propos du lien de la console", + "console.helpPopover.aboutConsoleLabel": "À propos de la console", + "console.helpPopover.aboutQueryDSLButtonAriaLabel": "À propos du lien QueryDSL", + "console.helpPopover.aboutQueryDSLLabel": "À propos de Query DSL", + "console.helpPopover.description": "La console est une interface utilisateur interactive qui vous permet d'appeler les API Elasticsearch et Kibana et d'afficher leurs réponses. Avec la syntaxe Query DSL et REST API, recherchez vos données, gérez les paramètres et bien plus encore.", + "console.helpPopover.rerunTourButtonAriaLabel": "Bouton de réexécution de la présentation des fonctionnalités", + "console.helpPopover.rerunTourLabel": "Réexécution de la présentation des fonctionnalités", + "console.helpPopover.title": "Console Elastic", + "console.historyPage.addAndRunButtonLabel": "Ajouter et exécuter", + "console.historyPage.applyHistoryButtonLabel": "Ajouter", + "console.historyPage.clearHistoryButtonLabel": "Effacer l'ensemble de l'historique", + "console.historyPage.emptyPromptBody": "Ce panneau d'historique affichera toutes les requêtes passées que vous avez exécutées, cela vous permettra de les examiner et de les réutiliser.", + "console.historyPage.emptyPromptFooterLabel": "Envie d'en savoir plus ?", + "console.historyPage.emptyPromptFooterLink": "Lire la documentation de la console", + "console.historyPage.emptyPromptTitle": "Aucune requête pour le moment", + "console.historyPage.monaco.noHistoryTextMessage": "# Aucun historique à afficher", + "console.historyPage.pageDescription": "Revoyez et réutilisez vos requêtes antérieures", "console.historyPage.pageTitle": "Historique", + "console.importButtonLabel": "Importer les requêtes", + "console.importButtonTooltipLabel": "Importer des requêtes dans l'éditeur depuis un fichier", + "console.importConfirmModal.body": "L'importation de ce fichier remplacera toutes les requêtes actuelles dans l'éditeur.", + "console.importConfirmModal.cancelButton": "Annuler", + "console.importConfirmModal.confirmButton": "Importer et remplacer", + "console.importConfirmModal.title": "Importer et remplacer les requêtes ?", "console.keyboardCommandActionLabel.autoIndent": "Appliquer les indentations", "console.keyboardCommandActionLabel.moveToLine": "Déplacer le curseur sur une ligne", "console.keyboardCommandActionLabel.moveToNextRequestEdge": "Accéder au début ou à la fin de la requête suivante", @@ -358,34 +631,130 @@ "console.loadingError.buttonLabel": "Recharger la console", "console.loadingError.message": "Essayez de recharger pour obtenir les données les plus récentes.", "console.loadingError.title": "Impossible de charger la console", + "console.monaco.loadFromDataUnrecognizedUrlErrorMessage": "Seules les URL avec le domaine Elastic (www.elastic.co) peuvent être chargées dans la console.", + "console.monaco.loadFromDataUriErrorMessage": "Impossible de charger les données du paramètre de requête load_from dans l'URL", + "console.monaco.outputTextarea": "Outils de développement de la console - Sortie", + "console.monaco.requestOptions.autoIndentButtonLabel": "Retrait automatique", + "console.monaco.requestOptions.copyAsUrlButtonLabel": "Copier en tant que", + "console.monaco.requestOptions.openDocumentationButtonLabel": "Ouvrir la référence d'API", + "console.monaco.sendRequestButtonTooltipAriaLabel": "Cliquer pour envoyer la requête", + "console.monaco.sendRequestButtonTooltipContent": "Cliquer pour envoyer la requête", "console.notification.clearHistory": "Effacer l'historique", "console.notification.disableSavingToHistory": "Désactiver l'enregistrement", + "console.notification.error.failedToReadFile": "Impossible de lire le fichier sélectionné.", + "console.notification.error.fileImportNoContent": "Le fichier sélectionné ne semble pas avoir de contenu. Sélectionnez un autre fichier.", + "console.notification.error.fileTooBigMessage": "La taille du fichier dépasse la limite de 2 Mo.", + "console.notification.fileImportedSuccessfully": "Le fichier sélectionné a été importé avec succès.", + "console.notification.monaco.error.couldNotSaveRequestTitle": "Impossible d'enregistrer la requête dans l'historique de la console.", + "console.notification.monaco.error.historyQuotaReachedMessage": "L'historique des requêtes est arrivé à saturation. Effacez l'historique de la console ou désactivez l'enregistrement de nouvelles requêtes.", + "console.notification.monaco.error.nonSupportedRequest": "La requête sélectionnée n'est pas valide.", + "console.notification.monaco.error.noRequestSelectedTitle": "Aucune requête sélectionnée. Sélectionnez une requête en positionnant le curseur dessus.", + "console.notification.monaco.error.unknownErrorTitle": "Erreur de requête inconnue", + "console.openFullscreenButton": "Ouvrir cette console en affichage pleine page", + "console.outputEmptyState.description": "Lorsque vous exécutez une requête dans le panneau de saisie, la réponse de sortie s'affichera ici.", + "console.outputEmptyState.docsLink": "Lire la documentation de la Console", + "console.outputEmptyState.learnMore": "Envie d'en savoir plus ?", + "console.outputEmptyState.title": "Entrer une nouvelle requête", + "console.outputPanel.copyOutputButtonTooltipAriaLabel": "Cliquez pour copier dans le presse-papier", + "console.outputPanel.copyOutputButtonTooltipContent": "Cliquez pour copier dans le presse-papier", + "console.outputPanel.copyOutputToast": "Sortie sélectionnée copiée dans le presse-papiers", + "console.outputPanel.copyOutputToastFailedMessage": "Impossible de copier la sortie sélectionnée dans le presse-papiers", "console.pageHeading": "Console", "console.requestInProgressBadgeText": "Requête en cours", "console.requestOptions.autoIndentButtonLabel": "Appliquer les indentations", "console.requestOptions.copyAsUrlButtonLabel": "Copier la commande cURL", "console.requestOptions.openDocumentationButtonLabel": "Afficher la documentation", "console.requestOptionsButtonAriaLabel": "Options de requête", + "console.requestPanel.contextMenu.defaultSelectedLanguage": "Définir par défaut", + "console.requestPanel.contextMenu.languageSelectorModalCancel": "Annuler", + "console.requestPanel.contextMenu.languageSelectorModalCopy": "Copier le code", + "console.requestPanel.contextMenu.languageSelectorModalTitle": "Sélectionner une langue", "console.requestTimeElapasedBadgeTooltipContent": "Temps écoulé", + "console.settingsPage.autocompleteRefreshSettingsDescription": "La console actualise les suggestions de saisie semi-automatique en interrogeant Elasticsearch. Utilisez des actualisations moins fréquentes pour réduire les coûts de bande passante.", + "console.settingsPage.autocompleteRefreshSettingsLabel": "Actualisation de la saisie semi-automatique", + "console.settingsPage.autocompleteSettingsLabel": "Saisie semi-automatique", "console.settingsPage.dataStreamsLabelText": "Flux de données", - "console.settingsPage.enableAccessibilityOverlayLabel": "Activer la superposition d’accessibilité", - "console.settingsPage.enableKeyboardShortcutsLabel": "Activer les raccourcis clavier", + "console.settingsPage.displaySettingsLabel": "Affichage", + "console.settingsPage.enableAccessibilityOverlayLabel": "Superposition d’accessibilité", + "console.settingsPage.enableKeyboardShortcutsLabel": "Raccourcis clavier", "console.settingsPage.fieldsLabelText": "Champs", "console.settingsPage.fontSizeLabel": "Taille de la police", + "console.settingsPage.generalSettingsLabel": "Paramètres généraux", "console.settingsPage.indicesAndAliasesLabelText": "Index et alias", + "console.settingsPage.manualRefreshLabel": "Actualiser manuellement les suggestions de saisie semi-automatique", + "console.settingsPage.offLabel": "Désactivé", + "console.settingsPage.onLabel": "Activé", + "console.settingsPage.pageDescription": "Personnalisez la console en fonction de votre workflow.", "console.settingsPage.pageTitle": "Paramètres de la console", - "console.settingsPage.refreshButtonLabel": "Actualiser les suggestions de saisie semi-automatique", + "console.settingsPage.refreshButtonLabel": "Actualiser", "console.settingsPage.refreshingDataLabel": "Fréquence d'actualisation", "console.settingsPage.refreshInterval.everyHourTimeInterval": "Toutes les heures", "console.settingsPage.refreshInterval.everyNMinutesTimeInterval": "Toutes les {value} {value, plural, one {minute} other {minutes}}", "console.settingsPage.refreshInterval.onceTimeInterval": "Une fois, au chargement de la console", "console.settingsPage.saveRequestsToHistoryLabel": "Enregistrer les requêtes dans l'historique", "console.settingsPage.templatesLabelText": "Modèles", - "console.settingsPage.tripleQuotesMessage": "Utiliser des guillemets triples dans la sortie", + "console.settingsPage.tripleQuotesMessage": "Guillemets triples dans la sortie", + "console.settingsPage.wrapLongLinesLabel": "Formater les longues lignes", + "console.shortcutKeys.keyAltOption": "Alt/Option", + "console.shortcutKeys.keyCtrlCmd": "Ctrl/Cmd", + "console.shortcutKeys.keyDownArrow": "Flèche vers le bas", + "console.shortcutKeys.keyEnter": "Entrée", + "console.shortcutKeys.keyEsc": "Échap", + "console.shortcutKeys.keyI": "I", + "console.shortcutKeys.keyL": "L", + "console.shortcutKeys.keyO": "O", + "console.shortcutKeys.keyOption": "Option", + "console.shortcutKeys.keyShift": "Déplacer", + "console.shortcutKeys.keySlash": "/", + "console.shortcutKeys.keySpace": "Espace", + "console.shortcutKeys.keyTab": "Onglet", + "console.shortcutKeys.keyUpArrow": "Flèche vers le haut", + "console.shortcuts.alternativeKeysOrDivider": "ou", + "console.shortcuts.autocompleteShortcutsSubtitle": "Raccourcis du menu de saisie semi-automatique", + "console.shortcuts.navigationShortcutsSubtitle": "Raccourcis de navigation", + "console.shortcuts.requestShortcutsSubtitle": "Demander des raccourcis", + "console.shortcutsButtonAriaLabel": "Raccourcis clavier", + "console.topNav.configTabDescription": "Config", + "console.topNav.configTabLabel": "Config", "console.topNav.historyTabDescription": "Historique", "console.topNav.historyTabLabel": "Historique", - "console.variablesPage.addButtonLabel": "Ajouter", + "console.topNav.shellTabDescription": "Shell", + "console.topNav.shellTabLabel": "Shell", + "console.tour.completeTourButton": "Terminé", + "console.tour.configStepContent": "Ajustez les paramètres de votre console et créez des variables pour personnaliser votre workflow.", + "console.tour.configStepTitle": "Personnaliser votre boîte à outils", + "console.tour.editorStepContent": "Saisissez une requête dans ce volet d'entrée et consultez la réponse dans le volet de sortie adjacent. Pour en savoir plus, consultez la {queryDslDocs}.", + "console.tour.editorStepTitle": "Lancez-vous dans les requêtes", + "console.tour.filesStepContent": "Exportez facilement vos requêtes de console vers un fichier ou importez celles que vous avez enregistrées précédemment.", + "console.tour.filesStepTitle": "Gérer les fichiers de la console", + "console.tour.historyStepContent": "Le panneau d'historique conserve une trace de vos requêtes antérieures, ce qui facilite leur révision et leur réexécution.", + "console.tour.historyStepTitle": "Consulter les requêtes antérieures", + "console.tour.nextStepButton": "Suivant", + "console.tour.shellStepContent": "La console est une interface utilisateur interactive qui vous permet d'appeler les API Elasticsearch et Kibana et d'afficher leurs réponses. Utilisez la syntaxe Query DSL pour rechercher vos données, gérer les paramètres et bien plus encore.", + "console.tour.shellStepTitle": "Bienvenue dans la Console", + "console.tour.skipTourButton": "Ignorer la visite", + "console.variablesButton": "Variables", + "console.variablesPage.addButtonLabel": "Ajouter une variable", + "console.variablesPage.addNew.cancelButton": "Annuler", + "console.variablesPage.addNew.submitButton": "Enregistrer les modifications", + "console.variablesPage.addNewVariableTitle": "Ajouter une nouvelle variable", + "console.variablesPage.deleteModal.cancelButtonText": "Annuler", + "console.variablesPage.deleteModal.confirmButtonText": "Supprimer la variable", + "console.variablesPage.deleteModal.description": "La suppression d'une variable est une opération irréversible.", + "console.variablesPage.deleteModal.title": "Voulez-vous vraiment continuer ?", + "console.variablesPage.editVariableForm.title": "Modifier la variable", + "console.variablesPage.form.namePlaceholderLabel": "exampleName", + "console.variablesPage.form.valueFieldLabel": "Valeur", + "console.variablesPage.form.valuePlaceholderLabel": "exampleValue", + "console.variablesPage.form.valueRequiredLabel": "La valeur est requise", + "console.variablesPage.form.variableNameFieldLabel": "Nom de la variable", + "console.variablesPage.form.variableNameInvalidLabel": "Seuls les lettres, les chiffres et les traits de soulignement sont autorisés", + "console.variablesPage.form.variableNameRequiredLabel": "Ceci est un champ requis", + "console.variablesPage.pageDescription": "Définissez des paramètres fictifs réutilisables pour les valeurs dynamiques dans vos requêtes.", "console.variablesPage.pageTitle": "Variables", + "console.variablesPage.table.noItemsMessage": "Aucune variable n'a encore été ajoutée", + "console.variablesPage.variablesTable.columns.deleteButton": "Supprimer {variable}", + "console.variablesPage.variablesTable.columns.editButton": "Modifier {variable}", "console.variablesPage.variablesTable.columns.valueHeader": "Valeur", "console.variablesPage.variablesTable.columns.variableHeader": "Nom de la variable", "contentManagement.contentEditor.activity.createdByLabelText": "Créé par", @@ -402,8 +771,25 @@ "contentManagement.contentEditor.metadataForm.readOnlyToolTip": "Veuillez contacter votre administrateur pour modifier ces détails", "contentManagement.contentEditor.metadataForm.tagsLabel": "Balises", "contentManagement.contentEditor.saveButtonLabel": "Mettre à jour {entityName}", + "contentManagement.contentEditor.viewsStats.noViewsTip": "Les vues sont comptées chaque fois qu'un utilisateur ouvre un tableau de bord", + "contentManagement.contentEditor.viewsStats.noViewsTipAriaLabel": "Informations supplémentaires", + "contentManagement.contentEditor.viewsStats.viewsLabel": "Vues", + "contentManagement.contentEditor.viewsStats.viewsLastNDaysLabel": "Vues ({n} derniers jours)", + "contentManagement.contentEditor.viewsStats.weekOfLabel": "Semaine du {date}", + "contentManagement.favorites.addFavoriteError": "Erreur lors de l'ajout aux Éléments avec étoiles", + "contentManagement.favorites.defaultEntityName": "élément", + "contentManagement.favorites.defaultEntityNamePlural": "éléments", + "contentManagement.favorites.favoriteButtonLabel": "Ajouter aux Éléments avec étoiles", + "contentManagement.favorites.noFavoritesIllustrationAlt": "Aucune illustration d'élément avec étoiles", + "contentManagement.favorites.noFavoritesMessageBody": "Suivez vos {entityNamePlural} les plus importants en les ajoutant à votre liste **En vedette**. Cliquez sur l'**icône étoile** **{starIcon}** située à côté d'un nom {entityName} afin qu'il s'affiche dans cet onglet.", + "contentManagement.favorites.noFavoritesMessageHeading": "Vous n'avez ajouté d'étoile à aucun {entityNamePlural}", + "contentManagement.favorites.noMatchingFavoritesMessageHeading": "Aucun {entityNamePlural} comportant une étoile ne correspond à votre recherche", + "contentManagement.favorites.removeFavoriteError": "Erreur lors de la suppression des Éléments avec étoiles", + "contentManagement.favorites.unfavoriteButtonLabel": "Supprimer des Éléments avec étoiles", "contentManagement.inspector.metadataForm.unableToSaveDangerMessage": "Impossible d'enregistrer {entityName}", "contentManagement.tableList.actionsDisabledLabel": "Actions désactivées pour cet élément", + "contentManagement.tableList.contentEditor.activityLabel": "Activité", + "contentManagement.tableList.contentEditor.activityLabelHelpText": "Les données liées à l'activité sont générées automatiquement et ne peuvent pas être mises à jour.", "contentManagement.tableList.createdByColumnTitle": "Créateur", "contentManagement.tableList.lastUpdatedColumnTitle": "Dernière mise à jour", "contentManagement.tableList.listing.createNewItemButtonLabel": "Créer {entityName}", @@ -428,6 +814,10 @@ "contentManagement.tableList.listing.tableSortSelect.headerLabel": "Trier par", "contentManagement.tableList.listing.tableSortSelect.nameAscLabel": "Nom A-Z", "contentManagement.tableList.listing.tableSortSelect.nameDescLabel": "Nom Z-A", + "contentManagement.tableList.listing.tableSortSelect.recentlyAccessedLabel": "Récemment consulté", + "contentManagement.tableList.listing.tableSortSelect.recentlyAccessedTip": "Les informations récemment consultées sont stockées localement dans votre navigateur et ne sont visibles que par vous.", + "contentManagement.tableList.listing.tableSortSelect.recentlyAccessedTipAriaLabel": "Informations supplémentaires", + "contentManagement.tableList.listing.tableSortSelect.sortingOptionsAriaLabel": "Options de tri", "contentManagement.tableList.listing.tableSortSelect.updatedAtAscLabel": "Mise à jour la moins récente", "contentManagement.tableList.listing.tableSortSelect.updatedAtDescLabel": "Mise à jour récente", "contentManagement.tableList.listing.unableToDeleteDangerMessage": "Impossible de supprimer la/le/les {entityName}(s)", @@ -438,6 +828,8 @@ "contentManagement.tableList.listing.userFilter.noCreators": "Aucun créateur", "contentManagement.tableList.mainColumnName": "Nom, description, balises", "contentManagement.tableList.managedItemNoEdit": "Elastic gère cet objet. Clonez-le pour effectuer des modifications.", + "contentManagement.tableList.tabsFilter.allTabLabel": "Tous", + "contentManagement.tableList.tabsFilter.favoriteTabLabel": "Éléments avec étoiles", "contentManagement.tableList.tagBadge.buttonLabel": "Bouton de balise {tagName}.", "contentManagement.tableList.tagFilterPanel.clearSelectionButtonLabelLabel": "Effacer la sélection", "contentManagement.tableList.tagFilterPanel.doneButtonLabel": "Terminé", @@ -447,12 +839,17 @@ "contentManagement.userProfiles.managedAvatarTip.avatarLabel": "Géré", "contentManagement.userProfiles.managedAvatarTip.avatarTooltip": "Cette entité {entityName} est créée et gérée par Elastic. Clonez-le pour effectuer des modifications.", "contentManagement.userProfiles.managedAvatarTip.defaultEntityName": "objet", - "contentManagement.userProfiles.noCreatorTip": "Les créateurs sont assignés lors de la création des objets (version 8.14 et versions ultérieures)", - "contentManagement.userProfiles.noUpdaterTip": "Le champ Mis à jour par est défini lors de la mise à jour des objets (version 8.14 et versions ultérieures)", + "contentManagement.userProfiles.noCreatorTip": "Les créateurs sont assignés lors de la création des objets", + "contentManagement.userProfiles.noUpdaterTip": "Le champ Mis à jour par est défini lors de la mise à jour des objets", + "controls.blockingError": "Une erreur s'est produite lors du chargement de ce contrôle.", + "controls.controlFactoryRegistry.factoryAlreadyExistsError": "Une usine de contrôle pour le type : {key} est déjà enregistrée.", + "controls.controlFactoryRegistry.factoryNotFoundError": "Aucune usine de contrôle n'a été trouvée pour le type : {key}", "controls.controlGroup.ariaActions.moveControlButtonAction": "Déplacer le contrôle {controlTitle}", + "controls.controlGroup.displayName": "Contrôles", "controls.controlGroup.floatingActions.clearTitle": "Effacer", "controls.controlGroup.floatingActions.editTitle": "Modifier", "controls.controlGroup.floatingActions.removeTitle": "Supprimer", + "controls.controlGroup.manageControl": "Modifier les paramètres du contrôle", "controls.controlGroup.manageControl.cancelTitle": "Annuler", "controls.controlGroup.manageControl.controlTypeSettings.formGroupDescription": "Paramètres personnalisés pour votre contrôle {controlType}.", "controls.controlGroup.manageControl.controlTypeSettings.formGroupTitle": "Paramètres {controlType}", @@ -461,7 +858,9 @@ "controls.controlGroup.manageControl.dataSource.controlTypeErrorMessage.rangeSlider": "Les curseurs ne sont compatibles qu'avec les champs de numéros.", "controls.controlGroup.manageControl.dataSource.controlTypErrorMessage.noField": "Sélectionnez d'abord un champ.", "controls.controlGroup.manageControl.dataSource.controlTypesTitle": "Type de contrôle", + "controls.controlGroup.manageControl.dataSource.dataViewListErrorTitle": "Erreur lors du chargement des vues de données", "controls.controlGroup.manageControl.dataSource.dataViewTitle": "Vue de données", + "controls.controlGroup.manageControl.dataSource.fieldListErrorTitle": "Erreur lors du chargement de la liste des champs", "controls.controlGroup.manageControl.dataSource.fieldTitle": "Champ", "controls.controlGroup.manageControl.dataSource.formGroupDescription": "Sélectionnez la vue de données et le champ pour lesquels vous voulez créer un contrôle.", "controls.controlGroup.manageControl.dataSource.formGroupTitle": "Source de données", @@ -505,13 +904,14 @@ "controls.controlGroup.management.showApplySelections.tooltip": "Si cette option est désactivée, les sélections de contrôle ne seront appliquées qu'après avoir cliqué sur \"Appliquer\".", "controls.controlGroup.management.validate.title": "Valider les sélections utilisateur", "controls.controlGroup.management.validate.tooltip": "Mettez en évidence les sélections de contrôle qui n'aboutissent à aucune donnée.", + "controls.dataControl.fieldNotFound": "Impossible de localiser le champ : {fieldName}", "controls.frame.error.message": "Une erreur s'est produite. Voir plus", - "controls.optionsList.control.dateSeparator": "; ", + "controls.optionsList.control.dateSeparator": ";", "controls.optionsList.control.excludeExists": "NE PAS", "controls.optionsList.control.invalidSelectionWarningLabel": "{invalidSelectionCount} {invalidSelectionCount, plural, one {sélection ne renvoie} other {sélections ne renvoient}} aucun résultat.", "controls.optionsList.control.negate": "NON", "controls.optionsList.control.placeholder": "N'importe lequel", - "controls.optionsList.control.separator": ", ", + "controls.optionsList.control.separator": ",", "controls.optionsList.controlAndPopover.exists": "{negate, plural, one {Existe} other {Existent}}", "controls.optionsList.displayName": "Liste des options", "controls.optionsList.editor.additionalSettingsTitle": "Paramètres supplémentaires", @@ -549,6 +949,7 @@ "controls.optionsList.popover.loadingMore": "Chargement d'options supplémentaires...", "controls.optionsList.popover.prefixSearchPlaceholder": "Commence par...", "controls.optionsList.popover.selectedOptionsTitle": "Afficher uniquement les options sélectionnées", + "controls.optionsList.popover.selectionError": "Une erreur s'est produite lors de la création de votre sélection", "controls.optionsList.popover.selectionsEmpty": "Vous n'avez pas de sélections", "controls.optionsList.popover.sortBy.alphabetical": "Par ordre alphabétique", "controls.optionsList.popover.sortBy.date": "Par date", @@ -565,6 +966,7 @@ "controls.rangeSlider.control.invalidSelectionWarningLabel": "La plage sélectionnée n'a donné aucun résultat.", "controls.rangeSlider.editor.stepSizeTitle": "Taille de l'étape", "controls.rangeSlider.popover.noAvailableDataHelpText": "Il n'y a aucune donnée à afficher. Ajustez la plage temporelle et les filtres.", + "controls.rangeSliderControl.displayName": "Curseur de plage", "controls.timeSlider.nextLabel": "Fenêtre temporelle suivante", "controls.timeSlider.pauseLabel": "Pause", "controls.timeSlider.playButtonTooltip.disabled": "\"Appliquer automatiquement les sélections\" est désactivé dans les paramètres du contrôle.", @@ -572,11 +974,13 @@ "controls.timeSlider.previousLabel": "Fenêtre temporelle précédente", "controls.timeSlider.settings.pinStart": "Épingler le début", "controls.timeSlider.settings.unpinStart": "Désépingler le début", + "controls.timesliderControl.displayName": "Curseur temporel", "core.application.appContainer.loadingAriaLabel": "Chargement de l'application", "core.application.appContainer.plainSpinner.loadingAriaLabel": "Chargement de l'application", "core.application.appNotFound.pageDescription": "Aucune application détectée pour cette URL. Revenez en arrière ou sélectionnez une application dans le menu.", "core.application.appNotFound.title": "Application introuvable", "core.application.appRenderError.defaultTitle": "Erreur d'application", + "core.chrome.euiDevProviderWarning": "Les composants Kibana doivent être intégrés dans un fournisseur React Context pour obtenir l'ensemble des fonctionnalités et une prise en charge adéquate des thèmes. Voir {link}.", "core.chrome.legacyBrowserWarning": "Votre navigateur ne satisfait pas aux exigences de sécurité de Kibana.", "core.deprecations.deprecations.fetchFailed.manualStepOneMessage": "Vérifiez le message d'erreur dans les logs de serveur Kibana.", "core.deprecations.deprecations.fetchFailedMessage": "Impossible d'extraire les informations de déclassement pour le plug-in {domainId}.", @@ -620,7 +1024,9 @@ "core.euiCodeBlockCopy.copy": "Copier", "core.euiCodeBlockFullScreen.fullscreenCollapse": "Réduire", "core.euiCodeBlockFullScreen.fullscreenExpand": "Développer", + "core.euiCollapsedItemActions.allActions": "Toutes les actions, ligne {index}", "core.euiCollapsedItemActions.allActionsDisabled": "Les actions individuelles sont désactivées lorsque plusieurs lignes sont sélectionnées.", + "core.euiCollapsedItemActions.allActionsTooltip": "Toutes les actions", "core.euiCollapsedNavButton.ariaLabelButtonIcon": "{title}, menu de navigation rapide", "core.euiCollapsibleNavBeta.ariaLabel": "Menu du site", "core.euiCollapsibleNavButton.ariaLabelClose": "Fermer la navigation", @@ -642,6 +1048,7 @@ "core.euiColumnActions.moveLeft": "Déplacer vers la gauche", "core.euiColumnActions.moveRight": "Déplacer vers la droite", "core.euiColumnActions.sort": "Trier {schemaLabel}", + "core.euiColumnActions.unsort": "Ne pas trier {schemaLabel}", "core.euiColumnSelector.button": "Colonnes", "core.euiColumnSelector.dragHandleAriaLabel": "Faire glisser la poignée", "core.euiColumnSelector.hideAll": "Tout masquer", @@ -674,9 +1081,11 @@ "core.euiDataGrid.screenReaderNotice": "Cette cellule contient du contenu interactif.", "core.euiDataGridCell.expansionEnterPrompt": "Appuyez sur Entrée pour développer cette cellule.", "core.euiDataGridCell.focusTrapEnterPrompt": "Appuyez sur Entrée pour interagir avec le contenu de cette cellule.", + "core.euiDataGridCell.focusTrapExitPrompt": "Vous avez quitté le contenu de la cellule.", "core.euiDataGridCell.position": "{columnName}, colonne {columnIndex}, ligne {rowIndex}", "core.euiDataGridCellActions.expandButtonTitle": "Cliquez ou appuyez sur Entrée pour interagir avec le contenu de la cellule.", - "core.euiDataGridHeaderCell.actionsButtonAriaLabel": "{title}. Cliquez pour afficher les actions d'en-tête de colonne", + "core.euiDataGridHeaderCell.actionsButtonAriaLabel": "{title}. Cliquez pour afficher les actions d'en-tête de colonne.", + "core.euiDataGridHeaderCell.actionsEnterKeyInstructions": "Appuyez sur la touche Entrée pour afficher les actions de cette colonne", "core.euiDataGridHeaderCell.actionsPopoverScreenReaderText": "Pour naviguer dans la liste des actions de la colonne, appuyez sur la touche Tab ou sur les flèches vers le haut et vers le bas.", "core.euiDataGridHeaderCell.sortedByAscendingFirst": "Trié par {columnId}, ordre croissant", "core.euiDataGridHeaderCell.sortedByAscendingMultiple": ", puis par {columnId}, ordre croissant", @@ -720,12 +1129,15 @@ "core.euiDisplaySelector.rowHeightLabel": "Hauteur de la ligne", "core.euiDualRange.sliderScreenReaderInstructions": "Vous êtes dans un curseur de plage personnalisé. Utilisez les flèches vers le haut et vers le bas pour modifier la valeur minimale. Appuyez sur Tabulation pour interagir avec la valeur maximale.", "core.euiErrorBoundary.error": "Erreur", - "core.euiExternalLinkIcon.newTarget.screenReaderOnlyText": "(s’ouvre dans un nouvel onglet ou une nouvelle fenêtre)", + "core.euiExternalLinkIcon.externalTarget.screenReaderOnlyText": "(externe)", + "core.euiExternalLinkIcon.newTarget.screenReaderOnlyText": "(externe, s'ouvre dans un nouvel onglet ou une nouvelle fenêtre)", "core.euiFieldPassword.maskPassword": "Masquer le mot de passe", "core.euiFieldPassword.showPassword": "Afficher le mot de passe en texte brut. Remarque : votre mot de passe sera visible à l'écran.", + "core.euiFieldSearch.clearSearchButtonLabel": "Effacer la recherche", "core.euiFilePicker.filesSelected": "{fileCount} fichiers sélectionnés", "core.euiFilePicker.promptText": "Sélectionner ou glisser-déposer un fichier", "core.euiFilePicker.removeSelected": "Supprimer", + "core.euiFilePicker.removeSelectedAriaLabel": "Supprimer les fichiers sélectionnés", "core.euiFilterButton.filterBadgeActiveAriaLabel": "{count} filtres actifs", "core.euiFilterButton.filterBadgeAvailableAriaLabel": "{count} filtres disponibles", "core.euiFlyout.screenReaderFixedHeaders": "Vous pouvez quand même continuer à parcourir les en-têtes de page à l'aide de la touche Tabulation en plus de la boîte de dialogue.", @@ -856,6 +1268,10 @@ "core.euiRecentlyUsed.legend": "Plages de dates récemment utilisées", "core.euiRefreshInterval.fullDescriptionOff": "L'actualisation est désactivée, intervalle défini sur {optionValue} {optionText}.", "core.euiRefreshInterval.fullDescriptionOn": "L'actualisation est activée, intervalle défini sur {optionValue} {optionText}.", + "core.euiRefreshInterval.toggleAriaLabel": "Basculer sur l'actualisation", + "core.euiRefreshInterval.toggleLabel": "Actualiser toutes les", + "core.euiRefreshInterval.unitsAriaLabel": "Unités d'intervalle d'actualisation", + "core.euiRefreshInterval.valueAriaLabel": "Valeur d'intervalle d'actualisation", "core.euiRelativeTab.dateInputError": "Doit être une plage valide", "core.euiRelativeTab.fullDescription": "L'unité peut être modifiée. Elle est actuellement définie sur {unit}.", "core.euiRelativeTab.numberInputError": "Doit être >= 0.", @@ -977,6 +1393,8 @@ "core.notifications.errorToast.closeModal": "Fermer", "core.notifications.globalToast.ariaLabel": "Liste de messages de notification", "core.notifications.unableUpdateUISettingNotificationMessageTitle": "Impossible de mettre à jour le paramètre de l'interface utilisateur", + "core.overlays.confirm.cancelButton": "Annuler", + "core.overlays.confirm.okButton": "Confirmer", "core.savedObjects.deprecations.unknownTypes.manualSteps.1": "Activez les plug-ins désactivés, puis redémarrez Kibana.", "core.savedObjects.deprecations.unknownTypes.manualSteps.2": "Si aucun plug-in n'est désactivé ou si leur activation ne résout pas le problème, supprimez les documents.", "core.savedObjects.deprecations.unknownTypes.message": "{objectCount, plural, one {# objet} other {# objets}} de type inconnu {objectCount, plural, one {a été trouvé} other {ont été trouvés}} dans les indices du système Kibana. La mise à niveau avec des types savedObject inconnus n'est plus compatible. Pour assurer la réussite des mises à niveau à l'avenir, réactivez les plug-ins ou supprimez ces documents dans les indices de Kibana", @@ -1016,7 +1434,7 @@ "core.ui_settings.params.darkMode.options.disabled": "Désactivé", "core.ui_settings.params.darkMode.options.enabled": "Activé", "core.ui_settings.params.darkMode.options.system": "Synchroniser avec le système", - "core.ui_settings.params.darkModeText": "Le thème de l'interface utilisateur que l'interface utilisateur de Kibana doit utiliser. La valeur \"activé\" ou \"désactivé\" permet d'activer ou de désactiver le thème sombre. Définissez sur \"système\" pour que le thème de l'interface utilisateur de Kibana suive le thème du système. Vous devez actualiser la page pour que ce paramètre s’applique.", + "core.ui_settings.params.darkModeText": "Le thème de l'interface utilisateur que l'interface utilisateur de Kibana doit utiliser. Réglez l'option sur \"Activé\" pour activer le thème sombre ou sur \"Désactivé\" pour le désactiver. Définissez l'option sur \"Synchroniser avec le système\" pour que le thème de l'interface utilisateur de Kibana suive le thème du système. Vous devez recharger la page pour que ce paramètre s'applique.", "core.ui_settings.params.darkModeTitle": "Mode sombre", "core.ui_settings.params.dateFormat.dayOfWeekText": "Le premier jour de la semaine", "core.ui_settings.params.dateFormat.dayOfWeekTitle": "Jour de la semaine", @@ -1038,15 +1456,15 @@ "core.ui_settings.params.hideAnnouncements": "Masquer les annonces", "core.ui_settings.params.hideAnnouncementsText": "Arrêtez d’afficher les messages et les visites guidées qui mettent en avant les nouvelles fonctionnalités.", "core.ui_settings.params.notifications.banner.markdownLinkText": "Markdown pris en charge", - "core.ui_settings.params.notifications.bannerLifetimeText": "La durée en millisecondes durant laquelle une notification de bannière s'affiche à l'écran. ", + "core.ui_settings.params.notifications.bannerLifetimeText": "La durée en millisecondes durant laquelle une notification de bannière s'affiche à l'écran.", "core.ui_settings.params.notifications.bannerLifetimeTitle": "Durée des notifications de bannière", "core.ui_settings.params.notifications.bannerText": "Une bannière personnalisée à des fins de notification temporaire de l’ensemble des utilisateurs. {markdownLink}.", "core.ui_settings.params.notifications.bannerTitle": "Notification de bannière personnalisée", - "core.ui_settings.params.notifications.errorLifetimeText": "La durée en millisecondes durant laquelle une notification d'erreur s'affiche à l'écran. ", + "core.ui_settings.params.notifications.errorLifetimeText": "La durée en millisecondes durant laquelle une notification d'erreur s'affiche à l'écran.", "core.ui_settings.params.notifications.errorLifetimeTitle": "Durée des notifications d'erreur", - "core.ui_settings.params.notifications.infoLifetimeText": "La durée en millisecondes durant laquelle une notification d'information s'affiche à l'écran. ", + "core.ui_settings.params.notifications.infoLifetimeText": "La durée en millisecondes durant laquelle une notification d'information s'affiche à l'écran.", "core.ui_settings.params.notifications.infoLifetimeTitle": "Durée des notifications d'information", - "core.ui_settings.params.notifications.warningLifetimeText": "La durée en millisecondes durant laquelle une notification d'avertissement s'affiche à l'écran. ", + "core.ui_settings.params.notifications.warningLifetimeText": "La durée en millisecondes durant laquelle une notification d'avertissement s'affiche à l'écran.", "core.ui_settings.params.notifications.warningLifetimeTitle": "Durée des notifications d'avertissement", "core.ui_settings.params.storeUrlText": "L'URL peut parfois devenir trop longue pour être gérée par certains navigateurs. Pour pallier ce problème, nous testons actuellement le stockage de certaines parties de l'URL dans le stockage de session. N’hésitez pas à nous faire part de vos commentaires.", "core.ui_settings.params.storeUrlTitle": "Stocker les URL dans le stockage de session", @@ -1093,7 +1511,9 @@ "core.ui.primaryNav.cloud.linkToProject": "Gérer le projet", "core.ui.primaryNav.cloud.projectLabel": "Projet", "core.ui.primaryNav.goToHome.ariaLabel": "Accéder à la page d’accueil", + "core.ui.primaryNav.header.toggleNavAriaLabel": "Activer/Désactiver la navigation principale", "core.ui.primaryNav.pinnedLinksAriaLabel": "Liens épinglés", + "core.ui.primaryNav.project.toggleNavAriaLabel": "Activer/Désactiver la navigation principale", "core.ui.primaryNav.screenReaderLabel": "Principale", "core.ui.primaryNavSection.screenReaderLabel": "Liens de navigation principale, {category}", "core.ui.publicBaseUrlWarning.configRecommendedDescription": "Dans un environnement de production, il est recommandé de configurer {configKey}.", @@ -1189,7 +1609,7 @@ "customIntegrationsPackage.create.configureIntegrationDescription.helper": "Elastic crée une intégration pour rationaliser la connexion de vos données de log dans la Suite Elastic.", "customIntegrationsPackage.create.dataset.helper": "Tout en minuscules, 100 caractères maximum, les caractères spéciaux seront remplacés par \"_\".", "customIntegrationsPackage.create.dataset.name": "Nom de l’ensemble de données", - "customIntegrationsPackage.create.dataset.name.tooltip": "Le nom de l'ensemble de données associé à cette intégration. Ceci fera partie du nom du flux de données Elasticsearch ", + "customIntegrationsPackage.create.dataset.name.tooltip": "Le nom de l'ensemble de données associé à cette intégration. Ceci fera partie du nom du flux de données Elasticsearch", "customIntegrationsPackage.create.dataset.name.tooltipPrefixMessage": "Ce nom aura pour préfixe {prefixValue}, par ex. {prefixedDatasetName}", "customIntegrationsPackage.create.dataset.placeholder": "Nommez votre intégration de l'ensemble de données", "customIntegrationsPackage.create.errorCallout.authorization.description": "Cet utilisateur ne dispose pas d'autorisations pour créer une intégration.", @@ -1232,6 +1652,7 @@ "dashboard.editingToolbar.controlsButtonTitle": "Contrôles", "dashboard.editingToolbar.editControlGroupButtonTitle": "Paramètres", "dashboard.editingToolbar.onlyOneTimeSliderControlMsg": "Le groupe de contrôle contient déjà un contrôle de curseur temporel.", + "dashboard.editorMenu.addPanelFlyout.searchLabelText": "champ de recherche pour les panneaux", "dashboard.editorMenu.deprecatedTag": "Déclassé", "dashboard.embeddableApi.showSettings.flyout.applyButtonTitle": "Appliquer", "dashboard.embeddableApi.showSettings.flyout.cancelButtonTitle": "Annuler", @@ -1245,6 +1666,7 @@ "dashboard.embeddableApi.showSettings.flyout.form.panelTitleInputAriaLabel": "Modifier le titre du tableau de bord", "dashboard.embeddableApi.showSettings.flyout.form.storeTimeWithDashboardFormRowHelpText": "Le filtre temporel est défini sur l’option sélectionnée chaque fois que ce tableau de bord est chargé.", "dashboard.embeddableApi.showSettings.flyout.form.storeTimeWithDashboardFormRowLabel": "Enregistrer la plage temporelle avec le tableau de bord", + "dashboard.embeddableApi.showSettings.flyout.form.syncColorsBetweenPanelsSwitchHelp": "Valide uniquement pour les palettes {default} et {compatibility}", "dashboard.embeddableApi.showSettings.flyout.form.syncColorsBetweenPanelsSwitchLabel": "Synchroniser les palettes de couleur de tous les panneaux", "dashboard.embeddableApi.showSettings.flyout.form.syncCursorBetweenPanelsSwitchLabel": "Synchroniser le curseur de tous les panneaux", "dashboard.embeddableApi.showSettings.flyout.form.syncTooltipsBetweenPanelsSwitchLabel": "Synchroniser les infobulles de tous les panneaux", @@ -1295,8 +1717,14 @@ "dashboard.listing.unsaved.unsavedChangesTitle": "Vous avez des modifications non enregistrées dans le {dash} suivant :", "dashboard.loadingError.dashboardGridErrorMessage": "Impossible de charger le tableau de bord : {message}", "dashboard.loadURLError.PanelTooOld": "Impossible de charger les panneaux à partir d'une URL créée dans une version antérieure à 7.3", + "dashboard.managedContentBadge.ariaLabel": "Elastic gère ce tableau de bord. Dupliquez-le pour apporter des modifications.", + "dashboard.managedContentPopoverButton": "Elastic gère ce tableau de bord. {Duplicate}-le pour y apporter des modifications.", + "dashboard.managedContentPopoverButtonText": "Dupliquer", + "dashboard.managedContentPopoverFooterText": "Cliquez ici pour dupliquer ce tableau de bord", "dashboard.noMatchRoute.bannerText": "L'application de tableau de bord ne reconnaît pas ce chemin : {route}.", "dashboard.noMatchRoute.bannerTitleText": "Page introuvable", + "dashboard.palettes.defaultPaletteLabel": "Par défaut", + "dashboard.palettes.kibanaPaletteLabel": "Compatibilité", "dashboard.panel.AddToLibrary": "Enregistrer dans la bibliothèque", "dashboard.panel.addToLibrary.errorMessage": "Une erreur s'est produite lors de l'ajout du panneau {panelTitle} à la bibliothèque", "dashboard.panel.addToLibrary.successMessage": "Le panneau {panelTitle} a été ajouté à la bibliothèque", @@ -1330,7 +1758,7 @@ "dashboard.renderer.404Body": "Désolé, le tableau de bord que vous recherchez est introuvable. Elle a peut-être été retirée ou renommée, ou peut-être qu'elle n'a jamais existé.", "dashboard.renderer.404Title": "Tableau de bord introuvable", "dashboard.resetChangesConfirmModal.confirmButtonLabel": "Réinitialiser le tableau de bord", - "dashboard.resetChangesConfirmModal.resetChangesDescription": "Ce tableau de bord va revenir à son dernier état d'enregistrement. Vous risquez de perdre les modifications apportées aux filtres et aux requêtes.", + "dashboard.resetChangesConfirmModal.resetChangesDescription": "Ce tableau de bord va revenir à son dernier état d'enregistrement. Vous risquez de perdre les modifications apportées aux filtres et aux requêtes.", "dashboard.resetChangesConfirmModal.resetChangesTitle": "Réinitialiser le tableau de bord ?", "dashboard.savedDashboard.newDashboardTitle": "Nouveau tableau de bord", "dashboard.share.defaultDashboardTitle": "Tableau de bord [{date}]", @@ -1339,6 +1767,7 @@ "dashboard.solutionToolbar.addPanelButtonLabel": "Créer une visualisation", "dashboard.solutionToolbar.addPanelFlyout.cancelButtonText": "Fermer", "dashboard.solutionToolbar.addPanelFlyout.headingText": "Ajouter un panneau", + "dashboard.solutionToolbar.addPanelFlyout.loadingErrorDescription": "Une erreur est survenue lors du chargement des panneaux du tableau de bord disponibles pour la sélection", "dashboard.solutionToolbar.addPanelFlyout.noResultsDescription": "Aucun type de panneaux trouvé", "dashboard.solutionToolbar.editorMenuButtonLabel": "Ajouter un panneau", "dashboard.solutionToolbar.quickCreateButtonGroupLegend": "Raccourcis vers les types de visualisation populaires", @@ -1369,7 +1798,7 @@ "dashboard.topNave.viewModeInteractiveSaveButtonAriaLabel": "dupliquer", "dashboard.topNave.viewModeInteractiveSaveConfigDescription": "Créer une copie du tableau de bord", "dashboard.unsavedChangesBadge": "Modifications non enregistrées", - "dashboard.unsavedChangesBadgeToolTipContent": " Vous avez des modifications non enregistrées dans ce tableau de bord. Pour supprimer cette étiquette, enregistrez le tableau de bord.", + "dashboard.unsavedChangesBadgeToolTipContent": "Vous avez des modifications non enregistrées dans ce tableau de bord. Pour supprimer cette étiquette, enregistrez le tableau de bord.", "dashboard.viewmodeBackup.error": "Une erreur s'est produite lors de la sauvegarde du mode d'affichage : {message}", "data.advancedSettings.autocompleteIgnoreTimerange": "Utiliser la plage temporelle", "data.advancedSettings.autocompleteIgnoreTimerangeText": "Désactivez cette propriété pour obtenir des suggestions de saisie semi-automatique depuis l’intégralité de l’ensemble de données plutôt que depuis la plage temporelle définie. {learnMoreLink}", @@ -1387,7 +1816,7 @@ "data.advancedSettings.courier.requestPreferenceCustom": "Personnalisée", "data.advancedSettings.courier.requestPreferenceNone": "Aucune", "data.advancedSettings.courier.requestPreferenceSessionId": "ID session", - "data.advancedSettings.courier.requestPreferenceText": "Permet de définir quelles partitions doivent gérer les requêtes de recherche.\n ", + "data.advancedSettings.courier.requestPreferenceText": "Permet de définir quelles partitions doivent gérer les requêtes de recherche. ", "data.advancedSettings.courier.requestPreferenceTitle": "Préférence de requête", "data.advancedSettings.defaultIndexText": "Utilisé par Discover et Visualisations lorsqu'une vue de données n'est pas définie.", "data.advancedSettings.defaultIndexTitle": "Vue de données par défaut", @@ -1395,7 +1824,7 @@ "data.advancedSettings.docTableHighlightTitle": "Mettre les résultats en surbrillance", "data.advancedSettings.histogram.barTargetText": "Tente de générer ce nombre de compartiments lorsque l’intervalle \"auto\" est utilisé dans des histogrammes numériques et de date.", "data.advancedSettings.histogram.barTargetTitle": "Nombre de compartiments cible", - "data.advancedSettings.histogram.maxBarsText": "\n Limite la densité des histogrammes numériques et de date dans tout Kibana\n pour de meilleures performances à l’aide d’une requête de test. Si la requête de test génère trop de compartiments,\n l'intervalle entre les compartiments est augmenté. Ce paramètre s'applique séparément\n pour chaque agrégation d'histogrammes et ne s'applique pas aux autres types d'agrégations.\n Pour identifier la valeur maximale de ce paramètre, divisez la valeur \"search.max_buckets\" d'Elasticsearch\n par le nombre maximal d'agrégations dans chaque visualisation.\n ", + "data.advancedSettings.histogram.maxBarsText": "Avec une requête de test, limite la densité des histogrammes de dates et de nombres sur Kibana pour garantir de meilleures performances. Si la requête de test génère trop de compartiments, l'intervalle entre les compartiments est augmenté. Ce paramètre s'applique séparément pour chaque agrégation d'histogrammes et ne s'applique pas aux autres types d'agrégations. Pour trouver la valeur maximale de ce paramètre, divisez la valeur \"search.max_buckets\" d'Elasticsearch par le nombre maximal d'agrégations dans chaque visualisation.", "data.advancedSettings.histogram.maxBarsTitle": "Nombre maximal de compartiments", "data.advancedSettings.historyLimitText": "Le nombre de valeurs les plus récentes qui s’affichent pour les champs associés à un historique (par exemple, les entrées de requête).", "data.advancedSettings.historyLimitTitle": "Limite d'historique", @@ -1530,7 +1959,7 @@ "data.search.aggs.buckets.dateHistogram.customLabel.help": "Représente une étiquette personnalisée pour cette agrégation", "data.search.aggs.buckets.dateHistogram.dropPartials.help": "Spécifie l'utilisation ou non de drop_partials pour cette agrégation.", "data.search.aggs.buckets.dateHistogram.enabled.help": "Spécifie si cette agrégation doit être activée.", - "data.search.aggs.buckets.dateHistogram.extendedBounds.help": "Avec le paramètre extended_bounds, il est désormais possible de \"forcer\" l'agrégation d'histogrammes à démarrer la conception des compartiments sur une valeur minimale spécifique et à continuer jusqu'à une valeur maximale. ", + "data.search.aggs.buckets.dateHistogram.extendedBounds.help": "Avec le paramètre extended_bounds, il est désormais possible de \"forcer\" l'agrégation d'histogrammes à démarrer la conception des compartiments sur une valeur minimale spécifique et à continuer jusqu'à une valeur maximale.", "data.search.aggs.buckets.dateHistogram.extendToTimeRange.help": "Définit automatiquement les limites étendues sur la plage temporelle appliquée actuellement. Est ignoré si extended_bounds est défini", "data.search.aggs.buckets.dateHistogram.field.help": "Champ à utiliser pour cette agrégation", "data.search.aggs.buckets.dateHistogram.format.help": "Format à utiliser pour cette agrégation", @@ -1587,7 +2016,7 @@ "data.search.aggs.buckets.histogram.autoExtendBounds.help": "Définissez cette option comme vraie pour étendre les limites au domaine des données. Cela permet de s’assurer que chaque compartiment d'intervalle compris dans ces limites créera une ligne de tableau distincte.", "data.search.aggs.buckets.histogram.customLabel.help": "Représente une étiquette personnalisée pour cette agrégation", "data.search.aggs.buckets.histogram.enabled.help": "Spécifie si cette agrégation doit être activée.", - "data.search.aggs.buckets.histogram.extendedBounds.help": "Avec le paramètre extended_bounds, il est désormais possible de \"forcer\" l'agrégation d'histogrammes à démarrer la conception des compartiments sur une valeur minimale spécifique et à continuer jusqu'à une valeur maximale. ", + "data.search.aggs.buckets.histogram.extendedBounds.help": "Avec le paramètre extended_bounds, il est désormais possible de \"forcer\" l'agrégation d'histogrammes à démarrer la conception des compartiments sur une valeur minimale spécifique et à continuer jusqu'à une valeur maximale.", "data.search.aggs.buckets.histogram.field.help": "Champ à utiliser pour cette agrégation", "data.search.aggs.buckets.histogram.hasExtendedBounds.help": "Spécifie l'utilisation ou non de has_extended_bounds pour cette agrégation.", "data.search.aggs.buckets.histogram.id.help": "ID pour cette agrégation", @@ -2220,6 +2649,8 @@ "data.searchSessionIndicator.canceledTooltipText": "La session de recherche s'est arrêtée", "data.searchSessionIndicator.canceledWhenText": "Arrêtée {when}", "data.searchSessionIndicator.continueInBackgroundButtonText": "Enregistrer la session", + "data.searchSessionIndicator.deprecationWarning.textParagraphOne": "Les sessions de recherche sont obsolètes et seront supprimées dans une future version.", + "data.searchSessionIndicator.deprecationWarning.title": "Déclassé dans la version 8.15.0", "data.searchSessionIndicator.disabledDueToDisabledGloballyMessage": "Vous ne disposez pas d'autorisations pour gérer les sessions de recherche", "data.searchSessionIndicator.disabledDueToTimeoutMessage": "Les résultats de la session de recherche ont expiré.", "data.searchSessionIndicator.loadingInTheBackgroundDescriptionText": "Vous pouvez retourner aux résultats terminés à partir de la page Gestion", @@ -2317,6 +2748,7 @@ "discover.advancedSettings.disableDocumentExplorerDescription": "Désactivez cette option pour utiliser le nouveau {documentExplorerDocs} au lieu de la vue classique. l'explorateur de documents offre un meilleur tri des données, des colonnes redimensionnables et une vue en plein écran.", "discover.advancedSettings.discover.disableDocumentExplorerDeprecation": "Ce paramètre est déclassé et sera supprimé dans la version 9.0 de Kibana.", "discover.advancedSettings.discover.fieldStatisticsLinkText": "Vue des statistiques de champ", + "discover.advancedSettings.discover.maxCellHeightDeprecation": "Ce paramètre est déclassé et sera supprimé dans la version 9.0 de Kibana.", "discover.advancedSettings.discover.modifyColumnsOnSwitchText": "Supprimez les colonnes qui ne sont pas disponibles dans la nouvelle vue de données.", "discover.advancedSettings.discover.modifyColumnsOnSwitchTitle": "Modifier les colonnes en cas de changement des vues de données", "discover.advancedSettings.discover.multiFieldsLinkText": "champs multiples", @@ -2375,6 +2807,13 @@ "discover.context.unableToLoadDocumentDescription": "Impossible de charger les documents", "discover.contextViewRoute.errorMessage": "Aucune donnée correspondante pour l'ID {dataViewId}", "discover.contextViewRoute.errorTitle": "Une erreur s'est produite", + "discover.customControl.degradedDocArialLabel": "Accéder aux documents dégradés", + "discover.customControl.degradedDocDisabled": "La détection des champs de documents dégradés est désactivée pour cette recherche. Cliquez pour ajouter une {directive} à votre requête ES|QL.", + "discover.customControl.degradedDocNotPresent": "Tous les champs de ce document ont été analysés correctement", + "discover.customControl.degradedDocPresent": "Ce document n'a pas pu être analysé correctement. Tous les champs n'ont pas été remplis correctement.", + "discover.customControl.stacktrace.available": "Traces d'appel disponibles", + "discover.customControl.stacktrace.notAvailable": "Traces d'appel indisponibles", + "discover.customControl.stacktraceArialLabel": "Accès aux traces d'appel disponibles", "discover.discoverBreadcrumbTitle": "Discover", "discover.discoverDefaultSearchSessionName": "Discover", "discover.discoverDescription": "Explorez vos données de manière interactive en interrogeant et en filtrant des documents bruts.", @@ -2421,18 +2860,22 @@ "discover.docTable.tableRow.viewSingleDocumentLinkText": "Afficher un seul document", "discover.docTable.tableRow.viewSurroundingDocumentsLinkText": "Afficher les documents alentour", "discover.documentsAriaLabel": "Documents", + "discover.docViews.logsOverview.title": "Aperçu du log", "discover.docViews.table.scoreSortWarningTooltip": "Filtrez sur _score pour pouvoir récupérer les valeurs correspondantes.", "discover.dropZoneTableLabel": "Abandonner la zone pour ajouter un champ en tant que colonne dans la table", "discover.embeddable.inspectorRequestDataTitle": "Données", "discover.embeddable.inspectorRequestDescription": "Cette requête interroge Elasticsearch afin de récupérer les données pour la recherche.", + "discover.embeddable.search.dataViewError": "Vue de données {indexPatternId} manquante", "discover.embeddable.search.displayName": "rechercher", + "discover.errorCalloutESQLReferenceButtonLabel": "Ouvrir la référence ES|QL", "discover.errorCalloutShowErrorMessage": "Afficher les détails", "discover.esqlMode.selectedColumnsCallout": "Affichage de {selectedColumnsNumber} champs sur {esqlQueryColumnsNumber}. Ajoutez-en d’autres depuis la liste des champs disponibles.", - "discover.esqlToDataViewTransitionModal.closeButtonLabel": "Basculer sans sauvegarder", - "discover.esqlToDataViewTransitionModal.dismissButtonLabel": "Ne plus afficher cet avertissement", + "discover.esqlToDataViewTransitionModal.closeButtonLabel": "Annuler et changer", + "discover.esqlToDataViewTransitionModal.dismissButtonLabel": "Ne plus me demander", + "discover.esqlToDataViewTransitionModal.feedbackLink": "Soumettre des commentaires ES|QL", "discover.esqlToDataViewTransitionModal.saveButtonLabel": "Sauvegarder et basculer", - "discover.esqlToDataViewTransitionModal.title": "Votre requête sera supprimée", - "discover.esqlToDataviewTransitionModalBody": "Modifier la vue de données supprime la requête ES|QL en cours. Sauvegardez cette recherche pour ne pas perdre de travail.", + "discover.esqlToDataViewTransitionModal.title": "Modifications non enregistrées", + "discover.esqlToDataviewTransitionModalBody": "Un changement de vue de données supprime la requête ES|QL en cours. Sauvegardez cette recherche pour éviter de perdre votre travail.", "discover.fieldChooser.availableFieldsTooltip": "Champs disponibles pour l'affichage dans le tableau.", "discover.fieldChooser.discoverField.addFieldTooltip": "Ajouter le champ en tant que colonne", "discover.fieldChooser.discoverField.removeFieldTooltip": "Supprimer le champ du tableau", @@ -2462,6 +2905,7 @@ "discover.loadingDocuments": "Chargement des documents", "discover.loadingResults": "Chargement des résultats", "discover.localMenu.alertsDescription": "Alertes", + "discover.localMenu.esqlTooltipLabel": "ES|QL est le nouveau langage de requête canalisé puissant d'Elastic.", "discover.localMenu.fallbackReportTitle": "Recherche Discover sans titre", "discover.localMenu.inspectTitle": "Inspecter", "discover.localMenu.localMenu.alertsTitle": "Alertes", @@ -2476,6 +2920,19 @@ "discover.localMenu.saveTitle": "Enregistrer", "discover.localMenu.shareSearchDescription": "Partager la recherche", "discover.localMenu.shareTitle": "Partager", + "discover.localMenu.switchToClassicTitle": "Basculer vers le classique", + "discover.localMenu.switchToClassicTooltipLabel": "Passez à la syntaxe KQL ou Lucene.", + "discover.localMenu.tryESQLTitle": "Essayer ES|QL", + "discover.logLevelLabels.alert": "Alerte", + "discover.logLevelLabels.critical": "Critique", + "discover.logLevelLabels.debug": "Déboguer", + "discover.logLevelLabels.emergency": "Urgence", + "discover.logLevelLabels.error": "Erreur", + "discover.logLevelLabels.fatal": "Fatal", + "discover.logLevelLabels.info": "Infos", + "discover.logLevelLabels.notice": "Notification", + "discover.logLevelLabels.trace": "Trace", + "discover.logLevelLabels.warning": "Avertissement", "discover.logs.dataTable.controlColumn.actions.button.degradedDoc": "Accès à un document dégradé avec le champ {ignoredProperty}", "discover.logs.dataTable.controlColumn.actions.button.degradedDocNotPresent": "Tous les champs de ce document ont été analysés correctement", "discover.logs.dataTable.controlColumn.actions.button.degradedDocPresent": "Ce document n'a pas pu être analysé correctement. Tous les champs n'ont pas été remplis correctement", @@ -2489,6 +2946,7 @@ "discover.logs.dataTable.header.popover.actions": "Actions", "discover.logs.dataTable.header.popover.actions.lowercase": "actions", "discover.logs.dataTable.header.popover.content": "Contenu", + "discover.logs.dataTable.header.popover.json": "JSON", "discover.logs.dataTable.header.popover.resource": "Ressource", "discover.logs.dataTable.header.resource.tooltip.paragraph": "Les champs fournissant des informations sur la source du document, comme :", "discover.logs.flyoutDetail.accordion.title.cloud": "Cloud", @@ -2596,7 +3054,7 @@ "discover.viewAlert.alertRuleFetchErrorTitle": "Erreur lors de la récupération de la règle d'alerte", "discover.viewAlert.dataViewErrorText": "Échec de la vue des données de la règle d'alerte avec l'ID {alertId}.", "discover.viewAlert.dataViewErrorTitle": "Erreur lors de la récupération de la vue de données", - "discover.viewAlert.documentsMayVaryInfoDescription": "Les documents affichés peuvent différer de ceux ayant déclenché l'alerte.\n Des documents ont peut-être été ajoutés ou supprimés.", + "discover.viewAlert.documentsMayVaryInfoDescription": "Les documents affichés peuvent différer de ceux ayant déclenché l'alerte. Des documents ont peut-être été ajoutés ou supprimés.", "discover.viewAlert.documentsMayVaryInfoTitle": "Les documents affichés peuvent varier", "discover.viewAlert.searchSourceErrorTitle": "Erreur lors de la récupération de la source de recherche", "discover.viewModes.document.label": "Documents", @@ -2604,7 +3062,7 @@ "discover.viewModes.patternAnalysis.label": "Modèles {patternCount}", "domDragDrop.announce.cancelled": "Mouvement annulé. {label} revenu à sa position initiale", "domDragDrop.announce.cancelledItem": "Mouvement annulé. {label} revenu au groupe {groupLabel} à la position {position}", - "domDragDrop.announce.combine.short": " Maintenir la touche Contrôle enfoncée pour combiner", + "domDragDrop.announce.combine.short": "Maintenir la touche Contrôle enfoncée pour combiner", "domDragDrop.announce.dropped.combineCompatible": "Combinaisons de {label} dans le {groupLabel} vers {dropLabel} dans le groupe {dropGroupLabel} à la position {dropPosition} dans le calque {dropLayerNumber}", "domDragDrop.announce.dropped.combineIncompatible": "Conversion de {label} en {nextLabel} dans le groupe {groupLabel} à la position {position} et combinaison avec {dropLabel} dans le groupe {dropGroupLabel} à la position {dropPosition} dans le calque {dropLayerNumber}", "domDragDrop.announce.dropped.duplicated": "{label} dupliqué dans le groupe {groupLabel} à la position {position} dans le calque {layerNumber}", @@ -2618,7 +3076,7 @@ "domDragDrop.announce.dropped.swapIncompatible": "Conversion de {label} en {nextLabel} dans le groupe {groupLabel} à la position {position} dans le calque {layerNumber} et permuté avec {dropLabel} dans le groupe {dropGroupLabel} à la position {dropPosition} dans le calque {dropLayerNumber}", "domDragDrop.announce.droppedDefault": "Ajout de {label} dans le groupe {dropGroupLabel} à la position {position} dans le calque {dropLayerNumber}", "domDragDrop.announce.droppedNoPosition": "{label} ajouté à {dropLabel}", - "domDragDrop.announce.duplicate.short": " Maintenez la touche Alt ou Option enfoncée pour dupliquer.", + "domDragDrop.announce.duplicate.short": "Maintenez la touche Alt ou Option enfoncée pour dupliquer.", "domDragDrop.announce.duplicated.combine": "Combinaison de {dropLabel} avec {label} dans {groupLabel} à la position {position} dans le calque {dropLayerNumber}", "domDragDrop.announce.duplicated.replace": "Remplacement de {dropLabel} par {label} dans {groupLabel} à la position {position} dans le calque {dropLayerNumber}", "domDragDrop.announce.duplicated.replaceDuplicateCompatible": "Remplacement de {dropLabel} par une copie de {label} dans {groupLabel} à la position {position} dans le calque {dropLayerNumber}", @@ -2647,7 +3105,7 @@ "domDragDrop.announce.selectedTarget.replaceMain": "Vous faites glisser {label} à partir de {groupLabel} à la position {position} dans le calque {layerNumber} sur {dropLabel} à partir du groupe {dropGroupLabel} à la position {dropPosition} dans le calque {dropLayerNumber}. Appuyez sur la barre d'espace ou sur Entrée pour remplacer {dropLabel} par {label}.{duplicateCopy}{swapCopy}{combineCopy}", "domDragDrop.announce.selectedTarget.swapCompatible": "Permutation de {label} dans le groupe {groupLabel} à la position {position} dans le calque {layerNumber} et de {dropLabel} dans le groupe {dropGroupLabel} à la position {dropPosition} dans le calque {dropLayerNumber}. Maintenir la touche Maj enfoncée tout en appuyant sur la barre d'espace ou sur Entrée pour permuter", "domDragDrop.announce.selectedTarget.swapIncompatible": "Conversion de {label} en {nextLabel} dans le groupe {groupLabel} à la position {position} dans le calque {layerNumber} et permutation avec {dropLabel} dans le groupe {dropGroupLabel} à la position {dropPosition} dans le calque {dropLayerNumber}. Maintenir la touche Maj enfoncée tout en appuyant sur la barre d'espace ou sur Entrée pour permuter", - "domDragDrop.announce.swap.short": " Maintenez la touche Maj enfoncée pour permuter.", + "domDragDrop.announce.swap.short": "Maintenez la touche Maj enfoncée pour permuter.", "domDragDrop.dropTargets.altOption": "Alt/Option", "domDragDrop.dropTargets.combine": "Combiner", "domDragDrop.dropTargets.control": "Contrôler", @@ -2691,6 +3149,37 @@ "embeddableApi.selectRangeTrigger.title": "Sélection de la plage", "embeddableApi.valueClickTrigger.description": "Un point de données cliquable sur la visualisation", "embeddableApi.valueClickTrigger.title": "Clic unique", + "embeddableExamples.dataTable.ariaLabel": "Tableau de données", + "embeddableExamples.dataTable.noDataViewError": "Au moins une vue de données est requise pour utiliser l'exemple de table de données.", + "embeddableExamples.euiMarkdownEditor.displayNameAriaLabel": "Markdown EUI", + "embeddableExamples.euiMarkdownEditor.embeddableAriaLabel": "Éditeur de markdown du tableau de bord", + "embeddableExamples.savedbook.addBookAction.displayName": "Livre", + "embeddableExamples.savedbook.editBook.displayName": "livre", + "embeddableExamples.savedBook.editor.addToLibrary": "Enregistrer dans la bibliothèque", + "embeddableExamples.savedBook.editor.authorLabel": "Auteur", + "embeddableExamples.savedBook.editor.cancel": "Abandonner les modifications", + "embeddableExamples.savedBook.editor.create": "Créer un livre", + "embeddableExamples.savedBook.editor.editTitle": "Modifier un livre", + "embeddableExamples.savedBook.editor.newTitle": "Créer un nouveau livre", + "embeddableExamples.savedBook.editor.pagesLabel": "Nombre de pages", + "embeddableExamples.savedBook.editor.save": "Conserver les modifications", + "embeddableExamples.savedBook.editor.synopsisLabel": "Synopsis", + "embeddableExamples.savedBook.editor.titleLabel": "Titre", + "embeddableExamples.savedBook.libraryCallout": "Enregistré dans la bibliothèque", + "embeddableExamples.savedBook.noLibraryCallout": "Non enregistré dans la bibliothèque", + "embeddableExamples.savedBook.numberOfPages": "{numberOfPages} pages", + "embeddableExamples.search.dataViewName": "{dataViewName}", + "embeddableExamples.search.noDataViewError": "Veuillez installer une vue de données pour visualiser cet exemple", + "embeddableExamples.search.result": "{count, plural, one {document trouvé} other {documents trouvés}}", + "embeddableExamples.unifiedFieldList.displayName": "Liste des champs", + "embeddableExamples.unifiedFieldList.noDefaultDataViewErrorMessage": "La liste de champs doit être utilisée avec au moins une vue de données présente", + "embeddableExamples.unifiedFieldList.selectDataViewMessage": "Veuillez sélectionner une vue de données", + "esql.advancedSettings.enableESQLDescription": "Ce paramètre active ES|QL dans Kibana. En le désactivant, vous cacherez l'interface utilisateur ES|QL de diverses applications. Cependant, les utilisateurs pourront accéder aux recherches enregistrées ES|QL, en plus des visualisations, etc.", + "esql.advancedSettings.enableESQLTitle": "Activer ES|QL", + "esql.triggers.updateEsqlQueryTrigger": "Mettre à jour la requête ES|QL", + "esql.triggers.updateEsqlQueryTriggerDescription": "Mettre à jour la requête ES|QL en utilisant une nouvelle requête", + "esql.updateESQLQueryLabel": "Mettre à jour la requête ES|QL dans l’éditeur", + "esqlDataGrid.openInDiscoverLabel": "Ouvrir dans Discover", "esqlEditor.query.aborted": "La demande a été annulée", "esqlEditor.query.cancel": "Annuler", "esqlEditor.query.collapseLabel": "Réduire", @@ -2701,6 +3190,8 @@ "esqlEditor.query.expandLabel": "Développer", "esqlEditor.query.feedback": "Commentaires", "esqlEditor.query.hideQueriesLabel": "Masquer les recherches récentes", + "esqlEditor.query.limitInfo": "LIMITE : {limit} lignes", + "esqlEditor.query.limitInfoReduced": "LIMITE : {limit}", "esqlEditor.query.lineCount": "{count} {count, plural, one {ligne} other {lignes}}", "esqlEditor.query.lineNumber": "Ligne {lineNumber}", "esqlEditor.query.querieshistory.error": "La requête a échouée", @@ -2709,10 +3200,12 @@ "esqlEditor.query.querieshistoryRun": "Exécuter la requête", "esqlEditor.query.querieshistoryTable": "Tableau d'historique des recherches", "esqlEditor.query.recentQueriesColumnLabel": "Recherches récentes", + "esqlEditor.query.refreshLabel": "Actualiser", "esqlEditor.query.runQuery": "Exécuter la requête", "esqlEditor.query.showQueriesLabel": "Afficher les recherches récentes", "esqlEditor.query.submitFeedback": "Soumettre un commentaire", "esqlEditor.query.timeRanColumnLabel": "Temps exécuté", + "esqlEditor.query.timestampDetected": "{detectedTimestamp} trouvé", "esqlEditor.query.timestampNotDetected": "@timestamp non trouvé", "esqlEditor.query.warningCount": "{count} {count, plural, one {avertissement} other {avertissements}}", "esqlEditor.query.warningsTitle": "Avertissements", @@ -2832,6 +3325,7 @@ "eventAnnotation.rangeAnnotation.args.time": "Horodatage de l'annotation", "eventAnnotation.rangeAnnotation.description": "Configurer l'annotation manuelle", "eventAnnotationCommon.manualAnnotation.defaultAnnotationLabel": "Événement", + "eventAnnotationCommon.manualAnnotation.defaultRangeAnnotationLabel": "Plage d'événements", "eventAnnotationComponents.eventAnnotationGroup.metadata.name": "Groupes d’annotations", "eventAnnotationComponents.eventAnnotationGroup.savedObjectFinder.emptyCTA": "Créer un calque d’annotations", "eventAnnotationComponents.eventAnnotationGroup.savedObjectFinder.emptyPromptDescription": "Il n’y a actuellement aucune annotation disponible à sélectionner depuis la bibliothèque. Créez un nouveau calque pour ajouter des annotations.", @@ -2951,12 +3445,23 @@ "exceptionList-components.exceptions.exceptionItem.card.metaDetailsBy": "par", "exceptionList-components.exceptions.exceptionItem.card.showCommentsLabel": "Afficher {comments, plural, =1 {commentaire} other {commentaires}} ({comments})", "exceptionList-components.exceptions.exceptionItem.card.updatedLabel": "Mis à jour", + "exceptionList-components.partialCodeSignatureCallout.body": "Veuillez vérifier les valeurs des champs, car vos critères de filtrage peuvent être incomplets. Nous recommandons d'inclure à la fois le nom du signataire et le statut de confiance (en utilisant l'opérateur « AND ») pour éviter d'éventuelles failles de sécurité.", + "exceptionList-components.partialCodeSignatureCallout.title": "Veuillez examiner vos entrées", "exceptionList-components.wildcardWithWrongOperatorCallout.body": "L'utilisation de \"*\" ou de \"?\" dans la valeur avec l'opérateur \"is\" peut rendre l'entrée inefficace. Remplacez {operator} par \"{matches}\" pour que les caractères génériques s'exécutent correctement.", "exceptionList-components.wildcardWithWrongOperatorCallout.changeTheOperator": "Changer d'opérateur", "exceptionList-components.wildcardWithWrongOperatorCallout.matches": "correspond à", "exceptionList-components.wildcardWithWrongOperatorCallout.title": "Veuillez examiner vos entrées", "expandableFlyout.previewSection.backButton": "Retour", "expandableFlyout.previewSection.closeButton": "Fermer", + "expandableFlyout.renderMenu.flyoutResizeButton": "Réinitialiser la taille", + "expandableFlyout.renderMenu.flyoutResizeTitle": "Taille du menu volant", + "expandableFlyout.settingsMenu.flyoutTypeTitle": "Type de menu volant", + "expandableFlyout.settingsMenu.overlayMode": "Superposer", + "expandableFlyout.settingsMenu.overlayTooltip": "Affiche le menu volant sur la page", + "expandableFlyout.settingsMenu.popoverButton": "Paramètres du menu volant", + "expandableFlyout.settingsMenu.popoverTitle": "Paramètres du menu volant", + "expandableFlyout.settingsMenu.pushMode": "Déploiement", + "expandableFlyout.settingsMenu.pushTooltip": "Affiche le menu volant à côté de la page", "expressionError.errorComponent.description": "Échec de l'expression avec le message :", "expressionError.errorComponent.title": "Oups ! Échec de l'expression", "expressionError.renderer.debug.displayName": "Déboguer", @@ -3066,6 +3571,7 @@ "expressionMetricVis.function.dimension.timeField": "Champ temporel", "expressionMetricVis.function.help": "Visualisation de l'indicateur", "expressionMetricVis.function.icon.help": "Fournit une icône de visualisation statique.", + "expressionMetricVis.function.iconAlign.help": "L'alignement de l'icône.", "expressionMetricVis.function.inspectorTableId.help": "ID pour le tableau de l'inspecteur", "expressionMetricVis.function.max.help.": "La dimension contenant la valeur maximale.", "expressionMetricVis.function.metric.help": "L’indicateur principal.", @@ -3076,7 +3582,10 @@ "expressionMetricVis.function.secondaryMetric.help": "L’indicateur secondaire (affiché au-dessus de l’indicateur principal).", "expressionMetricVis.function.secondaryPrefix.help": "Texte facultatif à afficher avant secondaryMetric.", "expressionMetricVis.function.subtitle.help": "Le sous-titre pour un indicateur unique. Remplacé si breakdownBy est spécifié.", + "expressionMetricVis.function.titlesTextAlign.help": "L'alignement du titre et du sous-titre.", "expressionMetricVis.function.trendline.help": "Configuration de la courbe de tendance facultative", + "expressionMetricVis.function.valueFontSize.help": "La taille de la police de valeur.", + "expressionMetricVis.function.valuesTextAlign.help": "L'alignement des indicateurs primaires et secondaires.", "expressionMetricVis.trendA11yDescription": "Graphique linéaire affichant la tendance de l'indicateur principal sur la durée.", "expressionMetricVis.trendA11yTitle": "{dataTitle} sur la durée.", "expressionMetricVis.trendline.function.breakdownBy.help": "La dimension contenant les étiquettes des sous-catégories.", @@ -3873,7 +4382,7 @@ "home.tutorials.ciscoLogs.longDescription": "Il s'agit d'un module pour les logs de dispositifs réseau Cisco (ASA, FTD, IOS, Nexus). Il inclut les ensembles de fichiers suivants pour la réception des logs par le biais de Syslog ou d'un ficher. [En savoir plus]({learnMoreLink}).", "home.tutorials.ciscoLogs.nameTitle": "Logs Cisco", "home.tutorials.ciscoLogs.shortDescription": "Collectez et analysez les logs à partir des périphériques réseau Cisco avec Filebeat.", - "home.tutorials.cloudwatchLogs.longDescription": "Collectez les logs Cloudwatch en déployant Functionbeat à des fins d'exécution en tant que fonction AWS Lambda. [En savoir plus]({learnMoreLink}).", + "home.tutorials.cloudwatchLogs.longDescription": "Collectez les logs Cloudwatch en déployant Functionbeat à des fins d'exécution en tant que fonction AWS Lambda.", "home.tutorials.cloudwatchLogs.nameTitle": "Logs Cloudwatch AWS", "home.tutorials.cloudwatchLogs.shortDescription": "Collectez et analysez les logs à partir d'AWS Cloudwatch avec Functionbeat.", "home.tutorials.cockroachdbMetrics.artifacts.dashboards.linkLabel": "Tableau de bord des indicateurs CockroachDB", @@ -3891,16 +4400,16 @@ "home.tutorials.common.auditbeatCloudInstructions.config.rpmTitle": "Modifier la configuration", "home.tutorials.common.auditbeatCloudInstructions.config.windowsTextPre": "Modifiez {path} afin de définir les informations de connexion pour Elastic Cloud :", "home.tutorials.common.auditbeatCloudInstructions.config.windowsTitle": "Modifier la configuration", - "home.tutorials.common.auditbeatInstructions.config.debTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur `elastic`, {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer le SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte digitale dans {esCertFingerprintTemplate}.\n\n> **_Important :_** n'employez pas l'utilisateur `elastic` intégré pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", + "home.tutorials.common.auditbeatInstructions.config.debTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur \"elastic\", {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte dans {esCertFingerprintTemplate}. > **_Important :_** N'utilisez pas l'utilisateur intégré `elastic` pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", "home.tutorials.common.auditbeatInstructions.config.debTextPre": "Modifiez {path} afin de définir les informations de connexion :", "home.tutorials.common.auditbeatInstructions.config.debTitle": "Modifier la configuration", - "home.tutorials.common.auditbeatInstructions.config.osxTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur `elastic`, {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer le SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte digitale dans {esCertFingerprintTemplate}.\n\n> **_Important :_** n'employez pas l'utilisateur `elastic` intégré pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", + "home.tutorials.common.auditbeatInstructions.config.osxTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur \"elastic\", {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte dans {esCertFingerprintTemplate}. > **_Important :_** N'utilisez pas l'utilisateur intégré `elastic` pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", "home.tutorials.common.auditbeatInstructions.config.osxTextPre": "Modifiez {path} afin de définir les informations de connexion :", "home.tutorials.common.auditbeatInstructions.config.osxTitle": "Modifier la configuration", - "home.tutorials.common.auditbeatInstructions.config.rpmTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur `elastic`, {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer le SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte digitale dans {esCertFingerprintTemplate}.\n\n> **_Important :_** n'employez pas l'utilisateur `elastic` intégré pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", + "home.tutorials.common.auditbeatInstructions.config.rpmTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur \"elastic\", {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte dans {esCertFingerprintTemplate}. > **_Important :_** N'utilisez pas l'utilisateur intégré `elastic` pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", "home.tutorials.common.auditbeatInstructions.config.rpmTextPre": "Modifiez {path} afin de définir les informations de connexion :", "home.tutorials.common.auditbeatInstructions.config.rpmTitle": "Modifier la configuration", - "home.tutorials.common.auditbeatInstructions.config.windowsTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur `elastic`, {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer le SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte digitale dans {esCertFingerprintTemplate}.\n\n > **_Important :_** n'employez pas l'utilisateur `elastic` intégré pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", + "home.tutorials.common.auditbeatInstructions.config.windowsTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur \"elastic\", {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte dans {esCertFingerprintTemplate}. > **_Important :_** N'utilisez pas l'utilisateur intégré `elastic` pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", "home.tutorials.common.auditbeatInstructions.config.windowsTextPre": "Modifiez {path} afin de définir les informations de connexion :", "home.tutorials.common.auditbeatInstructions.config.windowsTitle": "Modifier la configuration", "home.tutorials.common.auditbeatInstructions.install.debTextPost": "Vous cherchez les packages 32 bits ? Consultez la [page de téléchargement]({linkUrl}).", @@ -3912,7 +4421,7 @@ "home.tutorials.common.auditbeatInstructions.install.rpmTextPre": "Vous utilisez Auditbeat pour la première fois ? Consultez le [guide de démarrage rapide]({linkUrl}).", "home.tutorials.common.auditbeatInstructions.install.rpmTitle": "Télécharger et installer Auditbeat", "home.tutorials.common.auditbeatInstructions.install.windowsTextPost": "Modifiez les paramètres sous {propertyName} dans le fichier {auditbeatPath} afin de pointer vers votre installation Elasticsearch.", - "home.tutorials.common.auditbeatInstructions.install.windowsTextPre": "Vous utilisez Auditbeat pour la première fois ? Consultez le [guide de démarrage rapide]({guideLinkUrl}).\n 1. Téléchargez le fichier .zip Auditbeat pour Windows via la page [Télécharger]({auditbeatLinkUrl}).\n 2. Extrayez le contenu du fichier compressé sous {folderPath}.\n 3. Renommez le répertoire `{directoryName}` en `Auditbeat`.\n 4. Ouvrez une invite PowerShell en tant qu'administrateur (faites un clic droit sur l'icône PowerShell et sélectionnez **Exécuter en tant qu'administrateur**). Si vous exécutez Windows XP, vous devrez peut-être télécharger et installer PowerShell.\n 5. Dans l'invite PowerShell, exécutez les commandes suivantes afin d'installer Auditbeat en tant que service Windows.", + "home.tutorials.common.auditbeatInstructions.install.windowsTextPre": "Vous utilisez Auditbeat pour la première fois ? Consultez le [guide de démarrage rapide]({guideLinkUrl}). 1. Téléchargez le fichier .zip Auditbeat pour Windows via la page [Télécharger]({auditbeatLinkUrl}). 2. Extrayez le contenu du fichier compressé sous {folderPath}. 3. Renommez le répertoire `{directoryName}` en `Auditbeat`. 4. Ouvrez une invite PowerShell en tant qu'administrateur (faites un clic droit sur l'icône PowerShell et sélectionnez **Exécuter en tant qu'administrateur**). Si vous exécutez Windows XP, vous devrez peut-être télécharger et installer PowerShell. 5. Dans l'invite PowerShell, exécutez les commandes suivantes afin d'installer Auditbeat en tant que service Windows.", "home.tutorials.common.auditbeatInstructions.install.windowsTitle": "Télécharger et installer Auditbeat", "home.tutorials.common.auditbeatInstructions.start.debTextPre": "La commande `setup` charge les tableaux de bord Kibana. Si les tableaux de bord sont déjà configurés, omettez cette commande.", "home.tutorials.common.auditbeatInstructions.start.debTitle": "Lancer Auditbeat", @@ -3948,16 +4457,16 @@ "home.tutorials.common.filebeatEnableInstructions.windowsTextPost": "Modifiez les paramètres dans le fichier `modules.d/{moduleName}.yml`. Vous devez activer au moins un ensemble de fichiers.", "home.tutorials.common.filebeatEnableInstructions.windowsTextPre": "Dans le dossier {path}, exécutez la commande suivante :", "home.tutorials.common.filebeatEnableInstructions.windowsTitle": "Activer et configurer le module {moduleName}", - "home.tutorials.common.filebeatInstructions.config.debTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur `elastic`, {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer le SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte digitale dans {esCertFingerprintTemplate}.\n\n> **_Important :_** n'employez pas l'utilisateur `elastic` intégré pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", + "home.tutorials.common.filebeatInstructions.config.debTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur \"elastic\", {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte dans {esCertFingerprintTemplate}. > **_Important :_** N'utilisez pas l'utilisateur intégré `elastic` pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", "home.tutorials.common.filebeatInstructions.config.debTextPre": "Modifiez {path} afin de définir les informations de connexion :", "home.tutorials.common.filebeatInstructions.config.debTitle": "Modifier la configuration", - "home.tutorials.common.filebeatInstructions.config.osxTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur `elastic`, {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer le SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte digitale dans {esCertFingerprintTemplate}.\n\n> **_Important :_** n'employez pas l'utilisateur `elastic` intégré pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", + "home.tutorials.common.filebeatInstructions.config.osxTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur \"elastic\", {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte dans {esCertFingerprintTemplate}. > **_Important :_** N'utilisez pas l'utilisateur intégré `elastic` pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", "home.tutorials.common.filebeatInstructions.config.osxTextPre": "Modifiez {path} afin de définir les informations de connexion :", "home.tutorials.common.filebeatInstructions.config.osxTitle": "Modifier la configuration", - "home.tutorials.common.filebeatInstructions.config.rpmTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur `elastic`, {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer le SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte digitale dans {esCertFingerprintTemplate}.\n\n> **_Important :_** n'employez pas l'utilisateur `elastic` intégré pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", + "home.tutorials.common.filebeatInstructions.config.rpmTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur \"elastic\", {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte dans {esCertFingerprintTemplate}. > **_Important :_** N'utilisez pas l'utilisateur intégré `elastic` pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", "home.tutorials.common.filebeatInstructions.config.rpmTextPre": "Modifiez {path} afin de définir les informations de connexion :", "home.tutorials.common.filebeatInstructions.config.rpmTitle": "Modifier la configuration", - "home.tutorials.common.filebeatInstructions.config.windowsTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur `elastic`, {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer le SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte digitale dans {esCertFingerprintTemplate}.\n\n> **_Important :_** n'employez pas l'utilisateur `elastic` intégré pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", + "home.tutorials.common.filebeatInstructions.config.windowsTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur \"elastic\", {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte dans {esCertFingerprintTemplate}. > **_Important :_** N'utilisez pas l'utilisateur intégré `elastic` pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", "home.tutorials.common.filebeatInstructions.config.windowsTextPre": "Modifiez {path} afin de définir les informations de connexion :", "home.tutorials.common.filebeatInstructions.config.windowsTitle": "Modifier la configuration", "home.tutorials.common.filebeatInstructions.install.debTextPost": "Vous cherchez les packages 32 bits ? Consultez la [page de téléchargement]({linkUrl}).", @@ -3969,7 +4478,7 @@ "home.tutorials.common.filebeatInstructions.install.rpmTextPre": "Vous utilisez Filebeat pour la première fois ? Consultez le [guide de démarrage rapide]({linkUrl}).", "home.tutorials.common.filebeatInstructions.install.rpmTitle": "Télécharger et installer Filebeat", "home.tutorials.common.filebeatInstructions.install.windowsTextPost": "Modifiez les paramètres sous {propertyName} dans le fichier {filebeatPath} afin de pointer vers votre installation Elasticsearch.", - "home.tutorials.common.filebeatInstructions.install.windowsTextPre": "Vous utilisez Filebeat pour la première fois ? Consultez le [guide de démarrage rapide]({guideLinkUrl}).\n 1. Téléchargez le fichier .zip Filebeat pour Windows via la page [Télécharger]({filebeatLinkUrl}).\n 2. Extrayez le contenu du fichier compressé sous {folderPath}.\n 3. Renommez le répertoire `{directoryName}` en `Filebeat`.\n 4. Ouvrez une invite PowerShell en tant qu'administrateur (faites un clic droit sur l'icône PowerShell et sélectionnez **Exécuter en tant qu'administrateur**). Si vous exécutez Windows XP, vous devrez peut-être télécharger et installer PowerShell.\n 5. Dans l'invite PowerShell, exécutez les commandes suivantes afin d'installer Filebeat en tant que service Windows.", + "home.tutorials.common.filebeatInstructions.install.windowsTextPre": "Vous utilisez Filebeat pour la première fois ? Consultez le [guide de démarrage rapide]({guideLinkUrl}). 1. Téléchargez le fichier .zip Filebeat pour Windows via la page [Télécharger]({filebeatLinkUrl}). 2. Extrayez le contenu du fichier compressé sous {folderPath}. 3. Renommez le répertoire `{directoryName}` en `Filebeat`. 4. Ouvrez une invite PowerShell en tant qu'administrateur (faites un clic droit sur l'icône PowerShell et sélectionnez **Exécuter en tant qu'administrateur**). Si vous exécutez Windows XP, vous devrez peut-être télécharger et installer PowerShell. 5. Dans l'invite PowerShell, exécutez les commandes suivantes afin d'installer Filebeat en tant que service Windows.", "home.tutorials.common.filebeatInstructions.install.windowsTitle": "Télécharger et installer Filebeat", "home.tutorials.common.filebeatInstructions.start.debTextPre": "La commande `setup` charge les tableaux de bord Kibana. Si les tableaux de bord sont déjà configurés, omettez cette commande.", "home.tutorials.common.filebeatInstructions.start.debTitle": "Lancer Filebeat", @@ -3998,10 +4507,10 @@ "home.tutorials.common.functionbeatEnableOnPremInstructions.defaultTitle": "Configurer le groupe de logs Cloudwatch", "home.tutorials.common.functionbeatEnableOnPremInstructionsOSXLinux.textPre": "Modifiez les paramètres dans le fichier `functionbeat.yml`.", "home.tutorials.common.functionbeatEnableOnPremInstructionsWindows.textPre": "Modifiez les paramètres dans le fichier {path}.", - "home.tutorials.common.functionbeatInstructions.config.osxTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur `elastic`, {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer le SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte digitale dans {esCertFingerprintTemplate}.\n\n > **_Important :_** n'employez pas l'utilisateur `elastic` intégré pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", + "home.tutorials.common.functionbeatInstructions.config.osxTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur \"elastic\", {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte dans {esCertFingerprintTemplate}. > **_Important :_** N'utilisez pas l'utilisateur intégré `elastic` pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", "home.tutorials.common.functionbeatInstructions.config.osxTextPre": "Modifiez {path} afin de définir les informations de connexion :", "home.tutorials.common.functionbeatInstructions.config.osxTitle": "Configurer le cluster Elastic", - "home.tutorials.common.functionbeatInstructions.config.windowsTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur `elastic`, {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer le SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte digitale dans {esCertFingerprintTemplate}.\n\n > **_Important :_** n'employez pas l'utilisateur `elastic` intégré pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", + "home.tutorials.common.functionbeatInstructions.config.windowsTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur \"elastic\", {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte dans {esCertFingerprintTemplate}. > **_Important :_** N'utilisez pas l'utilisateur intégré `elastic` pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", "home.tutorials.common.functionbeatInstructions.config.windowsTextPre": "Modifiez {path} afin de définir les informations de connexion :", "home.tutorials.common.functionbeatInstructions.config.windowsTitle": "Modifier la configuration", "home.tutorials.common.functionbeatInstructions.deploy.osxTextPre": "Ceci permet d'installer Functionbeat en tant que fonction Lambda. La commande `setup` vérifie la configuration d'Elasticsearch et charge le modèle d'indexation Kibana. L'omission de cette commande est normalement sans risque.", @@ -4012,7 +4521,7 @@ "home.tutorials.common.functionbeatInstructions.install.linuxTitle": "Télécharger et installer Functionbeat", "home.tutorials.common.functionbeatInstructions.install.osxTextPre": "Vous utilisez Functionbeat pour la première fois ? Consultez le [guide de démarrage rapide]({link}).", "home.tutorials.common.functionbeatInstructions.install.osxTitle": "Télécharger et installer Functionbeat", - "home.tutorials.common.functionbeatInstructions.install.windowsTextPre": "Vous utilisez Functionbeat pour la première fois ? Consultez le [guide de démarrage rapide]({functionbeatLink}).\n 1. Téléchargez le fichier .zip Functionbeat pour Windows via la page [Télécharger]({elasticLink}).\n 2. Extrayez le contenu du fichier compressé sous {folderPath}.\n 3. Renommez le répertoire `{directoryName}` en `Functionbeat`.\n 4. Ouvrez une invite PowerShell en tant qu'administrateur (faites un clic droit sur l'icône PowerShell et sélectionnez **Exécuter en tant qu'administrateur**). Si vous exécutez Windows XP, vous devrez peut-être télécharger et installer PowerShell.\n 5. Depuis l'invite PowerShell, accédez au répertoire Functionbeat :", + "home.tutorials.common.functionbeatInstructions.install.windowsTextPre": "Vous utilisez Functionbeat pour la première fois ? Consultez le [guide de démarrage rapide]({functionbeatLink}). 1. Téléchargez le fichier .zip Functionbeat pour Windows via la page [Télécharger]({elasticLink}). 2. Extrayez le contenu du fichier compressé sous {folderPath}. 3. Renommez le répertoire `{directoryName}` en `Functionbeat`. 4. Ouvrez une invite PowerShell en tant qu'administrateur (faites un clic droit sur l'icône PowerShell et sélectionnez **Exécuter en tant qu'administrateur**). Si vous exécutez Windows XP, vous devrez peut-être télécharger et installer PowerShell. 5. Depuis l'invite PowerShell, accédez au répertoire Functionbeat :", "home.tutorials.common.functionbeatInstructions.install.windowsTitle": "Télécharger et installer Functionbeat", "home.tutorials.common.functionbeatStatusCheck.buttonLabel": "Vérifier les données", "home.tutorials.common.functionbeatStatusCheck.errorText": "Aucune donnée n'a encore été reçue de Functionbeat.", @@ -4042,16 +4551,16 @@ "home.tutorials.common.heartbeatEnableOnPremInstructions.osxTextPre": "Modifiez le paramètre `heartbeat.monitors` dans le fichier `heartbeat.yml`.", "home.tutorials.common.heartbeatEnableOnPremInstructions.rpmTextPre": "Modifiez le paramètre `heartbeat.monitors` dans le fichier `heartbeat.yml`.", "home.tutorials.common.heartbeatEnableOnPremInstructions.windowsTextPre": "Modifiez le paramètre `heartbeat.monitors` dans le fichier `heartbeat.yml`.", - "home.tutorials.common.heartbeatInstructions.config.debTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur `elastic`, {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer le SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte digitale dans {esCertFingerprintTemplate}.\n\n> **_Important :_** n'employez pas l'utilisateur `elastic` intégré pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", + "home.tutorials.common.heartbeatInstructions.config.debTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur \"elastic\", {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte dans {esCertFingerprintTemplate}. > **_Important :_** N'utilisez pas l'utilisateur intégré `elastic` pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", "home.tutorials.common.heartbeatInstructions.config.debTextPre": "Modifiez {path} afin de définir les informations de connexion :", "home.tutorials.common.heartbeatInstructions.config.debTitle": "Modifier la configuration", - "home.tutorials.common.heartbeatInstructions.config.osxTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur `elastic`, {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer le SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte digitale dans {esCertFingerprintTemplate}.\n\n> **_Important :_** n'employez pas l'utilisateur `elastic` intégré pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", + "home.tutorials.common.heartbeatInstructions.config.osxTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur \"elastic\", {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte dans {esCertFingerprintTemplate}. > **_Important :_** N'utilisez pas l'utilisateur intégré `elastic` pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", "home.tutorials.common.heartbeatInstructions.config.osxTextPre": "Modifiez {path} afin de définir les informations de connexion :", "home.tutorials.common.heartbeatInstructions.config.osxTitle": "Modifier la configuration", - "home.tutorials.common.heartbeatInstructions.config.rpmTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur `elastic`, {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer le SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte digitale dans {esCertFingerprintTemplate}.\n\n> **_Important :_** n'employez pas l'utilisateur `elastic` intégré pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", + "home.tutorials.common.heartbeatInstructions.config.rpmTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur \"elastic\", {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte dans {esCertFingerprintTemplate}. > **_Important :_** N'utilisez pas l'utilisateur intégré `elastic` pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", "home.tutorials.common.heartbeatInstructions.config.rpmTextPre": "Modifiez {path} afin de définir les informations de connexion :", "home.tutorials.common.heartbeatInstructions.config.rpmTitle": "Modifier la configuration", - "home.tutorials.common.heartbeatInstructions.config.windowsTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur `elastic`, {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer le SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte digitale dans {esCertFingerprintTemplate}.\n\n > **_Important :_** n'employez pas l'utilisateur `elastic` intégré pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", + "home.tutorials.common.heartbeatInstructions.config.windowsTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur \"elastic\", {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte dans {esCertFingerprintTemplate}. > **_Important :_** N'utilisez pas l'utilisateur intégré `elastic` pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", "home.tutorials.common.heartbeatInstructions.config.windowsTextPre": "Modifiez {path} afin de définir les informations de connexion :", "home.tutorials.common.heartbeatInstructions.config.windowsTitle": "Modifier la configuration", "home.tutorials.common.heartbeatInstructions.install.debTextPost": "Vous cherchez les packages 32 bits ? Consultez la [page de téléchargement]({link}).", @@ -4062,7 +4571,7 @@ "home.tutorials.common.heartbeatInstructions.install.rpmTextPost": "Vous cherchez les packages 32 bits ? Consultez la [page de téléchargement]({link}).", "home.tutorials.common.heartbeatInstructions.install.rpmTextPre": "Vous utilisez Heartbeat pour la première fois ? Consultez le [guide de démarrage rapide]({link}).", "home.tutorials.common.heartbeatInstructions.install.rpmTitle": "Télécharger et installer Heartbeat", - "home.tutorials.common.heartbeatInstructions.install.windowsTextPre": "Vous utilisez Heartbeat pour la première fois ? Consultez le [guide de démarrage rapide]({heartbeatLink}).\n 1. Téléchargez le fichier .zip Heartbeat pour Windows via la page [Télécharger]({elasticLink}).\n 2. Extrayez le contenu du fichier compressé sous {folderPath}.\n 3. Renommez le répertoire `{directoryName}` en `Heartbeat`.\n 4. Ouvrez une invite PowerShell en tant qu'administrateur (faites un clic droit sur l'icône PowerShell et sélectionnez **Exécuter en tant qu'administrateur**). Si vous exécutez Windows XP, vous devrez peut-être télécharger et installer PowerShell.\n 5. Dans l'invite PowerShell, exécutez les commandes suivantes afin d'installer Heartbeat en tant que service Windows.", + "home.tutorials.common.heartbeatInstructions.install.windowsTextPre": "Vous utilisez Heartbeat pour la première fois ? Consultez le [guide de démarrage rapide]({heartbeatLink}). 1. Téléchargez le fichier .zip Heartbeat pour Windows via la page [Télécharger]({elasticLink}). 2. Extrayez le contenu du fichier compressé sous {folderPath}. 3. Renommez le répertoire `{directoryName}` en `Heartbeat`. 4. Ouvrez une invite PowerShell en tant qu'administrateur (faites un clic droit sur l'icône PowerShell et sélectionnez **Exécuter en tant qu'administrateur**). Si vous exécutez Windows XP, vous devrez peut-être télécharger et installer PowerShell. 5. Dans l'invite PowerShell, exécutez les commandes suivantes afin d'installer Heartbeat en tant que service Windows.", "home.tutorials.common.heartbeatInstructions.install.windowsTitle": "Télécharger et installer Heartbeat", "home.tutorials.common.heartbeatInstructions.start.debTextPre": "La commande `setup` charge le modèle d'indexation Kibana.", "home.tutorials.common.heartbeatInstructions.start.debTitle": "Lancer Heartbeat", @@ -4081,9 +4590,9 @@ "home.tutorials.common.logstashInstructions.install.java.osxTitle": "Télécharger et installer l'environnement d'exécution Java", "home.tutorials.common.logstashInstructions.install.java.windowsTextPre": "Suivez les instructions d'installation [ici]({link}).", "home.tutorials.common.logstashInstructions.install.java.windowsTitle": "Télécharger et installer l'environnement d'exécution Java", - "home.tutorials.common.logstashInstructions.install.logstash.osxTextPre": "Vous utilisez Logstash pour la première fois ? Consultez le [guide de démarrage rapide]({link}).", + "home.tutorials.common.logstashInstructions.install.logstash.osxTextPre": "Vous utilisez Logstash pour la première fois ? Consultez le [guide de démarrage rapide]({link}).", "home.tutorials.common.logstashInstructions.install.logstash.osxTitle": "Télécharger et installer Logstash", - "home.tutorials.common.logstashInstructions.install.logstash.windowsTextPre": "Vous utilisez Logstash pour la première fois ? Consultez le [guide de démarrage rapide]({logstashLink}).\n 1. [Téléchargez]({elasticLink}) le fichier .zip Logstash pour Windows.\n 2. Extrayez le contenu du fichier compressé.", + "home.tutorials.common.logstashInstructions.install.logstash.windowsTextPre": "Vous utilisez Logstash pour la première fois ? Consultez le [guide de démarrage rapide]({logstashLink}). 1. [Téléchargez]({elasticLink}) le fichier .zip Logstash pour Windows. 2. Extrayez le contenu du fichier compressé.", "home.tutorials.common.logstashInstructions.install.logstash.windowsTitle": "Télécharger et installer Logstash", "home.tutorials.common.metricbeat.cloudInstructions.gettingStarted.title": "Commencer", "home.tutorials.common.metricbeat.premCloudInstructions.gettingStarted.title": "Commencer", @@ -4106,16 +4615,16 @@ "home.tutorials.common.metricbeatEnableInstructions.windowsTextPost": "Modifiez les paramètres dans le fichier `modules.d/{moduleName}.yml`.", "home.tutorials.common.metricbeatEnableInstructions.windowsTextPre": "Dans le dossier {path}, exécutez la commande suivante :", "home.tutorials.common.metricbeatEnableInstructions.windowsTitle": "Activer et configurer le module {moduleName}", - "home.tutorials.common.metricbeatInstructions.config.debTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur `elastic`, {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer le SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte digitale dans {esCertFingerprintTemplate}.\n\n > **_Important :_** n'employez pas l'utilisateur `elastic` intégré pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", + "home.tutorials.common.metricbeatInstructions.config.debTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur \"elastic\", {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte dans {esCertFingerprintTemplate}. > **_Important :_** N'utilisez pas l'utilisateur intégré `elastic` pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", "home.tutorials.common.metricbeatInstructions.config.debTextPre": "Modifiez {path} afin de définir les informations de connexion :", "home.tutorials.common.metricbeatInstructions.config.debTitle": "Modifier la configuration", - "home.tutorials.common.metricbeatInstructions.config.osxTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur `elastic`, {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer le SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte digitale dans {esCertFingerprintTemplate}.\n\n > **_Important :_** n'employez pas l'utilisateur `elastic` intégré pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", + "home.tutorials.common.metricbeatInstructions.config.osxTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur \"elastic\", {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte dans {esCertFingerprintTemplate}. > **_Important :_** N'utilisez pas l'utilisateur intégré `elastic` pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", "home.tutorials.common.metricbeatInstructions.config.osxTextPre": "Modifiez {path} afin de définir les informations de connexion :", "home.tutorials.common.metricbeatInstructions.config.osxTitle": "Modifier la configuration", - "home.tutorials.common.metricbeatInstructions.config.rpmTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur `elastic`, {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer le SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte digitale dans {esCertFingerprintTemplate}.\n\n > **_Important :_** n'employez pas l'utilisateur `elastic` intégré pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", + "home.tutorials.common.metricbeatInstructions.config.rpmTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur \"elastic\", {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte dans {esCertFingerprintTemplate}. > **_Important :_** N'utilisez pas l'utilisateur intégré `elastic` pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", "home.tutorials.common.metricbeatInstructions.config.rpmTextPre": "Modifiez {path} afin de définir les informations de connexion :", "home.tutorials.common.metricbeatInstructions.config.rpmTitle": "Modifier la configuration", - "home.tutorials.common.metricbeatInstructions.config.windowsTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur `elastic`, {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer le SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte digitale dans {esCertFingerprintTemplate}.\n\n > **_Important :_** n'employez pas l'utilisateur `elastic` intégré pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", + "home.tutorials.common.metricbeatInstructions.config.windowsTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur \"elastic\", {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte dans {esCertFingerprintTemplate}. > **_Important :_** N'utilisez pas l'utilisateur intégré `elastic` pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", "home.tutorials.common.metricbeatInstructions.config.windowsTextPre": "Modifiez {path} afin de définir les informations de connexion :", "home.tutorials.common.metricbeatInstructions.config.windowsTitle": "Modifier la configuration", "home.tutorials.common.metricbeatInstructions.install.debTextPost": "Vous cherchez les packages 32 bits ? Consultez la [page de téléchargement]({link}).", @@ -4127,7 +4636,7 @@ "home.tutorials.common.metricbeatInstructions.install.rpmTextPre": "Vous utilisez Metricbeat pour la première fois ? Consultez le [guide de démarrage rapide]({link}).", "home.tutorials.common.metricbeatInstructions.install.rpmTitle": "Télécharger et installer Metricbeat", "home.tutorials.common.metricbeatInstructions.install.windowsTextPost": "Modifiez les paramètres sous `output.elasticsearch` dans le fichier {path} afin de pointer vers votre installation Elasticsearch.", - "home.tutorials.common.metricbeatInstructions.install.windowsTextPre": "Vous utilisez Metricbeat pour la première fois ? Consultez le [guide de démarrage rapide]({metricbeatLink}).\n 1. Téléchargez le fichier .zip Metricbeat pour Windows via la page [Télécharger]({elasticLink}).\n 2. Extrayez le contenu du fichier compressé sous {folderPath}.\n 3. Renommez le répertoire `{directoryName}` en `Metricbeat`.\n 4. Ouvrez une invite PowerShell en tant qu'administrateur (faites un clic droit sur l'icône PowerShell et sélectionnez **Exécuter en tant qu'administrateur**). Si vous exécutez Windows XP, vous devrez peut-être télécharger et installer PowerShell.\n 5. Dans l'invite PowerShell, exécutez les commandes suivantes afin d'installer Metricbeat en tant que service Windows.", + "home.tutorials.common.metricbeatInstructions.install.windowsTextPre": "Vous utilisez Metricbeat pour la première fois ? Consultez le [guide de démarrage rapide]({metricbeatLink}). 1. Téléchargez le fichier .zip Metricbeat pour Windows via la page [Télécharger]({elasticLink}). 2. Extrayez le contenu du fichier compressé sous {folderPath}. 3. Renommez le répertoire `{directoryName}` en `Metricbeat`. 4. Ouvrez une invite PowerShell en tant qu'administrateur (faites un clic droit sur l'icône PowerShell et sélectionnez **Exécuter en tant qu'administrateur**). Si vous exécutez Windows XP, vous devrez peut-être télécharger et installer PowerShell. 5. Dans l'invite PowerShell, exécutez les commandes suivantes afin d'installer Metricbeat en tant que service Windows.", "home.tutorials.common.metricbeatInstructions.install.windowsTitle": "Télécharger et installer Metricbeat", "home.tutorials.common.metricbeatInstructions.start.debTextPre": "La commande `setup` charge les tableaux de bord Kibana. Si les tableaux de bord sont déjà configurés, omettez cette commande.", "home.tutorials.common.metricbeatInstructions.start.debTitle": "Lancer Metricbeat", @@ -4142,20 +4651,20 @@ "home.tutorials.common.metricbeatStatusCheck.successText": "Des données ont été reçues de ce module.", "home.tutorials.common.metricbeatStatusCheck.text": "Vérifier que des données sont reçues du module Metricbeat `{moduleName}`", "home.tutorials.common.metricbeatStatusCheck.title": "Statut du module", - "home.tutorials.common.premCloudInstructions.option1.textPre": "Rendez-vous sur [Elastic Cloud]({link}). Enregistrez-vous si vous n'avez pas encore de compte. Un essai gratuit de 14 jours est disponible.\n\nConnectez-vous à la console Elastic Cloud.\n\nPour créer un cluster, dans la console Elastic Cloud :\n 1. Sélectionnez **Créer un déploiement** et spécifiez le **Nom du déploiement**.\n 2. Modifiez les autres options de déploiement selon les besoins (sinon, les valeurs par défaut sont très bien pour commencer).\n 3. Cliquer sur **Créer un déploiement**\n 4. Attendre la fin de la création du déploiement\n 5. Accéder à la nouvelle instance cloud Kibana et suivre les instructions de la page d'accueil de Kibana", + "home.tutorials.common.premCloudInstructions.option1.textPre": "Rendez-vous sur [Elastic Cloud]({link}). Enregistrez-vous si vous n'avez pas encore de compte. Un essai gratuit de 14 jours est disponible. Connectez-vous à la console Elastic Cloud Pour créer un cluster, il suffit de : 1. Sélectionner **Créer un déploiement** et spécifier le **Nom du déploiement** 2. Modifier les autres options de déploiement selon les besoins (sinon, les valeurs par défaut sont très bien pour commencer) 3. Cliquer sur **Créer un déploiement** 4. Attendre la fin de la création du déploiement 5. Accéder à la nouvelle instance cloud Kibana et suivre les instructions de la page d'accueil de Kibana", "home.tutorials.common.premCloudInstructions.option1.title": "Option 1 : essayer dans Elastic Cloud", - "home.tutorials.common.premCloudInstructions.option2.textPre": "Si vous exécutez cette instance Kibana sur une instance Elasticsearch hébergée, passez à la configuration manuelle.\n\nEnregistrez le point de terminaison **Elasticsearch** en tant que {urlTemplate} et le cluster **Mot de passe** en tant que {passwordTemplate} pour les conserver.", + "home.tutorials.common.premCloudInstructions.option2.textPre": "Si vous exécutez cette instance Kibana sur une instance Elasticsearch hébergée, passez à la configuration manuelle. Enregistrez le point de terminaison **Elasticsearch** en tant que {urlTemplate} et le cluster **Mot de passe** en tant que {passwordTemplate} pour les conserver.", "home.tutorials.common.premCloudInstructions.option2.title": "Option 2 : connecter un Kibana local à une instance cloud", "home.tutorials.common.winlogbeat.cloudInstructions.gettingStarted.title": "Premiers pas", "home.tutorials.common.winlogbeat.premCloudInstructions.gettingStarted.title": "Commencer", "home.tutorials.common.winlogbeat.premInstructions.gettingStarted.title": "Commencer", "home.tutorials.common.winlogbeatCloudInstructions.config.windowsTextPre": "Modifiez {path} afin de définir les informations de connexion pour Elastic Cloud :", "home.tutorials.common.winlogbeatCloudInstructions.config.windowsTitle": "Modifier la configuration", - "home.tutorials.common.winlogbeatInstructions.config.windowsTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur `elastic`, {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer le SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte digitale dans {esCertFingerprintTemplate}.\n\n > **_Important :_** n'employez pas l'utilisateur `elastic` intégré pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", + "home.tutorials.common.winlogbeatInstructions.config.windowsTextPostMarkdown": "Où {passwordTemplate} est le mot de passe de l'utilisateur \"elastic\", {esUrlTemplate} est l'URL d'Elasticsearch et {kibanaUrlTemplate} est l'URL de Kibana. Pour [configurer SSL]({configureSslUrl}) avec le certificat par défaut généré par Elasticsearch, ajoutez son empreinte dans {esCertFingerprintTemplate}. > **_Important :_** N'utilisez pas l'utilisateur intégré `elastic` pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration. [Learn more]({linkUrl}).", "home.tutorials.common.winlogbeatInstructions.config.windowsTextPre": "Modifiez {path} afin de définir les informations de connexion :", "home.tutorials.common.winlogbeatInstructions.config.windowsTitle": "Modifier la configuration", "home.tutorials.common.winlogbeatInstructions.install.windowsTextPost": "Modifiez les paramètres sous `output.elasticsearch` dans le fichier {path} afin de pointer vers votre installation Elasticsearch.", - "home.tutorials.common.winlogbeatInstructions.install.windowsTextPre": "Vous utilisez Winlogbeat pour la première fois ? Consultez le [guide de démarrage rapide]({winlogbeatLink}).\n 1. Téléchargez le fichier .zip Winlogbeat pour Windows via la page [Télécharger]({elasticLink}).\n 2. Extrayez le contenu du fichier compressé sous {folderPath}.\n 3. Renommez le répertoire `{directoryName}` en `Winlogbeat`.\n 4. Ouvrez une invite PowerShell en tant qu'administrateur (faites un clic droit sur l'icône PowerShell et sélectionnez **Exécuter en tant qu'administrateur**). Si vous exécutez Windows XP, vous devrez peut-être télécharger et installer PowerShell.\n 5. Dans l'invite PowerShell, exécutez les commandes suivantes afin d'installer Winlogbeat en tant que service Windows.", + "home.tutorials.common.winlogbeatInstructions.install.windowsTextPre": "Vous utilisez Winlogbeat pour la première fois ? Consultez le [guide de démarrage rapide]({winlogbeatLink}). 1. Téléchargez le fichier .zip Winlogbeat pour Windows via la page [Télécharger]({elasticLink}). 2. Extrayez le contenu du fichier compressé sous {folderPath}. 3. Renommez le répertoire `{directoryName}` en `Winlogbeat`. 4. Ouvrez une invite PowerShell en tant qu'administrateur (faites un clic droit sur l'icône PowerShell et sélectionnez **Exécuter en tant qu'administrateur**). Si vous exécutez Windows XP, vous devrez peut-être télécharger et installer PowerShell. 5. Dans l'invite PowerShell, exécutez les commandes suivantes afin d'installer Winlogbeat en tant que service Windows.", "home.tutorials.common.winlogbeatInstructions.install.windowsTitle": "Télécharger et installer Winlogbeat", "home.tutorials.common.winlogbeatInstructions.start.windowsTextPre": "La commande `setup` charge les tableaux de bord Kibana. Si les tableaux de bord sont déjà configurés, omettez cette commande.", "home.tutorials.common.winlogbeatInstructions.start.windowsTitle": "Lancer Winlogbeat", @@ -4185,7 +4694,7 @@ "home.tutorials.couchdbMetrics.nameTitle": "Indicateurs CouchDB", "home.tutorials.couchdbMetrics.shortDescription": "Collectez les indicateurs à partir des serveurs CouchDB avec Metricbeat.", "home.tutorials.crowdstrikeLogs.artifacts.dashboards.linkLabel": "Application Security", - "home.tutorials.crowdstrikeLogs.longDescription": "Il s'agit du module Filebeat pour CrowdStrike Falcon utilisant le [connecteur SIEM](https://www.crowdstrike.com/blog/tech-center/integrate-with-your-siem) Falcon. Ce module collecte ces données, les convertit en ECS et les ingère pour les afficher dans le SIEM. Par défaut, le connecteur SIEM Falcon génère les données d'événement de l'API de streaming Falcon au format JSON. [En savoir plus]({learnMoreLink}).", + "home.tutorials.crowdstrikeLogs.longDescription": "Il s'agit du module Filebeat pour CrowdStrike Falcon utilisant le [connecteur SIEM](https://www.crowdstrike.com/blog/tech-center/integrate-with-your-siem) Falcon. Ce module collecte ces données, les convertit en ECS et les ingère pour les afficher dans le SIEM. Par défaut, le connecteur SIEM Falcon génère les données d'événement de l'API de streaming Falcon au format JSON. [En savoir plus]({learnMoreLink}).", "home.tutorials.crowdstrikeLogs.nameTitle": "Logs CrowdStrike", "home.tutorials.crowdstrikeLogs.shortDescription": "Collectez et analysez les logs à partir de CrowdStrike Falcon à l'aide du Falcon SIEM Connector avec Filebeat.", "home.tutorials.cylanceLogs.artifacts.dashboards.linkLabel": "Application Security", @@ -4384,7 +4893,7 @@ "home.tutorials.o365Logs.nameTitle": "Logs Office 365", "home.tutorials.o365Logs.shortDescription": "Collectez et analysez les logs à partir d'Office 365 avec Filebeat.", "home.tutorials.oktaLogs.artifacts.dashboards.linkLabel": "Aperçu d'Okta", - "home.tutorials.oktaLogs.longDescription": "Le module Okta collecte les événements de l'[API Okta](https://developer.okta.com/docs/reference/). Plus précisément, il prend en charge la lecture depuis l'[API de log système Okta](https://developer.okta.com/docs/reference/api/system-log/). [En savoir plus]({learnMoreLink}).", + "home.tutorials.oktaLogs.longDescription": "Le module Okta collecte les événements de l'[API Okta](https://developer.okta.com/docs/reference/). Plus précisément, il prend en charge la lecture depuis l'[API de log système Okta](https://developer.okta.com/docs/reference/api/system-log/). [En savoir plus]({learnMoreLink}).", "home.tutorials.oktaLogs.nameTitle": "Logs Okta", "home.tutorials.oktaLogs.shortDescription": "Collectez et analysez les logs à partir de l'API Okta avec Filebeat.", "home.tutorials.openmetricsMetrics.longDescription": "Le module Metricbeat `openmetrics` récupère des indicateurs depuis un point de terminaison fournissant des indicateurs au format OpenMetrics. [En savoir plus]({learnMoreLink}).", @@ -4395,7 +4904,7 @@ "home.tutorials.oracleMetrics.nameTitle": "Indicateurs Oracle", "home.tutorials.oracleMetrics.shortDescription": "Collectez les indicateurs à partir de serveurs Oracle avec Metricbeat.", "home.tutorials.osqueryLogs.artifacts.dashboards.linkLabel": "Pack de conformité osquery", - "home.tutorials.osqueryLogs.longDescription": "Le module collecte et décode les logs de résultats écrits par [osqueryd](https://osquery.readthedocs.io/en/latest/introduction/using-osqueryd/) au format JSON. Pour configurer `osqueryd`, suivez les instructions d'installation d'osquery pour votre système d'exploitation et configurez le pilote de logging `filesystem` (celui par défaut). Assurez-vous que les horodatages UTC sont activés. [En savoir plus]({learnMoreLink}).", + "home.tutorials.osqueryLogs.longDescription": "Le module collecte et décode les logs de résultats écrits par [osqueryd](https://osquery.readthedocs.io/en/latest/introduction/using-osqueryd/) au format JSON. Pour configurer `osqueryd`, suivez les instructions d'installation d'osquery pour votre système d'exploitation et configurez le pilote de logging `filesystem` (celui par défaut). Assurez-vous que les horodatages UTC sont activés. [En savoir plus]({learnMoreLink}).", "home.tutorials.osqueryLogs.nameTitle": "Logs osquery", "home.tutorials.osqueryLogs.shortDescription": "Collectez et analysez les logs à partir d'Osquery avec Filebeat.", "home.tutorials.panwLogs.artifacts.dashboards.linkLabel": "Flux de réseau PANW", @@ -4459,7 +4968,7 @@ "home.tutorials.statsdMetrics.nameTitle": "Indicateurs statsd", "home.tutorials.statsdMetrics.shortDescription": "Collectez les indicateurs à partir de serveurs Statsd avec Metricbeat.", "home.tutorials.suricataLogs.artifacts.dashboards.linkLabel": "Aperçu des événements Suricata", - "home.tutorials.suricataLogs.longDescription": "Il s'agit d'un module pour le log IDS/IPS/NSM Suricata. Il analyse les logs qui sont au [format JSON Suricata Eve](https://suricata.readthedocs.io/en/latest/output/eve/eve-json-format.html). [En savoir plus]({learnMoreLink}).", + "home.tutorials.suricataLogs.longDescription": "Il s'agit d'un module pour le log IDS/IPS/NSM Suricata. Il analyse les logs qui sont au [format JSON Suricata Eve](https://suricata.readthedocs.io/en/latest/output/eve/eve-json-format.html). [En savoir plus]({learnMoreLink}).", "home.tutorials.suricataLogs.nameTitle": "Logs Suricata", "home.tutorials.suricataLogs.shortDescription": "Collectez et analysez les logs à partir de Suricata IDS/IPS/NSM avec Filebeat.", "home.tutorials.systemLogs.artifacts.dashboards.linkLabel": "Tableau de bord Syslog système", @@ -4482,7 +4991,7 @@ "home.tutorials.traefikMetrics.nameTitle": "Indicateurs Traefik", "home.tutorials.traefikMetrics.shortDescription": "Collectez les indicateurs à partir de Traefik avec Metricbeat.", "home.tutorials.uptimeMonitors.artifacts.dashboards.linkLabel": "Application Uptime", - "home.tutorials.uptimeMonitors.longDescription": "Monitorez la disponibilité des services grâce à une détection active. À partir d'une liste d'URL, Heartbeat pose cette question toute simple : Êtes-vous actif ? [En savoir plus]({learnMoreLink}).", + "home.tutorials.uptimeMonitors.longDescription": "Monitorez la disponibilité des services grâce à une détection active. À partir d'une liste d'URL, Heartbeat pose cette question toute simple : Êtes-vous actif ? [En savoir plus]({learnMoreLink}).", "home.tutorials.uptimeMonitors.nameTitle": "Monitorings Uptime", "home.tutorials.uptimeMonitors.shortDescription": "Surveillez la disponibilité des services avec Heartbeat.", "home.tutorials.uwsgiMetrics.artifacts.dashboards.linkLabel": "Tableau de bord des indicateurs uWSGI", @@ -4502,7 +5011,7 @@ "home.tutorials.windowsMetrics.nameTitle": "Indicateurs Windows", "home.tutorials.windowsMetrics.shortDescription": "Collectez les indicateurs à partir de Windows avec Metricbeat.", "home.tutorials.zeekLogs.artifacts.dashboards.linkLabel": "Aperçu de Zeek", - "home.tutorials.zeekLogs.longDescription": "Il s'agit d'un module pour Zeek, anciennement appelé Bro. Il analyse les logs qui sont au [format JSON Zeek](https://www.zeek.org/manual/release/logs/index.html). [En savoir plus]({learnMoreLink}).", + "home.tutorials.zeekLogs.longDescription": "Il s'agit d'un module pour Zeek, anciennement appelé Bro. Il analyse les logs qui sont au [format JSON Zeek](https://www.zeek.org/manual/release/logs/index.html). [En savoir plus]({learnMoreLink}).", "home.tutorials.zeekLogs.nameTitle": "Logs Zeek", "home.tutorials.zeekLogs.shortDescription": "Collectez et analysez les logs à partir de la sécurité réseau Zeek avec Filebeat.", "home.tutorials.zookeeperMetrics.artifacts.application.label": "Discover", @@ -4612,6 +5121,9 @@ "indexPatternEditor.rollup.uncaughtError": "Erreur de vue de données de cumul : {error}", "indexPatternEditor.rollupDataView.createIndex.noMatchError": "Erreur de vue de données de cumul : doit correspondre à un index de cumul", "indexPatternEditor.rollupDataView.createIndex.tooManyMatchesError": "Erreur de vue de données de cumul : ne peut correspondre qu’à un index de cumul", + "indexPatternEditor.rollupDataView.deprecationWarning.downsamplingLink": "Sous-échantillonnage", + "indexPatternEditor.rollupDataView.deprecationWarning.textParagraphOne": "Les cumuls sont obsolètes et seront supprimés dans une version ultérieure. {downsamplingLink} peut être utilisé comme solution de rechange.", + "indexPatternEditor.rollupIndexPattern.deprecationWarning.title": "Déclassé dans la version 8.11.0", "indexPatternEditor.saved": "Enregistré", "indexPatternEditor.status.matchAnyLabel.matchAnyDetail": "Votre modèle d'indexation peut correspondre à {sourceCount, plural, one {# source} other {# sources} }.", "indexPatternEditor.status.noSystemIndicesLabel": "Aucun flux de données, index ni alias d'index ne correspond à votre modèle d'indexation.", @@ -4702,7 +5214,7 @@ "indexPatternFieldEditor.editor.form.formatTitle": "Définir le format", "indexPatternFieldEditor.editor.form.nameAriaLabel": "Champ Nom", "indexPatternFieldEditor.editor.form.nameLabel": "Nom", - "indexPatternFieldEditor.editor.form.popularityDescription": "Définissez la popularité pour que le champ apparaisse plus haut ou plus bas dans la liste des champs. Par défaut, Discover classe les champs du plus souvent sélectionné au moins souvent sélectionné.", + "indexPatternFieldEditor.editor.form.popularityDescription": "Définissez la popularité pour que le champ apparaisse plus haut ou plus bas dans la liste des champs. Par défaut, Discover classe les champs du plus souvent sélectionné au moins souvent sélectionné.", "indexPatternFieldEditor.editor.form.popularityLabel": "Popularité", "indexPatternFieldEditor.editor.form.popularityTitle": "Définir la popularité", "indexPatternFieldEditor.editor.form.runtimeType.placeholderLabel": "Sélectionner un type", @@ -5106,7 +5618,7 @@ "inspector.requests.clustersTabLabel": "Clusters et partitions", "inspector.requests.copyToClipboardLabel": "Copier dans le presse-papiers", "inspector.requests.descriptionRowIconAriaLabel": "Description", - "inspector.requests.failedLabel": " (échec)", + "inspector.requests.failedLabel": "(échec)", "inspector.requests.noRequestsLoggedDescription.elementHasNotLoggedAnyRequestsText": "L'élément n'a pas (encore) consigné de requêtes.", "inspector.requests.noRequestsLoggedDescription.whatDoesItUsuallyMeanText": "Cela signifie généralement qu'il n'était pas nécessaire de récupérer des données ou que l'élément n'a pas encore commencé à récupérer des données.", "inspector.requests.noRequestsLoggedTitle": "Aucune requête consignée", @@ -5194,7 +5706,12 @@ "interactiveSetup.verificationCodeForm.submitButton": "{isSubmitting, select, true{Vérification…} other{Vérifier}}", "interactiveSetup.verificationCodeForm.submitErrorTitle": "Vérification du code impossible", "interactiveSetup.verificationCodeForm.title": "Vérification requise", + "kbn-esql-validation-autocomplete.esql.autocomplete.addDateHistogram": "Ajouter un histogramme des dates", + "kbn-esql-validation-autocomplete.esql.autocomplete.addDateHistogramDetail": "Ajouter un histogramme des dates en utilisant bucket()", + "kbn-esql-validation-autocomplete.esql.autocomplete.allStarConstantDoc": "Tous (*)", "kbn-esql-validation-autocomplete.esql.autocomplete.aPatternString": "Une chaîne modèle", + "kbn-esql-validation-autocomplete.esql.autocomplete.chooseFromTimePicker": "Cliquez pour choisir", + "kbn-esql-validation-autocomplete.esql.autocomplete.chooseFromTimePickerLabel": "Choisissez parmi le sélecteur de période", "kbn-esql-validation-autocomplete.esql.autocomplete.colonDoc": "Deux points (:)", "kbn-esql-validation-autocomplete.esql.autocomplete.commaDoc": "Virgule (,)", "kbn-esql-validation-autocomplete.esql.autocomplete.constantDefinition": "Constant", @@ -5205,11 +5722,15 @@ "kbn-esql-validation-autocomplete.esql.autocomplete.integrationDefinition": "Intégration", "kbn-esql-validation-autocomplete.esql.autocomplete.listDoc": "Liste d'éléments (…)", "kbn-esql-validation-autocomplete.esql.autocomplete.matchingFieldDefinition": "Utiliser pour correspondance avec {matchingField} de la politique", + "kbn-esql-validation-autocomplete.esql.autocomplete.namedParamDefinition": "Paramètre nommé", "kbn-esql-validation-autocomplete.esql.autocomplete.newVarDoc": "Définir une nouvelle variable", "kbn-esql-validation-autocomplete.esql.autocomplete.noPoliciesLabel": "Pas de stratégie disponible", "kbn-esql-validation-autocomplete.esql.autocomplete.noPoliciesLabelsFound": "Cliquez pour créer", "kbn-esql-validation-autocomplete.esql.autocomplete.pipeDoc": "Barre verticale (|)", "kbn-esql-validation-autocomplete.esql.autocomplete.semiColonDoc": "Point-virgule (;)", + "kbn-esql-validation-autocomplete.esql.autocomplete.sourceDefinition": "{type}", + "kbn-esql-validation-autocomplete.esql.autocomplete.timeSystemParamEnd": "L'heure de fin à partir du sélecteur de date", + "kbn-esql-validation-autocomplete.esql.autocomplete.timeSystemParamStart": "L'heure de début à partir du sélecteur de date", "kbn-esql-validation-autocomplete.esql.autocomplete.valueDefinition": "Valeur littérale", "kbn-esql-validation-autocomplete.esql.autocomplete.variableDefinition": "Variable spécifiée par l'utilisateur dans la requête ES|QL", "kbn-esql-validation-autocomplete.esql.definition.addDoc": "Ajouter (+)", @@ -5220,7 +5741,7 @@ "kbn-esql-validation-autocomplete.esql.definition.greaterThanDoc": "Supérieur à", "kbn-esql-validation-autocomplete.esql.definition.greaterThanOrEqualToDoc": "Supérieur ou égal à", "kbn-esql-validation-autocomplete.esql.definition.inDoc": "Teste si la valeur d'une expression est contenue dans une liste d'autres expressions", - "kbn-esql-validation-autocomplete.esql.definition.infoDoc": "Afficher des informations sur le nœud ES actuel", + "kbn-esql-validation-autocomplete.esql.definition.infoDoc": "Spécifier les modificateurs de tri des colonnes", "kbn-esql-validation-autocomplete.esql.definition.isNotNullDoc": "Prédicat pour la comparaison NULL : renvoie \"true\" si la valeur n'est pas NULL", "kbn-esql-validation-autocomplete.esql.definition.isNullDoc": "Prédicat pour la comparaison NULL : renvoie \"true\" si la valeur est NULL", "kbn-esql-validation-autocomplete.esql.definition.lessThanDoc": "Inférieur à", @@ -5237,13 +5758,15 @@ "kbn-esql-validation-autocomplete.esql.definitions.acos": "Renvoie l'arc cosinus de `n` sous forme d'angle, exprimé en radians.", "kbn-esql-validation-autocomplete.esql.definitions.appendSeparatorDoc": "Le ou les caractères qui séparent les champs ajoutés. A pour valeur par défaut une chaîne vide (\"\").", "kbn-esql-validation-autocomplete.esql.definitions.asDoc": "En tant que", - "kbn-esql-validation-autocomplete.esql.definitions.asin": "Renvoie l'arc sinus de l'entrée\nexpression numérique sous forme d'angle, exprimée en radians.", - "kbn-esql-validation-autocomplete.esql.definitions.atan": "Renvoie l'arc tangente de l'entrée\nexpression numérique sous forme d'angle, exprimée en radians.", - "kbn-esql-validation-autocomplete.esql.definitions.atan2": "L'angle entre l'axe positif des x et le rayon allant de\nl'origine au point (x , y) dans le plan cartésien, exprimée en radians.", + "kbn-esql-validation-autocomplete.esql.definitions.asin": "Renvoie l'arc sinus de l'expression numérique sous forme d'angle, exprimé en radians.", + "kbn-esql-validation-autocomplete.esql.definitions.atan": "Renvoie l'arc tangente de l'expression numérique sous forme d'angle, exprimé en radians.", + "kbn-esql-validation-autocomplete.esql.definitions.atan2": "L'angle entre l'axe positif des x et le rayon allant de l'origine au point (x , y) dans le plan cartésien, exprimé en radians.", "kbn-esql-validation-autocomplete.esql.definitions.autoBucketDoc": "Groupement automatique des dates en fonction d'une plage et d'un compartiment cible donnés.", + "kbn-esql-validation-autocomplete.esql.definitions.avg": "La moyenne d'un champ numérique.", "kbn-esql-validation-autocomplete.esql.definitions.byDoc": "Par", "kbn-esql-validation-autocomplete.esql.definitions.case": "Accepte les paires de conditions et de valeurs. La fonction renvoie la valeur correspondant à la première condition évaluée à `true` (vraie). Si le nombre d'arguments est impair, le dernier argument est la valeur par défaut qui est renvoyée si aucune condition ne correspond.", - "kbn-esql-validation-autocomplete.esql.definitions.cbrt": "Renvoie la racine cubique d'un nombre. La valeur de renvoi est toujours un double, quelle que soit la valeur numérique de l'entrée.\nLa racine cubique de l’infini est nulle.", + "kbn-esql-validation-autocomplete.esql.definitions.categorize": "Catégorise les messages texte.", + "kbn-esql-validation-autocomplete.esql.definitions.cbrt": "Renvoie la racine cubique d'un nombre. La valeur de renvoi est toujours un double, quelle que soit la valeur numérique de l'entrée. La racine cubique de l’infini est nulle.", "kbn-esql-validation-autocomplete.esql.definitions.ccqAnyDoc": "L'enrichissement a lieu sur n'importe quel cluster", "kbn-esql-validation-autocomplete.esql.definitions.ccqCoordinatorDoc": "L'enrichissement a lieu sur le cluster de coordination qui reçoit une requête ES|QL", "kbn-esql-validation-autocomplete.esql.definitions.ccqModeDoc": "Mode de requête inter-clusters", @@ -5253,8 +5776,10 @@ "kbn-esql-validation-autocomplete.esql.definitions.coalesce": "Renvoie le premier de ses arguments qui n'est pas nul. Si tous les arguments sont nuls, `null` est renvoyé.", "kbn-esql-validation-autocomplete.esql.definitions.concat": "Concatène deux ou plusieurs chaînes.", "kbn-esql-validation-autocomplete.esql.definitions.cos": "Renvoie le cosinus d'un angle.", - "kbn-esql-validation-autocomplete.esql.definitions.cosh": "Renvoie le cosinus hyperbolique d'un angle.", - "kbn-esql-validation-autocomplete.esql.definitions.date_diff": "Soustrait le `startTimestamp` du `endTimestamp` et renvoie la différence en multiples d'`unité`.\nSi `startTimestamp` est postérieur à `endTimestamp`, des valeurs négatives sont renvoyées.", + "kbn-esql-validation-autocomplete.esql.definitions.cosh": "Renvoie le cosinus hyperbolique d'un nombre.", + "kbn-esql-validation-autocomplete.esql.definitions.count": "Renvoie le nombre total de valeurs en entrée.", + "kbn-esql-validation-autocomplete.esql.definitions.count_distinct": "Renvoie le nombre approximatif de valeurs distinctes.", + "kbn-esql-validation-autocomplete.esql.definitions.date_diff": "Soustrait le `startTimestamp` du `endTimestamp` et renvoie la différence en multiples d'`unité`. Si `startTimestamp` est postérieur à `endTimestamp`, des valeurs négatives sont renvoyées.", "kbn-esql-validation-autocomplete.esql.definitions.date_extract": "Extrait des parties d'une date, telles que l'année, le mois, le jour, l'heure.", "kbn-esql-validation-autocomplete.esql.definitions.date_format": "Renvoie une représentation sous forme de chaîne d'une date dans le format fourni.", "kbn-esql-validation-autocomplete.esql.definitions.date_parse": "Renvoie une date en analysant le deuxième argument selon le format spécifié dans le premier argument.", @@ -5283,34 +5808,44 @@ "kbn-esql-validation-autocomplete.esql.definitions.ends_with": "Renvoie une valeur booléenne qui indique si une chaîne de mots-clés se termine par une autre chaîne.", "kbn-esql-validation-autocomplete.esql.definitions.enrichDoc": "Enrichissez le tableau à l'aide d'un autre tableau. Avant de pouvoir utiliser l'enrichissement, vous devez créer et exécuter une politique d'enrichissement.", "kbn-esql-validation-autocomplete.esql.definitions.evalDoc": "Calcule une expression et place la valeur résultante dans un champ de résultats de recherche.", + "kbn-esql-validation-autocomplete.esql.definitions.exp": "Renvoie la valeur de \"e\" élevée à la puissance d'un nombre donné.", "kbn-esql-validation-autocomplete.esql.definitions.floor": "Arrondir un nombre à l'entier inférieur.", "kbn-esql-validation-autocomplete.esql.definitions.from_base64": "Décodez une chaîne base64.", "kbn-esql-validation-autocomplete.esql.definitions.fromDoc": "Récupère les données à partir d'un ou plusieurs flux de données, index ou alias. Dans une requête ou une sous-requête, vous devez utiliser d'abord la commande from, et cette dernière ne nécessite pas de barre verticale au début. Par exemple, pour récupérer des données d'un index :", - "kbn-esql-validation-autocomplete.esql.definitions.greatest": "Renvoie la valeur maximale de plusieurs colonnes. Similaire à `MV_MAX`\nsauf que ceci est destiné à une exécution sur plusieurs colonnes à la fois.", + "kbn-esql-validation-autocomplete.esql.definitions.greatest": "Renvoie la valeur maximale de plusieurs colonnes. Cette fonction est similaire à `MV_MAX`. Toutefois, elle est destinée à être exécutée sur plusieurs colonnes à la fois.", "kbn-esql-validation-autocomplete.esql.definitions.grokDoc": "Extrait de multiples valeurs de chaîne à partir d'une entrée de chaîne unique, suivant un modèle", + "kbn-esql-validation-autocomplete.esql.definitions.hypot": "Renvoie l'hypoténuse de deux nombres. La valeur de renvoi est toujours un double, quelle que soit la valeur numérique de l'entrée. Les hypoténuses des infinis sont nulles.", + "kbn-esql-validation-autocomplete.esql.definitions.inlineStatsDoc": "Calcule un résultat agrégé et fusionne ce résultat dans le flux de données d'entrée. Sans la clause facultative `BY`, cela produira un résultat unique qui sera ajouté à chaque ligne. Avec une clause `BY`, cela produira un résultat par regroupement et fusionnera le résultat dans le flux en fonction des clés de groupe correspondantes.", "kbn-esql-validation-autocomplete.esql.definitions.ip_prefix": "Tronque une adresse IP à une longueur de préfixe donnée.", "kbn-esql-validation-autocomplete.esql.definitions.keepDoc": "Réarrange les champs dans le tableau d'entrée en appliquant les clauses \"KEEP\" dans les champs", "kbn-esql-validation-autocomplete.esql.definitions.least": "Renvoie la valeur minimale de plusieurs colonnes. Cette fonction est similaire à `MV_MIN`. Toutefois, elle est destinée à être exécutée sur plusieurs colonnes à la fois.", "kbn-esql-validation-autocomplete.esql.definitions.left": "Renvoie la sous-chaîne qui extrait la 'longueur' des caractères de la 'chaîne' en partant de la gauche.", "kbn-esql-validation-autocomplete.esql.definitions.length": "Renvoie la longueur des caractères d'une chaîne.", "kbn-esql-validation-autocomplete.esql.definitions.limitDoc": "Renvoie les premiers résultats de recherche, dans l'ordre de recherche, en fonction de la \"limite\" spécifiée.", - "kbn-esql-validation-autocomplete.esql.definitions.locate": "Renvoie un entier qui indique la position d'une sous-chaîne de mots-clés dans une autre chaîne", - "kbn-esql-validation-autocomplete.esql.definitions.log": "Renvoie le logarithme d'une valeur dans une base. La valeur de renvoi est toujours un double, quelle que soit la valeur numérique de l'entrée.\n\nLes journaux de zéros, de nombres négatifs et de base 1 renvoient `null` ainsi qu'un avertissement.", - "kbn-esql-validation-autocomplete.esql.definitions.log10": "Renvoie le logarithme d'une valeur en base 10. La valeur de renvoi est toujours un double, quelle que soit la valeur numérique de l'entrée.\n\nLes logs de 0 et de nombres négatifs renvoient `null` ainsi qu'un avertissement.", + "kbn-esql-validation-autocomplete.esql.definitions.locate": "Renvoie un entier qui indique la position d'une sous-chaîne de mots-clés dans une autre chaîne. Renvoie `0` si la sous-chaîne ne peut pas être trouvée. Notez que les positions des chaînes commencent à partir de `1`.", + "kbn-esql-validation-autocomplete.esql.definitions.log": "Renvoie le logarithme d'une valeur dans une base. La valeur de renvoi est toujours un double, quelle que soit la valeur numérique de l'entrée. Les journaux de zéros, de nombres négatifs et de base 1 renvoient `null` ainsi qu'un avertissement.", + "kbn-esql-validation-autocomplete.esql.definitions.log10": "Renvoie le logarithme d'une valeur en base 10. La valeur de renvoi est toujours un double, quelle que soit la valeur numérique de l'entrée. Les logs de 0 et de nombres négatifs renvoient `null` ainsi qu'un avertissement.", "kbn-esql-validation-autocomplete.esql.definitions.ltrim": "Retire les espaces au début des chaînes.", + "kbn-esql-validation-autocomplete.esql.definitions.max": "La valeur maximale d'un champ.", + "kbn-esql-validation-autocomplete.esql.definitions.median": "La valeur qui est supérieure à la moitié de toutes les valeurs et inférieure à la moitié de toutes les valeurs, également connue sous le nom de `PERCENTILE` 50.", + "kbn-esql-validation-autocomplete.esql.definitions.median_absolute_deviation": "Renvoie l'écart absolu médian, une mesure de la variabilité. Il s'agit d'un indicateur robuste, ce qui signifie qu'il est utile pour décrire des données qui peuvent présenter des valeurs aberrantes ou ne pas être normalement distribuées. Pour de telles données, il peut être plus descriptif que l'écart-type. Il est calculé comme la médiane de chaque écart de point de données par rapport à la médiane de l'ensemble de l'échantillon. Autrement dit, pour une variable aléatoire `X`, l'écart absolu médian est `median(|median(X) - X|)`.", "kbn-esql-validation-autocomplete.esql.definitions.metadataDoc": "Métadonnées", "kbn-esql-validation-autocomplete.esql.definitions.metricsDoc": "Une commande source spécifique aux indicateurs, utilisez-la pour charger des données à partir des index de TSDB. Similaire à la commande STATS : calcule les statistiques agrégées, telles que la moyenne, le décompte et la somme, sur l'ensemble des résultats de recherche entrants. Si elle est utilisée sans clause BY, une seule ligne est renvoyée, qui est l'agrégation de tout l'ensemble des résultats de recherche entrants. Lorsque vous utilisez une clause BY, une ligne est renvoyée pour chaque valeur distincte dans le champ spécifié dans la clause BY. La commande renvoie uniquement les champs dans l'agrégation, et vous pouvez utiliser un large éventail de fonctions statistiques avec la commande stats. Lorsque vous effectuez plusieurs agrégations, séparez chacune d'entre elle par une virgule.", + "kbn-esql-validation-autocomplete.esql.definitions.min": "La valeur minimale d'un champ.", "kbn-esql-validation-autocomplete.esql.definitions.mv_append": "Concatène les valeurs de deux champs à valeurs multiples.", "kbn-esql-validation-autocomplete.esql.definitions.mv_avg": "Convertit un champ multivalué en un champ à valeur unique comprenant la moyenne de toutes les valeurs.", "kbn-esql-validation-autocomplete.esql.definitions.mv_concat": "Convertit une expression de type chaîne multivalué en une colonne à valeur unique comprenant la concaténation de toutes les valeurs, séparées par un délimiteur.", "kbn-esql-validation-autocomplete.esql.definitions.mv_count": "Convertit une expression multivaluée en une colonne à valeur unique comprenant le total du nombre de valeurs.", "kbn-esql-validation-autocomplete.esql.definitions.mv_dedupe": "Supprime les valeurs en doublon d'un champ multivalué.", - "kbn-esql-validation-autocomplete.esql.definitions.mv_first": "Convertit une expression multivaluée en une colonne à valeur unique comprenant la\npremière valeur. Ceci est particulièrement utile pour lire une fonction qui émet\ndes colonnes multivaluées dans un ordre connu, comme `SPLIT`.\n\nL'ordre dans lequel les champs multivalués sont lus à partir\ndu stockage sous-jacent n'est pas garanti. Il est *souvent* ascendant, mais ne vous y\nfiez pas. Si vous avez besoin de la valeur minimale, utilisez `MV_MIN` au lieu de\n`MV_FIRST`. `MV_MIN` comporte des optimisations pour les valeurs triées, il n'y a donc aucun\navantage en matière de performances pour `MV_FIRST`.", - "kbn-esql-validation-autocomplete.esql.definitions.mv_last": "Convertit une expression multivaluée en une colonne à valeur unique comprenant la dernière\nvaleur. Ceci est particulièrement utile pour lire une fonction qui émet des champs multivalués\ndans un ordre connu, comme `SPLIT`.\n\nL'ordre dans lequel les champs multivalués sont lus à partir\ndu stockage sous-jacent n'est pas garanti. Il est *souvent* ascendant, mais ne vous y\nfiez pas. Si vous avez besoin de la valeur maximale, utilisez `MV_MAX` au lieu de\n`MV_LAST`. `MV_MAX` comporte des optimisations pour les valeurs triées, il n'y a donc aucun\navantage en matière de performances pour `MV_LAST`.", + "kbn-esql-validation-autocomplete.esql.definitions.mv_first": "Convertit une expression multivaluée en une colonne à valeur unique comprenant la première valeur. Ceci est particulièrement utile pour lire une fonction qui émet des colonnes multivaluées dans un ordre connu, comme `SPLIT`.", + "kbn-esql-validation-autocomplete.esql.definitions.mv_last": "Convertit une expression multivaluée en une colonne à valeur unique comprenant la dernière valeur. Ceci est particulièrement utile pour lire une fonction qui émet des colonnes multivaluées dans un ordre connu, comme `SPLIT`.", "kbn-esql-validation-autocomplete.esql.definitions.mv_max": "Convertit une expression multivaluée en une colonne à valeur unique comprenant la valeur maximale.", "kbn-esql-validation-autocomplete.esql.definitions.mv_median": "Convertit un champ multivalué en un champ à valeur unique comprenant la valeur médiane.", + "kbn-esql-validation-autocomplete.esql.definitions.mv_median_absolute_deviation": "Convertit un champ multivalué en un champ à valeur unique comprenant l'écart absolu médian. Il est calculé comme la médiane de chaque écart de point de données par rapport à la médiane de l'ensemble de l'échantillon. Autrement dit, pour une variable aléatoire `X`, l'écart absolu médian est `median(|median(X) - X|)`.", "kbn-esql-validation-autocomplete.esql.definitions.mv_min": "Convertit une expression multivaluée en une colonne à valeur unique comprenant la valeur minimale.", - "kbn-esql-validation-autocomplete.esql.definitions.mv_slice": "Renvoie un sous-ensemble du champ multivalué en utilisant les valeurs d'index de début et de fin.", + "kbn-esql-validation-autocomplete.esql.definitions.mv_percentile": "Convertit un champ multivalué en un champ à valeur unique comprenant la valeur à laquelle un certain pourcentage des valeurs observées se produit.", + "kbn-esql-validation-autocomplete.esql.definitions.mv_pseries_weighted_sum": "Convertit une expression multivaluée en une colonne à valeur unique en multipliant chaque élément de la liste d'entrée par le terme correspondant dans P-Series et en calculant la somme.", + "kbn-esql-validation-autocomplete.esql.definitions.mv_slice": "Renvoie un sous-ensemble du champ multivalué en utilisant les valeurs d'index de début et de fin. Ceci est particulièrement utile pour lire une fonction qui émet des colonnes multivaluées dans un ordre connu, comme `SPLIT` ou `MV_SORT`.", "kbn-esql-validation-autocomplete.esql.definitions.mv_sort": "Trie une expression multivaluée par ordre lexicographique.", "kbn-esql-validation-autocomplete.esql.definitions.mv_sum": "Convertit un champ multivalué en un champ à valeur unique comprenant la somme de toutes les valeurs.", "kbn-esql-validation-autocomplete.esql.definitions.mv_zip": "Combine les valeurs de deux champs multivalués avec un délimiteur qui les relie.", @@ -5319,53 +5854,63 @@ "kbn-esql-validation-autocomplete.esql.definitions.onDoc": "Activé", "kbn-esql-validation-autocomplete.esql.definitions.pi": "Renvoie Pi, le rapport entre la circonférence et le diamètre d'un cercle.", "kbn-esql-validation-autocomplete.esql.definitions.pow": "Renvoie la valeur d’une `base` élevée à la puissance d’un `exposant`.", + "kbn-esql-validation-autocomplete.esql.definitions.qstr": "Exécute une requête de chaîne de requête. Renvoie true si la chaîne de requête fournie correspond à la ligne.", "kbn-esql-validation-autocomplete.esql.definitions.renameDoc": "Attribue un nouveau nom à une ancienne colonne", "kbn-esql-validation-autocomplete.esql.definitions.repeat": "Renvoie une chaîne construite par la concaténation de la `chaîne` avec elle-même, le `nombre` de fois spécifié.", - "kbn-esql-validation-autocomplete.esql.definitions.replace": "La fonction remplace dans la chaîne `str` toutes les correspondances avec l'expression régulière `regex`\npar la chaîne de remplacement `newStr`.", - "kbn-esql-validation-autocomplete.esql.definitions.right": "Renvoie la sous-chaîne qui extrait la 'longueur' des caractères de 'str' en partant de la droite.", - "kbn-esql-validation-autocomplete.esql.definitions.round": "Arrondit un nombre au nombre spécifié de décimales.\nLa valeur par défaut est 0, qui renvoie l'entier le plus proche. Si le\nnombre de décimales spécifié est négatif, la fonction arrondit au nombre de décimales à gauche\nde la virgule.", + "kbn-esql-validation-autocomplete.esql.definitions.replace": "La fonction remplace dans la chaîne `str` toutes les correspondances avec l'expression régulière `regex` par la chaîne de remplacement `newStr`.", + "kbn-esql-validation-autocomplete.esql.definitions.reverse": "Renvoie une nouvelle chaîne représentant la chaîne d'entrée dans l'ordre inverse.", + "kbn-esql-validation-autocomplete.esql.definitions.right": "Renvoie la sous-chaîne qui extrait la longueur des caractères de `str` en partant de la droite.", + "kbn-esql-validation-autocomplete.esql.definitions.round": "Arrondit un nombre au nombre spécifié de décimales. La valeur par défaut est 0, qui renvoie l'entier le plus proche. Si le nombre de décimales spécifié est négatif, la fonction arrondit au nombre de décimales à gauche.", "kbn-esql-validation-autocomplete.esql.definitions.rowDoc": "Renvoie une ligne contenant une ou plusieurs colonnes avec les valeurs que vous spécifiez. Cette commande peut s'avérer utile pour les tests.", "kbn-esql-validation-autocomplete.esql.definitions.rtrim": "Supprime les espaces à la fin des chaînes.", "kbn-esql-validation-autocomplete.esql.definitions.showDoc": "Renvoie des informations sur le déploiement et ses capacités", - "kbn-esql-validation-autocomplete.esql.definitions.signum": "Renvoie le signe du nombre donné.\nRenvoie `-1` pour les nombres négatifs, `0` pour `0` et `1` pour les nombres positifs.", - "kbn-esql-validation-autocomplete.esql.definitions.sin": "Renvoie la fonction trigonométrique sinusoïdale d'un angle.", - "kbn-esql-validation-autocomplete.esql.definitions.sinh": "Renvoie le sinus hyperbolique d'un angle.", + "kbn-esql-validation-autocomplete.esql.definitions.signum": "Renvoie le signe du nombre donné. Renvoie `-1` pour les nombres négatifs, `0` pour `0` et `1` pour les nombres positifs.", + "kbn-esql-validation-autocomplete.esql.definitions.sin": "Renvoie le sinus d'un angle.", + "kbn-esql-validation-autocomplete.esql.definitions.sinh": "Renvoie le sinus hyperbolique d'un nombre.", "kbn-esql-validation-autocomplete.esql.definitions.sortDoc": "Trie tous les résultats en fonction des champs spécifiés. Par défaut, les valeurs null sont considérées comme supérieures à toutes les autres valeurs. Avec l'ordre de tri croissant, les valeurs null sont classées en dernier. Avec l'ordre de tri décroissant, elles sont classées en premier. Pour modifier cet ordre, utilisez NULLS FIRST ou NULLS LAST", + "kbn-esql-validation-autocomplete.esql.definitions.space": "Renvoie une chaîne composée d'espaces nombre (`number`).", "kbn-esql-validation-autocomplete.esql.definitions.split": "Divise une chaîne de valeur unique en plusieurs chaînes.", - "kbn-esql-validation-autocomplete.esql.definitions.sqrt": "Renvoie la racine carrée d'un nombre. La valeur de renvoi est toujours un double, quelle que soit la valeur numérique de l'entrée.\nLes racines carrées des nombres négatifs et des infinis sont nulles.", - "kbn-esql-validation-autocomplete.esql.definitions.st_contains": "Renvoie si la première géométrie contient la deuxième géométrie.\nIl s'agit de l'inverse de la fonction `ST_WITHIN`.", - "kbn-esql-validation-autocomplete.esql.definitions.st_disjoint": "Renvoie si les deux géométries ou colonnes géométriques sont disjointes.\nIl s'agit de l'inverse de la fonction `ST_INTERSECTS`.\nEn termes mathématiques : ST_Disjoint(A, B) ⇔ A ⋂ B = ∅", - "kbn-esql-validation-autocomplete.esql.definitions.st_distance": "Calcule la distance entre deux points.\nPour les géométries cartésiennes, c’est la distance pythagoricienne dans les mêmes unités que les coordonnées d'origine.\nPour les géométries géographiques, c’est la distance circulaire le long du grand cercle en mètres.", - "kbn-esql-validation-autocomplete.esql.definitions.st_intersects": "Renvoie `true` (vrai) si deux géométries se croisent.\nElles se croisent si elles ont un point commun, y compris leurs points intérieurs\n(les points situés le long des lignes ou dans des polygones).\nIl s'agit de l'inverse de la fonction `ST_DISJOINT`.\nEn termes mathématiques : ST_Intersects(A, B) ⇔ A ⋂ B ≠ ∅", - "kbn-esql-validation-autocomplete.esql.definitions.st_within": "Renvoie si la première géométrie est à l'intérieur de la deuxième géométrie.\nIl s'agit de l'inverse de la fonction `ST_CONTAINS`.", - "kbn-esql-validation-autocomplete.esql.definitions.st_x": "Extrait la coordonnée `x` du point fourni.\nSi les points sont de type `geo_point`, cela revient à extraire la valeur de la `longitude`.", - "kbn-esql-validation-autocomplete.esql.definitions.st_y": "Extrait la coordonnée `y` du point fourni.\nSi les points sont de type `geo_point`, cela revient à extraire la valeur de la `latitude`.", + "kbn-esql-validation-autocomplete.esql.definitions.sqrt": "Renvoie la racine carrée d'un nombre. La valeur de renvoi est toujours un double, quelle que soit la valeur numérique de l'entrée. Les racines carrées des nombres négatifs et des infinis sont nulles.", + "kbn-esql-validation-autocomplete.esql.definitions.st_centroid_agg": "Calcule le centroïde spatial sur un champ avec un type de géométrie de point spatial.", + "kbn-esql-validation-autocomplete.esql.definitions.st_contains": "Renvoie si la première géométrie contient la deuxième géométrie. Il s'agit de l'inverse de la fonction `ST_WITHIN`.", + "kbn-esql-validation-autocomplete.esql.definitions.st_disjoint": "Renvoie si les deux géométries ou colonnes géométriques sont disjointes. Il s'agit de l'inverse de la fonction `ST_INTERSECTS`. En termes mathématiques : ST_Disjoint(A, B) ⇔ A ⋂ B = ∅", + "kbn-esql-validation-autocomplete.esql.definitions.st_distance": "Calcule la distance entre deux points. Pour les géométries cartésiennes, c’est la distance pythagoricienne dans les mêmes unités que les coordonnées d'origine. Pour les géométries géographiques, c’est la distance circulaire le long du grand cercle en mètres.", + "kbn-esql-validation-autocomplete.esql.definitions.st_intersects": "Renvoie `true` (vrai) si deux géométries se croisent. Elles se croisent si elles ont un point commun, y compris leurs points intérieurs (points le long de lignes ou à l'intérieur de polygones). Il s'agit de l'inverse de la fonction `ST_DISJOINT`. En termes mathématiques : ST_Intersects(A, B) ⇔ A ⋂ B ≠ ∅", + "kbn-esql-validation-autocomplete.esql.definitions.st_within": "Renvoie si la première géométrie est à l'intérieur de la deuxième géométrie. Il s'agit de l'inverse de la fonction `ST_CONTAINS`.", + "kbn-esql-validation-autocomplete.esql.definitions.st_x": "Extrait la coordonnée `x` du point fourni. Si les points sont de type `geo_point`, cela revient à extraire la valeur de la `longitude`.", + "kbn-esql-validation-autocomplete.esql.definitions.st_y": "Extrait la coordonnée `y` du point fourni. Si les points sont de type `geo_point`, cela revient à extraire la valeur de la `latitude`.", "kbn-esql-validation-autocomplete.esql.definitions.starts_with": "Renvoie un booléen qui indique si une chaîne de mot-clés débute par une autre chaîne.", "kbn-esql-validation-autocomplete.esql.definitions.statsDoc": "Calcule les statistiques agrégées, telles que la moyenne, le décompte et la somme, sur l'ensemble des résultats de recherche entrants. Comme pour l'agrégation SQL, si la commande stats est utilisée sans clause BY, une seule ligne est renvoyée, qui est l'agrégation de tout l'ensemble des résultats de recherche entrants. Lorsque vous utilisez une clause BY, une ligne est renvoyée pour chaque valeur distincte dans le champ spécifié dans la clause BY. La commande stats renvoie uniquement les champs dans l'agrégation, et vous pouvez utiliser un large éventail de fonctions statistiques avec la commande stats. Lorsque vous effectuez plusieurs agrégations, séparez chacune d'entre elle par une virgule.", - "kbn-esql-validation-autocomplete.esql.definitions.substring": "Renvoie la sous-chaîne d'une chaîne, délimitée en fonction d'une position de départ et d'une longueur facultative", - "kbn-esql-validation-autocomplete.esql.definitions.tan": "Renvoie la fonction trigonométrique Tangente d'un angle.", - "kbn-esql-validation-autocomplete.esql.definitions.tanh": "Renvoie la fonction hyperbolique Tangente d'un angle.", + "kbn-esql-validation-autocomplete.esql.definitions.substring": "Renvoie la sous-chaîne d'une chaîne, délimitée en fonction d'une position de départ et d'une longueur facultative.", + "kbn-esql-validation-autocomplete.esql.definitions.sum": "La somme d'une expression numérique.", + "kbn-esql-validation-autocomplete.esql.definitions.tan": "Renvoie la tangente d'un angle.", + "kbn-esql-validation-autocomplete.esql.definitions.tanh": "Renvoie la tangente hyperbolique d'un nombre.", "kbn-esql-validation-autocomplete.esql.definitions.tau": "Renvoie le rapport entre la circonférence et le rayon d'un cercle.", "kbn-esql-validation-autocomplete.esql.definitions.to_base64": "Encode une chaîne en chaîne base64.", - "kbn-esql-validation-autocomplete.esql.definitions.to_boolean": "Convertit une valeur d'entrée en une valeur booléenne.\nUne chaîne de valeur *true* sera convertie, sans tenir compte de la casse, en une valeur booléenne *true*.\nPour toute autre valeur, y compris une chaîne vide, la fonction renverra *false*.\nLa valeur numérique *0* sera convertie en *false*, toute autre valeur sera convertie en *true*.", - "kbn-esql-validation-autocomplete.esql.definitions.to_cartesianpoint": "Convertit la valeur d'une entrée en une valeur `cartesian_point`.\nUne chaîne ne sera convertie avec succès que si elle respecte le format WKT Point.", - "kbn-esql-validation-autocomplete.esql.definitions.to_cartesianshape": "Convertit une valeur d'entrée en une valeur `cartesian_shape`.\nUne chaîne ne sera convertie avec succès que si elle respecte le format WKT.", - "kbn-esql-validation-autocomplete.esql.definitions.to_datetime": "Convertit une valeur d'entrée en une valeur de date.\nUne chaîne ne sera convertie efficacement que si elle respecte le format `yyyy-MM-dd'T'HH:mm:ss.SSS'Z'`.\nPour convertir des dates vers d'autres formats, utilisez `DATE_PARSE`.", + "kbn-esql-validation-autocomplete.esql.definitions.to_boolean": "Convertit une valeur d'entrée en une valeur booléenne. Une chaîne de valeur *true* sera convertie, sans tenir compte de la casse, en une valeur booléenne *true*. Pour toute autre valeur, y compris une chaîne vide, la fonction renverra *false*. La valeur numérique *0* sera convertie en *false*, toute autre valeur sera convertie en *true*.", + "kbn-esql-validation-autocomplete.esql.definitions.to_cartesianpoint": "Convertit la valeur d'une entrée en une valeur `cartesian_point`. Une chaîne ne sera convertie avec succès que si elle respecte le format WKT Point.", + "kbn-esql-validation-autocomplete.esql.definitions.to_cartesianshape": "Convertit une valeur d'entrée en une valeur `cartesian_shape`. Une chaîne ne sera convertie que si elle respecte le format WKT.", + "kbn-esql-validation-autocomplete.esql.definitions.to_date_nanos": "Convertit une entrée en une valeur de date de résolution nanoseconde (ou date_nanos).", + "kbn-esql-validation-autocomplete.esql.definitions.to_dateperiod": "Convertit une valeur d'entrée en une valeur `date_period`.", + "kbn-esql-validation-autocomplete.esql.definitions.to_datetime": "Convertit une valeur d'entrée en une valeur de date. Une chaîne ne sera convertie que si elle respecte le format `yyyy-MM-dd'T'HH:mm:ss.SSS'Z'`. Pour convertir des dates vers d'autres formats, utilisez `DATE_PARSE`.", "kbn-esql-validation-autocomplete.esql.definitions.to_degrees": "Convertit un nombre en radians en degrés.", - "kbn-esql-validation-autocomplete.esql.definitions.to_double": "Convertit une valeur d'entrée en une valeur double. Si le paramètre d'entrée est de type date,\nsa valeur sera interprétée en millisecondes depuis l'heure Unix,\nconvertie en double. Le booléen *true* sera converti en double *1.0*, et *false* en *0.0*.", - "kbn-esql-validation-autocomplete.esql.definitions.to_geopoint": "Convertit une valeur d'entrée en une valeur `geo_point`.\nUne chaîne ne sera convertie avec succès que si elle respecte le format WKT Point.", - "kbn-esql-validation-autocomplete.esql.definitions.to_geoshape": "Convertit une valeur d'entrée en une valeur `geo_shape`.\nUne chaîne ne sera convertie avec succès que si elle respecte le format WKT.", - "kbn-esql-validation-autocomplete.esql.definitions.to_integer": "Convertit une valeur d'entrée en une valeur entière.\nSi le paramètre d'entrée est de type date, sa valeur sera interprétée en millisecondes\ndepuis l'heure Unix, convertie en entier.\nLe booléen *true* sera converti en entier *1*, et *false* en *0*.", + "kbn-esql-validation-autocomplete.esql.definitions.to_double": "Convertit une valeur d'entrée en une valeur double. Si le paramètre d'entrée est de type date, sa valeur sera interprétée en millisecondes depuis l'heure Unix, convertie en double. Le booléen *true* sera converti en double *1.0*, et *false* en *0.0*.", + "kbn-esql-validation-autocomplete.esql.definitions.to_geopoint": "Convertit une valeur d'entrée en une valeur `geo_point`. Une chaîne ne sera convertie avec succès que si elle respecte le format WKT Point.", + "kbn-esql-validation-autocomplete.esql.definitions.to_geoshape": "Convertit une valeur d'entrée en une valeur `geo_shape`. Une chaîne ne sera convertie avec succès que si elle respecte le format WKT.", + "kbn-esql-validation-autocomplete.esql.definitions.to_integer": "Convertit une valeur d'entrée en une valeur entière. Si le paramètre d'entrée est de type date, sa valeur sera interprétée en millisecondes depuis l'heure Unix, convertie en nombre entier. Le booléen *true* sera converti en entier *1*, et *false* en *0*.", "kbn-esql-validation-autocomplete.esql.definitions.to_ip": "Convertit une chaîne d'entrée en valeur IP.", - "kbn-esql-validation-autocomplete.esql.definitions.to_long": "Convertit une valeur d'entrée en une valeur longue. Si le paramètre d'entrée est de type date,\nsa valeur sera interprétée en millisecondes depuis l'heure Unix, convertie en valeur longue.\nLe booléen *true* sera converti en valeur longue *1*, et *false* en *0*.", + "kbn-esql-validation-autocomplete.esql.definitions.to_long": "Convertit une valeur d'entrée en une valeur longue. Si le paramètre d'entrée est de type date, sa valeur sera interprétée en millisecondes depuis l'heure Unix, convertie en valeur longue. Le booléen *true* sera converti en valeur longue *1*, et *false* en *0*.", "kbn-esql-validation-autocomplete.esql.definitions.to_lower": "Renvoie une nouvelle chaîne représentant la chaîne d'entrée convertie en minuscules.", "kbn-esql-validation-autocomplete.esql.definitions.to_radians": "Convertit un nombre en degrés en radians.", "kbn-esql-validation-autocomplete.esql.definitions.to_string": "Convertit une valeur d'entrée en une chaîne.", - "kbn-esql-validation-autocomplete.esql.definitions.to_unsigned_long": "Convertit une valeur d'entrée en une valeur longue non signée. Si le paramètre d'entrée est de type date,\nsa valeur sera interprétée en millisecondes depuis l'heure Unix, convertie en valeur longue non signée.\nLe booléen *true* sera converti en valeur longue non signée *1*, et *false* en *0*.", + "kbn-esql-validation-autocomplete.esql.definitions.to_timeduration": "Convertit une valeur d'entrée en valeur `time_duration`.", + "kbn-esql-validation-autocomplete.esql.definitions.to_unsigned_long": "Convertit une valeur d'entrée en une valeur longue non signée. Si le paramètre d'entrée est de type date, sa valeur sera interprétée en millisecondes depuis l'heure Unix, convertie en valeur longue non signée. Le booléen *true* sera converti en valeur longue non signée *1*, et *false* en *0*.", "kbn-esql-validation-autocomplete.esql.definitions.to_upper": "Renvoie une nouvelle chaîne représentant la chaîne d'entrée convertie en majuscules.", "kbn-esql-validation-autocomplete.esql.definitions.to_version": "Convertit une chaîne d'entrée en une valeur de version.", + "kbn-esql-validation-autocomplete.esql.definitions.top": "Collecte les valeurs les plus hautes d'un champ. Inclut les valeurs répétées.", "kbn-esql-validation-autocomplete.esql.definitions.trim": "Supprime les espaces de début et de fin d'une chaîne.", - "kbn-esql-validation-autocomplete.esql.definitions.values": "Renvoie toutes les valeurs d'un groupe dans un tableau.", + "kbn-esql-validation-autocomplete.esql.definitions.values": "Renvoie toutes les valeurs d’un groupe dans un champ multivalué. L'ordre des valeurs renvoyées n'est pas garanti. Si vous avez besoin que les valeurs renvoyées soient dans l'ordre, utilisez `esql-mv_sort`.", + "kbn-esql-validation-autocomplete.esql.definitions.weighted_avg": "La moyenne pondérée d'une expression numérique.", "kbn-esql-validation-autocomplete.esql.definitions.whereDoc": "Utilise \"predicate-expressions\" pour filtrer les résultats de recherche. Une expression predicate, lorsqu'elle est évaluée, renvoie TRUE ou FALSE. La commande where renvoie uniquement les résultats qui donnent la valeur TRUE. Par exemple, pour filtrer les résultats pour une valeur de champ spécifique", "kbn-esql-validation-autocomplete.esql.definitions.withDoc": "Avec", "kbn-esql-validation-autocomplete.esql.divide.warning.divideByZero": "Impossible de diviser par zéro : {left}/{right}", @@ -5382,7 +5927,10 @@ "kbn-esql-validation-autocomplete.esql.validation.metadataBracketsDeprecation": "Les crochets \"[]\" doivent être supprimés de la déclaration FROM METADATA", "kbn-esql-validation-autocomplete.esql.validation.missingFunction": "Fonction inconnue [{name}]", "kbn-esql-validation-autocomplete.esql.validation.noAggFunction": "Au moins une fonction d'agrégation requise dans [{command}], [{expression}] trouvée", + "kbn-esql-validation-autocomplete.esql.validation.noCombinationOfAggAndNonAggValues": "Impossible de combiner les valeurs agrégées et non agrégées dans [{commandName}], [{expression}] trouvée", "kbn-esql-validation-autocomplete.esql.validation.noNestedArgumentSupport": "Les paramètres de la fonction agrégée doivent être un attribut, un littéral ou une fonction non agrégée ; trouvé [{name}] de type [{argType}]", + "kbn-esql-validation-autocomplete.esql.validation.statsNoAggFunction": "Au moins une fonction d'agrégation requise dans [{commandName}], [{expression}] trouvée", + "kbn-esql-validation-autocomplete.esql.validation.statsNoArguments": "[{commandName}] doit contenir au moins une expression d'agrégation ou de regroupement", "kbn-esql-validation-autocomplete.esql.validation.typeOverwrite": "La colonne [{field}] de type {fieldType} a été écrasée par un nouveau type : {newType}", "kbn-esql-validation-autocomplete.esql.validation.unknowAggregateFunction": "Attendait une fonction ou un groupe agrégé mais a obtenu [{value}] de type [{type}]", "kbn-esql-validation-autocomplete.esql.validation.unknownColumn": "Colonne inconnue[{name}]", @@ -5407,6 +5955,18 @@ "kbn-esql-validation-autocomplete.esql.validation.wrongArgumentType": "L'argument de [{name}] doit être [{argType}], valeur [{value}] trouvée de type [{givenType}]", "kbn-esql-validation-autocomplete.esql.validation.wrongDissectOptionArgumentType": "Valeur non valide pour DISSECT append_separator : une chaîne était attendue mais il s'agissait de [{value}]", "kbn-esql-validation-autocomplete.esql.validation.wrongMetadataArgumentType": "Le champ de métadonnées [{value}] n'est pas disponible. Les champs de métadonnées disponibles sont : [{availableFields}]", + "kbn-esql-validation-autocomplete.recommendedQueries.aggregateExample.description": "Agrégation des quantités", + "kbn-esql-validation-autocomplete.recommendedQueries.aggregateExample.label": "Agréger avec STATS", + "kbn-esql-validation-autocomplete.recommendedQueries.caseExample.description": "Conditionnel", + "kbn-esql-validation-autocomplete.recommendedQueries.caseExample.label": "Créer un élément conditionnel avec CASE", + "kbn-esql-validation-autocomplete.recommendedQueries.dateHistogram.description": "Agrégation des totaux au fil du temps", + "kbn-esql-validation-autocomplete.recommendedQueries.dateHistogram.label": "Créer un histogramme de date", + "kbn-esql-validation-autocomplete.recommendedQueries.dateIntervals.description": "Agrégation des totaux au fil du temps", + "kbn-esql-validation-autocomplete.recommendedQueries.dateIntervals.label": "Créez des intervalles de temps de 5 minutes avec EVAL", + "kbn-esql-validation-autocomplete.recommendedQueries.lastHour.description": "Un exemple plus complexe", + "kbn-esql-validation-autocomplete.recommendedQueries.lastHour.label": "Nombre total par rapport au nombre de la dernière heure", + "kbn-esql-validation-autocomplete.recommendedQueries.sortByTime.description": "Trier par heure", + "kbn-esql-validation-autocomplete.recommendedQueries.sortByTime.label": "Trier par heure", "kbnConfig.deprecations.conflictSetting.manualStepOneMessage": "Assurez-vous que \"{fullNewPath}\" contient la valeur correcte dans le fichier de configuration, l'indicateur CLI ou la variable d'environnement (dans Docker uniquement).", "kbnConfig.deprecations.conflictSetting.manualStepTwoMessage": "Supprimez \"{fullOldPath}\" de la configuration.", "kbnConfig.deprecations.conflictSettingMessage": "Le paramètre \"{fullOldPath}\" a été remplacé par \"{fullNewPath}\". Cependant, les deux clés sont présentes. Ignorer \"{fullOldPath}\"", @@ -5417,9 +5977,12 @@ "kbnConfig.deprecations.replacedSettingMessage": "Le paramètre \"{fullOldPath}\" a été remplacé par \"{fullNewPath}\".", "kbnConfig.deprecations.unusedSetting.manualStepOneMessage": "Retirez \"{fullPath}\" dans le fichier de configuration Kibana, l'indicateur CLI ou la variable d'environnement (dans Docker uniquement).", "kbnConfig.deprecations.unusedSettingMessage": "Vous n’avez plus besoin de configurer \"{fullPath}\".", + "kbnGridLayout.overlays.scrollDownLabel": "Défilement vers le bas", + "kbnGridLayout.overlays.scrollUpLabel": "Défilement vers le haut", + "kbnGridLayout.row.toggleCollapse": "Basculer vers la réduction", "kibana_utils.history.savedObjectIsMissingNotificationMessage": "L'objet enregistré est manquant.", "kibana_utils.stateManagement.stateHash.unableToRestoreUrlErrorMessage": "Impossible de restaurer complètement l'URL. Assurez-vous d'utiliser la fonctionnalité de partage.", - "kibana_utils.stateManagement.stateHash.unableToStoreHistoryInSessionErrorMessage": "Kibana n'est pas en mesure de stocker des éléments d'historique dans votre session, car le stockage est arrivé à saturation et il ne semble pas y avoir d'éléments pouvant être supprimés sans risque.\n\nCe problème peut généralement être corrigé en passant à un nouvel onglet, mais il peut être causé par un problème plus important. Si ce message s'affiche régulièrement, veuillez nous en faire part sur {gitHubIssuesUrl}.", + "kibana_utils.stateManagement.stateHash.unableToStoreHistoryInSessionErrorMessage": "Kibana n'est pas en mesure de stocker des éléments d'historique dans votre session, car le stockage est arrivé à saturation et il ne semble pas y avoir d'éléments pouvant être supprimés sans risque. Ce problème peut généralement être corrigé en passant à un nouvel onglet, mais il peut être causé par un problème plus important. Si ce message s'affiche régulièrement, veuillez nous en faire part sur {gitHubIssuesUrl}.", "kibana_utils.stateManagement.url.restoreUrlErrorTitle": "Erreur lors de la restauration de l'état depuis l'URL.", "kibana_utils.stateManagement.url.saveStateInUrlErrorTitle": "Erreur lors de l'enregistrement de l'état dans l'URL.", "kibana-react.dualRangeControl.maxInputAriaLabel": "Maximum de la plage", @@ -5458,263 +6021,315 @@ "kibanaOverview.more.title": "Toujours plus avec Elastic", "kibanaOverview.news.title": "Nouveautés", "languageDocumentation.documentationESQL.abs": "ABS", - "languageDocumentation.documentationESQL.abs.markdown": "\n\n ### ABS\n Renvoie la valeur absolue.\n\n ````\n Numéro ROW = -1.0 \n | EVAL abs_number = ABS(number)\n ````\n ", + "languageDocumentation.documentationESQL.abs.markdown": " ### ABS Renvoie la valeur absolue. ``` ROW number = -1.0 | EVAL abs_number = ABS(number) ```", "languageDocumentation.documentationESQL.acos": "ACOS", - "languageDocumentation.documentationESQL.acos.markdown": "\n\n ### ACOS\n Renvoie l'arc cosinus de `n` sous forme d'angle, exprimé en radians.\n\n ````\n ROW a=.9\n | EVAL acos=ACOS(a)\n ````\n ", + "languageDocumentation.documentationESQL.acos.markdown": " ### ACOS Renvoie l'arc cosinus de `n` sous forme d'angle, exprimé en radians. ``` ROW a=.9 | EVAL acos=ACOS(a) ```", "languageDocumentation.documentationESQL.aggregationFunctions": "Fonctions d'agrégation", "languageDocumentation.documentationESQL.aggregationFunctionsDocumentationESQLDescription": "Ces fonctions peuvent être utilisées avec STATS...BY :", "languageDocumentation.documentationESQL.asin": "ASIN", - "languageDocumentation.documentationESQL.asin.markdown": "\n\n ### ASIN\n Renvoie l'arc sinus de l'entrée\n expression numérique sous forme d'angle, exprimée en radians.\n\n ````\n ROW a=.9\n | EVAL asin=ASIN(a)\n ````\n ", + "languageDocumentation.documentationESQL.asin.markdown": " ### ASIN Renvoie l'arc sinus de l'expression numérique sous forme d'angle, exprimé en radians. ``` ROW a=.9 | EVAL asin=ASIN(a) ```", "languageDocumentation.documentationESQL.atan": "ATAN", - "languageDocumentation.documentationESQL.atan.markdown": "\n\n ### ATAN\n Renvoie l'arc tangente de l'entrée\n expression numérique sous forme d'angle, exprimée en radians.\n\n ````\n ROW a=.12.9\n | EVAL atan=ATAN(a)\n ````\n ", + "languageDocumentation.documentationESQL.atan.markdown": " ### ATAN Renvoie l'arc tangente de l'expression numérique sous forme d'angle, exprimé en radians. ``` ROW a=12.9 | EVAL atan=ATAN(a) ```", "languageDocumentation.documentationESQL.atan2": "ATAN2", - "languageDocumentation.documentationESQL.atan2.markdown": "\n\n ### ATAN2\n L'angle entre l'axe positif des x et le rayon allant de\n l'origine au point (x , y) dans le plan cartésien, exprimée en radians.\n\n ````\n ROW y=12.9, x=.6\n | EVAL atan2=ATAN2(y, x)\n ````\n ", + "languageDocumentation.documentationESQL.atan2.markdown": " ### ATAN2 L'angle entre l'axe positif des x et le rayon allant de l'origine au point (x , y) dans le plan cartésien, exprimé en radians. ``` ROW y=12.9, x=.6 | EVAL atan2=ATAN2(y, x) ```", "languageDocumentation.documentationESQL.autoBucketFunction": "COMPARTIMENT", - "languageDocumentation.documentationESQL.autoBucketFunction.markdown": "### COMPARTIMENT\nCréer des groupes de valeurs, des compartiments (\"buckets\"), à partir d'une entrée d'un numéro ou d'un horodatage. La taille des compartiments peut être fournie directement ou choisie selon une plage de valeurs et de décompte recommandée.\n\n`BUCKET` a deux modes de fonctionnement : \n\n1. Dans lequel la taille du compartiment est calculée selon la recommandation de décompte d'un compartiment (quatre paramètres) et une plage.\n2. Dans lequel la taille du compartiment est fournie directement (deux paramètres).\n\nAvec un nombre cible de compartiments, le début d'une plage et la fin d'une plage, `BUCKET` choisit une taille de compartiment appropriée afin de générer le nombre cible de compartiments ou moins.\n\nPar exemple, demander jusqu'à 20 compartiments pour une année organisera les données en intervalles mensuels :\n\n````\nFROM employees\n| WHERE hire_date >= \"1985-01-01T00:00:00Z\" AND hire_date < \"1986-01-01T00:00:00Z\"\n| STATS hire_date = MV_SORT(VALUES(hire_date)) BY month = BUCKET(hire_date, 20, \"1985-01-01T00:00:00Z\", \"1986-01-01T00:00:00Z\")\n| SORT hire_date\n````\n\n**REMARQUE** : Le but n'est pas de fournir le nombre précis de compartiments, mais plutôt de sélectionner une plage qui fournit, tout au plus, le nombre cible de compartiments.\n\nVous pouvez combiner `BUCKET` avec une agrégation pour créer un histogramme :\n\n````\nFROM employees\n| WHERE hire_date >= \"1985-01-01T00:00:00Z\" AND hire_date < \"1986-01-01T00:00:00Z\"\n| STATS hires_per_month = COUNT(*) BY month = BUCKET(hire_date, 20, \"1985-01-01T00:00:00Z\", \"1986-01-01T00:00:00Z\")\n| SORT month\n````\n\n**REMARQUE** : `BUCKET` ne crée pas de compartiments qui ne correspondent à aucun document. C'est pourquoi, dans l'exemple précédent, il manque 1985-03-01 ainsi que d'autres dates.\n\nDemander d'autres compartiments peut résulter en une plage réduite. Par exemple, demander jusqu'à 100 compartiments en un an résulte en des compartiments hebdomadaires :\n\n````\nFROM employees\n| WHERE hire_date >= \"1985-01-01T00:00:00Z\" AND hire_date < \"1986-01-01T00:00:00Z\"\n| STATS hires_per_week = COUNT(*) BY week = BUCKET(hire_date, 100, \"1985-01-01T00:00:00Z\", \"1986-01-01T00:00:00Z\")\n| SORT week\n````\n\n**REMARQUE** : `AUTO_BUCKET` ne filtre aucune ligne. Il n'utilise que la plage fournie pour choisir une taille de compartiment appropriée. Pour les lignes dont la valeur se situe en dehors de la plage, il renvoie une valeur de compartiment qui correspond à un compartiment situé en dehors de la plage. Associez `BUCKET` à `WHERE` pour filtrer les lignes.\n\nSi la taille de compartiment désirée est connue à l'avance, fournissez-la comme second argument, en ignorant la plage :\n\n````\nFROM employees\n| WHERE hire_date >= \"1985-01-01T00:00:00Z\" AND hire_date < \"1986-01-01T00:00:00Z\"\n| STATS hires_per_week = COUNT(*) BY week = BUCKET(hire_date, 1 week)\n| SORT week\n````\n\n**REMARQUE** : Lorsque vous fournissez la taille du compartiment comme second argument, ce dernier doit être une période temporelle ou une durée.\n\n`BUCKET` peut également être utilisé pour des champs numériques. Par exemple, pour créer un histogramme de salaire :\n\n````\nFROM employees\n| STATS COUNT(*) by bs = BUCKET(salary, 20, 25324, 74999)\n| SORT bs\n````\n\nContrairement à l'exemple précédent qui filtre intentionnellement sur une plage temporelle, vous n'avez pas souvent besoin de filtrer sur une plage numérique. Vous devez trouver les valeurs min et max séparément. ES|QL n'a pas encore de façon aisée d'effectuer cette opération automatiquement.\n\nLa plage peut être ignorée si la taille désirée de compartiment est connue à l'avance. Fournissez-la simplement comme second argument :\n\n````\nFROM employees\n| WHERE hire_date >= \"1985-01-01T00:00:00Z\" AND hire_date < \"1986-01-01T00:00:00Z\"\n| STATS c = COUNT(1) BY b = BUCKET(salary, 5000.)\n| SORT b\n````\n\n**REMARQUE** : Lorsque vous fournissez la taille du compartiment comme second argument, elle doit être de type à **virgule flottante**.\n\nVoici un exemple sur comment créer des compartiments horaires pour les dernières 24 heures, et calculer le nombre d'événements par heure :\n\n````\nFROM sample_data\n| WHERE @timestamp >= NOW() - 1 day and @timestamp < NOW()\n| STATS COUNT(*) BY bucket = BUCKET(@timestamp, 25, NOW() - 1 day, NOW())\n````\n\nVoici un exemple permettant de créer des compartiments mensuels pour l'année 1985, et calculer le salaire moyen par mois d'embauche :\n\n````\nFROM employees\n| WHERE hire_date >= \"1985-01-01T00:00:00Z\" AND hire_date < \"1986-01-01T00:00:00Z\"\n| STATS AVG(salary) BY bucket = BUCKET(hire_date, 20, \"1985-01-01T00:00:00Z\", \"1986-01-01T00:00:00Z\")\n| SORT bucket\n````\n\n`BUCKET` peut être utilisé pour les parties de groupage et d'agrégation de la commande `STATS …​ BY ...`, tant que la partie d'agrégation de la fonction est **référencée par un alias défini dans la partie de groupage**, ou que celle-ci est invoquée avec exactement la même expression.\n\nPar exemple :\n\n````\nFROM employees\n| STATS s1 = b1 + 1, s2 = BUCKET(salary / 1000 + 999, 50.) + 2 BY b1 = BUCKET(salary / 100 + 99, 50.), b2 = BUCKET(salary / 1000 + 999, 50.)\n| SORT b1, b2\n| KEEP s1, b1, s2, b2\n````\n ", + "languageDocumentation.documentationESQL.autoBucketFunction.markdown": "### BUCKET Crée des groupes de valeurs et des compartiments (\"buckets\"), à partir d'une entrée numérique ou d'un horodatage. La taille des compartiments peut être fournie directement ou choisie selon une plage de valeurs et de décompte recommandée. `BUCKET` a deux modes de fonctionnement : 1. Dans lequel la taille du compartiment est calculée selon la recommandation de décompte d'un compartiment (quatre paramètres) et une plage. 2. Dans lequel la taille du compartiment est fournie directement (deux paramètres). Avec un nombre cible de compartiments, le début d'une plage et la fin d'une plage, `BUCKET` choisit une taille de compartiment appropriée afin de générer le nombre cible de compartiments ou moins. Par exemple, demander jusqu'à 20 compartiments pour une année organisera les données en intervalles mensuels : ``` FROM employees | WHERE hire_date >= \"1985-01-01T00:00:00Z\" AND hire_date < \"1986-01-01T00:00:00Z\" | STATS hire_date = MV_SORT(VALUES(hire_date)) BY month = BUCKET(hire_date, 20, \"1985-01-01T00:00:00Z\", \"1986-01-01T00:00:00Z\") | SORT hire_date ``` **REMARQUE** : Le but n'est pas de fournir le nombre précis de compartiments, mais plutôt de sélectionner une plage qui fournit, tout au plus, le nombre cible de compartiments. Vous pouvez combiner `BUCKET` avec une agrégation pour créer un histogramme : ``` FROM employees | WHERE hire_date >= \"1985-01-01T00:00:00Z\" AND hire_date < \"1986-01-01T00:00:00Z\" | STATS hires_per_month = COUNT(*) BY month = BUCKET(hire_date, 20, \"1985-01-01T00:00:00Z\", \"1986-01-01T00:00:00Z\") | SORT month ``` **REMARQUE** : `BUCKET` ne crée pas de compartiments qui ne correspondent à aucun document. C'est pourquoi, dans l'exemple précédent, il manque 1985-03-01 ainsi que d'autres dates. Demander d'autres compartiments peut résulter en une plage réduite. Par exemple, demander jusqu'à 100 compartiments en un an résulte en des compartiments hebdomadaires : ``` FROM employees | WHERE hire_date >= \"1985-01-01T00:00:00Z\" AND hire_date < \"1986-01-01T00:00:00Z\" | STATS hires_per_week = COUNT(*) BY week = BUCKET(hire_date, 100, \"1985-01-01T00:00:00Z\", \"1986-01-01T00:00:00Z\") | SORT week ``` **REMARQUE** : `BUCKET` ne filtre aucune ligne. Il n'utilise que la plage fournie pour choisir une taille de compartiment appropriée. Pour les lignes dont la valeur se situe en dehors de la plage, il renvoie une valeur de compartiment qui correspond à un compartiment situé en dehors de la plage. Associez `BUCKET` à `WHERE` pour filtrer les lignes. Si la taille de compartiment désirée est connue à l'avance, fournissez-la comme second argument, en ignorant la plage : ``` FROM employees | WHERE hire_date >= \"1985-01-01T00:00:00Z\" AND hire_date < \"1986-01-01T00:00:00Z\" | STATS hires_per_week = COUNT(*) BY week = BUCKET(hire_date, 1 week) | SORT week ``` **REMARQUE** : Lorsque vous fournissez la taille du compartiment comme second argument, ce dernier doit être une période temporelle ou une durée. `BUCKET` peut également être utilisé pour des champs numériques. Par exemple, pour créer un histogramme de salaire : ``` FROM employees | STATS COUNT(*) by bs = BUCKET(salary, 20, 25324, 74999) | SORT bs ``` Contrairement à l'exemple précédent qui filtre intentionnellement sur une plage temporelle, vous n'avez pas souvent besoin de filtrer sur une plage numérique. Vous devez trouver les valeurs min et max séparément. ES|QL n'a pas encore de façon aisée d'effectuer cette opération automatiquement. La plage peut être ignorée si la taille désirée de compartiment est connue à l'avance. Fournissez-la simplement comme second argument : ``` FROM employees | WHERE hire_date >= \"1985-01-01T00:00:00Z\" AND hire_date < \"1986-01-01T00:00:00Z\" | STATS c = COUNT(1) BY b = BUCKET(salary, 5000.) | SORT b ``` **REMARQUE** : Lorsque vous fournissez la taille du compartiment comme second argument, elle doit être de type à **virgule flottante**. Voici un exemple sur comment créer des compartiments horaires pour les dernières 24 heures, et calculer le nombre d'événements par heure : ``` FROM sample_data | WHERE @timestamp >= NOW() - 1 day and @timestamp < NOW() | STATS COUNT(*) BY bucket = BUCKET(@timestamp, 25, NOW() - 1 day, NOW()) ``` Voici un exemple sur comment créer des compartiments mensuels pour l'année 1985, et calculer le salaire moyen par mois d'embauche : ``` FROM employees | WHERE hire_date >= \"1985-01-01T00:00:00Z\" AND hire_date < \"1986-01-01T00:00:00Z\" | STATS AVG(salary) BY bucket = BUCKET(hire_date, 20, \"1985-01-01T00:00:00Z\", \"1986-01-01T00:00:00Z\") | SORT bucket ``` `BUCKET` peut être utilisé à la fois dans la partie agrégation et dans la partie regroupement de la commande `STATS ... BY ...`, tant que la partie d'agrégation de la fonction est **référencée par un alias défini dans la partie de groupage**, ou que celle-ci est invoquée avec exactement la même expression. Par exemple : ``` FROM employees | STATS s1 = b1 + 1, s2 = BUCKET(salary / 1000 + 999, 50.) + 2 BY b1 = BUCKET(salary / 100 + 99, 50.), b2 = BUCKET(salary / 1000 + 999, 50.) | SORT b1, b2 | KEEP s1, b1, s2, b2 ```", + "languageDocumentation.documentationESQL.avg": "AVG", + "languageDocumentation.documentationESQL.avg.markdown": " ### AVG La moyenne d'un champ numérique. ``` FROM employees | STATS AVG(height) ```", "languageDocumentation.documentationESQL.binaryOperators": "Opérateurs binaires", - "languageDocumentation.documentationESQL.binaryOperators.markdown": "### Opérateurs binaires\nLes opérateurs de comparaison binaire suivants sont pris en charge :\n\n* égalité : `==`\n* inégalité : `!=`\n* inférieur à : `<`\n* inférieur ou égal à : `<=`\n* supérieur à : `>`\n* supérieur ou égal à : `>=`\n* ajouter : `+`\n* soustraire : `-`\n* multiplier par : `*`\n* diviser par : `/`\n* module : `%`\n ", + "languageDocumentation.documentationESQL.binaryOperators.markdown": "### Opérateurs binaires Les opérateurs de comparaison binaires suivants sont pris en charge : * égalité : `==` * inégalité : `!=` * inférieur à : `<` * inférieur ou égal à : `<=` * supérieur à : `>` * supérieur ou égal à : `>=` * ajouter : `+` * soustraire : `-` * multiplier : `*` * diviser par : `/` * modulo : `%`", "languageDocumentation.documentationESQL.booleanOperators": "Opérateurs booléens", - "languageDocumentation.documentationESQL.booleanOperators.markdown": "### Opérateurs booléens\nLes opérateurs booléens suivants sont pris en charge :\n\n* `AND`\n* `OR`\n* `NOT`\n ", + "languageDocumentation.documentationESQL.booleanOperators.markdown": "### Opérateurs booléens Les opérateurs booléens suivants sont pris en charge : * `AND` * `OR` * `NOT`", "languageDocumentation.documentationESQL.bucket": "COMPARTIMENT", - "languageDocumentation.documentationESQL.bucket.markdown": "\n\n ### COMPARTIMENT\n Créer des groupes de valeurs, des compartiments (\"buckets\"), à partir d'une entrée d'un numéro ou d'un horodatage.\n La taille des compartiments peut être fournie directement ou choisie selon une plage de valeurs et de décompte recommandée.\n\n ````\n FROM employees\n | WHERE hire_date >= \"1985-01-01T00:00:00Z\" AND hire_date < \"1986-01-01T00:00:00Z\"\n | STATS hire_date = MV_SORT(VALUES(hire_date)) BY month = BUCKET(hire_date, 20, \"1985-01-01T00:00:00Z\", \"1986-01-01T00:00:00Z\")\n | SORT hire_date\n ````\n ", + "languageDocumentation.documentationESQL.bucket.markdown": " ### BUCKET Crée des groupes de valeurs et des compartiments (\"buckets\"), à partir d'une entrée numérique ou d'un horodatage. La taille des compartiments peut être fournie directement ou choisie selon une plage de valeurs et de décompte recommandée. ``` FROM employees | WHERE hire_date >= \"1985-01-01T00:00:00Z\" AND hire_date < \"1986-01-01T00:00:00Z\" | STATS hire_date = MV_SORT(VALUES(hire_date)) BY month = BUCKET(hire_date, 20, \"1985-01-01T00:00:00Z\", \"1986-01-01T00:00:00Z\") | SORT hire_date ```", "languageDocumentation.documentationESQL.case": "CASE", - "languageDocumentation.documentationESQL.case.markdown": "\n\n ### CAS\n Accepte les paires de conditions et de valeurs. La fonction renvoie la valeur qui\n appartient à la première condition étant évaluée comme `true`.\n\n Si le nombre d'arguments est impair, le dernier argument est la valeur par défaut qui est\n renvoyée si aucune condition ne correspond. Si le nombre d'arguments est pair, et\n qu'aucune condition ne correspond, la fonction renvoie `null`.\n\n ````\n FROM employees\n | EVAL type = CASE(\n languages <= 1, \"monolingual\",\n languages <= 2, \"bilingual\",\n \"polyglot\")\n | KEEP emp_no, languages, type\n ````\n ", + "languageDocumentation.documentationESQL.case.markdown": " ### CASE Accepte les paires de conditions et de valeurs. La fonction renvoie la valeur correspondant à la première condition évaluée à `true` (vraie). Si le nombre d'arguments est impair, le dernier argument est la valeur par défaut qui est renvoyée si aucune condition ne correspond. Si le nombre d'arguments est pair, et qu'aucune condition ne correspond, la fonction renvoie `null`. ``` FROM employees | EVAL type = CASE( languages <= 1, \"monolingual\", languages <= 2, \"bilingual\", \"polyglot\") | KEEP emp_no, languages, type ```", "languageDocumentation.documentationESQL.castOperator": "Cast (::)", - "languageDocumentation.documentationESQL.castOperator.markdown": "### CAST (`::`)\nL'opérateur `::` fournit une syntaxe alternative pratique au type de converstion de fonction `TO_`.\n\nExemple :\n````\nROW ver = CONCAT((\"0\"::INT + 1)::STRING, \".2.3\")::VERSION\n````\n ", + "languageDocumentation.documentationESQL.castOperator.markdown": "### CAST (`::`) L'opérateur `::` fournit une autre syntaxe pratique pour les fonctions de conversion de type `TO_`. Exemple : ``` ROW ver = CONCAT((\"0\"::INT + 1)::STRING, \".2.3\")::VERSION ```", "languageDocumentation.documentationESQL.cbrt": "CBRT", - "languageDocumentation.documentationESQL.cbrt.markdown": "\n\n ### CBRT\n Renvoie la racine cubique d'un nombre. La valeur de renvoi est toujours un double, quelle que soit la valeur numérique de l'entrée.\n La racine cubique de l’infini est nulle.\n\n ````\n ROW d = 1000.0\n | EVAL c = cbrt(d)\n ````\n ", + "languageDocumentation.documentationESQL.cbrt.markdown": " ### CBRT Renvoie la racine cubique d'un nombre. La valeur de renvoi est toujours un double, quelle que soit la valeur numérique de l'entrée. La racine cubique de l'infini est nulle. ``` ROW d = 1000.0 | EVAL c = cbrt(d) ```", "languageDocumentation.documentationESQL.ceil": "CEIL", - "languageDocumentation.documentationESQL.ceil.markdown": "\n\n ### CEIL\n Arrondir un nombre à l'entier supérieur.\n\n ```\n ROW a=1.8\n | EVAL a=CEIL(a)\n ```\n Remarque : Il s'agit d'un noop pour `long` (y compris non signé) et `integer`. Pour `double`, la fonction choisit la valeur `double` la plus proche de l'entier, de manière similaire à la méthode Math.ceil.\n ", + "languageDocumentation.documentationESQL.ceil.markdown": " ### CEIL Arrondit un nombre à l'entier supérieur. ``` ROW a=1.8 | EVAL a=CEIL(a) ``` Remarque : Il s'agit d'un noop pour `long` (y compris non signé) et `integer`. Pour `double`, la fonction choisit la valeur `double` la plus proche de l'entier, de manière similaire à la méthode Math.ceil.", "languageDocumentation.documentationESQL.cidr_match": "CIDR_MATCH", - "languageDocumentation.documentationESQL.cidr_match.markdown": "\n\n ### CIDR_MATCH\n Renvoie `true` si l'IP fournie est contenue dans l'un des blocs CIDR fournis.\n\n ````\n FROM hosts \n | WHERE CIDR_MATCH(ip1, \"127.0.0.2/32\", \"127.0.0.3/32\") \n | KEEP card, host, ip0, ip1\n ````\n ", + "languageDocumentation.documentationESQL.cidr_match.markdown": " ### CIDR_MATCH Renvoie `true` si l'IP fournie est contenue dans l'un des blocs CIDR fournis. ``` FROM hosts | WHERE CIDR_MATCH(ip1, \"127.0.0.2/32\", \"127.0.0.3/32\") | KEEP card, host, ip0, ip1 ```", "languageDocumentation.documentationESQL.coalesce": "COALESCE", - "languageDocumentation.documentationESQL.coalesce.markdown": "\n\n ### COALESCE\n Renvoie le premier de ses arguments qui n'est pas nul. Si tous les arguments sont nuls, `null` est renvoyé.\n\n ````\n ROW a=null, b=\"b\"\n | EVAL COALESCE(a, b)\n ````\n ", + "languageDocumentation.documentationESQL.coalesce.markdown": " ### COALESCE Renvoie le premier de ses arguments qui n'est pas nul. Si tous les arguments sont nuls, `null` est renvoyé. ``` ROW a=null, b=\"b\" | EVAL COALESCE(a, b) ```", "languageDocumentation.documentationESQL.commandsDescription": "Une commande source produit un tableau, habituellement avec des données issues d'Elasticsearch. ES|QL est compatible avec les commandes sources suivantes.", "languageDocumentation.documentationESQL.concat": "CONCAT", - "languageDocumentation.documentationESQL.concat.markdown": "\n\n ### CONCAT\n Concatène deux ou plusieurs chaînes.\n\n ```\n FROM employees\n | KEEP first_name, last_name\n | EVAL fullname = CONCAT(first_name, \" \", last_name)\n ````\n ", + "languageDocumentation.documentationESQL.concat.markdown": " ### CONCAT Concatène deux ou plusieurs chaînes. ``` FROM employees | KEEP first_name, last_name | EVAL fullname = CONCAT(first_name, \" \", last_name) ```", "languageDocumentation.documentationESQL.cos": "COS", - "languageDocumentation.documentationESQL.cos.markdown": "\n\n ### COS\n Renvoie le cosinus d'un angle.\n\n ````\n ROW a=1.8 \n | EVAL cos=COS(a)\n ````\n ", + "languageDocumentation.documentationESQL.cos.markdown": " ### COS Renvoie le cosinus d'un angle. ``` ROW a=1.8 | EVAL cos=COS(a) ```", "languageDocumentation.documentationESQL.cosh": "COSH", - "languageDocumentation.documentationESQL.cosh.markdown": "\n\n ### COSH\n Renvoie le cosinus hyperbolique d'un angle.\n\n ````\n ROW a=1.8 \n | EVAL cosh=COSH(a)\n ```\n ", + "languageDocumentation.documentationESQL.cosh.markdown": " ### COSH Renvoie le cosinus hyperbolique d'un nombre. ``` ROW a=1.8 | EVAL cosh=COSH(a) ```", + "languageDocumentation.documentationESQL.count": "COUNT", + "languageDocumentation.documentationESQL.count_distinct": "COUNT_DISTINCT", + "languageDocumentation.documentationESQL.count_distinct.markdown": " ### COUNT_DISTINCT Renvoie le nombre approximatif de valeurs distinctes. ``` FROM hosts | STATS COUNT_DISTINCT(ip0), COUNT_DISTINCT(ip1) ```", + "languageDocumentation.documentationESQL.count.markdown": " ### COUNT Renvoie le nombre total de valeurs en entrée. ``` FROM employees | STATS COUNT(height) ```", "languageDocumentation.documentationESQL.date_diff": "DATE_DIFF", - "languageDocumentation.documentationESQL.date_diff.markdown": "\n\n ### DATE_DIFF\n Soustrait le `startTimestamp` du `endTimestamp` et renvoie la différence en multiples `d'unité`.\n Si `startTimestamp` est postérieur à `endTimestamp`, des valeurs négatives sont renvoyées.\n\n ````\n ROW date1 = TO_DATETIME(\"2023-12-02T11:00:00.000Z\"), date2 = TO_DATETIME(\"2023-12-02T11:00:00.001Z\")\n | EVAL dd_ms = DATE_DIFF(\"microseconds\", date1, date2)\n ````\n ", + "languageDocumentation.documentationESQL.date_diff.markdown": " ### DATE_DIFF Soustrait le `startTimestamp` du `endTimestamp` et renvoie la différence en multiples d'unité (`unit`). Si `startTimestamp` est postérieur à `endTimestamp`, des valeurs négatives sont renvoyées. ``` ROW date1 = TO_DATETIME(\"2023-12-02T11:00:00.000Z\"), date2 = TO_DATETIME(\"2023-12-02T11:00:00.001Z\") | EVAL dd_ms = DATE_DIFF(\"microseconds\", date1, date2) ```", "languageDocumentation.documentationESQL.date_extract": "DATE_EXTRACT", - "languageDocumentation.documentationESQL.date_extract.markdown": "\n\n ### DATE_EXTRACT\n Extrait des parties d'une date, telles que l'année, le mois, le jour, l'heure.\n\n ````\n ROW date = DATE_PARSE(\"yyyy-MM-dd\", \"2022-05-06\")\n | EVAL year = DATE_EXTRACT(\"year\", date)\n ````\n ", + "languageDocumentation.documentationESQL.date_extract.markdown": " ### DATE_EXTRACT Extrait des parties d'une date, telles que l'année, le mois, le jour, l'heure. ``` ROW date = DATE_PARSE(\"yyyy-MM-dd\", \"2022-05-06\") | EVAL year = DATE_EXTRACT(\"year\", date) ```", "languageDocumentation.documentationESQL.date_format": "DATE_FORMAT", - "languageDocumentation.documentationESQL.date_format.markdown": "\n\n ### DATE_FORMAT\n Renvoie une représentation sous forme de chaîne d'une date dans le format fourni.\n\n ````\n FROM employees\n | KEEP first_name, last_name, hire_date\n | EVAL hired = DATE_FORMAT(\"YYYY-MM-dd\", hire_date)\n ````\n ", + "languageDocumentation.documentationESQL.date_format.markdown": " ### DATE_FORMAT Renvoie une représentation sous forme de chaîne d'une date dans le format fourni. ``` FROM employees | KEEP first_name, last_name, hire_date | EVAL hired = DATE_FORMAT(\"yyyy-MM-dd\", hire_date) ```", "languageDocumentation.documentationESQL.date_parse": "DATE_PARSE", - "languageDocumentation.documentationESQL.date_parse.markdown": "\n\n ### DATE_PARSE\n Renvoie une date en analysant le deuxième argument selon le format spécifié dans le premier argument.\n\n ````\n ROW date_string = \"2022-05-06\"\n | EVAL date = DATE_PARSE(\"yyyy-MM-dd\", date_string)\n ````\n ", + "languageDocumentation.documentationESQL.date_parse.markdown": " ### DATE_PARSE Renvoie une date en analysant le deuxième argument selon le format spécifié dans le premier argument. ``` ROW date_string = \"2022-05-06\" | EVAL date = DATE_PARSE(\"yyyy-MM-dd\", date_string) ```", "languageDocumentation.documentationESQL.date_trunc": "DATE_TRUNC", - "languageDocumentation.documentationESQL.date_trunc.markdown": "\n\n ### DATE_TRUNC\n Arrondit une date à l'intervalle le plus proche.\n\n ```\n FROM employees\n | KEEP first_name, last_name, hire_date\n | EVAL year_hired = DATE_TRUNC(1 year, hire_date)\n ````\n ", + "languageDocumentation.documentationESQL.date_trunc.markdown": " ### DATE_TRUNC Arrondit une date à l'intervalle le plus proche. ``` FROM employees | KEEP first_name, last_name, hire_date | EVAL year_hired = DATE_TRUNC(1 year, hire_date) ```", "languageDocumentation.documentationESQL.dissect": "DISSECT", - "languageDocumentation.documentationESQL.dissect.markdown": "### DISSECT\n`DISSECT` vous permet d'extraire des données structurées d'une chaîne. `DISSECT` compare la chaîne à un modèle basé sur les délimiteurs, et extrait les clés indiquées en tant que colonnes.\n\nPour obtenir la syntaxe des modèles \"dissect\", consultez [la documentation relative au processeur \"dissect\"](https://www.elastic.co/guide/en/elasticsearch/reference/current/dissect-processor.html).\n\n```\nROW a = \"1953-01-23T12:15:00Z - some text - 127.0.0.1\"\n| DISSECT a \"%'{Y}-%{M}-%{D}T%{h}:%{m}:%{s}Z - %{msg} - %{ip}'\"\n```` ", + "languageDocumentation.documentationESQL.dissect.markdown": "### DISSECT `DISSECT` vous permet d'extraire des données structurées d'une chaîne. `DISSECT` compare la chaîne à un modèle basé sur les délimiteurs, et extrait les clés indiquées en tant que colonnes. Pour obtenir la syntaxe des modèles \"dissect\", consultez la [documentation relative au processeur \"dissect\"](https://www.elastic.co/guide/en/elasticsearch/reference/current/dissect-processor.html). ``` ROW a = \"1953-01-23T12:15:00Z - some text - 127.0.0.1\" | DISSECT a \"%'{Y}-%{M}-%{D}T%{h}:%{m}:%{s}Z - %{msg} - %{ip}'\" ```", "languageDocumentation.documentationESQL.drop": "DROP", - "languageDocumentation.documentationESQL.drop.markdown": "### DROP\nAfin de supprimer certaines colonnes d'un tableau, utilisez `DROP` :\n \n```\nFROM employees\n| DROP height\n```\n\nPlutôt que de spécifier chaque colonne par son nom, vous pouvez utiliser des caractères génériques pour supprimer toutes les colonnes dont le nom correspond à un modèle :\n\n```\nFROM employees\n| DROP height*\n````\n ", + "languageDocumentation.documentationESQL.drop.markdown": "### DROP Afin de supprimer certaines colonnes d'un tableau, utilisez `DROP` : ``` FROM employees | DROP height ``` Plutôt que de spécifier chaque colonne par son nom, vous pouvez utiliser des caractères génériques pour supprimer toutes les colonnes dont le nom correspond à un modèle : ``` FROM employees | DROP height* ```", "languageDocumentation.documentationESQL.e": "E", - "languageDocumentation.documentationESQL.e.markdown": "\n\n ### E\n Retourne le nombre d'Euler.\n\n ````\n ROW E()\n ````\n ", + "languageDocumentation.documentationESQL.e.markdown": " ### E Renvoie le nombre d'Euler. ``` ROW E() ```", "languageDocumentation.documentationESQL.ends_with": "ENDS_WITH", - "languageDocumentation.documentationESQL.ends_with.markdown": "\n\n ### ENDS_WITH\n Renvoie une valeur booléenne qui indique si une chaîne de mots-clés se termine par une autre chaîne.\n\n ````\n FROM employees\n | KEEP last_name\n | EVAL ln_E = ENDS_WITH(last_name, \"d\")\n ````\n ", + "languageDocumentation.documentationESQL.ends_with.markdown": " ### ENDS_WITH Renvoie une valeur booléenne qui indique si une chaîne de mots-clés se termine par une autre chaîne. ``` FROM employees | KEEP last_name | EVAL ln_E = ENDS_WITH(last_name, \"d\") ```", "languageDocumentation.documentationESQL.enrich": "ENRICH", - "languageDocumentation.documentationESQL.enrich.markdown": "### ENRICH\nVous pouvez utiliser `ENRICH` pour ajouter les données de vos index existants aux enregistrements entrants. Une fonction similaire à l'[enrichissement par ingestion](https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest-enriching-data.html), mais qui fonctionne au moment de la requête.\n\n```\nROW language_code = \"1\"\n| ENRICH languages_policy\n```\n\n`ENRICH` requiert l'exécution d'une [politique d'enrichissement](https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest-enriching-data.html#enrich-policy). La politique d'enrichissement définit un champ de correspondance (un champ clé) et un ensemble de champs d'enrichissement.\n\n`ENRICH` recherche les enregistrements dans l'[index d'enrichissement](https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest-enriching-data.html#enrich-index) en se basant sur la valeur du champ de correspondance. La clé de correspondance dans l'ensemble de données d'entrée peut être définie en utilisant `ON `. Si elle n'est pas spécifiée, la correspondance sera effectuée sur un champ portant le même nom que le champ de correspondance défini dans la politique d'enrichissement.\n\n```\nROW a = \"1\"\n| ENRICH languages_policy ON a\n```\n\nVous pouvez indiquer quels attributs (parmi ceux définis comme champs d'enrichissement dans la politique) doivent être ajoutés au résultat, en utilisant la syntaxe `WITH , ...`.\n\n```\nROW a = \"1\"\n| ENRICH languages_policy ON a WITH language_name\n```\n\nLes attributs peuvent également être renommés à l'aide de la syntaxe `WITH new_name=`\n\n```\nROW a = \"1\"\n| ENRICH languages_policy ON a WITH name = language_name\n````\n\nPar défaut (si aucun `WITH` n'est défini), `ENRICH` ajoute au résultat tous les champs d'enrichissement définis dans la politique d'enrichissement.\n\nEn cas de collision de noms, les champs nouvellement créés remplacent les champs existants.\n ", + "languageDocumentation.documentationESQL.enrich.markdown": "### ENRICH Vous pouvez utiliser `ENRICH` pour ajouter les données de vos index existants aux enregistrements entrants. Cette fonction est similaire à [\"ingest enrich\"](https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest-enriching-data.html), mais agit au moment de la requête. ``` ROW language_code = \"1\" | ENRICH languages_policy ``` `ENRICH` nécessite l'exécution d'une [politique d'enrichissement](https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest-enriching-data.html#enrich-policy). La politique d'enrichissement définit un champ de correspondance (un champ clé) et un ensemble de champs d'enrichissement. `ENRICH` recherchera les enregistrements dans l'[index d'enrichissement](https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest-enriching-data.html#enrich-index) en se basant sur la valeur du champ de correspondance. La clé de correspondance dans l'ensemble de données d'entrée peut être définie en utilisant `ON `. Si elle n'est pas spécifiée, la correspondance sera effectuée sur un champ portant le même nom que le champ de correspondance défini dans la politique d'enrichissement. ``` ROW a = \"1\" | ENRICH languages_policy ON a ``` Vous pouvez indiquer quels attributs (parmi ceux définis comme champs d'enrichissement dans la politique) doivent être ajoutés au résultat, en utilisant la syntaxe `WITH , ...`. ``` ROW a = \"1\" | ENRICH languages_policy ON a WITH language_name ``` Les attributs peuvent également être renommés à l'aide de `WITH new_name=` ``` ROW a = \"1\" | ENRICH languages_policy ON a WITH name = language_name ``` Par défaut (si aucun `WITH` n'est défini), `ENRICH` ajoute au résultat tous les champs d'enrichissement définis dans la politique d'enrichissement. En cas de collision de noms, les champs nouvellement créés remplacent les champs existants.", "languageDocumentation.documentationESQL.eval": "EVAL", - "languageDocumentation.documentationESQL.eval.markdown": "### EVAL\n`EVAL` permet d'ajouter des colonnes :\n\n````\nFROM employees\n| KEEP first_name, last_name, height\n| EVAL height_feet = height * 3.281, height_cm = height * 100\n````\n\nSi la colonne indiquée existe déjà, la colonne existante sera supprimée et la nouvelle colonne sera ajoutée au tableau :\n\n````\nFROM employees\n| KEEP first_name, last_name, height\n| EVAL height = height * 3.281\n````\n\n#### Fonctions\n`EVAL` prend en charge diverses fonctions de calcul des valeurs. Pour en savoir plus, consultez les fonctions.\n ", + "languageDocumentation.documentationESQL.eval.markdown": "### EVAL `EVAL` permet d'ajouter des colonnes : ``` FROM employees | KEEP first_name, last_name, height | EVAL height_feet = height * 3.281, height_cm = height * 100 ``` Si la colonne indiquée existe déjà, la colonne existante sera supprimée et la nouvelle colonne sera ajoutée au tableau : ``` FROM employees | KEEP first_name, last_name, height | EVAL height = height * 3.281 ``` #### Fonctions `EVAL` prend en charge diverses fonctions de calcul des valeurs. Pour en savoir plus, consultez les fonctions.", + "languageDocumentation.documentationESQL.exp": "EXP", + "languageDocumentation.documentationESQL.exp.markdown": " ### EXP Renvoie la valeur de \"e\" élevée à la puissance d'un nombre donné. ``` ROW d = 5.0 | EVAL s = EXP(d) ```", "languageDocumentation.documentationESQL.floor": "FLOOR", - "languageDocumentation.documentationESQL.floor.markdown": "\n\n ### FLOOR\n Arrondir un nombre à l'entier inférieur.\n\n ````\n ROW a=1.8\n | EVAL a=FLOOR(a)\n ````\n Remarque : Il s'agit d'un noop pour `long` (y compris non signé) et `integer`.\n Pour `double`, la fonction choisit la valeur `double` la plus proche de l'entier,\n de manière similaire à Math.floor.\n ", + "languageDocumentation.documentationESQL.floor.markdown": " ### FLOOR Arrondit un nombre à l'entier inférieur. ``` ROW a=1.8 | EVAL a=FLOOR(a) ``` Remarque : Il s'agit d'un noop pour `long` (y compris non signé) et `integer`. Pour `double`, la fonction choisit la valeur `double` la plus proche de l'entier, de manière similaire à la méthode Math.floor.", "languageDocumentation.documentationESQL.from": "FROM", "languageDocumentation.documentationESQL.from_base64": "FROM_BASE64", - "languageDocumentation.documentationESQL.from_base64.markdown": "\n\n ### FROM_BASE64\n Décodez une chaîne base64.\n\n ````\n row a = \"ZWxhc3RpYw==\" \n | eval d = from_base64(a)\n ````\n ", - "languageDocumentation.documentationESQL.from.markdown": "### FROM\nLa commande source `FROM` renvoie un tableau contenant jusqu'à 10 000 documents issus d'un flux de données, d'un index ou d'un alias. Chaque ligne du tableau obtenu correspond à un document. Chaque colonne correspond à un champ et est accessible par le nom de ce champ.\n\n````\nFROM employees\n````\n\nVous pouvez utiliser des [calculs impliquant des dates](https://www.elastic.co/guide/en/elasticsearch/reference/current/api-conventions.html#api-date-math-index-names) pour désigner les indices, les alias et les flux de données. Cela peut s'avérer utile pour les données temporelles.\n\nUtilisez des listes séparées par des virgules ou des caractères génériques pour rechercher plusieurs flux de données, indices ou alias :\n\n````\nFROM employees-00001,employees-*\n````\n\n#### Métadonnées\n\nES|QL peut accéder aux champs de métadonnées suivants :\n\n* `_index` : l'index auquel appartient le document. Le champ est du type `keyword`.\n* `_id` : l'identifiant du document source. Le champ est du type `keyword`.\n* `_id` : la version du document source. Le champ est du type `long`.\n\nUtilisez la directive `METADATA` pour activer les champs de métadonnées :\n\n````\nFROM index [METADATA _index, _id]\n````\n\nLes champs de métadonnées ne sont disponibles que si la source des données est un index. Par conséquent, `FROM` est la seule commande source qui prend en charge la directive `METADATA`.\n\nUne fois activés, les champs sont disponibles pour les commandes de traitement suivantes, tout comme les autres champs de l'index :\n\n````\nFROM ul_logs, apps [METADATA _index, _version]\n| WHERE id IN (13, 14) AND _version == 1\n| EVAL key = CONCAT(_index, \"_\", TO_STR(id))\n| SORT id, _index\n| KEEP id, _index, _version, key\n````\n\nDe même, comme pour les champs d'index, une fois l'agrégation effectuée, un champ de métadonnées ne sera plus accessible aux commandes suivantes, sauf s'il est utilisé comme champ de regroupement :\n\n````\nFROM employees [METADATA _index, _id]\n| STATS max = MAX(emp_no) BY _index\n````\n ", + "languageDocumentation.documentationESQL.from_base64.markdown": " ### FROM_BASE64 Décode une chaîne base64. ``` row a = \"ZWxhc3RpYw==\" | eval d = from_base64(a) ```", + "languageDocumentation.documentationESQL.from.markdown": "### FROM La commande source `FROM` renvoie un tableau contenant jusqu'à 10 000 documents issus d'un flux de données, d'un index ou d'un alias. Chaque ligne du tableau obtenu correspond à un document. Chaque colonne correspond à un champ et est accessible par le nom de ce champ. ``` FROM employees ``` Vous pouvez utiliser des [calculs impliquant des dates](https://www.elastic.co/guide/en/elasticsearch/reference/current/api-conventions.html#api-date-math-index-names) pour désigner les indices, les alias et les flux de données. Cela peut s'avérer utile pour les données temporelles. Utilisez des listes séparées par des virgules ou des caractères génériques pour rechercher plusieurs flux de données, indices ou alias : ``` FROM employees-00001,employees-* ``` #### Métadonnées ES|QL peut accéder aux champs de métadonnées suivants : * `_index` : l'index auquel appartient le document. Le champ est du type `keyword`. * `_id` : l'identifiant du document source. Le champ est du type `keyword`. * `_version` : la version du document source. Le champ est du type `long`. Utilisez la directive `METADATA` pour activer les champs de métadonnées : ``` FROM index [METADATA _index, _id] ``` Les champs de métadonnées ne sont disponibles que si la source des données est un index. Par conséquent, `FROM` est la seule commande source qui prend en charge la directive `METADATA`. Une fois activés, les champs sont disponibles pour les commandes de traitement suivantes, tout comme les autres champs de l'index : ``` FROM ul_logs, apps [METADATA _index, _version] | WHERE id IN (13, 14) AND _version == 1 | EVAL key = CONCAT(_index, \"_\", TO_STR(id)) | SORT id, _index | KEEP id, _index, _version, key ``` De même, comme pour les champs d'index, une fois l'agrégation effectuée, un champ de métadonnées ne sera plus accessible aux commandes suivantes, sauf s'il est utilisé comme champ de regroupement : ``` FROM employees [METADATA _index, _id] | STATS max = MAX(emp_no) BY _index ```", "languageDocumentation.documentationESQL.functions": "Fonctions", "languageDocumentation.documentationESQL.functionsDocumentationESQLDescription": "Les fonctions sont compatibles avec \"ROW\" (Ligne), \"EVAL\" (Évaluation) et \"WHERE\" (Où).", "languageDocumentation.documentationESQL.greatest": "GREATEST", - "languageDocumentation.documentationESQL.greatest.markdown": "\n\n ### GREATEST\n Renvoie la valeur maximale de plusieurs colonnes. Similaire à `MV_MAX`\n sauf que ceci est destiné à une exécution sur plusieurs colonnes à la fois.\n\n ````\n ROW a = 10, b = 20\n | EVAL g = GREATEST(a, b)\n ````\n Remarque : Lorsque cette fonction est exécutée sur les champs `keyword` ou `text`, elle renvoie la dernière chaîne dans l'ordre alphabétique. Lorsqu'elle est exécutée sur des colonnes `boolean`, elle renvoie `true` si l'une des valeurs l'est.\n ", + "languageDocumentation.documentationESQL.greatest.markdown": " ### GREATEST Renvoie la valeur maximale de plusieurs colonnes. Cette fonction est similaire à `MV_MAX`. Toutefois, elle est destinée à être exécutée sur plusieurs colonnes à la fois. ``` ROW a = 10, b = 20 | EVAL g = GREATEST(a, b) ``` Remarque : Lorsque cette fonction est exécutée sur les champs `keyword` ou `text`, elle renvoie la dernière chaîne dans l'ordre alphabétique. Lorsqu'elle est exécutée sur des colonnes `boolean`, elle renvoie `true` si l'une des valeurs l'est.", "languageDocumentation.documentationESQL.grok": "GROK", - "languageDocumentation.documentationESQL.grok.markdown": "### GROK\n`GROK` vous permet d'extraire des données structurées d'une chaîne. `GROK` compare la chaîne à des modèles, sur la base d’expressions régulières, et extrait les modèles indiqués en tant que colonnes.\n\nPour obtenir la syntaxe des modèles \"grok\", consultez [la documentation relative au processeur \"grok\"](https://www.elastic.co/guide/en/elasticsearch/reference/current/grok-processor.html).\n\n````\nROW a = \"12 15.5 15.6 true\"\n| GROK a \"%'{NUMBER:b:int}' %'{NUMBER:c:float}' %'{NUMBER:d:double}' %'{WORD:e:boolean}'\"\n````\n ", + "languageDocumentation.documentationESQL.grok.markdown": "### GROK `GROK` vous permet d'extraire des données structurées d'une chaîne. `GROK` compare la chaîne à des modèles, sur la base d'expressions régulières, et extrait les modèles indiqués en tant que colonnes. Pour obtenir la syntaxe des modèles \"grok\", consultez la [documentation relative au processeur \"grok\"](https://www.elastic.co/guide/en/elasticsearch/reference/current/grok-processor.html). ``` ROW a = \"12 15.5 15.6 true\" | GROK a \"%'{NUMBER:b:int}' %'{NUMBER:c:float}' %'{NUMBER:d:double}' %'{WORD:e:boolean}'\" ```", "languageDocumentation.documentationESQL.groupingFunctions": "Fonctions de groupage", "languageDocumentation.documentationESQL.groupingFunctionsDocumentationESQLDescription": "Ces fonctions de regroupement peuvent être utilisées avec `STATS...BY` :", + "languageDocumentation.documentationESQL.hypot": "HYPOT", + "languageDocumentation.documentationESQL.hypot.markdown": " ### HYPOT Renvoie l'hypoténuse de deux nombres. La valeur de renvoi est toujours un double, quelle que soit la valeur numérique de l'entrée. Les hypoténuses des infinis sont nulles. ``` ROW a = 3.0, b = 4.0 | EVAL c = HYPOT(a, b) ```", "languageDocumentation.documentationESQL.inOperator": "IN", - "languageDocumentation.documentationESQL.inOperator.markdown": "### IN\nL'opérateur `IN` permet de tester si un champ ou une expression est égal à un élément d'une liste de littéraux, de champs ou d'expressions :\n\n````\nROW a = 1, b = 4, c = 3\n| WHERE c-a IN (3, b / 2, a)\n````\n ", + "languageDocumentation.documentationESQL.inOperator.markdown": "### IN L'opérateur `IN` permet de tester si un champ ou une expression sont égaux à un élément d'une liste de littéraux, de champs ou d'expressions : ``` ROW a = 1, b = 4, c = 3 | WHERE c-a IN (3, b / 2, a) ```", "languageDocumentation.documentationESQL.ip_prefix": "IP_PREFIX", - "languageDocumentation.documentationESQL.ip_prefix.markdown": "\n\n ### IP_PREFIX\n Tronque une adresse IP à une longueur de préfixe donnée.\n\n ````\n row ip4 = to_ip(\"1.2.3.4\"), ip6 = to_ip(\"fe80::cae2:65ff:fece:feb9\")\n | eval ip4_prefix = ip_prefix(ip4, 24, 0), ip6_prefix = ip_prefix(ip6, 0, 112);\n ````\n ", + "languageDocumentation.documentationESQL.ip_prefix.markdown": " ### IP_PREFIX Tronque une adresse IP à une longueur de préfixe donnée. ``` row ip4 = to_ip(\"1.2.3.4\"), ip6 = to_ip(\"fe80::cae2:65ff:fece:feb9\") | eval ip4_prefix = ip_prefix(ip4, 24, 0), ip6_prefix = ip_prefix(ip6, 0, 112); ```", "languageDocumentation.documentationESQL.keep": "KEEP", - "languageDocumentation.documentationESQL.keep.markdown": "### KEEP\nLa commande `KEEP` permet de définir les colonnes qui seront renvoyées et l'ordre dans lequel elles le seront.\n\nPour limiter les colonnes retournées, utilisez une liste de noms de colonnes séparés par des virgules. Les colonnes sont renvoyées dans l'ordre indiqué :\n \n````\nFROM employees\n| KEEP first_name, last_name, height\n````\n\nPlutôt que de spécifier chaque colonne par son nom, vous pouvez utiliser des caractères génériques pour renvoyer toutes les colonnes dont le nom correspond à un modèle :\n\n````\nFROM employees\n| KEEP h*\n````\n\nLe caractère générique de l'astérisque (\"*\") placé de manière isolée transpose l'ensemble des colonnes qui ne correspondent pas aux autres arguments. La requête suivante renverra en premier lieu toutes les colonnes dont le nom commence par un h, puis toutes les autres colonnes :\n\n````\nFROM employees\n| KEEP h*, *\n````\n ", + "languageDocumentation.documentationESQL.keep.markdown": "### KEEP La commande `KEEP` permet de définir les colonnes qui seront renvoyées et l'ordre dans lequel elles le seront. Pour limiter les colonnes retournées, utilisez une liste de noms de colonnes séparés par des virgules. Les colonnes sont renvoyées dans l'ordre indiqué : ``` FROM employees | KEEP first_name, last_name, height ``` Plutôt que de spécifier chaque colonne par son nom, vous pouvez utiliser des caractères génériques pour renvoyer toutes les colonnes dont le nom correspond à un modèle : ``` FROM employees | KEEP h* ``` Le caractère générique de l'astérisque (`*`) placé de manière isolée transpose l'ensemble des colonnes qui ne correspondent pas aux autres arguments. La requête suivante renverra en premier lieu toutes les colonnes dont le nom commence par un \"h\", puis toutes les autres colonnes : ``` FROM employees | KEEP h*, * ```", "languageDocumentation.documentationESQL.least": "LEAST", - "languageDocumentation.documentationESQL.least.markdown": "\n\n ### LEAST\n Renvoie la valeur minimale de plusieurs colonnes. Cette fonction est similaire à `MV_MIN`. Toutefois, elle est destinée à être exécutée sur plusieurs colonnes à la fois.\n\n ````\n ROW a = 10, b = 20\n | EVAL l = LEAST(a, b)\n ````\n ", + "languageDocumentation.documentationESQL.least.markdown": " ### LEAST Renvoie la valeur minimale de plusieurs colonnes. Cette fonction est similaire à `MV_MIN`. Toutefois, elle est destinée à être exécutée sur plusieurs colonnes à la fois. ``` ROW a = 10, b = 20 | EVAL l = LEAST(a, b) ```", "languageDocumentation.documentationESQL.left": "LEFT", - "languageDocumentation.documentationESQL.left.markdown": "\n\n ### LEFT\n Renvoie la sous-chaîne qui extrait la \"longueur\" des caractères de la \"chaîne\" en partant de la gauche.\n\n ````\n FROM employees\n | KEEP last_name\n | EVAL left = LEFT(last_name, 3)\n | SORT last_name ASC\n | LIMIT 5\n ````\n ", + "languageDocumentation.documentationESQL.left.markdown": " ### LEFT Renvoie la sous-chaîne qui extrait la \"longueur\" des caractères de la \"chaîne\" en partant de la gauche. ``` FROM employees | KEEP last_name | EVAL left = LEFT(last_name, 3) | SORT last_name ASC | LIMIT 5 ```", "languageDocumentation.documentationESQL.length": "LENGHT", - "languageDocumentation.documentationESQL.length.markdown": "\n\n ### LENGTH\n Renvoie la longueur des caractères d'une chaîne.\n\n ````\n FROM employees\n | KEEP first_name, last_name\n | EVAL fn_length = LENGTH(first_name)\n ````\n ", + "languageDocumentation.documentationESQL.length.markdown": " ### LENGTH Renvoie la longueur des caractères d'une chaîne. ``` FROM employees | KEEP first_name, last_name | EVAL fn_length = LENGTH(first_name) ```", "languageDocumentation.documentationESQL.limit": "LIMIT", - "languageDocumentation.documentationESQL.limit.markdown": "### LIMIT\nLa commande de traitement `LIMIT` permet de restreindre le nombre de lignes :\n \n````\nFROM employees\n| LIMIT 5\n````\n ", + "languageDocumentation.documentationESQL.limit.markdown": "### LIMIT La commande de traitement `LIMIT` permet de restreindre le nombre de lignes : ``` FROM employees | LIMIT 5 ```", "languageDocumentation.documentationESQL.locate": "LOCATE", - "languageDocumentation.documentationESQL.locate.markdown": "\n\n ### LOCATE\n Renvoie un entier qui indique la position d'une sous-chaîne de mots-clés dans une autre chaîne\n\n ````\n row a = \"hello\"\n | eval a_ll = locate(a, \"ll\")\n ````\n ", + "languageDocumentation.documentationESQL.locate.markdown": " ### LOCATE Renvoie un entier qui indique la position d'une sous-chaîne de mots-clés dans une autre chaîne. Renvoie `0` si la sous-chaîne ne peut pas être trouvée. Notez que les positions des chaînes commencent à partir de `1`. ``` row a = \"hello\" | eval a_ll = locate(a, \"ll\") ```", "languageDocumentation.documentationESQL.log": "LOG", - "languageDocumentation.documentationESQL.log.markdown": "\n\n ### LOG\n Renvoie le logarithme d'une valeur dans une base. La valeur de renvoi est toujours un double, quelle que soit la valeur numérique de l'entrée.\n\n Les journaux de zéros, de nombres négatifs et de base 1 renvoient `null` ainsi qu'un avertissement.\n\n ````\n ROW base = 2.0, value = 8.0\n | EVAL s = LOG(base, value)\n ````\n ", + "languageDocumentation.documentationESQL.log.markdown": " ### LOG Renvoie le logarithme d'une valeur dans une base. La valeur de renvoi est toujours un double, quelle que soit la valeur numérique de l'entrée. Les logs de zéros, de nombres négatifs et de base 1 renvoient `null` ainsi qu'un avertissement. ``` ROW base = 2.0, value = 8.0 | EVAL s = LOG(base, value) ```", "languageDocumentation.documentationESQL.log10": "LOG10", - "languageDocumentation.documentationESQL.log10.markdown": "\n\n ### LOG10\n Renvoie le logarithme d'une valeur en base 10. La valeur de renvoi est toujours un double, quelle que soit la valeur numérique de l'entrée.\n\n Les logs de 0 et de nombres négatifs renvoient `null` ainsi qu'un avertissement.\n\n ````\n ROW d = 1000.0 \n | EVAL s = LOG10(d)\n ````\n ", + "languageDocumentation.documentationESQL.log10.markdown": " ### LOG10 Renvoie le logarithme d'une valeur en base 10. La valeur de renvoi est toujours un double, quelle que soit la valeur numérique de l'entrée. Les logs de 0 et de nombres négatifs renvoient `null` ainsi qu'un avertissement. ``` ROW d = 1000.0 | EVAL s = LOG10(d) ```", "languageDocumentation.documentationESQL.ltrim": "LTRIM", - "languageDocumentation.documentationESQL.ltrim.markdown": "\n\n ### LTRIM\n Retire les espaces au début des chaînes.\n\n ````\n ROW message = \" some text \", color = \" red \"\n | EVAL message = LTRIM(message)\n | EVAL color = LTRIM(color)\n | EVAL message = CONCAT(\"'\", message, \"'\")\n | EVAL color = CONCAT(\"'\", color, \"'\")\n ````\n ", - "languageDocumentation.documentationESQL.markdown": "## ES|QL\n\nUne requête ES|QL (langage de requête Elasticsearch) se compose d'une série de commandes, séparées par une barre verticale : `|`. Chaque requête commence par une **commande source**, qui produit un tableau, habituellement avec des données issues d'Elasticsearch. \n\nUne commande source peut être suivie d'une ou plusieurs **commandes de traitement**. Les commandes de traitement peuvent modifier le tableau de sortie de la commande précédente en ajoutant, supprimant ou modifiant les lignes et les colonnes.\n\n````\nsource-command\n| processing-command1\n| processing-command2\n````\n\nLe résultat d'une requête est le tableau produit par la dernière commande de traitement. \n ", + "languageDocumentation.documentationESQL.ltrim.markdown": " ### LTRIM Supprime les espaces au début d'une chaîne. ``` ROW message = \" some text \", color = \" red \" | EVAL message = LTRIM(message) | EVAL color = LTRIM(color) | EVAL message = CONCAT(\"'\", message, \"'\") | EVAL color = CONCAT(\"'\", color, \"'\") ```", + "languageDocumentation.documentationESQL.markdown": "Une requête ES|QL (langage de requête Elasticsearch) se compose d'une série de commandes, séparées par une barre verticale : `|`. Chaque requête commence par une **commande source**, qui produit un tableau, habituellement avec des données issues d'Elasticsearch. Une commande source peut être suivie d'une ou plusieurs **commandes de traitement**. Les commandes de traitement peuvent modifier le tableau de sortie de la commande précédente en ajoutant, supprimant ou modifiant les lignes et les colonnes. ``` source-command | processing-command1 | processing-command2 ``` Le résultat d'une requête est le tableau produit par la dernière commande de traitement.", + "languageDocumentation.documentationESQL.max": "MAX", + "languageDocumentation.documentationESQL.max.markdown": " ### MAX La valeur maximale d'un champ. ``` FROM employees | STATS MAX(languages) ```", + "languageDocumentation.documentationESQL.median": "MEDIAN", + "languageDocumentation.documentationESQL.median_absolute_deviation": "MEDIAN_ABSOLUTE_DEVIATION", + "languageDocumentation.documentationESQL.median_absolute_deviation.markdown": " ### MEDIAN_ABSOLUTE_DEVIATION Renvoie l'écart absolu médian, une mesure de la variabilité. Il s'agit d'un indicateur robuste, ce qui signifie qu'il est utile pour décrire des données qui peuvent présenter des valeurs aberrantes ou ne pas être normalement distribuées. Pour de telles données, il peut être plus descriptif que l'écart-type. Il est calculé comme la médiane de chaque écart de point de données par rapport à la médiane de l'ensemble de l'échantillon. Autrement dit, pour une variable aléatoire `X`, l'écart absolu médian est `median(|median(X) - X|)`. ``` FROM employees | STATS MEDIAN(salary), MEDIAN_ABSOLUTE_DEVIATION(salary) ``` Remarque : Comme `PERCENTILE`, `MEDIAN_ABSOLUTE_DEVIATION` est généralement approximatif.", + "languageDocumentation.documentationESQL.median.markdown": " ### MEDIAN La valeur qui est supérieure à la moitié de toutes les valeurs et inférieure à la moitié de toutes les valeurs, également connue sous le nom de `PERCENTILE` 50 %. ``` FROM employees | STATS MEDIAN(salary), PERCENTILE(salary, 50) ``` Remarque : Comme `PERCENTILE`, `MEDIAN` est généralement approximatif.", + "languageDocumentation.documentationESQL.min": "MIN", + "languageDocumentation.documentationESQL.min.markdown": " ### MIN La valeur minimale d'un champ. ``` FROM employees | STATS MIN(languages) ```", "languageDocumentation.documentationESQL.mv_append": "MV_APPEND", - "languageDocumentation.documentationESQL.mv_append.markdown": "\n\n ### MV_APPEND\n Concatène les valeurs de deux champs à valeurs multiples.\n\n ", + "languageDocumentation.documentationESQL.mv_append.markdown": " ### MV_APPEND Concatène les valeurs de deux champs à valeurs multiples.", "languageDocumentation.documentationESQL.mv_avg": "MV_AVG", - "languageDocumentation.documentationESQL.mv_avg.markdown": "\n\n ### MV_AVG\n Convertit un champ multivalué en un champ à valeur unique comprenant la moyenne de toutes les valeurs.\n\n ````\n ROW a=[3, 5, 1, 6]\n | EVAL avg_a = MV_AVG(a)\n ````\n ", + "languageDocumentation.documentationESQL.mv_avg.markdown": " ### MV_AVG Convertit un champ multivalué en un champ à valeur unique comprenant la moyenne de toutes les valeurs. ``` ROW a=[3, 5, 1, 6] | EVAL avg_a = MV_AVG(a) ```", "languageDocumentation.documentationESQL.mv_concat": "MV_CONCAT", - "languageDocumentation.documentationESQL.mv_concat.markdown": "\n\n ### MV_CONCAT\n Convertit une expression de type chaîne multivalué en une colonne à valeur unique comprenant la concaténation de toutes les valeurs, séparées par un délimiteur.\n\n ````\n ROW a=[\"foo\", \"zoo\", \"bar\"]\n | EVAL j = MV_CONCAT(a, \", \")\n ````\n ", + "languageDocumentation.documentationESQL.mv_concat.markdown": " ### MV_CONCAT Convertit une expression de type chaîne multivaluée en une colonne à valeur unique comprenant la concaténation de toutes les valeurs, séparées par un délimiteur. ``` ROW a=[\"foo\", \"zoo\", \"bar\"] | EVAL j = MV_CONCAT(a, \", \") ```", "languageDocumentation.documentationESQL.mv_count": "MV_COUNT", - "languageDocumentation.documentationESQL.mv_count.markdown": "\n\n ### MV_COUNT\n Convertit une expression multivaluée en une colonne à valeur unique comprenant le total du nombre de valeurs.\n\n ````\n ROW a=[\"foo\", \"zoo\", \"bar\"]\n | EVAL count_a = MV_COUNT(a)\n ````\n ", + "languageDocumentation.documentationESQL.mv_count.markdown": " ### MV_COUNT Convertit une expression multivaluée en une colonne à valeur unique comprenant un décompte du nombre de valeurs. ``` ROW a=[\"foo\", \"zoo\", \"bar\"] | EVAL count_a = MV_COUNT(a) ```", "languageDocumentation.documentationESQL.mv_dedupe": "MV_DEDUPE", - "languageDocumentation.documentationESQL.mv_dedupe.markdown": "\n\n ### MV_DEDUPE\n Supprime les valeurs en doublon d'un champ multivalué.\n\n ````\n ROW a=[\"foo\", \"foo\", \"bar\", \"foo\"]\n | EVAL dedupe_a = MV_DEDUPE(a)\n ````\n Remarque : la fonction `MV_DEDUPE` est en mesure de trier les valeurs de la colonne, mais ne le fait pas systématiquement.\n ", + "languageDocumentation.documentationESQL.mv_dedupe.markdown": " ### MV_DEDUPE Supprime les valeurs en doublon d'un champ multivalué. ``` ROW a=[\"foo\", \"foo\", \"bar\", \"foo\"] | EVAL dedupe_a = MV_DEDUPE(a) ``` Remarque : La fonction `MV_DEDUPE` est en mesure de trier les valeurs de la colonne, mais ne le fait pas systématiquement.", "languageDocumentation.documentationESQL.mv_first": "MV_FIRST", - "languageDocumentation.documentationESQL.mv_first.markdown": "\n\n ### MV_FIRST\n Convertit une expression multivaluée en une colonne à valeur unique comprenant la\n première valeur. Ceci est particulièrement utile pour lire une fonction qui émet\n des colonnes multivaluées dans un ordre connu, comme `SPLIT`.\n\n L'ordre dans lequel les champs multivalués sont lus à partir\n du stockage sous-jacent n'est pas garanti. Il est *souvent* ascendant, mais ne vous y\n fiez pas. Si vous avez besoin de la valeur minimale, utilisez `MV_MIN` au lieu de\n `MV_FIRST`. `MV_MIN` comporte des optimisations pour les valeurs triées, il n'y a donc aucun\n avantage en matière de performances pour `MV_FIRST`.\n\n ````\n ROW a=\"foo;bar;baz\"\n | EVAL first_a = MV_FIRST(SPLIT(a, \";\"))\n ````\n ", + "languageDocumentation.documentationESQL.mv_first.markdown": " ### MV_FIRST Convertit une expression multivaluée en une colonne à valeur unique comprenant la valeur minimale. Ceci est particulièrement utile pour lire une fonction qui émet des colonnes multivaluées dans un ordre connu, comme `SPLIT`. ``` ROW a=\"foo;bar;baz\" | EVAL first_a = MV_FIRST(SPLIT(a, \";\")) ```", "languageDocumentation.documentationESQL.mv_last": "MV_LAST", - "languageDocumentation.documentationESQL.mv_last.markdown": "\n\n ### MV_LAST\n Convertit une expression multivaluée en une colonne à valeur unique comprenant la dernière\n valeur. Ceci est particulièrement utile pour lire une fonction qui émet des champs multivalués\n dans un ordre connu, comme `SPLIT`.\n\n L'ordre dans lequel les champs multivalués sont lus à partir\n du stockage sous-jacent n'est pas garanti. Il est *souvent* ascendant, mais ne vous y\n fiez pas. Si vous avez besoin de la valeur maximale, utilisez `MV_MAX` au lieu de\n `MV_LAST`. `MV_MAX` comporte des optimisations pour les valeurs triées, il n'y a donc aucun\n avantage en matière de performances pour `MV_LAST`.\n\n ````\n ROW a=\"foo;bar;baz\"\n | EVAL last_a = MV_LAST(SPLIT(a, \";\"))\n ````\n ", + "languageDocumentation.documentationESQL.mv_last.markdown": " ### MV_LAST Convertit une expression multivaluée en une colonne à valeur unique comprenant la dernière valeur. Ceci est particulièrement utile pour lire une fonction qui émet des colonnes multivaluées dans un ordre connu, comme `SPLIT`. ``` ROW a=\"foo;bar;baz\" | EVAL last_a = MV_LAST(SPLIT(a, \";\")) ```", "languageDocumentation.documentationESQL.mv_max": "MV_MAX", - "languageDocumentation.documentationESQL.mv_max.markdown": "\n\n ### MV_MAX\n Convertit une expression multivaluée en une colonne à valeur unique comprenant la valeur maximale.\n\n ````\n ROW a=[3, 5, 1]\n | EVAL max_a = MV_MAX(a)\n ````\n ", + "languageDocumentation.documentationESQL.mv_max.markdown": " ### MV_MAX Convertit une expression multivaluée en une colonne à valeur unique comprenant la valeur maximale. ``` ROW a=[3, 5, 1] | EVAL max_a = MV_MAX(a) ```", "languageDocumentation.documentationESQL.mv_median": "MV_MEDIAN", - "languageDocumentation.documentationESQL.mv_median.markdown": "\n\n ### MV_MEDIAN\n Convertit un champ multivalué en un champ à valeur unique comprenant la valeur médiane.\n\n ````\n ROW a=[3, 5, 1]\n | EVAL median_a = MV_MEDIAN(a)\n ````\n ", + "languageDocumentation.documentationESQL.mv_median_absolute_deviation": "MV_MEDIAN_ABSOLUTE_DEVIATION", + "languageDocumentation.documentationESQL.mv_median_absolute_deviation.markdown": " ### MV_MEDIAN_ABSOLUTE_DEVIATION Convertit un champ multivalué en un champ à valeur unique comprenant l'écart absolu médian. Il est calculé comme la médiane de chaque écart de point de données par rapport à la médiane de l'ensemble de l'échantillon. Autrement dit, pour une variable aléatoire `X`, l'écart absolu médian est `median(|median(X) - X|)`. ``` ROW values = [0, 2, 5, 6] | EVAL median_absolute_deviation = MV_MEDIAN_ABSOLUTE_DEVIATION(values), median = MV_MEDIAN(values) ``` Remarque : Si le champ a un nombre pair de valeurs, les médianes seront calculées comme la moyenne des deux valeurs du milieu. Si la valeur n'est pas un nombre à virgule flottante, les moyennes sont arrondies vers 0.", + "languageDocumentation.documentationESQL.mv_median.markdown": " ### MV_MEDIAN Convertit un champ multivalué en un champ à valeur unique comprenant la valeur médiane. ``` ROW a=[3, 5, 1] | EVAL median_a = MV_MEDIAN(a) ```", "languageDocumentation.documentationESQL.mv_min": "MV_MIN", - "languageDocumentation.documentationESQL.mv_min.markdown": "\n\n ### MV_MIN\n Convertit une expression multivaluée en une colonne à valeur unique comprenant la valeur minimale.\n\n ````\n ROW a=[2, 1]\n | EVAL min_a = MV_MIN(a)\n ````\n ", + "languageDocumentation.documentationESQL.mv_min.markdown": " ### MV_MIN Convertit une expression multivaluée en une colonne à valeur unique comprenant la valeur minimale. ``` ROW a=[2, 1] | EVAL min_a = MV_MIN(a) ```", + "languageDocumentation.documentationESQL.mv_percentile": "MV_PERCENTILE", + "languageDocumentation.documentationESQL.mv_percentile.markdown": " ### MV_PERCENTILE Convertit un champ multivalué en un champ à valeur unique comprenant la valeur à laquelle un certain pourcentage des valeurs observées se produit. ``` ROW values = [5, 5, 10, 12, 5000] | EVAL p50 = MV_PERCENTILE(values, 50), median = MV_MEDIAN(values) ```", + "languageDocumentation.documentationESQL.mv_pseries_weighted_sum": "MV_PSERIES_WEIGHTED_SUM", + "languageDocumentation.documentationESQL.mv_pseries_weighted_sum.markdown": " ### MV_PSERIES_WEIGHTED_SUM Convertit une expression multivaluée en une colonne à valeur unique en multipliant chaque élément de la liste d'entrée par le terme correspondant dans P-Series et en calculant la somme. ``` ROW a = [70.0, 45.0, 21.0, 21.0, 21.0] | EVAL sum = MV_PSERIES_WEIGHTED_SUM(a, 1.5) | KEEP sum ```", "languageDocumentation.documentationESQL.mv_slice": "MV_SLICE", - "languageDocumentation.documentationESQL.mv_slice.markdown": "\n\n ### MV_SLICE\n Renvoie un sous-ensemble du champ multivalué en utilisant les valeurs d'index de début et de fin.\n\n ````\n row a = [1, 2, 2, 3]\n | eval a1 = mv_slice(a, 1), a2 = mv_slice(a, 2, 3)\n ````\n ", + "languageDocumentation.documentationESQL.mv_slice.markdown": " ### MV_SLICE Renvoie un sous-ensemble du champ multivalué en utilisant les valeurs d'index de début et de fin. Ceci est particulièrement utile pour lire une fonction qui émet des colonnes multivaluées dans un ordre connu, comme `SPLIT` ou `MV_SORT`. ``` row a = [1, 2, 2, 3] | eval a1 = mv_slice(a, 1), a2 = mv_slice(a, 2, 3) ```", "languageDocumentation.documentationESQL.mv_sort": "MV_SORT", - "languageDocumentation.documentationESQL.mv_sort.markdown": "\n\n ### MV_SORT\n Trie une expression multivaluée par ordre lexicographique.\n\n ````\n ROW a = [4, 2, -3, 2]\n | EVAL sa = mv_sort(a), sd = mv_sort(a, \"DESC\")\n ````\n ", + "languageDocumentation.documentationESQL.mv_sort.markdown": " ### MV_SORT Trie un champ multivalué par ordre lexicographique. ``` ROW a = [4, 2, -3, 2] | EVAL sa = mv_sort(a), sd = mv_sort(a, \"DESC\") ```", "languageDocumentation.documentationESQL.mv_sum": "MV_SUM", - "languageDocumentation.documentationESQL.mv_sum.markdown": "\n\n ### MV_SUM\n Convertit un champ multivalué en un champ à valeur unique comprenant la somme de toutes les valeurs.\n\n ````\n ROW a=[3, 5, 6]\n | EVAL sum_a = MV_SUM(a)\n ````\n ", + "languageDocumentation.documentationESQL.mv_sum.markdown": " ### MV_SUM Convertit un champ multivalué en un champ à valeur unique comprenant la somme de toutes les valeurs. ``` ROW a=[3, 5, 6] | EVAL sum_a = MV_SUM(a) ```", "languageDocumentation.documentationESQL.mv_zip": "MV_ZIP", - "languageDocumentation.documentationESQL.mv_zip.markdown": "\n\n ### MV_ZIP\n Combine les valeurs de deux champs multivalués avec un délimiteur qui les relie.\n\n ````\n ROW a = [\"x\", \"y\", \"z\"], b = [\"1\", \"2\"]\n | EVAL c = mv_zip(a, b, \"-\")\n | KEEP a, b, c\n ````\n ", + "languageDocumentation.documentationESQL.mv_zip.markdown": " ### MV_ZIP Combine les valeurs de deux champs multivalués avec un délimiteur qui les relie. ``` ROW a = [\"x\", \"y\", \"z\"], b = [\"1\", \"2\"] | EVAL c = mv_zip(a, b, \"-\") | KEEP a, b, c ```", "languageDocumentation.documentationESQL.mvExpand": "MV_EXPAND", - "languageDocumentation.documentationESQL.mvExpand.markdown": "### MV_EXPAND\nLa commande de traitement `MV_EXPAND` développe les champs multivalués en indiquant une valeur par ligne et en dupliquant les autres champs : \n````\nROW a=[1,2,3], b=\"b\", j=[\"a\",\"b\"]\n| MV_EXPAND a\n````\n ", + "languageDocumentation.documentationESQL.mvExpand.markdown": "### MV_EXPAND La commande de traitement `MV_EXPAND` développe les champs multivalués en indiquant une valeur par ligne et en dupliquant les autres champs : ``` ROW a=[1,2,3], b=\"b\", j=[\"a\",\"b\"] | MV_EXPAND a ```", "languageDocumentation.documentationESQL.now": "NOW", - "languageDocumentation.documentationESQL.now.markdown": "\n\n ### NOW\n Renvoie la date et l'heure actuelles.\n\n ````\n ROW current_date = NOW()\n ````\n ", + "languageDocumentation.documentationESQL.now.markdown": " ### NOW Renvoie la date et l'heure actuelles. ``` ROW current_date = NOW() ```", "languageDocumentation.documentationESQL.operators": "Opérateurs", "languageDocumentation.documentationESQL.operatorsDocumentationESQLDescription": "ES|QL est compatible avec les opérateurs suivants :", + "languageDocumentation.documentationESQL.percentile": "PERCENTILE", + "languageDocumentation.documentationESQL.percentile.markdown": " ### PERCENTILE Renvoie la valeur à laquelle un certain pourcentage des valeurs observées se produit. Par exemple, le 95e percentile est la valeur qui est supérieure à 95 % des valeurs observées et le 50percentile est la médiane (`MEDIAN`). ``` FROM employees | STATS p0 = PERCENTILE(salary, 0) , p50 = PERCENTILE(salary, 50) , p99 = PERCENTILE(salary, 99) ```", "languageDocumentation.documentationESQL.pi": "PI", - "languageDocumentation.documentationESQL.pi.markdown": "\n\n ### PI\n Renvoie Pi, le rapport entre la circonférence et le diamètre d'un cercle.\n\n ````\n ROW PI()\n ````\n ", + "languageDocumentation.documentationESQL.pi.markdown": " ### PI Renvoie Pi, le rapport entre la circonférence et le diamètre d'un cercle. ``` ROW PI() ```", "languageDocumentation.documentationESQL.pow": "POW", - "languageDocumentation.documentationESQL.pow.markdown": "\n\n ### POW\n Renvoie la valeur d’une `base` élevée à la puissance d’un `exposant`.\n\n ````\n ROW base = 2.0, exponent = 2\n | EVAL result = POW(base, exponent)\n ````\n Remarque : Il est toujours possible de dépasser un résultat double ici ; dans ce cas, la valeur `null` sera renvoyée.\n ", + "languageDocumentation.documentationESQL.pow.markdown": " ### POW Renvoie la valeur d'une `base` élevée à la puissance d'un exposant (`exponent`). ``` ROW base = 2.0, exponent = 2 | EVAL result = POW(base, exponent) ``` Remarque : Il est toujours possible de dépasser un résultat double ici ; dans ce cas, la valeur `null` sera renvoyée.", "languageDocumentation.documentationESQL.predicates": "valeurs NULL", - "languageDocumentation.documentationESQL.predicates.markdown": "### Valeurs NULL\nPour une comparaison avec une valeur NULL, utilisez les attributs `IS NULL` et `IS NOT NULL` :\n\n````\nFROM employees\n| WHERE birth_date IS NULL\n| KEEP first_name, last_name\n| SORT first_name\n| LIMIT 3\n````\n\n````\nFROM employees\n| WHERE is_rehired IS NOT NULL\n| STATS count(emp_no)\n````\n ", + "languageDocumentation.documentationESQL.predicates.markdown": "### Valeurs NULL Pour une comparaison avec une valeur NULL, utilisez les attributs `IS NULL` et `IS NOT NULL` : ``` FROM employees | WHERE birth_date IS NULL | KEEP first_name, last_name | SORT first_name | LIMIT 3 ``` ``` FROM employees | WHERE is_rehired IS NOT NULL | STATS count(emp_no) ```", "languageDocumentation.documentationESQL.processingCommands": "Traitement des commandes", "languageDocumentation.documentationESQL.processingCommandsDescription": "Le traitement des commandes transforme un tableau des entrées par l'ajout, le retrait ou la modification des lignes et des colonnes. ES|QL est compatible avec le traitement des commandes suivant.", "languageDocumentation.documentationESQL.rename": "RENAME", - "languageDocumentation.documentationESQL.rename.markdown": "### RENAME\nUtilisez `RENAME` pour renommer une colonne en utilisant la syntaxe suivante :\n\n````\nRENAME AS \n````\n\nPar exemple :\n\n````\nFROM employees\n| KEEP first_name, last_name, still_hired\n| RENAME still_hired AS employed\n````\n\nSi une colonne portant le nouveau nom existe déjà, elle sera remplacée par la nouvelle colonne.\n\nPlusieurs colonnes peuvent être renommées à l'aide d'une seule commande `RENAME` :\n\n````\nFROM employees\n| KEEP first_name, last_name\n| RENAME first_name AS fn, last_name AS ln\n````\n ", + "languageDocumentation.documentationESQL.rename.markdown": "### RENAME Utilisez `RENAME` pour renommer une colonne en utilisant la syntaxe suivante : ``` RENAME AS ``` For example: ``` FROM employees | KEEP first_name, last_name, still_hired | RENAME still_hired AS employed ``` If a column with the new name already exists, it will be replaced by the new column. Multiple columns can be renamed with a single `RENAME` command: ``` FROM employees | KEEP first_name, last_name | RENAME first_name AS fn, last_name AS ln ```", "languageDocumentation.documentationESQL.repeat": "REPEAT", - "languageDocumentation.documentationESQL.repeat.markdown": "\n\n ### REPEAT\n Renvoie une chaîne construite par la concaténation de la `chaîne` avec elle-même, le `nombre` de fois spécifié.\n\n ````\n ROW a = \"Hello!\"\n | EVAL triple_a = REPEAT(a, 3);\n ````\n ", + "languageDocumentation.documentationESQL.repeat.markdown": " ### REPEAT Renvoie une chaîne construite par la concaténation de la chaîne (`string`) avec elle-même, le nombre (`number`) de fois spécifié. ``` ROW a = \"Hello!\" | EVAL triple_a = REPEAT(a, 3); ```", "languageDocumentation.documentationESQL.replace": "REPLACE", - "languageDocumentation.documentationESQL.replace.markdown": "\n\n ### REPLACE\n La fonction remplace dans la chaîne `str` toutes les correspondances avec l'expression régulière `regex`\n par la chaîne de remplacement `newStr`.\n\n ````\n ROW str = \"Hello World\"\n | EVAL str = REPLACE(str, \"World\", \"Universe\")\n | KEEP str\n ````\n ", + "languageDocumentation.documentationESQL.replace.markdown": " ### REPLACE La fonction remplace dans la chaîne `str` toutes les correspondances avec l'expression régulière `regex` par la chaîne de remplacement `newStr`. ``` ROW str = \"Hello World\" | EVAL str = REPLACE(str, \"World\", \"Universe\") | KEEP str ```", + "languageDocumentation.documentationESQL.reverse": "REVERSE", + "languageDocumentation.documentationESQL.reverse.markdown": " ### REVERSE Renvoie une nouvelle chaîne représentant la chaîne d'entrée dans l'ordre inverse. ``` ROW message = \"Some Text\" | EVAL message_reversed = REVERSE(message); ```", "languageDocumentation.documentationESQL.right": "RIGHT", - "languageDocumentation.documentationESQL.right.markdown": "\n\n ### RIGHT\n Renvoie la sous-chaîne qui extrait la longueur des caractères de `str` en partant de la droite.\n\n ````\n FROM employees\n | KEEP last_name\n | EVAL right = RIGHT(last_name, 3)\n | SORT last_name ASC\n | LIMIT 5\n ````\n ", + "languageDocumentation.documentationESQL.right.markdown": " ### RIGHT Renvoie la sous-chaîne qui extrait la \"longueur\" des caractères de `str` en partant de la droite. ``` FROM employees | KEEP last_name | EVAL right = RIGHT(last_name, 3) | SORT last_name ASC | LIMIT 5 ```", "languageDocumentation.documentationESQL.round": "ROUND", - "languageDocumentation.documentationESQL.round.markdown": "\n\n ### ROUND\n Arrondit un nombre au nombre spécifié de décimales.\n La valeur par défaut est 0, qui renvoie l'entier le plus proche. Si le\n nombre de décimales spécifié est négatif, la fonction arrondit au nombre de décimales à gauche\n de la virgule.\n\n ````\n FROM employees\n | KEEP first_name, last_name, height\n | EVAL height_ft = ROUND(height * 3.281, 1)\n ````\n ", + "languageDocumentation.documentationESQL.round.markdown": " ### ROUND Arrondit un nombre au nombre spécifié de décimales. La valeur par défaut est 0, qui renvoie l'entier le plus proche. Si le nombre de décimales spécifié est négatif, la fonction arrondit au nombre de décimales à gauche. ``` FROM employees | KEEP first_name, last_name, height | EVAL height_ft = ROUND(height * 3.281, 1) ```", "languageDocumentation.documentationESQL.row": "ROW", - "languageDocumentation.documentationESQL.row.markdown": "### ROW\nLa commande source `ROW` renvoie une ligne contenant une ou plusieurs colonnes avec les valeurs que vous spécifiez. Cette commande peut s'avérer utile pour les tests.\n \n````\nROW a = 1, b = \"two\", c = null\n````\n\nUtilisez des crochets pour créer des colonnes à valeurs multiples :\n\n````\nROW a = [2, 1]\n````\n\nROW permet d'utiliser des fonctions :\n\n````\nROW a = ROUND(1.23, 0)\n````\n ", + "languageDocumentation.documentationESQL.row.markdown": "### ROW La commande source `ROW` renvoie une ligne contenant une ou plusieurs colonnes avec les valeurs que vous spécifiez. Cette commande peut s'avérer utile pour les tests. ``` ROW a = 1, b = \"two\", c = null ``` Utilisez des crochets pour créer des colonnes à valeurs multiples : ``` ROW a = [2, 1] ``` ROW permet d'utiliser des fonctions : ``` ROW a = ROUND(1.23, 0) ```", "languageDocumentation.documentationESQL.rtrim": "RTRIM", - "languageDocumentation.documentationESQL.rtrim.markdown": "\n\n ### RTRIM\n Supprime les espaces à la fin des chaînes.\n\n ````\n ROW message = \" some text \", color = \" red \"\n | EVAL message = RTRIM(message)\n | EVAL color = RTRIM(color)\n | EVAL message = CONCAT(\"'\", message, \"'\")\n | EVAL color = CONCAT(\"'\", color, \"'\")\n ````\n ", + "languageDocumentation.documentationESQL.rtrim.markdown": " ### RTRIM Supprime les espaces à la fin d'une chaîne. ``` ROW message = \" some text \", color = \" red \" | EVAL message = RTRIM(message) | EVAL color = RTRIM(color) | EVAL message = CONCAT(\"'\", message, \"'\") | EVAL color = CONCAT(\"'\", color, \"'\") ```", "languageDocumentation.documentationESQL.show": "SHOW", - "languageDocumentation.documentationESQL.show.markdown": "### SHOW\nLa commande source `SHOW ` renvoie des informations sur le déploiement et ses capacités :\n\n* Utilisez `SHOW INFO` pour renvoyer la version du déploiement, la date de compilation et le hachage.\n* Utilisez `SHOW FUNCTIONS` pour renvoyer une liste de toutes les fonctions prises en charge et un résumé de chaque fonction.\n ", + "languageDocumentation.documentationESQL.show.markdown": "### SHOW La commande source `SHOW ` renvoie des informations sur le déploiement et ses capacités : * Utilisez `SHOW INFO` pour renvoyer la version du déploiement, la date de compilation et le hachage. * Utilisez `SHOW FUNCTIONS` pour renvoyer une liste de toutes les fonctions prises en charge et un résumé de chaque fonction.", "languageDocumentation.documentationESQL.signum": "SIGNUM", - "languageDocumentation.documentationESQL.signum.markdown": "\n\n ### SIGNUM\n Renvoie le signe du nombre donné.\n Il renvoie `-1` pour les nombres négatifs, `0` pour `0` et `1` pour les nombres positifs.\n\n ````\n ROW d = 100.0\n | EVAL s = SIGNUM(d)\n ````\n ", + "languageDocumentation.documentationESQL.signum.markdown": " ### SIGNUM Renvoie le signe du nombre donné. Renvoie `-1` pour les nombres négatifs, `0` pour `0` et `1` pour les nombres positifs. ``` ROW d = 100.0 | EVAL s = SIGNUM(d) ```", "languageDocumentation.documentationESQL.sin": "SIN", - "languageDocumentation.documentationESQL.sin.markdown": "\n\n ### SIN\n Renvoie la fonction trigonométrique sinusoïdale d'un angle.\n\n ````\n ROW a=1.8 \n | EVAL sin=SIN(a)\n ````\n ", + "languageDocumentation.documentationESQL.sin.markdown": " ### SIN Renvoie le sinus d'un angle. ``` ROW a=1.8 | EVAL sin=SIN(a) ```", "languageDocumentation.documentationESQL.sinh": "SINH", - "languageDocumentation.documentationESQL.sinh.markdown": "\n\n ### SINH\n Renvoie le sinus hyperbolique d'un angle.\n\n ````\n ROW a=1.8 \n | EVAL sinh=SINH(a)\n ````\n ", + "languageDocumentation.documentationESQL.sinh.markdown": " ### SINH Renvoie le sinus hyperbolique d'un nombre. ``` ROW a=1.8 | EVAL sinh=SINH(a) ```", "languageDocumentation.documentationESQL.sort": "SORT", - "languageDocumentation.documentationESQL.sort.markdown": "### SORT\nUtilisez la commande `SORT` pour trier les lignes sur un ou plusieurs champs :\n\n````\nFROM employees\n| KEEP first_name, last_name, height\n| SORT height\n````\n\nL'ordre de tri par défaut est croissant. Définissez un ordre de tri explicite en utilisant `ASC` ou `DESC` :\n\n````\nFROM employees\n| KEEP first_name, last_name, height\n| SORT height DESC\n````\n\nSi deux lignes disposent de la même clé de tri, l'ordre original sera préservé. Vous pouvez ajouter des expressions de tri pour départager les deux lignes :\n\n````\nFROM employees\n| KEEP first_name, last_name, height\n| SORT height DESC, first_name ASC\n````\n\n#### valeurs `null`\nPar défaut, les valeurs `null` sont considérées comme étant supérieures à toutes les autres valeurs. Selon un ordre de tri croissant, les valeurs `null` sont classées en dernier. Selon un ordre de tri décroissant, les valeurs `null` sont classées en premier. Pour modifier cet ordre, utilisez `NULLS FIRST` ou `NULLS LAST` :\n\n````\nFROM employees\n| KEEP first_name, last_name, height\n| SORT first_name ASC NULLS FIRST\n````\n ", + "languageDocumentation.documentationESQL.sort.markdown": "### SORT Utilisez la commande `SORT` pour trier les lignes sur un ou plusieurs champs : ``` FROM employees | KEEP first_name, last_name, height | SORT height ``` L'ordre de tri par défaut est croissant. Définissez un ordre de tri explicite en utilisant `ASC` ou `DESC` : ``` FROM employees | KEEP first_name, last_name, height | SORT height DESC ``` Si deux lignes disposent de la même clé de tri, l'ordre original sera préservé. Vous pouvez ajouter des expressions de tri pour départager les deux lignes : ``` FROM employees | KEEP first_name, last_name, height | SORT height DESC, first_name ASC ``` #### Valeurs `null` Par défaut, les valeurs `null` sont considérées comme étant supérieures à toutes les autres valeurs. Selon un ordre de tri croissant, les valeurs `null` sont classées en dernier. Selon un ordre de tri décroissant, les valeurs `null` sont classées en premier. Pour modifier cet ordre, utilisez `NULLS FIRST` ou `NULLS LAST` : ``` FROM employees | KEEP first_name, last_name, height | SORT first_name ASC NULLS FIRST ```", "languageDocumentation.documentationESQL.sourceCommands": "Commandes sources", + "languageDocumentation.documentationESQL.space": "SPACE", + "languageDocumentation.documentationESQL.space.markdown": " ### SPACE Renvoie une chaîne composée d'espaces nombre (`number`). ``` ROW message = CONCAT(\"Hello\", SPACE(1), \"World!\"); ```", "languageDocumentation.documentationESQL.split": "SPLIT", - "languageDocumentation.documentationESQL.split.markdown": "\n\n ### SPLIT\n Divise une chaîne de valeur unique en plusieurs chaînes.\n\n ````\n ROW words=\"foo;bar;baz;qux;quux;corge\"\n | EVAL word = SPLIT(words, \";\")\n ````\n ", + "languageDocumentation.documentationESQL.split.markdown": " ### SPLIT Divise une chaîne de valeur unique en plusieurs chaînes. ``` ROW words=\"foo;bar;baz;qux;quux;corge\" | EVAL word = SPLIT(words, \";\") ```", "languageDocumentation.documentationESQL.sqrt": "SQRT", - "languageDocumentation.documentationESQL.sqrt.markdown": "\n\n ### SQRT\n Renvoie la racine carrée d'un nombre. La valeur de renvoi est toujours un double, quelle que soit la valeur numérique de l'entrée.\n Les racines carrées des nombres négatifs et des infinis sont nulles.\n\n ````\n ROW d = 100.0\n | EVAL s = SQRT(d)\n ````\n ", + "languageDocumentation.documentationESQL.sqrt.markdown": " ### SQRT Renvoie la racine carrée d'un nombre. La valeur de renvoi est toujours un double, quelle que soit la valeur numérique de l'entrée. Les racines carrées des nombres négatifs et des infinis sont nulles. ``` ROW d = 100.0 | EVAL s = SQRT(d) ```", + "languageDocumentation.documentationESQL.st_centroid_agg": "ST_CENTROID_AGG", + "languageDocumentation.documentationESQL.st_centroid_agg.markdown": " ### ST_CENTROID_AGG Calcule le centroïde spatial sur un champ avec un type de géométrie de point spatial. ``` FROM airports | STATS centroid=ST_CENTROID_AGG(location) ```", "languageDocumentation.documentationESQL.st_contains": "ST_CONTAINS", - "languageDocumentation.documentationESQL.st_contains.markdown": "\n\n ### ST_CONTAINS\n Renvoie si la première géométrie contient la deuxième géométrie.\n Il s'agit de l'inverse de la fonction `ST_WITHIN`.\n\n ````\n FROM airport_city_boundaries\n | WHERE ST_CONTAINS(city_boundary, TO_GEOSHAPE(\"POLYGON((109.35 18.3, 109.45 18.3, 109.45 18.4, 109.35 18.4, 109.35 18.3))\"))\n | KEEP abbrev, airport, region, city, city_location\n ````\n ", + "languageDocumentation.documentationESQL.st_contains.markdown": " ### ST_CONTAINS Renvoie si la première géométrie contient la deuxième géométrie. Il s'agit de l'inverse de la fonction `ST_WITHIN`. ``` FROM airport_city_boundaries | WHERE ST_CONTAINS(city_boundary, TO_GEOSHAPE(\"POLYGON((109.35 18.3, 109.45 18.3, 109.45 18.4, 109.35 18.4, 109.35 18.3))\")) | KEEP abbrev, airport, region, city, city_location ```", "languageDocumentation.documentationESQL.st_disjoint": "ST_DISJOINT", - "languageDocumentation.documentationESQL.st_disjoint.markdown": "\n\n ### ST_DISJOINT\n Renvoie si les deux géométries ou colonnes géométriques sont disjointes.\n Il s'agit de l'inverse de la fonction `ST_INTERSECTS`.\n En termes mathématiques : ST_Disjoint(A, B) ⇔ A ⋂ B = ∅\n\n ````\n FROM airport_city_boundaries\n | WHERE ST_DISJOINT(city_boundary, TO_GEOSHAPE(\"POLYGON((-10 -60, 120 -60, 120 60, -10 60, -10 -60))\"))\n | KEEP abbrev, airport, region, city, city_location\n ````\n ", + "languageDocumentation.documentationESQL.st_disjoint.markdown": " ### ST_DISJOINT Renvoie si les deux géométries ou colonnes géométriques sont disjointes. Il s'agit de l'inverse de la fonction `ST_INTERSECTS`. En termes mathématiques : ST_Disjoint(A, B) ⇔ A ⋂ B = ∅ ``` FROM airport_city_boundaries | WHERE ST_DISJOINT(city_boundary, TO_GEOSHAPE(\"POLYGON((-10 -60, 120 -60, 120 60, -10 60, -10 -60))\")) | KEEP abbrev, airport, region, city, city_location ```", "languageDocumentation.documentationESQL.st_distance": "ST_DISTANCE", - "languageDocumentation.documentationESQL.st_distance.markdown": "\n\n ### ST_DISTANCE\n Calcule la distance entre deux points.\n Pour les géométries cartésiennes, c’est la distance pythagoricienne dans les mêmes unités que les coordonnées d'origine.\n Pour les géométries géographiques, c’est la distance circulaire le long du grand cercle en mètres.\n\n ````\n Aéroports FROM\n | WHERE abbrev == \"CPH\"\n | EVAL distance = ST_DISTANCE(location, city_location)\n | KEEP abbrev, name, location, city_location, distance\n ````\n ", + "languageDocumentation.documentationESQL.st_distance.markdown": " ### ST_DISTANCE Calcule la distance entre deux points. Pour les géométries cartésiennes, c’est la distance pythagoricienne dans les mêmes unités que les coordonnées d'origine. Pour les géométries géographiques, c'est la distance circulaire le long du grand cercle en mètres. ``` FROM airports | WHERE abbrev == \"CPH\" | EVAL distance = ST_DISTANCE(location, city_location) | KEEP abbrev, name, location, city_location, distance ```", "languageDocumentation.documentationESQL.st_intersects": "ST_INTERSECTS", - "languageDocumentation.documentationESQL.st_intersects.markdown": "\n\n ### ST_INTERSECTS\n Renvoie `true` (vrai) si deux géométries se croisent.\n Elles se croisent si elles ont un point commun, y compris leurs points intérieurs\n (les points situés le long des lignes ou dans des polygones).\n Il s'agit de l'inverse de la fonction `ST_DISJOINT`.\n En termes mathématiques : ST_Intersects(A, B) ⇔ A ⋂ B ≠ ∅\n\n ````\n Aéroports FROM\n | WHERE ST_INTERSECTS(location, TO_GEOSHAPE(\"POLYGON((42 14, 43 14, 43 15, 42 15, 42 14))\"))\n ````\n ", + "languageDocumentation.documentationESQL.st_intersects.markdown": " ### ST_INTERSECTS Renvoie `true` (vrai) si deux géométries se croisent. Elles se croisent si elles ont un point commun, y compris leurs points intérieurs (points le long de lignes ou à l'intérieur de polygones). Il s'agit de l'inverse de la fonction `ST_DISJOINT`. En termes mathématiques : ST_Intersects(A, B) ⇔ A ⋂ B ≠ ∅ ``` FROM airports | WHERE ST_INTERSECTS(location, TO_GEOSHAPE(\"POLYGON((42 14, 43 14, 43 15, 42 15, 42 14))\")) ```", "languageDocumentation.documentationESQL.st_within": "ST_WITHIN", - "languageDocumentation.documentationESQL.st_within.markdown": "\n\n ### ST_WITHIN\n Renvoie si la première géométrie est à l'intérieur de la deuxième géométrie.\n Il s'agit de l'inverse de la fonction `ST_CONTAINS`.\n\n ````\n FROM airport_city_boundaries\n | WHERE ST_WITHIN(city_boundary, TO_GEOSHAPE(\"POLYGON((109.1 18.15, 109.6 18.15, 109.6 18.65, 109.1 18.65, 109.1 18.15))\"))\n | KEEP abbrev, airport, region, city, city_location\n ````\n ", + "languageDocumentation.documentationESQL.st_within.markdown": " ### ST_WITHIN Renvoie si la première géométrie est comprise dans la deuxième géométrie. Il s'agit de l'inverse de la fonction `ST_CONTAINS`. ``` FROM airport_city_boundaries | WHERE ST_WITHIN(city_boundary, TO_GEOSHAPE(\"POLYGON((109.1 18.15, 109.6 18.15, 109.6 18.65, 109.1 18.65, 109.1 18.15))\")) | KEEP abbrev, airport, region, city, city_location ```", "languageDocumentation.documentationESQL.st_x": "ST_X", - "languageDocumentation.documentationESQL.st_x.markdown": "\n\n ### ST_X\n Extrait la coordonnée `x` du point fourni.\n Si les points sont de type `geo_point`, cela revient à extraire la valeur de la `longitude`.\n\n ````\n ROW point = TO_GEOPOINT(\"POINT(42.97109629958868 14.7552534006536)\")\n | EVAL x = ST_X(point), y = ST_Y(point)\n ````\n ", + "languageDocumentation.documentationESQL.st_x.markdown": " ### ST_X Extrait la coordonnée `x` du point fourni. Si les points sont de type `geo_point`, cela revient à extraire la valeur de la `longitude`. ``` ROW point = TO_GEOPOINT(\"POINT(42.97109629958868 14.7552534006536)\") | EVAL x = ST_X(point), y = ST_Y(point) ```", "languageDocumentation.documentationESQL.st_y": "ST_Y", - "languageDocumentation.documentationESQL.st_y.markdown": "\n\n ### ST_Y\n Extrait la coordonnée `y` du point fourni.\n Si les points sont de type `geo_point`, cela revient à extraire la valeur de la `latitude`.\n\n ````\n ROW point = TO_GEOPOINT(\"POINT(42.97109629958868 14.7552534006536)\")\n | EVAL x = ST_X(point), y = ST_Y(point)\n ````\n ", + "languageDocumentation.documentationESQL.st_y.markdown": " ### ST_Y Extrait la coordonnée `y` du point fourni. Si les points sont de type `geo_point`, cela revient à extraire la valeur de la `latitude`. ``` ROW point = TO_GEOPOINT(\"POINT(42.97109629958868 14.7552534006536)\") | EVAL x = ST_X(point), y = ST_Y(point) ```", "languageDocumentation.documentationESQL.starts_with": "STARTS_WITH", - "languageDocumentation.documentationESQL.starts_with.markdown": "\n\n ### STARTS_WITH\n Renvoie un booléen qui indique si une chaîne de mot-clés débute par une autre chaîne.\n\n ````\n FROM employees\n | KEEP last_name\n | EVAL ln_S = STARTS_WITH(last_name, \"B\")\n ````\n ", + "languageDocumentation.documentationESQL.starts_with.markdown": " ### STARTS_WITH Renvoie une valeur booléenne qui indique si une chaîne de mots-clés débute par une autre chaîne. ``` FROM employees | KEEP last_name | EVAL ln_S = STARTS_WITH(last_name, \"B\") ```", "languageDocumentation.documentationESQL.statsby": "STATS ... BY", - "languageDocumentation.documentationESQL.statsby.markdown": "### STATS ... BY\nUtilisez `STATS ... BY` pour regrouper les lignes en fonction d'une valeur commune et calculer une ou plusieurs valeurs agrégées sur les lignes regroupées.\n\n**Exemples** :\n\n````\nFROM employees\n| STATS count = COUNT(emp_no) BY languages\n| SORT languages\n````\n\nSi `BY` est omis, le tableau de sortie contient exactement une ligne avec les agrégations appliquées sur l'ensemble des données :\n\n````\nFROM employees\n| STATS avg_lang = AVG(languages)\n````\n\nIl est possible de calculer plusieurs valeurs :\n\n````\nFROM employees\n| STATS avg_lang = AVG(languages), max_lang = MAX(languages)\n````\n\nIl est également possible d'effectuer des regroupements en fonction de plusieurs valeurs (uniquement pour les champs longs et les champs de la famille de mots-clés) :\n\n````\nFROM employees\n| EVAL hired = DATE_FORMAT(hire_date, \"YYYY\")\n| STATS avg_salary = AVG(salary) BY hired, languages.long\n| EVAL avg_salary = ROUND(avg_salary)\n| SORT hired, languages.long\n````\n\nConsultez la rubrique **Fonctions d'agrégation** pour obtenir la liste des fonctions pouvant être utilisées avec `STATS ... BY`.\n\nLes fonctions d'agrégation et les expressions de regroupement acceptent toutes deux d'autres fonctions. Ceci est utile pour utiliser `STATS...BY` sur des colonnes à valeur multiple. Par exemple, pour calculer l'évolution moyenne du salaire, vous pouvez utiliser `MV_AVG` pour faire la moyenne des multiples valeurs par employé, et utiliser le résultat avec la fonction `AVG` :\n\n````\nFROM employees\n| STATS avg_salary_change = AVG(MV_AVG(salary_change))\n````\n\nLe regroupement par expression est par exemple le regroupement des employés en fonction de la première lettre de leur nom de famille :\n\n````\nFROM employees\n| STATS my_count = COUNT() BY LEFT(last_name, 1)\n| SORT \"LEFT(last_name, 1)\"\n````\n\nIl n'est pas obligatoire d'indiquer le nom de la colonne de sortie. S'il n'est pas spécifié, le nouveau nom de la colonne est égal à l'expression. La requête suivante renvoie une colonne appelée `AVG(salary)` :\n\n````\nFROM employees\n| STATS AVG(salary)\n````\n\nComme ce nom contient des caractères spéciaux, il doit être placé entre deux caractères (`) lorsqu'il est utilisé dans des commandes suivantes :\n\n````\nFROM employees\n| STATS AVG(salary)\n| EVAL avg_salary_rounded = ROUND(\"AVG(salary)\")\n````\n\n**Remarque** : `STATS` sans aucun groupe est beaucoup plus rapide que l'ajout d'un groupe.\n\n**Remarque** : Le regroupement sur une seule expression est actuellement beaucoup plus optimisé que le regroupement sur plusieurs expressions.\n ", + "languageDocumentation.documentationESQL.statsby.markdown": "### STATS ... BY Utilisez `STATS ... BY` pour regrouper les lignes en fonction d'une valeur commune et calculer une ou plusieurs valeurs agrégées sur les lignes regroupées. **Exemples** : ``` FROM employees | STATS count = COUNT(emp_no) BY languages | SORT languages ``` Si `BY` est omis, le tableau de sortie contient exactement une ligne avec les agrégations appliquées sur l'ensemble des données : ``` FROM employees | STATS avg_lang = AVG(languages) ``` Il est possible de calculer plusieurs valeurs : ``` FROM employees | STATS avg_lang = AVG(languages), max_lang = MAX(languages) ``` Il est également possible d'effectuer des regroupements en fonction de plusieurs valeurs (uniquement pour les champs longs et les champs de la famille de mots-clés) : ``` FROM employees | EVAL hired = DATE_FORMAT(hire_date, \"YYYY\") | STATS avg_salary = AVG(salary) BY hired, languages.long | EVAL avg_salary = ROUND(avg_salary) | SORT hired, languages.long ``` Consultez la rubrique **Fonctions d'agrégation** pour obtenir la liste des fonctions pouvant être utilisées avec `STATS ... BY`. Les fonctions d'agrégation et les expressions de regroupement acceptent toutes deux d'autres fonctions. Ceci est utile pour utiliser `STATS...BY` sur des colonnes à valeur multiple. Par exemple, pour calculer l'évolution moyenne du salaire, vous pouvez utiliser `MV_AVG` pour faire la moyenne des multiples valeurs par employé, et utiliser le résultat avec la fonction `AVG` : ``` FROM employees | STATS avg_salary_change = AVG(MV_AVG(salary_change)) ``` Le regroupement par expression est par exemple le regroupement des employés en fonction de la première lettre de leur nom de famille : ``` FROM employees | STATS my_count = COUNT() BY LEFT(last_name, 1) | SORT `LEFT(last_name, 1)` ``` Il n'est pas obligatoire d'indiquer le nom de la colonne de sortie. S'il n'est pas spécifié, le nouveau nom de la colonne est égal à l'expression. La requête suivante renvoie une colonne appelée `AVG(salary)` : ``` FROM employees | STATS AVG(salary) ``` Comme ce nom contient des caractères spéciaux, il doit être placé entre deux caractères (`) lorsqu'il est utilisé dans les commandes suivantes : ``` FROM employees | STATS AVG(salary) | EVAL avg_salary_rounded = ROUND(`AVG(salary)`) ``` **Remarque** : `STATS` sans aucun groupe est beaucoup plus rapide que l'ajout d'un groupe. **Remarque** : Le regroupement sur une seule expression est actuellement beaucoup plus optimisé que le regroupement sur plusieurs expressions.", "languageDocumentation.documentationESQL.stringOperators": "LIKE et RLIKE", - "languageDocumentation.documentationESQL.stringOperators.markdown": "### LIKE et RLIKE\nPour comparer des chaînes en utilisant des caractères génériques ou des expressions régulières, utilisez `LIKE` ou `RLIKE` :\n\nUtilisez `LIKE` pour faire correspondre des chaînes à l'aide de caractères génériques. Les caractères génériques suivants sont pris en charge :\n\n* `*` correspond à zéro caractère ou plus.\n* `?` correspond à un seul caractère.\n\n````\nFROM employees\n| WHERE first_name LIKE \"?b*\"\n| KEEP first_name, last_name\n````\n\nUtilisez `RLIKE` pour faire correspondre des chaînes à l'aide d'expressions régulières :\n\n````\nFROM employees\n| WHERE first_name RLIKE \".leja.*\"\n| KEEP first_name, last_name\n````\n ", + "languageDocumentation.documentationESQL.stringOperators.markdown": "### LIKE et RLIKE Pour comparer des chaînes en utilisant des caractères génériques ou des expressions régulières, utilisez `LIKE` ou `RLIKE` : Utilisez `LIKE` pour faire correspondre des chaînes à l'aide de caractères génériques. Les caractères génériques suivants sont pris en charge : * `*` correspond à zéro ou plusieurs caractères. * `?` correspond à un seul caractère. ``` FROM employees | WHERE first_name LIKE \"?b*\" | KEEP first_name, last_name ``` Utilisez `RLIKE` pour faire correspondre des chaînes à l'aide d'expressions régulières : ``` FROM employees | WHERE first_name RLIKE \".leja.*\" | KEEP first_name, last_name ```", "languageDocumentation.documentationESQL.substring": "SUBSTRING", - "languageDocumentation.documentationESQL.substring.markdown": "\n\n ### SUBSTRING\n Renvoie la sous-chaîne d'une chaîne, délimitée en fonction d'une position de départ et d'une longueur facultative\n\n ````\n FROM employees\n | KEEP last_name\n | EVAL ln_sub = SUBSTRING(last_name, 1, 3)\n ````\n ", + "languageDocumentation.documentationESQL.substring.markdown": " ### SUBSTRING Renvoie la sous-chaîne d'une chaîne, délimitée en fonction d'une position de départ et d'une longueur facultative. ``` FROM employees | KEEP last_name | EVAL ln_sub = SUBSTRING(last_name, 1, 3) ```", + "languageDocumentation.documentationESQL.sum": "SUM", + "languageDocumentation.documentationESQL.sum.markdown": " ### SUM La somme d'une expression numérique. ``` FROM employees | STATS SUM(languages) ```", "languageDocumentation.documentationESQL.tan": "TAN", - "languageDocumentation.documentationESQL.tan.markdown": "\n\n ### TAN\n Renvoie la fonction trigonométrique Tangente d'un angle.\n\n ````\n ROW a=1.8 \n | EVAL tan=TAN(a)\n ````\n ", + "languageDocumentation.documentationESQL.tan.markdown": " ### TAN Renvoie la tangente d'un angle. ``` ROW a=1.8 | EVAL tan=TAN(a) ```", "languageDocumentation.documentationESQL.tanh": "TANH", - "languageDocumentation.documentationESQL.tanh.markdown": "\n\n ### TANH\n Renvoie la fonction hyperbolique Tangente d'un angle.\n\n ````\n ROW a=1.8 \n | EVAL tanh=TANH(a)\n ````\n ", + "languageDocumentation.documentationESQL.tanh.markdown": " ### TANH Renvoie la tangente hyperbolique d'un nombre. ``` ROW a=1.8 | EVAL tanh=TANH(a) ```", "languageDocumentation.documentationESQL.tau": "TAU", - "languageDocumentation.documentationESQL.tau.markdown": "\n\n ### TAU\n Renvoie le rapport entre la circonférence et le rayon d'un cercle.\n\n ````\n ROW TAU()\n ````\n ", + "languageDocumentation.documentationESQL.tau.markdown": " ### TAU Renvoie le rapport entre la circonférence et le rayon d'un cercle. ``` ROW TAU() ```", "languageDocumentation.documentationESQL.to_base64": "TO_BASE64", - "languageDocumentation.documentationESQL.to_base64.markdown": "\n\n ### TO_BASE64\n Encode une chaîne en chaîne base64.\n\n ````\n row a = \"elastic\" \n | eval e = to_base64(a)\n ````\n ", + "languageDocumentation.documentationESQL.to_base64.markdown": " ### TO_BASE64 Encode une chaîne en chaîne base64. ``` row a = \"elastic\" | eval e = to_base64(a) ```", "languageDocumentation.documentationESQL.to_boolean": "TO_BOOLEAN", - "languageDocumentation.documentationESQL.to_boolean.markdown": "\n\n ### TO_BOOLEAN\n Convertit une valeur d'entrée en une valeur booléenne.\n Une chaîne de valeur *true* sera convertie, sans tenir compte de la casse, en une valeur booléenne *true*.\n Pour toute autre valeur, y compris une chaîne vide, la fonction renverra *false*.\n La valeur numérique *0* sera convertie en *false*, toute autre valeur sera convertie en *true*.\n\n ````\n ROW str = [\"true\", \"TRuE\", \"false\", \"\", \"yes\", \"1\"]\n | EVAL bool = TO_BOOLEAN(str)\n ````\n ", + "languageDocumentation.documentationESQL.to_boolean.markdown": " ### TO_BOOLEAN Convertit une valeur d'entrée en une valeur booléenne. Une chaîne de valeur *true* sera convertie, sans tenir compte de la casse, en une valeur booléenne *true*. Pour toute autre valeur, y compris une chaîne vide, la fonction renverra *false*. La valeur numérique *0* sera convertie en *false*, toute autre valeur sera convertie en *true*. ``` ROW str = [\"true\", \"TRuE\", \"false\", \"\", \"yes\", \"1\"] | EVAL bool = TO_BOOLEAN(str) ```", "languageDocumentation.documentationESQL.to_cartesianpoint": "TO_CARTESIANPOINT", - "languageDocumentation.documentationESQL.to_cartesianpoint.markdown": "\n\n ### TO_CARTESIANPOINT\n Convertit la valeur d'une entrée en une valeur `cartesian_point`.\n Une chaîne ne sera convertie que si elle respecte le format WKT Point.\n\n ````\n ROW wkt = [\"POINT(4297.11 -1475.53)\", \"POINT(7580.93 2272.77)\"]\n | MV_EXPAND wkt\n | EVAL pt = TO_CARTESIANPOINT(wkt)\n ````\n ", + "languageDocumentation.documentationESQL.to_cartesianpoint.markdown": " ### TO_CARTESIANPOINT Convertit la valeur d'une entrée en une valeur `cartesian_point`. Une chaîne ne sera convertie que si elle respecte le format WKT Point. ``` ROW wkt = [\"POINT(4297.11 -1475.53)\", \"POINT(7580.93 2272.77)\"] | MV_EXPAND wkt | EVAL pt = TO_CARTESIANPOINT(wkt) ```", "languageDocumentation.documentationESQL.to_cartesianshape": "TO_CARTESIANSHAPE", - "languageDocumentation.documentationESQL.to_cartesianshape.markdown": "\n\n ### TO_CARTESIANSHAPE\n Convertit une valeur d'entrée en une valeur `cartesian_shape`.\n Une chaîne ne sera convertie que si elle respecte le format WKT.\n\n ````\n ROW wkt = [\"POINT(4297.11 -1475.53)\", \"POLYGON ((3339584.72 1118889.97, 4452779.63 4865942.27, 2226389.81 4865942.27, 1113194.90 2273030.92, 3339584.72 1118889.97))\"]\n | MV_EXPAND wkt\n | EVAL geom = TO_CARTESIANSHAPE(wkt)\n ````\n ", + "languageDocumentation.documentationESQL.to_cartesianshape.markdown": " ### TO_CARTESIANSHAPE Convertit une valeur d'entrée en une valeur `cartesian_shape`. Une chaîne ne sera convertie que si elle respecte le format WKT. ``` ROW wkt = [\"POINT(4297.11 -1475.53)\", \"POLYGON ((3339584.72 1118889.97, 4452779.63 4865942.27, 2226389.81 4865942.27, 1113194.90 2273030.92, 3339584.72 1118889.97))\"] | MV_EXPAND wkt | EVAL geom = TO_CARTESIANSHAPE(wkt) ```", + "languageDocumentation.documentationESQL.to_date_nanos": "TO_DATE_NANOS", + "languageDocumentation.documentationESQL.to_date_nanos.markdown": " ### TO_DATE_NANOS Convertit une entrée en une valeur de date de résolution nanoseconde (ou date_nanos). Remarque : La plage de \"date nanos\" est comprise entre 1970-01-01T00:00:00.000000000Z et 2262-04-11T23:47:16.854775807Z. En outre, les nombres entiers ne peuvent pas être convertis en \"date nanos\", car la plage des nanosecondes en nombres entiers ne couvre qu'environ 2 secondes après l'heure.", + "languageDocumentation.documentationESQL.to_dateperiod": "TO_DATEPERIOD", + "languageDocumentation.documentationESQL.to_dateperiod.markdown": " ### TO_DATEPERIOD Convertit une valeur d'entrée en une valeur `date_period`. ``` row x = \"2024-01-01\"::datetime | eval y = x + \"3 DAYS\"::date_period, z = x - to_dateperiod(\"3 days\"); ```", "languageDocumentation.documentationESQL.to_datetime": "TO_DATETIME", - "languageDocumentation.documentationESQL.to_datetime.markdown": "\n\n ### TO_DATETIME\n Convertit une valeur d'entrée en une valeur de date.\n Une chaîne ne sera convertie que si elle respecte le format `yyyy-MM-dd'T'HH:mm:ss.SSS'Z'`.\n Pour convertir des dates vers d'autres formats, utilisez `DATE_PARSE`.\n\n ````\n ROW string = [\"1953-09-02T00:00:00.000Z\", \"1964-06-02T00:00:00.000Z\", \"1964-06-02 00:00:00\"]\n | EVAL datetime = TO_DATETIME(string)\n ````\n ", + "languageDocumentation.documentationESQL.to_datetime.markdown": " ### TO_DATETIME Convertit une valeur d'entrée en une valeur de date. Une chaîne ne sera convertie que si elle respecte le format `yyyy-MM-dd'T'HH:mm:ss.SSS'Z'`. Pour convertir des dates vers d'autres formats, utilisez `DATE_PARSE`. ``` ROW string = [\"1953-09-02T00:00:00.000Z\", \"1964-06-02T00:00:00.000Z\", \"1964-06-02 00:00:00\"] | EVAL datetime = TO_DATETIME(string) ``` Remarque : Notez que lors de la conversion de la résolution en nanosecondes à la résolution en millisecondes avec cette fonction, la date en nanosecondes est tronquée et non arrondie.", "languageDocumentation.documentationESQL.to_degrees": "TO_DEGREES", - "languageDocumentation.documentationESQL.to_degrees.markdown": "\n\n ### TO_DEGREES\n Convertit un nombre en radians en degrés.\n\n ````\n ROW rad = [1.57, 3.14, 4.71]\n | EVAL deg = TO_DEGREES(rad)\n ````\n ", + "languageDocumentation.documentationESQL.to_degrees.markdown": " ### TO_DEGREES Convertit un nombre en radians en degrés. ``` ROW rad = [1.57, 3.14, 4.71] | EVAL deg = TO_DEGREES(rad) ```", "languageDocumentation.documentationESQL.to_double": "TO_DOUBLE", - "languageDocumentation.documentationESQL.to_double.markdown": "\n\n ### TO_DOUBLE\n Convertit une valeur d'entrée en une valeur double. Si le paramètre d'entrée est de type date,\n sa valeur sera interprétée en millisecondes depuis l'heure Unix,\n convertie en double. Le booléen *true* sera converti en double *1.0*, et *false* en *0.0*.\n\n ````\n ROW str1 = \"5.20128E11\", str2 = \"foo\"\n | EVAL dbl = TO_DOUBLE(\"520128000000\"), dbl1 = TO_DOUBLE(str1), dbl2 = TO_DOUBLE(str2)\n ````\n ", + "languageDocumentation.documentationESQL.to_double.markdown": " ### TO_DOUBLE Convertit une valeur d'entrée en une valeur double. Si le paramètre d'entrée est de type date, sa valeur sera interprétée en millisecondes depuis l'heure Unix, convertie en double. Le booléen *true* sera converti en double *1.0*, et *false* en *0.0*. ``` ROW str1 = \"5.20128E11\", str2 = \"foo\" | EVAL dbl = TO_DOUBLE(\"520128000000\"), dbl1 = TO_DOUBLE(str1), dbl2 = TO_DOUBLE(str2) ```", "languageDocumentation.documentationESQL.to_geopoint": "TO_GEOPOINT", - "languageDocumentation.documentationESQL.to_geopoint.markdown": "\n\n ### TO_GEOPOINT\n Convertit une valeur d'entrée en une valeur `geo_point`.\n Une chaîne ne sera convertie que si elle respecte le format WKT Point.\n\n ````\n ROW wkt = \"POINT(42.97109630194 14.7552534413725)\"\n | EVAL pt = TO_GEOPOINT(wkt)\n ````\n ", + "languageDocumentation.documentationESQL.to_geopoint.markdown": " ### TO_GEOPOINT Convertit une valeur d'entrée en une valeur `geo_point`. Une chaîne ne sera convertie que si elle respecte le format WKT Point. ``` ROW wkt = \"POINT(42.97109630194 14.7552534413725)\" | EVAL pt = TO_GEOPOINT(wkt) ```", "languageDocumentation.documentationESQL.to_geoshape": "TO_GEOSHAPE", - "languageDocumentation.documentationESQL.to_geoshape.markdown": "\n\n ### TO_GEOSHAPE\n Convertit une valeur d'entrée en une valeur `geo_shape`.\n Une chaîne ne sera convertie que si elle respecte le format WKT.\n\n ````\n ROW wkt = \"POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))\"\n | EVAL geom = TO_GEOSHAPE(wkt)\n ````\n ", + "languageDocumentation.documentationESQL.to_geoshape.markdown": " ### TO_GEOSHAPE Convertit une valeur d'entrée en une valeur `geo_shape`. Une chaîne ne sera convertie que si elle respecte le format WKT. ``` ROW wkt = \"POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))\" | EVAL geom = TO_GEOSHAPE(wkt) ```", "languageDocumentation.documentationESQL.to_integer": "TO_INTEGER", - "languageDocumentation.documentationESQL.to_integer.markdown": "\n\n ### TO_INTEGER\n Convertit une valeur d'entrée en une valeur entière.\n Si le paramètre d'entrée est de type date, sa valeur sera interprétée en millisecondes\n depuis l'heure Unix, convertie en entier.\n Le booléen *true* sera converti en entier *1*, et *false* en *0*.\n\n ````\n ROW long = [5013792, 2147483647, 501379200000]\n | EVAL int = TO_INTEGER(long)\n ````\n ", + "languageDocumentation.documentationESQL.to_integer.markdown": " ### TO_INTEGER Convertit une valeur d'entrée en une valeur entière. Si le paramètre d'entrée est de type date, sa valeur sera interprétée en millisecondes depuis l'heure Unix, convertie en nombre entier. Le booléen *true* sera converti en entier *1*, et *false* en *0*. ``` ROW long = [5013792, 2147483647, 501379200000] | EVAL int = TO_INTEGER(long) ```", "languageDocumentation.documentationESQL.to_ip": "TO_IP", - "languageDocumentation.documentationESQL.to_ip.markdown": "\n\n ### TO_IP\n Convertit une chaîne d'entrée en valeur IP.\n\n ````\n ROW str1 = \"1.1.1.1\", str2 = \"foo\"\n | EVAL ip1 = TO_IP(str1), ip2 = TO_IP(str2)\n | WHERE CIDR_MATCH(ip1, \"1.0.0.0/8\")\n ````\n ", + "languageDocumentation.documentationESQL.to_ip.markdown": " ### TO_IP Convertit une chaîne d'entrée en valeur IP. ``` ROW str1 = \"1.1.1.1\", str2 = \"foo\" | EVAL ip1 = TO_IP(str1), ip2 = TO_IP(str2) | WHERE CIDR_MATCH(ip1, \"1.0.0.0/8\") ```", "languageDocumentation.documentationESQL.to_long": "TO_LONG", - "languageDocumentation.documentationESQL.to_long.markdown": "\n\n ### TO_LONG\n Convertit une valeur d'entrée en une valeur longue. Si le paramètre d'entrée est de type date,\n sa valeur sera interprétée en millisecondes depuis l'heure Unix, convertie en valeur longue.\n Le booléen *true* sera converti en valeur longue *1*, et *false* en *0*.\n\n ````\n ROW str1 = \"2147483648\", str2 = \"2147483648.2\", str3 = \"foo\"\n | EVAL long1 = TO_LONG(str1), long2 = TO_LONG(str2), long3 = TO_LONG(str3)\n ````\n ", + "languageDocumentation.documentationESQL.to_long.markdown": " ### TO_LONG Convertit une valeur d'entrée en une valeur longue. Si le paramètre d'entrée est de type date, sa valeur sera interprétée en millisecondes depuis l'heure Unix, convertie en valeur longue. Le booléen *true* sera converti en valeur longue *1*, et *false* en *0*. ``` ROW str1 = \"2147483648\", str2 = \"2147483648.2\", str3 = \"foo\" | EVAL long1 = TO_LONG(str1), long2 = TO_LONG(str2), long3 = TO_LONG(str3) ```", "languageDocumentation.documentationESQL.to_lower": "TO_LOWER", - "languageDocumentation.documentationESQL.to_lower.markdown": "\n\n ### TO_LOWER\n Renvoie une nouvelle chaîne représentant la chaîne d'entrée convertie en minuscules.\n\n ````\n ROW message = \"Some Text\"\n | EVAL message_lower = TO_LOWER(message)\n ````\n ", + "languageDocumentation.documentationESQL.to_lower.markdown": " ### TO_LOWER Renvoie une nouvelle chaîne représentant la chaîne d'entrée convertie en minuscules. ``` ROW message = \"Some Text\" | EVAL message_lower = TO_LOWER(message) ```", "languageDocumentation.documentationESQL.to_radians": "TO_RADIANS", - "languageDocumentation.documentationESQL.to_radians.markdown": "\n\n ### TO_RADIANS\n Convertit un nombre en degrés en radians.\n\n ````\n ROW deg = [90.0, 180.0, 270.0]\n | EVAL rad = TO_RADIANS(deg)\n ````\n ", + "languageDocumentation.documentationESQL.to_radians.markdown": " ### TO_RADIANS Convertit un nombre en degrés en radians. ``` ROW deg = [90.0, 180.0, 270.0] | EVAL rad = TO_RADIANS(deg) ```", "languageDocumentation.documentationESQL.to_string": "TO_STRING", - "languageDocumentation.documentationESQL.to_string.markdown": "\n\n ### TO_STRING\n Convertit une valeur d'entrée en une chaîne.\n\n ````\n ROW a=10\n | EVAL j = TO_STRING(a)\n ````\n ", + "languageDocumentation.documentationESQL.to_string.markdown": " ### TO_STRING Convertit une valeur d'entrée en une chaîne. ``` ROW a=10 | EVAL j = TO_STRING(a) ```", + "languageDocumentation.documentationESQL.to_timeduration": "TO_TIMEDURATION", + "languageDocumentation.documentationESQL.to_timeduration.markdown": " ### TO_TIMEDURATION Convertit une valeur d'entrée en valeur `time_duration`. ``` row x = \"2024-01-01\"::datetime | eval y = x + \"3 hours\"::time_duration, z = x - to_timeduration(\"3 hours\"); ```", "languageDocumentation.documentationESQL.to_unsigned_long": "TO_UNSIGNED_LONG", - "languageDocumentation.documentationESQL.to_unsigned_long.markdown": "\n\n ### TO_UNSIGNED_LONG\n Convertit une valeur d'entrée en une valeur longue non signée. Si le paramètre d'entrée est de type date,\n sa valeur sera interprétée en millisecondes depuis l'heure Unix, convertie en valeur longue non signée.\n Le booléen *true* sera converti en valeur longue non signée *1*, et *false* en *0*.\n\n ````\n ROW str1 = \"2147483648\", str2 = \"2147483648.2\", str3 = \"foo\"\n | EVAL long1 = TO_UNSIGNED_LONG(str1), long2 = TO_ULONG(str2), long3 = TO_UL(str3)\n ````\n ", + "languageDocumentation.documentationESQL.to_unsigned_long.markdown": " ### TO_UNSIGNED_LONG Convertit une valeur d'entrée en une valeur longue non signée. Si le paramètre d'entrée est de type date, sa valeur sera interprétée en millisecondes depuis l'heure Unix, convertie en valeur longue non signée. Le booléen *true* sera converti en valeur longue non signée *1*, et *false* en *0*. ``` ROW str1 = \"2147483648\", str2 = \"2147483648.2\", str3 = \"foo\" | EVAL long1 = TO_UNSIGNED_LONG(str1), long2 = TO_ULONG(str2), long3 = TO_UL(str3) ```", "languageDocumentation.documentationESQL.to_upper": "TO_UPPER", - "languageDocumentation.documentationESQL.to_upper.markdown": "\n\n ### TO_UPPER\n Renvoie une nouvelle chaîne représentant la chaîne d'entrée convertie en majuscules.\n\n ````\n ROW message = \"Some Text\"\n | EVAL message_upper = TO_UPPER(message)\n ````\n ", + "languageDocumentation.documentationESQL.to_upper.markdown": " ### TO_UPPER Renvoie une nouvelle chaîne représentant la chaîne d'entrée convertie en majuscules. ``` ROW message = \"Some Text\" | EVAL message_upper = TO_UPPER(message) ```", "languageDocumentation.documentationESQL.to_version": "TO_VERSION", - "languageDocumentation.documentationESQL.to_version.markdown": "\n\n ### TO_VERSION\n Convertit une chaîne d'entrée en une valeur de version.\n\n ````\n ROW v = TO_VERSION(\"1.2.3\")\n ````\n ", + "languageDocumentation.documentationESQL.to_version.markdown": " ### TO_VERSION Convertit une chaîne d'entrée en une valeur de version. ``` ROW v = TO_VERSION(\"1.2.3\") ```", + "languageDocumentation.documentationESQL.top": "TOP", + "languageDocumentation.documentationESQL.top.markdown": " ### TOP Collecte les valeurs les plus élevées d'un champ. Inclut les valeurs répétées. ``` FROM employees | STATS top_salaries = TOP(salary, 3, \"desc\"), top_salary = MAX(salary) ```", "languageDocumentation.documentationESQL.trim": "TRIM", - "languageDocumentation.documentationESQL.trim.markdown": "\n\n ### TRIM\n Supprime les espaces de début et de fin d'une chaîne.\n\n ````\n ROW message = \" some text \", color = \" red \"\n | EVAL message = TRIM(message)\n | EVAL color = TRIM(color)\n ````\n ", + "languageDocumentation.documentationESQL.trim.markdown": " ### TRIM Supprime les espaces de début et de fin d'une chaîne. ``` ROW message = \" some text \", color = \" red \" | EVAL message = TRIM(message) | EVAL color = TRIM(color) ```", + "languageDocumentation.documentationESQL.values": "VALEURS", + "languageDocumentation.documentationESQL.values.markdown": " ### VALUES Renvoie toutes les valeurs d'un groupe dans un champ multivalué. L'ordre des valeurs renvoyées n'est pas garanti. Si vous avez besoin que les valeurs renvoyées soient dans l'ordre, utilisez `esql-mv_sort`. ``` FROM employees | EVAL first_letter = SUBSTRING(first_name, 0, 1) | STATS first_name=MV_SORT(VALUES(first_name)) BY first_letter | SORT first_letter ```", + "languageDocumentation.documentationESQL.weighted_avg": "WEIGHTED_AVG", + "languageDocumentation.documentationESQL.weighted_avg.markdown": " ### WEIGHTED_AVG La moyenne pondérée d'une expression numérique. ``` FROM employees | STATS w_avg = WEIGHTED_AVG(salary, height) by languages | EVAL w_avg = ROUND(w_avg) | KEEP w_avg, languages | SORT languages ```", "languageDocumentation.documentationESQL.where": "WHERE", - "languageDocumentation.documentationESQL.where.markdown": "### WHERE\nUtilisez `WHERE` afin d'obtenir un tableau qui comprend toutes les lignes du tableau d'entrée pour lesquelles la condition fournie est évaluée à `true` :\n \n````\nFROM employees\n| KEEP first_name, last_name, still_hired\n| WHERE still_hired == true\n````\n\n#### Opérateurs\n\nPour obtenir un aperçu des opérateurs pris en charge, consultez la section **Opérateurs**.\n\n#### Fonctions\n`WHERE` prend en charge diverses fonctions de calcul des valeurs. Pour en savoir plus, consultez la section **Fonctions**.\n ", + "languageDocumentation.documentationESQL.where.markdown": "### WHERE Utilisez `WHERE` afin d'obtenir un tableau qui comprend toutes les lignes du tableau d'entrée pour lesquelles la condition fournie est évaluée à `true` : ``` FROM employees | KEEP first_name, last_name, still_hired | WHERE still_hired == true ``` #### Opérateurs Pour obtenir un aperçu des opérateurs pris en charge, consultez la section **Opérateurs**. #### Fonctions `WHERE` prend en charge diverses fonctions de calcul des valeurs. Pour en savoir plus, consultez la section **Fonctions**.", + "languageDocumentation.documentationFlyoutTitle": "Référence rapide ES|QL", "languageDocumentation.documentationLinkLabel": "Voir toute la documentation", + "languageDocumentation.esqlDocsLabel": "Sélectionnez ou recherchez des thèmes", + "languageDocumentation.esqlDocsLinkLabel": "Voir toute la documentation ES|QL", + "languageDocumentation.esqlSections.initialSectionLabel": "ES|QL", "languageDocumentation.header": "Référence de {language}", + "languageDocumentation.navigationAriaLabel": "Naviguer dans la documentation", + "languageDocumentation.navigationPlaceholder": "Commandes et fonctions", "languageDocumentation.searchPlaceholder": "Recherche", "languageDocumentation.tooltip": "Référence de {lang}", "lensFormulaDocs.avg": "Moyenne", "lensFormulaDocs.boolean": "booléen", "lensFormulaDocs.cardinality": "Décompte unique", - "lensFormulaDocs.cardinality.documentation.markdown": "\nCalcule le nombre de valeurs uniques d'un champ donné. Fonctionne pour les nombres, les chaînes, les dates et les valeurs booléennes.\n\nExemple : calculer le nombre de produits différents : \n`unique_count(product.name)`\n\nExemple : calculer le nombre de produits différents du groupe \"clothes\" : \n`unique_count(product.name, kql='product.group=clothes')`\n ", + "lensFormulaDocs.cardinality.documentation.markdown": "Calcule le nombre de valeurs uniques d'un champ donné. Fonctionne pour les nombres, les chaînes, les dates et les valeurs booléennes. Exemple : Calculer le nombre de produits différents : `unique_count(product.name)` Exemple : Calculer le nombre de produits différents du groupe \"vêtements\" : `unique_count(product.name, kql='product.group=clothes')`", "lensFormulaDocs.cardinality.signature": "champ : chaîne", "lensFormulaDocs.CommonFormulaDocumentation": "Les formules les plus courantes divisent deux valeurs pour produire un pourcentage. Pour obtenir un affichage correct, définissez \"Format de valeur\" sur \"pourcent\".", "lensFormulaDocs.count": "Décompte", - "lensFormulaDocs.count.documentation.markdown": "\nNombre total de documents. Lorsque vous fournissez un champ, le nombre total de valeurs de champ est compté. Lorsque vous utilisez la fonction de décompte pour les champs qui comportent plusieurs valeurs dans un même document, toutes les valeurs sont comptées.\n\n#### Exemples\n\nPour calculer le nombre total de documents, utilisez `count()`.\n\nPour calculer le nombre de produits, utilisez `count(products.id)`.\n\nPour calculer le nombre de documents qui correspondent à un filtre donné, utilisez `count(kql='price > 500')`.\n", + "lensFormulaDocs.count.documentation.markdown": "Nombre total de documents. Lorsque vous fournissez un champ, le nombre total de valeurs de champ est compté. Lorsque vous utilisez la fonction de décompte pour les champs qui comportent plusieurs valeurs dans un même document, toutes les valeurs sont comptées. #### Exemples Pour calculer le nombre total de documents, utilisez `count()`. Pour calculer le nombre de produits, utilisez `count(products.id)`. Pour calculer le nombre de documents qui correspondent à un filtre donné, utilisez `count(kql='price > 500')`.", "lensFormulaDocs.count.signature": "[champ : chaîne]", "lensFormulaDocs.counterRate": "Taux de compteur", - "lensFormulaDocs.counterRate.documentation.markdown": "\nCalcule le taux d'un compteur toujours croissant. Cette fonction renvoie uniquement des résultats utiles inhérents aux champs d'indicateurs de compteur qui contiennent une mesure quelconque à croissance régulière.\nSi la valeur diminue, elle est interprétée comme une mesure de réinitialisation de compteur. Pour obtenir des résultats plus précis, `counter_rate\" doit être calculé d’après la valeur `max` du champ.\n\nCe calcul est réalisé séparément pour des séries distinctes définies par des filtres ou des dimensions de valeurs supérieures.\nIl utilise l'intervalle en cours utilisé dans la formule.\n\nExemple : visualiser le taux d'octets reçus au fil du temps par un serveur Memcached : \n`counter_rate(max(memcached.stats.read.bytes))`\n ", + "lensFormulaDocs.counterRate.documentation.markdown": "Calcule le taux d'un compteur toujours croissant. Cette fonction renvoie uniquement des résultats utiles inhérents aux champs d'indicateurs de compteur qui contiennent une mesure quelconque à croissance régulière. Si la valeur diminue, elle est interprétée comme une mesure de réinitialisation de compteur. Pour obtenir des résultats plus précis, `counter_rate\" doit être calculé d’après la valeur `max` du champ. Ce calcul est réalisé séparément pour des séries distinctes définies par des filtres ou des dimensions de valeurs supérieures. Il utilise l'intervalle en cours utilisé dans la formule. Exemple : Visualiser le taux d'octets reçus au fil du temps par un serveur Memcached : `counter_rate(max(memcached.stats.read.bytes))`", "lensFormulaDocs.counterRate.signature": "indicateur : nombre", "lensFormulaDocs.cumulative_sum.signature": "indicateur : nombre", "lensFormulaDocs.cumulativeSum": "Somme cumulée", - "lensFormulaDocs.cumulativeSum.documentation.markdown": "\nCalcule la somme cumulée d'un indicateur au fil du temps, en ajoutant toutes les valeurs précédentes d'une série à chaque valeur. Pour utiliser cette fonction, vous devez également configurer une dimension de l'histogramme de dates.\n\nCe calcul est réalisé séparément pour des séries distinctes définies par des filtres ou des dimensions de valeurs supérieures.\n\nExemple : visualiser les octets reçus cumulés au fil du temps : \n`cumulative_sum(sum(bytes))`\n", + "lensFormulaDocs.cumulativeSum.documentation.markdown": "Calcule la somme cumulée d'un indicateur au fil du temps, en ajoutant toutes les valeurs précédentes d'une série à chaque valeur. Pour utiliser cette fonction, vous devez également configurer une dimension de l'histogramme de dates. Ce calcul est réalisé séparément pour des séries distinctes définies par des filtres ou des dimensions de valeurs supérieures. Exemple : Visualiser les octets reçus cumulés au fil du temps : `cumulative_sum(sum(bytes))`", "lensFormulaDocs.derivative": "Différences", - "lensFormulaDocs.differences.documentation.markdown": "\nCalcule la différence par rapport à la dernière valeur d'un indicateur au fil du temps. Pour utiliser cette fonction, vous devez également configurer une dimension de l'histogramme de dates.\nLes données doivent être séquentielles pour les différences. Si vos données sont vides lorsque vous utilisez des différences, essayez d'augmenter l'intervalle de l'histogramme de dates.\n\nCe calcul est réalisé séparément pour des séries distinctes définies par des filtres ou des dimensions de valeurs supérieures.\n\nExemple : visualiser la modification des octets reçus au fil du temps : \n`differences(sum(bytes))`\n", + "lensFormulaDocs.differences.documentation.markdown": "Calcule la différence par rapport à la dernière valeur d'un indicateur au fil du temps. Pour utiliser cette fonction, vous devez également configurer une dimension de l'histogramme de dates. Les données doivent être séquentielles pour les différences. Si vos données sont vides lorsque vous utilisez des différences, essayez d'augmenter l'intervalle de l'histogramme de dates. Ce calcul est réalisé séparément pour des séries distinctes définies par des filtres ou des dimensions de valeurs supérieures. Exemple : Visualiser l'évolution du nombre d'octets reçus au fil du temps : `differences(sum(bytes))`", "lensFormulaDocs.differences.signature": "indicateur : nombre", "lensFormulaDocs.documentation.columnCalculationSection": "Calculs de colonnes", "lensFormulaDocs.documentation.columnCalculationSectionDescription": "Ces fonctions sont exécutées pour chaque ligne, mais elles sont fournies avec la colonne entière comme contexte. Elles sont également appelées fonctions de fenêtre.", @@ -5725,92 +6340,92 @@ "lensFormulaDocs.documentation.elasticsearchSection": "Elasticsearch", "lensFormulaDocs.documentation.elasticsearchSectionDescription": "Ces fonctions seront exécutées sur les documents bruts pour chaque ligne du tableau résultant, en agrégeant tous les documents correspondant aux dimensions de répartition en une seule valeur.", "lensFormulaDocs.documentation.filterRatio": "Rapport de filtre", - "lensFormulaDocs.documentation.filterRatioDescription.markdown": "### Rapport de filtre :\n\nUtilisez `kql=''` pour filtrer un ensemble de documents et le comparer à d'autres documents du même regroupement.\nPar exemple, pour consulter l'évolution du taux d'erreur au fil du temps :\n\n````\ncount(kql='response.status_code > 400') / count()\n````\n ", - "lensFormulaDocs.documentation.markdown": "## Fonctionnement\n\nLes formules Lens permettent de réaliser des calculs à l'aide d'une combinaison d'agrégations Elasticsearch et\nde fonctions mathématiques. Trois types principaux de fonctions existent :\n\n* Indicateurs Elasticsearch, comme `sum(bytes)`\n* Fonctions de séries temporelles utilisant les indicateurs Elasticsearch en tant qu'entrée, comme `cumulative_sum()`\n* Fonctions mathématiques, comme `round()`\n\nVoici un exemple de formule qui les utilise tous :\n\n````\nround(100 * moving_average(\naverage(cpu.load.pct),\nwindow=10,\nkql='datacenter.name: east*'\n))\n````\n\nLes fonctions Elasticsearch utilisent un nom de champ, qui peut être entre guillemets. `sum(bytes)` est ainsi identique à\n`sum('bytes')`.\n\nCertaines fonctions utilisent des arguments nommés, comme `moving_average(count(), window=5)`.\n\nLes indicateurs Elasticsearch peuvent être filtrés à l’aide de la syntaxe KQL ou Lucene. Pour ajouter un filtre, utilisez le paramètre\nnommé `kql='field: value'` ou `lucene=''`. Utilisez toujours des guillemets simples pour écrire des requêtes KQL\nou Lucene. Si votre recherche contient un guillemet simple, utilisez une barre oblique inverse pour l’échapper, par exemple : `kql='Women\\'s\".\n\nLes fonctions mathématiques peuvent utiliser des arguments positionnels : par exemple, pow(count(), 3) est identique à count() * count() * count().\n\nUtilisez les opérateurs +, -, / et * pour réaliser des opérations de base.\n", + "lensFormulaDocs.documentation.filterRatioDescription.markdown": "### Rapport de filtre : Utilisez `kql=''` pour filtrer un ensemble de documents et le comparer à d'autres documents du même regroupement. Par exemple, pour consulter l'évolution du taux d'erreur au fil du temps : ``` count(kql='response.status_code > 400') / count() ```", + "lensFormulaDocs.documentation.markdown": "## Fonctionnement Les formules Lens permettent de réaliser des calculs à l'aide d'une combinaison d'agrégations Elasticsearch et de fonctions mathématiques. Il existe trois principaux types de fonctions : * Indicateurs Elasticsearch, comme `sum(bytes)` * Fonctions de séries temporelles utilisant les indicateurs Elasticsearch en tant qu'entrée, comme `cumulative_sum()` * Fonctions mathématiques, comme `round()` Voici un exemple de formule qui les utilise tous : ``` round(100 * moving_average( average(cpu.load.pct), window=10, kql='datacenter.name: east*' )) ``` Les fonctions Elasticsearch utilisent un nom de champ, qui peut être entre guillemets. `sum(bytes)` est ainsi identique à `sum('bytes')`. Certaines fonctions utilisent des arguments nommés, comme `moving_average(count(), window=5)`. Les indicateurs Elasticsearch peuvent être filtrés à l’aide de la syntaxe KQL ou Lucene. Pour ajouter un filtre, utilisez le paramètre `kql='field: value'` ou `lucene=''`. Utilisez toujours des guillemets simples pour écrire des requêtes KQL ou Lucene. Si votre recherche contient un guillemet simple, utilisez une barre oblique inverse pour l'échapper, par exemple : `kql='Women\\'s\". Les fonctions mathématiques peuvent utiliser des arguments positionnels : par exemple, pow(count(), 3) est identique à count() * count() * count(). Utilisez les opérateurs +, -, / et * pour réaliser des opérations de base.", "lensFormulaDocs.documentation.mathSection": "Mathématique", "lensFormulaDocs.documentation.mathSectionDescription": "Ces fonctions seront exécutées pour chaque ligne du tableau résultant en utilisant des valeurs uniques de la même ligne calculées à l'aide d'autres fonctions.", "lensFormulaDocs.documentation.percentOfTotal": "Pourcentage du total", - "lensFormulaDocs.documentation.percentOfTotalDescription.markdown": "### Pourcentage du total\n\nLes formules peuvent calculer `overall_sum` pour tous les regroupements,\nce qui permet de convertir chaque regroupement en un pourcentage du total :\n\n````\nsum(products.base_price) / overall_sum(sum(products.base_price))\n````\n ", + "lensFormulaDocs.documentation.percentOfTotalDescription.markdown": "### Pourcentage du total Les formules peuvent calculer `overall_sum` pour tous les regroupements, ce qui permet de convertir chaque regroupement en un pourcentage du total : ``` sum(products.base_price) / overall_sum(sum(products.base_price)) ```", "lensFormulaDocs.documentation.recentChange": "Modification récente", - "lensFormulaDocs.documentation.recentChangeDescription.markdown": "### Modification récente\n\nUtilisez `reducedTimeRange='30m'` pour ajouter un filtre supplémentaire sur la plage temporelle d'un indicateur aligné avec la fin d'une plage temporelle globale. Vous pouvez l'utiliser pour calculer le degré de modification récente d'une valeur.\n\n````\nmax(system.network.in.bytes, reducedTimeRange=\"30m\")\n- min(system.network.in.bytes, reducedTimeRange=\"30m\")\n````\n ", + "lensFormulaDocs.documentation.recentChangeDescription.markdown": "### Modification récente Utilisez `reducedTimeRange='30m'` pour ajouter un filtre supplémentaire sur la plage temporelle d'un indicateur aligné avec la fin d'une plage temporelle globale. Vous pouvez l'utiliser pour calculer le degré de modification récente d'une valeur. ``` max(system.network.in.bytes, reducedTimeRange=\"30m\") - min(system.network.in.bytes, reducedTimeRange=\"30m\") ```", "lensFormulaDocs.documentation.weekOverWeek": "Semaine après semaine", - "lensFormulaDocs.documentation.weekOverWeekDescription.markdown": "### Semaine après semaine :\n\nUtilisez `shift='1w'` pour obtenir la valeur de chaque regroupement\nde la semaine précédente. Le décalage ne doit pas être utilisé avec la fonction *Valeurs les plus élevées*.\n\n````\npercentile(system.network.in.bytes, percentile=99) /\npercentile(system.network.in.bytes, percentile=99, shift='1w')\n````\n ", + "lensFormulaDocs.documentation.weekOverWeekDescription.markdown": "### Semaine après semaine : Utilisez `shift='1w'` pour obtenir la valeur de chaque regroupement de la semaine précédente. Le décalage ne doit pas être utilisé avec la fonction *Valeurs les plus élevées*. ``` percentile(system.network.in.bytes, percentile=99) / percentile(system.network.in.bytes, percentile=99, shift='1w') ```", "lensFormulaDocs.frequentlyUsedHeading": "Formules courantes", "lensFormulaDocs.interval": "Intervalle de l'histogramme des dates", - "lensFormulaDocs.interval.help": "\nL’intervalle minimum spécifié pour l’histogramme de date, en millisecondes (ms).\n\nExemple : Normalisez l'indicateur de façon dynamique en fonction de la taille d'intervalle du compartiment : \n\"sum(bytes) / interval()\"\n", + "lensFormulaDocs.interval.help": "L’intervalle minimum spécifié pour l’histogramme de date, en millisecondes (ms). Exemple : Normalisez l'indicateur de façon dynamique en fonction de la taille d'intervalle du compartiment : `sum(bytes) / interval()`", "lensFormulaDocs.lastValue": "Dernière valeur", - "lensFormulaDocs.lastValue.documentation.markdown": "\nRenvoie la valeur d'un champ du dernier document, triée par le champ d'heure par défaut de la vue de données.\n\nCette fonction permet de récupérer le dernier état d'une entité.\n\nExemple : obtenir le statut actuel du serveur A : \n`last_value(server.status, kql='server.name=\"A\"')`\n", + "lensFormulaDocs.lastValue.documentation.markdown": "Renvoie la valeur d'un champ du dernier document, triée par le champ d'heure par défaut de la vue de données. Cette fonction permet de récupérer le dernier état d'une entité. Exemple : Obtenir le statut actuel du serveur A : `last_value(server.status, kql='server.name=\"A\"')`", "lensFormulaDocs.lastValue.signature": "champ : chaîne", "lensFormulaDocs.max": "Maximum", "lensFormulaDocs.median": "Médiane", - "lensFormulaDocs.metric.documentation.markdown": "\nRenvoie l'indicateur {metric} d'un champ. Cette fonction fonctionne uniquement pour les champs numériques.\n\nExemple : obtenir l'indicateur {metric} d'un prix : \n`{metric}(price)`\n\nExemple : obtenir l'indicateur {metric} d'un prix pour des commandes du Royaume-Uni : \n`{metric}(price, kql='location:UK')`\n ", + "lensFormulaDocs.metric.documentation.markdown": "Renvoie l'indicateur {metric} d'un champ. Cette fonction fonctionne uniquement pour les champs numériques. Exemple : Obtenir l'indicateur {metric} de prix : `{metric}(price)` Exemple : Obtenir l'indicateur {metric} de prix pour les commandes en provenance du Royaume-Uni : `{metric}(price, kql='location:UK')`", "lensFormulaDocs.metric.signature": "champ : chaîne", "lensFormulaDocs.min": "Minimum", "lensFormulaDocs.moving_average.signature": "indicateur : nombre, [window] : nombre", "lensFormulaDocs.movingAverage": "Moyenne mobile", - "lensFormulaDocs.movingAverage.documentation.markdown": "\nCalcule la moyenne mobile d'un indicateur au fil du temps, en prenant la moyenne des n dernières valeurs pour calculer la valeur actuelle. Pour utiliser cette fonction, vous devez également configurer une dimension de l'histogramme de dates.\nLa valeur de fenêtre par défaut est {defaultValue}.\n\nCe calcul est réalisé séparément pour des séries distinctes définies par des filtres ou des dimensions de valeurs supérieures.\n\nPrend un paramètre nommé `window` qui spécifie le nombre de dernières valeurs à inclure dans le calcul de la moyenne de la valeur actuelle.\n\nExemple : lisser une ligne de mesures : \n`moving_average(sum(bytes), window=5)`\n", + "lensFormulaDocs.movingAverage.documentation.markdown": "Calcule la moyenne mobile d'un indicateur au fil du temps, en prenant la moyenne des n dernières valeurs pour calculer la valeur actuelle. Pour utiliser cette fonction, vous devez également configurer une dimension de l'histogramme de dates. La valeur de fenêtre par défaut est {defaultValue}. Ce calcul est réalisé séparément pour des séries distinctes définies par des filtres ou des dimensions de valeurs supérieures. Prend un paramètre nommé `window` qui spécifie le nombre de dernières valeurs à inclure dans le calcul de la moyenne de la valeur actuelle. Exemple : Lisser une ligne de mesures : `moving_average(sum(bytes), window=5)`", "lensFormulaDocs.now": "Actuel", - "lensFormulaDocs.now.help": "\nLa durée actuelle passée dans Kibana exprimée en millisecondes (ms).\n\nExemple : Depuis combien de temps (en millisecondes) le serveur est-il en marche depuis son dernier redémarrage ? \n\"now() - last_value(start_time)\"\n", + "lensFormulaDocs.now.help": "La durée actuelle passée dans Kibana exprimée en millisecondes (ms). Exemple : Depuis combien de temps (en millisecondes) le serveur est-il en marche depuis son dernier redémarrage ? `now() - last_value(start_time)`", "lensFormulaDocs.number": "numéro", - "lensFormulaDocs.overall_average.documentation.markdown": "\nCalcule la moyenne d'un indicateur pour tous les points de données d'une série dans le graphique actuel. Une série est définie par une dimension à l'aide d'un histogramme de dates ou d'une fonction d'intervalle.\nD'autres dimensions permettant de répartir les données telles que les valeurs supérieures ou les filtres sont traitées en tant que séries distinctes.\n\nSi le graphique actuel n'utilise aucun histogramme de dates ou aucune fonction d'intervalle, `overall_average` calcule la moyenne pour toutes les dimensions, quelle que soit la fonction utilisée.\n\nExemple : écart par rapport à la moyenne : \n`sum(bytes) - overall_average(sum(bytes))`\n", - "lensFormulaDocs.overall_max.documentation.markdown": "\nCalcule la valeur maximale d'un indicateur pour tous les points de données d'une série dans le graphique actuel. Une série est définie par une dimension à l'aide d'un histogramme de dates ou d'une fonction d'intervalle.\nD'autres dimensions permettant de répartir les données telles que les valeurs supérieures ou les filtres sont traitées en tant que séries distinctes.\n\nSi le graphique actuel n'utilise aucun histogramme de dates ou aucune fonction d'intervalle, `overall_max` calcule la valeur maximale pour toutes les dimensions, quelle que soit la fonction utilisée.\n\nExemple : Pourcentage de plage : \n`(sum(bytes) - overall_min(sum(bytes))) / (overall_max(sum(bytes)) - overall_min(sum(bytes)))`\n", + "lensFormulaDocs.overall_average.documentation.markdown": "Calcule la moyenne d'un indicateur pour tous les points de données d'une série dans le graphique actuel. Une série est définie par une dimension à l'aide d'un histogramme de dates ou d'une fonction d'intervalle. D'autres dimensions permettant de répartir les données telles que les valeurs supérieures ou les filtres sont traitées en tant que séries distinctes. Si le graphique actuel n'utilise aucun histogramme de dates ou aucune fonction d'intervalle, `overall_average` calcule la moyenne pour toutes les dimensions, quelle que soit la fonction utilisée. Exemple : Écart par rapport à la moyenne : `sum(bytes) - overall_average(sum(bytes))`", + "lensFormulaDocs.overall_max.documentation.markdown": "Calcule la valeur maximale d'un indicateur pour tous les points de données d'une série dans le graphique actuel. Une série est définie par une dimension à l'aide d'un histogramme de dates ou d'une fonction d'intervalle. D'autres dimensions permettant de répartir les données telles que les valeurs supérieures ou les filtres sont traitées en tant que séries distinctes. Si le graphique actuel n'utilise aucun histogramme de dates ou aucune fonction d'intervalle, `overall_max` calcule la valeur maximale pour toutes les dimensions, quelle que soit la fonction utilisée. Exemple : Pourcentage de plage : `(sum(bytes) - overall_min(sum(bytes)) / (overall_max(sum(bytes)) - overall_min(sum(bytes)))`", "lensFormulaDocs.overall_metric": "indicateur : nombre", - "lensFormulaDocs.overall_min.documentation.markdown": "\nCalcule la valeur minimale d'un indicateur pour tous les points de données d'une série dans le graphique actuel. Une série est définie par une dimension à l'aide d'un histogramme de dates ou d'une fonction d'intervalle.\nD'autres dimensions permettant de répartir les données telles que les valeurs supérieures ou les filtres sont traitées en tant que séries distinctes.\n\nSi le graphique actuel n'utilise aucun histogramme de dates ou aucune fonction d'intervalle, `overall_min` calcule la valeur minimale pour toutes les dimensions, quelle que soit la fonction utilisée.\n\nExemple : Pourcentage de plage : \n`(sum(bytes) - overall_min(sum(bytes)) / (overall_max(sum(bytes)) - overall_min(sum(bytes)))`\n", - "lensFormulaDocs.overall_sum.documentation.markdown": "\nCalcule la somme d'un indicateur pour tous les points de données d'une série dans le graphique actuel. Une série est définie par une dimension à l'aide d'un histogramme de dates ou d'une fonction d'intervalle.\nD'autres dimensions permettant de répartir les données telles que les valeurs supérieures ou les filtres sont traitées en tant que séries distinctes.\n\nSi le graphique actuel n'utilise aucun histogramme de dates ou aucune fonction d'intervalle, `overall_sum` calcule la somme pour toutes les dimensions, quelle que soit la fonction utilisée.\n\nExemple : Pourcentage total : \n`sum(bytes) / overall_sum(sum(bytes))`\n", + "lensFormulaDocs.overall_min.documentation.markdown": "Calcule la valeur minimale d'un indicateur pour tous les points de données d'une série dans le graphique actuel. Une série est définie par une dimension à l'aide d'un histogramme de dates ou d'une fonction d'intervalle. D'autres dimensions permettant de répartir les données telles que les valeurs supérieures ou les filtres sont traitées en tant que séries distinctes. Si le graphique actuel n'utilise aucun histogramme de dates ou aucune fonction d'intervalle, `overall_min` calcule la valeur minimale pour toutes les dimensions, quelle que soit la fonction utilisée. Exemple : Pourcentage de plage : `(sum(bytes) - overall_min(sum(bytes)) / (overall_max(sum(bytes)) - overall_min(sum(bytes)))`", + "lensFormulaDocs.overall_sum.documentation.markdown": "Calcule la somme d'un indicateur pour tous les points de données d'une série dans le graphique actuel. Une série est définie par une dimension à l'aide d'un histogramme de dates ou d'une fonction d'intervalle. D'autres dimensions permettant de répartir les données telles que les valeurs supérieures ou les filtres sont traitées en tant que séries distinctes. Si le graphique actuel n'utilise aucun histogramme de dates ou aucune fonction d'intervalle, `overall_sum` calcule la somme pour toutes les dimensions, quelle que soit la fonction utilisée. Exemple : Pourcentage du total : `sum(bytes) / overall_sum(sum(bytes))`", "lensFormulaDocs.overallAverage": "Moyenne globale", "lensFormulaDocs.overallMax": "Max général", "lensFormulaDocs.overallMin": "Min général", "lensFormulaDocs.overallSum": "Somme générale", "lensFormulaDocs.percentile": "Centile", - "lensFormulaDocs.percentile.documentation.markdown": "\nRenvoie le centile spécifié des valeurs d'un champ. Il s'agit de la valeur de n pour cent des valeurs présentes dans les documents.\n\nExemple : obtenir le nombre d'octets supérieurs à 95 % des valeurs : \n`percentile(bytes, percentile=95)`\n", + "lensFormulaDocs.percentile.documentation.markdown": "Renvoie le centile spécifié des valeurs d'un champ. Il s'agit de la valeur de n pour cent des valeurs présentes dans les documents. Exemple : Obtenir le nombre d'octets supérieurs à 95 % des valeurs : `percentile(bytes, percentile=95)`", "lensFormulaDocs.percentile.signature": "champ : chaîne, [percentile] : nombre", "lensFormulaDocs.percentileRank": "Rang centile", - "lensFormulaDocs.percentileRanks.documentation.markdown": "\nRenvoie le pourcentage de valeurs qui sont en dessous d'une certaine valeur. Par exemple, si une valeur est supérieure à 95 % des valeurs observées, elle est placée au 95e rang centile.\n\nExemple : Obtenir le pourcentage de valeurs qui sont en dessous de 100 : \n`percentile_rank(bytes, value=100)`\n", + "lensFormulaDocs.percentileRanks.documentation.markdown": "Renvoie le pourcentage de valeurs qui sont en dessous d'une certaine valeur. Par exemple, si une valeur est supérieure à 95 % des valeurs observées, elle est placée au 95e rang centile. Exemple : Obtenir le pourcentage de valeurs qui sont en dessous de 100 : `percentile_rank(bytes, value=100)`", "lensFormulaDocs.percentileRanks.signature": "champ : chaîne, [valeur] : nombre", "lensFormulaDocs.standardDeviation": "Écart-type", - "lensFormulaDocs.standardDeviation.documentation.markdown": "\nRenvoie la taille de la variation ou de la dispersion du champ. Cette fonction ne s’applique qu’aux champs numériques.\n\n#### Exemples\n\nPour obtenir l'écart-type d'un prix, utilisez `standard_deviation(price)`.\n\nPour obtenir la variance du prix des commandes passées au Royaume-Uni, utilisez `square(standard_deviation(price, kql='location:UK'))`.\n", + "lensFormulaDocs.standardDeviation.documentation.markdown": "Renvoie la taille de la variation ou de la dispersion du champ. Cette fonction ne s'applique qu'aux champs numériques. #### Exemples Pour obtenir l'écart-type d'un prix, utilisez `standard_deviation(price)`. Pour obtenir la variance du prix des commandes passées au Royaume-Uni, utilisez `square(standard_deviation(price, kql='location:UK'))`.", "lensFormulaDocs.string": "chaîne", "lensFormulaDocs.sum": "Somme", "lensFormulaDocs.time_range": "Plage temporelle", "lensFormulaDocs.time_scale": "indicateur : nombre, unité : s|m|h|d|w|M|y", - "lensFormulaDocs.time_scale.documentation.markdown": "\nCette fonction avancée est utile pour normaliser les comptes et les sommes sur un intervalle de temps spécifique. Elle permet l'intégration avec les indicateurs qui sont stockés déjà normalisés sur un intervalle de temps spécifique.\n\nVous pouvez faire appel à cette fonction uniquement si une fonction d'histogramme des dates est utilisée dans le graphique actuel.\n\nExemple : Un rapport comparant un indicateur déjà normalisé à un autre indicateur devant être normalisé. \n`normalize_by_unit(counter_rate(max(system.diskio.write.bytes)), unit='s') / last_value(apache.status.bytes_per_second)`\n", - "lensFormulaDocs.timeRange.help": "\nL'intervalle de temps spécifié, en millisecondes (ms).\n\nExemple : Quelle est la durée de la plage temporelle actuelle en (ms) ?\n`time_range()`\n\nExemple : Une moyenne statique par minute calculée avec l'intervalle de temps actuel :\n`(sum(bytes) / time_range()) * 1000 * 60`\n", + "lensFormulaDocs.time_scale.documentation.markdown": "Cette fonction avancée est utile pour normaliser les comptes et les sommes sur un intervalle de temps spécifique. Elle permet l'intégration avec les indicateurs qui sont stockés déjà normalisés sur un intervalle de temps spécifique. Vous pouvez faire appel à cette fonction uniquement si une fonction d'histogramme des dates est utilisée dans le graphique actuel. Exemple : Un rapport comparant un indicateur déjà normalisé à un autre indicateur devant être normalisé. `normalize_by_unit(counter_rate(max(system.diskio.write.bytes)), unit='s') / last_value(apache.status.bytes_per_second)`", + "lensFormulaDocs.timeRange.help": "L'intervalle de temps spécifié, en millisecondes (ms). Exemple : Quelle est la durée de la plage temporelle actuelle en (ms) ? `time_range()` Exemple : Une moyenne statique par minute calculée avec l'intervalle de temps actuel : `(sum(bytes) / time_range()) * 1000 * 60`", "lensFormulaDocs.timeScale": "Normaliser par unité", - "lensFormulaDocs.tinymath.absFunction.markdown": "\nCalcule une valeur absolue. Une valeur négative est multipliée par -1, une valeur positive reste identique.\n\nExemple : calculer la distance moyenne par rapport au niveau de la mer `abs(average(altitude))`\n ", - "lensFormulaDocs.tinymath.addFunction.markdown": "\nAjoute jusqu'à deux nombres.\nFonctionne également avec le symbole `+`.\n\nExemple : calculer la somme de deux champs\n\n`sum(price) + sum(tax)`\n\nExemple : compenser le compte par une valeur statique\n\n`add(count(), 5)`\n ", + "lensFormulaDocs.tinymath.absFunction.markdown": "Calcule une valeur absolue. Une valeur négative est multipliée par -1, une valeur positive reste identique. Exemple : calculer la distance moyenne par rapport au niveau de la mer `abs(average(altitude))`", + "lensFormulaDocs.tinymath.addFunction.markdown": "Ajoute jusqu'à deux nombres. Fonctionne également avec le symbole `+`. Exemple : Calculer la somme de deux champs `sum(price) + sum(tax)` Exemple : Compenser le compte par une valeur statique `add(count(), 5)`", "lensFormulaDocs.tinymath.base": "base", - "lensFormulaDocs.tinymath.cbrtFunction.markdown": "\nÉtablit la racine carrée de la valeur.\n\nExemple : calculer la longueur du côté à partir du volume\n`cbrt(last_value(volume))`\n ", - "lensFormulaDocs.tinymath.ceilFunction.markdown": "\nArrondit le plafond de la valeur au chiffre supérieur.\n\nExemple : arrondir le prix au dollar supérieur\n`ceil(sum(price))`\n ", - "lensFormulaDocs.tinymath.clampFunction.markdown": "\nÉtablit une limite minimale et maximale pour la valeur.\n\nExemple : s'assurer de repérer les valeurs aberrantes\n````\nclamp(\n average(bytes),\n percentile(bytes, percentile=5),\n percentile(bytes, percentile=95)\n)\n````\n", + "lensFormulaDocs.tinymath.cbrtFunction.markdown": "Établit la racine carrée de la valeur. Exemple : Calculer la longueur du côté à partir du volume `cbrt(last_value(volume))`", + "lensFormulaDocs.tinymath.ceilFunction.markdown": "Arrondit le plafond de la valeur au chiffre supérieur. Exemple : Arrondir le prix au dollar supérieur `ceil(sum(price))`", + "lensFormulaDocs.tinymath.clampFunction.markdown": "Établit une limite minimale et maximale pour la valeur. Exemple : S'assurer de repérer les valeurs aberrantes ``` clamp( average(bytes), percentile(bytes, percentile=5), percentile(bytes, percentile=95) ) ```", "lensFormulaDocs.tinymath.condition": "condition", - "lensFormulaDocs.tinymath.cubeFunction.markdown": "\nCalcule le cube d'un nombre.\n\nExemple : calculer le volume à partir de la longueur du côté\n`cube(last_value(length))`\n ", + "lensFormulaDocs.tinymath.cubeFunction.markdown": "Calcule le cube d'un nombre. Exemple : Calculer le volume à partir de la longueur du côté `cube(last_value(length))`", "lensFormulaDocs.tinymath.decimals": "décimales", - "lensFormulaDocs.tinymath.defaultFunction.markdown": "\nRenvoie une valeur numérique par défaut lorsque la valeur est nulle.\n\nExemple : Renvoie -1 lorsqu'un champ ne contient aucune donnée.\n`defaults(average(bytes), -1)`\n", + "lensFormulaDocs.tinymath.defaultFunction.markdown": "Renvoie une valeur numérique par défaut lorsque la valeur est nulle. Exemple : Renvoie -1 si un champ n'a pas de données `defaults(average(bytes), -1)`", "lensFormulaDocs.tinymath.defaultValue": "par défaut", - "lensFormulaDocs.tinymath.divideFunction.markdown": "\nDivise le premier nombre par le deuxième.\nFonctionne également avec le symbole `/`.\n\nExemple : calculer la marge bénéficiaire\n`sum(profit) / sum(revenue)`\n\nExemple : `divide(sum(bytes), 2)`\n ", - "lensFormulaDocs.tinymath.eqFunction.markdown": "\nEffectue une comparaison d'égalité entre deux valeurs.\nÀ utiliser en tant que condition pour la fonction de comparaison `ifelse`.\nFonctionne également avec le symbole `==`.\n\nExemple : Renvoie \"true\" si la moyenne d'octets est égale à la quantité de mémoire moyenne.\n`average(bytes) == average(memory)`\n\nExemple : `eq(sum(bytes), 1000000)`\n ", - "lensFormulaDocs.tinymath.expFunction.markdown": "\nÉlève *e* à la puissance n.\n\nExemple : calculer la fonction exponentielle naturelle\n\n`exp(last_value(duration))`\n ", - "lensFormulaDocs.tinymath.fixFunction.markdown": "\nPour les valeurs positives, part du bas. Pour les valeurs négatives, part du haut.\n\nExemple : arrondir à zéro\n`fix(sum(profit))`\n ", - "lensFormulaDocs.tinymath.floorFunction.markdown": "\nArrondit à la valeur entière inférieure la plus proche.\n\nExemple : arrondir un prix au chiffre inférieur\n`floor(sum(price))`\n ", - "lensFormulaDocs.tinymath.gteFunction.markdown": "\nEffectue une comparaison de supériorité entre deux valeurs.\nÀ utiliser en tant que condition pour la fonction de comparaison `ifelse`.\nFonctionne également avec le symbole `>=`.\n\nExemple : Renvoie \"true\" si la moyenne d'octets est supérieure ou égale à la quantité moyenne de mémoire.\n`average(bytes) >= average(memory)`\n\nExemple : `gte(average(bytes), 1000)`\n ", - "lensFormulaDocs.tinymath.gtFunction.markdown": "\nEffectue une comparaison de supériorité entre deux valeurs.\nÀ utiliser en tant que condition pour la fonction de comparaison `ifelse`.\nFonctionne également avec le symbole `>`.\n\nExemple : Renvoie \"true\" si la moyenne d'octets est supérieure à la quantité moyenne de mémoire.\n`average(bytes) > average(memory)`\n\nExemple : `gt(average(bytes), 1000)`\n ", - "lensFormulaDocs.tinymath.ifElseFunction.markdown": "\nRenvoie une valeur selon si l'élément de condition est \"true\" ou \"false\".\n\nExemple : Revenus moyens par client, mais dans certains cas, l'ID du client n'est pas fourni, et le client est alors compté comme client supplémentaire.\n`sum(total)/(unique_count(customer_id) + ifelse( count() > count(kql='customer_id:*'), 1, 0))`\n ", + "lensFormulaDocs.tinymath.divideFunction.markdown": "Divise le premier nombre par le deuxième. Fonctionne également avec le symbole `/`. Exemple : Calculer la marge bénéficiaire `sum(profit) / sum(revenue)` Exemple : `divide(sum(bytes), 2)`", + "lensFormulaDocs.tinymath.eqFunction.markdown": "Effectue une comparaison d'égalité entre deux valeurs. À utiliser en tant que condition pour la fonction de comparaison `ifelse`. Fonctionne également avec le symbole `==`. Exemple : Renvoie \"true\" si la moyenne d'octets est égale à la quantité de mémoire moyenne `average(bytes) == average(memory)` Exemple : `eq(sum(bytes), 1000000)`", + "lensFormulaDocs.tinymath.expFunction.markdown": "Élève *e* à la puissance n. Exemple : Calculer la fonction exponentielle naturelle `exp(last_value(duration))`", + "lensFormulaDocs.tinymath.fixFunction.markdown": "Pour les valeurs positives, part du bas. Pour les valeurs négatives, part du haut. Exemple : Arrondir vers zéro `fix(sum(profit))`", + "lensFormulaDocs.tinymath.floorFunction.markdown": "Arrondit à la valeur entière inférieure la plus proche. Exemple : Arrondir un prix à la baisse `floor(sum(price))`", + "lensFormulaDocs.tinymath.gteFunction.markdown": "Effectue une comparaison de supériorité entre deux valeurs. À utiliser en tant que condition pour la fonction de comparaison `ifelse`. Fonctionne également avec le symbole `>=`. Exemple : Renvoie \"true\" si la moyenne d'octets est supérieure ou égale à la quantité de mémoire moyenne `average(bytes) >= average(memory)` Exemple : `gte(average(bytes), 1000)`", + "lensFormulaDocs.tinymath.gtFunction.markdown": "Effectue une comparaison de supériorité entre deux valeurs. À utiliser en tant que condition pour la fonction de comparaison `ifelse`. Fonctionne également avec le symbole `>`. Exemple : Renvoie \"true\" si la moyenne d'octets est supérieure à la quantité de mémoire moyenne `average(bytes) > average(memory)` Exemple : `gt(average(bytes), 1000)`", + "lensFormulaDocs.tinymath.ifElseFunction.markdown": "Renvoie une valeur selon si l'élément de condition est \"true\" ou \"false\". Exemple : Revenus moyens par client, mais dans certains cas, l'ID du client n'est pas fourni, et le client est alors compté comme client supplémentaire `sum(total)/(unique_count(customer_id) + ifelse( count() > count(kql='customer_id:*'), 1, 0))`", "lensFormulaDocs.tinymath.left": "gauche", - "lensFormulaDocs.tinymath.logFunction.markdown": "\nÉtablit un logarithme avec base optionnelle. La base naturelle *e* est utilisée par défaut.\n\nExemple : calculer le nombre de bits nécessaire au stockage de valeurs\n````\nlog(sum(bytes))\nlog(sum(bytes), 2)\n````\n ", - "lensFormulaDocs.tinymath.lteFunction.markdown": "\nEffectue une comparaison d'infériorité ou de supériorité entre deux valeurs.\nÀ utiliser en tant que condition pour la fonction de comparaison `ifelse`.\nFonctionne également avec le symbole `<=`.\n\nExemple : Renvoie \"true\" si la moyenne d'octets est inférieure ou égale à la quantité moyenne de mémoire.\n`average(bytes) <= average(memory)`\n\nExemple : `lte(average(bytes), 1000)`\n ", - "lensFormulaDocs.tinymath.ltFunction.markdown": "\nEffectue une comparaison d'infériorité entre deux valeurs.\nÀ utiliser en tant que condition pour la fonction de comparaison `ifelse`.\nFonctionne également avec le symbole `<`.\n\nExemple : Renvoie \"true\" si la moyenne d'octets est inférieure à la quantité moyenne de mémoire.\n`average(bytes) <= average(memory)`\n\nExemple : `lt(average(bytes), 1000)`\n ", + "lensFormulaDocs.tinymath.logFunction.markdown": "Établit un logarithme avec base optionnelle. La base naturelle *e* est utilisée par défaut. Exemple : Calculer le nombre de bits nécessaire au stockage de valeurs ``` log(sum(bytes)) log(sum(bytes), 2) ```", + "lensFormulaDocs.tinymath.lteFunction.markdown": "Effectue une comparaison d'infériorité ou de supériorité entre deux valeurs. À utiliser en tant que condition pour la fonction de comparaison `ifelse`. Fonctionne également avec le symbole `<=`. Exemple : Renvoie \"true\" si la moyenne d'octets est inférieure ou égale à la quantité de mémoire moyenne `average(bytes) <= average(memory)` Exemple : `lte(average(bytes), 1000)`", + "lensFormulaDocs.tinymath.ltFunction.markdown": "Effectue une comparaison d'infériorité entre deux valeurs. À utiliser en tant que condition pour la fonction de comparaison `ifelse`. Fonctionne également avec le symbole `<`. Exemple : Renvoie \"true\" si la moyenne d'octets est inférieure à la quantité de mémoire moyenne `average(bytes) <= average(memory)` Exemple : `lt(average(bytes), 1000)`", "lensFormulaDocs.tinymath.max": "max", - "lensFormulaDocs.tinymath.maxFunction.markdown": "\nTrouve la valeur maximale entre deux nombres.\n\nExemple : Trouver le maximum entre deux moyennes de champs\n`pick_max(average(bytes), average(memory))`\n ", + "lensFormulaDocs.tinymath.maxFunction.markdown": "Trouve la valeur maximale entre deux nombres. Exemple : Trouver la valeur maximale entre deux moyennes de champs `pick_max(average(bytes), average(memory))`", "lensFormulaDocs.tinymath.min": "min", - "lensFormulaDocs.tinymath.minFunction.markdown": "\nTrouve la valeur minimale entre deux nombres.\n\nExemple : Trouver le minimum entre deux moyennes de champs\n`pick_min(average(bytes), average(memory))`\n ", - "lensFormulaDocs.tinymath.modFunction.markdown": "\nÉtablit le reste après division de la fonction par un nombre.\n\nExemple : calculer les trois derniers chiffres d'une valeur\n`mod(sum(price), 1000)`\n ", - "lensFormulaDocs.tinymath.multiplyFunction.markdown": "\nMultiplie deux nombres.\nFonctionne également avec le symbole `*`.\n\nExemple : calculer le prix après application du taux d'imposition courant\n`sum(bytes) * last_value(tax_rate)`\n\nExemple : calculer le prix après application du taux d'imposition constant\n`multiply(sum(price), 1.2)`\n ", - "lensFormulaDocs.tinymath.powFunction.markdown": "\nÉlève la valeur à une puissance spécifique. Le deuxième argument est obligatoire.\n\nExemple : calculer le volume en fonction de la longueur du côté\n`pow(last_value(length), 3)`\n ", + "lensFormulaDocs.tinymath.minFunction.markdown": "Trouve la valeur minimale entre deux nombres. Exemple : Trouver la valeur minimale entre deux moyennes de champs `pick_min(average(bytes), average(memory))`", + "lensFormulaDocs.tinymath.modFunction.markdown": "Établit le reste après division de la fonction par un nombre. Exemple : Calculer les trois derniers chiffres d'une valeur `mod(sum(price), 1000)`", + "lensFormulaDocs.tinymath.multiplyFunction.markdown": "Multiplie deux nombres. Fonctionne également avec le symbole `*`. Exemple : Calculer le prix après application du taux d'imposition actuel `sum(bytes) * last_value(tax_rate)` Exemple : Calculer le prix après application du taux d'imposition constant `multiply(sum(price), 1.2)`", + "lensFormulaDocs.tinymath.powFunction.markdown": "Élève la valeur à une puissance spécifique. Le deuxième argument est obligatoire. Exemple : Calculer le volume en fonction de la longueur du côté `pow(last_value(length), 3)`", "lensFormulaDocs.tinymath.right": "droite", - "lensFormulaDocs.tinymath.roundFunction.markdown": "\nArrondit à un nombre donné de décimales, 0 étant la valeur par défaut.\n\nExemples : arrondir au centième\n````\nround(sum(bytes))\nround(sum(bytes), 2)\n````\n ", - "lensFormulaDocs.tinymath.sqrtFunction.markdown": "\nÉtablit la racine carrée d'une valeur positive uniquement.\n\nExemple : calculer la longueur du côté en fonction de la surface\n`sqrt(last_value(area))`\n ", - "lensFormulaDocs.tinymath.squareFunction.markdown": "\nÉlève la valeur à la puissance 2.\n\nExemple : calculer l’aire en fonction de la longueur du côté\n`square(last_value(length))`\n ", - "lensFormulaDocs.tinymath.subtractFunction.markdown": "\nSoustrait le premier nombre du deuxième.\nFonctionne également avec le symbole `-`.\n\nExemple : calculer la plage d'un champ\n`subtract(max(bytes), min(bytes))`\n ", + "lensFormulaDocs.tinymath.roundFunction.markdown": "Arrondit à un nombre donné de décimales, 0 étant la valeur par défaut. Exemple : Arrondir au centième ``` round(sum(bytes)) round(sum(bytes), 2) ```", + "lensFormulaDocs.tinymath.sqrtFunction.markdown": "Établit la racine carrée d'une valeur positive uniquement. Exemple : Calculer la longueur d'un côté en fonction de la surface `sqrt(last_value(area))`", + "lensFormulaDocs.tinymath.squareFunction.markdown": "Élève la valeur à la puissance 2. Exemple : Calculer la surface en fonction de la longueur du côté `square(last_value(length))`", + "lensFormulaDocs.tinymath.subtractFunction.markdown": "Soustrait le premier nombre du deuxième. Fonctionne également avec le symbole `-`. Exemple : Calculer la plage d'un champ `subtract(max(bytes), min(bytes))`", "lensFormulaDocs.tinymath.value": "valeur", "links.contentManagement.saveModalTitle": "Enregistrer le panneau {contentId} dans la bibliothèque", "links.dashboardLink.description": "Accéder au tableau de bord", @@ -5822,14 +6437,16 @@ "links.dashboardLink.editor.loadingDashboardLabel": "Chargement...", "links.dashboardLink.type": "Lien du tableau de bord", "links.description": "Utiliser des liens pour accéder aux tableaux de bord et aux sites web couramment utilisés.", + "links.displayName": "liens", "links.editor.addButtonLabel": "Ajouter un lien", "links.editor.cancelButtonLabel": "Fermer", "links.editor.deleteLinkTitle": "Supprimer le lien {label}", "links.editor.editLinkTitle.hasLabel": "Modifier le lien {label}", "links.editor.horizontalLayout": "Horizontal", - "links.editor.unableToSaveToastTitle": "Erreur lors de l'enregistrement du Panneau de liens", + "links.editor.unableToSaveToastTitle": "Erreur lors de l'enregistrement du panneau de liens", "links.editor.updateButtonLabel": "Mettre à jour le lien", "links.editor.verticalLayout": "Vertical", + "links.embeddable.unsupportedLinkTypeError": "Type de lien non pris en charge", "links.externalLink.description": "Accéder à l'URL", "links.externalLink.displayName": "URL", "links.externalLink.editor.disallowedUrlError": "Cette URL n'est pas autorisée par votre administrateur. Reportez-vous à la configuration \"externalUrl.policy\".", @@ -5870,7 +6487,14 @@ "managedContentBadge.text": "Géré", "management.breadcrumb": "Gestion de la Suite", "management.landing.header": "Bienvenue dans Gestion de la Suite {version}", + "management.landing.solution.header": "Gestion de la Suite {version}", + "management.landing.solution.subhead": "Gérez vos {indicesLink}, {dataViewsLink}, {ingestPipelinesLink}, {usersLink}, et plus encore.", + "management.landing.solution.viewAllPagesButton": "Afficher toutes les pages", "management.landing.subhead": "Gérez vos index, vues de données, objets enregistrés, paramètres Kibana et plus encore.", + "management.landing.subhead.dataViewsLink": "Les vues de données sont introuvables", + "management.landing.subhead.indicesLink": "index système non migrés", + "management.landing.subhead.ingestPipelinesLink": "pipelines d'ingestion", + "management.landing.subhead.usersLink": "utilisateurs", "management.landing.text": "Vous trouverez une liste complète des applications dans le menu de gauche.", "management.landing.withCardNavigation.accessTitle": "Accès", "management.landing.withCardNavigation.alertsTitle": "Alertes et informations exploitables", @@ -5879,6 +6503,7 @@ "management.landing.withCardNavigation.contentTitle": "Contenu", "management.landing.withCardNavigation.dataQualityDescription": "Recherchez et gérez les problèmes de qualité dans vos données de logs.", "management.landing.withCardNavigation.dataTitle": "Données", + "management.landing.withCardNavigation.dataUsageDescription": "Afficher l'utilisation et la conservation des données.", "management.landing.withCardNavigation.dataViewsDescription": "Créez et gérez les données Elasticsearch sélectionnées pour l'exploration.", "management.landing.withCardNavigation.fileManagementDescription": "Accédez à tous les fichiers importés.", "management.landing.withCardNavigation.indexmanagementDescription": "Configurez et assurez la maintenance de vos index Elasticsearch pour le stockage et la récupération des données.", @@ -5894,6 +6519,7 @@ "management.landing.withCardNavigation.rolesDescription": "Créez des rôles uniques pour ce projet et combinez l'ensemble exact de privilèges dont vos utilisateurs ont besoin.", "management.landing.withCardNavigation.rulesDescription": "Définissez à quel moment générer des alertes et des notifications.", "management.landing.withCardNavigation.settingsDescription": "Contrôlez les comportements des projets, tels que l'affichage des dates et le tri par défaut.", + "management.landing.withCardNavigation.spacesDescription": "Organisez vos objets enregistrés en catégories représentatives.", "management.landing.withCardNavigation.tagsDescription": "Organisez, recherchez et filtrez vos objets enregistrés en fonction de critères spécifiques.", "management.landing.withCardNavigation.transformDescription": "Organisez vos données ou copiez les derniers documents dans un index centré sur les entités.", "management.nav.label": "Gestion", @@ -5966,6 +6592,10 @@ "management.settings.spaceCalloutSubtitle": "Les modifications seront uniquement appliquées à l'espace actuel. Ces paramètres sont destinés aux utilisateurs avancés, car des configurations incorrectes peuvent avoir une incidence négative sur des aspects de Kibana.", "management.settings.spaceCalloutTitle": "Les modifications affecteront l'espace actuel.", "management.settings.spaceSettingsTabTitle": "Paramètres de l'espace", + "management.stackManagement.managementDescription": "La console centrale de gestion de la Suite Elastic.", + "management.stackManagement.managementLabel": "Gestion de la Suite", + "management.stackManagement.title": "Gestion de la Suite", + "monaco.esql.hover.acceptableTypes": "Types acceptables", "monaco.esql.hover.policyEnrichedFields": "**Champs**", "monaco.esql.hover.policyIndexes": "**Indexes**", "monaco.esql.hover.policyMatchingField": "**Champ correspondant**", @@ -5973,6 +6603,9 @@ "monaco.painlessLanguage.autocomplete.emitKeywordDescription": "Émettre une valeur sans rien renvoyer", "monaco.painlessLanguage.autocomplete.fieldValueDescription": "Récupérer la valeur du champ \"{fieldName}\"", "monaco.painlessLanguage.autocomplete.paramsKeywordDescription": "Accéder aux variables transmises dans le script", + "navigation.ui_settings.params.defaultRoute.defaultRouteTitle": "Chemin par défaut", + "navigation.uiSettings.defaultRoute.defaultRouteIsRelativeValidationMessage": "Doit être une URL relative.", + "navigation.uiSettings.defaultRoute.defaultRouteText": "Ce paramètre spécifie le chemin par défaut lors de l'ouverture de Kibana. Vous pouvez utiliser ce paramètre pour modifier la page de destination à l'ouverture de Kibana. Le chemin doit être une URL relative.", "newsfeed.emptyPrompt.noNewsText": "Si votre instance Kibana n'a pas accès à Internet, demandez à votre administrateur de désactiver cette fonctionnalité. Sinon, nous continuerons d'essayer de récupérer les actualités.", "newsfeed.emptyPrompt.noNewsTitle": "Pas d'actualités ?", "newsfeed.flyoutList.closeButtonLabel": "Fermer", @@ -6329,6 +6962,10 @@ "savedSearch.kibana_context.savedSearchId.help": "Spécifier l'ID de recherche enregistrée à utiliser pour les requêtes et les filtres", "savedSearch.kibana_context.timeRange.help": "Spécifier le filtre de plage temporelle Kibana", "savedSearch.legacyURLConflict.errorMessage": "Cette recherche a la même URL qu'un alias hérité. Désactiver l'alias pour résoudre cette erreur : {json}", + "searchApiKeysComponents.apiKeyForm.createButton": "Créer une clé d'API", + "searchApiKeysComponents.apiKeyForm.noUserPrivileges": "Vous n'avez pas accès à la gestion des clés d'API", + "searchApiKeysComponents.apiKeyForm.showApiKey": "Afficher la clé d'API", + "searchApiKeysComponents.apiKeyForm.title": "Clé d'API", "searchApiPanels.cloudIdDetails.cloudId.description": "Des bibliothèques et des connecteurs clients peuvent utiliser cet identificateur unique propre à Elastic Cloud.", "searchApiPanels.cloudIdDetails.cloudId.title": "Identifiant du cloud", "searchApiPanels.cloudIdDetails.description": "Soyez prêt à ingérer et rechercher vos données en choisissant une option de connexion :", @@ -6351,25 +6988,37 @@ "searchApiPanels.pipeline.overview.pipelineHandling.description": "Gérez les exceptions d'erreur, exécutez un autre pipeline ou redirigez les documents vers un autre index", "searchApiPanels.pipeline.overview.pipelineHandling.title": "Traitement du pipeline", "searchApiPanels.preprocessData.overview.arrayJsonHandling.learnMore": "En savoir plus", + "searchApiPanels.preprocessData.overview.arrayJsonHandling.learnMore.ariaLabel": "En savoir plus sur la gestion des tableaux/JSON", "searchApiPanels.preprocessData.overview.dataEnrichment.description": "Ajouter des informations des sources externes ou appliquer des transformations à vos documents pour une recherche plus contextuelle et pertinente.", "searchApiPanels.preprocessData.overview.dataEnrichment.learnMore": "En savoir plus", + "searchApiPanels.preprocessData.overview.dataEnrichment.learnMore.ariaLabel": "En savoir plus sur l'enrichissement de données", "searchApiPanels.preprocessData.overview.dataEnrichment.title": "Enrichissement des données", "searchApiPanels.preprocessData.overview.dataFiltering.learnMore": "En savoir plus", + "searchApiPanels.preprocessData.overview.dataFiltering.learnMore.ariaLabel": "En savoir plus sur le filtrage des données", "searchApiPanels.preprocessData.overview.dataTransformation.learnMore": "En savoir plus", + "searchApiPanels.preprocessData.overview.dataTransformation.learnMore.ariaLabel": "En savoir plus sur la transformation des données", "searchApiPanels.preprocessData.overview.pipelineHandling.learnMore": "En savoir plus", + "searchApiPanels.preprocessData.overview.pipelineHandling.learnMore.ariaLabel": "En savoir plus sur la gestion des pipelines", + "searchApiPanels.welcomeBanner.codeBox.copyAriaLabel": "Copier l'extrait de code {context}", "searchApiPanels.welcomeBanner.codeBox.copyButtonLabel": "Copier", + "searchApiPanels.welcomeBanner.codeBox.copyLabel": "Copier l'extrait de code", + "searchApiPanels.welcomeBanner.codeBox.selectAriaLabel": "{context} {languageName}", + "searchApiPanels.welcomeBanner.codeBox.selectChangeAriaLabel": "Modifier le langage en {languageName} pour chaque instance de cette page", + "searchApiPanels.welcomeBanner.codeBox.selectLabel": "Sélectionner un langage de programmation pour l'extrait de code {languageName}", "searchApiPanels.welcomeBanner.header.description": "Configurez votre client de langage de programmation, ingérez des données, et vous serez prêt à commencer vos recherches en quelques minutes.", "searchApiPanels.welcomeBanner.header.greeting.customTitle": "👋 Bonjour {name} !", "searchApiPanels.welcomeBanner.header.greeting.defaultTitle": "👋 Bonjour", "searchApiPanels.welcomeBanner.header.title": "Lancez-vous avec Elasticsearch", "searchApiPanels.welcomeBanner.ingestData.alternativeOptions": "Autres options d'ingestion", "searchApiPanels.welcomeBanner.ingestData.alternativeOptions.beatsDescription": "Des agents légers conçus pour le transfert de données pour Elasticsearch. Utilisez Beats pour envoyer des données opérationnelles depuis vos serveurs.", + "searchApiPanels.welcomeBanner.ingestData.alternativeOptions.beatsDocumentation.ariaLabel": "Documentation Beats", "searchApiPanels.welcomeBanner.ingestData.alternativeOptions.beatsDocumentationLabel": "Documentation", "searchApiPanels.welcomeBanner.ingestData.alternativeOptions.beatsTitle": "Beats", "searchApiPanels.welcomeBanner.ingestData.alternativeOptions.logstashDescription": "Pipeline de traitement des données à usage général pour Elasticsearch. Utilisez Logstash pour extraire et transformer les données d'une variétés d'entrées et de sorties.", + "searchApiPanels.welcomeBanner.ingestData.alternativeOptions.logstashDocumentation.ariaLabel": "Documentation Logstash", "searchApiPanels.welcomeBanner.ingestData.alternativeOptions.logstashDocumentationLabel": "Documentation", "searchApiPanels.welcomeBanner.ingestData.alternativeOptions.logstashTitle": "Logstash", - "searchApiPanels.welcomeBanner.ingestData.description": "Ajoutez des données à votre flux de données ou à votre index pour les rendre interrogeables à l'aide de l'API. ", + "searchApiPanels.welcomeBanner.ingestData.description": "Ajoutez des données à votre flux de données ou à votre index pour les rendre interrogeables à l'aide de l'API.", "searchApiPanels.welcomeBanner.ingestData.title": "Ingérer des données", "searchApiPanels.welcomeBanner.ingestPipelinePanel.description": "Vous pouvez utiliser des pipelines d'ingestion pour prétraiter vos données avant leur indexation dans Elasticsearch.", "searchApiPanels.welcomeBanner.ingestPipelinePanel.managedBadge": "Géré", @@ -6382,12 +7031,12 @@ "searchApiPanels.welcomeBanner.installClient.description": "Vous devez d'abord installer le client de langage de programmation de votre choix.", "searchApiPanels.welcomeBanner.installClient.title": "Installer un client", "searchApiPanels.welcomeBanner.panels.learnMore": "En savoir plus", - "searchApiPanels.welcomeBanner.selectClient.apiRequestConsoleDocLink": "Exécuter des requêtes d’API dans la console ", + "searchApiPanels.welcomeBanner.selectClient.apiRequestConsoleDocLink": "Exécuter des requêtes d’API dans la console", "searchApiPanels.welcomeBanner.selectClient.callout.description": "Avec la console, vous pouvez directement commencer à utiliser nos API REST. Aucune installation n’est requise.", "searchApiPanels.welcomeBanner.selectClient.callout.link": "Essayez la console maintenant", "searchApiPanels.welcomeBanner.selectClient.callout.title": "Lancez-vous dans la console", - "searchApiPanels.welcomeBanner.selectClient.description": "Elastic construit et assure la maintenance des clients dans plusieurs langues populaires et notre communauté a contribué à beaucoup d'autres. Sélectionnez votre client de langage favori ou explorez la {console} pour commencer.", - "searchApiPanels.welcomeBanner.selectClient.elasticsearchClientDocLink": "Clients d'Elasticsearch ", + "searchApiPanels.welcomeBanner.selectClient.description": "Elastic construit et assure la maintenance des clients dans plusieurs langues populaires et notre communauté a contribué à beaucoup d'autres. Sélectionnez votre client de langage favori ou découvrez la console pour commencer.", + "searchApiPanels.welcomeBanner.selectClient.elasticsearchClientDocLink": "Clients d'Elasticsearch", "searchApiPanels.welcomeBanner.selectClient.heading": "Choisissez-en un", "searchApiPanels.welcomeBanner.selectClient.title": "Sélectionner votre client", "searchConnectors.config.invalidInteger": "{label} doit être un nombre entier.", @@ -6399,7 +7048,7 @@ "searchConnectors.configurationConnector.config.error.title": "Erreur de connecteur", "searchConnectors.configurationConnector.config.noConfigCallout.description": "Ce connecteur ne possède aucun champ de configuration. Votre connecteur a-t-il pu se connecter avec succès à Elasticsearch et définir sa configuration ?", "searchConnectors.configurationConnector.config.noConfigCallout.title": "Aucun champ de configuration", - "searchConnectors.configurationConnector.config.submitButton.title": "Enregistrer la configuration", + "searchConnectors.configurationConnector.config.submitButton.title": "Sauvegarder et synchroniser", "searchConnectors.connector.documentLevelSecurity.enablePanel.description": "Vous permet de contrôler les documents auxquels peuvent accéder les utilisateurs, selon leurs autorisations. Cela permet de vous assurer que les résultats de recherche ne renvoient que des informations pertinentes et autorisées pour les utilisateurs, selon leurs rôles.", "searchConnectors.connector.documentLevelSecurity.enablePanel.heading": "Sécurité au niveau du document", "searchConnectors.connectors.subscriptionLabel": "Plans d'abonnement", @@ -6551,7 +7200,7 @@ "searchConnectors.nativeConnectors.box.includeInheritedUsersTooltip": "Incluez les groupes et les utilisateurs hérités lors de l'indexation des autorisations. L'activation de ce champ configurable entraînera une dégradation significative des performances.", "searchConnectors.nativeConnectors.box.name": "Box", "searchConnectors.nativeConnectors.box.pathLabel": "Chemin permettant de récupérer les fichiers/dossiers", - "searchConnectors.nativeConnectors.box.pathTooltip": "Le chemin est ignoré lorsque des règles de synchronisation avancées sont appliquées. ", + "searchConnectors.nativeConnectors.box.pathTooltip": "Le chemin est ignoré lorsque des règles de synchronisation avancées sont appliquées.", "searchConnectors.nativeConnectors.box.refreshTokenLabel": "Token d'actualisation", "searchConnectors.nativeConnectors.boxTooltip.name": "Box", "searchConnectors.nativeConnectors.confluence.indexLabelsLabel": "Activer les étiquettes d'indexation", @@ -6753,6 +7402,7 @@ "searchConnectors.nativeConnectors.sharepoint_online.configuration.useDocumentLevelSecurityLabel": "Activer la sécurité au niveau du document", "searchConnectors.nativeConnectors.sharepoint_online.configuration.useDocumentLevelSecurityTooltip": "La sécurité au niveau du document préserve dans Elasticsearch les identités et permissions paramétrées dans Sharepoint Online. Ces métadonnées sont ajoutées à votre document Elasticsearch afin que vous puissiez contrôler l'accès en lecture des utilisateurs et des groupes. La synchronisation de contrôle d'accès garantit que ces métadonnées sont correctement actualisées.", "searchConnectors.nativeConnectors.sharepoint_online.name": "SharePoint en ligne", + "searchConnectors.nativeConnectors.sharepoint_server.configuration.authentication": "Authentification", "searchConnectors.nativeConnectors.sharepoint_server.configuration.fetchUniqueListItemPermissionsLabel": "Récupérer les autorisations d'un élément de liste unique", "searchConnectors.nativeConnectors.sharepoint_server.configuration.fetchUniqueListItemPermissionsTooltip": "Activer cette option pour récupérer les autorisations d'un élément de liste unique. Ce paramètre est susceptible d'augmenter le délai de synchronisation. Si ce paramètre est désactivé, un élément de liste hérite des permissions de son site parent.", "searchConnectors.nativeConnectors.sharepoint_server.configuration.fetchUniqueListPermissionsLabel": "Récupérer les autorisations de liste unique", @@ -6762,6 +7412,8 @@ "searchConnectors.nativeConnectors.sharepoint_server.configuration.site_collections": "Liste de collections de sites SharePoint séparées par des virgules à indexer", "searchConnectors.nativeConnectors.sharepoint_server.configuration.username": "Nom d'utilisateur du serveur SharePoint", "searchConnectors.nativeConnectors.sharepoint_server.name": "Serveur SharePoint", + "searchConnectors.nativeConnectors.sharepoint_server.options.basicLabel": "De base", + "searchConnectors.nativeConnectors.sharepoint_server.options.ntlmLabel": "NTLM", "searchConnectors.nativeConnectors.slack.autoJoinChannels.label": "Rejoindre automatiquement les canaux", "searchConnectors.nativeConnectors.slack.autoJoinChannels.tooltip": "Le bot de l'application Slack pourra seulement lire l'historique des conversations des canaux qu'il a rejoints. L’option par défaut nécessite qu'il soit invité manuellement aux canaux. L'activation de cette option lui permet de s'inviter automatiquement sur tous les canaux publics.", "searchConnectors.nativeConnectors.slack.fetchLastNDays.label": "Nombre de jours d'historique de messages à récupérer", @@ -6914,8 +7566,11 @@ "searchIndexDocuments.result.expandTooltip.showMore": "Afficher {amount} champs en plus", "searchIndexDocuments.result.header.metadata.deleteDocument": "Supprimer le document", "searchIndexDocuments.result.header.metadata.icon.ariaLabel": "Métadonnées pour le document : {id}", + "searchIndexDocuments.result.header.metadata.score": "Score", "searchIndexDocuments.result.header.metadata.title": "Métadonnées du document", "searchIndexDocuments.result.title.id": "ID de document : {id}", + "searchIndexDocuments.result.value.denseVector.copy": "Copier le vecteur", + "searchIndexDocuments.result.value.denseVector.dimLabel": "{value} dimensions", "searchResponseWarnings.badgeButtonLabel": "{warningCount} {warningCount, plural, one {avertissement} other {avertissements}}", "searchResponseWarnings.description.multipleClusters": "Ces clusters ont rencontré des problèmes lors du renvoi des données et les résultats pourraient être incomplets.", "searchResponseWarnings.description.singleCluster": "Ce cluster a rencontré des problèmes lors du renvoi des données et les résultats pourraient être incomplets.", @@ -6923,6 +7578,7 @@ "searchResponseWarnings.title.clustersClause": "Un problème est survenu avec {nonSuccessfulClustersCount} {nonSuccessfulClustersCount, plural, one {cluster} other {clusters}}", "searchResponseWarnings.title.clustersClauseAndRequestsClause": "{clustersClause} pour {requestsCount} requêtes", "searchResponseWarnings.viewDetailsButtonLabel": "Afficher les détails", + "securitySolutionPackages.alertAssignments.upsell": "Passer à {requiredLicense} pour utiliser les affectations d'alertes", "securitySolutionPackages.alertSuppressionRuleDetails.upsell": "La suppression d'alertes est configurée mais elle ne sera pas appliquée en raison d'une licence insuffisante", "securitySolutionPackages.alertSuppressionRuleForm.upsell": "La suppression d'alertes est activée avec la licence {requiredLicense} ou supérieure", "securitySolutionPackages.beta.label": "Bêta", @@ -6934,53 +7590,83 @@ "securitySolutionPackages.dataTable.eventsTab.unit": "{totalCount, plural, =1 {alerte} other {alertes}}", "securitySolutionPackages.dataTable.loadingEventsDataLabel": "Chargement des événements", "securitySolutionPackages.dataTable.unit": "{totalCount, plural, =1 {alerte} other {alertes}}", + "securitySolutionPackages.ecsDataQualityDashboard.actions.askAssistant": "Demander à l'assistant", "securitySolutionPackages.ecsDataQualityDashboard.addToCaseSuccessToast": "Résultats de qualité des données ajoutés au cas", "securitySolutionPackages.ecsDataQualityDashboard.addToNewCaseButton": "Ajouter au nouveau cas", + "securitySolutionPackages.ecsDataQualityDashboard.all": "Tous", + "securitySolutionPackages.ecsDataQualityDashboard.allFields": "Tous les champs", "securitySolutionPackages.ecsDataQualityDashboard.allTab.allFieldsTableTitle": "Tous les champs - {indexName}", "securitySolutionPackages.ecsDataQualityDashboard.cancelButton": "Annuler", + "securitySolutionPackages.ecsDataQualityDashboard.changeYourSearchCriteriaOrRun": "Modifiez vos critères de recherche ou lancez une nouvelle vérification", "securitySolutionPackages.ecsDataQualityDashboard.checkAllButton": "Tout vérifier", "securitySolutionPackages.ecsDataQualityDashboard.checkAllErrorCheckingIndexMessage": "Une erreur s'est produite lors de la vérification de l'index {indexName}", "securitySolutionPackages.ecsDataQualityDashboard.checkingLabel": "Vérification de {index}", + "securitySolutionPackages.ecsDataQualityDashboard.checkNow": "Vérifier maintenant", + "securitySolutionPackages.ecsDataQualityDashboard.close": "Fermer", "securitySolutionPackages.ecsDataQualityDashboard.coldDescription": "L'index n'est plus mis à jour et il est interrogé peu fréquemment. Les informations doivent toujours être interrogeables, mais il est acceptable que ces requêtes soient plus lentes.", "securitySolutionPackages.ecsDataQualityDashboard.coldPatternTooltip": "{indices} {indices, plural, =1 {L'index correspondant} other {Les index correspondants}} au modèle {pattern} {indices, plural, =1 {est} other {sont}} \"cold\". Les index \"cold\" ne sont plus mis à jour et ne sont pas interrogés fréquemment. Les informations doivent toujours être interrogeables, mais il est acceptable que ces requêtes soient plus lentes.", "securitySolutionPackages.ecsDataQualityDashboard.compareFieldsTable.searchFieldsPlaceholder": "Rechercher dans les champs", "securitySolutionPackages.ecsDataQualityDashboard.copyToClipboardButton": "Copier dans le presse-papiers", "securitySolutionPackages.ecsDataQualityDashboard.createADataQualityCaseForIndexHeaderText": "Créer un cas de qualité des données pour l'index {indexName}", "securitySolutionPackages.ecsDataQualityDashboard.createADataQualityCaseHeaderText": "Créer un cas de qualité des données", + "securitySolutionPackages.ecsDataQualityDashboard.customFields": "Champs personnalisés", "securitySolutionPackages.ecsDataQualityDashboard.customTab.customFieldsTableTitle": "Champs personnalisés - {indexName}", "securitySolutionPackages.ecsDataQualityDashboard.customTab.ecsComplaintFieldsTableTitle": "Champs de plainte ECS - {indexName}", + "securitySolutionPackages.ecsDataQualityDashboard.dataQuality": "Qualité des données", + "securitySolutionPackages.ecsDataQualityDashboard.dataQualityDashboardConversationId": "Tableau de bord de Qualité des données", "securitySolutionPackages.ecsDataQualityDashboard.dataQualityPromptContextPill": "Qualité des données ({indexName})", "securitySolutionPackages.ecsDataQualityDashboard.dataQualityPromptContextPillTooltip": "Ajoutez ce rapport de Qualité des données comme contexte", "securitySolutionPackages.ecsDataQualityDashboard.dataQualitySuggestedUserPrompt": "Expliquez les résultats ci-dessus et donnez des options pour résoudre les incompatibilités.", "securitySolutionPackages.ecsDataQualityDashboard.defaultPanelTitle": "Vérifier les mappings d'index", + "securitySolutionPackages.ecsDataQualityDashboard.detectionEngineRulesWontWorkMessage": "❌ Les règles de moteur de détection référençant ces champs ne leur correspondront peut-être pas correctement", + "securitySolutionPackages.ecsDataQualityDashboard.docs": "Documents", + "securitySolutionPackages.ecsDataQualityDashboard.documentValuesActual": "Valeurs du document (réelles)", + "securitySolutionPackages.ecsDataQualityDashboard.ecsCompliantFields": "Champs conformes à ECS", + "securitySolutionPackages.ecsDataQualityDashboard.ecsDescription": "Description ECS", + "securitySolutionPackages.ecsDataQualityDashboard.ecsMappingType": "Type de mapping ECS", + "securitySolutionPackages.ecsDataQualityDashboard.ecsMappingTypeExpected": "Type de mapping ECS (attendu)", + "securitySolutionPackages.ecsDataQualityDashboard.ecsValues": "Valeurs ECS", + "securitySolutionPackages.ecsDataQualityDashboard.ecsValuesExpected": "Valeurs ECS (attendues)", "securitySolutionPackages.ecsDataQualityDashboard.ecsVersionStat": "Version ECS", + "securitySolutionPackages.ecsDataQualityDashboard.emptyErrorPrompt.errorGenericCheckTitle": "Une erreur s'est produite durant la vérification", "securitySolutionPackages.ecsDataQualityDashboard.emptyErrorPrompt.errorLoadingMappingsBody": "Un problème est survenu lors du chargement des mappings : {error}", "securitySolutionPackages.ecsDataQualityDashboard.emptyErrorPrompt.errorLoadingMappingsTitle": "Impossible de charger les mappings d'index", "securitySolutionPackages.ecsDataQualityDashboard.emptyErrorPrompt.errorLoadingMetadataTitle": "Les index correspondant au modèle {pattern} ne seront pas vérifiés", "securitySolutionPackages.ecsDataQualityDashboard.emptyErrorPrompt.errorLoadingUnallowedValuesBody": "Un problème est survenu lors du chargement des valeurs non autorisées : {error}", "securitySolutionPackages.ecsDataQualityDashboard.emptyErrorPrompt.errorLoadingUnallowedValuesTitle": "Impossible de charger les valeurs non autorisées", + "securitySolutionPackages.ecsDataQualityDashboard.emptyLoadingPrompt.checkingIndexPrompt": "Vérification de l'index", "securitySolutionPackages.ecsDataQualityDashboard.emptyLoadingPrompt.loadingEcsMetadataPrompt": "Chargement des métadonnées ECS", "securitySolutionPackages.ecsDataQualityDashboard.emptyLoadingPrompt.loadingMappingsPrompt": "Chargement des mappings", "securitySolutionPackages.ecsDataQualityDashboard.emptyLoadingPrompt.loadingStatsPrompt": "Chargement des statistiques", "securitySolutionPackages.ecsDataQualityDashboard.emptyLoadingPrompt.loadingUnallowedValuesPrompt": "Chargement des valeurs non autorisées", + "securitySolutionPackages.ecsDataQualityDashboard.errorLoadingHistoricalResults": "Impossible de charger l'historique", "securitySolutionPackages.ecsDataQualityDashboard.errorLoadingIlmExplainLabel": "Erreur lors du chargement d'ILM Explain : {details}", "securitySolutionPackages.ecsDataQualityDashboard.errorLoadingMappingsLabel": "Erreur lors du chargement des mappings pour {patternOrIndexName} : {details}", "securitySolutionPackages.ecsDataQualityDashboard.errorLoadingStatsLabel": "Erreur lors du chargement des statistiques : {details}", "securitySolutionPackages.ecsDataQualityDashboard.errorLoadingUnallowedValuesLabel": "Erreur lors du chargement des valeurs non autorisées pour l'index {indexName} : {details}", + "securitySolutionPackages.ecsDataQualityDashboard.errors.error": "Erreur", "securitySolutionPackages.ecsDataQualityDashboard.errors.errorMayOccurLabel": "Des erreurs peuvent survenir lorsque le modèle ou les métadonnées de l'index sont temporairement indisponibles, ou si vous ne disposez pas des privilèges requis pour l'accès", + "securitySolutionPackages.ecsDataQualityDashboard.errors.errors": "Erreurs", + "securitySolutionPackages.ecsDataQualityDashboard.errors.errorsCalloutSummary": "La qualité des données n'a pas été vérifiée pour certains index", "securitySolutionPackages.ecsDataQualityDashboard.errors.manage": "gérer", "securitySolutionPackages.ecsDataQualityDashboard.errors.monitor": "moniteur", "securitySolutionPackages.ecsDataQualityDashboard.errors.or": "ou", + "securitySolutionPackages.ecsDataQualityDashboard.errors.pattern": "Modèle", "securitySolutionPackages.ecsDataQualityDashboard.errors.read": "lire", "securitySolutionPackages.ecsDataQualityDashboard.errors.theFollowingPrivilegesLabel": "Les privilèges suivants sont requis pour vérifier un index :", "securitySolutionPackages.ecsDataQualityDashboard.errors.viewIndexMetadata": "view_index_metadata", "securitySolutionPackages.ecsDataQualityDashboard.errorsPopover.viewErrorsButton": "Afficher les erreurs", + "securitySolutionPackages.ecsDataQualityDashboard.fail": "Échec", + "securitySolutionPackages.ecsDataQualityDashboard.failedTooltip": "Échoué", + "securitySolutionPackages.ecsDataQualityDashboard.field": "Champ", "securitySolutionPackages.ecsDataQualityDashboard.fieldsLabel": "Champs", + "securitySolutionPackages.ecsDataQualityDashboard.filterResultsByOutcome": "Filtrer les résultats par issue", "securitySolutionPackages.ecsDataQualityDashboard.frozenDescription": "L'index n'est plus mis à jour et il est rarement interrogé. Les informations doivent toujours être interrogeables, mais il est acceptable que ces requêtes soient extrêmement lentes.", "securitySolutionPackages.ecsDataQualityDashboard.frozenPatternTooltip": "{indices} {indices, plural, =1 {L'index correspondant} other {Les index correspondants}} au modèle {pattern} {indices, plural, =1 {est} other {sont}} \"frozen\". Les index gelés ne sont plus mis à jour et sont rarement interrogés. Les informations doivent toujours être interrogeables, mais il est acceptable que ces requêtes soient extrêmement lentes.", "securitySolutionPackages.ecsDataQualityDashboard.getResultErrorTitle": "Erreur lors de la lecture des résultats d'examen qualité des données sauvegardées", "securitySolutionPackages.ecsDataQualityDashboard.hotDescription": "L'index est mis à jour et interrogé de façon active", "securitySolutionPackages.ecsDataQualityDashboard.hotPatternTooltip": "{indices} {indices, plural, =1 {L'index correspondant} other {Les index correspondants}} au modèle {pattern} {indices, plural, =1 {est} other {sont}} \"hot\". Les index \"hot\" sont mis à jour et interrogés de façon active.", + "securitySolutionPackages.ecsDataQualityDashboard.ilmPhaseCapitalized": "Phase ILM", "securitySolutionPackages.ecsDataQualityDashboard.ilmPhaseCold": "froid", "securitySolutionPackages.ecsDataQualityDashboard.ilmPhaseFrozen": "frozen", "securitySolutionPackages.ecsDataQualityDashboard.ilmPhaseHot": "hot", @@ -6992,7 +7678,20 @@ "securitySolutionPackages.ecsDataQualityDashboard.ilmPhasesEmptyPromptTitle": "Sélectionner une ou plusieurs phases ILM", "securitySolutionPackages.ecsDataQualityDashboard.ilmPhaseUnmanaged": "non géré", "securitySolutionPackages.ecsDataQualityDashboard.ilmPhaseWarm": "warm", + "securitySolutionPackages.ecsDataQualityDashboard.incompatibleCallout": "Les champs sont incompatibles avec ECS lorsque les mappings d'index, ou les valeurs des champs de l'index, ne sont pas conformes à la version {version} d'Elastic Common Schema (ECS).", + "securitySolutionPackages.ecsDataQualityDashboard.incompatibleCalloutTitle": "{fieldCount} {fieldCount, plural, =1 {Champ incompatible} other {Champs incompatibles}}", + "securitySolutionPackages.ecsDataQualityDashboard.incompatibleEmptyContent": "Tous les mappings de champs et toutes les valeurs de documents de cet index sont conformes à Elastic Common Schema (ECS).", + "securitySolutionPackages.ecsDataQualityDashboard.incompatibleEmptyTitle": "Toutes les valeurs et tous les mappings de champs sont conformes à ECS", + "securitySolutionPackages.ecsDataQualityDashboard.incompatibleFieldMappings": "Mappings de champ incompatibles – {indexName}", + "securitySolutionPackages.ecsDataQualityDashboard.incompatibleFields": "Champs incompatibles", + "securitySolutionPackages.ecsDataQualityDashboard.incompatibleFieldsWithCount": "{count, plural, one {Champ incompatible} other {Champs incompatibles}}", + "securitySolutionPackages.ecsDataQualityDashboard.incompatibleFieldValues": "Valeurs de champ incompatibles – {indexName}", + "securitySolutionPackages.ecsDataQualityDashboard.index": "Index", + "securitySolutionPackages.ecsDataQualityDashboard.indexCheckFlyout.historyTab": "Historique", + "securitySolutionPackages.ecsDataQualityDashboard.indexCheckFlyout.latestCheckTab": "Dernière vérification", "securitySolutionPackages.ecsDataQualityDashboard.indexLifecycleManagementPhasesTooltip": "La qualité des données sera vérifiée pour les index comprenant ces phases de gestion du cycle de vie des index (ILM, Index Lifecycle Management)", + "securitySolutionPackages.ecsDataQualityDashboard.indexMappingType": "Type de mapping d'index", + "securitySolutionPackages.ecsDataQualityDashboard.indexMappingTypeActual": "Type de mapping d'index (réel)", "securitySolutionPackages.ecsDataQualityDashboard.indexNameLabel": "Nom de l'index", "securitySolutionPackages.ecsDataQualityDashboard.indexProperties.addToNewCaseButton": "Ajouter au nouveau cas", "securitySolutionPackages.ecsDataQualityDashboard.indexProperties.allCallout": "Tous les mappings relatifs aux champs de cet index, y compris ceux qui sont conformes à la version {version} d'Elastic Common Schema (ECS) et ceux qui ne le sont pas", @@ -7028,47 +7727,81 @@ "securitySolutionPackages.ecsDataQualityDashboard.indexProperties.summaryMarkdownDescription": "L'index `{indexName}` a des [mappings]({mappingUrl}) ou des valeurs de champ différentes de l'[Elastic Common Schema]({ecsReferenceUrl}) (ECS), [définitions]({ecsFieldReferenceUrl}).de version `{version}`.", "securitySolutionPackages.ecsDataQualityDashboard.indexProperties.summaryMarkdownTitle": "Qualité des données", "securitySolutionPackages.ecsDataQualityDashboard.indexProperties.unknownCategoryLabel": "Inconnu", - "securitySolutionPackages.ecsDataQualityDashboard.indexSizeTooltip": "La taille de l'index principal (n'inclut pas de répliques)", + "securitySolutionPackages.ecsDataQualityDashboard.indexSizeTooltip": "Taille de l'index (sans les répliques)", + "securitySolutionPackages.ecsDataQualityDashboard.indices": "Index", + "securitySolutionPackages.ecsDataQualityDashboard.indicesChecked": "Index vérifiés", + "securitySolutionPackages.ecsDataQualityDashboard.introducingDataQualityHistory": "Présentation de l'historique de la qualité des données", "securitySolutionPackages.ecsDataQualityDashboard.lastCheckedLabel": "Dernière vérification", + "securitySolutionPackages.ecsDataQualityDashboard.loadingHistoricalResults": "Chargement des résultats antérieurs", + "securitySolutionPackages.ecsDataQualityDashboard.mappingThatConflictWithEcsMessage": "❌ Les mappings ou valeurs de champs qui ne sont pas conformes à ECS ne sont pas pris en charge", + "securitySolutionPackages.ecsDataQualityDashboard.noResultsMatchYourSearchCriteria": "Aucun résultat ne correspond à vos critères de recherche.", + "securitySolutionPackages.ecsDataQualityDashboard.notIncludedInHistoricalResults": "Non inclus dans les résultats antérieurs. Pour afficher les données complètes sur les champs de la même famille, exécutez une nouvelle vérification.", + "securitySolutionPackages.ecsDataQualityDashboard.pagesMayNotDisplayEventsMessage": "❌ Les pages peuvent ne pas afficher certains événements ou champs en raison de mappings ou valeurs de champs inattendus", + "securitySolutionPackages.ecsDataQualityDashboard.pass": "Réussite", + "securitySolutionPackages.ecsDataQualityDashboard.passedTooltip": "Approuvé", "securitySolutionPackages.ecsDataQualityDashboard.patternLabel.allPassedTooltip": "Tous les index correspondant à ce modèle ont réussi les vérifications de qualité des données", + "securitySolutionPackages.ecsDataQualityDashboard.patternLabel.someFailedTooltip": "Au moins un index correspondant à ce modèle a échoué à un contrôle de qualité des données", + "securitySolutionPackages.ecsDataQualityDashboard.patternLabel.someUncheckedTooltip": "Au moins un index correspondant à ce modèle n'a pas été vérifié pour la qualité des données", "securitySolutionPackages.ecsDataQualityDashboard.patternSummary.docsLabel": "Documents", "securitySolutionPackages.ecsDataQualityDashboard.patternSummary.indicesLabel": "Index", - "securitySolutionPackages.ecsDataQualityDashboard.patternSummary.patternOrIndexTooltip": "Modèle, ou index spécifique", + "securitySolutionPackages.ecsDataQualityDashboard.patternSummary.patternOrIndexTooltip": "Nom d'index ou modèle", "securitySolutionPackages.ecsDataQualityDashboard.postResultErrorTitle": "Erreur lors de l'écriture des résultats d'examen qualité des données sauvegardées", "securitySolutionPackages.ecsDataQualityDashboard.remoteClustersCallout.title": "Les clusters distants ne seront pas vérifiés", "securitySolutionPackages.ecsDataQualityDashboard.remoteClustersCallout.toCheckIndicesOnRemoteClustersLabel": "Pour vérifier les index sur des clusters distants prenant en charge la recherche dans différents clusters, connectez-vous à l'instance Kibana du cluster distant", + "securitySolutionPackages.ecsDataQualityDashboard.result": "Résultat", + "securitySolutionPackages.ecsDataQualityDashboard.sameFamily": "Même famille", "securitySolutionPackages.ecsDataQualityDashboard.sameFamilyBadgeLabel": "même famille", "securitySolutionPackages.ecsDataQualityDashboard.sameFamilyTab.sameFamilyFieldMappingsTableTitle": "Mêmes familles de mappings de champ – {indexName}", "securitySolutionPackages.ecsDataQualityDashboard.securitySolutionPackages.ecsDataQualityDashboardSubtitle": "Vérifiez la compatibilité des mappings et des valeurs d'index avec", "securitySolutionPackages.ecsDataQualityDashboard.selectAnIndexPrompt": "Sélectionner un index pour le comparer à la version ECS", "securitySolutionPackages.ecsDataQualityDashboard.selectOneOrMorPhasesPlaceholder": "Sélectionner une ou plusieurs phases ILM", + "securitySolutionPackages.ecsDataQualityDashboard.size": "Taille", "securitySolutionPackages.ecsDataQualityDashboard.statLabels.checkedLabel": "vérifié", "securitySolutionPackages.ecsDataQualityDashboard.statLabels.docsLabel": "Documents", + "securitySolutionPackages.ecsDataQualityDashboard.statLabels.incompatibleFieldsLabel": "Champs incompatibles", + "securitySolutionPackages.ecsDataQualityDashboard.statLabels.incompatibleIndexToolTip": "Mappings et valeurs incompatibles avec ECS", + "securitySolutionPackages.ecsDataQualityDashboard.statLabels.indicesCheckedLabel": "Index vérifiés", "securitySolutionPackages.ecsDataQualityDashboard.statLabels.indicesLabel": "Index", "securitySolutionPackages.ecsDataQualityDashboard.statLabels.sameFamilyLabel": "Même famille", "securitySolutionPackages.ecsDataQualityDashboard.statLabels.sizeLabel": "Taille", - "securitySolutionPackages.ecsDataQualityDashboard.statLabels.totalDocsToolTip": "Nombre total de documents, dans tous les index", - "securitySolutionPackages.ecsDataQualityDashboard.statLabels.totalIncompatibleToolTip": "Nombre total de champs incompatibles avec ECS, dans tous les index qui ont été vérifiés", - "securitySolutionPackages.ecsDataQualityDashboard.statLabels.totalIndicesToolTip": "Nombre total de tous les index", - "securitySolutionPackages.ecsDataQualityDashboard.statLabels.totalSizeToolTip": "La taille totale de tous les index principaux (n'inclut pas de répliques)", + "securitySolutionPackages.ecsDataQualityDashboard.statLabels.totalCheckedIndicesPatternToolTip": "Nombre total d'index vérifiés correspondant à ce modèle d'index", + "securitySolutionPackages.ecsDataQualityDashboard.statLabels.totalCheckedIndicesToolTip": "Nombre total d'index vérifiés", + "securitySolutionPackages.ecsDataQualityDashboard.statLabels.totalDocsPatternToolTip": "Nombre total de documents dans les index correspondant à ce modèle d'indexation", + "securitySolutionPackages.ecsDataQualityDashboard.statLabels.totalDocsToolTip": "Nombre total de documents dans l'ensemble des index", + "securitySolutionPackages.ecsDataQualityDashboard.statLabels.totalIncompatiblePatternToolTip": "Nombre total de champs vérifiés incompatibles avec ECS dans les index correspondant à ce modèle d'indexation", + "securitySolutionPackages.ecsDataQualityDashboard.statLabels.totalIncompatibleToolTip": "Nombre total de champs vérifiés incompatibles avec ECS", + "securitySolutionPackages.ecsDataQualityDashboard.statLabels.totalIndicesPatternToolTip": "Nombre total d'index correspondant à ce modèle d'indexation", + "securitySolutionPackages.ecsDataQualityDashboard.statLabels.totalIndicesToolTip": "Nombre total d'index", + "securitySolutionPackages.ecsDataQualityDashboard.statLabels.totalSizePatternToolTip": "Taille totale des indices (hors répliques) correspondant à ce modèle d'indexation", + "securitySolutionPackages.ecsDataQualityDashboard.statLabels.totalSizeToolTip": "Taille totale des indices (hors répliques)", "securitySolutionPackages.ecsDataQualityDashboard.storage.docs.unit": "{totalCount, plural, =1 {Document} other {Documents}}", "securitySolutionPackages.ecsDataQualityDashboard.storageTreemap.noDataLabel": "Aucune donnée à afficher", "securitySolutionPackages.ecsDataQualityDashboard.storageTreemap.noDataReasonLabel": "Le champ {stackByField1} n'était présent dans aucun groupe", + "securitySolutionPackages.ecsDataQualityDashboard.summaryTable.actionsColumn": "Actions", "securitySolutionPackages.ecsDataQualityDashboard.summaryTable.collapseLabel": "Réduire", "securitySolutionPackages.ecsDataQualityDashboard.summaryTable.expandRowsColumn": "Développer les lignes", "securitySolutionPackages.ecsDataQualityDashboard.summaryTable.indexesNameLabel": "Nom de l'index", "securitySolutionPackages.ecsDataQualityDashboard.summaryTable.indexToolTip": "Cet index correspond au nom d'index ou de modèle : {pattern}", "securitySolutionPackages.ecsDataQualityDashboard.summaryTable.lastCheckColumn": "Dernière vérification", + "securitySolutionPackages.ecsDataQualityDashboard.thisIndexHasNotBeenCheckedTooltip": "Cet index n'a pas été vérifié", "securitySolutionPackages.ecsDataQualityDashboard.timestampDescriptionLabel": "Date/heure d'origine de l'événement. Il s'agit des date et heure extraites de l'événement, représentant généralement le moment auquel l'événement a été généré par la source. Si la source de l'événement ne comporte pas d'horodatage original, cette valeur est habituellement remplie la première fois que l'événement a été reçu par le pipeline. Champs requis pour tous les événements.", "securitySolutionPackages.ecsDataQualityDashboard.toasts.copiedErrorsToastTitle": "Erreurs copiées dans le presse-papiers", "securitySolutionPackages.ecsDataQualityDashboard.toasts.copiedResultsToastTitle": "Résultats copiés dans le presse-papiers", + "securitySolutionPackages.ecsDataQualityDashboard.toggleHistoricalResultCheckedAt": "Bascule de résultat historique vérifié à {checkedAt}", + "securitySolutionPackages.ecsDataQualityDashboard.totalChecks": "{formattedCount} {count, plural, one {vérification} other {vérifications}}", + "securitySolutionPackages.ecsDataQualityDashboard.tryIt": "Essayer", "securitySolutionPackages.ecsDataQualityDashboard.unmanagedDescription": "L'index n'est pas géré par la Gestion du cycle de vie des index (ILM)", "securitySolutionPackages.ecsDataQualityDashboard.unmanagedPatternTooltip": "{indices} {indices, plural, =1 {L'index correspondant} other {Les index correspondants}} au modèle {pattern} {indices, plural, =1 {n'est pas géré} other {ne sont pas gérés}} par la gestion du cycle de vie des index (ILM)", + "securitySolutionPackages.ecsDataQualityDashboard.viewHistory": "Afficher l'historique", + "securitySolutionPackages.ecsDataQualityDashboard.viewPastResults": "Voir les résultats antérieurs", "securitySolutionPackages.ecsDataQualityDashboard.warmDescription": "L'index n'est plus mis à jour mais il est toujours interrogé", "securitySolutionPackages.ecsDataQualityDashboard.warmPatternTooltip": "{indices} {indices, plural, =1 {L'index correspondant} other {Les index correspondants}} au modèle {pattern} {indices, plural, =1 {est} other {sont}} \"warm\". Les index \"warm\" ne sont plus mis à jour, mais ils sont toujours interrogés.", "securitySolutionPackages.entityAnalytics.navigation": "Analyse des entités", "securitySolutionPackages.entityAnalytics.pageDesc": "Détecter les menaces des utilisateurs et des hôtes de votre réseau avec l'Analyse des entités", "securitySolutionPackages.entityAnalytics.paywall.upgradeButton": "Passer à {requiredLicenseOrProduct}", + "securitySolutionPackages.features.featureRegistry.assistant.manageGlobalKnowledgeBaseSubFeatureDescription": "Apportez des modifications à n'importe quelle entrée de la base de connaissances personnalisée au niveau de l'espace (global). Cela permettra également aux utilisateurs de modifier les entrées globales créées par d'autres utilisateurs.", + "securitySolutionPackages.features.featureRegistry.assistant.manageGlobalKnowledgeBaseSubFeatureDetails": "Autoriser les modifications des entrées globales", + "securitySolutionPackages.features.featureRegistry.assistant.manageGlobalKnowledgeBaseSubFeatureName": "Base de connaissances", "securitySolutionPackages.features.featureRegistry.assistant.updateAnonymizationSubFeatureDetails": "Autoriser les modifications", "securitySolutionPackages.features.featureRegistry.assistant.updateAnonymizationSubFeatureName": "Sélection et Anonymisation de champ", "securitySolutionPackages.features.featureRegistry.casesSettingsSubFeatureDetails": "Modifier les paramètres du cas", @@ -7076,8 +7809,10 @@ "securitySolutionPackages.features.featureRegistry.deleteSubFeatureDetails": "Supprimer les cas et les commentaires", "securitySolutionPackages.features.featureRegistry.deleteSubFeatureName": "Supprimer", "securitySolutionPackages.features.featureRegistry.linkSecuritySolutionAssistantTitle": "Assistant d’intelligence artificielle d’Elastic", + "securitySolutionPackages.features.featureRegistry.linkSecuritySolutionAttackDiscoveryTitle": "Attack discovery", "securitySolutionPackages.features.featureRegistry.linkSecuritySolutionCaseTitle": "Cas", "securitySolutionPackages.features.featureRegistry.linkSecuritySolutionTitle": "Sécurité", + "securitySolutionPackages.features.featureRegistry.securityGroupDescription": "Chaque privilège de sous-fonctionnalité de ce groupe doit être attribué individuellement. L'affectation globale n'est prise en charge que lorsque votre offre tarifaire n'autorise pas les privilèges de fonctionnalités individuelles.", "securitySolutionPackages.features.featureRegistry.subFeatures.assistant.description": "Modifiez les champs par défaut autorisés à être utilisés par l'assistant IA et Attack discovery. Anonymisez n'importe quel contenu pour les champs sélectionnés.", "securitySolutionPackages.features.featureRegistry.subFeatures.blockList": "Liste noire", "securitySolutionPackages.features.featureRegistry.subFeatures.blockList.description": "Étendez la protection d'Elastic Defend contre les processus malveillants et protégez-vous des applications potentiellement nuisibles.", @@ -7131,6 +7866,10 @@ "securitySolutionPackages.navigation.landingLinks": "Vues de sécurité", "securitySolutionPackages.sideNav.betaBadge.label": "Bêta", "securitySolutionPackages.sideNav.togglePanel": "Activer/Désactiver le panneau de navigation", + "securitySolutionPackages.upselling.pages.attackDiscovery.pageTitle.betaBadge": "Version d'évaluation technique", + "securitySolutionPackages.upselling.pages.attackDiscovery.pageTitle.betaTooltip": "Cette fonctionnalité est en version d’évaluation technique, elle est susceptible d’être modifiée. Veuillez utiliser Attack Discovery avec prudence dans les environnements de production.", + "securitySolutionPackages.upselling.pages.attackDiscovery.pageTitle.pageTitle": "Attack discovery", + "securitySolutionPackages.upselling.sections.attackDiscovery.findPotentialAttacksWithAiTitle": "Trouvez les attaques potentielles grâce à l'IA", "share.advancedSettings.csv.quoteValuesText": "Les valeurs doivent-elles être mises entre guillemets dans les exportations CSV ?", "share.advancedSettings.csv.quoteValuesTitle": "Mettre les valeurs CSV entre guillemets", "share.advancedSettings.csv.separatorText": "Séparer les valeurs exportées avec cette chaîne", @@ -7156,7 +7895,7 @@ "share.modalContent.copyUrlButtonLabel": "Copier l'URL Post", "share.postURLWatcherMessage": "Copiez cette URL POST pour appeler la génération depuis l'extérieur de Kibana ou à partir de Watcher.", "share.postURLWatcherMessage.unsavedChanges": "L'URL peut changer si vous mettez Kibana à niveau.", - "share.screenCapturePanelContent.optimizeForPrintingHelpText": "Utilise plusieurs pages, affichant au maximum 2 visualisations par page ", + "share.screenCapturePanelContent.optimizeForPrintingHelpText": "Utilise plusieurs pages, affichant au maximum 2 visualisations par page", "share.screenCapturePanelContent.optimizeForPrintingLabel": "Pour l'impression", "share.urlPanel.canNotShareAsSavedObjectHelpText": "Pour le partager comme objet enregistré, enregistrez le {objectType}.", "share.urlPanel.copyIframeCodeButtonLabel": "Copier le code iFrame", @@ -7189,6 +7928,8 @@ "sharedUXPackages.card.noData.noPermission.title": "Contactez votre administrateur", "sharedUXPackages.card.noData.title": "Ajouter Elastic Agent", "sharedUXPackages.chrome.sideNavigation.betaBadge.label": "Bêta", + "sharedUXPackages.chrome.sideNavigation.feedbackCallout.btn": "Faites-nous en part", + "sharedUXPackages.chrome.sideNavigation.feedbackCallout.title": "Comment fonctionne la navigation de votre côté ? Il manque quelque chose ?", "sharedUXPackages.chrome.sideNavigation.recentlyAccessed.title": "Récent", "sharedUXPackages.chrome.sideNavigation.togglePanel": "Afficher/Masquer le panneau de navigation \"{title}\"", "sharedUXPackages.codeEditor.ariaLabel": "Éditeur de code", @@ -7256,11 +7997,17 @@ "sharedUXPackages.noDataPage.introNoDocLink": "Ajoutez vos données pour commencer.", "sharedUXPackages.noDataPage.welcomeTitle": "Bienvenue dans Elastic {solution}.", "sharedUXPackages.noDataViewsPrompt.addDataViewText": "Créer une vue de données", + "sharedUXPackages.noDataViewsPrompt.addDataViewTextNoPrivilege": "Créer une vue de données", + "sharedUXPackages.noDataViewsPrompt.addDataViewTooltipNoPrivilege": "Demandez à votre administrateur les autorisations nécessaires pour créer une vue de données.", + "sharedUXPackages.noDataViewsPrompt.createDataView": "Créer une vue de données", "sharedUXPackages.noDataViewsPrompt.dataViewExplanation": "Les vues de données identifient les données Elasticsearch que vous souhaitez explorer. Vous pouvez faire pointer des vues de données vers un ou plusieurs flux de données, index et alias d'index, tels que vos données de log d'hier, ou vers tous les index contenant vos données de log.", + "sharedUXPackages.noDataViewsPrompt.esqlExplanation": "ES|QL est un langage de requête canalisé de nouvelle génération et un moteur de calcul développé par Elastic pour filtrer, transformer et analyser les données. ES|QL vous aide à rationaliser vos workflows afin d'assurer un traitement des données rapide et efficace.", + "sharedUXPackages.noDataViewsPrompt.esqlPanel.title": "Interrogez vos données avec ES|QL", "sharedUXPackages.noDataViewsPrompt.learnMore": "Envie d'en savoir plus ?", "sharedUXPackages.noDataViewsPrompt.noPermission.dataViewExplanation": "Les vues de données identifient les données Elasticsearch que vous souhaitez explorer. Pour créer des vues de données, demandez les autorisations requises à votre administrateur.", "sharedUXPackages.noDataViewsPrompt.readDocumentation": "Lisez les documents", - "sharedUXPackages.noDataViewsPrompt.youHaveData": "Vous avez des données dans Elasticsearch.", + "sharedUXPackages.noDataViewsPrompt.tryEsqlText": "Essayer ES|QL", + "sharedUXPackages.noDataViewsPrompt.youHaveData": "Comment souhaitez-vous explorer vos données Elasticsearch ?", "sharedUXPackages.prompt.errors.notFound.body": "Désolé, la page que vous recherchez est introuvable. Elle a peut-être été retirée ou renommée, ou peut-être qu'elle n'a jamais existé.", "sharedUXPackages.prompt.errors.notFound.goBacklabel": "Retour", "sharedUXPackages.prompt.errors.notFound.title": "Page introuvable", @@ -7268,6 +8015,7 @@ "sharedUXPackages.solutionNav.menuText": "menu", "sharedUXPackages.solutionNav.mobileTitleText": "{solutionName} {menuText}", "sharedUXPackages.solutionNav.openLabel": "Ouvrir la navigation latérale", + "sse.internalError": "Une erreur interne s'est produite", "telemetry.callout.appliesSettingTitle": "Les modifications apportées à ce paramètre s'appliquent dans {allOfKibanaText} et sont enregistrées automatiquement.", "telemetry.callout.appliesSettingTitle.allOfKibanaText": "tout Kibana", "telemetry.callout.clusterStatisticsDescription": "Voici un exemple des statistiques de cluster de base que nous collecterons. Cela comprend le nombre d'index, de partitions et de nœuds. Cela comprend également des statistiques d'utilisation de niveau élevé, comme l'état d'activation du monitoring.", @@ -7345,12 +8093,12 @@ "timelion.help.functions.fitHelpText": "Remplit les valeurs nulles à l'aide d'une fonction fit définie.", "timelion.help.functions.hide.args.hideHelpText": "Masquer ou afficher les séries", "timelion.help.functions.hideHelpText": "Masquer les séries par défaut", - "timelion.help.functions.holt.args.alphaHelpText": "\n Pondération de lissage de 0 à 1.\n Augmentez l’alpha pour que la nouvelle série suive de plus près l'originale.\n Diminuez-le pour rendre la série plus lisse.", - "timelion.help.functions.holt.args.betaHelpText": "\n Pondération de tendance de 0 à 1.\n Augmentez le bêta pour que les lignes montantes/descendantes continuent à monter/descendre plus longtemps.\n Diminuez-le pour que la fonction apprenne plus rapidement la nouvelle tendance.", - "timelion.help.functions.holt.args.gammaHelpText": "\n Pondération saisonnière de 0 à 1. Vos données ressemblent-elles à une vague ?\n Augmentez cette valeur pour donner plus d'importance aux saisons récentes et ainsi modifier plus rapidement la forme de la vague.\n Diminuez-la pour réduire l'importance des nouvelles saisons et ainsi rendre l'historique plus important.\n ", - "timelion.help.functions.holt.args.sampleHelpText": "\n Le nombre de saisons à échantillonner avant de commencer à \"prédire\" dans une série saisonnière.\n (Utile uniquement avec gamma, par défaut : all)", + "timelion.help.functions.holt.args.alphaHelpText": "Pondération de lissage de 0 à 1. Augmentez l’alpha pour que la nouvelle série suive de plus près l'originale. Diminuez-le pour rendre la série plus lisse.", + "timelion.help.functions.holt.args.betaHelpText": "Pondération de tendance de 0 à 1. Augmentez le bêta pour que les lignes montantes/descendantes continuent à monter/descendre plus longtemps. Diminuez-le pour que la fonction apprenne plus rapidement la nouvelle tendance.", + "timelion.help.functions.holt.args.gammaHelpText": "Pondération saisonnière de 0 à 1. Vos données ressemblent-elles à une vague ? Augmentez cette valeur pour donner plus d'importance aux saisons récentes et ainsi modifier plus rapidement la forme de la vague. Diminuez-la pour réduire l'importance des nouvelles saisons et ainsi rendre l'historique plus important.", + "timelion.help.functions.holt.args.sampleHelpText": "Le nombre de saisons à échantillonner avant de commencer à \"prédire\" dans une série saisonnière. (Utile uniquement avec gamma, par défaut : all)", "timelion.help.functions.holt.args.seasonHelpText": "La longueur de la saison, par ex. 1w, si votre modèle se répète chaque semaine. (Utile uniquement avec gamma)", - "timelion.help.functions.holtHelpText": "\n Échantillonner le début d'une série et l'utiliser pour prévoir ce qui devrait se produire\n via plusieurs paramètres facultatifs. En règle générale, cela ne prédit pas\n l'avenir, mais ce qui devrait se produire maintenant en fonction des données passées,\n ce qui peut être utile pour la détection des anomalies. Notez que les valeurs null seront remplacées par des valeurs prévues.", + "timelion.help.functions.holtHelpText": "Échantillonner le début d'une série et l'utiliser pour prévoir ce qui devrait se produire via plusieurs paramètres facultatifs. En règle générale, cela ne prédit pas l'avenir, mais ce qui devrait se produire maintenant en fonction des données passées, ce qui peut être utile pour la détection des anomalies. Notez que les valeurs null seront remplacées par des valeurs prévues.", "timelion.help.functions.label.args.labelHelpText": "Valeur de légende pour les séries. Vous pouvez utiliser $1, $2, etc. dans la chaîne pour correspondre aux groupes de captures d'expressions régulières.", "timelion.help.functions.label.args.regexHelpText": "Une expression régulière compatible avec les groupes de captures", "timelion.help.functions.labelHelpText": "Modifiez l'étiquette des séries. Utiliser %s pour référencer l'étiquette existante", @@ -7417,10 +8165,10 @@ "timelion.help.functions.trim.args.startHelpText": "Compartiments à retirer du début de la série. Par défaut : 1", "timelion.help.functions.trimHelpText": "Définir N compartiments au début ou à la fin de la série sur null pour ajuster le \"problème de compartiment partiel\"", "timelion.help.functions.worldbank.args.codeHelpText": "Chemin de l'API Worldbank (Banque mondiale). Il s'agit généralement de tout ce qui suit le domaine, avant la chaîne de requête. Par exemple : {apiPathExample}.", - "timelion.help.functions.worldbankHelpText": "\n [expérimental]\n Extrayez des données de {worldbankUrl} à l'aide du chemin d’accès aux séries.\n La Banque mondiale fournit surtout des données annuelles et n'a souvent aucune donnée pour l'année en cours.\n Essayez {offsetQuery} si vous n’obtenez pas de données pour les plages temporelles récentes.", + "timelion.help.functions.worldbankHelpText": "[expérimental] Extrayez des données de {worldbankUrl} à l'aide du chemin d’accès aux séries. La Banque mondiale fournit surtout des données annuelles et n'a souvent aucune donnée pour l'année en cours. Essayez {offsetQuery} si vous n’obtenez pas de données pour les plages temporelles récentes.", "timelion.help.functions.worldbankIndicators.args.countryHelpText": "Identifiant de pays de la Banque mondiale. Généralement le code à 2 caractères du pays.", "timelion.help.functions.worldbankIndicators.args.indicatorHelpText": "Le code d'indicateur à utiliser. Vous devrez le rechercher sur {worldbankUrl}. Souvent très complexe. Par exemple, {indicatorExample} correspond à la population.", - "timelion.help.functions.worldbankIndicatorsHelpText": "\n [expérimental]\n Extrayez des données de {worldbankUrl} à l'aide du nom et de l'indicateur du pays. La Banque mondiale fournit\n surtout des données annuelles et n'a souvent aucune donnée pour l'année en cours. Essayez {offsetQuery} si vous n’obtenez pas de données pour\n les plages temporelles récentes.", + "timelion.help.functions.worldbankIndicatorsHelpText": "[expérimental] Extrayez des données de {worldbankUrl} à l'aide du nom et de l'indicateur du pays. La Banque mondiale fournit surtout des données annuelles et n'a souvent aucune donnée pour l'année en cours. Essayez {offsetQuery} si vous n’obtenez pas de données pour les plages temporelles récentes.", "timelion.help.functions.yaxis.args.colorHelpText": "Couleur de l'étiquette de l'axe", "timelion.help.functions.yaxis.args.labelHelpText": "Étiquette de l'axe", "timelion.help.functions.yaxis.args.maxHelpText": "Valeur max.", @@ -7475,6 +8223,9 @@ "timelion.vis.invalidIntervalErrorMessage": "Format d'intervalle non valide.", "timelion.vis.selectIntervalHelpText": "Choisissez une option ou créez une valeur personnalisée. Exemples : 30s, 20m, 24h, 2d, 1w, 1M", "timelion.vis.selectIntervalPlaceholder": "Choisir un intervalle", + "tryInConsole.button.text": "Exécuter dans la console", + "tryInConsole.embeddedConsoleButton.ariaLabel": "Exécuter dans la console - s'ouvre dans la console intégrée", + "tryInConsole.inNewTab.button.ariaLabel": "Exécuter dans la console - s'ouvre dans un nouvel onglet", "uiActions.actionPanel.more": "Plus", "uiActions.actionPanel.title": "Options", "uiActions.errors.incompatibleAction": "Action non compatible", @@ -7559,9 +8310,11 @@ "uiActionsEnhanced.drilldowns.urlDrilldownCollectConfig.urlTemplateVariablesHelpLinkText": "Aide", "uiActionsEnhanced.drilldowns.urlDrilldownValidation.urlFormatErrorMessage": "Format non valide : {message}", "uiActionsEnhanced.drilldowns.urlDrilldownValidation.urlFormatGeneralErrorMessage": "Format non valide. Exemple : {exampleUrl}", + "unifiedDataTable.additionalActionsColumnHeader": "Colonne d'actions supplémentaires", "unifiedDataTable.advancedDiffModesTooltip": "Les modes avancés offrent des capacités de diffraction améliorées, mais ils fonctionnent sur des documents bruts et ne prennent donc pas en charge le formatage des champs.", "unifiedDataTable.clearSelection": "Effacer la sélection", - "unifiedDataTable.compareSelectedRowsButtonLabel": "Comparer", + "unifiedDataTable.compareSelectedRowsButtonDisabledTooltip": "La comparaison est limitée à {limit} lignes", + "unifiedDataTable.compareSelectedRowsButtonLabel": "Comparer les éléments sélectionnés", "unifiedDataTable.comparingDocuments": "Comparaison de {documentCount} documents", "unifiedDataTable.comparingResults": "Comparaison de {documentCount} résultats", "unifiedDataTable.comparisonColumnPinnedTooltip": "Document épinglé : {documentId}", @@ -7574,10 +8327,15 @@ "unifiedDataTable.controlColumnHeader": "Colonne de commande", "unifiedDataTable.copyColumnNameToClipboard.toastTitle": "Copié dans le presse-papiers", "unifiedDataTable.copyColumnValuesToClipboard.toastTitle": "Valeurs de la colonne \"{column}\" copiées dans le presse-papiers", + "unifiedDataTable.copyDocsToClipboardJSON": "Copier des documents au format JSON", "unifiedDataTable.copyEscapedValueWithFormulasToClipboardWarningText": "Les valeurs peuvent contenir des formules avec échappement.", "unifiedDataTable.copyFailedErrorText": "Impossible de copier dans le presse-papiers avec ce navigateur", - "unifiedDataTable.copyResultsToClipboardJSON": "Copier les résultats dans le presse-papiers (JSON)", + "unifiedDataTable.copyResultsToClipboardJSON": "Copier les résultats au format JSON", + "unifiedDataTable.copyRowsAsJsonToClipboard.toastTitle": "Copié dans le presse-papiers", + "unifiedDataTable.copyRowsAsTextToClipboard.toastTitle": "Copié dans le presse-papiers", + "unifiedDataTable.copySelectionToClipboard": "Copier la sélection en tant que texte", "unifiedDataTable.copyValueToClipboard.toastTitle": "Copié dans le presse-papiers", + "unifiedDataTable.deselectAllRowsOnPageColumnHeader": "Désélectionner toutes les lignes visibles", "unifiedDataTable.diffModeChars": "Par caractère", "unifiedDataTable.diffModeFullValue": "Valeur totale", "unifiedDataTable.diffModeLines": "Par ligne", @@ -7588,17 +8346,20 @@ "unifiedDataTable.enableShowDiff": "Vous devez activer l'option Afficher les différences", "unifiedDataTable.exitDocumentComparison": "Quitter le mode comparaison", "unifiedDataTable.fieldColumnTitle": "Champ", + "unifiedDataTable.grid.additionalRowActions": "Actions supplémentaires", "unifiedDataTable.grid.closePopover": "Fermer la fenêtre contextuelle", "unifiedDataTable.grid.copyCellValueButton": "Copier la valeur", "unifiedDataTable.grid.copyClipboardButtonTitle": "Copier la valeur de {column}", "unifiedDataTable.grid.copyColumnNameToClipBoardButton": "Copier le nom", "unifiedDataTable.grid.copyColumnValuesToClipBoardButton": "Copier la colonne", - "unifiedDataTable.grid.documentHeader": "Document", + "unifiedDataTable.grid.documentHeader": "Résumé", "unifiedDataTable.grid.editFieldButton": "Modifier le champ de la vue de données", + "unifiedDataTable.grid.esqlMultivalueFilteringDisabled": "Le filtrage multivalué n'est pas pris en charge dans ES|QL", "unifiedDataTable.grid.filterFor": "Filtrer sur", "unifiedDataTable.grid.filterForAria": "Filtrer sur cette {value}", "unifiedDataTable.grid.filterOut": "Exclure", "unifiedDataTable.grid.filterOutAria": "Exclure cette {value}", + "unifiedDataTable.grid.resetColumnWidthButton": "Réinitialiser la largeur", "unifiedDataTable.grid.selectDoc": "Sélectionner le document \"{rowNumber}\"", "unifiedDataTable.grid.viewDoc": "Afficher/Masquer les détails de la boîte de dialogue", "unifiedDataTable.gridSampleSize.fetchMoreLinkDisabledTooltip": "Pour charger plus, l'intervalle d'actualisation doit d'abord être désactivé", @@ -7620,6 +8381,8 @@ "unifiedDataTable.sampleSizeSettings.sampleSizeLabel": "Taille de l'échantillon", "unifiedDataTable.searchGenerationWithDescription": "Tableau généré par la recherche {searchTitle}", "unifiedDataTable.searchGenerationWithDescriptionGrid": "Tableau généré par la recherche {searchTitle} ({searchDescription})", + "unifiedDataTable.selectAllDocs": "Tout sélectionner ({rowsCount})", + "unifiedDataTable.selectAllRowsOnPageColumnHeader": "Sélectionner toutes les lignes visibles", "unifiedDataTable.selectColumnHeader": "Sélectionner la colonne", "unifiedDataTable.selectedResultsButtonLabel": "Sélectionné", "unifiedDataTable.selectedRowsButtonLabel": "Sélectionné", @@ -7636,9 +8399,15 @@ "unifiedDataTable.showSelectedResultsOnly": "Afficher uniquement les résultats sélectionnés", "unifiedDataTable.tableHeader.timeFieldIconTooltip": "Ce champ représente l'heure à laquelle les événements se sont produits.", "unifiedDataTable.tableHeader.timeFieldIconTooltipAriaLabel": "{timeFieldName} : ce champ représente l'heure à laquelle les événements se sont produits.", + "unifiedDocViewer.docView.logsOverview.accordion.qualityIssues.table.datasetQualityLinkTitle": "Détails de l’ensemble de données", + "unifiedDocViewer.docView.logsOverview.accordion.qualityIssues.table.field": "Problème", + "unifiedDocViewer.docView.logsOverview.accordion.qualityIssues.table.textIgnored": "champ ignoré", + "unifiedDocViewer.docView.logsOverview.accordion.qualityIssues.table.values": "Valeurs", "unifiedDocViewer.docView.logsOverview.accordion.title.cloud": "Cloud", "unifiedDocViewer.docView.logsOverview.accordion.title.other": "Autre", + "unifiedDocViewer.docView.logsOverview.accordion.title.qualityIssues": "Problèmes de qualité", "unifiedDocViewer.docView.logsOverview.accordion.title.serviceInfra": "Service et Infrastructure", + "unifiedDocViewer.docView.logsOverview.accordion.title.techPreview": "PRÉVERSION TECHNIQUE", "unifiedDocViewer.docView.logsOverview.label.cloudAvailabilityZone": "Zone de disponibilité du cloud", "unifiedDocViewer.docView.logsOverview.label.cloudInstanceId": "ID d'instance du cloud", "unifiedDocViewer.docView.logsOverview.label.cloudProjectId": "ID de projet du cloud", @@ -7661,8 +8430,9 @@ "unifiedDocViewer.docView.table.ignored.singleAboveTooltip": "La valeur dans ce champ est trop longue et ne peut pas être recherchée ni filtrée.", "unifiedDocViewer.docView.table.ignored.singleMalformedTooltip": "La valeur dans ce champ est mal formée et ne peut pas être recherchée ni filtrée.", "unifiedDocViewer.docView.table.ignored.singleUnknownTooltip": "La valeur dans ce champ a été ignorée par Elasticsearch et ne peut pas être recherchée ni filtrée.", - "unifiedDocViewer.docView.table.searchPlaceHolder": "Rechercher les noms de champs", + "unifiedDocViewer.docView.table.searchPlaceHolder": "Rechercher des noms ou valeurs de champs", "unifiedDocViewer.docViews.json.jsonTitle": "JSON", + "unifiedDocViewer.docViews.table.esqlMultivalueFilteringDisabled": "Le filtrage multivalué n'est pas pris en charge dans ES|QL", "unifiedDocViewer.docViews.table.filterForFieldPresentButtonAriaLabel": "Filtrer sur le champ", "unifiedDocViewer.docViews.table.filterForFieldPresentButtonTooltip": "Filtrer sur le champ", "unifiedDocViewer.docViews.table.filterForValueButtonAriaLabel": "Filtrer sur la valeur", @@ -7683,6 +8453,8 @@ "unifiedDocViewer.docViews.table.unindexedFieldsCanNotBeSearchedTooltip": "Les champs non indexés ou les valeurs ignorées ne peuvent pas être recherchés", "unifiedDocViewer.docViews.table.unindexedFieldsCanNotBeSearchedWarningMessage": "Il est impossible d’effectuer une recherche sur des champs non indexés", "unifiedDocViewer.docViews.table.unpinFieldLabel": "Désépingler le champ", + "unifiedDocViewer.docViews.table.viewLessButton": "Afficher moins", + "unifiedDocViewer.docViews.table.viewMoreButton": "Voir plus", "unifiedDocViewer.fieldActions.copyToClipboard": "Copier dans le presse-papiers", "unifiedDocViewer.fieldActions.filterForFieldPresent": "Filtrer sur le champ", "unifiedDocViewer.fieldActions.filterForValue": "Filtrer sur la valeur", @@ -7694,15 +8466,19 @@ "unifiedDocViewer.fieldChooser.discoverField.name": "Champ", "unifiedDocViewer.fieldChooser.discoverField.value": "Valeur", "unifiedDocViewer.fieldsTable.ariaLabel": "Valeurs des champs", + "unifiedDocViewer.fieldsTable.pinControlColumnHeader": "Épingler la colonne Champ", "unifiedDocViewer.flyout.closeButtonLabel": "Fermer", "unifiedDocViewer.flyout.documentNavigation": "Navigation dans le document", "unifiedDocViewer.flyout.docViewerDetailHeading": "Document", "unifiedDocViewer.flyout.docViewerEsqlDetailHeading": "Résultat", + "unifiedDocViewer.flyout.screenReaderDescription": "Vous êtes dans une boîte de dialogue non modale. Pour fermer la boîte de dialogue, appuyez sur Échap.", "unifiedDocViewer.flyout.toastColumnAdded": "La colonne \"{columnName}\" a été ajoutée", "unifiedDocViewer.flyout.toastColumnRemoved": "La colonne \"{columnName}\" a été supprimée", + "unifiedDocViewer.hideNullValues.switchLabel": "Masquer les champs nuls", "unifiedDocViewer.json.codeEditorAriaLabel": "Affichage JSON en lecture seule d’un document Elasticsearch", "unifiedDocViewer.json.copyToClipboardLabel": "Copier dans le presse-papiers", "unifiedDocViewer.loadingJSON": "Chargement de JSON", + "unifiedDocViewer.showOnlySelectedFields.switchLabel": "Éléments sélectionnés uniquement", "unifiedDocViewer.sourceViewer.errorMessage": "Impossible de récupérer les données pour le moment. Actualisez l'onglet et réessayez.", "unifiedDocViewer.sourceViewer.errorMessageTitle": "Une erreur s'est produite.", "unifiedDocViewer.sourceViewer.refresh": "Actualiser", @@ -7776,7 +8552,7 @@ "unifiedFieldList.useGroupedFields.emptyFieldsLabel": "Champs vides", "unifiedFieldList.useGroupedFields.emptyFieldsLabelHelp": "Champs ne possédant aucune des valeurs spécifiées dans vos filtres.", "unifiedFieldList.useGroupedFields.metaFieldsLabel": "Champs méta", - "unifiedFieldList.useGroupedFields.noAvailableDataLabel": "Aucun champ disponible ne contient de données.", + "unifiedFieldList.useGroupedFields.noAvailableDataLabel": "Aucun champ disponible contenant des données.", "unifiedFieldList.useGroupedFields.noEmptyDataLabel": "Aucun champ vide.", "unifiedFieldList.useGroupedFields.noMetaDataLabel": "Aucun champ méta.", "unifiedFieldList.useGroupedFields.popularFieldsLabel": "Champs populaires", @@ -7837,7 +8613,7 @@ "unifiedSearch.filter.filterBar.invalidDateFormatProvidedErrorMessage": "Format de date non valide fourni", "unifiedSearch.filter.filterBar.labelWarningInfo": "Le champ {fieldName} n'existe pas dans la vue en cours.", "unifiedSearch.filter.filterBar.labelWarningText": "Avertissement", - "unifiedSearch.filter.filterBar.negatedFilterPrefix": "NON ", + "unifiedSearch.filter.filterBar.negatedFilterPrefix": "NON", "unifiedSearch.filter.filterBar.pinFilterButtonLabel": "Épingler dans toutes les applications", "unifiedSearch.filter.filterBar.pinnedFilterPrefix": "Épinglé", "unifiedSearch.filter.filterBar.preview": "Aperçu {icon}", @@ -7930,9 +8706,15 @@ "unifiedSearch.optionsList.popover.sortOrder.desc": "Décroissant", "unifiedSearch.query.queryBar.clearInputLabel": "Effacer l'entrée", "unifiedSearch.query.queryBar.comboboxAriaLabel": "Rechercher et filtrer la page {pageType}", + "unifiedSearch.query.queryBar.esqlMenu.documentation": "Documentation", + "unifiedSearch.query.queryBar.esqlMenu.exampleQueries": "Requêtes recommandées", + "unifiedSearch.query.queryBar.esqlMenu.feedback": "Soumettre un commentaire", + "unifiedSearch.query.queryBar.esqlMenu.label": "Aide sur ES|QL", + "unifiedSearch.query.queryBar.esqlMenu.quickReference": "Référence rapide", + "unifiedSearch.query.queryBar.esqlMenu.switcherLabelTitle": "Vue de données", "unifiedSearch.query.queryBar.indexPattern.addFieldButton": "Ajouter un champ à cette vue de données", "unifiedSearch.query.queryBar.indexPattern.addNewDataView": "Créer une vue de données", - "unifiedSearch.query.queryBar.indexPattern.createForMatchingIndices": "Explorer {indicesLength, plural,\n one {# index correspondant}\n other {# index correspondants}}", + "unifiedSearch.query.queryBar.indexPattern.createForMatchingIndices": "Explorer {indicesLength, plural, one {# index correspondant} other {# index correspondants}}", "unifiedSearch.query.queryBar.indexPattern.dataViewsLabel": "Vues de données", "unifiedSearch.query.queryBar.indexPattern.findDataView": "Rechercher une vue de données", "unifiedSearch.query.queryBar.indexPattern.findFilterSet": "Trouver une requête", @@ -8320,7 +9102,7 @@ "visTypeTable.function.args.splitColumnHelpText": "Diviser par la configuration des dimensions de colonne", "visTypeTable.function.args.splitRowHelpText": "Diviser par la configuration des dimensions de ligne", "visTypeTable.function.args.titleHelpText": "Titre de la visualisation. Le titre est utilisé comme nom de fichier par défaut pour l'exportation CSV.", - "visTypeTable.function.args.totalFuncHelpText": "Spécifie la fonction de calcul du nombre total de lignes. Les options possibles sont : ", + "visTypeTable.function.args.totalFuncHelpText": "Spécifie la fonction de calcul du nombre total de lignes. Les options possibles sont :", "visTypeTable.function.dimension.metrics": "Indicateurs", "visTypeTable.function.dimension.splitColumn": "Diviser par colonne", "visTypeTable.function.dimension.splitRow": "Diviser par ligne", @@ -8980,7 +9762,7 @@ "visTypeVega.vegaParser.dataExceedsSomeParamsUseTimesLimitErrorMessage": "Les données ne doivent pas avoir plus d'un paramètre {urlParam}, {valuesParam} et {sourceParam}", "visTypeVega.vegaParser.hostConfigIsDeprecatedWarningMessage": "{deprecatedConfigName} a été déclassé. Utilisez {newConfigName} à la place.", "visTypeVega.vegaParser.hostConfigValueTypeErrorMessage": "S'il est présent, le paramètre {configName} doit être un objet", - "visTypeVega.vegaParser.inputSpecDoesNotSpecifySchemaErrorMessage": "Vos spécifications requièrent un champ {schemaParam} avec une URL valide pour\nVega (voir {vegaSchemaUrl}) ou\nVega-Lite (voir {vegaLiteSchemaUrl}).\nL'URL est uniquement un identificateur. Kibana et votre navigateur n'accéderont jamais à cette URL.", + "visTypeVega.vegaParser.inputSpecDoesNotSpecifySchemaErrorMessage": "Vos spécifications requièrent un champ {schemaParam} avec une URL valide pour Vega (voir {vegaSchemaUrl}) ou Vega-Lite (voir {vegaLiteSchemaUrl}). L'URL est uniquement un identificateur. Kibana et votre navigateur n'accéderont jamais à cette URL.", "visTypeVega.vegaParser.invalidVegaSpecErrorMessage": "Spécification Vega non valide", "visTypeVega.vegaParser.kibanaConfigValueTypeErrorMessage": "S'il est présent, le paramètre {configName} doit être un objet", "visTypeVega.vegaParser.maxBoundsValueTypeWarningMessage": "{maxBoundsConfigName} doit être un tableau avec quatre nombres", @@ -9145,7 +9927,7 @@ "visualizations.confirmModal.saveDuplicateConfirmationMessage": "L'enregistrement de \"{name}\" crée un doublon de titre. Voulez-vous tout de même enregistrer ?", "visualizations.confirmModal.saveDuplicateConfirmationTitle": "Cette visualisation existe déjà", "visualizations.confirmModal.title": "Modifications non enregistrées", - "visualizations.controls.notificationMessage": "Les contrôles d'entrée sont déclassés et seront supprimés dans une prochaine version. Utilisez les nouveaux contrôles pour filtrer les données de votre tableau de bord et interagir avec elles. ", + "visualizations.controls.notificationMessage": "Les contrôles d'entrée sont déclassés et seront supprimés dans une prochaine version. Utilisez les nouveaux contrôles pour filtrer les données de votre tableau de bord et interagir avec elles.", "visualizations.createVisualization.failedToLoadErrorMessage": "Impossible de charger la visualisation", "visualizations.createVisualization.noIndexPatternOrSavedSearchIdErrorMessage": "Vous devez fournir un indexPattern ou un savedSearchId", "visualizations.createVisualization.noVisTypeErrorMessage": "Vous devez fournir un type de visualisation valide", @@ -9155,6 +9937,7 @@ "visualizations.editor.createBreadcrumb": "Créer", "visualizations.editor.defaultEditBreadcrumbText": "Modifier la visualisation", "visualizations.editVisualization.readOnlyErrorMessage": "Les visualisations {visTypeTitle} sont en lecture seule et ne peuvent pas être ouvertes dans l'éditeur", + "visualizations.embeddable.errorTitle": "Impossible de charger la visualisation", "visualizations.embeddable.inspectorTitle": "Inspecteur", "visualizations.embeddable.legacyURLConflict.errorMessage": "Cette visualisation a la même URL qu'un alias hérité. Désactiver l'alias pour résoudre cette erreur : {json}", "visualizations.embeddable.placeholderTitle": "Titre de l'espace réservé", @@ -9267,6 +10050,7 @@ "visualizations.visualizeListingDashboardAppName": "Application Tableau de bord", "visualizations.visualizeListingDeleteErrorTitle": "Erreur lors de la suppression de la visualisation", "visualizations.visualizeListingDeleteErrorTitle.duplicateWarning": "L'enregistrement de \"{value}\" crée un doublon de titre.", + "visualizations.visualizeSavedObjectName": "Visualisation", "visualizationUiComponents.colorPicker.seriesColor.label": "Couleur de la série", "visualizationUiComponents.colorPicker.tooltip.auto": "Lens choisit automatiquement des couleurs à votre place sauf si vous spécifiez une couleur personnalisée.", "visualizationUiComponents.colorPicker.tooltip.custom": "Effacez la couleur personnalisée pour revenir au mode \"Auto\".", @@ -9325,8 +10109,9 @@ "xpack.actions.availableConnectorFeatures.compatibility.alertingRules": "Règles d'alerting", "xpack.actions.availableConnectorFeatures.compatibility.cases": "Cas", "xpack.actions.availableConnectorFeatures.compatibility.generativeAIForObservability": "IA générative pour l'observabilité", - "xpack.actions.availableConnectorFeatures.compatibility.generativeAIForSearchPlayground": "L'IA générative pour Search Playground", + "xpack.actions.availableConnectorFeatures.compatibility.generativeAIForSearchPlayground": "IA générative pour Search", "xpack.actions.availableConnectorFeatures.compatibility.generativeAIForSecurity": "IA générative pour la sécurité", + "xpack.actions.availableConnectorFeatures.compatibility.securitySolution": "Solution de sécurité", "xpack.actions.availableConnectorFeatures.securitySolution": "Solution de sécurité", "xpack.actions.availableConnectorFeatures.uptime": "Uptime", "xpack.actions.builtin.cases.jiraTitle": "Jira", @@ -9346,9 +10131,10 @@ "xpack.actions.serverSideErrors.unavailableLicenseInformationErrorMessage": "Les actions sont indisponibles - les informations de licence ne sont pas disponibles actuellement.", "xpack.actions.subActionsFramework.urlValidationError": "Erreur lors de la validation de l'URL : {message}", "xpack.actions.urlAllowedHostsConfigurationError": "Le {field} cible \"{value}\" n'est pas ajouté à la configuration Kibana xpack.actions.allowedHosts", + "xpack.aiAssistant.aiAssistantLabel": "Assistant d'intelligence artificielle", "xpack.aiAssistant.askAssistantButton.buttonLabel": "Demander à l'assistant", "xpack.aiAssistant.askAssistantButton.popoverContent": "Obtenez des informations relatives à vos données grâce à l'assistant d'Elastic", - "xpack.aiAssistant.assistantSetup.title": "Bienvenue sur l'assistant d'intelligence artificielle d'Elastic", + "xpack.aiAssistant.assistantSetup.title": "Bienvenue sur Elastic AI Assistant", "xpack.aiAssistant.chatActionsMenu.euiButtonIcon.menuLabel": "Menu", "xpack.aiAssistant.chatActionsMenu.euiToolTip.moreActionsLabel": "Plus d'actions", "xpack.aiAssistant.chatCollapsedItems.hideEvents": "Masquer {count} événements", @@ -9356,6 +10142,7 @@ "xpack.aiAssistant.chatCollapsedItems.toggleButtonLabel": "Afficher/masquer les éléments", "xpack.aiAssistant.chatFlyout.euiButtonIcon.expandConversationListLabel": "Développer la liste des conversations", "xpack.aiAssistant.chatFlyout.euiButtonIcon.newChatLabel": "Nouveau chat", + "xpack.aiAssistant.chatFlyout.euiFlyoutResizable.aiAssistantLabel": "Menu volant Chat de l'assistant d'IA", "xpack.aiAssistant.chatFlyout.euiToolTip.collapseConversationListLabel": "Réduire la liste des conversations", "xpack.aiAssistant.chatFlyout.euiToolTip.expandConversationListLabel": "Développer la liste des conversations", "xpack.aiAssistant.chatFlyout.euiToolTip.newChatLabel": "Nouveau chat", @@ -9380,6 +10167,10 @@ "xpack.aiAssistant.chatTimeline.messages.system.label": "Système", "xpack.aiAssistant.chatTimeline.messages.user.label": "Vous", "xpack.aiAssistant.checkingKbAvailability": "Vérification de la disponibilité de la base de connaissances", + "xpack.aiAssistant.conversationList.deleteConversationIconLabel": "Supprimer", + "xpack.aiAssistant.conversationList.errorMessage": "Échec de chargement", + "xpack.aiAssistant.conversationList.noConversations": "Aucune conversation", + "xpack.aiAssistant.conversationList.title": "Précédemment", "xpack.aiAssistant.conversationStartTitle": "a démarré une conversation", "xpack.aiAssistant.couldNotFindConversationContent": "Impossible de trouver une conversation avec l'ID {conversationId}. Assurez-vous que la conversation existe et que vous y avez accès.", "xpack.aiAssistant.couldNotFindConversationTitle": "Conversation introuvable", @@ -9419,7 +10210,7 @@ "xpack.aiAssistant.technicalPreviewBadgeDescription": "GTP4 est nécessaire pour bénéficier d'une meilleure expérience avec les appels de fonctions (par exemple lors de la réalisation d'analyse de la cause d'un problème, de la visualisation de données et autres). GPT3.5 peut fonctionner pour certains des workflows les plus simples comme les explications d'erreurs ou pour bénéficier d'une expérience comparable à ChatGPT au sein de Kibana à partir du moment où les appels de fonctions ne sont pas fréquents.", "xpack.aiAssistant.userExecutedFunctionEvent": "a exécuté la fonction {functionName}", "xpack.aiAssistant.userSuggestedFunctionEvent": "a demandé la fonction {functionName}", - "xpack.aiAssistant.welcomeMessage.div.checkTrainedModelsToLabel": " {retryInstallingLink} ou vérifiez {trainedModelsLink} pour vous assurer que {modelName} est déployé et en cours d'exécution.", + "xpack.aiAssistant.welcomeMessage.div.checkTrainedModelsToLabel": "{retryInstallingLink} ou vérifiez {trainedModelsLink} pour vous assurer que {modelName} est déployé et en cours d'exécution.", "xpack.aiAssistant.welcomeMessage.div.settingUpKnowledgeBaseLabel": "Configuration de la base de connaissances", "xpack.aiAssistant.welcomeMessage.inspectErrorsButtonEmptyLabel": "Inspecter les problèmes", "xpack.aiAssistant.welcomeMessage.issuesDescriptionListTitleLabel": "Problèmes", @@ -9435,9 +10226,19 @@ "xpack.aiAssistant.welcomeMessageKnowledgeBase.yourKnowledgeBaseIsNotSetUpCorrectlyLabel": "Votre base de connaissances n'a pas été configurée.", "xpack.aiAssistant.welcomeMessageKnowledgeBaseSetupErrorPanel.retryInstallingLinkLabel": "Réessayer l'installation", "xpack.aiops.actions.openChangePointInMlAppName": "Ouvrir dans AIOps Labs", + "xpack.aiops.analysis.analysisTypeDipFallbackInfoTitle": "Meilleurs éléments pour la plage temporelle de référence de base", + "xpack.aiops.analysis.analysisTypeDipInfoContent": "Le taux de log médian pour la plage temporelle d'écart-type sélectionnée est inférieur à la référence de base. Le tableau des résultats de l'analyse présente donc des éléments statistiquement significatifs inclus dans la plage temporelle de base qui sont moins nombreux ou manquant dans la plage temporelle d'écart-type. La colonne \"doc count\" (décompte de documents) renvoie à la quantité de documents dans la plage temporelle de base.", + "xpack.aiops.analysis.analysisTypeDipInfoContentFallback": "La plage temporelle de déviation ne contient aucun document. Les résultats montrent donc les catégories de message des meilleurs logs et les valeurs des champs pour la période de référence.", + "xpack.aiops.analysis.analysisTypeDipInfoTitle": "Baisse du taux de log", + "xpack.aiops.analysis.analysisTypeInfoTitlePrefix": "Type d'analyse :", + "xpack.aiops.analysis.analysisTypeSpikeFallbackInfoTitle": "Meilleurs éléments pour la plage temporelle de déviation", + "xpack.aiops.analysis.analysisTypeSpikeInfoContent": "Le taux de log médian pour la plage temporelle d'écart-type sélectionnée est inférieur à la référence de base. Le tableau des résultats de l'analyse présente donc des éléments statistiquement significatifs inclus dans la plage temporelle d'écart-type, qui contribuent au pic. La colonne \"doc count\" (décompte de documents) renvoie à la quantité de documents dans la plage temporelle d'écart-type.", + "xpack.aiops.analysis.analysisTypeSpikeInfoContentFallback": "La plage temporelle de référence de base ne contient aucun document. Les résultats montrent donc les catégories de message des meilleurs logs et les valeurs des champs pour la plage temporelle de déviation.", + "xpack.aiops.analysis.analysisTypeSpikeInfoTitle": "Pic du taux de log", "xpack.aiops.analysis.columnSelectorAriaLabel": "Filtrer les colonnes", "xpack.aiops.analysis.columnSelectorNotEnoughColumnsSelected": "Au moins une colonne doit être sélectionnée.", "xpack.aiops.analysis.errorCallOutTitle": "Génération {errorCount, plural, one {de l'erreur suivante} other {des erreurs suivantes}} au cours de l'analyse.", + "xpack.aiops.analysis.fieldsButtonLabel": "Champs", "xpack.aiops.analysis.fieldSelectorNotEnoughFieldsSelected": "Le regroupement nécessite la sélection d'au moins 2 champs.", "xpack.aiops.analysis.fieldSelectorPlaceholder": "Recherche", "xpack.aiops.analysisCompleteLabel": "Analyse terminée", @@ -9451,7 +10252,7 @@ "xpack.aiops.changePointDetection.actions.filterOutValueAction": "Exclure la valeur", "xpack.aiops.changePointDetection.actionsColumn": "Actions", "xpack.aiops.changePointDetection.addButtonLabel": "Ajouter", - "xpack.aiops.changePointDetection.aggregationIntervalTitle": "Intervalle d'agrégation : ", + "xpack.aiops.changePointDetection.aggregationIntervalTitle": "Intervalle d'agrégation :", "xpack.aiops.changePointDetection.applyTimeRangeLabel": "Appliquer la plage temporelle", "xpack.aiops.changePointDetection.attachChartsLabel": "Attacher les graphiques", "xpack.aiops.changePointDetection.attachmentTitle": "Point de modification : {function}({metric}){splitBy}", @@ -9497,7 +10298,7 @@ "xpack.aiops.changePointDetection.selectMetricFieldLabel": "Champ d'indicateur", "xpack.aiops.changePointDetection.selectSpitFieldLabel": "Diviser le champ", "xpack.aiops.changePointDetection.spikeDescription": "Un pic significatif existe au niveau de ce point.", - "xpack.aiops.changePointDetection.splitByTitle": " diviser par \"{splitField}\"", + "xpack.aiops.changePointDetection.splitByTitle": "diviser par \"{splitField}\"", "xpack.aiops.changePointDetection.stepChangeDescription": "La modification indique une hausse ou une baisse statistiquement significative dans la distribution des valeurs.", "xpack.aiops.changePointDetection.submitDashboardAttachButtonLabel": "Attacher", "xpack.aiops.changePointDetection.timeColumn": "Heure", @@ -9528,6 +10329,15 @@ "xpack.aiops.embeddableChangePointChart.viewTypeSelector.chartsLabel": "Graphiques", "xpack.aiops.embeddableChangePointChart.viewTypeSelector.tableLabel": "Tableau", "xpack.aiops.embeddableChangePointChartDisplayName": "Modifier la détection du point", + "xpack.aiops.embeddablePatternAnalysis.attachmentTitle": "Analyse du modèle : {fieldName}", + "xpack.aiops.embeddablePatternAnalysis.config.applyAndCloseLabel": "Appliquer et fermer", + "xpack.aiops.embeddablePatternAnalysis.config.applyFlyoutAriaLabel": "Appliquer les modifications", + "xpack.aiops.embeddablePatternAnalysis.config.cancelButtonLabel": "Annuler", + "xpack.aiops.embeddablePatternAnalysis.config.dataViewLabel": "Vue de données", + "xpack.aiops.embeddablePatternAnalysis.config.dataViewSelectorPlaceholder": "Sélectionner la vue de données", + "xpack.aiops.embeddablePatternAnalysis.config.title.edit": "Modifier l'analyse des modèles", + "xpack.aiops.embeddablePatternAnalysis.config.title.new": "Créer une analyse de modèle", + "xpack.aiops.embeddablePatternAnalysisDisplayName": "Analyse du modèle", "xpack.aiops.fieldContextPopover.descriptionTooltipContent": "Afficher les principales valeurs de champ", "xpack.aiops.fieldContextPopover.descriptionTooltipLogPattern": "La valeur du champ pour ce champ montre un exemple du modèle de champ de texte important identifié.", "xpack.aiops.fieldContextPopover.notTopTenValueMessage": "Le terme sélectionné n'est pas dans le top 10", @@ -9550,11 +10360,17 @@ "xpack.aiops.logCategorization.counts": "{count} {count, plural, one {Modèle trouvé} other {Modèles trouvés}}", "xpack.aiops.logCategorization.embeddableMenu.aria": "Options d'analyse de modèles", "xpack.aiops.logCategorization.embeddableMenu.minimumTimeRange.tooltip": "Ajoute une plage temporelle plus large à l’analyse afin d’améliorer la précision du modèle.", + "xpack.aiops.logCategorization.embeddableMenu.minimumTimeRangeOptionsRowAriaLabel": "Sélectionnez une plage temporelle minimale", "xpack.aiops.logCategorization.embeddableMenu.minimumTimeRangeOptionsRowLabel": "Plage temporelle minimale", - "xpack.aiops.logCategorization.embeddableMenu.patternAnalysisSettingsTitle": " Paramètres d’analyse du modèle", + "xpack.aiops.logCategorization.embeddableMenu.patternAnalysisSettingsTitle": "Paramètres d’analyse du modèle", "xpack.aiops.logCategorization.embeddableMenu.selectedFieldRowLabel": "Champ sélectionné", + "xpack.aiops.logCategorization.embeddableMenu.textFieldWarning.title": "La vue de données sélectionnée ne contient aucun champ de texte.", + "xpack.aiops.logCategorization.embeddableMenu.textFieldWarning.title.description": "L'analyse de modèle ne peut être exécutée que sur des vues de données comportant un champ de texte.", + "xpack.aiops.logCategorization.embeddableMenu.timeFieldWarning.title": "La vue de données sélectionnée ne contient pas de champ horaire.", + "xpack.aiops.logCategorization.embeddableMenu.timeFieldWarning.title.description": "L'analyse de modèle ne peut être exécutée que sur des vues de données avec un champ horaire.", "xpack.aiops.logCategorization.embeddableMenu.tooltip": "Options", "xpack.aiops.logCategorization.embeddableMenu.totalPatternsMessage": "Modèles totaux dans {minimumTimeRangeOption} : {categoryCount}", + "xpack.aiops.logCategorization.embeddableMenu.totalPatternsMessage2": "Aucun temps supplémentaire ne sera ajouté à la plage que vous avez spécifiée avec le sélecteur de temps.", "xpack.aiops.logCategorization.emptyPromptBody": "L'analyse de modèle de log regroupe les messages dans des modèles courants.", "xpack.aiops.logCategorization.emptyPromptTitle": "Sélectionner un champ de texte et cliquer sur exécuter l'analyse du modèle pour lancer l'analyse", "xpack.aiops.logCategorization.errorLoadingCategories": "Erreur lors du chargement des catégories", @@ -9567,6 +10383,11 @@ "xpack.aiops.logCategorization.filterOut": "Exclure {values, plural, one {modèle} other {modèles}} dans Discover", "xpack.aiops.logCategorization.flyout.filterIn": "Filtrer sur {values, plural, one {modèle} other {modèles}}", "xpack.aiops.logCategorization.flyout.filterOut": "Exclure {values, plural, one {modèle} other {modèles}}", + "xpack.aiops.logCategorization.minimumTimeRange.1month": "1 mois", + "xpack.aiops.logCategorization.minimumTimeRange.1week": "1 semaine", + "xpack.aiops.logCategorization.minimumTimeRange.3months": "3 mois", + "xpack.aiops.logCategorization.minimumTimeRange.6months": "6 mois", + "xpack.aiops.logCategorization.minimumTimeRange.noMin": "Utiliser la plage spécifiée dans le sélecteur de temps", "xpack.aiops.logCategorization.noCategoriesBody": "Assurez-vous que le champ sélectionné est rempli dans la plage temporelle sélectionnée.", "xpack.aiops.logCategorization.noCategoriesTitle": "Aucun modèle n'a été trouvé", "xpack.aiops.logCategorization.noDocsBody": "Assurez-vous que la plage temporelle sélectionnée contient des documents.", @@ -9588,13 +10409,16 @@ "xpack.aiops.logCategorization.randomSamplerSettingsPopUp.randomSamplerPercentageRowLabel": "Pourcentage d'échantillonnage", "xpack.aiops.logCategorization.randomSamplerSettingsPopUp.randomSamplerRowLabel": "Échantillonnage aléatoire", "xpack.aiops.logCategorization.runButton": "Exécuter l'analyse du modèle", - "xpack.aiops.logCategorization.selectedCounts": " | {count} sélectionné(s)", + "xpack.aiops.logCategorization.selectedCounts": "| {count} sélectionné(s)", "xpack.aiops.logCategorization.selectedResultsButtonLabel": "Sélectionné", "xpack.aiops.logCategorization.tabs.bucket": "Compartiment", "xpack.aiops.logCategorization.tabs.bucket.tooltip": "Modèles apparaissant dans le compartiment anormal.", "xpack.aiops.logCategorization.tabs.fullTimeRange": "Plage temporelle entière", "xpack.aiops.logCategorization.tabs.fullTimeRange.tooltip": "Modèles apparaissant dans la plage temporelle choisie pour la page.", "xpack.aiops.logCategorizationTimeSeriesWarning.description": "L'analyse du modèle de log ne fonctionne que sur des index temporels.", + "xpack.aiops.logRateAnalysis.fieldCandidates.ecsIdentifiedMessage": "Les documents sources ont été identifiés comme étant conformes à ECS.", + "xpack.aiops.logRateAnalysis.fieldCandidates.fieldsDropdownHintMessage": "Utilisez le menu déroulant \"Champs\" pour modifier la sélection.", + "xpack.aiops.logRateAnalysis.fieldCandidates.fieldsSelectedMessage": "{selectedItemsCount} champs sur {allItemsCount} ont été présélectionnés pour l'analyse.", "xpack.aiops.logRateAnalysis.loadingState.doneMessage": "Terminé.", "xpack.aiops.logRateAnalysis.loadingState.groupingResults": "Transformation de paires champ/valeur significatives en groupes.", "xpack.aiops.logRateAnalysis.loadingState.identifiedFieldCandidates": "{fieldCandidatesCount, plural, one {# candidat de champ identifié} other {# candidats de champs identifiés}}.", @@ -9612,7 +10436,7 @@ "xpack.aiops.logRateAnalysis.page.emptyPromptBody": "La fonction d'analyse des pics de taux de log identifie les combinaisons champ/valeur statistiquement significatives qui contribuent à un pic ou une baisse de taux de log.", "xpack.aiops.logRateAnalysis.page.emptyPromptTitle": "Commencez par cliquer sur un pic ou une baisse dans l'histogramme.", "xpack.aiops.logRateAnalysis.page.fieldFilterApplyButtonLabel": "Appliquer", - "xpack.aiops.logRateAnalysis.page.fieldFilterHelpText": "Désélectionnez les champs non pertinents pour les supprimer des groupes et cliquez sur le bouton Appliquer pour réexécuter le regroupement. Utilisez la barre de recherche pour filtrer la liste, puis sélectionnez/désélectionnez plusieurs champs avec les actions ci-dessous.", + "xpack.aiops.logRateAnalysis.page.fieldFilterHelpText": "Désélectionnez les champs non pertinents pour les supprimer de l'analyse et cliquez sur le bouton Appliquer pour réexécuter l'analyse. Utilisez la barre de recherche pour filtrer la liste, puis sélectionnez/désélectionnez plusieurs champs avec les actions ci-dessous.", "xpack.aiops.logRateAnalysis.page.fieldSelector.deselectAllItems": "Tout désélectionner", "xpack.aiops.logRateAnalysis.page.fieldSelector.deselectAllSearchedItems": "Désélectionner les éléments filtrés", "xpack.aiops.logRateAnalysis.page.fieldSelector.selectAllItems": "Tout sélectionner", @@ -9673,12 +10497,15 @@ "xpack.aiops.logRateAnalysis.resultsTableGroups.impactLabelColumnTooltip": "Niveau d'impact du groupe sur la différence de taux de messages", "xpack.aiops.logRateAnalysis.resultsTableGroups.logRateChangeLabelColumnTooltip": "Le facteur par lequel le taux de journalisation a changé. Cette valeur est normalisée afin de tenir compte des différentes longueurs des plages temporelles de référence et d’écart.", "xpack.aiops.logRateAnalysis.resultsTableGroups.logRateColumnTooltip": "Représentation visuelle de l'impact du groupe sur la différence de taux de messages.", - "xpack.aiops.logRateAnalysis.resultsTableGroups.logRateDocDecreaseLabel": "les documents descendent jusqu'à 0 de {baselineBucketRate} au niveau de référence", - "xpack.aiops.logRateAnalysis.resultsTableGroups.logRateDocIncreaseLabel": "{deviationBucketRate} {deviationBucketRate, plural, one {doc} other {docs}} remontent de 0 au niveau de référence", + "xpack.aiops.logRateAnalysis.resultsTableGroups.logRateDocDecreaseLabel": "jusqu'à 0 depuis {baselineBucketRate} au niveau de référence", + "xpack.aiops.logRateAnalysis.resultsTableGroups.logRateDocIncreaseLabel": "jusqu'à {deviationBucketRate} depuis 0 au niveau de référence", + "xpack.aiops.logRateAnalysis.resultsTableGroups.logRateFactorDecreaseLabel": "{roundedFactor} fois inférieur", + "xpack.aiops.logRateAnalysis.resultsTableGroups.logRateFactorIncreaseLabel": "{roundedFactor} fois supérieur", "xpack.aiops.logRateAnalysisTimeSeriesWarning.description": "L'analyse des taux de log ne fonctionne que sur des index temporels.", "xpack.aiops.miniHistogram.noDataLabel": "S. O.", "xpack.aiops.navMenu.mlAppNameText": "Machine Learning et Analytique", "xpack.aiops.observabilityAIAssistantContextualInsight.logRateAnalysisTitle": "Causes possibles et résolutions", + "xpack.aiops.patternAnalysis.typeDisplayName": "analyse du modèle", "xpack.aiops.progressAriaLabel": "Progression", "xpack.aiops.progressTitle": "Progression : {progress} % — {progressMessage}", "xpack.aiops.rerunAnalysisButtonTitle": "Lancer l'analyse", @@ -9857,7 +10684,7 @@ "xpack.alerting.rulesClient.validateActions.actionsWithInvalidThrottles": "La fréquence de l'action ne peut pas être inférieure à l'intervalle de planification de {scheduleIntervalText} : {groups}", "xpack.alerting.rulesClient.validateActions.actionsWithInvalidTimeRange": "La plage temporelle du filtre d'alertes de l'action a une valeur non valide : {hours}", "xpack.alerting.rulesClient.validateActions.actionWithInvalidTimeframe": "La durée du filtre d'alertes de l'action a des champs manquants : jours, heures ou fuseau horaire : {uuids}", - "xpack.alerting.rulesClient.validateActions.errorSummary": "Impossible de valider les actions en raison {errorNum, plural, one {de l'erreur suivante :} other {des # erreurs suivantes :\n-}} {errorList}", + "xpack.alerting.rulesClient.validateActions.errorSummary": "Impossible de valider les actions en raison {errorNum, plural, one {de l'erreur suivante :} other {des # erreurs suivantes : -}} {errorList}", "xpack.alerting.rulesClient.validateActions.hasDuplicatedUuid": "Les actions ont des UUID en double", "xpack.alerting.rulesClient.validateActions.invalidGroups": "Groupes d'actions non valides : {groups}", "xpack.alerting.rulesClient.validateActions.misconfiguredConnector": "Connecteurs non valides : {groups}", @@ -9884,27 +10711,29 @@ "xpack.alerting.taskRunner.warning.maxQueuedActions": "Le nombre maximal d'actions en file d'attente a été atteint ; les actions excédentaires n'ont pas été déclenchées.", "xpack.apm..breadcrumb.apmLabel": "APM", "xpack.apm.a.thresholdMet": "Seuil atteint", + "xpack.apm.add.apm.agent.button.": "Ajouter un APM", "xpack.apm.addDataButtonLabel": "Ajouter des données", + "xpack.apm.addDataContextMenu.link": "Ajouter des données", "xpack.apm.agent_explorer.error.missing_configuration": "Pour utiliser la toute dernière version de l’agent, vous devez définir xpack.apm.latestAgentVersionsUrl.", "xpack.apm.agentConfig.allOptionLabel": "Tous", - "xpack.apm.agentConfig.apiRequestSize.description": "Taille totale compressée maximale du corps de la requête envoyé à l'API d'ingestion du serveur APM depuis un encodage fragmenté (diffusion HTTP).\nVeuillez noter qu'un léger dépassement est possible.\n\nLes unités d'octets autorisées sont `b`, `kb` et `mb`. `1kb` correspond à `1024b`.", + "xpack.apm.agentConfig.apiRequestSize.description": "Taille totale compressée maximale du corps de la requête envoyé à l'API d'ingestion du serveur APM depuis un encodage fragmenté (diffusion HTTP). Veuillez noter qu'un léger dépassement est possible. Les unités d'octets autorisées sont `b`, `kb` et `mb`. `1kb` correspond à `1024b`.", "xpack.apm.agentConfig.apiRequestSize.label": "Taille de la requête API", - "xpack.apm.agentConfig.apiRequestTime.description": "Durée maximale de l'ouverture d'une requête HTTP sur le serveur APM.\n\nREMARQUE : cette valeur doit être inférieure à celle du paramètre `read_timeout` du serveur APM.", + "xpack.apm.agentConfig.apiRequestTime.description": "Durée maximale de l'ouverture d'une requête HTTP sur le serveur APM. REMARQUE : cette valeur doit être inférieure à celle du paramètre `read_timeout` du serveur APM.", "xpack.apm.agentConfig.apiRequestTime.label": "Heure de la requête API", - "xpack.apm.agentConfig.applicationPackages.description": "Permet de déterminer si un cadre de trace de pile est un cadre dans l'application ou un cadre de bibliothèque. Cela permet à l'application APM de réduire les cadres de pile du code de la bibliothèque et de mettre en surbrillance les cadres de pile qui proviennent de votre application. Plusieurs packages racine peuvent être définis sous forme de liste séparée par des virgules ; il n'est pas nécessaire de configurer des sous-packages. Étant donné que ce paramètre aide à déterminer les classes à analyser au démarrage, la définition de cette option peut également améliorer le temps de démarrage.\n\nVous devez définir cette option afin d'utiliser les annotations d'API `@CaptureTransaction` et `@CaptureSpan`.", + "xpack.apm.agentConfig.applicationPackages.description": "Permet de déterminer si un cadre de trace de pile est un cadre dans l'application ou un cadre de bibliothèque. Cela permet à l'application APM de réduire les cadres de pile du code de la bibliothèque et de mettre en surbrillance les cadres de pile qui proviennent de votre application. Plusieurs packages racine peuvent être définis sous forme de liste séparée par des virgules ; il n'est pas nécessaire de configurer des sous-packages. Étant donné que ce paramètre aide à déterminer les classes à analyser au démarrage, la définition de cette option peut également améliorer le temps de démarrage. Vous devez définir cette option afin d'utiliser les annotations d'API `@CaptureTransaction` et `@CaptureSpan`.", "xpack.apm.agentConfig.applicationPackages.label": "Packages de l'application", - "xpack.apm.agentConfig.captureBody.description": "Pour les transactions qui sont des requêtes HTTP, l'agent peut éventuellement capturer le corps de la requête (par ex., variables POST).\nPour les transactions qui sont initiées par la réception d'un message depuis un agent de message, l'agent peut capturer le corps du message texte.", + "xpack.apm.agentConfig.captureBody.description": "Pour les transactions qui sont des requêtes HTTP, l'agent peut éventuellement capturer le corps de la requête (par ex., variables POST). Pour les transactions qui sont initiées par la réception d'un message depuis un agent de message, l'agent peut capturer le corps du message texte.", "xpack.apm.agentConfig.captureBody.label": "Capturer le corps", - "xpack.apm.agentConfig.captureBodyContentTypes.description": "Configure les types de contenu qui doivent être enregistrés.\n\nLes valeurs par défaut se terminent par un caractère générique afin que les types de contenu tels que `text/plain; charset=utf-8` soient également capturés.", + "xpack.apm.agentConfig.captureBodyContentTypes.description": "Configure les types de contenu qui doivent être enregistrés. Les valeurs par défaut se terminent par un caractère générique afin que les types de contenu tels que `text/plain; charset=utf-8` soient également capturés.", "xpack.apm.agentConfig.captureBodyContentTypes.label": "Capturer les types de contenu du corps", - "xpack.apm.agentConfig.captureHeaders.description": "Si cette option est définie sur `true`, l'agent capturera les en-têtes de la requête HTTP et de la réponse (y compris les cookies), ainsi que les en-têtes/les propriétés du message lors de l'utilisation de frameworks de messagerie (tels que Kafka).\n\nREMARQUE : Si `false` est défini, cela permet de réduire la bande passante du réseau, l'espace disque et les allocations d'objets.", + "xpack.apm.agentConfig.captureHeaders.description": "Si cette option est définie sur `true`, l'agent capturera les en-têtes de la requête HTTP et de la réponse (y compris les cookies), ainsi que les en-têtes/les propriétés du message lors de l'utilisation de frameworks de messagerie (tels que Kafka). REMARQUE : Si `false` est défini, cela permet de réduire la bande passante du réseau, l'espace disque et les allocations d'objets.", "xpack.apm.agentConfig.captureHeaders.label": "Capturer les en-têtes", - "xpack.apm.agentConfig.captureJmxMetrics.description": "Enregistrer les indicateurs de JMX sur le serveur APM\n\nPeut contenir plusieurs définitions d'indicateurs JMX séparées par des virgules :\n\n`object_name[] attribute[:metric_name=]`\n\nPour en savoir plus, consultez la documentation de l'agent Java.", + "xpack.apm.agentConfig.captureJmxMetrics.description": "Les indicateurs du rapport de JMX vers le serveur APM peuvent contenir plusieurs définitions d’indicateurs JMX séparés par des virgules : `object_name[] attribute[:metric_name=]` Consultez la documentation de l'agent Java pour plus de détails.", "xpack.apm.agentConfig.captureJmxMetrics.label": "Capturer les indicateurs JMX", "xpack.apm.agentConfig.chooseService.editButton": "Modifier", "xpack.apm.agentConfig.chooseService.service.environment.label": "Environnement", "xpack.apm.agentConfig.chooseService.service.name.label": "Nom de service", - "xpack.apm.agentConfig.circuitBreakerEnabled.description": "Nombre booléen spécifiant si le disjoncteur doit être activé ou non. Lorsqu'il est activé, l'agent interroge régulièrement les monitorings de tension pour détecter l'état de tension du système/du processus/de la JVM. Si L'UN des monitorings détecte un signe de tension, l'agent s'interrompt, comme si l'option de configuration `recording` était définie sur `false`, réduisant ainsi la consommation des ressources au minimum. Pendant l'interruption, l'agent continue à interroger les mêmes monitorings pour vérifier si l'état de tension a été allégé. Si TOUS les monitorings indiquent que le système, le processus et la JVM ne sont plus en état de tension, l'agent reprend son activité et redevient entièrement fonctionnel.", + "xpack.apm.agentConfig.circuitBreakerEnabled.description": "Nombre booléen spécifiant si le disjoncteur doit être activé ou non. Lorsqu'il est activé, l'agent interroge régulièrement les monitorings de tension pour détecter l'état de tension du système/du processus/de la JVM. Si L'UN des monitorings détecte un signe de tension, l'agent s'interrompt, comme si l'option de configuration `recording` était définie sur `false`, réduisant ainsi la consommation des ressources au minimum. Pendant l'interruption, l'agent continue à interroger les mêmes monitorings pour vérifier si l'état de tension a été allégé. Si TOUS les monitorings indiquent que le système, le processus et la JVM ne sont plus en état de tension, l'agent reprend son activité et redevient entièrement fonctionnel.", "xpack.apm.agentConfig.circuitBreakerEnabled.label": "Disjoncteur activé", "xpack.apm.agentConfig.configTable.appliedTooltipMessage": "Appliqué par au moins un agent", "xpack.apm.agentConfig.configTable.configTable.failurePromptText": "La liste des configurations d'agent n'a pas pu être récupérée. Votre utilisateur ne dispose peut-être pas d'autorisations suffisantes.", @@ -9920,7 +10749,7 @@ "xpack.apm.agentConfig.context_propagation_only.label": "Propagation du contexte seulement", "xpack.apm.agentConfig.createConfigButtonLabel": "Créer une configuration", "xpack.apm.agentConfig.createConfigTitle": "Créer une configuration", - "xpack.apm.agentConfig.dedotCustomMetrics.description": "Remplace les points par des traits de soulignement dans les noms des indicateurs personnalisés.\n\nAVERTISSEMENT : L'attribution de la valeur `false` peut entraîner des conflits de mapping car les points indiquent une imbrication dans Elasticsearch.\nUn tel conflit peut se produire par exemple entre deux indicateurs si l'un se nomme `foo` et l'autre `foo.bar`.\nLe premier mappe `foo` sur un nombre, et le second indicateur mappe `foo` en tant qu'objet.", + "xpack.apm.agentConfig.dedotCustomMetrics.description": "Remplace les points par des traits de soulignement dans les noms des indicateurs personnalisés. AVERTISSEMENT : L'attribution de la valeur `false` peut entraîner des conflits de mapping car les points indiquent une imbrication dans Elasticsearch. Un tel conflit peut se produire par exemple entre deux indicateurs si l'un se nomme `foo` et l'autre `foo.bar`. Le premier mappe `foo` sur un nombre, et le second indicateur mappe `foo` en tant qu'objet.", "xpack.apm.agentConfig.dedotCustomMetrics.label": "Retirer les points des indicateurs personnalisés", "xpack.apm.agentConfig.deleteModal.cancel": "Annuler", "xpack.apm.agentConfig.deleteModal.confirm": "Supprimer", @@ -9930,30 +10759,30 @@ "xpack.apm.agentConfig.deleteSection.deleteConfigFailedTitle": "La configuration n'a pas pu être supprimée", "xpack.apm.agentConfig.deleteSection.deleteConfigSucceededText": "Vous avez supprimé une configuration de \"{serviceName}\". La propagation jusqu'aux agents pourra prendre un certain temps.", "xpack.apm.agentConfig.deleteSection.deleteConfigSucceededTitle": "La configuration a été supprimée", - "xpack.apm.agentConfig.disableInstrumentations.description": "Liste séparée par des virgules de modules pour lesquels désactiver l'instrumentation.\nLorsque l'instrumentation est désactivée pour un module, aucun intervalle n'est collecté pour ce module.\n\nLa liste à jour des modules pour lesquels l'instrumentation peut être désactivée est spécifique du langage et peut être trouvée en cliquant sur les liens suivants : [Java](https://www.elastic.co/guide/en/apm/agent/java/current/config-core.html#config-disable-instrumentations)", + "xpack.apm.agentConfig.disableInstrumentations.description": "Liste séparée par des virgules de modules pour lesquels désactiver l'instrumentation. Lorsque l'instrumentation est désactivée pour un module, aucun intervalle n'est collecté pour ce module. La liste à jour des modules pour lesquels l'instrumentation peut être désactivée est spécifique du langage et peut être trouvée en cliquant sur les liens suivants : [Java](https://www.elastic.co/guide/en/apm/agent/java/current/config-core.html#config-disable-instrumentations)", "xpack.apm.agentConfig.disableInstrumentations.label": "Désactiver les instrumentations", - "xpack.apm.agentConfig.disableOutgoingTracecontextHeaders.description": "Utilisez cette option pour désactiver l'injection d'en-têtes `tracecontext` dans une communication sortante.\n\nAVERTISSEMENT : La désactivation de l'injection d'en-têtes `tracecontext` signifie que le traçage distribué ne fonctionnera pas sur les services en aval.", + "xpack.apm.agentConfig.disableOutgoingTracecontextHeaders.description": "Utilisez cette option pour désactiver l'injection d'en-têtes `tracecontext` dans une communication sortante. AVERTISSEMENT : La désactivation de l'injection d'en-têtes `tracecontext` signifie que le traçage distribué ne fonctionnera pas sur les services en aval.", "xpack.apm.agentConfig.disableOutgoingTracecontextHeaders.label": "Désactiver les en-têtes tracecontext sortants", "xpack.apm.agentConfig.editConfigTitle": "Modifier la configuration", - "xpack.apm.agentConfig.enableExperimentalInstrumentations.description": "Indique s'il faut appliquer des instrumentations expérimentales.\n\nREMARQUE : Le fait de modifier cette valeur au moment de l'exécution peut ralentir temporairement l'application. Définir cette valeur sur true active les instrumentations dans le groupe expérimental.", + "xpack.apm.agentConfig.enableExperimentalInstrumentations.description": "Indique s'il faut appliquer des instrumentations expérimentales. REMARQUE : Le fait de modifier cette valeur au moment de l'exécution peut ralentir temporairement l'application. Définir cette valeur sur true active les instrumentations dans le groupe expérimental.", "xpack.apm.agentConfig.enableExperimentalInstrumentations.label": "Activer les instrumentations expérimentales", - "xpack.apm.agentConfig.enableInstrumentations.description": "Une liste des instrumentations qui doivent être activées de façon sélective. Les options valides sont indiquées dans la [documentation de l’agent Java APM](https://www.elastic.co/guide/en/apm/agent/java/current/config-core.html#config-disable-instrumentations).\n\nLorsqu'une valeur non vide est définie, seules les instrumentations répertoriées sont activées si elles ne sont pas désactivées via `disable_instrumentations` ou `enable_experimental_instrumentations`.\nLorsque cette option n'est pas définie ou est vide (par défaut), toutes les instrumentations activées par défaut sont activées, sauf si elles sont désactivées via `disable_instrumentations` ou `enable_experimental_instrumentations`.", + "xpack.apm.agentConfig.enableInstrumentations.description": "Une liste des instrumentations qui doivent être activées de façon sélective. Les options valides sont indiquées dans la [documentation de l’agent Java APM](https://www.elastic.co/guide/en/apm/agent/java/current/config-core.html#config-disable-instrumentations). Lorsqu'une valeur non vide est définie, seules les instrumentations répertoriées sont activées si elles ne sont pas désactivées via `disable_instrumentations` ou `enable_experimental_instrumentations`. Lorsque cette option n'est pas définie ou est vide (par défaut), toutes les instrumentations activées par défaut sont activées, sauf si elles sont désactivées via `disable_instrumentations` ou `enable_experimental_instrumentations`.", "xpack.apm.agentConfig.enableInstrumentations.label": "Désactiver les instrumentations", "xpack.apm.agentConfig.enableLogCorrelation.description": "Nombre booléen spécifiant si l'agent doit être intégré au MDC de SLF4J pour activer la corrélation de logs de suivi. Si cette option est configurée sur `true`, l'agent définira `trace.id` et `transaction.id` pour les intervalles et transactions actifs sur le MDC. Depuis la version 1.16.0 de l'agent Java, l'agent ajoute également le `error.id` de l'erreur capturée au MDC juste avant le logging du message d'erreur. REMARQUE : bien qu'il soit autorisé d'activer ce paramètre au moment de l'exécution, vous ne pouvez pas le désactiver sans redémarrage.", "xpack.apm.agentConfig.enableLogCorrelation.label": "Activer la corrélation de logs", - "xpack.apm.agentConfig.exitSpanMinDuration.description": "Les intervalles de sortie sont des intervalles qui représentent un appel à un service externe, tel qu'une base de données. Si de tels appels sont très courts, ils ne sont généralement pas pertinents et ils peuvent être ignorés.\n\nREMARQUE : Si un intervalle propage des ID de traçage distribué, il ne sera pas ignoré, même s'il est plus court que le seuil configuré. Cela permet de s'assurer qu'aucune trace interrompue n'est enregistrée.", + "xpack.apm.agentConfig.exitSpanMinDuration.description": "Les intervalles de sortie sont des intervalles qui représentent un appel à un service externe, tel qu'une base de données. Si de tels appels sont très courts, ils ne sont généralement pas pertinents et ils peuvent être ignorés. REMARQUE : Si un intervalle propage des ID de traçage distribué, il ne sera pas ignoré, même s'il est plus court que le seuil configuré. Cela permet de s'assurer qu'aucune trace interrompue n'est enregistrée.", "xpack.apm.agentConfig.exitSpanMinDuration.label": "Durée min. d'intervalle de sortie", - "xpack.apm.agentConfig.ignoreExceptions.description": "Liste d'exceptions qui doivent être ignorées et non signalées comme des erreurs.\nCela permet d'ignorer les exceptions qui ont été lancées dans le flux de contrôle normal mais qui ne sont pas de réelles erreurs.", + "xpack.apm.agentConfig.ignoreExceptions.description": "Liste d'exceptions qui doivent être ignorées et non signalées comme des erreurs. Cela permet d'ignorer les exceptions qui ont été lancées dans le flux de contrôle normal mais qui ne sont pas de réelles erreurs.", "xpack.apm.agentConfig.ignoreExceptions.label": "Ignorer les exceptions", - "xpack.apm.agentConfig.ignoreMessageQueues.description": "Utilisé pour exclure les files d'attente/sujets de messagerie spécifiques du traçage. \n\nCette propriété doit être définie sur un tableau contenant une ou plusieurs chaînes.\nUne fois définie, les envois vers et les réceptions depuis les files d'attente/sujets spécifiés seront ignorés.", + "xpack.apm.agentConfig.ignoreMessageQueues.description": "Utilisé pour exclure les files d'attente/sujets de messagerie spécifiques du traçage. Cette propriété doit être définie sur un tableau contenant une ou plusieurs chaînes. Une fois définie, les envois vers et les réceptions depuis les files d'attente/sujets spécifiés seront ignorés.", "xpack.apm.agentConfig.ignoreMessageQueues.label": "Ignorer les files d'attente des messages", "xpack.apm.agentConfig.logEcsReformatting.description": "Spécifier si et comment l'agent doit reformater automatiquement les logs d'application en [JSON compatible avec ECS](https://www.elastic.co/guide/en/ecs-logging/overview/master/intro.html), compatible avec l'ingestion dans Elasticsearch à des fins d'analyse de log plus poussée.", "xpack.apm.agentConfig.logEcsReformatting.label": "Reformatage ECS des logs", "xpack.apm.agentConfig.logLevel.description": "Définit le niveau de logging pour l'agent", "xpack.apm.agentConfig.logLevel.label": "Niveau du log", - "xpack.apm.agentConfig.logSending.description": "Expérimental, requiert la version la plus récente de l'agent Java.\n\nSi `true` est défini,\nL'agent envoie les logs directement au serveur APM.", + "xpack.apm.agentConfig.logSending.description": "Expérimental, requiert la version la plus récente de l'agent Java. Si défini sur `true`, l'agent enverra les logs directement au serveur APM.", "xpack.apm.agentConfig.logSending.label": "Envoi de logs (expérimental)", - "xpack.apm.agentConfig.mongodbCaptureStatementCommands.description": "Les noms de commande MongoDB pour lesquels le document de commande est capturé, limité aux opérations en lecture seule courantes par défaut. Définissez cette option sur `\"\"` (vide) pour désactiver la capture, et sur `*` pour tout capturer (ce qui est déconseillé, car cela peut entraîner la capture d'informations sensibles).\n\nCette option prend en charge le caractère générique `*` qui correspond à zéro caractère ou plus. Exemples : `/foo/*/bar/*/baz*`, `*foo*`. La correspondance n'est pas sensible à la casse par défaut. L'ajout de `(?-i)` au début d'un élément rend la correspondance sensible à la casse.", + "xpack.apm.agentConfig.mongodbCaptureStatementCommands.description": "Les noms de commande MongoDB pour lesquels le document de commande est capturé, limité aux opérations en lecture seule courantes par défaut. Définissez cette option sur `\"\"` (vide) pour désactiver la capture, et sur `*` pour tout capturer (ce qui est déconseillé, car cela peut entraîner la capture d'informations sensibles). Cette option prend en charge le caractère générique `*` qui correspond à zéro caractère ou plus. Exemples : `/foo/*/bar/*/baz*`, `*foo*`. La correspondance n'est pas sensible à la casse par défaut. L'ajout de `(?-i)` au début d'un élément rend la correspondance sensible à la casse.", "xpack.apm.agentConfig.mongodbCaptureStatementCommands.label": "Commandes d'instruction pour la capture MongoDB", "xpack.apm.agentConfig.newConfig.description": "Affinez votre configuration d'agent depuis l'application APM. Les modifications sont automatiquement propagées à vos agents APM, ce qui vous évite d'effectuer un redéploiement.", "xpack.apm.agentConfig.profilingInferredSpansEnabled.description": "Définissez cette option sur `true` afin que l'agent crée des intervalles pour des exécutions de méthodes basées sur async-profiler, un profiler d'échantillonnage (ou profiler statistique). En raison de la nature du fonctionnement des profilers d'échantillonnage, la durée des intervalles générés n'est pas exacte, il ne s'agit que d'estimations. `profiling_inferred_spans_sampling_interval` vous permet d'ajuster avec exactitude le compromis entre précision et surcharge. Les intervalles générés sont créés à la fin d'une session de profilage. Cela signifie qu'il existe un délai entre les intervalles réguliers et les intervalles générés visibles dans l'interface utilisateur. REMARQUE : cette fonctionnalité n'est pas disponible sous Windows.", @@ -9966,7 +10795,7 @@ "xpack.apm.agentConfig.profilingInferredSpansMinDuration.label": "Durée minimale des intervalles générés par le profilage", "xpack.apm.agentConfig.profilingInferredSpansSamplingInterval.description": "Fréquence à laquelle les traces de pile sont rassemblées au cours d'une session de profilage. Plus vous définissez un chiffre bas, plus les durées seront précises. Cela induit une surcharge plus élevée et un plus grand nombre d'intervalles, pour des opérations potentiellement non pertinentes. La durée minimale d'un intervalle généré par le profilage est identique à la valeur de ce paramètre.", "xpack.apm.agentConfig.profilingInferredSpansSamplingInterval.label": "Intervalle d'échantillonnage des intervalles générés par le profilage", - "xpack.apm.agentConfig.range.errorText": "{rangeType, select,\n between {doit être compris entre {min} et {max}}\n gt {doit être supérieur à {min}}\n lt {doit être inférieur à {max}}\n other {doit être un entier}\n }", + "xpack.apm.agentConfig.range.errorText": "{rangeType, select, between {Doit être compris entre {min} et {max}} gt {Doit être supérieur à {min}} lt {Doit être inférieur à {max}} other {Doit être un entier} }", "xpack.apm.agentConfig.recording.description": "Lorsque l'enregistrement est activé, l'agent instrumente les requêtes HTTP entrantes, effectue le suivi des erreurs, et collecte et envoie les indicateurs. Lorsque l'enregistrement n'est pas activé, l'agent agit comme un noop, sans collecter de données ni communiquer avec le serveur AMP, sauf pour rechercher la configuration mise à jour. Puisqu'il s'agit d'un commutateur réversible, les threads d'agents ne sont pas détruits lorsque le mode sans enregistrement est défini. Ils restent principalement inactifs, de sorte que la surcharge est négligeable. Vous pouvez utiliser ce paramètre pour contrôler dynamiquement si Elastic APM doit être activé ou désactivé.", "xpack.apm.agentConfig.recording.label": "Enregistrement", "xpack.apm.agentConfig.sanitizeFiledNames.description": "Il est parfois nécessaire d'effectuer un nettoyage, c'est-à-dire de supprimer les données sensibles envoyées à Elastic APM. Cette configuration accepte une liste de modèles de caractères génériques de champs de noms qui doivent être nettoyés. Ils s'appliquent aux en-têtes HTTP (y compris les cookies) et aux données `application/x-www-form-urlencoded` (champs de formulaire POST). La chaîne de la requête et le corps de la requête capturé (comme des données `application/json`) ne seront pas nettoyés.", @@ -9976,7 +10805,7 @@ "xpack.apm.agentConfig.saveConfig.succeeded.text": "La configuration de \"{serviceName}\" a été enregistrée. La propagation jusqu'aux agents pourra prendre un certain temps.", "xpack.apm.agentConfig.saveConfig.succeeded.title": "Configuration enregistrée", "xpack.apm.agentConfig.saveConfigurationButtonLabel": "Étape suivante", - "xpack.apm.agentConfig.serverTimeout.description": "Si une requête au serveur APM prend plus de temps que le délai d'expiration configuré,\nla requête est annulée et l'événement (exception ou transaction) est abandonné.\nDéfinissez sur 0 pour désactiver les délais d'expiration.\n\nAVERTISSEMENT : si les délais d'expiration sont désactivés ou définis sur une valeur élevée, il est possible que votre application rencontre des problèmes de mémoire en cas d'expiration du serveur APM.", + "xpack.apm.agentConfig.serverTimeout.description": "Si une requête adressée au serveur APM prend plus de temps que le délai d'expiration configuré, la requête est annulée et l'événement (exception ou transaction) est ignoré. Définissez sur 0 pour désactiver les délais d'expiration. AVERTISSEMENT : si les délais d'expiration sont désactivés ou définis sur une valeur élevée, il est possible que votre application rencontre des problèmes de mémoire en cas d'expiration du serveur APM.", "xpack.apm.agentConfig.serverTimeout.label": "Délai d'expiration du serveur", "xpack.apm.agentConfig.servicePage.alreadyConfiguredOption": "déjà configuré", "xpack.apm.agentConfig.servicePage.cancelButton": "Annuler", @@ -9993,17 +10822,17 @@ "xpack.apm.agentConfig.settingsPage.notFound.message": "La configuration demandée n'existe pas", "xpack.apm.agentConfig.settingsPage.notFound.title": "Désolé, une erreur est survenue", "xpack.apm.agentConfig.settingsPage.saveButton": "Enregistrer la configuration", - "xpack.apm.agentConfig.spanCompressionEnabled.description": "L'attribution de la valeur \"true\" à cette option activera la fonctionnalité de compression de l'intervalle.\nLa compression d'intervalle réduit la surcharge de collecte, de traitement et de stockage, et supprime l'encombrement dans l'interface utilisateur. Le compromis est que certaines informations, telles que les instructions de base de données de tous les intervalles compressés, ne seront pas collectées.", + "xpack.apm.agentConfig.spanCompressionEnabled.description": "L'attribution de la valeur \"true\" à cette option activera la fonctionnalité de compression de l'intervalle. La compression d'intervalle réduit la surcharge de collecte, de traitement et de stockage, et supprime l'encombrement dans l'interface utilisateur. Le compromis est que certaines informations, telles que les instructions de base de données de tous les intervalles compressés, ne seront pas collectées.", "xpack.apm.agentConfig.spanCompressionEnabled.label": "Compression d'intervalle activée", "xpack.apm.agentConfig.spanCompressionExactMatchMaxDuration.description": "Les intervalles consécutifs qui sont des correspondances parfaites et qui se trouvent sous ce seuil seront compressés en un seul intervalle composite. Cette option ne s'applique pas aux intervalles composites. Cela réduit la surcharge de collecte, de traitement et de stockage, et supprime l'encombrement dans l'interface utilisateur. Le compromis est que les instructions de base de données de tous les intervalles compressés ne seront pas collectées.", "xpack.apm.agentConfig.spanCompressionExactMatchMaxDuration.label": "Durée maximale de compression d'intervalles en correspondance parfaite", "xpack.apm.agentConfig.spanCompressionSameKindMaxDuration.description": "Les intervalles consécutifs qui ont la même destination et qui se trouvent sous ce seuil seront compressés en un seul intervalle composite. Cette option ne s'applique pas aux intervalles composites. Cela réduit la surcharge de collecte, de traitement et de stockage, et supprime l'encombrement dans l'interface utilisateur. Le compromis est que les instructions de base de données de tous les intervalles compressés ne seront pas collectées.", "xpack.apm.agentConfig.spanCompressionSameKindMaxDuration.label": "Durée maximale de compression d'intervalles de même genre", - "xpack.apm.agentConfig.spanFramesMinDuration.description": "(déclassé, utilisez `span_stack_trace_min_duration` à la place) Dans ses paramètres par défaut, l'agent APM collectera une trace de la pile avec chaque intervalle enregistré.\nBien qu'il soit très pratique de trouver l'endroit exact dans votre code qui provoque l'intervalle, la collecte de cette trace de la pile provoque une certaine surcharge. \nLorsque cette option est définie sur une valeur négative, telle que `-1ms`, les traces de pile sont collectées pour tous les intervalles. En choisissant une valeur positive, par ex. `5ms`, la collecte des traces de pile se limitera aux intervalles dont la durée est égale ou supérieure à la valeur donnée, c’est-à-dire 5 millisecondes.\n\nPour désactiver complètement la collecte des traces de pile des intervalles, réglez la valeur sur `0ms`.", + "xpack.apm.agentConfig.spanFramesMinDuration.description": "(déclassé, utilisez `span_stack_trace_min_duration` à la place) Dans ses paramètres par défaut, l'agent APM collectera une trace de la pile avec chaque intervalle enregistré. Bien qu'il soit très pratique de trouver l'endroit exact dans votre code qui provoque l'intervalle, la collecte de cette trace de la pile provoque une certaine surcharge. Lorsque cette option est définie sur une valeur négative, telle que `-1ms`, les traces de pile sont collectées pour tous les intervalles. En choisissant une valeur positive, par ex. `5ms`, la collecte des traces de pile se limitera aux intervalles dont la durée est égale ou supérieure à la valeur donnée, c’est-à-dire 5 millisecondes. Pour désactiver complètement la collecte des traces de pile des intervalles, réglez la valeur sur `0ms`.", "xpack.apm.agentConfig.spanFramesMinDuration.label": "Durée minimale des cadres des intervalles", - "xpack.apm.agentConfig.spanMinDuration.description": "Définit la durée minimale des intervalles. Une tentative visant à ignorer les intervalles qui s'exécutent plus rapidement que ce seuil peut avoir lieu.\n\nLa tentative échoue si elle mène à un intervalle qui ne peut pas être ignoré. Les intervalles qui propagent le contexte de trace aux services en aval, tels que les requêtes HTTP sortantes, ne peuvent pas être ignorés. De plus, les intervalles qui conduisent à une erreur ou qui peuvent être le parent d'une opération asynchrone ne peuvent pas être ignorés.\n\nCependant, les appels externes qui ne propagent pas le contexte, tels que les appels à une base de données, peuvent être ignorés à l'aide de ce seuil.", + "xpack.apm.agentConfig.spanMinDuration.description": "Définit la durée minimale des intervalles. Une tentative visant à ignorer les intervalles qui s'exécutent plus rapidement que ce seuil peut avoir lieu. La tentative échoue si elle mène à un intervalle qui ne peut pas être ignoré. Les intervalles qui propagent le contexte de trace aux services en aval, tels que les requêtes HTTP sortantes, ne peuvent pas être ignorés. De plus, les intervalles qui conduisent à une erreur ou qui peuvent être le parent d'une opération asynchrone ne peuvent pas être ignorés. Cependant, les appels externes qui ne propagent pas le contexte, tels que les appels à une base de données, peuvent être ignorés à l'aide de ce seuil.", "xpack.apm.agentConfig.spanMinDuration.label": "Durée minimale de l'intervalle", - "xpack.apm.agentConfig.spanStackTraceMinDuration.description": "Bien qu'il soit très pratique de trouver l'endroit exact dans votre code qui provoque l'intervalle, la collecte de cette trace de la pile provoque une certaine surcharge. Lorsque cette option est définie sur la valeur `0ms`, les traces de pile sont collectées pour tous les intervalles. En choisissant une valeur positive, par ex. `5ms`, la collecte des traces de pile se limitera aux intervalles dont la durée est égale ou supérieure à la valeur donnée, c’est-à-dire 5 millisecondes.\n\nPour désactiver complètement la collecte des traces de pile des intervalles, réglez la valeur sur `-1ms`.", + "xpack.apm.agentConfig.spanStackTraceMinDuration.description": "Bien qu'il soit très pratique de trouver l'endroit exact dans votre code qui provoque l'intervalle, la collecte de cette trace de la pile provoque une certaine surcharge. Lorsque cette option est définie sur la valeur `0ms`, les traces de pile sont collectées pour tous les intervalles. En choisissant une valeur positive, par ex. `5ms`, la collecte des traces de pile se limitera aux intervalles dont la durée est égale ou supérieure à la valeur donnée, c’est-à-dire 5 millisecondes. Pour désactiver complètement la collecte des traces de pile des intervalles, réglez la valeur sur `-1ms`.", "xpack.apm.agentConfig.spanStackTraceMinDuration.label": "Durée minimale de la trace de pile de l'intervalle", "xpack.apm.agentConfig.stackTraceLimit.description": "En définissant cette option sur 0, la collecte des traces de pile sera désactivée. Toute valeur entière positive sera utilisée comme nombre maximal de cadres à collecter. La valeur -1 signifie que tous les cadres seront collectés.", "xpack.apm.agentConfig.stackTraceLimit.label": "Limite de trace de pile", @@ -10017,24 +10846,24 @@ "xpack.apm.agentConfig.stressMonitorSystemCpuReliefThreshold.label": "Seuil d'allègement de la tension du monitoring du CPU système", "xpack.apm.agentConfig.stressMonitorSystemCpuStressThreshold.description": "Seuil utilisé par le monitoring du CPU du système pour détecter la tension du processeur du système. Si le CPU système dépasse ce seuil pour une durée d'au moins `stress_monitor_cpu_duration_threshold`, le monitoring considère qu'il est en état de tension.", "xpack.apm.agentConfig.stressMonitorSystemCpuStressThreshold.label": "Seuil de tension du monitoring du CPU système", - "xpack.apm.agentConfig.traceContinuationStrategy.description": "Cette option permet un certain contrôle sur la façon dont l'agent APM gère les en-tête de contexte de trace W3C dans les requêtes entrantes. Par défaut, les en-têtes `traceparent` et `tracestate` sont utilisés conformément aux spécifications W3C pour le traçage distribué. Cependant, dans certains cas, il peut être utile de ne pas utiliser l'en-tête `traceparent` entrant. Quelques exemples de cas d'utilisation :\n\n* Un service monitoré par Elastic reçoit des requêtes avec les en-têtes `traceparent` de services non monitorés.\n* Un service monitoré par Elastic est publiquement exposé, et ne souhaite pas que les données de traçage (ID de traçage, décisions d'échantillonnage) puissent être usurpées par des requêtes d'utilisateur.\n\nLes valeurs valides sont :\n* \"continue\" : comportement par défaut. Une valeur `traceparent` entrante est utilisée pour continuer le traçage et déterminer la décision d'échantillonnage.\n* \"restart\" : ignore toujours l'en-tête `traceparent` des requêtes entrantes. Un nouveau trace-id sera généré et la décision d'échantillonnage sera prise en fonction de transaction_sample_rate. Une liaison d'intervalle sera effectuée vers le `traceparent` entrant.\n* \"restart_external\" : Si une requête entrante inclut le drapeau de fournisseur `es` dans `tracestate`, tout `traceparent` sera considéré comme interne et sera géré comme décrit pour `continue` ci-dessus. Autrement, tout `traceparent` est considéré comme externe et sera géré comme décrit pour `restart` ci-dessus.\n\nDepuis Elastic Observability 8.2, les liens d'intervalle sont visibles dans les vues de trace.\n\nCette option ne respecte pas la casse.", + "xpack.apm.agentConfig.traceContinuationStrategy.description": "Cette option permet un certain contrôle sur la façon dont l'agent APM gère les en-tête de contexte de trace W3C dans les requêtes entrantes. Par défaut, les en-têtes `traceparent` et `tracestate` sont utilisés conformément aux spécifications W3C pour le traçage distribué. Cependant, dans certains cas, il peut être utile de ne pas utiliser l'en-tête `traceparent` entrant. Quelques exemples de cas d'utilisation : * Un service monitoré par Elastic reçoit des requêtes avec les en-têtes `traceparent` de services non monitorés. * Un service monitoré par Elastic est publiquement exposé, et ne souhaite pas que les données de traçage (ID de traçage, décisions d'échantillonnage) puissent être usurpées par des requêtes d'utilisateur. Les valeurs valides sont : * 'continue' : comportement par défaut. Une valeur `traceparent` entrante est utilisée pour continuer le traçage et déterminer la décision d'échantillonnage. * 'restart' : ignore toujours l'en-tête `traceparent` des requêtes entrantes. Un nouveau trace-id sera généré et la décision d'échantillonnage sera prise en fonction de transaction_sample_rate. Une liaison d'intervalle sera effectuée vers le `traceparent` entrant. * 'restart_external' : Si une requête entrante inclut le drapeau de fournisseur `es` dans `tracestate`, tout `traceparent` sera considéré comme interne et sera géré comme décrit pour `continue` ci-dessus. Autrement, tout `traceparent` est considéré comme externe et sera géré comme décrit pour `restart` ci-dessus. Depuis Elastic Observability 8.2, les liens d'intervalle sont visibles dans les vues de trace. Cette option ne respecte pas la casse.", "xpack.apm.agentConfig.traceContinuationStrategy.label": "Stratégie de poursuite de traçage", - "xpack.apm.agentConfig.traceMethods.description": "Liste de méthodes pour lesquelles une transaction ou un intervalle doivent être créés.\n\nSi vous souhaitez monitorer un nombre important de méthodes,\nutilisez `profiling_inferred_spans_enabled`.\n\nCela fonctionne en instrumentant chaque méthode correspondante pour inclure le code qui crée un intervalle pour la méthode.\nSi la création d'un intervalle est très économique en termes de performances,\nl'instrumentation de toute une base de codes ou d'une méthode qui est exécutée dans une boucle serrée entraîne une surcharge significative.\n\nREMARQUE : utilisez les caractères génériques uniquement si cela est nécessaire.\nPlus vous faites correspondre de méthodes, plus l'agent créera une surcharge.\nNotez également qu'il existe une quantité maximale d'intervalles par transaction, `transaction_max_spans`.\n\nPour en savoir plus, consultez la documentation de l'agent Java.", + "xpack.apm.agentConfig.traceMethods.description": "Liste de méthodes pour lesquelles une transaction ou un intervalle doivent être créés. Si vous souhaitez monitorer un nombre important de méthodes, utilisez `profiling_inferred_spans_enabled`. Cela fonctionne en instrumentant chaque méthode correspondante pour inclure le code qui crée un intervalle pour la méthode. Alors que la création d'un intervalle est très économique en termes de performances, l'instrumentation de toute une base de codes ou d'une méthode qui est exécutée dans une boucle serrée entraîne une surcharge significative. REMARQUE : utilisez les caractères génériques uniquement si cela est nécessaire. Plus vous faites correspondre de méthodes, plus l'agent créera une surcharge. Notez également qu'il existe une quantité maximale d'intervalles par transaction, `transaction_max_spans`. Pour en savoir plus, consultez la documentation de l'agent Java.", "xpack.apm.agentConfig.traceMethods.label": "Méthodes de traçage", "xpack.apm.agentConfig.transactionIgnoreUrl.description": "Utilisé pour limiter l'instrumentation des requêtes vers certaines URL. Cette configuration accepte une liste séparée par des virgules de modèles de caractères génériques de chemins d'URL qui doivent être ignorés. Lorsqu'une requête HTTP entrante sera détectée, son chemin de requête sera confronté à chaque élément figurant dans cette liste. Par exemple, l'ajout de `/home/index` à cette liste permettrait de faire correspondre et de supprimer l'instrumentation de `http://localhost/home/index` ainsi que de `http://whatever.com/home/index?value1=123`", "xpack.apm.agentConfig.transactionIgnoreUrl.label": "Ignorer les transactions basées sur les URL", - "xpack.apm.agentConfig.transactionIgnoreUserAgents.description": "Utilisé pour limiter l'instrumentation des requêtes de certains agents utilisateurs.\n\nLorsqu'une requête HTTP entrante est détectée,\nl'agent utilisateur des en-têtes de la requête sera testé avec chaque élément de cette liste.\nExemple : `curl/*`, `*pingdom*`", + "xpack.apm.agentConfig.transactionIgnoreUserAgents.description": "Utilisé pour limiter l'instrumentation des requêtes de certains agents utilisateurs. Lorsqu'une requête HTTP entrante est détectée, l'agent utilisateur des en-têtes de requête sera vérifié par rapport à chaque élément de cette liste. Exemple : `curl/*`, `*pingdom*`", "xpack.apm.agentConfig.transactionIgnoreUserAgents.label": "La transaction ignore les agents utilisateurs", "xpack.apm.agentConfig.transactionMaxSpans.description": "Limite la quantité d'intervalles enregistrés par transaction.", "xpack.apm.agentConfig.transactionMaxSpans.label": "Nb maxi d'intervalles de transaction", - "xpack.apm.agentConfig.transactionNameGroups.description": "Avec cette option,\nvous pouvez regrouper les noms de transaction contenant des parties dynamiques avec une expression de caractère générique.\nPar exemple,\nle modèle \"GET /user/*/cart\" consolide les transactions,\ntelles que \"GET /users/42/cart\" et \"GET /users/73/cart\", en un même nom de transaction, \"GET /users/*/cart\",\nréduisant ainsi la cardinalité du nom de transaction.", + "xpack.apm.agentConfig.transactionNameGroups.description": "Avec cette option, vous pouvez regrouper les noms de transaction contenant des parties dynamiques avec une expression de caractère générique. Par exemple, le modèle `GET /user/*/cart` consoliderait les transactions telles que `GET /users/42/cart` et `GET /users/73/cart` en un seul nom de transaction `GET /users/*/cart`, réduisant ainsi la cardinalité du nom de transaction.", "xpack.apm.agentConfig.transactionNameGroups.label": "Groupes de noms de transaction", "xpack.apm.agentConfig.transactionSampleRate.description": "Par défaut, l'agent échantillonnera chaque transaction (par ex. requête à votre service). Pour réduire la surcharge et les exigences de stockage, vous pouvez définir le taux d'échantillonnage sur une valeur comprise entre 0,0 et 1,0. La durée globale et le résultat des transactions non échantillonnées seront toujours enregistrés, mais pas les informations de contexte, les étiquettes ni les intervalles.", "xpack.apm.agentConfig.transactionSampleRate.label": "Taux d'échantillonnage des transactions", - "xpack.apm.agentConfig.unnestExceptions.description": "Lors du reporting d'exceptions,\ndésimbrique les exceptions correspondant au modèle de caractère générique.\nCela peut s'avérer pratique pour Spring avec \"org.springframework.web.util.NestedServletException\",\npar exemple.", + "xpack.apm.agentConfig.unnestExceptions.description": "Lors du reporting d'exceptions, désimbrique les exceptions correspondant au modèle de caractère générique. Par exemple, cela peut s'avérer pratique pour Spring avec `org.springframework.web.util.NestedServletException`.", "xpack.apm.agentConfig.unnestExceptions.label": "Désimbriquer les exceptions", "xpack.apm.agentConfig.unsavedSetting.tooltip": "Non enregistré", - "xpack.apm.agentConfig.usePathAsTransactionName.description": "Si `true` est défini,\nles noms de transaction de frameworks non pris en charge ou partiellement pris en charge seront au format `$method $path` au lieu de simplement `$method unknown route`.\n\nAVERTISSEMENT : si vos URL contiennent des paramètres de chemin tels que `/user/$userId`,\nsoyez très prudent en activant cet indicateur,\ncar cela peut entraîner une explosion de groupes de transactions.\nConsultez l'option `transaction_name_groups` pour savoir comment atténuer ce problème en regroupant les URL ensemble.", + "xpack.apm.agentConfig.usePathAsTransactionName.description": "Lorsque défini sur `true`, les noms de transaction de frameworks non pris en charge ou partiellement pris en charge seront au format `$method $path` au lieu de simplement `$method unknown route`. AVERTISSEMENT : Si vos URL contiennent des paramètres de chemin tels que `/user/$userId`, vous devez être très prudent lorsque vous activez cet indicateur, car cela peut entraîner une explosion des groupes de transactions. Consultez l'option `transaction_name_groups` pour savoir comment atténuer ce problème en regroupant les URL ensemble.", "xpack.apm.agentConfig.usePathAsTransactionName.label": "Utiliser le chemin comme nom de transaction", "xpack.apm.agentExplorer.agentLanguageSelect.label": "Langage de l'agent", "xpack.apm.agentExplorer.agentLanguageSelect.placeholder": "Tous", @@ -10102,13 +10931,14 @@ "xpack.apm.aiAssistant.starterPrompts.explainNoData.title": "Expliquer", "xpack.apm.alertDetails.error.toastDescription": "Impossible de charger les graphiques de la page de détails d’alerte. Veuillez essayer d’actualiser la page si l’alerte vient d’être créée", "xpack.apm.alertDetails.error.toastTitle": "Une erreur s’est produite lors de l’identification de la plage temporelle de l’alerte.", + "xpack.apm.alertDetails.thresholdTitle": "Seuil dépassé", "xpack.apm.alertDetails.viewInApm": "Afficher dans APM", "xpack.apm.alerting.fields.environment": "Environnement", "xpack.apm.alerting.fields.error.group.id": "Clé du groupe d'erreurs", "xpack.apm.alerting.fields.service": "Service", "xpack.apm.alerting.fields.transaction.name": "Nom", "xpack.apm.alerting.fields.type": "Type", - "xpack.apm.alerting.transaction.name.custom.text": "Ajouter \\{searchValue\\} en tant que nouveau nom de transaction", + "xpack.apm.alerting.transaction.name.custom.text": "Ajouter '{searchValue}' en tant que nouveau nom de transaction", "xpack.apm.alertingEmbeddables.serviceName.error.toastDescription": "Impossible de charger les visualisations d’APM.", "xpack.apm.alertingEmbeddables.serviceName.error.toastTitle": "Une erreur s'est produite lors de l'identification du nom du service APM ou du type de transaction.", "xpack.apm.alertingEmbeddables.timeRange.error.toastTitle": "Une erreur s’est produite lors de l’identification de la plage temporelle de l’alerte.", @@ -10142,20 +10972,20 @@ "xpack.apm.alerts.timeLabels.minutes": "minutes", "xpack.apm.alerts.timeLabels.seconds": "secondes", "xpack.apm.alertTypes.anomaly.description": "Alerte lorsque la latence, le rendement ou le taux de transactions ayant échoué d'un service est anormal.", - "xpack.apm.alertTypes.errorCount.defaultActionMessage": "'{{context.reason}}'\n\n'{{rule.name}}' est active selon les conditions suivantes :\n\n- Nom de service : '{{context.serviceName}}'\n- Environnement : '{{context.environment}}'\n- Nombre d’erreurs : '{{context.triggerValue}}' erreurs sur la dernière période de '{{context.interval}}'\n- Seuil : '{{context.threshold}}'\n\n[Afficher les détails de l’alerte]('{{context.alertDetailsUrl}}')\n", - "xpack.apm.alertTypes.errorCount.defaultRecoveryMessage": "'{{context.reason}}'\n\n'{{rule.name}}' s’est rétablie.\n\n- Nom de service : '{{context.serviceName}}'\n- Environnement : '{{context.environment}}'\n- Nombre d’erreurs : '{{context.triggerValue}}' erreurs sur la dernière période de '{{context.interval}}'\n- Seuil : '{{context.threshold}}'\n\n[Afficher les détails de l’alerte]('{{context.alertDetailsUrl}}')\n", + "xpack.apm.alertTypes.errorCount.defaultActionMessage": "'{{context.reason}}' '{{rule.name}}' est actif avec les conditions suivantes : - Nom du service : '{{context.serviceName}}' - Environnement : '{{context.environment}}' - Nombre d'erreurs : '{{context.triggerValue}}' erreurs au cours des dernières '{{context.interval}}' - Seuil : '{{context.threshold}}' [Afficher les détails de l'alerte]('{{context.alertDetailsUrl}}')", + "xpack.apm.alertTypes.errorCount.defaultRecoveryMessage": "'{{context.reason}}' '{{rule.name}}' s'est rétabli : - Nom du service : '{{context.serviceName}}' - Environnement : '{{context.environment}}' - Nombre d'erreurs : '{{context.triggerValue}}' erreurs au cours des dernières '{{context.interval}}' - Seuil : '{{context.threshold}}' [Afficher les détails de l'alerte]('{{context.alertDetailsUrl}}')", "xpack.apm.alertTypes.errorCount.description": "Alerte lorsque le nombre d'erreurs d'un service dépasse un seuil défini.", "xpack.apm.alertTypes.errorCount.reason": "Le nombre d'erreurs est {measured} au cours des derniers/dernières {interval} pour {group}. Alerte lorsque > {threshold}.", "xpack.apm.alertTypes.minimumWindowSize.description": "La valeur minimale requise est {sizeValue} {sizeUnit}. Elle permet de s'assurer que l'alerte comporte suffisamment de données à évaluer. Si vous choisissez une valeur trop basse, l'alerte ne se déclenchera peut-être pas comme prévu.", - "xpack.apm.alertTypes.transactionDuration.defaultActionMessage": "'{{context.reason}}'\n\n'{{rule.name}}' est active selon les conditions suivantes :\n\n- Nom de service : '{{context.serviceName}}'\n- Type de transaction : '{{context.transactionType}}'\n- Nom de transaction : '{{context.transactionName}}'\n- Environnement : '{{context.environment}}'\n- Latence : '{{context.triggerValue}}' sur la dernière période de '{{context.interval}}'\n- Seuil : '{{context.threshold}}' ms\n\n[Afficher les détails de l’alerte]('{{context.alertDetailsUrl}}')\n", - "xpack.apm.alertTypes.transactionDuration.defaultRecoveryMessage": "'{{context.reason}}'\n\n'{{rule.name}}' s’est rétablie.\n\n- Nom de service : '{{context.serviceName}}'\n- Type de transaction : '{{context.transactionType}}'\n- Nom de transaction : '{{context.transactionName}}'\n- Environnement : '{{context.environment}}'\n- Latence : '{{context.triggerValue}}' sur la dernière période de '{{context.interval}}'\n- Seuil : '{{context.threshold}}' ms\n\n[Afficher les détails de l’alerte]('{{context.alertDetailsUrl}}')\n", + "xpack.apm.alertTypes.transactionDuration.defaultActionMessage": "'{{context.reason}}' '{{rule.name}}' est actif avec les conditions suivantes : - Nom du service : '{{context.serviceName}}' - Type de transaction : '{{context.transactionType}}' - Nom de transaction : '{{context.transactionName}}' - Environnement : '{{context.environment}}' - Latence : '{{context.triggerValue}}' sur les dernières '{{context.interval}}' - Seuil : '{{context.threshold}}' ms [Afficher les détails de l'alerte]('{{context.alertDetailsUrl}}')", + "xpack.apm.alertTypes.transactionDuration.defaultRecoveryMessage": "'{{context.reason}}' '{{rule.name}}' s'est rétabli : - Nom du service : '{{context.serviceName}}' - Type de transaction : '{{context.transactionType}}' - Nom de transaction : '{{context.transactionName}}' - Environnement : '{{context.environment}}' - Latence : '{{context.triggerValue}}' sur les dernières '{{context.interval}}' - Seuil : '{{context.threshold}}' ms [Afficher les détails de l'alerte]('{{context.alertDetailsUrl}}')", "xpack.apm.alertTypes.transactionDuration.description": "Alerte lorsque la latence d'un type de transaction spécifique dans un service dépasse le seuil défini.", "xpack.apm.alertTypes.transactionDuration.reason": "La latence de {aggregationType} est {measured} au cours des derniers/dernières {interval} pour {group}. Alerte lorsque > {threshold}.", - "xpack.apm.alertTypes.transactionDurationAnomaly.defaultActionMessage": "'{{context.reason}}'\n\n'{{rule.name}}' est active selon les conditions suivantes :\n\n- Nom de service : '{{context.serviceName}}'\n- Type de transaction : '{{context.transactionType}}'\n- Environnement : '{{context.environment}}'\n- Sévérité : '{{context.triggerValue}}'\n- Seuil : '{{context.threshold}}'\n\n[Afficher les détails de l’alerte]('{{context.alertDetailsUrl}}')\n", - "xpack.apm.alertTypes.transactionDurationAnomaly.defaultRecoveryMessage": "'{{context.reason}}'\n\n'{{rule.name}}' s’est rétablie.\n\n- Nom de service : '{{context.serviceName}}'\n- Type de transaction : '{{context.transactionType}}'\n- Environnement : '{{context.environment}}'\n- Sévérité : '{{context.triggerValue}}'\n- Seuil : '{{context.threshold}}'\n\n[Afficher les détails de l’alerte]('{{context.alertDetailsUrl}}')\n", + "xpack.apm.alertTypes.transactionDurationAnomaly.defaultActionMessage": "'{{context.reason}}' '{{rule.name}}' est actif avec les conditions suivantes : - Nom du service : '{{context.serviceName}}' - Type de transaction : '{{context.transactionType}}' - Environnement : '{{context.environment}}' - Gravité : '{{context.triggerValue}}' - Seuil : '{{context.threshold}}' [Afficher les détails de l'alerte]('{{context.alertDetailsUrl}}')", + "xpack.apm.alertTypes.transactionDurationAnomaly.defaultRecoveryMessage": "'{{context.reason}}' '{{rule.name}}' s'est rétabli : - Nom du service : '{{context.serviceName}}' - Type de transaction : '{{context.transactionType}}' - Environnement : '{{context.environment}}' - Gravité : '{{context.triggerValue}}' - Seuil : '{{context.threshold}}' [Afficher les détails de l'alerte]('{{context.alertDetailsUrl}}')", "xpack.apm.alertTypes.transactionDurationAnomaly.reason": "Une anomalie {severityLevel} {detectorTypeLabel} avec un score de {anomalyScore} a été détectée dans le dernier {interval} pour {serviceName}.", - "xpack.apm.alertTypes.transactionErrorRate.defaultActionMessage": "'{{context.reason}}'\n\n'{{rule.name}}' est active selon les conditions suivantes :\n\n- Nom de service : '{{context.serviceName}}'\n- Type de transaction : '{{context.transactionType}}'\n- Environnement : '{{context.environment}}'\n- Taux de transactions ayant échoué : '{{context.triggerValue}}' % des erreurs sur la dernière période de '{{context.interval}}'\n- Seuil : '{{context.threshold}}'%\n\n[Afficher les détails de l’alerte]('{{context.alertDetailsUrl}}')\n", - "xpack.apm.alertTypes.transactionErrorRate.defaultRecoveryMessage": "'{{context.reason}}'\n\n'{{rule.name}}' s’est rétablie.\n\n- Nom de service : '{{context.serviceName}}'\n- Type de transaction : '{{context.transactionType}}'\n- Environnement : '{{context.environment}}'\n- Taux de transactions ayant échoué : '{{context.triggerValue}}' % des erreurs sur la dernière période de '{{context.interval}}'\n- Seuil : '{{context.threshold}}'%\n\n[Afficher les détails de l’alerte]('{{context.alertDetailsUrl}}')\n", + "xpack.apm.alertTypes.transactionErrorRate.defaultActionMessage": "'{{context.reason}}' '{{rule.name}}' est actif avec les conditions suivantes : - Nom du service : '{{context.serviceName}}' - Type de transaction : '{{context.transactionType}}' - Environnement : '{{context.environment}}' - Taux de transactions échouées : '{{context.triggerValue}}'% d'erreurs au cours des dernières '{{context.interval}}' - Seuil : '{{context.threshold}}'% [Afficher les détails de l'alerte]('{{context.alertDetailsUrl}}')", + "xpack.apm.alertTypes.transactionErrorRate.defaultRecoveryMessage": "'{{context.reason}}' '{{rule.name}}' s'est rétabli : - Nom du service : '{{context.serviceName}}' - Type de transaction : '{{context.transactionType}}' - Environnement : '{{context.environment}}' - Taux de transactions échouées : '{{context.triggerValue}}'% d'erreurs au cours des dernières '{{context.interval}}' - Seuil : '{{context.threshold}}'% [Afficher les détails de l'alerte]('{{context.alertDetailsUrl}}')", "xpack.apm.alertTypes.transactionErrorRate.description": "Alerte lorsque le taux d'erreurs de transaction d'un service dépasse un seuil défini.", "xpack.apm.alertTypes.transactionErrorRate.reason": "L'échec des transactions est {measured} au cours des derniers/dernières {interval} pour {group}. Alerte lorsque > {threshold}.", "xpack.apm.analyzeDataButton.label": "Explorer les données", @@ -10189,8 +11019,10 @@ "xpack.apm.apmSettings.save.error": "Une erreur s'est produite lors de l'enregistrement des paramètres", "xpack.apm.apmSettings.saveButton": "Enregistrer les modifications", "xpack.apm.appName": "APM", + "xpack.apm.associate.service.logs.button": "Associer les logs de service existants", "xpack.apm.betaBadgeDescription": "Cette fonctionnalité est actuellement en version bêta. Si vous rencontrez des bugs ou si vous souhaitez apporter des commentaires, ouvrez un ticket de problème ou visitez notre forum de discussion.", "xpack.apm.betaBadgeLabel": "Bêta", + "xpack.apm.button.exploreLogs": "Explorer les logs", "xpack.apm.chart.annotation.version": "Version", "xpack.apm.chart.comparison.defaultPreviousPeriodLabel": "Période précédente", "xpack.apm.chart.cpuSeries.processAverageLabel": "Moyenne de processus", @@ -10203,6 +11035,7 @@ "xpack.apm.clickArialLabel.": "Cliquez pour afficher plus de détails", "xpack.apm.coldstartRate": "Taux de démarrage à froid", "xpack.apm.coldstartRate.chart.coldstartRate": "Taux de démarrage à froid (moy.)", + "xpack.apm.collect.service.logs.button": "Collecter de nouveaux logs de service", "xpack.apm.comparison.expectedBoundsTitle": "Limites attendues", "xpack.apm.comparison.mlExpectedBoundsDisabledText": "Limites attendues (la détection d'anomalie doit être activée pour l’environnement)", "xpack.apm.comparison.mlExpectedBoundsText": "Limites attendues", @@ -10351,14 +11184,21 @@ "xpack.apm.durationDistributionChartWithScrubber.emptySelectionText": "Glisser et déposer pour sélectionner une plage", "xpack.apm.durationDistributionChartWithScrubber.panelTitle": "Distribution de la latence", "xpack.apm.durationDistributionChartWithScrubber.selectionText": "Selection : {formattedSelection}", + "xpack.apm.eemFeedback.button.openSurvey": "Dites-nous ce que vous pensez !", + "xpack.apm.eemFeedback.title": "Faites-nous part de vos réflexions !", "xpack.apm.emptyMessage.noDataFoundDescription": "Essayez avec une autre plage temporelle ou réinitialisez le filtre de recherche.", "xpack.apm.emptyMessage.noDataFoundLabel": "Aucune donnée trouvée.", - "xpack.apm.environmentsSelectCustomOptionText": "Ajouter \\{searchValue\\} en tant que nouvel environnement", + "xpack.apm.entitiesInventoryCallout.linklabel": "Essayez notre nouvel inventaire !", + "xpack.apm.entitiesInventoryCallout.linkTooltip": "Cacher ceci", + "xpack.apm.entityLink.eemGuide.description": "Désolé, nous ne pouvons pas vous donner plus de détails sur ce service pour le moment dû au motif suivant : {limitationsLink}.", + "xpack.apm.entityLink.eemGuide.description.link": "limitations du modèle d'entité d'Elastic", + "xpack.apm.entityLink.eemGuide.goBackButtonLabel": "Retour", + "xpack.apm.entityLink.eemGuide.title": "Service non pris en charge", "xpack.apm.environmentsSelectPlaceholder": "Sélectionner l'environnement", "xpack.apm.error.prompt.body": "Veuillez consulter la console de développeur de votre navigateur pour plus de détails.", "xpack.apm.error.prompt.title": "Désolé, une erreur s'est produite :(", "xpack.apm.errorCountAlert.name": "Seuil de nombre d'erreurs", - "xpack.apm.errorCountRuleType.errors": " erreurs", + "xpack.apm.errorCountRuleType.errors": "erreurs", "xpack.apm.errorGroup.chart.ocurrences": "Occurrences d'erreurs", "xpack.apm.errorGroup.tabs.exceptionStacktraceLabel": "Trace de pile d'exception", "xpack.apm.errorGroup.tabs.logStacktraceLabel": "Trace de pile des logs", @@ -10379,7 +11219,6 @@ "xpack.apm.errorGroupTopTransactions.loading": "Chargement...", "xpack.apm.errorGroupTopTransactions.noResults": "Aucune erreur trouvée associée à des transactions", "xpack.apm.errorGroupTopTransactions.title": "5 principales transactions affectées", - "xpack.apm.errorKeySelectCustomOptionText": "Ajouter \\{searchValue\\} comme nouvelle clé de groupe d'erreurs", "xpack.apm.errorOverview.treemap.dropdown.devices.subtitle": "Cet affichage sous forme de compartimentage permet de visualiser plus facilement et rapidement les appareils les plus affectés", "xpack.apm.errorOverview.treemap.dropdown.versions.subtitle": "Cet affichage sous forme de compartimentage permet de visualiser plus facilement et rapidement les versions les plus affectées.", "xpack.apm.errorOverview.treemap.subtitle": "Compartimentage {currentTreemap} affichant le nombre total et les plus affectés", @@ -10417,6 +11256,7 @@ "xpack.apm.failure_badge.tooltip": "event.outcome = échec", "xpack.apm.featureRegistry.apmFeatureName": "APM et expérience utilisateur", "xpack.apm.feedbackMenu.appName": "APM", + "xpack.apm.feedbackModal.body.thanks": "Merci d'avoir essayé notre nouvelle interface. Nous continuerons à l'améliorer, alors revenez souvent.", "xpack.apm.fetcher.error.status": "Erreur", "xpack.apm.fetcher.error.title": "Erreur lors de la récupération des ressources", "xpack.apm.fetcher.error.url": "URL", @@ -10579,7 +11419,7 @@ "xpack.apm.home.alertsMenu.alerts": "Alertes et règles", "xpack.apm.home.alertsMenu.createAnomalyAlert": "Créer une règle d'anomalie", "xpack.apm.home.alertsMenu.createThresholdAlert": "Créer une règle de seuil", - "xpack.apm.home.alertsMenu.errorCount": " Créer une règle de comptage des erreurs", + "xpack.apm.home.alertsMenu.errorCount": "Créer une règle de comptage des erreurs", "xpack.apm.home.alertsMenu.transactionDuration": "Latence", "xpack.apm.home.alertsMenu.transactionErrorRate": "Taux de transactions ayant échoué", "xpack.apm.home.alertsMenu.viewActiveAlerts": "Gérer les règles", @@ -10623,7 +11463,7 @@ "xpack.apm.jvmsTable.nonHeapMemoryColumnLabel": "Moy. segment de mémoire sans tas", "xpack.apm.jvmsTable.threadCountColumnLabel": "Nombre de threads max", "xpack.apm.keyValueFilterList.actionFilterLabel": "Filtrer par valeur", - "xpack.apm.kueryBar.placeholder": "Rechercher {event, select,\n transaction {des transactions}\n metric {des indicateurs}\n error {des erreurs}\n other {des transactions, des erreurs et des indicateurs}\n } (par ex. {queryExample})", + "xpack.apm.kueryBar.placeholder": "Rechercher {event, select, transaction {des transactions} metric {des indicateurs} error {des erreurs} other {des transactions, des erreurs et des indicateurs} } (p. ex. {queryExample})", "xpack.apm.labs": "Ateliers", "xpack.apm.labs.cancel": "Annuler", "xpack.apm.labs.description": "Essayez les fonctionnalités APM qui sont en version d'évaluation technique et en cours de progression.", @@ -10632,6 +11472,11 @@ "xpack.apm.latencyCorrelations.licenseCheckText": "Pour utiliser les corrélations de latence, vous devez disposer d'une licence Elastic Platinum. Elle vous permettra de découvrir quels champs sont corrélés à de faibles performances.", "xpack.apm.license.button": "Commencer l'essai", "xpack.apm.license.title": "Commencer un essai gratuit de 30 jours", + "xpack.apm.logErrorRate": "Taux d'erreur des logs", + "xpack.apm.logErrorRate.tooltip.description": "Taux de logs d'erreurs par minute observé pour un {serviceName} donné.", + "xpack.apm.logRate": "Taux du log", + "xpack.apm.logs.chart.logRate": "Taux de log", + "xpack.apm.logs.chart.logsErrorRate": "Taux d'erreur des logs", "xpack.apm.managedTable.errorMessage": "Impossible de récupérer", "xpack.apm.managedTable.loadingDescription": "Chargement…", "xpack.apm.metadata.help": "Comment ajouter des étiquettes et d'autres données", @@ -10692,19 +11537,24 @@ "xpack.apm.mobileServiceDetails.serviceMapTabLabel": "Carte des services", "xpack.apm.mobileServiceDetails.transactionsTabLabel": "Transactions", "xpack.apm.mobileServices.breadcrumb.title": "Services", + "xpack.apm.multiSignal.servicesTable.logErrorRate.tooltip.serviceNameLabel": "service.name", + "xpack.apm.multiSignal.servicesTable.logRate.tooltip.description": "Taux de logs par minute observé pour un {serviceName} donné.", + "xpack.apm.multiSignal.servicesTable.logRate.tooltip.serviceNameLabel": "service.name", + "xpack.apm.multiSignal.table.tooltip.formula": "Calcul de la formule :", "xpack.apm.navigation.apmSettingsTitle": "Paramètres", "xpack.apm.navigation.apmStorageExplorerTitle": "Explorateur de stockage", "xpack.apm.navigation.apmTutorialTitle": "Tutoriel", "xpack.apm.navigation.dependenciesTitle": "Dépendances", + "xpack.apm.navigation.rootTitle": "Applications", "xpack.apm.navigation.serviceGroupsTitle": "Groupes de services", "xpack.apm.navigation.serviceMapTitle": "Carte des services", - "xpack.apm.navigation.servicesTitle": "Services", + "xpack.apm.navigation.servicesTitle": "Inventaire de service", "xpack.apm.navigation.tracesTitle": "Traces", "xpack.apm.noDataConfig.addApmIntegrationButtonLabel": "Ajouter l'intégration APM", "xpack.apm.noDataConfig.addDataButtonLabel": "Ajouter des données", "xpack.apm.noDataConfig.solutionName": "Observabilité", "xpack.apm.notAvailableLabel": "S. O.", - "xpack.apm.observabilityAiAssistant.functions.registerGetApmDownstreamDependencies.descriptionForUser": "Obtenez les dépendances en aval (services ou back-ends non instrumentés) pour un \n service. Vous pouvez ainsi mapper le nom d'une dépendance en aval avec un service par le \n renvoi de span.destination.service.resource et de service.name. Utilisez cette fonction pour \n explorer plus avant si nécessaire.", + "xpack.apm.observabilityAiAssistant.functions.registerGetApmDownstreamDependencies.descriptionForUser": "Obtenez les dépendances en aval (services ou back-ends non instrumentés) pour un service. Vous pouvez ainsi mapper le nom d'une dépendance en aval avec un service par le renvoi de span.destination.service.resource et de service.name. Utilisez ceci pour explorer davantage, si nécessaire.", "xpack.apm.observabilityAiAssistant.functions.registerGetApmServicesList.descriptionForUser": "Obtenez la liste des services surveillés, leur statut d'intégrité et les alertes.", "xpack.apm.onboarding.agent.column.configSettings": "Paramètre de configuration", "xpack.apm.onboarding.agent.column.configValue": "Valeur de configuration", @@ -10737,12 +11587,12 @@ "xpack.apm.onboarding.django.install.title": "Installer l'agent APM", "xpack.apm.onboarding.djangoClient.configure.commands.addAgentComment": "Ajouter l'agent aux applications installées", "xpack.apm.onboarding.djangoClient.configure.commands.addTracingMiddlewareComment": "Ajoutez notre intergiciel de traçage pour envoyer des indicateurs de performance", - "xpack.apm.onboarding.dotNet.configureAgent.textPost": "Si vous ne transférez pas une instance `IConfiguration` à l'agent (par ex., pour les applications non ASP.NET Core) vous pouvez également configurer l'agent par le biais de variables d'environnement. \n Pour une utilisation avancée, consultez [the documentation]({documentationLink}), qui comprend notamment le guide de démarrage rapide pour [Profiler Auto instrumentation]({profilerLink}).", + "xpack.apm.onboarding.dotNet.configureAgent.textPost": "Si vous ne transférez pas une instance `IConfiguration` à l'agent (par ex., pour les applications non ASP.NET Core) vous pouvez également configurer l'agent par le biais de variables d'environnement. Pour une utilisation avancée, consultez [the documentation]({documentationLink}), qui comprend notamment le guide de démarrage rapide pour [Profiler Auto instrumentation]({profilerLink}).", "xpack.apm.onboarding.dotNet.configureAgent.title": "Exemple de fichier appsettings.json :", - "xpack.apm.onboarding.dotNet.configureApplication.textPost": "La transmission d'une instance `IConfiguration` est facultative mais si cette opération est effectuée, l'agent lira les paramètres de configuration depuis cette instance `IConfiguration` (par ex. à partir du fichier `appsettings.json`).", - "xpack.apm.onboarding.dotNet.configureApplication.textPre": "Si vous utilisez ASP.NET Core avec le package `Elastic.Apm.NetCoreAll`, appelez la méthode `UseAllElasticApm` dans la méthode \"Configure\" dans le fichier `Startup.cs`.", + "xpack.apm.onboarding.dotNet.configureApplication.textPost": "La transmission d'une instance `IConfiguration` est facultative mais si cette opération est effectuée, l'agent lira les paramètres de configuration depuis cette instance `IConfiguration` (par ex. à partir du fichier `appsettings.json`).", + "xpack.apm.onboarding.dotNet.configureApplication.textPre": "Si vous utilisez ASP.NET Core avec le package `Elastic.Apm.NetCoreAll`, appelez la méthode `UseAllElasticApm` dans la méthode `Configure` dans le fichier `Startup.cs`.", "xpack.apm.onboarding.dotNet.configureApplication.title": "Ajouter l'agent à l'application", - "xpack.apm.onboarding.dotNet.download.textPre": "Ajoutez le ou les packages d'agent depuis [NuGet]({allNuGetPackagesLink}) à votre application .NET. Plusieurs packages NuGet sont disponibles pour différents cas d'utilisation. \n\nPour une application ASP.NET Core avec Entity Framework Core, téléchargez le package [Elastic.Apm.NetCoreAll]({netCoreAllApmPackageLink}). Ce package ajoutera automatiquement chaque composant d'agent à votre application. \n\n Si vous souhaitez minimiser les dépendances, vous pouvez utiliser le package [Elastic.Apm.AspNetCore]({aspNetCorePackageLink}) uniquement pour le monitoring d'ASP.NET Core ou le package [Elastic.Apm.EfCore]({efCorePackageLink}) uniquement pour le monitoring d'Entity Framework Core. \n\n Si vous souhaitez seulement utiliser l'API d'agent publique pour l'instrumentation manuelle, utilisez le package [Elastic.Apm]({elasticApmPackageLink}).", + "xpack.apm.onboarding.dotNet.download.textPre": "Ajoutez le ou les packages d'agent depuis [NuGet]({allNuGetPackagesLink}) à votre application .NET. Plusieurs packages NuGet sont disponibles pour différents cas d'utilisation. Pour une application ASP.NET Core avec Entity Framework Core, téléchargez le package [Elastic.Apm.NetCoreAll]({netCoreAllApmPackageLink}). Ce package ajoutera automatiquement chaque composant d'agent à votre application. Si vous souhaitez minimiser les dépendances, vous pouvez utiliser le package [Elastic.Apm.AspNetCore]({aspNetCorePackageLink}) uniquement pour le monitoring d'ASP.NET Core ou le package [Elastic.Apm.EfCore]({efCorePackageLink}) uniquement pour le monitoring d'Entity Framework Core. Si vous souhaitez seulement utiliser l'API d'agent publique pour l'instrumentation manuelle, utilisez le package [Elastic.Apm]({elasticApmPackageLink}).", "xpack.apm.onboarding.dotNet.download.title": "Télécharger l'agent APM", "xpack.apm.onboarding.dotnetClient.createConfig.commands.defaultServiceName": "La valeur par défaut est l'assemblage d'entrée de l'application.", "xpack.apm.onboarding.flask.configure.textPost": "Consultez la [documentation]({documentationLink}) pour une utilisation avancée.", @@ -10765,26 +11615,26 @@ "xpack.apm.onboarding.goClient.configure.commands.initializeUsingEnvironmentVariablesComment": "Initialisez à l'aide des variables d'environnement :", "xpack.apm.onboarding.goClient.configure.commands.usedExecutableNameComment": "En l'absence de spécification, le nom de l'exécutable est utilisé.", "xpack.apm.onboarding.introduction.imageAltDescription": "Capture d'écran du tableau de bord principal.", - "xpack.apm.onboarding.java.download.textPre": "Téléchargez le fichier jar de l'agent depuis [Maven Central]({mavenCentralLink}). N'ajoutez **pas** l'agent comme dépendance de votre application.", + "xpack.apm.onboarding.java.download.textPre": "Téléchargez le fichier jar de l'agent depuis [Maven Central]({mavenCentralLink}). N'ajoutez **pas** l'agent comme dépendance de votre application.", "xpack.apm.onboarding.java.download.title": "Télécharger l'agent APM", "xpack.apm.onboarding.java.startApplication.textPost": "Consultez la [documentation]({documentationLink}) pour découvrir les options de configuration et l'utilisation avancée.", - "xpack.apm.onboarding.java.startApplication.textPre": "Ajoutez l'indicateur `-javaagent` et configurez l'agent avec les propriétés du système.\n\n * Définir le nom de service requis (caractères autorisés : a-z, A-Z, 0-9, -, _ et espace)\n * Définir l'URL personnalisée du serveur APM (par défaut : {customApmServerUrl})\n * Définir le token secret du serveur APM\n * Définir l'environnement de service\n * Définir le package de base de votre application", + "xpack.apm.onboarding.java.startApplication.textPre": "Ajoutez l'indicateur `-javaagent` et configurez l'agent avec les propriétés du système. * Définir le nom de service requis (caractères autorisés : a-z, A-Z, 0-9, -, _ et espace) * * Définir l'URL personnalisée du serveur APM (par défaut : {customApmServerUrl}) * Définir le jeton secret du serveur APM * Définir l'environnement de service * Définir le package de base de votre application", "xpack.apm.onboarding.java.startApplication.title": "Lancer votre application avec l'indicateur javaagent", "xpack.apm.onboarding.node.configure.textPost": "Consultez [the documentation]({documentationLink}) pour une utilisation avancée, notamment pour connaître l'utilisation avec [Babel/ES Modules]({babelEsModulesLink}).", - "xpack.apm.onboarding.node.configure.textPre": "Les agents sont des bibliothèques exécutées dans les processus de votre application. Les services APM sont créés par programmation à partir du `serviceName`. Cet agent prend en charge de nombreux frameworks, mais peut également être utilisé avec votre pile personnalisée.", + "xpack.apm.onboarding.node.configure.textPre": "Les agents sont des bibliothèques exécutées dans les processus de votre application. Les services APM sont créés par programmation à partir du `serviceName`. Cet agent prend en charge de nombreux frameworks, mais peut également être utilisé avec votre pile personnalisée.", "xpack.apm.onboarding.node.configure.title": "Configurer l'agent", "xpack.apm.onboarding.node.install.textPre": "Installez l'agent APM pour Node.js comme dépendance de votre application.", "xpack.apm.onboarding.node.install.title": "Installer l'agent APM", "xpack.apm.onboarding.nodeClient.configure.commands.addThisToTheFileTopComment": "Ajoutez ceci tout en haut du premier fichier chargé dans votre application", "xpack.apm.onboarding.nodeClient.createConfig.commands.serviceName": "Remplace le nom de service dans package.json.", "xpack.apm.onboarding.otel.column.value.copyIconText": "Copier dans le presse-papiers", - "xpack.apm.onboarding.otel.configureAgent.textPost": "Consultez la [documentation]({documentationLink}) pour découvrir les options de configuration et l'utilisation avancée.\n\n", + "xpack.apm.onboarding.otel.configureAgent.textPost": "Consultez la [documentation]({documentationLink}) pour découvrir les options de configuration et l'utilisation avancée.", "xpack.apm.onboarding.otel.configureAgent.textPre": "Spécifiez les paramètres OpenTelemetry suivants dans le cadre du démarrage de votre application. Notez que les SDK OpenTelemetry exigent du code de démarrage en plus de ces paramètres de configuration. Pour plus de détails, consultez la [documentation OpenTelemetry Elastic]({openTelemetryDocumentationLink}) et les [guides d'instrumentation OpenTelemetry]({openTelemetryInstrumentationLink}).", "xpack.apm.onboarding.otel.configureAgent.title": "Configurer OpenTelemetry dans votre application", "xpack.apm.onboarding.otel.download.textPre": "Consultez les [guides d'instrumentation OpenTelemetry]({openTelemetryInstrumentationLink}) pour télécharger l'agent ou le SDK OpenTelemetry pour votre langage.", "xpack.apm.onboarding.otel.download.title": "Télécharger l’agent APM OpenTelemetry ou le SDK", "xpack.apm.onboarding.php.Configure the agent.textPre": "APM se lance automatiquement au démarrage de l'application. Configurez l'agent soit depuis le fichier `php.ini` :", - "xpack.apm.onboarding.php.configureAgent.textPost": "Consultez la [documentation]({documentationLink}) pour découvrir les options de configuration et l'utilisation avancée.\n\n", + "xpack.apm.onboarding.php.configureAgent.textPost": "Consultez la [documentation]({documentationLink}) pour découvrir les options de configuration et l'utilisation avancée.", "xpack.apm.onboarding.php.configureAgent.title": "Configurer l'agent", "xpack.apm.onboarding.php.download.textPre": "Téléchargez le package correspondant à votre plateforme depuis [GitHub releases]({githubReleasesLink}).", "xpack.apm.onboarding.php.download.title": "Télécharger l'agent APM", @@ -10793,7 +11643,7 @@ "xpack.apm.onboarding.php.installPackage.title": "Installer le package téléchargé", "xpack.apm.onboarding.rack.configure.commands.optionalComment": "facultatif, la valeur par défaut est config/elastic_apm.yml", "xpack.apm.onboarding.rack.configure.commands.requiredComment": "requis", - "xpack.apm.onboarding.rack.configure.textPost": "Consultez la [documentation]({documentationLink}) pour découvrir les options de configuration et l'utilisation avancée.\n\n", + "xpack.apm.onboarding.rack.configure.textPost": "Consultez la [documentation]({documentationLink}) pour découvrir les options de configuration et l'utilisation avancée.", "xpack.apm.onboarding.rack.configure.textPre": "Pour Rack, ou un framework compatible (par ex., Sinatra), intégrez l'intergiciel à votre application et démarrez l'agent.", "xpack.apm.onboarding.rack.configure.title": "Configurer l'agent", "xpack.apm.onboarding.rack.createConfig.textPre": "Créez un fichier config {configFile} :", @@ -10801,7 +11651,7 @@ "xpack.apm.onboarding.rack.install.textPre": "Ajoutez l'agent à votre Gemfile.", "xpack.apm.onboarding.rack.install.title": "Installer l'agent APM", "xpack.apm.onboarding.rackClient.createConfig.commands.defaultsToTheNameOfRackAppClassComment": "La valeur par défaut est le nom de la classe de votre application Rack.", - "xpack.apm.onboarding.rails.configure.textPost": "Consultez la [documentation]({documentationLink}) pour découvrir les options de configuration et l'utilisation avancée.\n\n", + "xpack.apm.onboarding.rails.configure.textPost": "Consultez la [documentation]({documentationLink}) pour découvrir les options de configuration et l'utilisation avancée.", "xpack.apm.onboarding.rails.configure.textPre": "APM se lance automatiquement au démarrage de l'application. Configurer l'agent, en créant le fichier config {configFile}", "xpack.apm.onboarding.rails.configure.title": "Configurer l'agent", "xpack.apm.onboarding.rails.install.textPre": "Ajoutez l'agent à votre Gemfile.", @@ -10812,6 +11662,8 @@ "xpack.apm.onboarding.shared_clients.configure.commands.serverUrlHint": "Définir l'URL personnalisée du serveur APM (par défaut : {defaultApmServerUrl}). L'URL doit être complète et inclure le protocole (http ou https) et le port.", "xpack.apm.onboarding.shared_clients.configure.commands.serviceEnvironmentHint": "Le nom de l'environnement dans lequel ce service est déployé, par exemple \"production\" ou \"test\". Les environnements vous permettent de facilement filtrer les données à un niveau global dans l'interface utilisateur APM. Il est important de garantir la cohérence des noms d'environnements entre les différents agents.", "xpack.apm.onboarding.shared_clients.configure.commands.serviceNameHint": "Le nom de service est le filtre principal dans l'interface utilisateur APM et est utilisé pour regrouper les erreurs et suivre les données ensemble. Caractères autorisés : a-z, A-Z, 0-9, -, _ et espace.", + "xpack.apm.onboarding.specProvider.learnMoreAriaLabel": "En savoir plus sur APM", + "xpack.apm.onboarding.specProvider.learnMoreLabel": "En savoir plus", "xpack.apm.onboarding.specProvider.longDescription": "Le monitoring des performances applicatives (APM) collecte les indicateurs et les erreurs de performance approfondies depuis votre application. Cela vous permet de monitorer les performances de milliers d'applications en temps réel. {learnMoreLink}.", "xpack.apm.percentOfParent": "({value} de {parentType, select, transaction { transaction } trace {trace} other {parentType inconnu} })", "xpack.apm.profiling.callout.description": "Universal Profiling fournit une visibilité sans précédent du code au milieu du comportement en cours d'exécution de toutes les applications. La fonctionnalité profile chaque ligne de code chez le ou les hôtes qui exécutent vos services, y compris votre code applicatif, le kernel et même les bibliothèque tierces.", @@ -10946,6 +11798,7 @@ "xpack.apm.serviceGroups.groupDetailsForm.description.optional": "Facultatif", "xpack.apm.serviceGroups.groupDetailsForm.edit.title": "Modifier un groupe", "xpack.apm.serviceGroups.groupDetailsForm.invalidColorError": "Veuillez fournir une valeur HEX de couleur valide", + "xpack.apm.serviceGroups.groupDetailsForm.invalidNameError": "Veuillez fournir une valeur de nom valide", "xpack.apm.serviceGroups.groupDetailsForm.name": "Nom", "xpack.apm.serviceGroups.groupDetailsForm.selectServices": "Sélectionner des services", "xpack.apm.serviceGroups.groupsCount": "{servicesCount} {servicesCount, plural, =0 {groupe} one {groupe} other {groupes}}", @@ -10985,13 +11838,13 @@ "xpack.apm.serviceIcons.serverless": "Sans serveur", "xpack.apm.serviceIcons.service": "Service", "xpack.apm.serviceIcons.serviceDetails.cloud.architecture": "Architecture", - "xpack.apm.serviceIcons.serviceDetails.cloud.availabilityZoneLabel": "{zones, plural, =0 {Zone de disponibilité} one {Zone de disponibilité} other {Zones de disponibilité}} ", - "xpack.apm.serviceIcons.serviceDetails.cloud.faasTriggerTypeLabel": "{triggerTypes, plural, =0 {Type de déclencheur} one {Type de déclencheur} other {Types de déclencheurs}} ", - "xpack.apm.serviceIcons.serviceDetails.cloud.functionNameLabel": "{functionNames, plural, =0 {Nom de fonction} one {Nom de fonction} other {Noms de fonction}} ", - "xpack.apm.serviceIcons.serviceDetails.cloud.machineTypesLabel": "{machineTypes, plural, =0{Type de machine} one {Type de machine} other {Types de machines}} ", + "xpack.apm.serviceIcons.serviceDetails.cloud.availabilityZoneLabel": "{zones, plural, =0 {Zone de disponibilité} one {Zone de disponibilité} other {Zones de disponibilité}}", + "xpack.apm.serviceIcons.serviceDetails.cloud.faasTriggerTypeLabel": "{triggerTypes, plural, =0 {Type de déclencheur} one {Type de déclencheur} other {Types de déclencheurs}}", + "xpack.apm.serviceIcons.serviceDetails.cloud.functionNameLabel": "{functionNames, plural, =0 {Nom de fonction} one {Nom de fonction} other {Noms de fonction}}", + "xpack.apm.serviceIcons.serviceDetails.cloud.machineTypesLabel": "{machineTypes, plural, =0{Type de machine} one {Type de machine} other {Types de machines}}", "xpack.apm.serviceIcons.serviceDetails.cloud.projectIdLabel": "ID de projet", "xpack.apm.serviceIcons.serviceDetails.cloud.providerLabel": "Fournisseur cloud", - "xpack.apm.serviceIcons.serviceDetails.cloud.regionLabel": "{regions, plural, =0 {Region} one {Région} other {Régions}} ", + "xpack.apm.serviceIcons.serviceDetails.cloud.regionLabel": "{regions, plural, =0 {Region} one {Région} other {Régions}}", "xpack.apm.serviceIcons.serviceDetails.cloud.serviceNameLabel": "Service Cloud", "xpack.apm.serviceIcons.serviceDetails.container.image.name": "Images de conteneurs", "xpack.apm.serviceIcons.serviceDetails.container.os.label": "Système d'exploitation", @@ -11042,7 +11895,6 @@ "xpack.apm.serviceMap.zoomIn": "Zoom avant", "xpack.apm.serviceMap.zoomOut": "Zoom arrière", "xpack.apm.serviceMetrics.loading": "Chargement des indicateurs", - "xpack.apm.serviceNamesSelectCustomOptionText": "Ajouter \\{searchValue\\} en tant que nouveau nom de service", "xpack.apm.serviceNamesSelectPlaceholder": "Sélectionner le nom du service", "xpack.apm.serviceNodeMetrics.containerId": "ID de conteneur", "xpack.apm.serviceNodeMetrics.host": "Hôte", @@ -11135,10 +11987,24 @@ "xpack.apm.servicesTable.tooltip.metricsExplanation": "Les indicateurs du services sont agrégés sur le type de transaction, qui peut être une requête ou un chargement de page. Si ni l'un ni l'autre n'existent, les indicateurs sont agrégés sur le type de transaction disponible en premier.", "xpack.apm.servicesTable.transactionColumnLabel": "Type de transaction", "xpack.apm.servicesTable.transactionErrorRate": "Taux de transactions ayant échoué", + "xpack.apm.serviceTabEmptyState.dependenciesContent": "Visualisez les dépendances de votre service sur les services internes et tiers en instrumentant avec APM.", + "xpack.apm.serviceTabEmptyState.dependenciesTitle": "Comprendre les dépendances de votre service", + "xpack.apm.serviceTabEmptyState.errorGroupOverviewContent": "Analysez les erreurs jusqu'à la transaction spécifique pour identifier les erreurs spécifiques au sein de votre service.", + "xpack.apm.serviceTabEmptyState.errorGroupOverviewTitle": "Identifier les erreurs de transaction liées à vos applications", + "xpack.apm.serviceTabEmptyState.infrastructureContent": "Résolvez les problèmes de service en visualisant l'infrastructure sur laquelle votre service s'exécute.", + "xpack.apm.serviceTabEmptyState.infrastructureTitle": "Comprendre sur quoi s'exécute votre service", + "xpack.apm.serviceTabEmptyState.metricsContent": "Collectez des indicateurs tels que l'utilisation du processeur et de la mémoire pour identifier les goulots d'étranglement des performances qui pourraient affecter vos utilisateurs.", + "xpack.apm.serviceTabEmptyState.metricsTitle": "Afficher les indicateurs clés de votre application", + "xpack.apm.serviceTabEmptyState.overviewContent": "Comprendre les performances, les relations et les dépendances de vos applications en instrumentant avec APM.", + "xpack.apm.serviceTabEmptyState.overviewTitle": "Détectez et résolvez les problèmes plus rapidement grâce à une meilleure visibilité sur votre application", + "xpack.apm.serviceTabEmptyState.serviceMapContent": "Consultez en un coup d'œil les dépendances de vos services pour vous aider à identifier celles susceptibles d'affecter votre service.", + "xpack.apm.serviceTabEmptyState.serviceMapTitle": "Visualiser les dépendances reliant vos services", + "xpack.apm.serviceTabEmptyState.transactionsContent": "Résolvez les problèmes liés aux performances de votre service en analysant la latence, le débit et les erreurs jusqu'à la transaction spécifique.", + "xpack.apm.serviceTabEmptyState.transactionsTitle": "Résoudre les problèmes liés à la latence, au débit et aux erreurs", "xpack.apm.settings.agentConfig": "Configuration de l'agent", "xpack.apm.settings.agentConfig.createConfigButton.tooltip": "Vous ne disposez pas d'autorisations pour créer des configurations d'agent", "xpack.apm.settings.agentConfig.descriptionText": "Affinez votre configuration d'agent depuis l'application APM. Les modifications sont automatiquement propagées à vos agents APM, ce qui vous évite d'effectuer un redéploiement.", - "xpack.apm.settings.agentConfiguration.all.option.calloutTitle": "Ce changement de configuration aura un impact sur tous les services, à l'exception de ceux qui utilisent un agent OpenTelemetry. ", + "xpack.apm.settings.agentConfiguration.all.option.calloutTitle": "Ce changement de configuration aura un impact sur tous les services, à l'exception de ceux qui utilisent un agent OpenTelemetry.", "xpack.apm.settings.agentConfiguration.service.otel.error": "Les services sélectionnés utilisent un agent OpenTelemetry, qui n'est pas pris en charge", "xpack.apm.settings.agentExplorer": "Explorateur d'agent", "xpack.apm.settings.agentExplorer.descriptionText": "L'explorateur d'agent fournit un inventaire des agents déployés et des détails les concernant.", @@ -11173,6 +12039,7 @@ "xpack.apm.settings.agentKeys.emptyPromptTitle": "Créer votre première clé", "xpack.apm.settings.agentKeys.invalidate.failed": "Erreur lors de la suppression de la clé de l'agent APM \"{name}\"", "xpack.apm.settings.agentKeys.invalidate.succeeded": "Suppression de la clé de l'agent APM \"{name}\"", + "xpack.apm.settings.agentKeys.noPermissionCreateAgentKeyTooltipLabel": "Votre rôle d'utilisateur ne dispose pas d'autorisations pour créer des clés d'agent.", "xpack.apm.settings.agentKeys.noPermissionToManagelApiKeysDescription": "Contactez votre administrateur système", "xpack.apm.settings.agentKeys.noPermissionToManagelApiKeysTitle": "Vous devez disposer d'une autorisation pour gérer les clés d'API", "xpack.apm.settings.agentKeys.table.creationColumnName": "Créé", @@ -11205,6 +12072,7 @@ "xpack.apm.settings.anomalyDetection.jobList.mlDescriptionText": "Pour ajouter la détection des anomalies à un nouvel environnement, créez une tâche de Machine Learning. Vous pouvez gérer les tâches de Machine Learning existantes dans {mlJobsLink}.", "xpack.apm.settings.anomalyDetection.jobList.mlDescriptionText.mlJobsLinkText": "Machine Learning", "xpack.apm.settings.anomalyDetection.jobList.mlJobLinkText": "Gérer la tâche", + "xpack.apm.settings.anomalyDetection.jobList.noPermissionAddEnvironmentsTooltipLabel": "Votre rôle d'utilisateur ne dispose pas d'autorisations pour créer des tâches", "xpack.apm.settings.anomalyDetection.jobList.okStatusLabel": "OK", "xpack.apm.settings.anomalyDetection.jobList.openAnomalyExplorerrLinkText": "Ouvrir dans Anomaly Explorer", "xpack.apm.settings.anomalyDetection.jobList.showLegacyJobsCheckboxText": "Afficher les tâches héritées", @@ -11412,6 +12280,8 @@ "xpack.apm.storageExplorer.table.samplingColumnName": "Taux d’échantillonnage", "xpack.apm.storageExplorer.table.serviceColumnName": "Service", "xpack.apm.storageExplorerLinkLabel": "Explorateur de stockage", + "xpack.apm.subFeatureRegistry.modifySettings": "Possibilité de modifier les paramètres", + "xpack.apm.subFeatureRegistry.settings": "Paramètres", "xpack.apm.technicalPreviewBadgeDescription": "Cette fonctionnalité est en version d'évaluation technique et pourra être modifiée ou retirée complètement dans une future version. Elastic s'efforcera de corriger tout problème, mais les fonctionnalités des versions d'évaluation technique ne sont pas soumises aux SLA de support des fonctionnalités officielles en disponibilité générale.", "xpack.apm.technicalPreviewBadgeLabel": "Version d'évaluation technique", "xpack.apm.timeComparison.label": "Comparaison", @@ -11425,6 +12295,7 @@ "xpack.apm.traceExplorer.appName": "APM", "xpack.apm.traceExplorer.criticalPathTab": "Chemin critique agrégé", "xpack.apm.traceExplorer.waterfallTab": "Cascade", + "xpack.apm.traceLink.fetchingTraceLabel": "Récupération des traces...", "xpack.apm.traceOverview.topTracesTab": "Premières traces", "xpack.apm.traceOverview.traceExplorerTab": "Explorer", "xpack.apm.traceSearchBox.refreshButton": "Recherche", @@ -11556,7 +12427,6 @@ "xpack.apm.transactionsTable.tableSearch.placeholder": "Rechercher des transactions par nom", "xpack.apm.transactionsTable.title": "Transactions", "xpack.apm.transactionsTableColumnName.alertsColumnLabel": "Alertes actives", - "xpack.apm.transactionTypesSelectCustomOptionText": "Ajouter \\{searchValue\\} en tant que nouveau type de transaction", "xpack.apm.transactionTypesSelectPlaceholder": "Sélectionner le type de transaction", "xpack.apm.tryItButton.euiButtonIcon.admin": "Veuillez référer à votre administrateur pour rendre cette fonctionnalité {featureEnabled}.", "xpack.apm.tryItButton.euiButtonIcon.admin.off": "désactivé", @@ -11578,7 +12448,7 @@ "xpack.apm.tutorial.apmAgents.statusCheck.text": "Vérifiez que votre application est en cours d'exécution et que les agents envoient les données.", "xpack.apm.tutorial.apmAgents.statusCheck.title": "Statut de l'agent", "xpack.apm.tutorial.apmAgents.title": "Agents APM", - "xpack.apm.tutorial.apmServer.callOut.message": "Assurez-vous de mettre à jour votre serveur APM vers la version 7.0 ou supérieure. Vous pouvez également migrer vos données 6.x à l'aide de l'assistant de migration disponible dans la section de gestion de Kibana.", + "xpack.apm.tutorial.apmServer.callOut.message": "Assurez-vous de mettre à jour votre serveur APM vers la version 7.0 ou supérieure. Vous pouvez également migrer vos données 6.x à l'aide de l'assistant de migration disponible dans la section de gestion de Kibana.", "xpack.apm.tutorial.apmServer.callOut.title": "Important : mise à niveau vers la version 7.0 ou supérieure", "xpack.apm.tutorial.apmServer.fleet.apmIntegration.button": "Intégration APM", "xpack.apm.tutorial.apmServer.fleet.apmIntegration.description": "Fleet vous permet de gérer de manière centralisée les agents Elastic qui exécutent l'intégration APM. L'option par défaut consiste à installer un serveur Fleet sur un hôte dédié. Pour les configurations sans hôte dédié, nous vous recommandons de suivre les instructions pour installer le serveur APM autonome pour votre système d'exploitation en sélectionnant l'onglet correspondant ci-dessus.", @@ -11606,13 +12476,13 @@ "xpack.apm.tutorial.djangoClient.configure.title": "Configurer l'agent", "xpack.apm.tutorial.djangoClient.install.textPre": "Installez l'agent APM pour Python en tant que dépendance.", "xpack.apm.tutorial.djangoClient.install.title": "Installer l'agent APM", - "xpack.apm.tutorial.dotNetClient.configureAgent.textPost": "Si vous ne transférez pas une instance `IConfiguration` à l'agent (par ex., pour les applications non ASP.NET Core) vous pouvez également configurer l'agent par le biais de variables d'environnement. \n Pour une utilisation avancée, consultez [the documentation]({documentationLink}), qui comprend notamment le guide de démarrage rapide pour [Profiler Auto instrumentation]({profilerLink}).", + "xpack.apm.tutorial.dotNetClient.configureAgent.textPost": "Si vous ne transférez pas une instance `IConfiguration` à l'agent (par ex., pour les applications non ASP.NET Core) vous pouvez également configurer l'agent par le biais de variables d'environnement. Pour une utilisation avancée, consultez [the documentation]({documentationLink}), qui comprend notamment le guide de démarrage rapide pour [Profiler Auto instrumentation]({profilerLink}).", "xpack.apm.tutorial.dotNetClient.configureAgent.title": "Exemple de fichier appsettings.json :", - "xpack.apm.tutorial.dotNetClient.configureApplication.textPost": "La transmission d'une instance `IConfiguration` est facultative mais si cette opération est effectuée, l'agent lira les paramètres de configuration depuis cette instance `IConfiguration` (par ex. à partir du fichier `appsettings.json`).", - "xpack.apm.tutorial.dotNetClient.configureApplication.textPre": "Si vous utilisez ASP.NET Core avec le package `Elastic.Apm.NetCoreAll`, appelez la méthode `UseAllElasticApm` dans la méthode \"Configure\" dans le fichier `Startup.cs`.", + "xpack.apm.tutorial.dotNetClient.configureApplication.textPost": "La transmission d'une instance `IConfiguration` est facultative mais si cette opération est effectuée, l'agent lira les paramètres de configuration depuis cette instance `IConfiguration` (par ex. à partir du fichier `appsettings.json`).", + "xpack.apm.tutorial.dotNetClient.configureApplication.textPre": "Si vous utilisez ASP.NET Core avec le package `Elastic.Apm.NetCoreAll`, appelez la méthode `UseAllElasticApm` dans la méthode `Configure` dans le fichier `Startup.cs`.", "xpack.apm.tutorial.dotNetClient.configureApplication.title": "Ajouter l'agent à l'application", "xpack.apm.tutorial.dotnetClient.createConfig.commands.defaultServiceName": "La valeur par défaut est l'assemblage d'entrée de l'application.", - "xpack.apm.tutorial.dotNetClient.download.textPre": "Ajoutez le ou les packages d'agent depuis [NuGet]({allNuGetPackagesLink}) à votre application .NET. Plusieurs packages NuGet sont disponibles pour différents cas d'utilisation. \n\nPour une application ASP.NET Core avec Entity Framework Core, téléchargez le package [Elastic.Apm.NetCoreAll]({netCoreAllApmPackageLink}). Ce package ajoutera automatiquement chaque composant d'agent à votre application. \n\n Si vous souhaitez minimiser les dépendances, vous pouvez utiliser le package [Elastic.Apm.AspNetCore]({aspNetCorePackageLink}) uniquement pour le monitoring d'ASP.NET Core ou le package [Elastic.Apm.EfCore]({efCorePackageLink}) uniquement pour le monitoring d'Entity Framework Core. \n\n Si vous souhaitez seulement utiliser l'API d'agent publique pour l'instrumentation manuelle, utilisez le package [Elastic.Apm]({elasticApmPackageLink}).", + "xpack.apm.tutorial.dotNetClient.download.textPre": "Ajoutez le ou les packages d'agent depuis [NuGet]({allNuGetPackagesLink}) à votre application .NET. Plusieurs packages NuGet sont disponibles pour différents cas d'utilisation. Pour une application ASP.NET Core avec Entity Framework Core, téléchargez le package [Elastic.Apm.NetCoreAll]({netCoreAllApmPackageLink}). Ce package ajoutera automatiquement chaque composant d'agent à votre application. Si vous souhaitez minimiser les dépendances, vous pouvez utiliser le package [Elastic.Apm.AspNetCore]({aspNetCorePackageLink}) uniquement pour le monitoring d'ASP.NET Core ou le package [Elastic.Apm.EfCore]({efCorePackageLink}) uniquement pour le monitoring d'Entity Framework Core. Si vous souhaitez seulement utiliser l'API d'agent publique pour l'instrumentation manuelle, utilisez le package [Elastic.Apm]({elasticApmPackageLink}).", "xpack.apm.tutorial.dotNetClient.download.title": "Télécharger l'agent APM", "xpack.apm.tutorial.downloadServer.title": "Télécharger et décompresser le serveur APM", "xpack.apm.tutorial.downloadServerRpm": "Vous cherchez les packages aarch64 ? Consultez la [Download page]({downloadPageLink}).", @@ -11643,13 +12513,13 @@ "xpack.apm.tutorial.javaClient.download.textPre": "Téléchargez le fichier jar de l'agent depuis [Maven Central]({mavenCentralLink}). N'ajoutez **pas** l'agent comme dépendance de votre application.", "xpack.apm.tutorial.javaClient.download.title": "Télécharger l'agent APM", "xpack.apm.tutorial.javaClient.startApplication.textPost": "Consultez la [documentation]({documentationLink}) pour découvrir les options de configuration et l'utilisation avancée.", - "xpack.apm.tutorial.javaClient.startApplication.textPre": "Ajoutez l'indicateur `-javaagent` et configurez l'agent avec les propriétés du système.\n\n * Définir le nom de service requis (caractères autorisés : a-z, A-Z, 0-9, -, _ et espace)\n * Définir l'URL personnalisée du serveur APM (par défaut : {customApmServerUrl})\n * Définir le token secret du serveur APM\n * Définir l'environnement de service\n * Définir le package de base de votre application", + "xpack.apm.tutorial.javaClient.startApplication.textPre": "Ajoutez l'indicateur `-javaagent` et configurez l'agent avec les propriétés du système. * Définir le nom de service requis (caractères autorisés : a-z, A-Z, 0-9, -, _ et espace) * * Définir l'URL personnalisée du serveur APM (par défaut : {customApmServerUrl}) * Définir le jeton secret du serveur APM * Définir l'environnement de service * Définir le package de base de votre application", "xpack.apm.tutorial.javaClient.startApplication.title": "Lancer votre application avec l'indicateur javaagent", "xpack.apm.tutorial.jsClient.enableRealUserMonitoring.textPre": "Le serveur APM désactive la prise en charge du RUM par défaut. Consultez la [documentation]({documentationLink}) pour obtenir des détails sur l'activation de la prise en charge du RUM. Lorsque vous utilisez l'intégration APM avec Fleet, le support RUM est automatiquement activé.", "xpack.apm.tutorial.jsClient.enableRealUserMonitoring.title": "Activer la prise en charge du Real User Monitoring (monitoring des utilisateurs réels) dans le serveur APM", "xpack.apm.tutorial.jsClient.installDependency.commands.setServiceVersionComment": "Définir la version de service (requis pour la fonctionnalité source map)", "xpack.apm.tutorial.jsClient.installDependency.textPost": "Les intégrations de framework, tel que React ou Angular, ont des dépendances personnalisées. Consultez la [integration documentation]({docLink}) pour plus d'informations.", - "xpack.apm.tutorial.jsClient.installDependency.textPre": "Vous pouvez installer l'Agent comme dépendance de votre application avec `npm install @elastic/apm-rum --save`.\n\nVous pouvez ensuite initialiser l'agent et le configurer dans votre application de cette façon :", + "xpack.apm.tutorial.jsClient.installDependency.textPre": "Vous pouvez installer l'Agent comme dépendance de votre application avec `npm install @elastic/apm-rum --save`. Vous pouvez ensuite initialiser l'agent et le configurer dans votre application de cette façon :", "xpack.apm.tutorial.jsClient.installDependency.title": "Configurer l'agent comme dépendance", "xpack.apm.tutorial.jsClient.scriptTags.textPre": "Vous pouvez également utiliser les balises Script pour configurer l'agent. Ajoutez un indicateur `