{"id":128507,"date":"2021-03-29T16:51:30","date_gmt":"2021-03-29T15:51:30","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=idea&#038;p=128507"},"modified":"2021-03-29T17:10:54","modified_gmt":"2021-03-29T16:10:54","slug":"run-targets-executer-et-deboguer-votre-application-dans-l-environnement-souhaite","status":"publish","type":"idea","link":"https:\/\/blog.jetbrains.com\/fr\/idea\/2021\/03\/run-targets-executer-et-deboguer-votre-application-dans-l-environnement-souhaite\/","title":{"rendered":"Fonctionnalit\u00e9 Run Targets\u00a0: ex\u00e9cuter et d\u00e9boguer une application dans l&#8217;environnement souhait\u00e9"},"content":{"rendered":"<p>Il est de plus en plus courant que les d\u00e9veloppeurs ex\u00e9cutent les applications qu&#8217;ils cr\u00e9ent dans des conteneurs Docker ou sur des machines distantes plut\u00f4t que dans leur environnement local. Ne serait-il pas pratique de pouvoir ex\u00e9cuter, tester et d\u00e9boguer des applications \u00e0 distance sans quitter IntelliJ IDEA ? C&#8217;est d\u00e9sormais possible gr\u00e2ce \u00e0 notre nouvelle fonctionnalit\u00e9 <em>Run Targets<\/em>.<\/p>\n<\/p>\n<p>Veuillez noter qu&#8217;il s&#8217;agit d&#8217;une premi\u00e8re version de <em>Run Targets<\/em>. Nous pr\u00e9voyons d&#8217;apporter des am\u00e9liorations dans les prochaines versions, aussi nous vous serions reconnaissants de nous faire part de vos retours sur cette fonctionnalit\u00e9. <\/p>\n<h3 id=\"terminology_and_workflow\">Terminologie et workflow <\/h3>\n<p>Une <strong>cible<\/strong> est un environnement configur\u00e9 dans lequel l&#8217;IDE ex\u00e9cutera votre code, par exemple, dans un conteneur Docker, sur un serveur SSH ou dans WSL. L&#8217;un des param\u00e8tres cl\u00e9s d&#8217;une cible est l&#8217;environnement d&#8217;ex\u00e9cution du langage. Pour un projet Java, l&#8217;environnement d&#8217;ex\u00e9cution du langage est un JDK adapt\u00e9 \u00e0 l&#8217;ex\u00e9cution de votre application, tandis que pour Maven, il s&#8217;agit de la version de Maven install\u00e9e sur le serveur.<\/p>\n<p>Lorsque vous cr\u00e9ez une cible, l&#8217;IDE d\u00e9tecte automatiquement l&#8217;environnement d&#8217;ex\u00e9cution du langage, mais vous pouvez le modifier ou ajouter d&#8217;autres environnements d&#8217;ex\u00e9cution manuellement si n\u00e9cessaire. Une fois la configuration de la cible termin\u00e9e, vous pouvez la s\u00e9lectionner dans votre configuration Run\/Debug. Apr\u00e8s cela, lancez l&#8217;application sur la cible de la m\u00eame mani\u00e8re que vous la lancez localement.<\/p>\n<p><p>Pour une description plus d\u00e9taill\u00e9e du workflow, veuillez vous r\u00e9f\u00e9rer \u00e0 notre <a href=\"https:\/\/www.jetbrains.com\/help\/idea\/2021.1\/run-targets.html\" target=\"_blank\" rel=\"noopener\">centre d&#8217;aide<\/a>. <\/p>\n<\/p>\n<p><strong>IntelliJ IDEA permet actuellement d\u2019ex\u00e9cuter des applications Java, des tests JUnit et des commandes Maven pour les projets Java, Maven et Spring Boot sur des cibles Docker, SSH et WSL.<\/strong><\/p>\n<p>Dans cet article, nous expliquons comment ex\u00e9cuter un projet Spring Boot sur une cible. <\/p>\n<h3 id=\"docker_targets\">Cibles Docker <\/h3>\n<p>Pour ex\u00e9cuter un projet sur une cible via Docker, vous pouvez utiliser un Dockerfile qui contient les instructions pour construire une image ou utiliser l&#8217;image elle-m\u00eame.<\/p>\n<p>Suivons le workflow \u00e9tape par \u00e9tape.\n<\/p>\n<p> 1. Pour cr\u00e9er une nouvelle cible, s\u00e9lectionnez <em>Run\/Debug Configurations<\/em> dans la barre d&#8217;outils principale, puis cliquez sur <em>Edit Configurations<\/em>.<\/p>\n<p>Dans la liste de gauche, choisissez la configuration d&#8217;ex\u00e9cution pour laquelle vous souhaitez ajouter une cible, puis cliquez sur <em>Manage Targets<\/em>. Dans la fen\u00eatre <em>Run Targets<\/em>, cliquez sur l&#8217;ic\u00f4ne +, puis s\u00e9lectionnez <em>Docker<\/em>. <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2021\/01\/step1.gif\" alt=\"\" \/><\/p>\n<p>2. L&#8217;assistant <em>New Target<\/em> appara\u00eet. Voyons quels sont les param\u00e8tres requis \u00e0 cet endroit.<\/p>\n<p><strong>\u00c9cran 1\/3\u00a0:<\/strong><\/p>\n<p>Lorsque vous s\u00e9lectionnez le bouton radio <em>Build<\/em>, vous devez saisir un chemin d&#8217;acc\u00e8s \u00e0 un Dockerfile. Dans la section <em>Optional<\/em>, vous pouvez ajouter des options de construction et d&#8217;ex\u00e9cution personnalis\u00e9es pour Docker. Une fois que vous avez rempli tous les champs requis, cliquez sur <em>Next<\/em>.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2021\/01\/step2_screenbuild.png\" alt=\"\" \/><\/p>\n<p>Si vous n&#8217;avez pas de Dockerfile, vous devez s\u00e9lectionner le bouton radio <em>Pull <\/em>. Puis il suffit d&#8217;entrer une balise d&#8217;image et de cliquer sur <em>Next<\/em>. C&#8217;est tout\u00a0! <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2021\/01\/step2_screenpull.png\" alt=\"\" \/><\/p>\n<p><strong>\u00c9cran 2\/3\u00a0:<\/strong><\/p>\n<p>L&#8217;IDE construit ou extrait une image Docker en fonction du bouton radio que vous avez s\u00e9lectionn\u00e9 sur l&#8217;\u00e9cran 1\/3. IntelliJ IDEA lance automatiquement un conteneur d&#8217;introspection pour v\u00e9rifier s&#8217;il dispose du JDK et des outils configur\u00e9s pour ex\u00e9cuter votre application. Une fois l&#8217;introspection termin\u00e9e, le conteneur est enlev\u00e9. Cliquez sur <em>Next<\/em> pour continuer. <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2021\/01\/step2_screen2.png\" alt=\"\" \/><\/p>\n<p><strong>\u00c9cran 3\/3\u00a0:<\/strong><\/p>\n<p>Ici vous devez configurer un environnement d&#8217;ex\u00e9cution de langage. La version du JDK est automatiquement reprise de l&#8217;image Docker. <\/p>\n<p>Lorsque vous cliquez sur <em>Add language runtime<\/em>, vous pouvez ajouter d&#8217;autres configurations Java ou Maven. <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2021\/01\/step2_screen3.png\" alt=\"\" \/><\/p>\n<p>3. Une fois que vous avez termin\u00e9 toutes les \u00e9tapes et que vous vous trouvez dans la fen\u00eatre <em>Run\/ Debug Configurations <\/em>, la cible nouvellement cr\u00e9\u00e9e appara\u00eetra dans <em>Run on<\/em>.<\/p>\n<p><strong>IntelliJ IDEA compilera votre application Spring Boot et l&#8217;ex\u00e9cutera ensuite en utilisant le JDK de l&#8217;\u00e9cran 3\/3. <\/strong><\/p>\n<p>Et voici la proc\u00e9dure pour cr\u00e9er et ex\u00e9cuter une cible Docker distante pour un projet Spring Boot.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2021\/01\/Docker.gif\" alt=\"\" \/><\/p>\n<h3 id=\"ssh_targets\">Cibles SSH <\/h3>\n<p>Avec la cible SSH, vous pouvez copier et ex\u00e9cuter (ou construire, dans le cas de Maven) votre projet sur une machine distante sur laquelle Maven ou Java est install\u00e9.<\/p>\n<\/p>\n<p>Commencer par cr\u00e9er la cible SSH de la m\u00eame mani\u00e8re que la cible Docker, mais lorsque vous cliquez sur l&#8217;ic\u00f4ne +, s\u00e9lectionnez <em>SSH<\/em>. <\/p>\n<p>Puis, entrez les param\u00e8tres du serveur SSH, d\u00e9finissez un chemin o\u00f9 le projet sera copi\u00e9 et ajoutez l&#8217;environnement d&#8217;ex\u00e9cution de langage souhait\u00e9 ou utilisez l&#8217;environnement par d\u00e9faut.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2021\/01\/SSH.gif\" alt=\"\" \/><\/p>\n<h3 id=\"wsl_targets\">Cibles WSL <\/h3>\n<p>Si vous travaillez sous Windows, vous pouvez cr\u00e9er une cible WSL. Veuillez noter que votre projet doit se trouver dans le syst\u00e8me de fichiers de Windows.<\/p>\n<p>R\u00e9p\u00e9tez la premi\u00e8re \u00e9tape des instructions pour Docker pr\u00e9sent\u00e9es ci-dessus, mais lorsque vous cliquez sur l&#8217;ic\u00f4ne +, s\u00e9lectionnez <em>WSL<\/em>. L&#8217;IDE d\u00e9tectera votre distribution Linux et il ne restera plus qu&#8217;\u00e0 d\u00e9finir l&#8217;environnement d&#8217;ex\u00e9cution de langage. Regardez\u00a0:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2021\/01\/WSL.gif\" alt=\"\" \/><\/p>\n<p>Voil\u00e0 pour les cibles. Nous vous encourageons \u00e0 tester notre fonctionnalit\u00e9 Run Targets et \u00e0 partager vos commentaires ici ou sur notre outil de suivi. <\/p>\n<p>Bon d\u00e9veloppement\u00a0!<\/p>\n<p>L&#8217;article <a href=\"https:\/\/blog.jetbrains.com\/idea\/2021\/01\/run-targets-run-and-debug-your-app-in-the-desired-environment\/\" target=\"_blank\" rel=\"noopener noreferrer\">Run Targets\u00a0: Ex\u00e9cuter et d\u00e9boguer votre application dans l&#8217;environnement souhait\u00e9<\/a> a \u00e9t\u00e9 publi\u00e9 pour la premi\u00e8re fois sur le <a href=\"https:\/\/blog.jetbrains.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Blog JetBrains<\/a>.<\/p>\n<p>*Auteur de l&#8217;article original en anglais : <a href=\"https:\/\/blog.jetbrains.com\/author\/irina-maryasova-jetbrains-com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Irina Maryasova<\/a>*<\/p>\n","protected":false},"author":813,"featured_media":109987,"comment_status":"closed","ping_status":"closed","template":"","categories":[826,1401,4759],"tags":[726,600,6450,6465,6453,1031,1303],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/idea\/128507"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/idea"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/types\/idea"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/users\/813"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/comments?post=128507"}],"version-history":[{"count":2,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/idea\/128507\/revisions"}],"predecessor-version":[{"id":128510,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/idea\/128507\/revisions\/128510"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/media\/109987"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/media?parent=128507"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/categories?post=128507"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/tags?post=128507"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/cross-post-tag?post=128507"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}