Développement logiciel

Actualisation de Java 11 à Java 17

Préparez une migration de Java 11 vers Java 17 et modernisez le code là où cela améliore sa lisibilité. Le fil rouge couvre compatibilité, nouvelles constructions du langage, tests et procédure de basculement.

3 jours · 21 hIntermédiaireHybride

Pour qui ?

Développeurs Java et responsables techniques préparant une migration d’un projet Java 11 vers Java 17.

Prérequis

Cette formation présente les nouveautés de Java 11 et Java 17 pour un profil maîtrisant déjà le langage Java. Pour suivre cette formation, il est donc indispensable de bien connaître la version Java 8.

Des compétences à mettre en pratique

Objectifs pédagogiques

  • Connaitre les nouveautés apportées par les versions de Java 9 et ultérieures.
  • Connaître, version après version, les nouveautés apportées aux dernières versions LTS de Java
  • Mettre en pratique les nouveautés significatives et les plus importantes

Votre progression, jour après jour

Programme détaillé

6 séquences · 21 heures indicatives · ateliers et évaluation

Télécharger le programme (PDF)

Le cas fil rouge

Migrer une application Java 11 vers Java 17 en distinguant nouveautés disponibles, fonctionnalités preview et problèmes de compatibilité.

Préparer votre formation et découvrir la méthode

Préparer la formation

Java 11, compilation et tests ; JDK 11 et 17 isolés, Maven ou Gradle, application de migration préparée.

Apports illustrés, exercices progressifs, ateliers sur un cas fil rouge et retour argumenté sur les productions. Les ateliers et l'évaluation font partie des heures indiquées.

Jour 01Établir le diagnostic de migration7 h · 2 séquences avec mise en pratique

Séquence 1 · 3 h 30

Établir le diagnostic de migration

  • Inventorier dépendances, plugins et options JVM.
  • Situer les changements de Java 9 à 11 utiles au contexte.
  • Identifier usages internes et composants à mettre à jour.
  • Analyser les dépendances avec les outils du JDK, repérer modules et accès internes, puis distinguer incompatibilité de compilation et d’exécution.
Notions et méthodes en détail
  • Inventorier JDK, dépendances, plugins de build et options JVM du projet de référence.
  • Séparer compatibilité source, binaire et comportement à l’exécution.
  • Repérer utilisation d’API internes et accès réflexifs affectés par l’encapsulation renforcée.

Atelier prévuConstruire une matrice de compatibilité du projet et obtenir une exécution de référence sous Java 11.

Livrable attenduMatrice de compatibilité et risques de migration.

Vérification en atelierLe diagnostic produit une liste d’écarts reproductibles et non une simple montée de version.

Pour aller plus loin

Identifier une bibliothèque incompatible avec l’encapsulation renforcée.

Séquence 2 · 3 h 30

Moderniser les expressions et le texte

  • Employer expressions switch et vérifier l'exhaustivité.
  • Utiliser blocs de texte avec maîtrise des espaces et retours.
  • Revoir APIs de chaînes et pratiques de code compatibles Java 17.
  • Employer expressions switch et blocs de texte en préservant lisibilité et comportement.
Notions et méthodes en détail
  • Utiliser expressions switch avec valeurs de retour et branches exhaustives adaptées au cas.
  • Employer text blocks en vérifiant indentation et contenu réel de la chaîne.
  • Comparer avant/après sur lisibilité et couverture des branches.

Atelier prévuRefactorer un parseur et ses chaînes multilignes en comparant les sorties avant et après modification.

Livrable attenduExemples modernisés et tests de non-régression.

Vérification en atelierLa modernisation conserve les valeurs exactes et tous les cas métier testés.

Pour aller plus loin

Réécrire un traitement avec tests sur valeurs nulles et cas limites.

Jour 02Modéliser avec records et types scellés7 h · 2 séquences avec mise en pratique

Séquence 3 · 3 h 30

Modéliser avec records et types scellés

  • Comprendre composants, égalité et immutabilité limitée des records.
  • Encadrer une hiérarchie avec sealed et permits.
  • Distinguer nouveauté stable et fonctionnalité encore en preview dans Java 17.
  • Utiliser records pour données et types scellés pour hiérarchies contrôlées ; expliciter leurs limites.
Notions et méthodes en détail
  • Définir un record pour une donnée immutable dans sa structure et examiner la mutabilité de ses composants.
  • Construire une hiérarchie sealed avec sous-types autorisés et responsabilités cohérentes.
  • Distinguer objet de données et entité à identité ou cycle de vie mutable.

Atelier prévuRemplacer un DTO par un record et modéliser un résultat de traitement avec une hiérarchie fermée.

Livrable attenduModèle de types et invariants vérifiés.

Vérification en atelierLe choix du record ou du type scellé répond au modèle du domaine.

Pour aller plus loin

Comparer record immuable en surface et objet contenant une collection mutable.

Séquence 4 · 3 h 30

Adapter les usages du langage et des bibliothèques

  • Utiliser le pattern matching pour instanceof.
  • Examiner APIs supprimées, dépréciées et encapsulation renforcée.
  • Ajuster réflexion, bibliothèques et configuration modulaire si nécessaire.
  • Distinguer fonctionnalités finalisées et options preview ; vérifier les changements d’API utilisés.
Notions et méthodes en détail
  • Utiliser pattern matching pour instanceof sans mélanger fonctionnalités de préversion et fonctionnalités finalisées.
  • Vérifier les changements de bibliothèques réellement utilisés par le projet.
  • Retirer contournements devenus inutiles après validation de la compatibilité.

Atelier prévuDiagnostiquer un accès réflexif cassé et choisir une correction de dépendance plutôt qu'une option de contournement permanente.

Livrable attenduListe des adaptations et décisions de compatibilité.

Vérification en atelierLe code cible compile avec la version annoncée sans activer de préversion non prévue.

Pour aller plus loin

Remplacer un accès réflexif fragile par une API prise en charge.

Jour 03Valider runtime et performances7 h · 2 séquences avec mise en pratique

Séquence 5 · 3 h 30

Valider runtime et performances

  • Rejouer tests unitaires et intégration sous Java 17.
  • Mesurer démarrage, mémoire et temps de traitement sur charge identique.
  • Examiner logs et options de collecte mémoire effectivement utilisées.
  • Mesurer démarrage, allocation, GC et débit avec charge représentative et warm-up.
Notions et méthodes en détail
  • Comparer démarrage, mémoire et latence avec charge et configuration documentées.
  • Examiner logs JVM et comportement du ramasse-miettes avant de modifier les options.
  • Exécuter tests unitaires, intégration et parcours sensibles sur les deux environnements.

Atelier prévuComparer les deux runtimes avec protocole stable et analyser une régression observée sur l'application de démonstration.

Livrable attenduRapport de performance reproductible.

Vérification en atelierUn écart de mesure est analysé avant d’être attribué à la nouvelle version du JDK.

Pour aller plus loin

Expliquer une variation de latence sans l’attribuer automatiquement à la version Java.

Séquence 6 · 3 h 30

Préparer le basculement

  • Construire un artefact reproductible avec le JDK cible.
  • Mettre à jour CI, images et documentation de support.
  • Prévoir validation, surveillance et retour à la version précédente.
  • Prévoir CI sur Java 17, packaging, déploiement progressif et procédure de retour arrière.
Notions et méthodes en détail
  • Préparer image d’exécution, chaîne CI et documentation des versions supportées.
  • Définir critères de bascule et procédure de retour à l’environnement précédent.
  • Recetter erreurs, encodage et intégrations externes à partir du dossier de migration.

Atelier prévuPrésenter un dossier de migration avec modifications, tests, dépendances et procédure de retour arrière.

Livrable attenduPlan de bascule et critères de validation.

Vérification en atelierLe dossier comporte une preuve de build, de recette et de retour arrière.

Pour aller plus loin

Simuler un échec de production malgré des tests unitaires réussis.

Mettre vos acquis à l’épreuve

Évaluation finale prévue

Mise en situation individuelle et restitution commentée, incluses dans la dernière séquence. Durée indicative : 60 minutes.

Critères de réussite
  • Les fonctionnalités utilisées sont disponibles dans Java 17 avec leur statut exact.
  • L'application conserve son comportement testé.
  • Les différences de performance sont mesurées et contextualisées.

Adaptation et validation pédagogique. Version enrichie proposée, à valider par le formateur. Répartition pédagogique proposée sur une base de 7 heures par jour, pauses exclues. À ajuster avec le formateur au positionnement initial. Les approfondissements « Pour aller plus loin » sont sélectionnés par le formateur selon le positionnement et le temps disponible ; ils ne constituent pas des heures supplémentaires garanties.

Les ateliers décrivent les travaux prévus. Leurs fichiers, corrigés et évaluations en ligne sont à préparer, sauf ressources explicitement disponibles dans le module pilote.

Références pour approfondir

Documentation des organismes et éditeurs. La progression et les ateliers sont une rédaction originale pour Beyond Expertise.

Pour obtenir plus de détails ou le programme détaillé, contactez le centre Beyond Expertise.

Contacter le centre

Accès, accompagnement et reconnaissance

Le centre doit confirmer les prérequis, le programme final, les dates, les horaires et le tarif avant inscription. Le délai d’accès dépend des disponibilités et du besoin. L’ouverture d’une session et la disponibilité d’un cours e-learning sont confirmées avant inscription.

Les ateliers, méthodes et évaluations du programme sont proposés pour validation pédagogique. Les supports effectivement disponibles sont indiqués dans la section « Contenu e-learning ».

Le parcours ne délivre pas de diplôme ni de certification professionnelle. Aucune éligibilité CPF ou prise en charge n’est garantie. Toute préparation à un examen externe devra faire l’objet d’informations et d’habilitations vérifiées.

Contenu e-learning

Cours e-learning à préparer

Les objectifs et prérequis sont disponibles. Les leçons, supports et évaluations de ce parcours ne sont pas encore intégrés dans cet espace. Le programme détaillé ci-dessus décrit les apprentissages et les ateliers prévus.

Origine des informations et statut du programme

Durée, niveau, modalités, objectifs et tarif relevés sur le site officiel le 11 septembre 2026. Le déroulé détaillé a été enrichi par Beyond Expertise. Validation pédagogique du formateur à réaliser avant animation.

Consulter la fiche du site officiel