Outillage et écosystème
Progression
#Outillage moderne : build, IDE, delivery
Le dernier pan du module prend le temps d’explorer l’outillage, trop souvent relégué à la fin d’un projet. Nous opposons Maven et Gradle à travers un même cas d’usage : bâtir un projet multi‑module. Maven fait valoir ses conventions et sa compatibilité avec la majorité des organisations ; Gradle démontre sa puissance d’incrémentalité et la richesse de son DSL Kotlin. Dans les deux cas, nous configurons un formatage automatique (spotless
) et une analyse statique (SpotBugs
, Checkstyle
) pour verrouiller la qualité à chaque commit.
Côté IDE, nous présentons les configurations pragmatiques d’IntelliJ IDEA (refactorings, inspections, intégration avec les frameworks) et une alternative légère basée sur VS Code, idéale pour les environnements pédagogiques. Les étudiants apprennent également à activer l’auto‑reload côté serveur (spring-devtools
, quarkus:dev
) pour accélérer le feedback.
Nous terminons par la chaîne DevOps : packaging d’un runtime sur mesure avec jlink
/jpackage
, construction d’images distroless et mise en place d’une pipeline CI qui exécute les tests unitaires, le mutation testing et les benchmarks JMH
avant de pousser sur un environnement de staging. Le projet fil rouge — une API de gestion d’abonnements — sert de fil conducteur pour assembler toutes ces briques : architecture multi‑module (domain
, app
, infra
), pipeline GitHub Actions, profilage avec async-profiler
et tableaux de bord d’observabilité.