[{"data":1,"prerenderedAt":1808},["ShallowReactive",2],{"docs-page-fr-ca-\u002Ffr-ca\u002Fdocs\u002Fintegrations\u002Fbitbucket":3,"docs-navigation-fr-ca":1706,"docs-surround-fr-ca-\u002Ffr-ca\u002Fdocs\u002Fintegrations\u002Fbitbucket":1803},{"id":4,"title":5,"body":6,"claimDependencies":1684,"description":1688,"extension":1689,"locale":1690,"meta":1691,"missingMedia":1692,"navigation":460,"owner":1696,"path":1697,"reviewStatus":1698,"seo":1699,"staleLinks":1700,"stem":1702,"technicalRisk":1703,"translationKey":1704,"__hash__":1705},"docs_fr_ca\u002Ffr-ca\u002Fdocs\u002F4.integrations\u002F4.bitbucket.md","Intégration Bitbucket",{"type":7,"value":8,"toc":1635},"minimark",[9,13,18,21,37,41,44,70,75,93,97,101,114,119,182,186,226,234,238,248,303,306,310,320,348,351,355,359,362,434,438,685,689,812,816,823,826,829,833,837,840,941,945,948,959,963,967,978,995,999,1021,1025,1028,1053,1057,1060,1078,1083,1094,1098,1102,1108,1113,1130,1134,1139,1143,1160,1164,1169,1173,1190,1194,1199,1203,1221,1225,1229,1255,1259,1285,1289,1321,1325,1329,1400,1404,1408,1419,1423,1434,1438,1442,1456,1460,1463,1477,1486,1490,1493,1497,1512,1516,1528,1533,1548,1552,1559,1562,1594,1598,1601,1631],[10,11,12],"p",{},"Jetscale s'intègre avec Bitbucket pour créer automatiquement des pull requests contenant du code Terraform prêt pour la production pour vos recommandations d'optimisation des coûts.",[14,15,17],"h2",{"id":16},"vue-densemble","Vue d'ensemble",[10,19,20],{},"L'intégration Bitbucket permet à Jetscale de :",[22,23,24,28,31,34],"ul",{},[25,26,27],"li",{},"Pousser le code Terraform généré vers vos dépôts Bitbucket",[25,29,30],{},"Créer des pull requests avec des recommandations d'optimisation détaillées",[25,32,33],{},"S'intégrer de manière transparente à vos workflows existants de revue de code et CI\u002FCD",[25,35,36],{},"Suivre le statut d'implémentation des recommandations via les pipelines Bitbucket",[14,38,40],{"id":39},"prérequis","Prérequis",[10,42,43],{},"Avant de connecter Bitbucket, vous aurez besoin de :",[45,46,47,54,60],"ol",{},[25,48,49,53],{},[50,51,52],"strong",{},"Compte Bitbucket"," (Cloud ou Server)",[25,55,56,59],{},[50,57,58],{},"Accès au dépôt"," avec permissions en écriture",[25,61,62,65,66,69],{},[50,63,64],{},"Mot de passe d'application"," ou ",[50,67,68],{},"Jeton d'accès personnel"," avec les portées appropriées",[71,72,74],"h3",{"id":73},"versions-bitbucket-prises-en-charge","Versions Bitbucket prises en charge",[22,76,77,83],{},[25,78,79,82],{},[50,80,81],{},"Bitbucket Cloud"," (bitbucket.org) - Recommandé",[25,84,85,88,89,92],{},[50,86,87],{},"Bitbucket Server"," \u002F ",[50,90,91],{},"Data Center"," (auto-hébergé)",[14,94,96],{"id":95},"guide-de-configuration","Guide de configuration",[71,98,100],{"id":99},"étape-1-créer-un-mot-de-passe-dapplication-bitbucket","Étape 1 : Créer un mot de passe d'application Bitbucket",[102,103,104],"blockquote",{},[10,105,106,109,110],{},[50,107,108],{},"Image à venir:"," Création de mot de passe d'application Bitbucket\n",[111,112,113],"em",{},"Emplacement de capture d'écran : paramètres de mot de passe d'application Bitbucket",[115,116,118],"h4",{"id":117},"pour-bitbucket-cloud","Pour Bitbucket Cloud",[45,120,121,131,137,140,171,176],{},[25,122,123,124],{},"Accédez à ",[125,126,130],"a",{"href":127,"rel":128},"https:\u002F\u002Fbitbucket.org\u002Faccount\u002Fsettings\u002Fapp-passwords\u002F",[129],"nofollow","Paramètres Bitbucket → Mots de passe d'application",[25,132,133,134],{},"Cliquez sur ",[50,135,136],{},"Créer un mot de passe d'application",[25,138,139],{},"Donnez-lui un label descriptif (par exemple, \"Intégration Jetscale\")",[25,141,142,143],{},"Sélectionnez les permissions requises :\n",[22,144,145,151,156,161,166],{},[25,146,147,148],{},"✓ ",[50,149,150],{},"Compte : Lecture",[25,152,147,153],{},[50,154,155],{},"Appartenance à l'espace de travail : Lecture",[25,157,147,158],{},[50,159,160],{},"Projets : Lecture",[25,162,147,163],{},[50,164,165],{},"Dépôts : Écriture",[25,167,147,168],{},[50,169,170],{},"Pull requests : Écriture",[25,172,133,173],{},[50,174,175],{},"Créer",[25,177,178,181],{},[50,179,180],{},"Important"," : Copiez votre mot de passe d'application immédiatement - vous ne le reverrez plus",[115,183,185],{"id":184},"pour-bitbucket-server","Pour Bitbucket Server",[45,187,188,193,198,201,216,219,223],{},[25,189,123,190],{},[50,191,192],{},"Paramètres du profil → Jetons d'accès personnels",[25,194,133,195],{},[50,196,197],{},"Créer un jeton",[25,199,200],{},"Donnez-lui un nom (par exemple, \"Jetscale\")",[25,202,203,204],{},"Sélectionnez les permissions :\n",[22,205,206,211],{},[25,207,147,208],{},[50,209,210],{},"Lecture du dépôt",[25,212,147,213],{},[50,214,215],{},"Écriture du dépôt",[25,217,218],{},"Définissez la date d'expiration",[25,220,133,221],{},[50,222,175],{},[25,224,225],{},"Copiez votre jeton",[102,227,228],{},[10,229,230,233],{},[50,231,232],{},"Note de sécurité"," : Stockez votre mot de passe d'application ou jeton de manière sécurisée. Jetscale chiffre les identifiants au repos.",[71,235,237],{"id":236},"étape-2-connecter-bitbucket-dans-jetscale","Étape 2 : Connecter Bitbucket dans Jetscale",[102,239,240],{},[10,241,242,244,245],{},[50,243,108],{}," Écran de connexion Bitbucket\n",[111,246,247],{},"Emplacement de capture d'écran : page d'intégration Bitbucket de Jetscale",[45,249,250,260,265,298],{},[25,251,123,252,255,256,259],{},[50,253,254],{},"Paramètres"," → ",[50,257,258],{},"Intégrations"," dans Jetscale",[25,261,133,262],{},[50,263,264],{},"Connecter Bitbucket",[25,266,267,268],{},"Entrez votre configuration :\n",[22,269,270,276,286,292],{},[25,271,272,275],{},[50,273,274],{},"Type Bitbucket"," : Cloud ou Server",[25,277,278,281,282],{},[50,279,280],{},"URL du serveur"," : (Pour Bitbucket Server uniquement) par exemple, ",[283,284,285],"code",{},"https:\u002F\u002Fbitbucket.votreentreprise.com",[25,287,288,291],{},[50,289,290],{},"Nom d'utilisateur"," : Votre nom d'utilisateur Bitbucket",[25,293,294,297],{},[50,295,296],{},"Mot de passe d'application\u002FJeton"," : L'identifiant créé à l'étape 1",[25,299,133,300],{},[50,301,302],{},"Vérifier et connecter",[10,304,305],{},"Jetscale vérifiera vos identifiants et affichera vos dépôts accessibles.",[71,307,309],{"id":308},"étape-3-sélectionner-votre-dépôt","Étape 3 : Sélectionner votre dépôt",[102,311,312],{},[10,313,314,316,317],{},[50,315,108],{}," Sélection de dépôt\n",[111,318,319],{},"Emplacement de capture d'écran : menu déroulant de sélection de dépôt Bitbucket",[45,321,322,329,340,343],{},[25,323,324,325,328],{},"Dans le menu déroulant ",[50,326,327],{},"Dépôt",", sélectionnez votre dépôt d'infrastructure Terraform",[25,330,331,332,335,336,339],{},"Format : ",[283,333,334],{},"espace-de-travail\u002Fslug-depot"," (Cloud) ou ",[283,337,338],{},"projet\u002Fdepot"," (Server)",[25,341,342],{},"Jetscale vérifiera que vous avez un accès en écriture",[25,344,133,345],{},[50,346,347],{},"Enregistrer",[10,349,350],{},"Le dépôt sélectionné sera utilisé pour toutes les futures pull requests.",[14,352,354],{"id":353},"comment-ça-fonctionne","Comment ça fonctionne",[71,356,358],{"id":357},"création-de-pull-request","Création de pull request",[10,360,361],{},"Lorsque vous approuvez une recommandation d'optimisation des coûts dans Jetscale :",[45,363,364,391,408],{},[25,365,366,369,370,65,373,376,377],{},[50,367,368],{},"Création de branche"," : Jetscale crée une nouvelle branche de fonctionnalité à partir de votre branche par défaut (généralement ",[283,371,372],{},"main",[283,374,375],{},"master",")",[22,378,379,385],{},[25,380,381,382],{},"Nommage des branches : ",[283,383,384],{},"jetscale\u002Foptimization-{type-ressource}-{horodatage}",[25,386,387,388],{},"Exemple : ",[283,389,390],{},"jetscale\u002Foptimization-rds-20240115-143022",[25,392,393,396,397],{},[50,394,395],{},"Push de fichier"," : Les fichiers Terraform générés sont commités vers la branche",[22,398,399,405],{},[25,400,401,402],{},"Fichiers placés dans le répertoire ",[283,403,404],{},"terraform\u002F",[25,406,407],{},"Le message de commit inclut le résumé d'optimisation et l'impact sur les coûts",[25,409,410,413,414],{},[50,411,412],{},"Pull Request"," : Une PR est automatiquement créée avec :",[22,415,416,422,428],{},[25,417,418,421],{},[50,419,420],{},"Titre"," : Description concise de l'optimisation",[25,423,424,427],{},[50,425,426],{},"Description"," : Analyse détaillée des coûts, considérations de performance, étapes d'implémentation",[25,429,430,433],{},[50,431,432],{},"Réviseurs"," : Ajoutés automatiquement selon les paramètres du dépôt (optionnel)",[71,435,437],{"id":436},"structure-de-la-pull-request","Structure de la pull request",[439,440,445],"pre",{"className":441,"code":442,"language":443,"meta":444,"style":444},"language-markdown shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Optimisation des coûts : Dimensionnement approprié de l'instance RDS\n\n## Résumé\nRétrograder l'instance RDS `production-db` de **db.r5.2xlarge** à **db.r5.xlarge**\n\n## Impact sur les coûts\n\n| Métrique | Actuel | Projeté | Économies |\n|--------|---------|-----------|---------|\n| Coût mensuel | $730.00 | $365.00 | **$365.00 (50%)** |\n| Coût annuel | $8,760.00 | $4,380.00 | **$4,380.00** |\n\n## Analyse de performance\n\n✓ Utilisation CPU actuelle : moyenne de 15-25%\n✓ Utilisation mémoire actuelle : moyenne de 30-40%\n✓ L'instance recommandée fournit 2x l'utilisation maximale actuelle\n✓ **Évaluation des risques** : Faible - Aucune dégradation de performance attendue\n\n## Fichiers modifiés\n\n- `terraform\u002Frds_production_db.tf` - Mise à jour de la classe d'instance de db.r5.2xlarge à db.r5.xlarge\n- `terraform\u002Fvariables.tf` - Ajout de la variable configurable instance_class\n\n## Liste de vérification d'implémentation\n\n- [ ] Examiner les modifications dans la sortie du plan Terraform\n- [ ] Appliquer d'abord à l'environnement de staging\n- [ ] Surveiller les performances pendant 24-48 heures\n- [ ] Vérifier que les contrôles de santé de l'application réussissent\n- [ ] Appliquer à la production avec l'approbation de la gestion du changement\n\n## Recommandations de test\n\n1. Exécuter `terraform plan` pour prévisualiser les modifications\n2. Vérifier les ressources dépendantes\n3. Vérifier les politiques de sauvegarde\u002Fsnapshot\n4. Confirmer que les tableaux de bord de surveillance sont mis à jour\n\n---\n🤖 Généré par [Jetscale](https:\u002F\u002Fjetscale.ai) | [Voir dans le tableau de bord Jetscale](#)\n","markdown","",[283,446,447,455,462,468,474,479,485,490,496,502,508,514,519,525,530,536,542,548,554,559,565,570,576,582,587,593,598,604,610,616,622,628,633,639,644,650,656,662,668,673,679],{"__ignoreMap":444},[448,449,452],"span",{"class":450,"line":451},"line",1,[448,453,454],{},"# Optimisation des coûts : Dimensionnement approprié de l'instance RDS\n",[448,456,458],{"class":450,"line":457},2,[448,459,461],{"emptyLinePlaceholder":460},true,"\n",[448,463,465],{"class":450,"line":464},3,[448,466,467],{},"## Résumé\n",[448,469,471],{"class":450,"line":470},4,[448,472,473],{},"Rétrograder l'instance RDS `production-db` de **db.r5.2xlarge** à **db.r5.xlarge**\n",[448,475,477],{"class":450,"line":476},5,[448,478,461],{"emptyLinePlaceholder":460},[448,480,482],{"class":450,"line":481},6,[448,483,484],{},"## Impact sur les coûts\n",[448,486,488],{"class":450,"line":487},7,[448,489,461],{"emptyLinePlaceholder":460},[448,491,493],{"class":450,"line":492},8,[448,494,495],{},"| Métrique | Actuel | Projeté | Économies |\n",[448,497,499],{"class":450,"line":498},9,[448,500,501],{},"|--------|---------|-----------|---------|\n",[448,503,505],{"class":450,"line":504},10,[448,506,507],{},"| Coût mensuel | $730.00 | $365.00 | **$365.00 (50%)** |\n",[448,509,511],{"class":450,"line":510},11,[448,512,513],{},"| Coût annuel | $8,760.00 | $4,380.00 | **$4,380.00** |\n",[448,515,517],{"class":450,"line":516},12,[448,518,461],{"emptyLinePlaceholder":460},[448,520,522],{"class":450,"line":521},13,[448,523,524],{},"## Analyse de performance\n",[448,526,528],{"class":450,"line":527},14,[448,529,461],{"emptyLinePlaceholder":460},[448,531,533],{"class":450,"line":532},15,[448,534,535],{},"✓ Utilisation CPU actuelle : moyenne de 15-25%\n",[448,537,539],{"class":450,"line":538},16,[448,540,541],{},"✓ Utilisation mémoire actuelle : moyenne de 30-40%\n",[448,543,545],{"class":450,"line":544},17,[448,546,547],{},"✓ L'instance recommandée fournit 2x l'utilisation maximale actuelle\n",[448,549,551],{"class":450,"line":550},18,[448,552,553],{},"✓ **Évaluation des risques** : Faible - Aucune dégradation de performance attendue\n",[448,555,557],{"class":450,"line":556},19,[448,558,461],{"emptyLinePlaceholder":460},[448,560,562],{"class":450,"line":561},20,[448,563,564],{},"## Fichiers modifiés\n",[448,566,568],{"class":450,"line":567},21,[448,569,461],{"emptyLinePlaceholder":460},[448,571,573],{"class":450,"line":572},22,[448,574,575],{},"- `terraform\u002Frds_production_db.tf` - Mise à jour de la classe d'instance de db.r5.2xlarge à db.r5.xlarge\n",[448,577,579],{"class":450,"line":578},23,[448,580,581],{},"- `terraform\u002Fvariables.tf` - Ajout de la variable configurable instance_class\n",[448,583,585],{"class":450,"line":584},24,[448,586,461],{"emptyLinePlaceholder":460},[448,588,590],{"class":450,"line":589},25,[448,591,592],{},"## Liste de vérification d'implémentation\n",[448,594,596],{"class":450,"line":595},26,[448,597,461],{"emptyLinePlaceholder":460},[448,599,601],{"class":450,"line":600},27,[448,602,603],{},"- [ ] Examiner les modifications dans la sortie du plan Terraform\n",[448,605,607],{"class":450,"line":606},28,[448,608,609],{},"- [ ] Appliquer d'abord à l'environnement de staging\n",[448,611,613],{"class":450,"line":612},29,[448,614,615],{},"- [ ] Surveiller les performances pendant 24-48 heures\n",[448,617,619],{"class":450,"line":618},30,[448,620,621],{},"- [ ] Vérifier que les contrôles de santé de l'application réussissent\n",[448,623,625],{"class":450,"line":624},31,[448,626,627],{},"- [ ] Appliquer à la production avec l'approbation de la gestion du changement\n",[448,629,631],{"class":450,"line":630},32,[448,632,461],{"emptyLinePlaceholder":460},[448,634,636],{"class":450,"line":635},33,[448,637,638],{},"## Recommandations de test\n",[448,640,642],{"class":450,"line":641},34,[448,643,461],{"emptyLinePlaceholder":460},[448,645,647],{"class":450,"line":646},35,[448,648,649],{},"1. Exécuter `terraform plan` pour prévisualiser les modifications\n",[448,651,653],{"class":450,"line":652},36,[448,654,655],{},"2. Vérifier les ressources dépendantes\n",[448,657,659],{"class":450,"line":658},37,[448,660,661],{},"3. Vérifier les politiques de sauvegarde\u002Fsnapshot\n",[448,663,665],{"class":450,"line":664},38,[448,666,667],{},"4. Confirmer que les tableaux de bord de surveillance sont mis à jour\n",[448,669,671],{"class":450,"line":670},39,[448,672,461],{"emptyLinePlaceholder":460},[448,674,676],{"class":450,"line":675},40,[448,677,678],{},"---\n",[448,680,682],{"class":450,"line":681},41,[448,683,684],{},"🤖 Généré par [Jetscale](https:\u002F\u002Fjetscale.ai) | [Voir dans le tableau de bord Jetscale](#)\n",[71,686,688],{"id":687},"exemple-de-code-terraform","Exemple de code Terraform",[439,690,694],{"className":691,"code":692,"language":693,"meta":444,"style":444},"language-hcl shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Optimized RDS instance configuration\n# Generated by Jetscale on 2024-01-15\n\nresource \"aws_db_instance\" \"production_db\" {\n  identifier     = \"production-db\"\n  engine         = \"postgres\"\n  engine_version = \"14.7\"\n\n  # Previous: db.r5.2xlarge ($730\u002Fmonth)\n  # New: db.r5.xlarge ($365\u002Fmonth)\n  # Cost Reduction: 50% ($365\u002Fmonth, $4,380\u002Fyear)\n  #\n  # Justification:\n  # - Average CPU utilization: 15-25%\n  # - Average memory utilization: 30-40%\n  # - New instance provides 2x headroom above peak usage\n  instance_class = var.rds_production_instance_class\n\n  allocated_storage     = 100\n  storage_type          = \"gp3\"\n  storage_encrypted     = true\n\n  # ... other configuration unchanged\n}\n","hcl",[283,695,696,701,706,710,715,720,725,730,734,739,744,749,754,759,764,769,774,779,783,788,793,798,802,807],{"__ignoreMap":444},[448,697,698],{"class":450,"line":451},[448,699,700],{},"# Optimized RDS instance configuration\n",[448,702,703],{"class":450,"line":457},[448,704,705],{},"# Generated by Jetscale on 2024-01-15\n",[448,707,708],{"class":450,"line":464},[448,709,461],{"emptyLinePlaceholder":460},[448,711,712],{"class":450,"line":470},[448,713,714],{},"resource \"aws_db_instance\" \"production_db\" {\n",[448,716,717],{"class":450,"line":476},[448,718,719],{},"  identifier     = \"production-db\"\n",[448,721,722],{"class":450,"line":481},[448,723,724],{},"  engine         = \"postgres\"\n",[448,726,727],{"class":450,"line":487},[448,728,729],{},"  engine_version = \"14.7\"\n",[448,731,732],{"class":450,"line":492},[448,733,461],{"emptyLinePlaceholder":460},[448,735,736],{"class":450,"line":498},[448,737,738],{},"  # Previous: db.r5.2xlarge ($730\u002Fmonth)\n",[448,740,741],{"class":450,"line":504},[448,742,743],{},"  # New: db.r5.xlarge ($365\u002Fmonth)\n",[448,745,746],{"class":450,"line":510},[448,747,748],{},"  # Cost Reduction: 50% ($365\u002Fmonth, $4,380\u002Fyear)\n",[448,750,751],{"class":450,"line":516},[448,752,753],{},"  #\n",[448,755,756],{"class":450,"line":521},[448,757,758],{},"  # Justification:\n",[448,760,761],{"class":450,"line":527},[448,762,763],{},"  # - Average CPU utilization: 15-25%\n",[448,765,766],{"class":450,"line":532},[448,767,768],{},"  # - Average memory utilization: 30-40%\n",[448,770,771],{"class":450,"line":538},[448,772,773],{},"  # - New instance provides 2x headroom above peak usage\n",[448,775,776],{"class":450,"line":544},[448,777,778],{},"  instance_class = var.rds_production_instance_class\n",[448,780,781],{"class":450,"line":550},[448,782,461],{"emptyLinePlaceholder":460},[448,784,785],{"class":450,"line":556},[448,786,787],{},"  allocated_storage     = 100\n",[448,789,790],{"class":450,"line":561},[448,791,792],{},"  storage_type          = \"gp3\"\n",[448,794,795],{"class":450,"line":567},[448,796,797],{},"  storage_encrypted     = true\n",[448,799,800],{"class":450,"line":572},[448,801,461],{"emptyLinePlaceholder":460},[448,803,804],{"class":450,"line":578},[448,805,806],{},"  # ... other configuration unchanged\n",[448,808,809],{"class":450,"line":584},[448,810,811],{},"}\n",[14,813,815],{"id":814},"permissions-du-dépôt","Permissions du dépôt",[10,817,818,819,822],{},"Jetscale nécessite un accès en ",[50,820,821],{},"écriture"," à votre dépôt pour créer des branches et des pull requests. L'intégration va :",[10,824,825],{},"✓ Créer des branches de fonctionnalité\n✓ Commiter des fichiers Terraform\n✓ Créer des pull requests\n✓ Lire les métadonnées et branches du dépôt",[10,827,828],{},"✗ Ne peut pas fusionner les pull requests\n✗ Ne peut pas supprimer les branches\n✗ Ne peut pas modifier les paramètres ou webhooks\n✗ Ne peut pas accéder aux secrets du dépôt ou variables de pipeline",[14,830,832],{"id":831},"intégration-avec-bitbucket-pipelines","Intégration avec Bitbucket Pipelines",[71,834,836],{"id":835},"validation-automatique","Validation automatique",[10,838,839],{},"Les pull requests Jetscale déclenchent vos Bitbucket Pipelines existants :",[439,841,845],{"className":842,"code":843,"language":844,"meta":444,"style":444},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# bitbucket-pipelines.yml example\npipelines:\n  pull-requests:\n    '**':\n      - step:\n          name: Validate Terraform\n          script:\n            - terraform init\n            - terraform fmt -check\n            - terraform validate\n            - terraform plan\n","yaml",[283,846,847,853,863,870,884,894,905,912,920,927,934],{"__ignoreMap":444},[448,848,849],{"class":450,"line":451},[448,850,852],{"class":851},"sHwdD","# bitbucket-pipelines.yml example\n",[448,854,855,859],{"class":450,"line":457},[448,856,858],{"class":857},"swJcz","pipelines",[448,860,862],{"class":861},"sMK4o",":\n",[448,864,865,868],{"class":450,"line":464},[448,866,867],{"class":857},"  pull-requests",[448,869,862],{"class":861},[448,871,872,875,879,882],{"class":450,"line":470},[448,873,874],{"class":861},"    '",[448,876,878],{"class":877},"sfazB","**",[448,880,881],{"class":861},"'",[448,883,862],{"class":861},[448,885,886,889,892],{"class":450,"line":476},[448,887,888],{"class":861},"      -",[448,890,891],{"class":857}," step",[448,893,862],{"class":861},[448,895,896,899,902],{"class":450,"line":481},[448,897,898],{"class":857},"          name",[448,900,901],{"class":861},":",[448,903,904],{"class":877}," Validate Terraform\n",[448,906,907,910],{"class":450,"line":487},[448,908,909],{"class":857},"          script",[448,911,862],{"class":861},[448,913,914,917],{"class":450,"line":492},[448,915,916],{"class":861},"            -",[448,918,919],{"class":877}," terraform init\n",[448,921,922,924],{"class":450,"line":498},[448,923,916],{"class":861},[448,925,926],{"class":877}," terraform fmt -check\n",[448,928,929,931],{"class":450,"line":504},[448,930,916],{"class":861},[448,932,933],{"class":877}," terraform validate\n",[448,935,936,938],{"class":450,"line":510},[448,937,916],{"class":861},[448,939,940],{"class":877}," terraform plan\n",[71,942,944],{"id":943},"contrôles-de-statut","Contrôles de statut",[10,946,947],{},"Jetscale surveille le statut du pipeline :",[22,949,950,953,956],{},[25,951,952],{},"✅ Tous les contrôles réussis : Prêt à fusionner",[25,954,955],{},"⚠️ Contrôles en attente : En attente du pipeline",[25,957,958],{},"❌ Contrôles échoués : Examiner les journaux du pipeline",[14,960,962],{"id":961},"gérer-lintégration","Gérer l'intégration",[71,964,966],{"id":965},"voir-le-statut-de-lintégration","Voir le statut de l'intégration",[10,968,969,970,255,972,255,974,977],{},"Depuis ",[50,971,254],{},[50,973,258],{},[50,975,976],{},"Bitbucket"," :",[22,979,980,983,986,989,992],{},[25,981,982],{},"Compte Bitbucket connecté",[25,984,985],{},"URL du serveur (si Bitbucket Server)",[25,987,988],{},"Espace de travail\u002Fprojet et dépôt sélectionnés",[25,990,991],{},"Heure de la dernière vérification",[25,993,994],{},"Pull requests récentes créées",[71,996,998],{"id":997},"changer-de-dépôt","Changer de dépôt",[45,1000,1001,1009,1013,1016],{},[25,1002,123,1003,255,1005,255,1007],{},[50,1004,254],{},[50,1006,258],{},[50,1008,976],{},[25,1010,133,1011],{},[50,1012,998],{},[25,1014,1015],{},"Sélectionnez un dépôt différent",[25,1017,133,1018],{},[50,1019,1020],{},"Mettre à jour",[71,1022,1024],{"id":1023},"mettre-à-jour-les-identifiants","Mettre à jour les identifiants",[10,1026,1027],{},"Si votre mot de passe d'application ou jeton expire :",[45,1029,1030,1033,1041,1045,1048],{},[25,1031,1032],{},"Générez un nouveau mot de passe d'application\u002Fjeton dans Bitbucket",[25,1034,123,1035,255,1037,255,1039],{},[50,1036,254],{},[50,1038,258],{},[50,1040,976],{},[25,1042,133,1043],{},[50,1044,1024],{},[25,1046,1047],{},"Entrez les nouveaux identifiants",[25,1049,133,1050],{},[50,1051,1052],{},"Enregistrer et vérifier",[71,1054,1056],{"id":1055},"déconnecter-bitbucket","Déconnecter Bitbucket",[10,1058,1059],{},"Pour supprimer l'intégration :",[45,1061,1062,1070,1075],{},[25,1063,123,1064,255,1066,255,1068],{},[50,1065,254],{},[50,1067,258],{},[50,1069,976],{},[25,1071,133,1072],{},[50,1073,1074],{},"Déconnecter",[25,1076,1077],{},"Confirmez la déconnexion",[10,1079,1080,1082],{},[50,1081,180],{}," : La déconnexion va :",[22,1084,1085,1088,1091],{},[25,1086,1087],{},"Supprimer les identifiants stockés de Jetscale",[25,1089,1090],{},"Arrêter la création automatique de PR",[25,1092,1093],{},"Préserver les pull requests existantes dans Bitbucket",[14,1095,1097],{"id":1096},"dépannage","Dépannage",[71,1099,1101],{"id":1100},"échec-dauthentification","Échec d'authentification",[10,1103,1104,1107],{},[50,1105,1106],{},"Problème"," : Erreur \"Identifiants invalides\" lors de la connexion",[10,1109,1110,977],{},[50,1111,1112],{},"Solutions",[22,1114,1115,1118,1121,1124,1127],{},[25,1116,1117],{},"Vérifiez que le nom d'utilisateur est correct (sensible à la casse)",[25,1119,1120],{},"Vérifiez que le mot de passe d'application\u002Fjeton n'a pas expiré",[25,1122,1123],{},"Assurez-vous que toutes les portées requises sont sélectionnées",[25,1125,1126],{},"Pour Bitbucket Server, vérifiez que l'URL du serveur est correcte et accessible",[25,1128,1129],{},"Essayez de créer un nouveau mot de passe d'application",[71,1131,1133],{"id":1132},"dépôt-introuvable","Dépôt introuvable",[10,1135,1136,1138],{},[50,1137,1106],{}," : Impossible de trouver le dépôt dans le menu déroulant de sélection",[10,1140,1141,977],{},[50,1142,1112],{},[22,1144,1145,1148,1151,1154,1157],{},[25,1146,1147],{},"Vérifiez que vous avez un accès en écriture au dépôt",[25,1149,1150],{},"Vérifiez que le dépôt n'est pas archivé",[25,1152,1153],{},"Assurez-vous que l'appartenance à l'espace de travail\u002Fprojet est active",[25,1155,1156],{},"Pour Bitbucket Server, confirmez les permissions du projet",[25,1158,1159],{},"Essayez d'actualiser la liste des dépôts",[71,1161,1163],{"id":1162},"échec-de-création-de-pull-request","Échec de création de pull request",[10,1165,1166,1168],{},[50,1167,1106],{}," : Recommandation approuvée mais la PR n'a pas été créée",[10,1170,1171,977],{},[50,1172,1112],{},[22,1174,1175,1178,1181,1184,1187],{},[25,1176,1177],{},"Vérifiez qu'une branche n'existe pas déjà avec le même nom",[25,1179,1180],{},"Vérifiez que vous avez toujours un accès en écriture",[25,1182,1183],{},"Assurez-vous que la branche par défaut existe et n'est pas verrouillée",[25,1185,1186],{},"Confirmez que le dépôt n'est pas en mode lecture seule",[25,1188,1189],{},"Examinez les limites de taux de l'API Bitbucket",[71,1191,1193],{"id":1192},"le-pipeline-ne-se-déclenche-pas","Le pipeline ne se déclenche pas",[10,1195,1196,1198],{},[50,1197,1106],{}," : Bitbucket Pipelines ne s'exécute pas sur les PR Jetscale",[10,1200,1201,977],{},[50,1202,1112],{},[22,1204,1205,1208,1215,1218],{},[25,1206,1207],{},"Vérifiez que les Pipelines sont activés pour le dépôt",[25,1209,1210,1211,1214],{},"Vérifiez que ",[283,1212,1213],{},"bitbucket-pipelines.yml"," inclut les déclencheurs de pull-request",[25,1216,1217],{},"Assurez-vous que le quota de pipeline n'est pas épuisé",[25,1219,1220],{},"Examinez la correspondance des modèles de branche dans la configuration du pipeline",[14,1222,1224],{"id":1223},"bonnes-pratiques","Bonnes pratiques",[71,1226,1228],{"id":1227},"gestion-des-identifiants","Gestion des identifiants",[22,1230,1231,1237,1243,1249],{},[25,1232,1233,1236],{},[50,1234,1235],{},"Mot de passe d'application dédié"," : Créez des identifiants séparés pour Jetscale",[25,1238,1239,1242],{},[50,1240,1241],{},"Définir l'expiration"," : Utilisez des dates d'expiration raisonnables (90-180 jours)",[25,1244,1245,1248],{},[50,1246,1247],{},"Rotation régulière"," : Mettez à jour les identifiants avant expiration",[25,1250,1251,1254],{},[50,1252,1253],{},"Révoquer les inutilisés"," : Supprimez les anciens mots de passe d'application immédiatement",[71,1256,1258],{"id":1257},"configuration-du-dépôt","Configuration du dépôt",[22,1260,1261,1267,1273,1279],{},[25,1262,1263,1266],{},[50,1264,1265],{},"Protection de branche"," : Exiger des revues sur la branche par défaut",[25,1268,1269,1272],{},[50,1270,1271],{},"Réviseurs requis"," : Configurez CODEOWNERS pour l'attribution automatique des revues",[25,1274,1275,1278],{},[50,1276,1277],{},"Validation du pipeline"," : Activez les contrôles de pipeline requis avant la fusion",[25,1280,1281,1284],{},[50,1282,1283],{},"Stratégies de fusion"," : Utilisez squash ou no-fast-forward pour un historique propre",[71,1286,1288],{"id":1287},"workflow-des-pull-requests","Workflow des pull requests",[45,1290,1291,1297,1303,1309,1315],{},[25,1292,1293,1296],{},[50,1294,1295],{},"Validation automatisée"," : Laissez les pipelines valider les modifications Terraform",[25,1298,1299,1302],{},[50,1300,1301],{},"Revue par les pairs"," : Faites réviser les optimisations de coûts par l'équipe infrastructure",[25,1304,1305,1308],{},[50,1306,1307],{},"Déploiement en staging"," : Testez les modifications en non-production d'abord",[25,1310,1311,1314],{},[50,1312,1313],{},"Surveillance"," : Surveillez les métriques après avoir appliqué les modifications",[25,1316,1317,1320],{},[50,1318,1319],{},"Documentation"," : Mettez à jour les runbooks si l'infrastructure change",[14,1322,1324],{"id":1323},"bitbucket-cloud-vs-server","Bitbucket Cloud vs Server",[71,1326,1328],{"id":1327},"comparaison-des-fonctionnalités","Comparaison des fonctionnalités",[1330,1331,1332,1346],"table",{},[1333,1334,1335],"thead",{},[1336,1337,1338,1342,1344],"tr",{},[1339,1340,1341],"th",{},"Fonctionnalité",[1339,1343,81],{},[1339,1345,87],{},[1347,1348,1349,1359,1368,1379,1389],"tbody",{},[1336,1350,1351,1355,1357],{},[1352,1353,1354],"td",{},"Authentification",[1352,1356,64],{},[1352,1358,68],{},[1336,1360,1361,1364,1366],{},[1352,1362,1363],{},"Format de dépôt",[1352,1365,334],{},[1352,1367,338],{},[1336,1369,1370,1373,1376],{},[1352,1371,1372],{},"Version de l'API",[1352,1374,1375],{},"REST 2.0",[1352,1377,1378],{},"REST 1.0",[1336,1380,1381,1384,1387],{},[1352,1382,1383],{},"Webhooks",[1352,1385,1386],{},"Support natif",[1352,1388,1386],{},[1336,1390,1391,1394,1397],{},[1352,1392,1393],{},"Pipelines",[1352,1395,1396],{},"Intégré",[1352,1398,1399],{},"Plugin requis",[71,1401,1403],{"id":1402},"différences-de-configuration","Différences de configuration",[10,1405,1406,977],{},[50,1407,81],{},[22,1409,1410,1413,1416],{},[25,1411,1412],{},"Utilise des permissions basées sur l'espace de travail",[25,1414,1415],{},"Les mots de passe d'application ont des portées granulaires",[25,1417,1418],{},"Points de terminaison HTTPS automatiques",[10,1420,1421,977],{},[50,1422,87],{},[22,1424,1425,1428,1431],{},[25,1426,1427],{},"Utilise des permissions basées sur les projets",[25,1429,1430],{},"Nécessite l'URL complète du serveur",[25,1432,1433],{},"Peut nécessiter une configuration de pare-feu\u002FVPN",[14,1435,1437],{"id":1436},"considérations-de-sécurité","Considérations de sécurité",[71,1439,1441],{"id":1440},"sécurité-des-identifiants","Sécurité des identifiants",[22,1443,1444,1447,1450,1453],{},[25,1445,1446],{},"Jetscale chiffre les mots de passe d'application et jetons au repos (AES-256)",[25,1448,1449],{},"Les identifiants n'apparaissent jamais dans les journaux ou réponses API",[25,1451,1452],{},"Tous les appels API Bitbucket utilisent HTTPS avec TLS 1.2+",[25,1454,1455],{},"Identifiants stockés séparément avec accès restreint",[71,1457,1459],{"id":1458},"piste-daudit","Piste d'audit",[10,1461,1462],{},"Toutes les actions Jetscale sont journalisées :",[22,1464,1465,1468,1471,1474],{},[25,1466,1467],{},"Appels API Bitbucket",[25,1469,1470],{},"Création de pull request par recommandation",[25,1472,1473],{},"Tentatives d'authentification échouées",[25,1475,1476],{},"Événements d'accès au dépôt",[10,1478,1479,1480,255,1482,1485],{},"Journaux d'audit disponibles dans le tableau de bord Jetscale sous ",[50,1481,254],{},[50,1483,1484],{},"Journal d'audit",".",[71,1487,1489],{"id":1488},"révoquer-laccès","Révoquer l'accès",[10,1491,1492],{},"Pour révoquer l'accès immédiatement :",[10,1494,1495,977],{},[50,1496,81],{},[45,1498,1499,1506],{},[25,1500,1501,1502],{},"Allez sur ",[125,1503,1505],{"href":127,"rel":1504},[129],"Mots de passe d'application",[25,1507,133,1508,1511],{},[50,1509,1510],{},"Révoquer"," à côté du mot de passe Jetscale",[10,1513,1514,977],{},[50,1515,87],{},[45,1517,1518,1523],{},[25,1519,123,1520],{},[50,1521,1522],{},"Jetons d'accès personnels",[25,1524,133,1525,1527],{},[50,1526,1510],{}," à côté du jeton Jetscale",[10,1529,1530,977],{},[50,1531,1532],{},"Jetscale",[45,1534,1535,1544],{},[25,1536,1537,1538,255,1540,255,1542],{},"Allez dans ",[50,1539,254],{},[50,1541,258],{},[50,1543,976],{},[25,1545,133,1546],{},[50,1547,1074],{},[14,1549,1551],{"id":1550},"référence-api","Référence API",[10,1553,1554,1555,1485],{},"Pour un accès programmatique, consultez notre ",[125,1556,1558],{"href":1557},"\u002Ffr-ca\u002Fdocs\u002Fapi-reference#bitbucket-integration","Documentation API",[10,1560,1561],{},"Points de terminaison clés :",[22,1563,1564,1570,1576,1582,1588],{},[25,1565,1566,1569],{},[283,1567,1568],{},"POST \u002Fapi\u002Fv1\u002Fbitbucket\u002Faction\u002Fconnect"," - Connecter le compte Bitbucket",[25,1571,1572,1575],{},[283,1573,1574],{},"POST \u002Fapi\u002Fv1\u002Fbitbucket\u002Faction\u002Fselect-repo"," - Sélectionner le dépôt",[25,1577,1578,1581],{},[283,1579,1580],{},"GET \u002Fapi\u002Fv1\u002Fbitbucket\u002Frepos"," - Lister les dépôts accessibles",[25,1583,1584,1587],{},[283,1585,1586],{},"POST \u002Fapi\u002Fv1\u002Fbitbucket\u002Faction\u002Fpr\u002Fcreate"," - Créer une pull request",[25,1589,1590,1593],{},[283,1591,1592],{},"POST \u002Fapi\u002Fv1\u002Fbitbucket\u002Faction\u002Fdisconnect"," - Déconnecter Bitbucket",[14,1595,1597],{"id":1596},"support","Support",[10,1599,1600],{},"Besoin d'aide avec l'intégration Bitbucket ?",[22,1602,1603,1613,1621],{},[25,1604,1605,1608,1609],{},[50,1606,1607],{},"Email"," : ",[125,1610,1612],{"href":1611},"mailto:support@jetscale.ai","support@jetscale.ai",[25,1614,1615,1608,1617],{},[50,1616,1319],{},[125,1618,1620],{"href":1619},"\u002Ffr-ca\u002Fdocs\u002Ffaq","FAQ",[25,1622,1623,1608,1626],{},[50,1624,1625],{},"GitHub Issues",[125,1627,1630],{"href":1628,"rel":1629},"https:\u002F\u002Fgithub.com\u002FJetscale-ai\u002Fjetscale-docs\u002Fissues",[129],"Signaler un problème",[1632,1633,1634],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}",{"title":444,"searchDepth":457,"depth":457,"links":1636},[1637,1638,1641,1646,1651,1652,1656,1662,1668,1673,1677,1682,1683],{"id":16,"depth":457,"text":17},{"id":39,"depth":457,"text":40,"children":1639},[1640],{"id":73,"depth":464,"text":74},{"id":95,"depth":457,"text":96,"children":1642},[1643,1644,1645],{"id":99,"depth":464,"text":100},{"id":236,"depth":464,"text":237},{"id":308,"depth":464,"text":309},{"id":353,"depth":457,"text":354,"children":1647},[1648,1649,1650],{"id":357,"depth":464,"text":358},{"id":436,"depth":464,"text":437},{"id":687,"depth":464,"text":688},{"id":814,"depth":457,"text":815},{"id":831,"depth":457,"text":832,"children":1653},[1654,1655],{"id":835,"depth":464,"text":836},{"id":943,"depth":464,"text":944},{"id":961,"depth":457,"text":962,"children":1657},[1658,1659,1660,1661],{"id":965,"depth":464,"text":966},{"id":997,"depth":464,"text":998},{"id":1023,"depth":464,"text":1024},{"id":1055,"depth":464,"text":1056},{"id":1096,"depth":457,"text":1097,"children":1663},[1664,1665,1666,1667],{"id":1100,"depth":464,"text":1101},{"id":1132,"depth":464,"text":1133},{"id":1162,"depth":464,"text":1163},{"id":1192,"depth":464,"text":1193},{"id":1223,"depth":457,"text":1224,"children":1669},[1670,1671,1672],{"id":1227,"depth":464,"text":1228},{"id":1257,"depth":464,"text":1258},{"id":1287,"depth":464,"text":1288},{"id":1323,"depth":457,"text":1324,"children":1674},[1675,1676],{"id":1327,"depth":464,"text":1328},{"id":1402,"depth":464,"text":1403},{"id":1436,"depth":457,"text":1437,"children":1678},[1679,1680,1681],{"id":1440,"depth":464,"text":1441},{"id":1458,"depth":464,"text":1459},{"id":1488,"depth":464,"text":1489},{"id":1550,"depth":457,"text":1551},{"id":1596,"depth":457,"text":1597},[1685,1686,1687],"integration-authentication","integration-availability","terraform-generation","Jetscale s'intègre avec Bitbucket pour créer automatiquement des pull requests contenant du code Terraform prêt pour la production pour vos recommandations d'optimisation des...","md","fr-ca",{},[1693,1694,1695],"Création de mot de passe d'application Bitbucket","Écran de connexion Bitbucket","Sélection de dépôt","Product Integrations","\u002Ffr-ca\u002Fdocs\u002Fintegrations\u002Fbitbucket","legacy-import",{"title":5,"description":1688},[1701],"Voir dans le tableau de bord Jetscale","fr-ca\u002Fdocs\u002F4.integrations\u002F4.bitbucket","high","integrations\u002Fbitbucket","jNnYZEUeeJisO-9r0KsZDAE858VeCI15PSde6dn0PnE",[1707],{"title":1708,"path":1709,"stem":1690,"children":1710,"page":1802},"Fr Ca","\u002Ffr-ca",[1711],{"title":1712,"path":1713,"stem":1714,"children":1715},"Documentation Jetscale","\u002Ffr-ca\u002Fdocs","fr-ca\u002Fdocs\u002Findex",[1716,1717,1721,1725,1729,1733,1751,1755,1793,1797,1800],{"title":1712,"path":1713,"stem":1714},{"title":1718,"path":1719,"stem":1720},"Démarrage avec Jetscale","\u002Ffr-ca\u002Fdocs\u002Fgetting-started","fr-ca\u002Fdocs\u002F1.getting-started",{"title":1722,"path":1723,"stem":1724},"Guide de Configuration AWS","\u002Ffr-ca\u002Fdocs\u002Faws-setup","fr-ca\u002Fdocs\u002F2.aws-setup",{"title":1726,"path":1727,"stem":1728},"Guide de Configuration Azure","\u002Ffr-ca\u002Fdocs\u002Fazure-setup","fr-ca\u002Fdocs\u002F3.azure-setup",{"title":1730,"path":1731,"stem":1732},"Comment fonctionne Jetscale","\u002Ffr-ca\u002Fdocs\u002Fhow-it-works","fr-ca\u002Fdocs\u002F4.how-it-works",{"title":258,"path":1734,"stem":1735,"children":1736},"\u002Ffr-ca\u002Fdocs\u002Fintegrations","fr-ca\u002Fdocs\u002F4.integrations\u002Findex",[1737,1738,1742,1746,1750],{"title":258,"path":1734,"stem":1735},{"title":1739,"path":1740,"stem":1741},"Intégration GitHub","\u002Ffr-ca\u002Fdocs\u002Fintegrations\u002Fgithub","fr-ca\u002Fdocs\u002F4.integrations\u002F1.github",{"title":1743,"path":1744,"stem":1745},"Intégration Jira","\u002Ffr-ca\u002Fdocs\u002Fintegrations\u002Fjira","fr-ca\u002Fdocs\u002F4.integrations\u002F2.jira",{"title":1747,"path":1748,"stem":1749},"Intégration Slack","\u002Ffr-ca\u002Fdocs\u002Fintegrations\u002Fslack","fr-ca\u002Fdocs\u002F4.integrations\u002F3.slack",{"title":5,"path":1697,"stem":1702},{"title":1752,"path":1753,"stem":1754},"Analyse Propulsée par l'IA","\u002Ffr-ca\u002Fdocs\u002Fai-analysis","fr-ca\u002Fdocs\u002F5.ai-analysis",{"title":1756,"path":1757,"stem":1758,"children":1759},"Services pris en charge","\u002Ffr-ca\u002Fdocs\u002Fservices","fr-ca\u002Fdocs\u002F5.services\u002Findex",[1760,1761,1765,1769,1773,1777,1781,1785,1789],{"title":1756,"path":1757,"stem":1758},{"title":1762,"path":1763,"stem":1764},"Optimisation EBS","\u002Ffr-ca\u002Fdocs\u002Fservices\u002Febs","fr-ca\u002Fdocs\u002F5.services\u002F1.ebs",{"title":1766,"path":1767,"stem":1768},"Optimisation EC2","\u002Ffr-ca\u002Fdocs\u002Fservices\u002Fec2","fr-ca\u002Fdocs\u002F5.services\u002F2.ec2",{"title":1770,"path":1771,"stem":1772},"Optimisation EKS","\u002Ffr-ca\u002Fdocs\u002Fservices\u002Feks","fr-ca\u002Fdocs\u002F5.services\u002F3.eks",{"title":1774,"path":1775,"stem":1776},"Optimisation ElastiCache","\u002Ffr-ca\u002Fdocs\u002Fservices\u002Felasticache","fr-ca\u002Fdocs\u002F5.services\u002F4.elasticache",{"title":1778,"path":1779,"stem":1780},"Optimisation RDS","\u002Ffr-ca\u002Fdocs\u002Fservices\u002Frds","fr-ca\u002Fdocs\u002F5.services\u002F5.rds",{"title":1782,"path":1783,"stem":1784},"Optimisation S3","\u002Ffr-ca\u002Fdocs\u002Fservices\u002Fs3","fr-ca\u002Fdocs\u002F5.services\u002F6.s3",{"title":1786,"path":1787,"stem":1788},"Optimisation Azure SQL","\u002Ffr-ca\u002Fdocs\u002Fservices\u002Fazure-sql","fr-ca\u002Fdocs\u002F5.services\u002F7.azure-sql",{"title":1790,"path":1791,"stem":1792},"Optimisation des machines virtuelles Azure","\u002Ffr-ca\u002Fdocs\u002Fservices\u002Fazure-vm","fr-ca\u002Fdocs\u002F5.services\u002F8.azure-vm",{"title":1794,"path":1795,"stem":1796},"Flux de Recommandations","\u002Ffr-ca\u002Fdocs\u002Frecommendation-workflow","fr-ca\u002Fdocs\u002F6.recommendation-workflow",{"title":1551,"path":1798,"stem":1799},"\u002Ffr-ca\u002Fdocs\u002Fapi-reference","fr-ca\u002Fdocs\u002F7.api-reference",{"title":1620,"path":1619,"stem":1801},"fr-ca\u002Fdocs\u002F8.faq",false,[1804,1806],{"title":1747,"path":1748,"stem":1749,"description":1805,"children":-1},"Jetscale s'intègre avec Slack pour diffuser des notifications d'optimisation des coûts en temps réel directement dans vos canaux d'équipe, tenant chacun informé des nouvelles...",{"title":1752,"path":1753,"stem":1754,"description":1807,"children":-1},"Comment l'IA de Jetscale génère des recommandations d'optimisation des coûts tout en maintenant les performances et la fiabilité",1788219270548]