
Formation Java
Maîtriser le développement Java moderne : syntaxe Java 17+, POO, collections et streams, Spring Boot, tests automatisés, performance JVM et déploiement production.
Format
Intra-entreprise
Durée recommandée
≈ 28 à 42 heures
Démarrage
Sous 15 jours
Sur-mesure
Programme co-construit avec le formateur
Pour qui ?
- ›Développeurs souhaitant apprendre Java ou monter en compétences vers Java 17+
- ›Développeurs venant d'autres langages (Python, JS, C#, Go) voulant maîtriser Java
- ›Lead techs et architectes industrialisant leurs équipes Java
- ›Profils Backend ou Full-Stack travaillant sur des projets Spring et Spring Boot
- ›Jeunes diplômés et profils en reconversion se professionnalisant sur Java
Prérequis
- ›Avoir une expérience préalable en programmation (au moins un autre langage : Python, JavaScript, C, C#, PHP). Notions de POO appréciées. Aucun prérequis Java spécifique pour la partie initiation. Disposer d'une machine de développement (JDK 17+ installé).
Objectifs pédagogiques
- ›Comprendre l'architecture JVM et maîtriser la syntaxe Java moderne
- ›Appliquer les principes POO et les design patterns essentiels
- ›Exploiter les collections, streams et la programmation fonctionnelle
- ›Gérer exceptions, I/O et concurrence (threads, virtual threads)
- ›Construire une API REST production-ready avec Spring Boot
- ›Mettre en place des tests automatisés et une démarche qualité
- ›Optimiser les performances et déployer en production
- ›Adapter son code Java aux contraintes d'un projet professionnel
Programme détaillé
8 modules, construits autour de vos cas réels.
Durée recommandée ≈ 28 à 42 heures, modulable selon le rythme du groupe et vos contraintes intra-entreprise.
01Fondamentaux Java et écosystème JVM
Chapitres- Comprendre l'architecture JVM, la distinction JRE/JDK et le rôle du bytecode
- Installer et gérer plusieurs JDK avec SDKMAN et choisir une distribution OpenJDK (Temurin, Corretto, Zulu)
- Configurer un IDE professionnel (IntelliJ IDEA, Eclipse, VS Code) et son environnement de débogage
- Mettre en place un projet avec Maven ou Gradle et structurer la gestion des dépendances
- Situer le cycle de releases LTS, GraalVM et l'interopérabilité avec Kotlin et Scala
02Syntaxe Java moderne et bases du langage
Chapitres- Maîtriser les types primitifs, le typage statique et l'inférence avec var
- Structurer le flux de contrôle (switch expressions, instanceof pattern matching)
- Exploiter les records et les sealed classes introduits dans Java 17+
- Manipuler les chaînes de caractères, les text blocks et le formatage
- Comprendre la portée des variables, l'immuabilité et les conventions de nommage
03Programmation orientée objet en Java
Chapitres- Appliquer l'encapsulation, l'héritage, le polymorphisme et l'abstraction
- Distinguer interfaces, classes abstraites et méthodes par défaut
- Implémenter les design patterns courants (Factory, Singleton, Observer, Strategy)
- Maîtriser les generics, les bounded types et le code type-safe
- Redéfinir equals, hashCode et toString selon les contrats du langage
- Organiser le code en packages et gérer la visibilité avec le système de modules
04Collections, Streams et programmation fonctionnelle
Chapitres- Maîtriser les collections (List, Set, Map) et choisir la bonne implémentation
- Exploiter la Streams API pour des traitements de données déclaratifs
- Écrire des lambdas et utiliser les method references
- Gérer la nullabilité avec Optional plutôt qu'avec des null bruts
- Construire des agrégations avec les Collectors et les opérations terminales
- Identifier les pièges de performance (autoboxing, parallel streams mal employés)
05Exceptions, entrées-sorties et concurrence
Chapitres- Gérer les exceptions checked et unchecked avec try-with-resources et multi-catch
- Travailler avec les I/O modernes (NIO.2, Path, Files, FileChannel)
- Comprendre le modèle de threads et les primitives de synchronisation (synchronized, Lock, volatile)
- Orchestrer des traitements asynchrones avec ExecutorService et CompletableFuture
- Exploiter les Virtual Threads de Project Loom et le pattern Fork/Join
06Spring Boot et développement d'une API REST
Chapitres- Initialiser un projet avec Spring Initializr et comprendre l'auto-configuration
- Construire controllers REST, services et repositories avec Spring Data JPA
- Mapper les entités, gérer les transactions et les relations entre tables
- Sécuriser l'API avec Spring Security, JWT et OAuth2
- Externaliser la configuration par profils et variables d'environnement
- Documenter l'API avec Springdoc OpenAPI et exposer une interface Swagger
07Tests automatisés et qualité de code
Chapitres- Écrire des tests unitaires avec JUnit 5 et isoler les dépendances avec Mockito
- Tester une API Spring Boot avec MockMvc et @SpringBootTest
- Mettre en place des tests d'intégration avec Testcontainers (PostgreSQL, Redis, Kafka)
- Mesurer la couverture avec JaCoCo et analyser le code avec SonarQube et SpotBugs
- Automatiser la qualité dans une chaîne CI (GitHub Actions, GitLab CI, Jenkins)
08Performance, déploiement et supervision
Chapitres- Profiler une application avec JFR, Async Profiler et VisualVM
- Tuner la JVM (dimensionnement du heap, choix du GC G1 ou ZGC)
- Containeriser l'application avec Docker, jlink et GraalVM native-image
- Déployer sur Kubernetes ou une plateforme PaaS
- Superviser en production avec Micrometer, Prometheus, Grafana et Sentry
Moyens & supports pédagogiques
- Accueil des stagiaires
- Supports de formation projets
- Apports théoriques et pratiques
- Études de cas concrets
- Auto-positionnement
- Accès en ligne aux ressources
Évaluation & suivi des acquis
Feuille de présence
Émargement des stagiaires en présentiel ou à distance, via support papier ou signature électronique.
Émargement sécurisé
Signatures électroniques collectées en ligne et conservées dans un coffre-fort numérique sécurisé par Dendreo.
Auto-positionnement
Évaluation du niveau des stagiaires en début et en fin de formation pour mesurer la progression.
Évaluations pédagogiques
Validation des acquis par des questions orales ou écrites tout au long de la formation.
Mises en situation
Exercices pratiques et cas concrets pour ancrer les compétences dans la réalité métier.
Attestation de fin de formation
Remise d'une attestation officielle à l'issue de la formation.
Délai d’accès
Sous 15 jours après validation du devis
Accessibilité PSH
Adaptations possibles en situation de handicap. En savoir plus
Prochaine étape
Construire votre formation Java
Un échange de 20 minutes suffit pour cadrer vos enjeux et la session. Devis personnalisé sous 48h, démarrage sous 15 jours.
- Réponse sous 24h ouvrées
- 01 85 71 00 29

Pour aller plus loin
Formations associées
Développement ITAPI & GraphQL
Cette formation permet de concevoir, structurer et exploiter des API REST et GraphQL de manière fiable, performante et maintenable.
Voir la fiche
Développement ITArchitecture logicielle : clean code, design patterns, DDD
Cette formation permet de structurer des applications robustes, lisibles et évolutives en combinant principes d’architecture, qualité de code et modélisation métier.
Voir la fiche
Développement ITBases de données (SQL / NoSQL)
Cette formation permet de concevoir, interroger, administrer et exploiter des bases de données relationnelles et non relationnelles selon les usages métiers.
Voir la fiche
Développement ITCI/CD : automatisation des déploiements (GitHub Actions, GitLab CI)
Cette formation permet de concevoir, sécuriser et industrialiser des pipelines CI/CD pour automatiser les tests, builds et déploiements.
Voir la fiche
Développement ITCybersécurité : Gouvernance et PRA
Piloter la cybersécurité d'une organisation : gouvernance, analyse de risques EBIOS, PRA/PCA, conformité RGPD/NIS2/ISO 27001, gestion d'incident et reporting. Formation pour DSI, RSSI et responsables IT.
Voir la fiche
Développement ITCybersécurité réseaux
Maîtriser la sécurisation des réseaux (LAN/WAN/Wi-Fi/VPN) de l’hygiène de base aux mécanismes avancés de défense et de supervision.
Voir la fiche