{"componentChunkName":"component---src-templates-docs-js","path":"/fr-fr/guides/external-reports/opentelemetry-integration","result":{"data":{"site":{"siteMetadata":{"title":"Documentation | LoadFocus","docsLocation":""}},"mdx":{"fields":{"id":"1dbb168b-291e-5d16-9b61-fef1dcf9f325","title":"Integration OpenTelemetry (OTLP)","slug":"/fr-fr/guides/external-reports/opentelemetry-integration","locale":"fr-FR"},"body":"var _excluded = [\"components\"];\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nfunction _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }\nfunction _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {\n  \"title\": \"Integration OpenTelemetry (OTLP)\",\n  \"metaTitle\": \"Integration OpenTelemetry OTLP | LoadFocus\",\n  \"metaDescription\": \"Envoyez les metriques de test de charge via OTLP vers tout backend OpenTelemetry comme Honeycomb, Grafana Cloud, New Relic, Datadog ou Elastic.\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h2\", null, \"Envoyer les metriques de test de charge via OpenTelemetry\"), mdx(\"p\", null, \"L'integration OpenTelemetry exporte les metriques en direct de vos tests de charge via le protocole OpenTelemetry (OTLP) vers n'importe quel backend compatible OTLP, afin que vous puissiez suivre un test dans l'outil que vous utilisez deja pour l'observabilite. Elle fonctionne avec Honeycomb, Grafana Cloud, New Relic, Datadog, Dynatrace, Elastic et tout OpenTelemetry Collector auto-heberge.\"), mdx(\"p\", null, mdx(\"span\", {\n    parentName: \"p\",\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"800px\"\n    }\n  }, \"\\n      \", mdx(\"a\", {\n    parentName: \"span\",\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/docs/static/f144cfe299f551038e20f5b8699847dd/d50e7/opentelemetry-configuration.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }, \"\\n    \", mdx(\"span\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"68.5%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAIAAACgpqunAAAACXBIWXMAAAsTAAALEwEAmpwYAAABb0lEQVQoz42SQXKcMBBFObyXvkc2uUEWuYQrZgwzQjMxBoludQskJM0mJZRMJiRx0vWKeiw+X0BXo0KtcQICZEDOAoSbaI3voDRWWqPlRQhZ103bCiHky8vxcGj7fvA+OLf+Ee9XQMphACOEPJ26pjkdj6JtRV03r69vAGaaEACnCe/EACCzBaBKT2Yc1dPTl6Y5dp3s8pyF6DaXUp6lPBe53V4uX7dnmUppRCREsna2dtmuWZizMM9Fbs48E1lrl9ysNBIxomG2MaaUrn+jzE3yOyuNxvAwKCK75gn/Q1jjz2atJ0RDxO8077g1EwA650OIIaSN+E++NzPbcdQAJoSYjxTiriT+Njn8o9kM46D02PdvUl76fjCGAUz5sUQcQowx3ZNSKmGYbYDJI6zLHMo3c84viys453fJQg4Tw8cP8fHh+vhw/fxpTWkhsrvFXBa/w7kVkapRTd2J6mdzeDaXs0EsK0n3lC36FVYKvgEGthM9sZmHyQAAAABJRU5ErkJggg==')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  }), \"\\n  \", mdx(\"img\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"Fenetre de configuration OpenTelemetry dans LoadFocus avec les champs nom, endpoint OTLP, protocole et headers\",\n    \"title\": \"Fenetre de configuration OpenTelemetry dans LoadFocus avec les champs nom, endpoint OTLP, protocole et headers\",\n    \"src\": \"/docs/static/f144cfe299f551038e20f5b8699847dd/5a190/opentelemetry-configuration.png\",\n    \"srcSet\": [\"/docs/static/f144cfe299f551038e20f5b8699847dd/772e8/opentelemetry-configuration.png 200w\", \"/docs/static/f144cfe299f551038e20f5b8699847dd/e17e5/opentelemetry-configuration.png 400w\", \"/docs/static/f144cfe299f551038e20f5b8699847dd/5a190/opentelemetry-configuration.png 800w\", \"/docs/static/f144cfe299f551038e20f5b8699847dd/c1b63/opentelemetry-configuration.png 1200w\", \"/docs/static/f144cfe299f551038e20f5b8699847dd/29007/opentelemetry-configuration.png 1600w\", \"/docs/static/f144cfe299f551038e20f5b8699847dd/d50e7/opentelemetry-configuration.png 2280w\"],\n    \"sizes\": \"(max-width: 800px) 100vw, 800px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\"\n  }), \"\\n  \"), \"\\n    \")), mdx(\"h2\", null, \"Creer l'integration\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Allez dans \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"Account\"), \" > \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"Integration Settings\"), \".\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Cliquez sur \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"New Integration\"), \" et choisissez \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"OpenTelemetry\"), \".\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Renseignez les champs ci-dessous et cliquez sur \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"Save integration\"), \".\")), mdx(\"h3\", null, \"Champs de l'integration\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Name :\"), \" Un libelle pour cette integration, par exemple \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"Honeycomb HTTP\"), \".\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"OTLP Endpoint :\"), \" Ou les metriques sont envoyees.\", mdx(\"ul\", {\n    parentName: \"li\"\n  }, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Pour \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"HTTP (protobuf)\"), \", utilisez l'URL de base avec le schema, par exemple \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"https://api.honeycomb.io\"), \". LoadFocus ajoute \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"/v1/metrics\"), \" pour vous.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Pour \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"gRPC\"), \", utilisez \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"host:port\"), \", par exemple \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"api.honeycomb.io:443\"), \". Sans schema, \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"https://\"), \" est suppose.\"))), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Protocol :\"), \" \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"HTTP (protobuf)\"), \" (la valeur par defaut, fonctionne partout) ou \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"gRPC\"), \".\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Headers :\"), \" Paires \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"key=value\"), \" separees par des virgules pour l'authentification, par exemple \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"api-key=YOUR_KEY,x-tenant=team\"), \". C'est le seul champ secret et il est stocke chiffre.\")), mdx(\"h2\", null, \"Endpoints et Headers par backend\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Backend\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Endpoint (HTTP)\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Endpoint (gRPC)\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Headers\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Honeycomb\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"https://api.honeycomb.io\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"api.honeycomb.io:443\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"x-honeycomb-team=INGEST_KEY,x-honeycomb-dataset=DATASET_NAME\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Grafana Cloud\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"URL de la passerelle OTLP de votre stack\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"non proposee sur la passerelle hebergee\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"Authorization=Basic BASE64(instanceID:token)\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"New Relic\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"https://otlp.nr-data.net\"), \" (US) ou \", mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"https://otlp.eu01.nr-data.net\"), \" (EU)\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"otlp.nr-data.net:4317\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"api-key=LICENSE_KEY\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Dynatrace\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"https://ENV.live.dynatrace.com/api/v2/otlp\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"non proposee\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"Authorization=Api-Token TOKEN\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Elastic\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"URL OTLP de votre serveur APM\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"host:8200\"), \" de votre serveur APM\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"Authorization=ApiKey API_KEY\"))), mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Collector auto-heberge\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"http(s)://votre-collector:4318\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"inlineCode\", {\n    parentName: \"td\"\n  }, \"votre-collector:4317\")), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"optionnel\")))), mdx(\"h3\", null, \"Notes sur Honeycomb\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Utilisez une \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Ingest Key\"), \", creee dans \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"Environment Settings\"), \" > \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"API Keys\"), \" > \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"Ingest\"), \". Copiez le \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Key Secret\"), \" affiche une seule fois lors de la creation de la cle, pas la Key ID plus courte de la liste. Envoyer la Key ID renvoie \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"unknown API key\"), \" (HTTP 401).\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Les metriques necessitent le header \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"x-honeycomb-dataset\"), \" pour nommer le dataset de destination.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Donnez a la cle la permission \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"Can create services/datasets\"), \" afin que le dataset soit cree des l'arrivee des premieres metriques.\")), mdx(\"h2\", null, \"Associer l'integration a un test\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Ouvrez un test JMeter ou k6 et allez dans sa section \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"Integrations\"), \".\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Selectionnez votre integration OpenTelemetry dans la liste deroulante.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"Enregistrez le test, puis executez-le.\")), mdx(\"p\", null, \"Chaque execution associee a une integration envoie ses metriques au backend configure.\"), mdx(\"h2\", null, \"Ce que vous verrez\"), mdx(\"p\", null, \"Les metriques arrivent avec les attributs de ressource \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"service.name\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"loadfocus.testrunname\"), \" et \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"loadfocus.testrunid\"), \", afin que vous puissiez filtrer par execution.\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Les tests JMeter\"), \" envoient \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"jmeter.samples\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"jmeter.response_time_ms\"), \" et \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"jmeter.errors\"), \", avec les tags \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"sampler\"), \" et \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"response_code\"), \". JMeter regroupe et vide a la fin de l'execution, donc ses metriques apparaissent une fois l'execution terminee.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Les tests k6\"), \" envoient les metriques standard de k6 comme \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"http_req_duration\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"http_reqs\"), \", \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"vus\"), \" et \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"iterations\"), \", transmises pendant que le test s'execute.\")), mdx(\"h2\", null, \"Depannage\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"strong\"\n  }, \"unknown API key\"), \" ou HTTP 401 :\"), \" l'identifiant est incorrect ou absent. Pour Honeycomb, verifiez que vous avez utilise le Key Secret et non la Key ID.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Aucune donnee dans le backend :\"), \" verifiez le nom de destination (dataset Honeycomb, compte New Relic, etc.), verifiez le header d'authentification et rappelez-vous que les metriques JMeter n'apparaissent qu'une fois l'execution terminee.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Endpoint rejete :\"), \" les endpoints HTTP doivent inclure le schema \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"https://\"), \" ; les endpoints gRPC utilisent \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"host:port\"), \".\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"L'execution n'est pas affectee :\"), \" si une integration est mal configuree, le test s'execute quand meme, il n'exporte simplement aucune metrique.\")), mdx(\"h2\", null, \"Modifier ou supprimer l'integration\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Modifier :\"), \" dans \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"Integration Settings\"), \", cliquez sur l'icone de modification de l'integration pour changer le nom, l'endpoint, le protocole ou les headers. Laissez le champ Headers vide pour conserver l'identifiant existant ; saisissez une valeur uniquement lorsque vous souhaitez le remplacer.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"Supprimer :\"), \" cliquez sur l'icone de suppression de l'integration pour la retirer de vos services de reporting externes.\")));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#envoyer-les-metriques-de-test-de-charge-via-opentelemetry","title":"Envoyer les metriques de test de charge via OpenTelemetry"},{"url":"#creer-lintegration","title":"Creer l'integration","items":[{"url":"#champs-de-lintegration","title":"Champs de l'integration"}]},{"url":"#endpoints-et-headers-par-backend","title":"Endpoints et Headers par backend","items":[{"url":"#notes-sur-honeycomb","title":"Notes sur Honeycomb"}]},{"url":"#associer-lintegration-a-un-test","title":"Associer l'integration a un test"},{"url":"#ce-que-vous-verrez","title":"Ce que vous verrez"},{"url":"#depannage","title":"Depannage"},{"url":"#modifier-ou-supprimer-lintegration","title":"Modifier ou supprimer l'integration"}]},"parent":{"__typename":"File","relativePath":"fr-fr/guides/external-reports/opentelemetry-integration.md"},"frontmatter":{"metaTitle":"Integration OpenTelemetry OTLP | LoadFocus","metaDescription":"Envoyez les metriques de test de charge via OTLP vers tout backend OpenTelemetry comme Honeycomb, Grafana Cloud, New Relic, Datadog ou Elastic.","order":null}},"allMdx":{"edges":[{"node":{"fields":{"slug":"/fr-fr","title":"Bienvenue dans la documentation LoadFocus"}}},{"node":{"fields":{"slug":"/fr-fr/guides","title":"Guides pratiques"}}},{"node":{"fields":{"slug":"/fr-fr/knowledge-base","title":"Base de connaissances"}}},{"node":{"fields":{"slug":"/fr-fr/pricing","title":"FAQ sur les tarifs"}}},{"node":{"fields":{"slug":"/fr-fr/knowledge-base/how-to-update-card-details","title":"Comment mettre à jour les détails de carte pour les paiements échoués"}}},{"node":{"fields":{"slug":"/fr-fr/knowledge-base/understanding-declined-card-payments","title":"Pourquoi mon paiement par carte a-t-il été refusé ?"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring","title":"Surveillance API"}}},{"node":{"fields":{"slug":"/fr-fr/knowledge-base/understanding-differences-between-http-and-https","title":"Différences entre HTTP et HTTPS"}}},{"node":{"fields":{"slug":"/fr-fr/guides/external-reports","title":"Rapports externes"}}},{"node":{"fields":{"slug":"/fr-fr/knowledge-base/using-google-analytics-and-no-requests-while-load-testing","title":"Pas de trafic dans Google Analytics pendant les tests de charge"}}},{"node":{"fields":{"slug":"/fr-fr/guides/jmeter-load-testing","title":"Tests de charge avec Apache JMeter"}}},{"node":{"fields":{"slug":"/fr-fr/knowledge-base/what-is-an-http-method","title":"Qu'est-ce qu'une méthode de requête HTTP"}}},{"node":{"fields":{"slug":"/fr-fr/knowledge-base/using-3rd-party-tools-to-load-test-website-locally","title":"Comment tester la charge d'un site web ou d'une API hébergé localement"}}},{"node":{"fields":{"slug":"/fr-fr/knowledge-base/using-valid-url-endpoints","title":"Qu'est-ce qu'une URL valide pour un test de charge"}}},{"node":{"fields":{"slug":"/fr-fr/knowledge-base/using-query-parameters","title":"Comment utiliser les paramètres de requête URL"}}},{"node":{"fields":{"slug":"/fr-fr/guides/k6-load-testing","title":"k6 Load Testing"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing","title":"Tests de charge"}}},{"node":{"fields":{"slug":"/fr-fr/guides/mcp","title":"Assistants IA (MCP)"}}},{"node":{"fields":{"slug":"/fr-fr/guides/monitoring-as-code","title":"Monitoring as Code"}}},{"node":{"fields":{"slug":"/fr-fr/guides/monitor-website-performance","title":"Surveillance de la performance des sites web"}}},{"node":{"fields":{"slug":"/fr-fr/guides/setup-teardown-scripts","title":"Scripts de préparation et de nettoyage"}}},{"node":{"fields":{"slug":"/fr-fr/guides/openapi-import","title":"Importer depuis OpenAPI / Swagger"}}},{"node":{"fields":{"slug":"/fr-fr/guides/teams","title":"Gestion des équipes"}}},{"node":{"fields":{"slug":"/fr-fr/guides/reusable-snippets","title":"Snippets réutilisables"}}},{"node":{"fields":{"slug":"/fr-fr/guides/onboarding","title":"Onboarding LoadFocus"}}},{"node":{"fields":{"slug":"/fr-fr/guides/jmeter-load-testing/downloading-jmx-csv-files","title":"Télécharger les fichiers .JMX et .CSV dans LoadFocus"}}},{"node":{"fields":{"slug":"/fr-fr/guides/external-reports/azure-app-insights-integration","title":"Intégration Azure App Insights"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/adding-notes-to-results","title":"Ajouter des notes aux résultats de test"}}},{"node":{"fields":{"slug":"/fr-fr/guides/monitor-website-performance/alert-configuration","title":"Configuration des alertes"}}},{"node":{"fields":{"slug":"/fr-fr/guides/k6-load-testing/analyzing-k6-test-results","title":"Analyse des résultats de test de charge k6"}}},{"node":{"fields":{"slug":"/fr-fr/guides/external-reports/datadog-integration","title":"Intégration Datadog"}}},{"node":{"fields":{"slug":"/fr-fr/guides/k6-load-testing/how-to-run-k6-load-test","title":"Comment exécuter un nouveau test de charge k6"}}},{"node":{"fields":{"slug":"/fr-fr/guides/monitor-website-performance/alert-metrics","title":"Métriques d'alerte"}}},{"node":{"fields":{"slug":"/fr-fr/guides/jmeter-load-testing/how-to-run-new-apache-jmeter-load-test","title":"Comment exécuter un nouveau test de charge Apache JMeter"}}},{"node":{"fields":{"slug":"/fr-fr/guides/external-reports/opentelemetry-integration","title":"Integration OpenTelemetry (OTLP)"}}},{"node":{"fields":{"slug":"/fr-fr/guides/jmeter-load-testing/import-to-jmeter-from-curl-har-postman-openapi","title":"Importer cURL, HAR, Postman ou OpenAPI dans un test JMeter"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/analyzing-load-test-results","title":"Comment vérifier les résultats des tests de charge"}}},{"node":{"fields":{"slug":"/fr-fr/guides/k6-load-testing/import-to-k6-from-curl-har-postman-openapi","title":"Importer cURL, HAR, Postman ou OpenAPI dans un test k6"}}},{"node":{"fields":{"slug":"/fr-fr/guides/monitor-website-performance/core-web-vitals-competitor-comparison","title":"Comparaison Core Web Vitals avec les concurrents"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/ai-credits","title":"AI Credits"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/api-check-results","title":"Comprendre les résultats des vérifications API"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/authorization-code-grant-type-oauth-2-0","title":"Type d'autorisation Authorization Code dans OAuth 2.0"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/browser-checks","title":"Browser Checks"}}},{"node":{"fields":{"slug":"/fr-fr/guides/monitor-website-performance/getting-started","title":"Démarrage rapide"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/alert-channels","title":"Canaux d'alerte"}}},{"node":{"fields":{"slug":"/fr-fr/guides/k6-load-testing/uploading-k6-scripts","title":"Télécharger des scripts et fichiers de données k6"}}},{"node":{"fields":{"slug":"/fr-fr/guides/jmeter-load-testing/jmeter-integration-ci-cd","title":"Intégration API de test de charge"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/baseline-comparison-between-load-tests","title":"Comparaison de référence entre les tests de charge"}}},{"node":{"fields":{"slug":"/fr-fr/guides/jmeter-load-testing/load-generators-hardware-infrastructure-jmeter","title":"Quelles sont les ressources matérielles allouées à mon compte pour les générateurs de charge ?"}}},{"node":{"fields":{"slug":"/fr-fr/guides/monitor-website-performance/how-to-create-new-alert","title":"Créer une nouvelle alerte"}}},{"node":{"fields":{"slug":"/fr-fr/guides/monitor-website-performance/core-web-vitals-metrics","title":"Que sont les Core Web Vitals ?"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/client-credentials-grant-type-oauth-2-0","title":"Type d'autorisation Client Credentials dans OAuth 2.0"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/check-groups","title":"Groupes de vérifications"}}},{"node":{"fields":{"slug":"/fr-fr/guides/jmeter-load-testing/load-testing-anomalies","title":"Anomalies des tests de charge"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/common-http-error-codes","title":"Codes d'erreur HTTP courants"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/check-retries-and-alert-thresholds","title":"Nouvelles tentatives et seuils d'alerte"}}},{"node":{"fields":{"slug":"/fr-fr/guides/jmeter-load-testing/load-testing-engine-health-monitoring","title":"Surveillance de la santé des moteurs"}}},{"node":{"fields":{"slug":"/fr-fr/guides/monitor-website-performance/how-to-run-new-website-performance-test","title":"Créer un nouveau test de performance de site web"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/custom-domain-status-page","title":"Comment ajouter un domaine personnalisé à votre page de statut"}}},{"node":{"fields":{"slug":"/fr-fr/guides/monitor-website-performance/http-authentication","title":"Authentification HTTP"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/crafting-perfect-test-names","title":"Créer des noms de test parfaits"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/dashboards","title":"Tableaux de bord"}}},{"node":{"fields":{"slug":"/fr-fr/guides/jmeter-load-testing/load-testing-error-analysis","title":"Analyse des erreurs"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/decoding-average-response-times","title":"Décoder le temps de réponse moyen"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/dns-monitors","title":"Moniteurs DNS"}}},{"node":{"fields":{"slug":"/fr-fr/guides/monitor-website-performance/largest-contentful-paint","title":"Largest Contentful Paint (LCP)"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/deep-dive-samples-in-load-testing","title":"Que sont les échantillons dans les tests de charge ?"}}},{"node":{"fields":{"slug":"/fr-fr/guides/jmeter-load-testing/load-testing-insights","title":"Informations sur les tests de charge"}}},{"node":{"fields":{"slug":"/fr-fr/guides/monitor-website-performance/lighthouse-opportunities","title":"Opportunités Lighthouse"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/heartbeat-monitors","title":"Moniteurs Heartbeat (tâches cron)"}}},{"node":{"fields":{"slug":"/fr-fr/guides/jmeter-load-testing/load-testing-jtl-file-analysis","title":"Analyse des logs et fichiers JTL"}}},{"node":{"fields":{"slug":"/fr-fr/guides/monitor-website-performance/pdf-report-branding","title":"Rapports PDF à votre marque"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/incident-management","title":"Gestion des incidents"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/end-time-in-load-testing","title":"Comprendre l'importance de l'heure de fin dans les tests de charge"}}},{"node":{"fields":{"slug":"/fr-fr/guides/jmeter-load-testing/load-testing-jtl-jmeter-log-file-analysis","title":"Analyse des fichiers de log JMeter"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/demo","title":"Démo"}}},{"node":{"fields":{"slug":"/fr-fr/guides/monitor-website-performance/performance-budgets","title":"Budgets de performance et alertes"}}},{"node":{"fields":{"slug":"/fr-fr/guides/jmeter-load-testing/load-testing-timeline-analysis","title":"Vue chronologique"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/maintenance-windows","title":"Fenêtres de maintenance"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/erros-and-reponse-codes","title":"Erreurs et codes de réponse"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/multistep-api-checks","title":"Vérifications API multi-étapes"}}},{"node":{"fields":{"slug":"/fr-fr/guides/monitor-website-performance/real-user-field-data","title":"Données de terrain réelles (CrUX)"}}},{"node":{"fields":{"slug":"/fr-fr/guides/jmeter-load-testing/uploading-jmeter-files-step-by-step-guide","title":"Importer des fichiers JMeter dans LoadFocus : guide étape par étape"}}},{"node":{"fields":{"slug":"/fr-fr/guides/monitor-website-performance/sitemap-import","title":"Import depuis un Sitemap"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/geographical-test-location-in-load-testing","title":"Emplacement géographique des tests de charge"}}},{"node":{"fields":{"slug":"/fr-fr/guides/jmeter-load-testing/using-multiple-csv-files-with-jmeter-engines","title":"Utiliser plusieurs fichiers CSV avec les moteurs JMeter dans LoadFocus"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/getting-started","title":"Démarrage rapide"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/sla-slo-reports","title":"Rapports de disponibilité SLA & SLO"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/new-api-check","title":"Comment créer une nouvelle vérification API"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/headers-and-manage-presets","title":"En-têtes et présélections d'en-têtes"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/snippets","title":"Snippets"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/ssl-certificate-monitoring","title":"Surveillance des certificats SSL"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/how-to-run-new-load-test","title":"Comment exécuter un nouveau test de charge"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/how-to-url-query-parameters","title":"Paramètres de requête"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/http-methods-overview-load-testing","title":"Méthodes HTTP : vue d'ensemble"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/tcp-monitors","title":"Moniteurs de port TCP"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/granularity-in-load-test-results-and-charts","title":"Granularité dans les résultats et l'affichage des graphiques de tests de charge"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/status-pages","title":"Créez une page de statut publique pour vos moniteurs"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/variables","title":"Variables"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/load-generators-hardware-infrastructure","title":"Quelles sont les ressources matérielles allouées à mon compte pour les générateurs de charge ?"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/page-speed-under-load-trends","title":"Page Speed Under Load Trends"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/implicit-grant-type-oauth-2-0","title":"Type d'autorisation Implicit Grant dans OAuth 2.0"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/load-test-result-ai-analysis","title":"Analyse IA des résultats de tests de charge"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/page-speed-under-load","title":"Vitesse de page sous charge"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/performance-trend-load-test-results","title":"Tendance de performance"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/password-credentials-grant-type-oauth-2-0","title":"Type d'autorisation Password Credentials dans OAuth 2.0"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/pass-fail-thresholds","title":"Seuils de réussite/échec"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/release-tags-and-run-annotations","title":"Étiquettes de version et annotations d'exécution"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/refresh-token-grant-type-oauth-2-0","title":"Type d'autorisation Refresh Token dans OAuth 2.0"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/scheduled-load-tests","title":"Tests de charge planifiés"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/start-time-in-load-testing","title":"Comprendre l'importance de l'heure de début dans les tests de charge"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/use-cases","title":"Cas d'utilisation"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/what-are-iterations-load-testing","title":"Maîtriser les itérations dans les tests de charge : une plongée approfondie"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/share-load-test-reports","title":"Partager les rapports de test de charge"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/what-are-virtual-users-load-testing","title":"Que sont les utilisateurs virtuels dans les tests de charge"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/what-is-grant-type","title":"Qu'est-ce qu'un type d'autorisation (Grant Type) ?"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/what-is-delay-when-running-a-load-test","title":"Qu'est-ce que le délai lors de l'exécution d'un test de charge ?"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/what-is-duration-in-load-testing","title":"Qu'est-ce que la durée dans les tests de charge"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/using-cookies","title":"Utiliser les cookies"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/what-is-oauth-2-0-authorization","title":"Autorisation OAuth 2.0"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/what-is-ramp-up-steps-in-load-testing","title":"Que sont les étapes de montée en charge dans les tests de charge"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/what-is-ramp-up-time-in-load-testing","title":"Qu'est-ce que le temps de montée en charge dans les tests de charge"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/what-is-test-run-id","title":"Qu'est-ce qu'un identifiant d'exécution de test ?"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/white-label-report-branding","title":"Rapports PDF à votre marque"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/alert-channels/email","title":"Alertes Email"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/alert-channels/discord","title":"Alertes Discord"}}},{"node":{"fields":{"slug":"/fr-fr/guides/jmeter-load-testing/jmeter-integration-ci-cd/circleci","title":"CircleCI"}}},{"node":{"fields":{"slug":"/fr-fr/guides/jmeter-load-testing/jmeter-integration-ci-cd/azure-devops","title":"Azure DevOps"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/alert-channels/microsoft-teams","title":"Alertes Microsoft Teams"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/alert-channels/opsgenie","title":"Alertes Opsgenie"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/alert-channels/pagerduty","title":"Alertes PagerDuty"}}},{"node":{"fields":{"slug":"/fr-fr/guides/jmeter-load-testing/jmeter-integration-ci-cd/gitlab-ci-cd","title":"GitLab CI/CD"}}},{"node":{"fields":{"slug":"/fr-fr/guides/jmeter-load-testing/jmeter-integration-ci-cd/overview","title":"Intégration du client API JMeter avec les pipelines CI/CD"}}},{"node":{"fields":{"slug":"/fr-fr/guides/jmeter-load-testing/jmeter-integration-ci-cd/github-actions","title":"GitHub Actions"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/alert-channels/slack","title":"Alertes Slack"}}},{"node":{"fields":{"slug":"/fr-fr/guides/jmeter-load-testing/jmeter-integration-ci-cd/jenkins","title":"Jenkins"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/alert-channels/webhook","title":"Alertes Webhook"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/new-api-check/activate-deactivate","title":"Activer/Désactiver"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/new-api-check/assertions","title":"Assertions"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/new-api-check/frequency","title":"Fréquence"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/new-api-check/alert-channels","title":"Canaux d'alerte"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/new-api-check/locations","title":"Emplacements"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/new-api-check/request-configuration","title":"Configuration de la requête"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/new-api-check/friendly-check-name","title":"Nom convivial de la vérification"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/new-api-check/mute-unmute","title":"Mettre en sourdine/Réactiver"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/new-api-check/request-preview","title":"Aperçu de la requête"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/new-api-check/response-time-limits","title":"Limites de temps de réponse"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/new-api-check/retries","title":"Nouvelles Tentatives Avant Alerte"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/new-api-check/webhook-channels","title":"Canal Webhook"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/new-api-check/save-run","title":"Enregistrer et exécuter"}}}]}},"pageContext":{"id":"1dbb168b-291e-5d16-9b61-fef1dcf9f325","locale":"fr-FR"}},"staticQueryHashes":["361965504","361965504","417421954","417421954","445494767","445494767"]}