Aller au contenu principal

Dans la fenêtre d’impression, choisissez « Enregistrer en PDF » comme destination.

AMBIARéf. JAV-EXP

Java - Développer des applications avancées

Langages & Développement Logiciel

Durée

28 à 35 heures (4 à 5 jours) selon le format

Modalités

Présentiel, Classe à distance

Reconnaissance

Formation non certifiante (attestation de fin de formation)

Format de vente

Inter-entreprise ou Intra-entreprise

Délai d’accès

Inter : jusqu’à 5 jours ouvrés avant la session ; intra : en moyenne 15 jours ouvrés après l’acceptation du devis

Tarif intra

Sur devis

Pourquoi suivre cette formation

Java reste au cœur des systèmes d'entreprise. Cette formation vous apprend à concevoir des applications Java robustes : architecture propre, traitements parallèles, accès aux données, API REST, performance, tests et déploiement.

À l’issue de cette formation, les participants seront capables de

  • Structurer des architectures logicielles découplées et évolutives
  • Utiliser pleinement la programmation fonctionnelle (Streams, Lambdas)
  • Écrire du code asynchrone et concurrent performant (Virtual Threads)
  • Optimiser les accès aux données relationnelles avec JPA et Hibernate
  • Concevoir des API REST professionnelles et documentées
  • Diagnostiquer les fuites de mémoire et optimiser les performances de la JVM
  • Sécuriser la non-régression grâce aux tests unitaires et d'intégration avancés

Formats proposés

ACTIONImmersion28 heures (4 jours)2 480 € HTpar participant (inter-entreprises)
IMPACTTerrain35 heures (5 jours) · dont une journée en décalé3 225 € HTpar participant (inter-entreprises)

Chaque format reprend le précédent et y ajoute des journées.

Public visé

Développeurs Java, ingénieurs logiciels, architectes d'applications ou lead développeurs souhaitant approfondir leurs compétences sur l'écosystème Java moderne.

Prérequis

Maîtriser la syntaxe de base de Java et les concepts fondamentaux de la programmation orientée objet (classes, héritage, interfaces).

Prérequis techniques à distance

La classe virtuelle se tient sur Microsoft Teams : AMBIA fournit à chaque participant un compte pour la durée de la formation. En intra-entreprise, elle peut aussi se tenir sur l’outil que l’entreprise utilise déjà, par exemple Zoom ou Google Meet.

Le participant se connecte depuis un ordinateur équipé d’une caméra, d’un micro, d’un accès à internet et d’un navigateur à jour, dans un lieu calme. Si la formation le demande, le formateur donne accès à un poste de travail à distance, depuis le navigateur.

Pendant la formation, l’assistance technique répond à support@ambia-skills.fr.

Objectifs pédagogiques

Identifier les principes de conception SOLID et les nouveautés majeures de Java moderne. Expliquer le fonctionnement de la mémoire de la JVM et des différents ramasse-miettes (Garbage Collectors). Mettre en œuvre des pipelines de traitement fonctionnel complexes via l'API Stream. Diagnostiquer les problèmes de concurrence et de performance (deadlocks, fuites de mémoire, requêtes N+1 JPA). Auditer la qualité et la couverture de code d'une suite de tests JUnit / Mockito. Concevoir, conteneuriser avec Docker et déployer une application Java robuste et performante.

Programme détaillé

Jour 1ACTION

Matin

Architecture logicielle et code propre (Clean Code) en Java

Maîtriser les principes du Clean Code et l'organisation en couches pour concevoir des applications maintenables et robustes.

  • Organiser son code en respectant les principes SOLID.
  • Mettre en œuvre le patron de conception Injection de Dépendances (IoC).
  • Configurer et découpler son application grâce aux architectures hexagonales ou en couches (N-Tier).

Atelier pratique

Refactoring pas-à-pas d'une application Java monolithique rigide (« code spaghetti ») pour la rendre modulaire et découplée.

Cas métier

Core Banking - Conception de l'architecture d'un moteur de transactions financières.

Compétence acquise

Être capable de concevoir et d'auditer l'architecture modulaire d'une application professionnelle Java.

Livrable

Squelette d'architecture propre, découplée et prête pour l'injection de dépendances.

Après-midi

Programmation fonctionnelle, Streams et Optional

Exploiter la puissance de la programmation fonctionnelle Java pour écrire un code concis, lisible et sécurisé contre les erreurs de pointeurs nuls.

  • Manipuler les expressions Lambda et les références de méthodes.
  • Maîtriser l'API Stream pour filtrer, transformer et agréger des collections de données complexes.
  • Sécuriser la gestion de l'absence de valeur grâce à la classe Optional.

Atelier pratique

Traitement avancé de flux de données (pipeline de filtres, groupements complexes et transformations de type Map/Reduce).

Cas métier

Analyse de Données Logistiques - Filtrage, tri et agrégation en temps réel d'un flux d'expéditions de colis.

Compétence acquise

Maîtriser le paradigme fonctionnel de Java pour manipuler les structures de données de façon élégante et fluide.

Livrable

Module de traitement de données optimisé, sans boucles for traditionnelles ni vérifications if (x != null).

Jour 2ACTION

Matin

Concurrence et programmation multithread (Virtual Threads)

Concevoir des applications hautement performantes et scalables en gérant la concurrence de manière moderne et sécurisée.

  • Maîtriser le cycle de vie des threads traditionnels et les verrous (ReentrantLock, structures thread-safe).
  • Implémenter l'asynchronisme avec l'API CompletableFuture.
  • Découvrir et intégrer les Virtual Threads de Java moderne (Project Loom) pour optimiser l'utilisation du processeur.

Atelier pratique

Mise en œuvre d'un pool d'exécution concurrent pour traiter des tâches lourdes en parallèle sans bloquer le thread principal.

Cas métier

Moteur de Réservation - Gestion de la concurrence d'accès lors de réservations simultanées de billets de transport.

Compétence acquise

Être capable de développer une logique asynchrone performante et tolérante aux accès concurrents massifs.

Livrable

Service d'exécution asynchrone hautement scalable, optimisé par les Virtual Threads.

Après-midi

Accès aux données avancé avec JPA et Hibernate

Configurer et optimiser de manière Premium la persistance des données relationnelles avec JPA et Hibernate.

  • Maîtriser les correspondances d'héritage et les relations complexes (One-to-Many, Many-to-Many bidirectionnelles).
  • Gérer l'état des entités (transient, persistent, detached) et le mécanisme de mise en cache.
  • Écrire des requêtes performantes (JPQL, Criteria API) et auditer les requêtes SQL générées.

Atelier pratique

Résolution du piège classique de performance « N+1 SELECT » et mise en place de stratégies de chargement paresseux (Lazy Loading).

Cas métier

Catalogue E-Commerce - Gestion des stocks et des fiches produits complexes avec chargement optimisé des avis clients associés.

Compétence acquise

Savoir concevoir une couche de persistance performante, exempte de fuites de mémoire ou de lenteurs d'accès à la base de données.

Livrable

Modèle de données JPA hautement optimisé, testé et validé avec zéro requête redondante.

Jour 3ACTION

Matin

API REST avancées et validation des données

Concevoir, structurer et sécuriser des Web Services RESTful robustes répondant aux standards actuels de l'industrie.

  • Structurer des contrôleurs REST respectant scrupuleusement les niveaux de maturité de Richardson.
  • Gérer de manière centralisée les exceptions de l'application et les codes de retour HTTP associés.
  • Valider les données d'entrée via l'API Bean Validation.

Atelier pratique

Création d'une API REST complète dotée d'une gestion globale d'erreurs et de filtres d'interception.

Cas métier

API de Facturation - Conception des points d'accès pour l'envoi, la validation et la récupération de factures en entreprise.

Compétence acquise

Être capable de structurer, documenter et exposer des endpoints RESTful professionnels.

Livrable

API REST Java fonctionnelle, sécurisée par de la validation d'entrée et documentée via OpenAPI.

Après-midi

Gestion de la mémoire, réglage de la JVM et performance

Comprendre le fonctionnement intime de la machine virtuelle Java (JVM) pour identifier et corriger les goulots d'étranglement de performance.

  • Maîtriser l'organisation de la mémoire de la JVM (Stack vs Heap, Metaspace).
  • Analyser le comportement des différents Garbage Collectors (G1, ZGC).
  • Diagnostiquer les fuites de mémoire (Memory Leaks) à l'aide d'outils de profilage professionnels.

Atelier pratique

Analyse et résolution en direct d'une erreur d'essoufflement de la mémoire de type OutOfMemoryError sur une application volontairement corrompue.

Cas métier

Plateforme de Streaming - Profilage et réduction de l'empreinte mémoire d'une application traitant des volumes massifs de métadonnées.

Compétence acquise

Savoir profiler une application Java en temps réel et ajuster finement les options de démarrage de la JVM.

Livrable

Rapport de diagnostic de performance de l'application avec correctifs méthodologiques appliqués.

Jour 4ACTION

Matin

Tests unitaires avancés et mocking

Écrire des suites de tests de haute qualité avec JUnit 5 et Mockito pour garantir une régression zéro lors des évolutions logicielles.

  • Maîtriser le cycle de vie de JUnit 5 et l'utilisation des assertions avancées.
  • Mettre en œuvre le bouchonnage (Mocking) avec Mockito pour isoler les composants testés.
  • Utiliser des techniques d'injection de dépendances simulées pour tester des cas d'erreurs complexes ou exceptionnels.

Atelier pratique

Écriture d'une suite de tests unitaires complète avec couverture de code maximale sur des algorithmes métiers complexes.

Cas métier

Moteur de Calcul d'Assurance - Écriture des tests d'une logique d'attribution de primes de sinistres dépendante de plusieurs web-services externes.

Compétence acquise

Être en mesure d'architecturer et d'automatiser des campagnes de tests unitaires isolées, rapides et fiables.

Livrable

Suite de tests JUnit 5 / Mockito robuste avec indicateur de couverture de code optimal.

Après-midi

Tests d'intégration et déploiement en conteneurs

Configurer des tests d'intégration réalistes s'appuyant sur de vraies infrastructures et préparer l'application pour le déploiement cloud (Docker).

  • Écrire des tests d'intégration avec Testcontainers pour lancer des bases de données réelles à la volée pendant la phase de build.
  • Conteneuriser une application Java de manière optimale à l'aide de fichiers Docker multi-étapes (Multi-stage builds).
  • Intégrer les variables d'environnement externes pour rendre l'image hautement configurable.

Atelier pratique

Rédaction d'un script Dockerfile optimisé et exécution d'une suite complète de tests d'intégration connectée à une vraie base de données de test SQL conteneurisée.

Cas métier

Déploiement Industriel - Automatisation du packaging et de l'intégration continue d'un microservice de gestion des expéditions de commandes.

Compétence acquise

Être autonome pour valider l'intégration de son code Java avec de vrais services tiers et pour packager son application sous forme de conteneur d'entreprise prêt pour la production.

Livrable

Image Docker optimisée et sécurisée de l'application Java avancée, prête au déploiement en production.

Jour 5 · en décaléIMPACT

Matin

Diagnostic de l'architecture Java et de la persistance JPA

Analyser le modèle de données JPA et Hibernate et optimiser les requêtes SQL produites (problème du N+1 SELECT).

  • Analyse du code Java de l'entreprise : repérage des requêtes JPA inefficaces, jointures de chargement (fetch join), DTO et réglage du pool de connexions.

Après-midi

Sécurisation de l'API REST avec JWT

Configurer les filtres de sécurité et sécuriser les endpoints par jetons JWT.

  • Protection des ressources sensibles de l'API : chaîne de filtres de sécurité, authentification sans état par JWT et validation de la documentation OpenAPI.

Les ateliers et cas métier de ce programme pourront être adaptés par le consultant-formateur selon les besoins, le niveau et les prérequis des participants, pour favoriser l’atteinte des objectifs pédagogiques.

Méthodes et moyens pédagogiques

Méthodes mobilisées

Pédagogie active et immersive basée sur des simulations d'architecture complexes. Alternance de démonstrations techniques ciblées, de phases de programmation en autonomie (live coding) et de revues critiques de code collectives (code review).

Moyens techniques

Un poste informatique individuel par participant, environnement Java (JDK moderne), IDE professionnel (IntelliJ IDEA / Eclipse), Docker installé, accès aux espaces numériques AMBIA et fourniture d'un dépôt de code contenant tous les scénarios de test.

Moyens humains

Formation animée par un consultant-formateur expert senior, architecte Java en activité et spécialiste des architectures cloud-natives et des problématiques de performance de la JVM.

Modalités d’évaluation

Évaluation diagnostique

Questionnaire d'auto-évaluation technique envoyé 15 jours avant la session afin d'ajuster les cas métiers aux profils des participants.

Évaluation formative

Évaluation tout au long du parcours à travers les ateliers d'architecture et les revues de code collectives.

Évaluation sommative

Questionnaire de validation des acquis sous forme de QCM en fin de formation et évaluation des livrables de l'atelier de programmation avancée.

Suivi

  • Feuilles de présence signées par demi-journée, en présentiel comme à distance.
  • Attestation de fin de formation remise à chaque stagiaire, mentionnant les objectifs, la nature, la durée et les résultats de l’évaluation.
  • Certificat de réalisation adressé au client ou au financeur.
  • Questionnaire de satisfaction remis à l’issue de la formation.

Délai d’accès

Inter-entreprises : L’inscription est possible jusqu’à 5 jours ouvrés avant le début de la session, sous réserve des places disponibles.

Intra-entreprise : La formation débute en moyenne 15 jours ouvrés après l’acceptation du devis.

Ce délai peut être adapté selon la disponibilité des sessions, le positionnement du stagiaire et, le cas échéant, l’instruction du dossier de prise en charge par le financeur.

Accessibilité handicap

Nos formations sont adaptables aux personnes en situation de handicap. Veuillez nous contacter pour étudier les aménagements nécessaires.

Référent handicap : accessibilite@ambia-skills.fr. Aucune reconnaissance de la qualité de travailleur handicapé ni aucun justificatif médical n’est exigé.

Indicateurs de résultats

Indicateurs publiés à partir de 3 avis.

Mode de calcul : www.ambia-skills.fr/notre-approche#notes

AMBIA - Organisme de formation professionnelle - 254 rue Vendôme, 69003 Lyon - 07 56 44 70 44 - contact@ambia-skills.fr - SIRET 130 176 597 00016

Déclaration d’activité enregistrée sous le numéro 84692748569 auprès du préfet de région Auvergne-Rhône-Alpes. Cet enregistrement ne vaut pas agrément de l’État.

Fiche mise à jour le 30/10/2026