Ce cours a pour objectif de fournir une compréhension approfondie des architectures applicatives, en équilibrant théorie et pratique pour les profils développement (DLW) et administration système (IRC).
À la fin du cours, les étudiants seront capables de :
- Identifier et comparer les architectures monolithique, n-tiers et microservices.
- Comprendre les principes des architectures avancées (DDD, Clean, Hexagonale).
- Expliquer les implications en hébergement et déploiement de chaque modèle.
- Utiliser UML pour représenter et justifier des choix d’architecture.
- Appliquer ces concepts dans un cas pratique avec une évaluation finale.
Le cours est divisé en trois jours :
- Pourquoi l’architecture est essentielle ?
- Modèle monolithique : principes, avantages, limites.
- Architecture n-tiers : découpage en couches et hébergement.
- Microservices : modularité et complexité.
- Démonstrations et exemples en PHP et JavaScript.
- Diagrammes UML : cas d’utilisation, composants, déploiement.
- Domain-Driven Design (DDD) : structurer le domaine métier.
- Clean Architecture : séparation des responsabilités.
- Hexagonale : découplage et ports/adapters.
- Hébergement et déploiement : serveurs, conteneurs, cloud.
- Démonstrations et exemples en PHP et JavaScript.
- Diagrammes UML : cas d’utilisation, composants, déploiement.
- Études de cas et choix d’architectures.
- Préparation à l’évaluation.
- Examen final : analyse et justification d’une architecture.