-
De Java 8 à Java 24: 11 ans d'évolutions
En 2014, Java 8 apportait au langage Java la programmation fonctionnelle avec les expressions Lambda. Aujourd'hui Java 24 est la version la plus récente, en attendant Java 25 (LTS) dont la sortie est prévue pour septembre 2025.
Plus de 10 ans séparent ces deux versions. Le langage Java a évolué (pattern marching, records, text blocks...), Java SE a évolué (factory methods, scoped variable, structured concurrency) et la JVM a évolué (virtual threads, GraalVM, nouveaux garbage collectors).
Ce cours vous permettra de découvrir et de mettre en pratique ces évolutions et ainsi de maintenir à jours vos connaissances Java.
Points forts: programmation non bloquantes, data driven application, AOT.
-
-
6 mois d'expérience en Java
-
En présentiel ou en classe virtuelle
-
En français ou en anglais
-
-
Bonnes pratiques de conception et de programmation
En Java il est possible de "faire bien avec peu": maitriser les fondamentaux permet de réaliser des applications fiables et maintenables et d'apprendre ensuite avec facilité la plupart des frameworks qui font la richesse de l'écosystème Java.
Ce cours vous permettra de bien connaître les paradigmes de programmation (objet, fonctionnel, déclaratif), les types de base de Java SE, les designs patterns et le fonctionnement de la JVM (gestion des threads et gestion de la mémoire). Il vous permettra de passer un cap, de ne plus seulement "faire" mais "bien faire".
Points forts: design patterns, subtilités du langages, des types de bases et de la JVM.
-
-
6 mois d'expérience en Java
-
En présentiel ou en classe virtuelle
-
En français ou en anglais
-
-
Concevoir et développer des applications avec Spring
Le framework Spring est apparu en 2002 comme une alternative à ce qui s'appelait à l'époque J2EE. Il a démocratisé l'injection de dépendances en Java et propose une offre complète et cohérente pour réaliser des applications backend: accès aux données, transactions, tests, AOP (aspect oriented programming), échanges HTTP (REST, MVC). Spring Boot, apparu en 2014 est incontournable, il apporte une facilité pour développer et déployer des applications Spring.
Ce cours vous permettra de maitriser tous ces aspects du framework.
Points forts: injection de dépendances, accès aux données, API REST, bonnes pratiques.
-
-
6 mois d'expérience en Java
-
En présentiel ou en classe virtuelle
-
En français ou en anglais
-
-
Spring avancé
Orchestrer des traitements de données avec Spring Batch
Les batchs sont des programmes que l'on retrouve dans de nombreuses organisations. Workflows complexes, reprise après incident, lecture-transformation-écriture de données, stratégies de réessais, détection d'anomalies... : ce sont autant de sujets qui mêlent règles métiers et exigence de performance et auxquels Spring Batch propose une solution.
Ce cours vous permettra d'apprendre les concepts qui structurent un batch et de les mettre en oeuvre avec Spring Batch.
Points forts: workflow, tasklet, read-process-write, réessais, transactions, tests
-
-
6 mois d'expérience avec Spring
-
En présentiel ou en classe virtuelle
-
En français ou en anglais
Réaliser des applications autonomes et observables avec Spring Boot
Spring Boot est devenu une forme de standard pour la création et le déploiement d'applications Spring. En plus de la rationalisation de la gestion des dépendances Maven et de la configuration automatique, il permet de livrer des applications autonomes conformes à l'état de l'art des pratiques devOps et cloud ready.
Ce cours vous apprendra à écrire et à déployer des applications backend en utilisant ces API.
Points forts: configuration automatique, actuateurs, micrometer, build natif.
-
-
6 mois d'expérience avec Spring
-
En présentiel ou en classe virtuelle
-
En français ou en anglais
Concevoir une architecture microservices avec Spring Cloud
Une architecture microservices est le résultat de l'adoption de plusieurs principes: travail en petite équipe, domain driven design, intégration et livraison continue et scalabilité horizontale. En découlent de nouveaux patterns parmi lesquels: bounded contexts, service discovery, échanges de messages asynchrones, API Gateway, gestion de configuration.
Ce cours vous permettra de les mettre en oeuvre avec la stack Spring Cloud.
Points forts: API Gateway, config server, Eureka, RabbitMQ
-
-
6 mois d'expérience avec Spring
-
En présentiel ou en classe virtuelle
-
En français ou en anglais
Mettre en oeuvre le pattern repository avec Spring Data
Les applications Java accèdent régulièrement à des données mais en les manipulant en tant qu'objets. Cela suppose une couche d'abstraction, le pattern repository représente cette abstraction. Spring Data en fournit plusieurs implémentations, aussi bien pour les bases de données relationnelles que NoSQL.
Ce cours vous permettra de maitriser ce pattern repository et de le mettre en oeuvre avec Spring Data.
Points forts: repository, JPA, requêtes personnalisées, Spring DATA Rest, transactions
-
-
6 mois d'expérience avec Spring
-
En présentiel ou en classe virtuelle
-
En français ou en anglais
Sécuriser une application avec Spring Security
La sécurité est un aspect critique d'une application, elle concerne autant l'accès aux données que la logique métier ou les échanges avec les applications clientes. Celles-ci se sont diversifiées (application mobiles, single page applications, etc...) tandis l'émergence des microservices dans les architectures backend exigent l'adoption d'une stratégie de single sign on. En découle divers protocoles et une variété de problématiques auxquelles Spring Security apporte des solutions.
Ce cours vous permettra de les apprendre et les mettre en oeuvre.
Points forts: cookie, JWT, SSO, OpenID Connect, CSRF.
-
-
6 mois d'expérience avec Spring
-
En présentiel ou en classe virtuelle
-
En français ou en anglais
Développer des applications réactives avec Spring WebFlux
Les applications Java accèdent très souvent à des données: requêtes vers une base de données, appels d'API, envois et réceptions de messages; ce sont autant d'opérations I/O. Elles impliquent une latence et doivent être non bloquantes, condition nécessaire à la scalabilité de l'application.
Après avoir rappelé les relations entre threads et opérations I/O ce cours vous apprendra comment utiliser Spring WebFlux pour réaliser des applications non bloquantes.
Points forts: async I/O, reactive streams, back pressure.
-
-
6 mois d'expérience avec Spring
-
En présentiel ou en classe virtuelle
-
En français ou en anglais
-
-
Concevoir et développer des applications avec Jakarta EE
Les applications backend posent de nombreux défis: persistance de données, transactions, remoting, exposition d'API REST ou SOAP, échange de messages, etc... Jakarta EE, qui a pris le relai de Java EE, propose de répondre à ces problématiques par des spécifications. Elles prennent la forme d'API standardisées et sont implémentés par différents runtimes (serveurs d'applications, Quarkus...).
Ce cours vous apprendra à écrire et à déployer des applications backend en utilisant ces API.
Points forts: injection de dépendances, persistance, REST, messaging, transactions.
-
-
6 mois d'expérience en Java
-
En présentiel ou en classe virtuelle
-
En français ou en anglais
-
-
Mettre en oeuvre une couche de persistance avec JPA et Hibernate
Souvent utilisé comme implémentation de l'API JPA, Hibernate est un framework phare de l'écosystème Java. Il fournit une solution de persistance, la base de données est alors considérée comme l'espace de stockage des entités du modèle.
Ce cours vous permettra d'acquérir les bases d'Hibernate et d'assimiler ses nombreuses subtilités, condition nécessaire à une utilisation sereine et maitrisée.
Points forts: mapping, entityManager, lazy loading, requêtes JPQL, transactions, cache.
-
-
6 mois d'expérience en Java
-
En présentiel ou en classe virtuelle
-
En français ou en anglais
-