{"id":366904,"date":"2023-06-27T08:36:46","date_gmt":"2023-06-27T07:36:46","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=idea&#038;p=366904"},"modified":"2023-08-10T08:04:58","modified_gmt":"2023-08-10T07:04:58","slug":"ai-assistant-dans-les-ide-jetbrains","status":"publish","type":"idea","link":"https:\/\/blog.jetbrains.com\/fr\/idea\/2023\/06\/ai-assistant-dans-les-ide-jetbrains\/","title":{"rendered":"AI Assistant dans les IDE JetBrains"},"content":{"rendered":"\n<p><strong>Mise \u00e0 jour du 13 Juillet<\/strong> : La fonctionnalit\u00e9 AI Assistant est disponible dans les pr\u00e9versions des IDE JetBrains mais n&#8217;est pas fournie directement dans les versions 2023.2 stables des IDE mais peut \u00eatre utilis\u00e9e via l&#8217;installation d&#8217;un <a href=\"https:\/\/plugins.jetbrains.com\/plugin\/22282-ai-assistant\" target=\"_blank\" rel=\"noopener\">plugin<\/a>. Veuillez noter que l&#8217;acc\u00e8s \u00e0 cette fonctionnalit\u00e9 est actuellement limit\u00e9 mais que nous avons mis en place une liste d&#8217;attente.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<p>Cette semaine, les builds EAP des IDE bas\u00e9s sur IntelliJ et des outils .NET comportent une nouvelle fonctionnalit\u00e9 majeure : <strong>l&#8217;AI Assistant<\/strong>. Cet article est consacr\u00e9 \u00e0 la pr\u00e9sentation de l&#8217;AI Assistant dans les IDE bas\u00e9s sur IntelliJ. Un autre article concernant les outils .NET sera publi\u00e9 prochainement.<\/p>\n<p>L&#8217;IA g\u00e9n\u00e9rative et les grands mod\u00e8les de langage (LLM) transforment profond\u00e9ment les outils de d\u00e9veloppement logiciel et l&#8217;int\u00e9gration de cette technologie dans nos produits \u00e9tait pour nous une \u00e9vidence. Notre approche pour la cr\u00e9ation de cette fonctionnalit\u00e9 d&#8217;AI Assistant est principalement fond\u00e9e sur deux \u00e9l\u00e9ments :<\/p>\n<ul>\n<li>Int\u00e9grer l&#8217;assistance par IA dans les workflows utilisateurs de base de l&#8217;IDE.<\/li>\n<li>\u00c9tablir un lien \u00e9troit entre les fonctionnalit\u00e9s d&#8217;IA et la compr\u00e9hension du code, qui est depuis toujours l&#8217;un des grands points forts des IDE JetBrains.<\/li>\n<\/ul>\n<p>Les fonctionnalit\u00e9s d&#8217;IA sont fournies par le service JetBrains AI. Ce service vous connecte de fa\u00e7on transparente, en tant qu&#8217;utilisateur du produit, \u00e0 diff\u00e9rents grands mod\u00e8les de langage (LLM), et vous donne acc\u00e8s \u00e0 des fonctionnalit\u00e9s sp\u00e9cifiques g\u00e9n\u00e9r\u00e9es par IA dans de nombreux produits JetBrains. Il prend actuellement en charge OpenAI et h\u00e9berge \u00e9galement plusieurs mod\u00e8les plus petits cr\u00e9\u00e9s par JetBrains. Nous pr\u00e9voyons d&#8217;\u00e9tendre la prise en charge \u00e0 davantage de fournisseurs par la suite, afin de donner acc\u00e8s \u00e0 nos utilisateurs aux meilleurs mod\u00e8les et options disponibles.<\/p>\n<p>Nous allons aussi prendre en charge des mod\u00e8les locaux et sur site. Pour les mod\u00e8les locaux, les fonctionnalit\u00e9s prises en charge seront certainement plus limit\u00e9es.<\/p>\n<h2 class=\"wp-block-heading\">Fonctionnalit\u00e9s d&#8217;IA<\/h2>\n<p>Le build EAP actuel fournit plusieurs fonctionnalit\u00e9s r\u00e9v\u00e9latrices de la direction dans laquelle avance notre travail :<\/p>\n<h3 class=\"wp-block-heading\">Chat bas\u00e9 sur l&#8217;IA<\/h3>\n<p>Utilisez la fen\u00eatre d&#8217;outils <em>AI Assistant<\/em> pour interagir avec le LLM, poser des questions ou it\u00e9rer sur une t\u00e2che. L&#8217;IDE fournit un contexte sp\u00e9cifique au projet, notamment les langages et les technologies utilis\u00e9s dans votre projet. Lorsque vous \u00eates satisfait du r\u00e9sultat, utilisez la fonction <em>Insert Snippet at Caret<\/em> ins\u00e9rer le code g\u00e9n\u00e9r\u00e9 par IA dans l&#8217;\u00e9diteur ou copiez-le simplement.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-365407\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/06\/generate_method-1.gif\" alt=\"\" width=\"2138\" height=\"1146\"><\/figure>\n<p>Pour interroger l&#8217;IA sur un fragment de code sp\u00e9cifique, s\u00e9lectionnez-le dans l&#8217;\u00e9diteur et appelez une action dans le menu <em>AI Actions<\/em> (disponible dans le menu contextuel de l&#8217;\u00e9diteur ou en utilisant le raccourci <strong>Alt+Entr\u00e9e<\/strong>). L&#8217;action <em>New chat using selection<\/em> vous permet de fournir votre propre prompt ou requ\u00eate. Vous pouvez ajouter des prompts d&#8217;assistance par IA standard suppl\u00e9mentaires en s\u00e9lectionnant <em>Explain code<\/em>, <em>Suggest refactoring<\/em> ou <em>Find potential problems<\/em>, en fonction des besoins.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-365361\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/06\/explain.gif\" alt=\"\" width=\"2134\" height=\"1146\"><\/figure>\n<h3 class=\"wp-block-heading\">G\u00e9n\u00e9ration de documentation<\/h3>\n<p>Si vous devez g\u00e9n\u00e9rer de la documentation pour une d\u00e9claration en utilisant un LLM, appelez le menu <em>AI Actions<\/em> et s\u00e9lectionnez l&#8217;action <em>Generate documentation<\/em>. La g\u00e9n\u00e9ration de documentation est actuellement prise en charge pour Java, Kotlin et Python.<\/p>\n<p>Pour Java et Kotlin, elle est sugg\u00e9r\u00e9e lorsque vous utilisez la m\u00e9thode standard de g\u00e9n\u00e9ration de stubs de commentaires de documentation : saisissez <code>\/**<\/code>. L&#8217;IDE g\u00e9n\u00e9rera les parties statiquement connues du commentaire (telle que les balises <code>@param<\/code> dans Java) et l&#8217;IA g\u00e9n\u00e9rera le texte de la documentation pour vous.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-365350\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/06\/doc.gif\" alt=\"\" width=\"2134\" height=\"1146\"><\/figure>\n<h3 class=\"wp-block-heading\">Suggestions de nom<\/h3>\n<p>Lorsque vous renommez une d\u00e9claration Java, Kotlin ou Python, l&#8217;IA vous sugg\u00e8re des options de nom pour la d\u00e9claration en fonction de son contenu. Cela peut \u00eatre d\u00e9sactiv\u00e9 dans <em>Settings | Tools | AI Assistant<\/em>.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-365383\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/06\/rename.gif\" alt=\"\" width=\"2134\" height=\"1146\"><\/figure>\n<h3 class=\"wp-block-heading\">G\u00e9n\u00e9ration de message de commit<\/h3>\n<p>La bo\u00eete de dialogue de message de commit comporte d\u00e9sormais un bouton <em>Generate Commit Message with AI Assistant<\/em>. Cliquez sur ce bouton pour envoyer les diffs de vos modifications au LLM, qui g\u00e9n\u00e9rera un message de commit d\u00e9crivant vos modifications.<\/p>\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-365339\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2023\/06\/commit.gif\" alt=\"\" width=\"2138\" height=\"1146\"><\/figure>\n\n\n<p>Les fonctions de l&#8217;AI Assistant peuvent diff\u00e9rer d&#8217;un produit \u00e0 l&#8217;autre. Vous pouvez trouver plus d&#8217;informations dans les articles pr\u00e9sentant l&#8217;AI Assistant pour chaque produit : <a href=\"https:\/\/blog.jetbrains.com\/clion\/2023\/06\/clion-2023-2-eap4-ai-assistant\/\">CLion<\/a>, <a href=\"https:\/\/blog.jetbrains.com\/go\/2023\/06\/26\/goland-2023-2-eap-6-ai-assistant\/\">GoLand<\/a>, <a href=\"https:\/\/blog.jetbrains.com\/idea\/2023\/06\/intellij-idea-2023-2-eap-6\/\">IntelliJ<\/a>, <a href=\"https:\/\/blog.jetbrains.com\/phpstorm\/2023\/06\/ai-features-in-phpstorm-phpstorm-2023-2-eap-5\/\">PhpStorm<\/a>, <a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2023\/06\/2023-2-eap-4\/\">PyCharm<\/a>, <a href=\"https:\/\/blog.jetbrains.com\/dotnet\/2023\/06\/26\/resharper-ai-assistant\/\">ReSharper<\/a>, <a href=\"https:\/\/blog.jetbrains.com\/dotnet\/2023\/06\/26\/rider-ai-assistant\/\">Rider<\/a>, <a href=\"https:\/\/blog.jetbrains.com\/ruby\/2023\/06\/rubymine-2023-2-eap6-introducing-the-new-ai-assistant\/\">RubyMine<\/a>, <a href=\"https:\/\/blog.jetbrains.com\/webstorm\/2023\/06\/webstorm-2023-2-eap6\/\">WebStorm<\/a> et <a href=\"https:\/\/blog.jetbrains.com\/fleet\/2023\/06\/fleet-1-19-ai-powered-features-and-easier-configuration-for-rust-analyzer-python-interpreters-and-npm\/\">Fleet<\/a>.<\/p>\n\n\n<h2 class=\"wp-block-heading\">Acc\u00e8s aux fonctionnalit\u00e9s d&#8217;IA<\/h2>\n<p>Pour acc\u00e9der aux fonctionnalit\u00e9s d&#8217;IA, vous devez \u00eatre connect\u00e9 au service JetBrains AI depuis votre compte JetBrains. Vous pouvez vous connecter depuis la fen\u00eatre d&#8217;outils <em>AI Assistant<\/em> ou <em>Settings | Tools | AI Assistant<\/em>.<\/p>\n<p><strong>Veuillez noter<\/strong> que le service JetBrains AI ne pourra pas \u00eatre accessible \u00e0 tous dans l&#8217;imm\u00e9diat. Nous allons commencer par un pool d&#8217;utilisateurs limit\u00e9, et une fois la capacit\u00e9 maximale atteinte, nous mettrons les autres utilisateurs sur liste d&#8217;attente. D&#8217;autres personnes seront progressivement invit\u00e9es \u00e0 essayer le produit au cours des semaines \u00e0 venir.<\/p>\n<p>L&#8217;acc\u00e8s au service d&#8217;IA est actuellement limit\u00e9 aux territoires dans lesquels le service OpenAI est disponible. Vous trouverez la liste compl\u00e8te de ces territoires <a href=\"https:\/\/www.jetbrains.com\/legal\/docs\/terms\/jetbrains-ai\/service-territory\/\" target=\"_blank\" rel=\"noopener\">ici<\/a>.<\/p>\n<p>Le service d&#8217;IA est gratuit pendant toute la dur\u00e9e du cycle de programme d&#8217;acc\u00e8s anticip\u00e9. Nous fournirons les informations sur les mod\u00e8les de licence et la tarification ult\u00e9rieurement.<\/p>\n<h2 class=\"wp-block-heading\">Comment nous g\u00e9rons votre code et vos donn\u00e9es<\/h2>\n<p>Lorsque vous utilisez les fonctionnalit\u00e9s d&#8217;IA, l&#8217;IDE doit envoyer vos requ\u00eates et votre code au fournisseur de LLM. En plus de vos prompts, l&#8217;IDE peut envoyer des informations suppl\u00e9mentaires telles que des extraits de votre code, les types de fichiers, les frameworks utilis\u00e9s, ou toute autre information pouvant \u00eatre utile pour fournir du contexte au LLM.<\/p>\n<p>De plus, les builds EAP qui incluent la fonctionnalit\u00e9 d&#8217;AI Assistant effectuent une collecte opt-in de donn\u00e9es d\u00e9taill\u00e9es sur utilisation des fonctionnalit\u00e9s d&#8217;IA, ce qui inclut la communication entre vous et le LLM (texte et fragments de code). Ces donn\u00e9es restent strictement confidentielles et sont uniquement utilis\u00e9es par JetBrains pour am\u00e9liorer ses produits. Elles ne sont jamais communiqu\u00e9es \u00e0 des tiers, ni utilis\u00e9es pour l&#8217;entra\u00eenement de mod\u00e8les de machine learning g\u00e9n\u00e9rant du code ou du texte, ou r\u00e9v\u00e9l\u00e9es sous quelque forme que ce soit \u00e0 d&#8217;autres utilisateurs.\u200b\u200b L&#8217;option contr\u00f4lant la collecte de donn\u00e9es d\u00e9taill\u00e9es se trouve dans la section <em>Tools | AI Assistant | Data Sharing | Send AI Assistant usage statistics<\/em>.<\/p>\n<p>Pour plus de d\u00e9tails sur nos politiques de collecte des donn\u00e9es, consultez <a href=\"https:\/\/www.jetbrains.com\/help\/ai\/data-collection-and-use-policy.html\" target=\"_blank\" rel=\"noopener\">notre site web<\/a>.<\/p>\n<h2 class=\"wp-block-heading\">Partagez vos retours d&#8217;exp\u00e9rience<\/h2>\n<p>Vos retours sur les nouvelles fonctionnalit\u00e9s sont extr\u00eamement important pour nous \u00e0 ce stade, qu&#8217;il s&#8217;agisse de t\u00e9moignages positifs, de situations dans lesquelles l&#8217;IA n&#8217;a pas r\u00e9pondu \u00e0 vos attentes ou de suggestions d&#8217;autres cas dans lesquels l&#8217;IA vous serait utile. Vous pouvez nous faire part de vos id\u00e9es et suggestions en cliquant sur <em>Share feedback<\/em> dans la fen\u00eatre d&#8217;outils <em>AI Assistant<\/em> et nous signaler tout bug de l&#8217;AI Assistant dans <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/LLM\" target=\"_blank\" rel=\"noopener\">YouTrack<\/a>. Merci !<\/p>\n\n\n<p><em>Auteur de l&#8217;article original en anglais<\/em> :<\/p>\n\n\n    <div class=\"about-author \">\n        <div class=\"about-author__box\">\n            <div class=\"row\">\n                <div class=\"about-author__box-img\">\n                    <img decoding=\"async\" src=\"https:\/\/secure.gravatar.com\/avatar\/?s=200&#038;r=g\" width=\"200\" height=\"200\" alt=\"\" loading=\"lazy\"  class=\"avatar avatar-200 wp-user-avatar wp-user-avatar-200 photo avatar-default\">\n                <\/div>\n                <div class=\"about-author__box-text\">\n                                                        <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n","protected":false},"author":813,"featured_media":367048,"comment_status":"closed","ping_status":"closed","template":"","categories":[],"tags":[600],"cross-post-tag":[6256],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/idea\/366904"}],"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=366904"}],"version-history":[{"count":10,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/idea\/366904\/revisions"}],"predecessor-version":[{"id":379657,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/idea\/366904\/revisions\/379657"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/media\/367048"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/media?parent=366904"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/categories?post=366904"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/tags?post=366904"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/cross-post-tag?post=366904"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}