Cette UE aborde la programmation Web à partir de la notion d’application Web. Il s’agit ici de concevoir et déployer des applications complexes accessibles à travers un navigateur Web. Ces applications ont vocation à s’insérer dans un système d’information et à rendre un service à l’utilisateur (à la différence des sites Web, qui sont autonomes et destinées à la consultation). Pour cela, les enseignements seront très liés à ceux de génie logiciel, et mettront notamment en œuvre plusieurs patrons de conception (design patterns) comme MVC, observer et inversion de contrôle.
Après un bref rappel des langages et protocoles standards du Web, vous apprendrez à configurer et à optimiser un serveur Web (nginx) et découvrirez les outils Java EE permettant le développement d’applications Web côté serveur (servlets, JSP, JavaBeans, filtres). Vous mettrez également en œuvre les principes de REpresentational State Transfer (REST) pour alléger la charge du serveur et d’Asynchronous JavaScript and XML (AJAX) pour répartir les traitements entre serveur et client.
Vous manipulerez des outils couramment utilisés dans l’industrie, qui minimisent les développements et favorisent le respect des bonnes pratiques : côté client, la bibliothèque jQuery et côté serveur, le framework Spring.
Les prérequis sont :
- Une bonne connaissance des langages de base du Web (HTML, CSS)
- Une expérience en programmation Web côté serveur, éventuellement dans d’autres langages (PHP, Python)
- Un bon niveau en programmation orientée-objet et en particulier en Java
Les UEs dépendant de celle-ci sont :
- Programmation Web avancée
- Projet « multimif »
Remarque : cette UE est destinée aux étudiants qui suivent ou ont suivi l’UE Gestion de Projets. Il est impossible de la mener à bien sans maîtriser les concepts de génie logiciel introduits dans cette UE.