Aller au contenu principal

MODULE 1 - Introduction à Spring Boot

Vue d'Ensemble​

Ce module vous introduit à Spring Boot, le framework Java le plus populaire pour le développement d'applications modernes. Vous découvrirez son histoire, son évolution, et les concepts fondamentaux qui font de Spring Boot un choix incontournable pour les développeurs Java.

Objectifs d'Apprentissage​

À la fin de ce module, vous serez capable de:

  • Comprendre l'évolution de Java EE vers Spring Boot
  • Identifier les avantages de Spring Boot par rapport aux frameworks traditionnels
  • Expliquer le modèle MVC et son implémentation dans Spring
  • Comprendre le rôle d'Apache Tomcat comme serveur intégré
  • Connaître Jackson et la gestion du JSON en Java
  • Appréhender les concepts d'auto-configuration et de convention over configuration

Contenu du Module​

1. Histoire et Contexte​

  • L'évolution du développement Java
  • Java EE (J2EE) et ses défis
  • L'avènement de Spring Framework
  • L'introduction des annotations en Java
  • La naissance de Spring Boot

2. Fonctionnalités Clés​

  • Auto-configuration intelligente
  • Dépendances groupées (Starters)
  • Serveur web intégré
  • Production Ready Features (Actuator)
  • Rapidité de développement
  • Communauté et écosystème

3. Concepts Fondamentaux​

  • Modèle MVC (Model-View-Controller)
  • Apache Tomcat et serveurs de servlets
  • Jackson pour la gestion JSON
  • Convention over Configuration

Durée Estimée​

3 heures (lecture + réflexion + exercices)

Prérequis​

  • Connaissances de base en Java
  • Notions de programmation orientée objet (POO)
  • Compréhension basique du web (HTTP, client-serveur)

Structure du Module​

MODULE 1
├── Introduction à Spring Boot (ce que c'est)
├── Pourquoi utiliser Spring Boot? (avantages)
├── Introduction aux Services REST (optionnelle - révision)
├── Préparatifs RestController (théorie et concepts)
├── Histoire et évolution
├── Fonctionnalités clés
├── Annexes (MVC, Tomcat, Jackson)
├── Conclusion
└── Travaux Pratiques
├── TP1.1: Installation de Java JDK 17 (Windows, macOS, Linux)
└── TP1.2: Installation de Maven 3.9.x (Windows, macOS, Linux)

Ressources​

Documentation Officielle​

Lectures Recommandées​

  • "Expert One-on-One J2EE Design and Development" - Rod Johnson
  • "Spring Boot in Action" - Craig Walls

Vidéos​


Prochaines Étapes​

Une fois ce module complété, vous serez prêt à:

  1. MODULE 2: Créer votre première application Spring Boot
  2. Comprendre Spring Initializr
  3. Explorer la structure d'un projet Spring Boot

Quiz de Validation​

À la fin de ce module, assurez-vous de pouvoir répondre à ces questions:

  1. Quels étaient les principaux défis de Java EE?
  2. Qu'est-ce que l'auto-configuration dans Spring Boot?
  3. Comment Spring Boot simplifie-t-il le déploiement?
  4. Quel est le rôle de Jackson dans Spring Boot?
  5. Pourquoi utilise-t-on le modèle MVC?

Théorie​

  1. Qu'est-ce que Spring Boot? - Introduction détaillée et historique
  2. Pourquoi utiliser Spring Boot? - Les avantages et raisons d'adoption
  3. Introduction aux Services REST - Révision optionnelle sur les services web REST
  4. Préparatifs RestController - Préparation théorique avant la pratique

Travaux Pratiques​

TP1.1 : Installation de Java JDK 17​

Objectif : Installer et configurer Java JDK 17 sur votre machine

Contenu :

  • Installation de Java JDK 17 sur Windows, macOS et Linux (plusieurs méthodes par OS)
  • Configuration des variables d'environnement (JAVA_HOME, PATH)
  • Commandes de vérification : java -version, javac -version, which java
  • Différence entre JDK, JRE et JVM
  • Résolution des problèmes courants

Durée estimée : 20-30 minutes


TP1.2 : Installation de Maven 3.9.x​

Objectif : Installer et configurer Apache Maven sur votre machine

Contenu :

  • Installation de Maven 3.9.x sur Windows, macOS et Linux
  • Configuration des variables d'environnement (MAVEN_HOME, PATH)
  • Vérification de l'installation avec un premier build
  • Résolution des problèmes courants

Durée estimée : 30-45 minutes

Prérequis : JDK 17+ installé (voir TP1.1)


Bonne lecture et bon apprentissage!