{"id":596418,"date":"2025-09-03T05:25:13","date_gmt":"2025-09-03T04:25:13","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=blog&#038;p=596418"},"modified":"2025-09-03T05:25:19","modified_gmt":"2025-09-03T04:25:19","slug":"utilisation-d-intellij-idea-dans-les-projets-java-open-source-exemples-concrets-partie-1","status":"publish","type":"blog","link":"https:\/\/blog.jetbrains.com\/fr\/blog\/2025\/09\/03\/utilisation-d-intellij-idea-dans-les-projets-java-open-source-exemples-concrets-partie-1\/","title":{"rendered":"Utilisation d&#8217;IntelliJ IDEA dans les Projets Java open source\u00a0: Exemples concrets \u2014 Partie\u00a01"},"content":{"rendered":"<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-570146\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/IJ-social-BlogFeatured-1280x720-2x-1.png\" alt=\"\" width=\"2560\" height=\"1440\" \/><\/figure>\n<p>Chez JetBrains, nous cr\u00e9ons des outils pour aider les d\u00e9veloppeurs \u00e0 rester concentr\u00e9s et productifs, et nous sommes particuli\u00e8rement fiers lorsque ces outils contribuent \u00e0 des projets open source sur lesquels des d\u00e9veloppeurs du monde entier s&#8217;appuient au quotidien. De tels projets fa\u00e7onnent l&#8217;orientation du d\u00e9veloppement Java et apportent une contribution significative au dynamisme de l&#8217;\u00e9cosyst\u00e8me Java.<\/p>\n<p>Cette s\u00e9rie d&#8217;articles en deux parties met en lumi\u00e8re certains des projets Java open source les plus importants que nous soutenons. Qu&#8217;il s&#8217;agisse de frameworks de test, d&#8217;analyseurs HTML, de biblioth\u00e8ques web ou de langages innovants, chacun de ces projets refl\u00e8te la cr\u00e9ativit\u00e9 et l&#8217;ing\u00e9niosit\u00e9 de la communaut\u00e9 Java. Dans chaque cas, les IDE de JetBrains comme IntelliJ IDEA aident les d\u00e9veloppeurs \u00e0 livrer plus rapidement, \u00e0 travailler en toute confiance et \u00e0 \u00e9crire du code de meilleure qualit\u00e9.<\/p>\n<h2 class=\"wp-block-heading\">\u2615 Framework Spring<\/h2>\n<p><em>Le framework Java le plus populaire au monde.<\/em><\/p>\n<p><a href=\"https:\/\/github.com\/spring-projects\" target=\"_blank\" rel=\"noopener\">Spring<\/a> se passe de pr\u00e9sentation. C&#8217;est l&#8217;\u00e9pine dorsale du d\u00e9veloppement Java moderne c\u00f4t\u00e9 serveur, avec un fort accent sur la simplicit\u00e9, la productivit\u00e9 et l&#8217;exp\u00e9rience du d\u00e9veloppeur. JetBrains partage ces valeurs, et l&#8217;\u00e9troite collaboration entre les \u00e9quipes de Spring et de JetBrains favorise les synergies pour les d\u00e9veloppeurs c\u00f4t\u00e9 serveur du monde entier.<\/p>\n<blockquote class=\"wp-block-quote\">\n<p>Les retours d&#8217;exp\u00e9rience de l&#8217;\u00e9quipe Spring permettent de garantir qu&#8217;IntelliJ IDEA offre une exp\u00e9rience fluide et intuitive aux d\u00e9veloppeurs Spring, m\u00eame lorsque de nouvelles fonctionnalit\u00e9s sont introduites. Kotlin continue \u00e9galement de fa\u00e7onner l&#8217;orientation de Spring\u00a0: la prise en charge des protections de nullabilit\u00e9 introduites dans Spring Framework\u00a05 \u00e9volue dans la version\u00a07 avec les annotations JSpecify, qui profitent \u00e0 la fois aux utilisateurs de Java et de Kotlin.<\/p>\n<p><cite><em>\u2014 S\u00e9bastien Deleuze, core committer du Spring Framework<\/em><\/cite><\/p>\n<\/blockquote>\n<p>La communaut\u00e9 Spring se concentre actuellement sur Spring AI, un framework d&#8217;applications qui applique les principes de modularit\u00e9 et de portabilit\u00e9 de Spring au domaine de l&#8217;IA \u00e0 l&#8217;aide de mod\u00e8les POJO (Plain Old Java Object) familiers, avec une prise en charge de Java et de Kotlin. L&#8217;\u00e9quipe continue \u00e9galement d&#8217;investir dans l&#8217;efficacit\u00e9 de l&#8217;ex\u00e9cution gr\u00e2ce \u00e0 la prise en charge des images GraalVM natives, aux optimisations de la JVM du projet Leyden et aux valeurs par d\u00e9faut intelligentes de Spring Boot. Les parties matures du framework \u00e9voluent \u00e9galement, avec des fonctionnalit\u00e9s telles que la gestion des versions de l&#8217;API c\u00f4t\u00e9 client pr\u00e9vue prochainement.<\/p>\n<h2 class=\"wp-block-heading\">?\ufe0f Framework Play<\/h2>\n<p><em>Un framework web performant et convivial pour les d\u00e9veloppeurs Scala et Java.<\/em><\/p>\n<p>Le <a href=\"https:\/\/github.com\/playframework\/playframework\/\" target=\"_blank\" rel=\"noopener\">Play Framework<\/a> est reconnu pour son large \u00e9ventail d&#8217;applications, notamment les plateformes d&#8217;information \u00e0 fort trafic et les syst\u00e8mes fiscaux nationaux. Il se concentre sur l&#8217;\u00e9volutivit\u00e9 et la simplicit\u00e9 et donne la priorit\u00e9 \u00e0 l&#8217;exp\u00e9rience des d\u00e9veloppeurs, gr\u00e2ce \u00e0 des outils int\u00e9gr\u00e9s, un mod\u00e8le r\u00e9actif et une architecture sans \u00e9tat.<\/p>\n<blockquote class=\"wp-block-quote\">\n<p>Nous utilisons principalement IntelliJ IDEA pour le d\u00e9veloppement de Play, et il est fantastique. Le plugin Scala offre une prise en charge de premier ordre pour SBT et Scala, ainsi que des fonctionnalit\u00e9s d\u00e9di\u00e9es aux projets Play, comme la mise en \u00e9vidence de la syntaxe et la navigation pour les fichiers de route et les mod\u00e8les Twirl. La prise en charge de Scala\u00a03 est maintenant tr\u00e8s mature, et il est clair que l&#8217;\u00e9quipe JetBrains se soucie vraiment des communaut\u00e9s Scala et Play Framework.<\/p>\n<p><cite><em>\u2014 Matthias Kurz, maintainer du Play Framework<\/em><\/cite><\/p>\n<\/blockquote>\n<p>La prochaine version majeure de Play, attendue pour la mi\u00a02025, se concentre sur des am\u00e9liorations constantes et r\u00e9fl\u00e9chies. Parmi les points forts, citons la prise en charge de Gradle, la compatibilit\u00e9 am\u00e9lior\u00e9e de Kotlin, l&#8217;am\u00e9lioration des WebSockets et une meilleure prise en charge des normes web modernes et des migrations de bases de donn\u00e9es. Cette version ach\u00e8vera \u00e9galement la transition vers l&#8217;espace de noms Jakarta, assurera la compatibilit\u00e9 avec Java\u00a025 LTS et inclura des mises \u00e0 niveau de Pekko et d&#8217;autres d\u00e9pendances essentielles.<\/p>\n<h2 class=\"wp-block-heading\">? Koin<\/h2>\n<p><em>Un framework d&#8217;injection de d\u00e9pendances simple et puissant pour Kotlin.<\/em><\/p>\n<p><a href=\"https:\/\/github.com\/InsertKoinIO\/koin\" target=\"_blank\" rel=\"noopener\">Koin<\/a> a \u00e9t\u00e9 cr\u00e9\u00e9 pour rendre l&#8217;injection de d\u00e9pendances dans Kotlin simple, l\u00e9g\u00e8re et intuitive, en particulier pour Android. Les outils d&#8217;injection de d\u00e9pendances existants \u00e9taient trop complexes et lents \u00e0 compiler, ou alors ils n&#8217;exploitaient pas pleinement les atouts de Kotlin. Inspir\u00e9 par Spring Boot et les fonctionnalit\u00e9s expressives de Kotlin, Koin a introduit un DSL propre, des valeurs par d\u00e9faut intelligentes et des int\u00e9grations transparentes, pour une prise en charge intuitive de l&#8217;injection de d\u00e9pendances.<\/p>\n<blockquote class=\"wp-block-quote\">\n<p>IntelliJ IDEA est mon outil de pr\u00e9dilection au quotidien, d&#8217;abord pour Java, et encore plus pour Kotlin gr\u00e2ce \u00e0 son excellente prise en charge de bout en bout. Cette exp\u00e9rience nous a inspir\u00e9 la cr\u00e9ation du plugin Koin\u00a0: un outil qui apporte un retour d&#8217;information visuel, des contr\u00f4les de s\u00e9curit\u00e9 en temps r\u00e9el et une navigation fluide pour les d\u00e9finitions de Koin, directement dans l&#8217;IDE.<\/p>\n<p><cite><em>\u2014 Arnaud Giuliani, cr\u00e9ateur de Koin<\/em><\/cite><\/p>\n<\/blockquote>\n<p>L&#8217;\u00e9quipe Koin travaille activement sur la version\u00a04.1, qui apportera une prise en charge am\u00e9lior\u00e9e de Compose Multiplatform et KMP, une compatibilit\u00e9 int\u00e9gr\u00e9e avec Ktor\u00a03.1 et un nouvel ensemble de fonctionnalit\u00e9s Scope. La version\u00a04.2 est d\u00e9j\u00e0 en cours de d\u00e9veloppement. Elle se concentrera sur une int\u00e9gration plus pouss\u00e9e des coroutines, une nouvelle API Job Scheduler, la prise en charge de Kotlin RPC et d&#8217;autres am\u00e9liorations du DSL Koin.<\/p>\n<h2 class=\"wp-block-heading\">? Micronaut<\/h2>\n<p><em>Un framework moderne et l\u00e9ger con\u00e7u pour un d\u00e9marrage rapide et une faible utilisation de la m\u00e9moire.<\/em><\/p>\n<p><a href=\"https:\/\/github.com\/micronaut-projects\/micronaut-core\" target=\"_blank\" rel=\"noopener\">Micronaut<\/a> a \u00e9t\u00e9 cr\u00e9\u00e9 en\u00a02018 par l&#8217;\u00e9quipe centrale derri\u00e8re le framework Grails bas\u00e9 sur Groovy, connue pour l&#8217;importance qu&#8217;elle accorde \u00e0 la productivit\u00e9 des d\u00e9veloppeurs. L&#8217;\u00e9quipe a rep\u00e9r\u00e9 une opportunit\u00e9 de repenser la fa\u00e7on dont les frameworks Java g\u00e8rent le travail traditionnellement effectu\u00e9 au moment de l&#8217;ex\u00e9cution. En transf\u00e9rant davantage de traitement vers la phase de compilation, Micronaut r\u00e9duit consid\u00e9rablement l&#8217;utilisation de la m\u00e9moire et le temps de d\u00e9marrage tout en pr\u00e9servant la fluidit\u00e9 et la productivit\u00e9 de l&#8217;exp\u00e9rience de d\u00e9veloppement.<\/p>\n<blockquote class=\"wp-block-quote\">\n<p>Micronaut prend en charge Java, Kotlin et Groovy, et IntelliJ IDEA offre une prise en charge de premier ordre pour les trois. Des fonctionnalit\u00e9s telles que la d\u00e9l\u00e9gation de build \u00e0 Gradle ou Maven, un <a href=\"https:\/\/www.jetbrains.com\/help\/idea\/http-client-in-product-code-editor.html\" target=\"_blank\" rel=\"noopener\">client HTTP<\/a> int\u00e9gr\u00e9, des outils de <a href=\"https:\/\/www.jetbrains.com\/help\/idea\/code-coverage.html\" target=\"_blank\" rel=\"noopener\">couverture de code<\/a> et un d\u00e9bogage puissant, y compris pour les <a href=\"https:\/\/www.jetbrains.com\/help\/idea\/debug-graalvm-native.html\" target=\"_blank\" rel=\"noopener\">images GraalVM natives<\/a>, font d&#8217;IntelliJ IDEA un environnement id\u00e9al pour le d\u00e9veloppement et la maintenance d&#8217;applications Micronaut modernes.<\/p>\n<p><cite><em>\u2014 Sergio del\u00a0Amo, membre du Micronaut Development Leadership Panel<\/em><\/cite><\/p>\n<\/blockquote>\n<p>Micronaut suit un <a href=\"https:\/\/micronaut.io\/micronaut-roadmap\/\" target=\"_blank\" rel=\"noopener\">versionnage s\u00e9mantique strict<\/a>, qui refl\u00e8te son engagement envers la stabilit\u00e9 et le d\u00e9veloppement moderne. La mission principale du framework reste la m\u00eame\u00a0: offrir une excellente exp\u00e9rience aux d\u00e9veloppeurs, minimiser l&#8217;utilisation de la m\u00e9moire et optimiser le temps de d\u00e9marrage (ces deux derniers \u00e9l\u00e9ments impactent directement la productivit\u00e9).<\/p>\n<h2 class=\"wp-block-heading\">? OpenGrok<\/h2>\n<p><em>Un moteur de recherche de code source et de r\u00e9f\u00e9rences crois\u00e9es rapide et complet pour les bases de code volumineuses.<\/em><\/p>\n<p><a href=\"https:\/\/github.com\/oracle\/opengrok\" target=\"_blank\" rel=\"noopener\">OpenGrok<\/a> aide les d\u00e9veloppeurs \u00e0 comprendre des bases de code volumineuses et complexes dans plusieurs langages et syst\u00e8mes de contr\u00f4le de version, et \u00e0 y naviguer. L&#8217;outil est devenu une plateforme de recherche puissante et extensible, utilis\u00e9e par les \u00e9quipes d&#8217;ing\u00e9nieurs partout dans le monde.<\/p>\n<blockquote class=\"wp-block-quote\">\n<p>Nous avons r\u00e9cemment expliqu\u00e9 \u00e0 un coll\u00e8gue pourquoi nous utilisons IntelliJ IDEA. Il nous permet vraiment de gagner en efficacit\u00e9\u00a0: nous pouvons par exemple d\u00e9boguer des JSP directement dans une instance Tomcat ex\u00e9cut\u00e9e \u00e0 partir de l&#8217;IDE, afficher des graphiques d&#8217;ex\u00e9cution et utiliser de puissants outils de refactorisation.<\/p>\n<p><cite><em>\u2014 \u013dubo\u0161 Ko\u0161\u010do et Vladim\u00edr Kotal, maintainers d&#8217;OpenGrok<\/em><\/cite><\/p>\n<\/blockquote>\n<p>L&#8217;\u00e9quipe de d\u00e9veloppement d&#8217;OpenGrok se concentre actuellement sur l&#8217;am\u00e9lioration des performances et de la stabilit\u00e9, en particulier pour les grands ensembles de donn\u00e9es. Cela implique de r\u00e9duire la quantit\u00e9 de donn\u00e9es d&#8217;indexation pour ex\u00e9cuter efficacement OpenGrok dans des conteneurs Docker l\u00e9gers et de supprimer progressivement le format de s\u00e9rialisation JavaBeans. \u00c0 plus long terme, l&#8217;\u00e9quipe souhaite am\u00e9liorer la prise en charge des formats de fichiers binaires et explorer la possibilit\u00e9 d&#8217;ajouter de nouveaux analyseurs pour \u00e9tendre les capacit\u00e9s d&#8217;OpenGrok.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n<p>Revenez pour la 2e\u00a0partie, dans laquelle nous nous pencherons sur d&#8217;autres projets. En attendant, rejoignez-nous les 3 et 4\u00a0juin pour la conf\u00e9rence <a href=\"https:\/\/lp.jetbrains.com\/intellij-idea-conf-2025\/?utm_source=blog&amp;utm_medium=jetbrains&amp;utm_campaign=intellijideaconf&amp;utm_content=oss\" target=\"_blank\" rel=\"noopener\">IntelliJ IDEA Conf\u00a02025<\/a>, notre \u00e9v\u00e9nement en ligne gratuit c\u00e9l\u00e9brant le d\u00e9veloppement Java moderne. Vous travaillez sur des projets open source, vous cr\u00e9ez des applications m\u00e9tier ou vous apprenez encore les ficelles du m\u00e9tier\u00a0? C&#8217;est dans tous les cas une excellente occasion d&#8217;en savoir plus sur les meilleures pratiques et de trouver l&#8217;inspiration en d\u00e9couvrant le travail d&#8217;experts du secteur dans IntelliJ IDEA.<\/p>\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/lp.jetbrains.com\/intellij-idea-conf-2025\/?utm_source=blog&amp;utm_medium=jetbrains&amp;utm_campaign=intellijideaconf&amp;utm_content=oss\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-570196\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/05\/Email-banner-650x200-2x-Register.png\" alt=\"\" width=\"1300\" height=\"400\" \/><\/a><\/figure>\n<\/p>\n<p><em>Auteur de l\u2019article original en anglais :<\/em><\/p>\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:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/05\/av_IMG_5504.jpeg\" width=\"200\" height=\"200\" alt=\"Lena Morozova\" 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                                            <h4>Lena Morozova<\/h4>\n                                                        <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n","protected":false},"author":813,"featured_media":596421,"comment_status":"closed","ping_status":"closed","template":"","categories":[942,4759],"tags":[104,560,40,8772,8777],"cross-post-tag":[6284],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/blog\/596418"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/types\/blog"}],"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=596418"}],"version-history":[{"count":4,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/blog\/596418\/revisions"}],"predecessor-version":[{"id":596445,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/blog\/596418\/revisions\/596445"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/media\/596421"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/media?parent=596418"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/categories?post=596418"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/tags?post=596418"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/cross-post-tag?post=596418"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}