🖨️ Version PDF
Il n’y a que 2 compétences qui ne figurent pas dans ce diagramme : les n°1 et n°4
Préparer un environnement de développement adapté au projet (Langage, IDE, Frameworks,…).
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.5.5</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
Concevoir des interfaces Responsives, Ergonomiques et Accessibles.
<!-- src/main/resources/templates/accueil.html --> <h1 th:text="'Bonjour, ' + ${nom}">Bonjour</h1>
@Controller public class AccueilController { @GetMapping("/") public String accueil(Model model) { model.addAttribute("nom", "Étudiant·e CDA"); return "accueil"; } }
Implémenter la logique fonctionnelle dans des services réutilisables.
@Service public class CalculerService { public int addition(int a, int b) { return a + b; } }
@RestController @RequestMapping("/calculer") public class CalculController { @Autowired private CalculerService service; @GetMapping("/add") public int addition(@RequestParam int a, @RequestParam int b) { return service.addition(a, b); } }
Savoir organiser le travail en équipe et suivre l’avancement d’un projet web, application standalone ou autre.
git checkout -b feature/gestion-utilisateur
Transformer les besoins clients en maquettes et spécifications.
Structurer le projet et choisir les bons composants.
/controller /service /dto /model /repository /config
@RestController @RequestMapping("/api/utilisateurs") public class UtilisateurController { @Autowired private UtilisateurService service; @GetMapping public List<Utilisateur> getAll() { return service.getAll(); } }
Modéliser avec un MCD ou UML , créer et alimenter une base SQL.
@Entity public class Utilisateur { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String nom; private String email; }
Lire/écrire des données depuis des bases différentes.
@Repository public interface UtilisateurRepository extends JpaRepository<Utilisateur, Long> { List<Utilisateur> findByNom(String nom); }
Vérifier la stabilité du code grâce aux tests.
@SpringBootTest class CalculServiceTest { @Autowired private CalculService service; @Test void testAddition() { assertEquals(5, service.addition(2, 3)); } }
Faciliter l’installation, le lancement et la documentation de votre projet.
FROM eclipse-temurin:17-jdk COPY target/monapp.jar app.jar ENTRYPOINT ["java", "-jar", "/app.jar"]
Automatiser les tests, les build, les déploiements et la supervision.
.gitlab-ci.yml
stages: - build - test - deploy build: script: mvn clean package (lancer de maven, nettoyer, compiler et empaqueter dans un jar) test: script: mvn test (lancer les tests unitaires si ko, notre pipeline s'arrête) deploy: script: docker build -t monapp . && docker run -d -p 8080:8080 monapp (créer une image docker nommée monapp et lance le conteneur)
C’est la liste des étapes (stages) de du pipeline CI/CD dans GitLab. Les tâches (jobs) s’exécutent dans l’ordre.
Nous verrons cela en détail dans la partie DevOps avec GitLab
Un diagramme UML d’Activités avec PlantUML pour une petite mise en bouche du premier cours sur UML…
Un projet avec Spring Boot (sans la partie Front-end) permet de valider 8 compétences sur les 11 du titre CDA :
On peut aussi valider les 3 autres compétences partiellement ou en totalité :