Ce module présente les principes fondamentaux de l’architecture logicielle et leur rôle dans la conception de systèmes robustes et évolutifs. Il aborde les styles architecturaux courants (couches, client-serveur, microservices) et les patrons de conception. Les étudiants apprennent à analyser les besoins fonctionnels et non fonctionnels d’une application. Le cours met l’accent sur la structuration du code, la modularité et la maintenabilité. Il introduit les bonnes pratiques de développement logiciel professionnel. Les notions de qualité logicielle, de test et de documentation sont intégrées. Les étudiants découvrent les outils modernes de développement collaboratif. Des études de cas concrets illustrent les choix architecturaux. Le module relie théorie et pratique à travers des projets. À l’issue du cours, l’étudiant sait concevoir et développer une application bien architecturée.