Blue Code
Cours Séminaires Coaching Méthode Références Contact
Java

Plus qu'un langage, Java est un écosystème: un langage de programmation, des langages alternatifs tels que Kotlin ou Clojure, une ou plutôt des JVM, Java SE et enfin une offre de librairies et de frameworks open source répondant à tous les besoins.

Java brille par sa longévité: pionnier du "write once run everywhere" en 1995 il est toujours parmi les langages les plus utilisés en 2024.

  • 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.

    • 2 jours
    • 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.

    • 3 jours
    • 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.

    • 4 jours
    • 6 mois d'expérience en Java
    • En présentiel ou en classe virtuelle
    • En français ou en anglais
  • Spring avancé
    Batch Boot Cloud Data Security WebFlux

    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

    • 1 jours
    • 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.

    • 2,5 jours
    • 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

    • 2 jours
    • 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

    • 1,5 jours
    • 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.

    • 1 jours
    • 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.

    • 2 jours
    • 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.

    • 5 jours
    • 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.

    • 2.5 jours
    • 6 mois d'expérience en Java
    • En présentiel ou en classe virtuelle
    • En français ou en anglais
Blue Code

Blue Code est un collectif d'experts formateurs.

Plus d'informations et contacts

Formations frontend
  • Angular
  • React (prochainement)
Formations backend
  • Java
  • .NET
Séminaires
  • Éco-conception
  • Bonnes pratiques d'architecture
Coaching
Design: Jasmine Yip