Skip to content

wololobzh/SpringBoot

Repository files navigation

Atelier-SpringBoot


🎯 Objectif global

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

🗓️ Découpage sur 14h (2 jours x 7h ou 4 demi-journées)


🧩 Partie 1 — Introduction à Spring Boot (2h)

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.


🧩 Partie 2 — Structure et dépendances du projet (2h)

Objectif : Comprendre l’architecture du projet Spring Boot et manipuler ses composants.

Contenu :

  • Dossier src/main/java vs resources
  • 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 /users avec un modèle User et un service qui renvoie une liste statique d’utilisateurs.


🧩 Partie 3 — Création d’une API REST CRUD (4h)

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

🧩 Partie 4 — Base de données et JPA / Hibernate (4h)

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 Repository avec JpaRepository
  • 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.


🧩 Partie 5 — Bonus : tests, documentation et packaging (2h)

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.


🚀 Option : mini-projet fil rouge plus riche

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


💼 Livrables de fin de formation

  • Un projet Spring Boot complet sur GitHub.
  • Un fichier README expliquant l’API.
  • Tests Postman ou Swagger fonctionnels.

🧭 Supports recommandés


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages