{"id":671546,"date":"2025-12-29T16:25:39","date_gmt":"2025-12-29T15:25:39","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=blog&#038;p=671546"},"modified":"2025-12-29T16:25:45","modified_gmt":"2025-12-29T15:25:45","slug":"comment-les-projets-open-source-java-utilisent-intellij-idea-exemples-concrets-partie-2","status":"publish","type":"blog","link":"https:\/\/blog.jetbrains.com\/fr\/blog\/2025\/12\/29\/comment-les-projets-open-source-java-utilisent-intellij-idea-exemples-concrets-partie-2\/","title":{"rendered":"Comment les projets open source Java utilisent IntelliJ IDEA : exemples concrets \u2014 Partie\u00a02"},"content":{"rendered":"<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-671547 size-full\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/12\/IJ-social-BlogFeatured-1280x720-1-4.png\" alt=\"\" width=\"1280\" height=\"720\" \/><\/figure>\n<p>Dans la <a href=\"https:\/\/blog.jetbrains.com\/blog\/2025\/05\/27\/how-java-open-source-projects-use-intellij-idea-real-world-examples-part-1\/\">premi\u00e8re partie<\/a> de cette s\u00e9rie, nous avons pr\u00e9sent\u00e9 plusieurs des projets open source de la communaut\u00e9 Java les plus reconnus. Nous sommes \u00e0 pr\u00e9sent de retour avec d&#8217;autres projets remarquables qui acc\u00e9l\u00e8rent les builds, renforcent les tests et simplifient le travail avec les piles web modernes. Et comme toujours, IntelliJ IDEA aide les responsables de la maintenance \u00e0 travailler plus rapidement, avec plus d&#8217;assurance et en privil\u00e9giant la qualit\u00e9.<\/p>\n<h2 class=\"wp-block-heading\">\ud83c\udf3f jsoup<\/h2>\n<p><em>Une biblioth\u00e8que Java pour travailler sur des cas concrets avec HTML.<\/em><\/p>\n<p>Son nom fait \u00e9cho \u00e0 la \u00ab\u00a0soupe de balises\u00a0\u00bb d\u00e9sordonn\u00e9e des premiers contenus web. <a href=\"https:\/\/github.com\/jhy\/jsoup\/\" target=\"_blank\" rel=\"noopener\">jsoup<\/a> a \u00e9t\u00e9 cr\u00e9\u00e9 en 2009 apr\u00e8s que l&#8217;analyse HTML bas\u00e9e sur les expressions r\u00e9guli\u00e8res se soit av\u00e9r\u00e9e trop fragile, et en r\u00e9ponse aux biblioth\u00e8ques HTML Java existantes qui semblaient lourdes et limit\u00e9es. Inspir\u00e9 par la simplicit\u00e9 de jQuery, jsoup a \u00e9t\u00e9 con\u00e7u pour rendre l&#8217;analyse HTML en Java intuitive et agr\u00e9able. Aujourd&#8217;hui, il offre des outils faciles \u00e0 utiliser pour analyser, nettoyer et manipuler le HTML, avec la prise en charge de HTML5, du XML, de l&#8217;assainissement, des API\u00a0W3C, et plus.<\/p>\n<blockquote class=\"wp-block-quote\">\n<p>IntelliJ IDEA est mon IDE de pr\u00e9dilection\u00a0: intuitif, puissant et excellent pour naviguer dans le code, les flux de donn\u00e9es et les tests. Ses inspections d\u00e9tectent les probl\u00e8mes rapidement, tandis que ses outils int\u00e9gr\u00e9s pour les tests, le profilage et la gestion des d\u00e9pendances ont directement am\u00e9lior\u00e9 le d\u00e9veloppement de jsoup.<\/p>\n<p><cite><em>\u2014 Jonathan Hedley, cr\u00e9ateur de jsoup<\/em><\/cite><\/p>\n<\/blockquote>\n<p>Bien que jsoup soit une solution assez mature \u00e0 pr\u00e9sent, son d\u00e9veloppement se poursuit. Parmi les nouveaut\u00e9s r\u00e9centes, citons la prise en charge native des requ\u00eates\u00a0HTTP\/2 pour des connexions efficaces et un nouveau StreamParser hybride DOM+SAX rapide. Les futurs d\u00e9veloppements planifi\u00e9s concernent la prise en charge des balises personnalis\u00e9es, l&#8217;am\u00e9lioration du pretty printer et un outil de nettoyage HTML perfectionn\u00e9. Si vous souhaitez apporter votre aide ou si avez d&#8217;autres id\u00e9es, rendez-vous sur le site web de jsoup pour participer\u00a0!<\/p>\n<h2 class=\"wp-block-heading\">\ud83d\ude80 http4k<\/h2>\n<p><em>Un kit d&#8217;outils l\u00e9ger et fonctionnel pour la cr\u00e9ation de services HTTP en Kotlin.<\/em><\/p>\n<p>Inspir\u00e9 par l&#8217;article de Twitter intitul\u00e9 <a href=\"https:\/\/monkey.org\/~marius\/funsrv.pdf\" target=\"_blank\" rel=\"noopener\"><em>Your Server as a Function (Votre serveur en tant que fonction)<\/em><\/a>, <a href=\"https:\/\/github.com\/http4k\/http4k\" target=\"_blank\" rel=\"noopener\">http4k<\/a> a commenc\u00e9 en tant que script de 40\u00a0lignes pour arriver \u00e0 180\u00a0modules. Construit sur des fonctions pures sans d\u00e9pendances ni m\u00e9canismes de r\u00e9flexion, il est rapide et hautement portable, et s&#8217;ex\u00e9cute en m\u00e9moire, sur 14\u00a0serveurs backend, 6\u00a0plateformes serverless, ou en tant que binaire GraalVM. Ax\u00e9 sur une simplicit\u00e9 radicale et une testabilit\u00e9 extr\u00eame, http4k est pens\u00e9 pour \u00eatre la suite d&#8217;outils web la plus facile \u00e0 tester disponible \u00e0 ce jour.<\/p>\n<blockquote class=\"wp-block-quote\">\n<p>En tant qu&#8217;utilisateurs exp\u00e9riment\u00e9s d&#8217;IntelliJ IDEA, nous sommes de tr\u00e8s grands fans des produits JetBrains. Non seulement nous utilisons les capacit\u00e9s de refactorisation de l&#8217;IDE pour manipuler et remodeler le code de mani\u00e8re fiable, mais nous pouvons \u00e9galement faire du d\u00e9veloppement multilangage facilement en utilisant les m\u00eames raccourcis clavier.<\/p>\n<p><cite><em>\u2014 David Denton et Ivan Sanchez, cr\u00e9ateurs de http4k<\/em><\/cite><\/p>\n<\/blockquote>\n<p>http4k continue de s&#8217;\u00e9tendre, avec des ajouts r\u00e9cents tels qu&#8217;un SDK MCP (Model Context Protocol) pour un d\u00e9ploiement stateless et serverless, l&#8217;int\u00e9gration de Datastar, le module TracerBullet, qui g\u00e9n\u00e8re des diagrammes de s\u00e9quence du comportement du code en ex\u00e9cutant des tests, et un module de bo\u00eete d&#8217;envoi transactionnelle \u00e0 venir. Comme toujours, tout est construit avec des fonctions composables et une forte priorit\u00e9 \u00e0 la testabilit\u00e9.<\/p>\n<h2 class=\"wp-block-heading\">\ud83e\uddde Selenide<\/h2>\n<p><em>Une biblioth\u00e8que de tests concise pour des tests d&#8217;interface utilisateur stables, lisibles et rapides.<\/em><\/p>\n<p><a href=\"https:\/\/github.com\/selenide\/selenide\" target=\"_blank\" rel=\"noopener\">Selenide<\/a> a \u00e9t\u00e9 cr\u00e9\u00e9 par n\u00e9cessit\u00e9. \u00c0 l&#8217;\u00e9poque, il n&#8217;existait pas de biblioth\u00e8ques de tests d&#8217;interface utilisateur matures pour Java, et Selenium WebDriver n\u00e9cessitait beaucoup de code r\u00e9utilisable, ce qui compliquait la lecture des tests et ralentissait le d\u00e9veloppement. Andrei Solntsev a donc condens\u00e9 ses outils d&#8217;automatisation internes en une biblioth\u00e8que concise et expressive qui simplifie le processus d&#8217;\u00e9criture des tests de navigateur.<\/p>\n<blockquote class=\"wp-block-quote\">\n<p>IntelliJ IDEA est mon IDE pr\u00e9f\u00e9r\u00e9 \u00e0 tous points de vue. Il a m\u00eame influenc\u00e9 la conception de Selenide. J&#8217;ai con\u00e7u cette biblioth\u00e8que pour qu&#8217;IntelliJ IDEA puisse sugg\u00e9rer automatiquement les m\u00e9thodes disponibles, pour faciliter la d\u00e9couverte des fonctionnalit\u00e9s par les d\u00e9veloppeurs, sans qu&#8217;ils aient \u00e0 consulter une documentation exhaustive. Il suffit de saisir un point et de laisser l&#8217;IDE vous guider.<\/p>\n<p><cite>\u2014 <em>Andrei Solntsev, cr\u00e9ateur de Selenide<\/em><\/cite><\/p>\n<\/blockquote>\n<p>Aujourd&#8217;hui, l&#8217;\u00e9quipe de Selenide continue de se concentrer sur des tests stables et lisibles, une ex\u00e9cution rapide et une exp\u00e9rience de d\u00e9veloppement fluide. Ses membres travaillent activement \u00e0 la prise en charge du protocole BiDi, \u00e0 une meilleure documentation et \u00e0 une int\u00e9gration plus \u00e9troite avec les normes Selenium en constante \u00e9volution.<\/p>\n<h2 class=\"wp-block-heading\">\ud83e\udde0 Flix<\/h2>\n<p><em><em>Un langage de programmation orient\u00e9 effets, dot\u00e9 de solides fondements th\u00e9oriques.<\/em><\/em><\/p>\n<p>D\u00e9velopp\u00e9 \u00e0 l&#8217;Universit\u00e9 d&#8217;Aarhus, <a href=\"https:\/\/github.com\/flix\/flix\" target=\"_blank\" rel=\"noopener\">Flix<\/a> combine les paradigmes de programmation fonctionnelle, imp\u00e9rative et logique. Au c\u0153ur de Flix se trouve son puissant syst\u00e8me d&#8217;effets, qui propose des effets alg\u00e9briques et leurs gestionnaires pour am\u00e9liorer la modularit\u00e9 et la clart\u00e9 du code, des mutations locales permettant d&#8217;isoler les effets de bord au sein de fonctions pures, ainsi que la purity reflection, qui autorise une parall\u00e9lisation automatique s\u00fbre et une \u00e9valuation paresseuse.<\/p>\n<p>Malgr\u00e9 ses origines acad\u00e9miques, Flix est utilis\u00e9 pour des applications concr\u00e8tes, avec une forte orientation sur la performance, la fiabilit\u00e9 et l&#8217;exp\u00e9rience d\u00e9veloppeur.<\/p>\n<blockquote class=\"wp-block-quote\">\n<p>Le compilateur Flix est principalement \u00e9crit en Scala, et notre \u00e9quipe de d\u00e9veloppement travaille presque exclusivement dans IntelliJ IDEA. Son profileur int\u00e9gr\u00e9 a jou\u00e9 un r\u00f4le d\u00e9terminant dans le d\u00e9veloppement d&#8217;une impl\u00e9mentation efficace de l&#8217;inf\u00e9rence de type, et nous utilisons ses outils de d\u00e9bogage quotidiennement pour traquer les bugs les plus insaisissables dans le code source.<\/p>\n<p><cite><em>\u2014 Magnus Madsen, d\u00e9veloppeur principal de Flix<\/em><\/cite><\/p>\n<\/blockquote>\n<p>L&#8217;\u00e9quipe travaille activement \u00e0 la sortie d&#8217;une version\u00a01.0, en continuant d&#8217;am\u00e9liorer le syst\u00e8me d&#8217;effets et l&#8217;exp\u00e9rience des d\u00e9veloppeurs, et en fournissant des retours d&#8217;information plus pr\u00e9cis et exploitables aux endroits o\u00f9 des erreurs se produisent.<\/p>\n<h2 class=\"wp-block-heading\">\ud83c\udf10 Kobweb<\/h2>\n<p><em>Un framework moderne pour la cr\u00e9ation d&#8217;applications web en Kotlin.<\/em><\/p>\n<p><a href=\"https:\/\/github.com\/varabyte\/kobweb\" target=\"_blank\" rel=\"noopener\">Kobweb<\/a> est n\u00e9 d&#8217;une volont\u00e9 d&#8217;apporter la puissance de Compose au d\u00e9veloppement web en Kotlin. \u00c0 l&#8217;\u00e9poque, la plupart des frameworks web \u00e9taient centr\u00e9s sur JavaScript et TypeScript, et les options des d\u00e9veloppeurs Kotlin \u00e9taient limit\u00e9es. Compose HTML s&#8217;est montr\u00e9 prometteur d\u00e8s ses d\u00e9buts, mais l&#8217;\u00e9cosyst\u00e8me \u00e9tait encore jeune. Kobweb est apparu comme une r\u00e9ponse \u00e0 cette lacune, un pas audacieux vers un d\u00e9veloppement web moderne et d\u00e9claratif en Kotlin, en utilisant des outils familiers comme IntelliJ IDEA et Compose.<\/p>\n<blockquote class=\"wp-block-quote\">\n<p>Kobweb encourage les d\u00e9veloppeurs \u00e0 utiliser IntelliJ IDEA, surtout pour Kotlin, il n&#8217;y a rien de mieux. Il regorge de fonctionnalit\u00e9s puissantes, comme des outils de refactorisation de pointe, l&#8217;analyse et la navigation du code, ainsi que des fonctionnalit\u00e9s d&#8217;\u00e9dition avanc\u00e9es telles que les curseurs multiples, qui m\u00e9ritent toutes d&#8217;\u00eatre ma\u00eetris\u00e9es. Si vous utilisez un IDE tous les jours, prenez le temps de vraiment apprendre \u00e0 ma\u00eetriser vos outils. Ils vous rendront plus rapide et plus performant.<\/p>\n<p><cite><em>\u2014 David Herman, cr\u00e9ateur de Kobweb<\/em><\/cite><\/p>\n<\/blockquote>\n<p>Kobweb approche de sa version\u00a01.0 et pr\u00e9voit de combler les lacunes restantes de l&#8217;API, d&#8217;introduire de nouveaux widgets d&#8217;interface utilisateur, d&#8217;am\u00e9liorer son plugin IntelliJ IDEA et de cr\u00e9er de courts tutoriels vid\u00e9o pour la communaut\u00e9. Vous pouvez suivre l&#8217;avancement du projet sur sa <a href=\"https:\/\/github.com\/varabyte\/kobweb\/projects\" target=\"_blank\" rel=\"noopener\">feuille de route publique<\/a>. Si vous souhaitez contribuer et que vous poss\u00e9dez des comp\u00e9tences dans l&#8217;un de ces domaines, l&#8217;\u00e9quipe serait ravie de vous accueillir\u00a0!<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n<p>Que vous cr\u00e9iez des frameworks, des compilateurs ou des biblioth\u00e8ques, ces projets open source montrent ce qu&#8217;il est possible de faire lorsque les d\u00e9veloppeurs disposent des outils ad\u00e9quats. JetBrains est fier de soutenir ces initiatives qui contribuent \u00e0 la croissance de la communaut\u00e9.<\/p>\n<div class=\"newsletter\">\n<h2>Autres \u00e9pisodes de cette s\u00e9rie<\/h2>\n<article class=\"newsletter__post\"><img decoding=\"async\" loading=\"lazy\" class=\"newsletter__post-img wp-post-image\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/04\/cl-featured_blog_1280x720_en-2.png\" alt=\"\" width=\"2560\" height=\"1440\" \/>\n<div class=\"newsletter__post-text\">\n<h3>CLion et la communaut\u00e9 open source\u00a0: \u00e9voluer ensemble<\/h3>\n<p>D\u00e8s son origine, le d\u00e9veloppement de CLion a \u00e9t\u00e9 guid\u00e9 par les besoins des d\u00e9veloppeurs C et C++ du monde entier. Notre IDE multiplateforme a \u00e9t\u00e9 con\u00e7u pour simplifier le d\u00e9veloppement, booster la productivit\u00e9 et rendre plus agr\u00e9able le travail sur le code C++.<\/p>\n<p>Nous sommes ravis de franchir une nouvelle \u00e9tape dans notre collaboration continue avec la communaut\u00e9\u2026<\/p>\n<p><a class=\"btn\" href=\"https:\/\/blog.jetbrains.com\/fr\/blog\/2025\/05\/26\/clion-et-la-communaute-open-source-evoluer-ensemble\/\">Lire l&#8217;article<\/a><\/p>\n<\/div>\n<\/article>\n<article class=\"newsletter__post\"><img decoding=\"async\" loading=\"lazy\" class=\"newsletter__post-img wp-post-image\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/05\/PS-social-BlogFeatured-2560x1440-copy.png\" alt=\"\" width=\"2560\" height=\"1440\" \/>\n<div class=\"newsletter__post-text\">\n<h3>Comment PhpStorm aide \u00e0 maintenir des projets PHP open source\u00a0: interviews et exemples concrets<\/h3>\n<p>L&#8217;\u00e9cosyst\u00e8me PHP est anim\u00e9 par des d\u00e9veloppeurs passionn\u00e9s qui cr\u00e9ent des outils largement utilis\u00e9s pour tous les domaines, des syst\u00e8mes de gestion de contenu aux biblioth\u00e8ques de tests, en passant par les couches de base de donn\u00e9es. Derri\u00e8re chaque projet se trouve une \u00e9quipe d\u00e9di\u00e9e qui travaille \u00e0 la modernisation du code, \u00e0 l&#8217;am\u00e9lioration des performances et \u00e0 l&#8217;\u00e9volution de l&#8217;\u00e9cosyst\u00e8me\u2026<\/p>\n<p><a class=\"btn\" href=\"https:\/\/blog.jetbrains.com\/fr\/blog\/2025\/06\/18\/comment-phpstorm-aide-a-maintenir-des-projets-php-open-source-interviews-et-exemples-concrets\/\">Lire l&#8217;article<\/a><\/p>\n<\/div>\n<\/article>\n<article class=\"newsletter__post\"><img decoding=\"async\" loading=\"lazy\" class=\"newsletter__post-img wp-post-image\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/05\/IJ-social-BlogFeatured-1280x720-2x-1.png\" alt=\"\" width=\"2560\" height=\"1440\" \/>\n<div class=\"newsletter__post-text\">\n<h3>Utilisation d&#8217;IntelliJ IDEA dans les Projets Java open source\u00a0: Exemples concrets \u2014 Partie\u00a01<\/h3>\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\u2026<\/p>\n<p><a class=\"btn\" href=\"https:\/\/blog.jetbrains.com\/fr\/blog\/2025\/09\/03\/utilisation-d-intellij-idea-dans-les-projets-java-open-source-exemples-concrets-partie-1\/\">Lire l&#8217;article<\/a><\/p>\n<\/div>\n<\/article>\n<article class=\"newsletter__post\"><img decoding=\"async\" loading=\"lazy\" class=\"newsletter__post-img wp-post-image\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/11\/IDEs-social-BlogFeatured-1280x720-1-1.png\" alt=\"\" width=\"1280\" height=\"720\" \/>\n<div class=\"newsletter__post-text\">\n<h3>Focus sur l&#8217;open source\u00a0: les projets que nous sommes fiers de soutenir<\/h3>\n<p>Chez JetBrains, nous sommes ravis de voir la communaut\u00e9 des d\u00e9veloppeurs grandir et prosp\u00e9rer. C&#8217;est pourquoi nous soutenons les projets open source qui font une r\u00e9elle diff\u00e9rence\u00a0: ceux qui aident les d\u00e9veloppeurs \u00e0 apprendre, \u00e0 construire et \u00e0 cr\u00e9er ensemble de meilleurs logiciels. Nous sommes fiers de soutenir les responsables de maintenance de l&#8217;open source en leur fournissant des licences gratuites et de contribuer\u2026<\/p>\n<p><a class=\"btn\" href=\"https:\/\/blog.jetbrains.com\/fr\/blog\/2025\/12\/29\/focus-sur-l-open-source-les-projets-que-nous-sommes-fiers-de-soutenir\/\">Lire l&#8217;article<\/a><\/p>\n<\/div>\n<\/article>\n<\/div>\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:\/\/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":671547,"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\/671546"}],"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=671546"}],"version-history":[{"count":4,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/blog\/671546\/revisions"}],"predecessor-version":[{"id":671573,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/blog\/671546\/revisions\/671573"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/media\/671547"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/media?parent=671546"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/categories?post=671546"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/tags?post=671546"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/cross-post-tag?post=671546"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}