À la fin des 14h, les apprenants sauront :
- Créer une application Spring Boot fonctionnelle.
- Exposer des endpoints REST.
- Connecter une base de données relationnelle.
- Tester leurs endpoints via Postman.
- Comprendre la structure et la logique d’une appli web moderne en Java.
Objectif : Comprendre ce qu’est Spring Boot et son rôle dans l’écosystème Java.
Contenu :
- Pourquoi utiliser un framework ? (problèmes résolus par Spring)
- Architecture d’une appli web (MVC, REST, couche service, DAO)
- Présentation de Spring & Spring Boot
- Installation / outils : Java 17+, Maven, IntelliJ IDEA, Postman
- Création d’un projet avec Spring Initializr
🧠 Démo en direct :
Créer une API “Hello World” avec un
@RestController.
Objectif : Comprendre l’architecture du projet Spring Boot et manipuler ses composants.
Contenu :
- Dossier
src/main/javavsresources application.properties/application.yml- Notions de
@Component,@Service,@Repository,@Autowired - Injection de dépendances (IoC)
- Utilisation de Lombok pour simplifier les entités et DTO
🧠 Exercice pratique :
Créer une API simple
/usersavec un modèleUseret un service qui renvoie une liste statique d’utilisateurs.
Objectif : Apprendre à créer, lire, mettre à jour et supprimer des ressources via REST.
Contenu :
- Annotations :
@GetMapping,@PostMapping,@PutMapping,@DeleteMapping - Gestion des statuts HTTP et exceptions
@PathVariable/@RequestBody- Validation des données (
@Valid,@NotNull, etc.) - Tests avec Postman
🧠 Mini-projet fil rouge :
API “ToDo List”
/tasks: liste toutes les tâches/tasks/{id}: récupère une tâche/tasks(POST) : ajoute une tâche/tasks/{id}(DELETE) : supprime une tâche
Objectif : Persister les données avec Spring Data JPA.
Contenu :
- Qu’est-ce qu’une entité JPA ?
- Configuration d’une base H2 (mémoire) ou MySQL
- Définition d’entités avec
@Entity,@Id,@GeneratedValue - Création d’un
RepositoryavecJpaRepository - Requêtes personnalisées avec
@Query - Test et vérification dans la console H2
🧠 Exercice pratique :
Faire évoluer la ToDo List pour qu’elle sauvegarde les tâches dans la base.
Objectif : Rendre le projet professionnel et complet.
Contenu :
- Tests unitaires simples (JUnit, MockMvc)
- Génération automatique de documentation avec Springdoc / Swagger UI
- Gestion des logs
- Build du projet (
mvn package) et exécution du.jar - Bonnes pratiques de structuration du code
🧠 Atelier final :
Présentation de chaque mini-API par les apprenants (ou en duo) + démo via Swagger ou Postman.
Si tes apprenants ont un bon niveau Java, tu peux leur proposer de construire :
🏠 Une API de gestion de logements (ou produits, livres, événements...) avec relations (ex : un utilisateur → plusieurs tâches).
- Un projet Spring Boot complet sur GitHub.
- Un fichier README expliquant l’API.
- Tests Postman ou Swagger fonctionnels.
- Spring Boot Docs (officielles)
- Spring Initializr
- Baeldung (tutos clairs)
- Swagger UI pour documenter l’API.