Parcours d'apprentissage

Roadmap Spring Boot

Une feuille de route progressive pour passer des bases Spring Boot à l'architecture, à la sécurité, au testing et à la production.

Fondations

Fondamentaux Spring Boot

  • Ce que Spring Boot apporte
  • Bases de l'auto-configuration
  • Dépendances starter
Ouvrir le tutoriel >

Fondations

Initialisation du projet

  • Workflow Initializr
  • Conventions de dossiers
  • Configuration Maven ou Gradle
Ouvrir le tutoriel >

Cœur

Injection de dépendances et beans

  • Cycle de vie des beans
  • Injection par constructeur
  • Classes de configuration

Bientôt disponible

Cœur

Configuration et profils

  • Stratégie application.yml
  • Profils local/staging/production
  • Bases de gestion des secrets

Bientôt disponible

Web

Controllers REST

  • Mapping des requêtes
  • DTO de requête/réponse
  • Gestion des statuts HTTP

Bientôt disponible

Web

Validation et gestion des erreurs

  • Bean Validation
  • Exception handling global
  • Contrats d erreurs API coherents

Bientôt disponible

Architecture

Design en couches

  • Frontières controller/service/repository
  • Placement de la logique métier
  • Stratégie de mapping DTO

Bientôt disponible

Données

Bases Spring Data JPA

  • Entites et repositories
  • CRUD et pagination
  • Conventions de methodes de requete

Bientôt disponible

Données

CriteriaBuilder et requêtes dynamiques

  • Construire des prédicats type-safe
  • Composer des filtres dynamiques
  • Composition de requêtes style Specification

Bientôt disponible

Données

Migrations de base de données

  • Bases Flyway
  • Migrations versionnees
  • Changements de schema safe par environnement

Bientôt disponible

Sécurité

Fondamentaux sécurité

  • Authentification vs autorisation
  • Modèle mental filter chain
  • Protection des endpoints

Bientôt disponible

Sécurité

Approches JWT et API Key

  • Flux de validation de token
  • Bases de rotation des clés
  • Trade-offs de sécurité

Bientôt disponible

Tests

Tests unitaires

  • Structure JUnit 5
  • Utilisation Mockito
  • Style Given/When/Then

Bientôt disponible

Tests

Tests d'intégration

  • Tests repository et API
  • Setup Testcontainers
  • Stratégie de données de test stable

Bientôt disponible

Performance

Stratégie de cache

  • Abstraction de cache
  • Stratégie TTL et eviction
  • Patterns d'invalidation de cache

Bientôt disponible

Performance

Traitements async

  • Bases de @Async
  • Pools de threads Executor
  • Gestion des erreurs async

Bientôt disponible

Performance

Tâches planifiées

  • Patterns @Scheduled
  • Cron vs fixed delay/rate
  • Tâches de fond idempotentes

Bientôt disponible

Observabilité

Actuator, métriques et tracing

  • Health/readiness probes
  • Métriques Micrometer
  • Corrélation des traces

Bientôt disponible

Delivery

Build et containerisation

  • Jars exécutables
  • Stratégie d'image Docker
  • Configuration runtime

Bientôt disponible

Delivery

Pipeline CI/CD

  • Quality gates de test
  • Publication d artefacts
  • Deploiement progressif

Bientôt disponible

Production

Durcissement production

  • Defaults sécurisés
  • Stratégie de rollback
  • Mentalité runbook opérationnel

Bientôt disponible

Articles du blog

En lien avec Spring Boot

Une sélection de trois articles du blog dont le titre contient Spring Boot.

Voir tout
Understanding RESTful APIs: A guide with Spring Boot banner

13/03/2025 · 4 min

Understanding RESTful APIs: A guide with Spring Boot

RESTful APIs (Representational State Transfer) are a cornerstone of modern software development. They enable communication between applications over HTTP, offering a scalable and stateless architecture. Whether you're bui

#spring-boot #api
open >
How to implement key authentication in a Spring Boot API banner

06/03/2025 · 2 min

How to implement key authentication in a Spring Boot API

In modern API design, securing endpoints is a fundamental aspect of development. Using an API key in the header, such as "X-API-KEY," is a common practice for lightweight authentication. Here's how you can implement it in

#spring-boot #api
open >