{"componentChunkName":"component---src-templates-docs-js","path":"/fr-fr/guides/setup-teardown-scripts","result":{"data":{"site":{"siteMetadata":{"title":"Documentation | LoadFocus","docsLocation":""}},"mdx":{"fields":{"id":"26a8ca5d-a26a-52c3-ae7b-6aa032adbe21","title":"Scripts de préparation et de nettoyage","slug":"/fr-fr/guides/setup-teardown-scripts","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\": \"Scripts de préparation et de nettoyage\",\n  \"metaTitle\": \"Scripts setup et teardown en monitoring d'API : OAuth, signature, nettoyage | Guides | LoadFocus\",\n  \"metaDescription\": \"Exécutez un script avant et après un check d'API dans LoadFocus : obtenir un jeton OAuth, signer une requête, générer des données de test, puis nettoyer. Scripts setup et teardown pour les moniteurs d'API.\",\n  \"order\": 11\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(\"h1\", null, \"Scripts de pr\\xE9paration et de nettoyage\"), mdx(\"p\", null, \"Certains endpoints d'API ne peuvent pas \\xEAtre surveill\\xE9s avec une requ\\xEAte statique. Ils ont besoin d'un jeton frais \\xE0 chaque appel, d'un en-t\\xEAte sign\\xE9 ou d'une charge unique, et ils peuvent laisser des donn\\xE9es qu'il faut nettoyer. Les \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://loadfocus.com/api-monitoring\"\n  }, \"moniteurs d'API\"), \" de LoadFocus vous permettent d'ex\\xE9cuter un \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"script de pr\\xE9paration (setup)\"), \" juste avant la requ\\xEAte et un \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"script de nettoyage (teardown)\"), \" juste apr\\xE8s la r\\xE9ponse, pour que le check se pr\\xE9pare et range tout \\xE0 chaque ex\\xE9cution.\"), mdx(\"p\", null, \"Les scripts setup et teardown s'appliquent aux \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"checks d'API\"), \". Les checks navigateur sont d\\xE9j\\xE0 un script complet (le parcours utilisateur lui-m\\xEAme), et les checks multistep passent des donn\\xE9es entre les \\xE9tapes via des variables \\u2014 ils couvrent les m\\xEAmes besoins autrement.\"), mdx(\"h2\", null, \"Comment \\xE7a marche\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Le \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"script de setup\"), \" s'ex\\xE9cute en premier et re\\xE7oit l'objet \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"request\"), \". Tout ce que vous modifiez sur \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"request\"), \" (en-t\\xEAtes, URL, corps) est utilis\\xE9 pour l'appel r\\xE9el. C'est ici que vous r\\xE9cup\\xE9rez un jeton, signez la requ\\xEAte ou construisez une charge unique.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"LoadFocus envoie ensuite la requ\\xEAte.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Le \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, \"script de teardown\"), \" s'ex\\xE9cute en dernier et re\\xE7oit \\xE0 la fois \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"request\"), \" et \", mdx(\"inlineCode\", {\n    parentName: \"li\"\n  }, \"response\"), \". C'est ici que vous supprimez une ressource cr\\xE9\\xE9e par le check, ou que vous nettoyez les donn\\xE9es sensibles des logs.\")), mdx(\"p\", null, \"Les deux scripts s'ex\\xE9cutent dans un bac \\xE0 sable isol\\xE9 \\xE0 chaque ex\\xE9cution du check, dans chaque r\\xE9gion, avec leur sortie console captur\\xE9e pour que vous voyiez ce qui s'est pass\\xE9.\"), mdx(\"h2\", null, \"Ce que vous pouvez utiliser\"), mdx(\"p\", null, \"Dans un script setup ou teardown, vous pouvez faire \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"require\"), \" de :\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"strong\"\n  }, \"got\")), \" et \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"strong\"\n  }, \"axios\")), \" \\u2014 effectuer des appels HTTP (par exemple \\xE9changer des identifiants contre un jeton OAuth).\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"strong\"\n  }, \"crypto\")), \" \\u2014 signer des requ\\xEAtes (HMAC, hachages) pour les API qui exigent une signature.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"strong\"\n  }, \"@faker-js/faker\")), \" \\u2014 g\\xE9n\\xE9rer des donn\\xE9es de test uniques et r\\xE9alistes.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"strong\", {\n    parentName: \"li\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"strong\"\n  }, \"url\")), \" et \", mdx(\"strong\", {\n    parentName: \"li\"\n  }, mdx(\"inlineCode\", {\n    parentName: \"strong\"\n  }, \"path\")), \" \\u2014 utilitaires pour construire des URL et des chemins.\")), mdx(\"p\", null, mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"console.log\"), \" est disponible et sa sortie s'affiche sous les logs du script.\"), mdx(\"h2\", null, \"Exemple : r\\xE9cup\\xE9rer un jeton OAuth dans le setup\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"const got = require('got');\\n\\nconst tokenResponse = await got.post('https://auth.example.com/oauth/token', {\\n  json: {\\n    grant_type: 'client_credentials',\\n    client_id: '{{secrets.CLIENT_ID}}',\\n    client_secret: '{{secrets.CLIENT_SECRET}}',\\n  },\\n}).json();\\n\\n// Appliquer le jeton \\xE0 la requ\\xEAte que LoadFocus s'appr\\xEAte \\xE0 envoyer\\nrequest.headers = request.headers || [];\\nrequest.headers.push({ name: 'Authorization', value: 'Bearer ' + tokenResponse.access_token });\\n\")), mdx(\"h2\", null, \"Exemple : signer une requ\\xEAte\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"const crypto = require('crypto');\\n\\nconst timestamp = Date.now().toString();\\nconst signature = crypto\\n  .createHmac('sha256', '{{secrets.SIGNING_KEY}}')\\n  .update(timestamp + request.url)\\n  .digest('hex');\\n\\nrequest.headers = request.headers || [];\\nrequest.headers.push({ name: 'X-Timestamp', value: timestamp });\\nrequest.headers.push({ name: 'X-Signature', value: signature });\\n\")), mdx(\"h2\", null, \"Exemple : nettoyer dans le teardown\"), mdx(\"pre\", null, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-js\"\n  }, \"const got = require('got');\\n\\n// Si la requ\\xEAte a cr\\xE9\\xE9 une ressource, la supprimer pour que le moniteur ne laisse aucune trace\\nif (response.statusCode === 201 && response.body) {\\n  const created = JSON.parse(response.body);\\n  await got.delete('https://api.example.com/items/' + created.id, {\\n    headers: { Authorization: request.headers.find(h => h.name === 'Authorization').value },\\n  });\\n}\\n\")), mdx(\"h2\", null, \"Secrets et variables\"), mdx(\"p\", null, \"R\\xE9f\\xE9rencez vos \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://loadfocus.com/api-monitoring\"\n  }, \"secrets et variables\"), \" enregistr\\xE9s avec \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"{{secrets.NOM}}\"), \" et \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"{{variables.NOM}}\"), \" dans un script. LoadFocus les remplace \\xE0 l'ex\\xE9cution, de sorte que les identifiants et les cl\\xE9s de signature ne figurent jamais en clair dans le corps du script.\"), mdx(\"h2\", null, \"Tester vos scripts\"), mdx(\"p\", null, \"Dans l'\\xE9diteur de check, le bouton \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Ex\\xE9cuter\"), \" \\xE0 c\\xF4t\\xE9 de chaque script l'ex\\xE9cute en direct contre l'endpoint r\\xE9el et affiche les logs captur\\xE9s et le r\\xE9sultat (succ\\xE8s ou message d'erreur). Utilisez-le pour confirmer que votre \\xE9change de jeton ou votre signature fonctionne avant d'enregistrer le moniteur.\"), mdx(\"h2\", null, \"Limites\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Le corps de chaque script est limit\\xE9 \\xE0 100 Ko.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Le script de setup s'ex\\xE9cute \\xE0 chaque ex\\xE9cution du check : gardez les \\xE9changes de jeton efficaces, car un setup lent s'ajoute au temps mesur\\xE9 du check.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Si le script de setup \\xE9choue, la requ\\xEAte n'est pas envoy\\xE9e et le check est marqu\\xE9 en \\xE9chec, ce qui est g\\xE9n\\xE9ralement souhaitable (pas d'authentification valide = pas de check valide).\")));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#scripts-de-préparation-et-de-nettoyage","title":"Scripts de préparation et de nettoyage","items":[{"url":"#comment-ça-marche","title":"Comment ça marche"},{"url":"#ce-que-vous-pouvez-utiliser","title":"Ce que vous pouvez utiliser"},{"url":"#exemple--récupérer-un-jeton-oauth-dans-le-setup","title":"Exemple : récupérer un jeton OAuth dans le setup"},{"url":"#exemple--signer-une-requête","title":"Exemple : signer une requête"},{"url":"#exemple--nettoyer-dans-le-teardown","title":"Exemple : nettoyer dans le teardown"},{"url":"#secrets-et-variables","title":"Secrets et variables"},{"url":"#tester-vos-scripts","title":"Tester vos scripts"},{"url":"#limites","title":"Limites"}]}]},"parent":{"__typename":"File","relativePath":"fr-fr/guides/setup-teardown-scripts.md"},"frontmatter":{"metaTitle":"Scripts setup et teardown en monitoring d'API : OAuth, signature, nettoyage | Guides | LoadFocus","metaDescription":"Exécutez un script avant et après un check d'API dans LoadFocus : obtenir un jeton OAuth, signer une requête, générer des données de test, puis nettoyer. Scripts setup et teardown pour les moniteurs d'API.","order":11}},"allMdx":{"edges":[{"node":{"fields":{"slug":"/fr-fr","title":"Bienvenue dans la nouvelle 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/guides/api-monitoring","title":"Surveillance API"}}},{"node":{"fields":{"slug":"/fr-fr/guides/external-reports","title":"Rapports externes"}}},{"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/jmeter-load-testing","title":"Tests de charge avec Apache JMeter"}}},{"node":{"fields":{"slug":"/fr-fr/guides/monitor-website-performance","title":"Surveillance de la performance des sites web"}}},{"node":{"fields":{"slug":"/fr-fr/guides/onboarding","title":"Onboarding LoadFocus"}}},{"node":{"fields":{"slug":"/fr-fr/guides/monitoring-as-code","title":"Monitoring as Code"}}},{"node":{"fields":{"slug":"/fr-fr/guides/openapi-import","title":"Importer depuis OpenAPI / Swagger"}}},{"node":{"fields":{"slug":"/fr-fr/guides/reusable-snippets","title":"Snippets réutilisables"}}},{"node":{"fields":{"slug":"/fr-fr/guides/teams","title":"Gestion des équipes"}}},{"node":{"fields":{"slug":"/fr-fr/guides/setup-teardown-scripts","title":"Scripts de préparation et de nettoyage"}}},{"node":{"fields":{"slug":"/fr-fr/knowledge-base/how-to-update-card-details","title":"Comment mettre a jour les details de carte pour les paiements echoues"}}},{"node":{"fields":{"slug":"/fr-fr/knowledge-base/understanding-differences-between-http-and-https","title":"Differences entre HTTP et HTTPS"}}},{"node":{"fields":{"slug":"/fr-fr/knowledge-base/understanding-declined-card-payments","title":"Pourquoi mon paiement par carte a-t-il ete refuse ?"}}},{"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/knowledge-base/using-3rd-party-tools-to-load-test-website-locally","title":"Comment tester la charge d'un site web ou d'une API heberge localement"}}},{"node":{"fields":{"slug":"/fr-fr/knowledge-base/using-query-parameters","title":"Comment utiliser les parametres de requete URL"}}},{"node":{"fields":{"slug":"/fr-fr/knowledge-base/what-is-an-http-method","title":"Qu'est-ce qu'une methode de requete HTTP"}}},{"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/guides/api-monitoring/alert-channels","title":"Canaux d'alerte : Discord, PagerDuty et Opsgenie"}}},{"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/azure-app-insights-integration","title":"Integration Azure App Insights"}}},{"node":{"fields":{"slug":"/fr-fr/guides/jmeter-load-testing/downloading-jmx-csv-files","title":"Telecharger les fichiers .JMX et .CSV dans LoadFocus"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/ai-credits","title":"AI Credits"}}},{"node":{"fields":{"slug":"/fr-fr/guides/external-reports/datadog-integration","title":"Integration Datadog"}}},{"node":{"fields":{"slug":"/fr-fr/guides/monitor-website-performance/alert-configuration","title":"Configuration des alertes"}}},{"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/load-testing/analyzing-load-test-results","title":"Comment verifier les resultats des tests de charge"}}},{"node":{"fields":{"slug":"/fr-fr/guides/jmeter-load-testing/how-to-run-new-apache-jmeter-load-test","title":"Comment executer un nouveau test de charge Apache JMeter"}}},{"node":{"fields":{"slug":"/fr-fr/guides/monitor-website-performance/alert-metrics","title":"Metriques d'alerte"}}},{"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/monitor-website-performance/core-web-vitals-competitor-comparison","title":"Comparaison Core Web Vitals avec les concurrents"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/check-groups","title":"Groupes de vérifications"}}},{"node":{"fields":{"slug":"/fr-fr/guides/jmeter-load-testing/jmeter-integration-ci-cd","title":"Integration API de test de charge"}}},{"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/baseline-comparison-between-load-tests","title":"Comparaison de reference entre les tests de charge"}}},{"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/custom-domain-status-page","title":"Comment ajouter un domaine personnalisé à votre page de statut"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/dashboards","title":"Tableaux de bord"}}},{"node":{"fields":{"slug":"/fr-fr/guides/jmeter-load-testing/load-testing-anomalies","title":"Anomalies des tests de charge"}}},{"node":{"fields":{"slug":"/fr-fr/guides/monitor-website-performance/getting-started","title":"Demarrage rapide"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/common-http-error-codes","title":"Codes d'erreur HTTP courants"}}},{"node":{"fields":{"slug":"/fr-fr/guides/monitor-website-performance/how-to-create-new-alert","title":"Creer une nouvelle alerte"}}},{"node":{"fields":{"slug":"/fr-fr/guides/jmeter-load-testing/load-testing-engine-health-monitoring","title":"Surveillance de la sante des moteurs"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/heartbeat-monitors","title":"Moniteurs Heartbeat (tâches cron)"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/crafting-perfect-test-names","title":"Creer des noms de test parfaits"}}},{"node":{"fields":{"slug":"/fr-fr/guides/monitor-website-performance/how-to-run-new-website-performance-test","title":"Creer un nouveau test de performance de site web"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/maintenance-windows","title":"Fenêtres de maintenance"}}},{"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":"Decoder le temps de reponse moyen"}}},{"node":{"fields":{"slug":"/fr-fr/guides/monitor-website-performance/http-authentication","title":"Authentification HTTP"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/multistep-api-checks","title":"Vérifications API multi-étapes"}}},{"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/load-testing/deep-dive-samples-in-load-testing","title":"Que sont les echantillons dans les tests de charge ?"}}},{"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/demo","title":"Demo"}}},{"node":{"fields":{"slug":"/fr-fr/guides/monitor-website-performance/lighthouse-opportunities","title":"Opportunités Lighthouse"}}},{"node":{"fields":{"slug":"/fr-fr/guides/jmeter-load-testing/load-generators-hardware-infrastructure-jmeter","title":"Quelles sont les ressources materielles allouees a mon compte pour les generateurs de charge ?"}}},{"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/api-monitoring/new-api-check","title":"Comment créer une nouvelle vérification API"}}},{"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/monitor-website-performance/pdf-report-branding","title":"Rapports PDF à votre marque"}}},{"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/api-monitoring/status-pages","title":"Créez une page de statut publique pour vos moniteurs"}}},{"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/load-testing/erros-and-reponse-codes","title":"Erreurs et codes de reponse"}}},{"node":{"fields":{"slug":"/fr-fr/guides/jmeter-load-testing/uploading-jmeter-files-step-by-step-guide","title":"Importer des fichiers JMeter dans LoadFocus : guide etape par etape"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/tcp-monitors","title":"Moniteurs de port TCP"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/geographical-test-location-in-load-testing","title":"Emplacement geographique des tests de charge"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/variables","title":"Variables"}}},{"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/monitor-website-performance/real-user-field-data","title":"Données de terrain réelles (CrUX)"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/getting-started","title":"Demarrage rapide"}}},{"node":{"fields":{"slug":"/fr-fr/guides/monitor-website-performance/sitemap-import","title":"Import depuis un Sitemap"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/granularity-in-load-test-results-and-charts","title":"Granularite dans les resultats et l'affichage des graphiques de tests de charge"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/how-to-run-new-load-test","title":"Comment executer un nouveau test de charge"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/headers-and-manage-presets","title":"En-tetes et preselections d'en-tetes"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/how-to-url-query-parameters","title":"Parametres de requete"}}},{"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-generators-hardware-infrastructure","title":"Quelles sont les ressources materielles allouees a mon compte pour les generateurs de charge ?"}}},{"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/http-methods-overview-load-testing","title":"Methodes HTTP : vue d'ensemble"}}},{"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/start-time-in-load-testing","title":"Comprendre l'importance de l'heure de debut dans les tests de charge"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/load-test-result-ai-analysis","title":"Analyse IA des resultats de 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/use-cases","title":"Cas d'utilisation"}}},{"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-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-are-iterations-load-testing","title":"Maitriser les iterations dans les tests de charge : une plongee approfondie"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/what-is-duration-in-load-testing","title":"Qu'est-ce que la duree dans les tests de charge"}}},{"node":{"fields":{"slug":"/fr-fr/guides/load-testing/what-is-delay-when-running-a-load-test","title":"Qu'est-ce que le delai lors de l'execution d'un test de charge ?"}}},{"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 etapes de montee 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 montee 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'execution 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/jmeter-load-testing/jmeter-integration-ci-cd/azure-devops","title":"Azure DevOps"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/new-api-check/activate-deactivate","title":"Activer/Désactiver"}}},{"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/github-actions","title":"GitHub Actions"}}},{"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/assertions","title":"Assertions"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/new-api-check/frequency","title":"Fréquence"}}},{"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":"Integration du client API JMeter avec les pipelines CI/CD"}}},{"node":{"fields":{"slug":"/fr-fr/guides/jmeter-load-testing/jmeter-integration-ci-cd/jenkins","title":"Jenkins"}}},{"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/locations","title":"Emplacements"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/new-api-check/request-preview","title":"Apercu de la requete"}}},{"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/response-time-limits","title":"Limites de temps de reponse"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/new-api-check/save-run","title":"Enregistrer et executer"}}},{"node":{"fields":{"slug":"/fr-fr/guides/api-monitoring/new-api-check/webhook-channels","title":"Canal Webhook"}}}]}},"pageContext":{"id":"26a8ca5d-a26a-52c3-ae7b-6aa032adbe21","locale":"fr-FR"}},"staticQueryHashes":["361965504","361965504","417421954","417421954","445494767","445494767"]}