Ce cours aborde les différentes technologies et concepts impliquées dans la réalisation d’applications web modernes. Les problématiques de conceptions et de performances (passage à l’échelle) sont en particulier abordées.
Compétences visées:
maîtriser les concepts et contraintes architecturales et techniques sous-jacentes aux applications web modernes,
savoir concevoir et réaliser une application web facile à faire évoluer, découplée et capable de passer à l’échelle,
comprendre les concepts généraux des modèles d’application serveur afin de s’adapter aux changements technologiques et aux nouveaux cadres applicatifs.
Plan du cours
Rappel: le web
Présentation
Acteurs et composants
Hypermédia et addressage
HTTP avancé
Rappel HTTP de base
Négociation de contenu
Requêtes conditionnelles
Cache HTTP
Architecture générale d’une application serveur
Principes généraux
Rappels MVC
Internationalisation
Éléments de sécurité
Contrôle d’accès
Chiffrement
Types d’attaques
Performance et monitoring
Optimisation
Passage à l’échelle
Mesure du trafic
Description des TP
Réalisation d’une application serveur sous forme de mini-projet.
Connaissances requises
bonne connaissance de la programmation Java
notions de développement Web coté client (HTML, CSS, EcmaScript)
notion de services Web
connaissance d’infrastructure et du fonctionnement des réseaux (internet)
connaissance des outils et méthodes modernes de développement: gradle, git, tests…