Dans la première partie de cette série, nous avons présenté plusieurs des projets open source de la communauté Java les plus reconnus. Nous sommes à présent de retour avec d’autres projets remarquables qui accélèrent 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 à travailler plus rapidement, avec plus d’assurance et en privilégiant la qualité.
🌿 jsoup
Une bibliothèque Java pour travailler sur des cas concrets avec HTML.
Son nom fait écho à la « soupe de balises » désordonnée des premiers contenus web. jsoup a été créé en 2009 après que l’analyse HTML basée sur les expressions régulières se soit avérée trop fragile, et en réponse aux bibliothèques HTML Java existantes qui semblaient lourdes et limitées. Inspiré par la simplicité de jQuery, jsoup a été conçu pour rendre l’analyse HTML en Java intuitive et agréable. Aujourd’hui, il offre des outils faciles à utiliser pour analyser, nettoyer et manipuler le HTML, avec la prise en charge de HTML5, du XML, de l’assainissement, des API W3C, et plus.
IntelliJ IDEA est mon IDE de prédilection : intuitif, puissant et excellent pour naviguer dans le code, les flux de données et les tests. Ses inspections détectent les problèmes rapidement, tandis que ses outils intégrés pour les tests, le profilage et la gestion des dépendances ont directement amélioré le développement de jsoup.
— Jonathan Hedley, créateur de jsoup
Bien que jsoup soit une solution assez mature à présent, son développement se poursuit. Parmi les nouveautés récentes, citons la prise en charge native des requêtes HTTP/2 pour des connexions efficaces et un nouveau StreamParser hybride DOM+SAX rapide. Les futurs développements planifiés concernent la prise en charge des balises personnalisées, l’amélioration du pretty printer et un outil de nettoyage HTML perfectionné. Si vous souhaitez apporter votre aide ou si avez d’autres idées, rendez-vous sur le site web de jsoup pour participer !
🚀 http4k
Un kit d’outils léger et fonctionnel pour la création de services HTTP en Kotlin.
Inspiré par l’article de Twitter intitulé Your Server as a Function (Votre serveur en tant que fonction), http4k a commencé en tant que script de 40 lignes pour arriver à 180 modules. Construit sur des fonctions pures sans dépendances ni mécanismes de réflexion, il est rapide et hautement portable, et s’exécute en mémoire, sur 14 serveurs backend, 6 plateformes serverless, ou en tant que binaire GraalVM. Axé sur une simplicité radicale et une testabilité extrême, http4k est pensé pour être la suite d’outils web la plus facile à tester disponible à ce jour.
En tant qu’utilisateurs expérimentés d’IntelliJ IDEA, nous sommes de très grands fans des produits JetBrains. Non seulement nous utilisons les capacités de refactorisation de l’IDE pour manipuler et remodeler le code de manière fiable, mais nous pouvons également faire du développement multilangage facilement en utilisant les mêmes raccourcis clavier.
— David Denton et Ivan Sanchez, créateurs de http4k
http4k continue de s’étendre, avec des ajouts récents tels qu’un SDK MCP (Model Context Protocol) pour un déploiement stateless et serverless, l’intégration de Datastar, le module TracerBullet, qui génère des diagrammes de séquence du comportement du code en exécutant des tests, et un module de boîte d’envoi transactionnelle à venir. Comme toujours, tout est construit avec des fonctions composables et une forte priorité à la testabilité.
🧞 Selenide
Une bibliothèque de tests concise pour des tests d’interface utilisateur stables, lisibles et rapides.
Selenide a été créé par nécessité. À l’époque, il n’existait pas de bibliothèques de tests d’interface utilisateur matures pour Java, et Selenium WebDriver nécessitait beaucoup de code réutilisable, ce qui compliquait la lecture des tests et ralentissait le développement. Andrei Solntsev a donc condensé ses outils d’automatisation internes en une bibliothèque concise et expressive qui simplifie le processus d’écriture des tests de navigateur.
IntelliJ IDEA est mon IDE préféré à tous points de vue. Il a même influencé la conception de Selenide. J’ai conçu cette bibliothèque pour qu’IntelliJ IDEA puisse suggérer automatiquement les méthodes disponibles, pour faciliter la découverte des fonctionnalités par les développeurs, sans qu’ils aient à consulter une documentation exhaustive. Il suffit de saisir un point et de laisser l’IDE vous guider.
— Andrei Solntsev, créateur de Selenide
Aujourd’hui, l’équipe de Selenide continue de se concentrer sur des tests stables et lisibles, une exécution rapide et une expérience de développement fluide. Ses membres travaillent activement à la prise en charge du protocole BiDi, à une meilleure documentation et à une intégration plus étroite avec les normes Selenium en constante évolution.
🧠 Flix
Un langage de programmation orienté effets, doté de solides fondements théoriques.
Développé à l’Université d’Aarhus, Flix combine les paradigmes de programmation fonctionnelle, impérative et logique. Au cœur de Flix se trouve son puissant système d’effets, qui propose des effets algébriques et leurs gestionnaires pour améliorer la modularité et la clarté du code, des mutations locales permettant d’isoler les effets de bord au sein de fonctions pures, ainsi que la purity reflection, qui autorise une parallélisation automatique sûre et une évaluation paresseuse.
Malgré ses origines académiques, Flix est utilisé pour des applications concrètes, avec une forte orientation sur la performance, la fiabilité et l’expérience développeur.
Le compilateur Flix est principalement écrit en Scala, et notre équipe de développement travaille presque exclusivement dans IntelliJ IDEA. Son profileur intégré a joué un rôle déterminant dans le développement d’une implémentation efficace de l’inférence de type, et nous utilisons ses outils de débogage quotidiennement pour traquer les bugs les plus insaisissables dans le code source.
— Magnus Madsen, développeur principal de Flix
L’équipe travaille activement à la sortie d’une version 1.0, en continuant d’améliorer le système d’effets et l’expérience des développeurs, et en fournissant des retours d’information plus précis et exploitables aux endroits où des erreurs se produisent.
🌐 Kobweb
Un framework moderne pour la création d’applications web en Kotlin.
Kobweb est né d’une volonté d’apporter la puissance de Compose au développement web en Kotlin. À l’époque, la plupart des frameworks web étaient centrés sur JavaScript et TypeScript, et les options des développeurs Kotlin étaient limitées. Compose HTML s’est montré prometteur dès ses débuts, mais l’écosystème était encore jeune. Kobweb est apparu comme une réponse à cette lacune, un pas audacieux vers un développement web moderne et déclaratif en Kotlin, en utilisant des outils familiers comme IntelliJ IDEA et Compose.
Kobweb encourage les développeurs à utiliser IntelliJ IDEA, surtout pour Kotlin, il n’y a rien de mieux. Il regorge de fonctionnalités puissantes, comme des outils de refactorisation de pointe, l’analyse et la navigation du code, ainsi que des fonctionnalités d’édition avancées telles que les curseurs multiples, qui méritent toutes d’être maîtrisées. Si vous utilisez un IDE tous les jours, prenez le temps de vraiment apprendre à maîtriser vos outils. Ils vous rendront plus rapide et plus performant.
— David Herman, créateur de Kobweb
Kobweb approche de sa version 1.0 et prévoit de combler les lacunes restantes de l’API, d’introduire de nouveaux widgets d’interface utilisateur, d’améliorer son plugin IntelliJ IDEA et de créer de courts tutoriels vidéo pour la communauté. Vous pouvez suivre l’avancement du projet sur sa feuille de route publique. Si vous souhaitez contribuer et que vous possédez des compétences dans l’un de ces domaines, l’équipe serait ravie de vous accueillir !
Que vous créiez des frameworks, des compilateurs ou des bibliothèques, ces projets open source montrent ce qu’il est possible de faire lorsque les développeurs disposent des outils adéquats. JetBrains est fier de soutenir ces initiatives qui contribuent à la croissance de la communauté.
Autres épisodes de cette série
CLion et la communauté open source : évoluer ensemble
Dès son origine, le développement de CLion a été guidé par les besoins des développeurs C et C++ du monde entier. Notre IDE multiplateforme a été conçu pour simplifier le développement, booster la productivité et rendre plus agréable le travail sur le code C++.
Nous sommes ravis de franchir une nouvelle étape dans notre collaboration continue avec la communauté…
Comment PhpStorm aide à maintenir des projets PHP open source : interviews et exemples concrets
L’écosystème PHP est animé par des développeurs passionnés qui créent des outils largement utilisés pour tous les domaines, des systèmes de gestion de contenu aux bibliothèques de tests, en passant par les couches de base de données. Derrière chaque projet se trouve une équipe dédiée qui travaille à la modernisation du code, à l’amélioration des performances et à l’évolution de l’écosystème…
Utilisation d’IntelliJ IDEA dans les Projets Java open source : Exemples concrets — Partie 1
Chez JetBrains, nous créons des outils pour aider les développeurs à rester concentrés et productifs, et nous sommes particulièrement fiers lorsque ces outils contribuent à des projets open source sur lesquels des développeurs du monde entier s’appuient au quotidien. De tels projets façonnent l’orientation du développement Java et apportent une contribution significative au dynamisme de l’écosystème…
Focus sur l’open source : les projets que nous sommes fiers de soutenir
Chez JetBrains, nous sommes ravis de voir la communauté des développeurs grandir et prospérer. C’est pourquoi nous soutenons les projets open source qui font une réelle différence : ceux qui aident les développeurs à apprendre, à construire et à créer ensemble de meilleurs logiciels. Nous sommes fiers de soutenir les responsables de maintenance de l’open source en leur fournissant des licences gratuites et de contribuer…