MFormations
Modern Java Engineering

Chapitre 20

20 - Ressources

> Outils, blogs, conférences et JEPs pour rester à jour dans l'écosystème Java

Chapitre 20 — Ressources

Outils, blogs, conferences et JEPs pour rester a jour dans l'ecosysteme Java


1. IntelliJ IDEA : Productivite maximale

Raccourcis essentiels

ActionRaccourci (Windows)Raccourci (Mac)
Rechercher partoutShift + ShiftShift + Shift
Chercher une actionCtrl + Shift + ACmd + Shift + A
Naviguer vers une classeCtrl + NCmd + O
Naviguer vers un fichierCtrl + Shift + NCmd + Shift + O
Aller a la declarationCtrl + BCmd + B
Trouver les usagesAlt + F7Alt + F7
Renommer partoutShift + F6Shift + F6
Extraire une methodeCtrl + Alt + MCmd + Opt + M
Generer (getters, etc.)Alt + InsCmd + N
Correction rapideAlt + EnterOpt + Enter
Dupliquer une ligneCtrl + DCmd + D
Supprimer une ligneCtrl + YCmd + Backspace
Reformater le codeCtrl + Alt + LCmd + Opt + L
Optimiser les importsCtrl + Alt + OCmd + Opt + O
Multi-curseurCtrl + Ctrl + Up/DownCmd + Cmd + Up/Down
Ouvrir le terminalAlt + F12Opt + F12
Vue structureAlt + 7Cmd + 7
CommitCtrl + KCmd + K

Plugins recommandes

  • SonarLint — Analyse statique en direct
  • Lombok — Support des annotations Lombok
  • JRebel — Deploiement a chaud (payant)
  • Key Promoter X — Apprend les raccourcis
  • GitToolBox — Status Git dans l'editeur
  • CheckStyle-IDEA — Validation Google Java Style
  • JPA Buddy — Outils JPA/Hibernate visuels
  • TestMe — Generation rapide de tests
  • Maven Helper — Analyse des dependances
  • Rainbow Brackets — Couleurs pour les parentheses

Live Templates utiles

psvm → public static void main(String[] args){}
sout → System.out.println()
soutm → System.out.println("methodName")
soutp → System.out.println("params = " + ...)
serr → System.err.println()
fori → for (int i = 0; i < ; i++) { }
iter → foreach iteration
itli → List iteration
itco → Collection iteration
thr → throw new

Refactoring avance

  • Extract Method (Ctrl+Alt+M) — Extrait un bloc en methode
  • Extract Variable (Ctrl+Alt+V) — Cree une variable
  • Extract Field (Ctrl+Alt+F) — Cree un champ
  • Extract Constant (Ctrl+Alt+C) — Cree une constante
  • Extract Parameter (Ctrl+Alt+P) — Transforme en parametre
  • Inline (Ctrl+Alt+N) — Inverse d'extract
  • Change Signature (Ctrl+F6) — Modifie la signature d'une methode
  • Move (F6) — Deplace une classe/methode

Inspection de code

  • Ctrl+Alt+Shift+I — Inspecter le code
  • Analyze > Run Inspection by Name
  • Analyze > Code Cleanup
  • Analyze > Analyze Stack Trace

2. Baeldung (baeldung.com)

Pourquoi Baeldung ?

  • Plus de 2000 tutoriels Java Spring
  • Maintenu par une equipe d'experts (Eugen Paraschiv)
  • Couvre Java 8 a 21, Spring Boot 3.x, Testing, Security
  • Articles regulierement mis a jour

Series incontournables

  • "Java 8 to 21" — Nouvelles fonctionnalites
  • "Spring Boot Tutorial" — Guide complet
  • "JPA/Hibernate Guide" — Mapping, requetes, performance
  • "REST with Spring" — API RESTful
  • "Testing in Spring Boot" — JUnit 5, Mockito, Testcontainers
  • "Security with Spring" — Spring Security, OAuth2, JWT

Cours payants

  • REST with Spring (5 etoiles)
  • Learn Spring Security
  • Learn Spring Data JPA
  • Spring Boot 3 Migration

3. Spring Initializr (start.spring.io)

Fonctionnalites

  • Generation de projets Spring Boot
  • Selection de versions (3.2.x, 3.3.x)
  • Choix du langage (Java, Kotlin, Groovy)
  • Choix du build tool (Maven, Gradle)
  • Selection de starters et dependances

Starters courants

StarterUsage
spring-boot-starter-webREST API, Tomcat embarque
spring-boot-starter-data-jpaJPA/Hibernate
spring-boot-starter-validationBean Validation
spring-boot-starter-securitySpring Security
spring-boot-starter-testJUnit 5, Mockito, AssertJ
spring-boot-starter-actuatorMonitoring, health checks
spring-boot-starter-data-redisRedis data access
spring-boot-starter-cacheCache abstraction
spring-cloud-starter-netflix-eureka-clientService discovery
spring-cloud-starter-openfeignFeign HTTP client

Alternatives


4. DZone (dzone.com)

Zones pertinentes

  • Java Zone — Tutoriels, bonnes pratiques, JEPs
  • DevOps Zone — CI/CD, Docker, Kubernetes
  • Cloud Zone — AWS, GCP, Azure
  • Performance Zone — JVM tuning, profiling

Refcardz (cheat sheets)

  • "Getting Started with Java"
  • "Spring Boot 3"
  • "Java Performance Tuning"
  • "Microservices with Spring Cloud"
  • "Docker for Java Developers"

5. Java Magazine

Description

Magazine officiel Oracle, disponible gratuitement en ligne. Articles techniques rediges par les experts du Java Community Process.

Themes recurrents

  • Nouveautes JDK (interviews des specification leads)
  • Bonnes pratiques de coding
  • Performance et GC tuning
  • Architecture microservices
  • Security best practices
  • Java dans le cloud

Editions notables

  • "Java 21: The Next Big Step" — Virtual threads, pattern matching
  • "GraalVM: Native Compilation" — Debut 2024
  • "Project Loom Deep Dive" — Structured concurrency
  • "Building Cloud-Native Java" — Spring Boot + K8s

6. Conferences Java

Devoxx (Europe)

  • Devoxx Belgium (Anvers, novembre) — La plus grande conference Java europeenne
  • Devoxx France (Paris, avril) — 3000 participants, 100+ talks
  • Devoxx UK (Londres, mai)
  • Devoxx Morocco (Marrakech)
  • Devoxx Poland (Cracovie)

Programme typique :

  • Keynotes par les leaders du Java Community
  • University (tutorials de 3h)
  • Conference (talks de 50min)
  • Quickie (talks de 15min)
  • Hands-on Labs
  • Hackergarten

JavaOne (USA)

  • Conference historique Oracle (San Francisco/Montreal)
  • Remplacee par Oracle CloudWorld depuis 2022
  • Contenu technique Java toujours present

SpringOne (USA/Europe)

  • Organise par VMware
  • Focus Spring, Cloud Native, Kubernetes
  • Annonces des nouveautes Spring
  • Sessions techniques et workshops

Autres conferences

ConferenceLieuMois
JNationPortugalJuin
Voxxed DaysMultipleToute l'annee
JBCNConfBarceloneJuillet
JPrimeBulgarieMai
JFallPays-BasNovembre
DevnexusAtlanta, USAMars
JavaZoneOsloSeptembre

7. JEPs (Java Enhancement Proposals)

Comment suivre les JEPs

JEPs majeures recents

JEPTitreJDK
425Virtual Threads (Preview)19-20
444Virtual Threads (Final)21
440Record Patterns (Preview)19-20
441Record Patterns (Final)21
443Unnamed Patterns & Variables21
445String Templates (Preview)21
453Structured Concurrency (Preview)21
446Scoped Values (Preview)21
454Foreign Function & Memory API (Preview)22
456Anonymous Classes Improvement22
463Implicitly Declared Classes22

Calendrier de releases

  • JDK 21 (Sep 2023) — LTS, virtual threads, pattern matching
  • JDK 22 (Mar 2024) — New features, previews
  • JDK 23 (Sep 2024) — 12 JEPs incluant Markdown in Javadoc
  • JDK 24 (Mar 2025) — Key Encapsulation Mechanism API
  • JDK 25 (Sep 2025) — Prochain LTS probable

8. Communautes

Forums

Discord / Slack

Podcasts

  • Inside Java (Oracle)
  • Java Pub House (Freddy Guime, Bob Paulin)
  • The Java Easily Podcast
  • A Bootiful Podcast (Josh Long)
  • Off Heap (Jake Lee)

Newsletters

  • Java Weekly (Baeldung)
  • Sivalabs Weekly (Siva Prasad Reddy)
  • Dev.java Newsletter (Oracle)
  • Spring Tips (Spring.io)

9. Outils de developpement

Build tools

  • Maven — standard de facto
  • Gradle — plus rapide, Kotlin DSL
  • sbt — Scala/Java

Framework tools

  • Spring Boot CLI — prototypes rapides
  • Spring REST Docs — documentation d'API
  • OpenAPI Generator — generation de clients

Analyse de code

  • SonarQube — qualite et securite
  • Checkstyle — style de code
  • PMD — bugs potentiels
  • SpotBugs — detection de bugs (successeur de FindBugs)
  • ArchUnit — tests d'architecture
  • JaCoCo — couverture de code

Profiling / Monitoring

  • JMC (JDK Mission Control) + JFR
  • Async Profiler
  • IntelliJ Profiler
  • YourKit
  • Grafana + Prometheus + Micrometer

10. Certification

Oracle Java Certifications

CertificationExamenPrix
Oracle Certified Foundations Associate1Z0-811~150$
Oracle Certified Professional: Java SE 211Z0-830~245$
Oracle Certified Professional: Java SE 171Z0-829~245$

Spring Certifications

CertificationDetails
Spring Professional 202490 min, 80 questions, ~250$
Spring WebFluxSpecialisation reactive

Preparation


Conclusion

La cle pour rester competent en Java est la veille technologique continue :

  1. Quotidien : Baeldung, Reddit, Twitter/X
  2. Hebdomadaire : Java Weekly, Inside Java
  3. Mensuel : Java Magazine, articles DZone
  4. Annuel : Devoxx, JavaOne, SpringOne conferences
  5. Continu : Suivre les JEPs, tester les previews

Cette combinaison assure de rester a jour avec un ecosysteme qui evolue rapidement tout en conservant une base solide de connaissances fondamentales.