M2 CCI : Technologies du Web (TW), Programmation Orientée Objets (POO) et Applications Web Avancées (AWA)
Ce site regroupe les différents éléments (supports de cours, sujet de TPs...) de cours effectuées
dans le cadre du Master 2 Compétences Complémentaires en Informatique
(M2CCI) de
l'UFR IM2AG de
l'Université Grenoble Alpes.
Il concerne les Unités d'Enseignement (UEs) :
- l'UE Programmation, Langages et Technologies du Web qui elle même regroupe deux
cours
- Technologies du Web (TW)
- Programmation Orientée Objets- Java (POO)
- l'UE Applications Web Avancées (AWA) constituée d'un seul cours de même nom
Compétences visées
L’objectif global de ces enseignements est double :
-
donner de solides bases en programmation au travers de l'apprentissage des langages JavaScript
(cours TW) et Java (Cours POO).
-
donner une vision Full-Stack du développement d’applications Web en offrant
un panorama des technologies mises en œuvre tant du côté client que du côté serveur (cours AWA),
A l’issue de ces cours, complétés par le Projet d’Intégration (PI),
les étudiants auront une compréhension globale du fonctionnement
des applications Web et des connaissances en programamton (en particulier en programmation orientée
objets)
leur permettant d’aborder l’ensemble des activités de développement logiciel.
Sans en faire des spécialistes de telle ou telle technologie,
ces enseignements visent à donner aux étudiants toutes les clés qui leur permettront
de s’approprier plus facilement, selon leur évolution future, les langages,
cadriciels (frameworks) et outils nécessaires au développement
d’applications modernes.
Organisation générale
Les cours TW, POO et AWA s’appuient tous trois sur une forte activité pratique.
A chaque cours sont associés des exercices pratiques devant être réalisés sur machine. Les séances
de travaux pratiques encadrées
ont lieu indifféremment dans un environnement Windows ou Linux. Elles permettent d’introduire, en
complément des langages
étudiés en cours, les outils indispensables au développement d’applications : outils de
développement web
(console, débogueur JavaScript, analyse de requêtes http...), environnement de développement intégré
(IDE)
(éditeur syntaxique, débogueur,...), outils de build (node, maven), gestion de versions (Git)...
Si les outils étudiés sont ceux du navigateur Firefox et l’IDE VSCode,
là aussi l’approche se veut suffisamment générale pour permettre aux étudiants
d’évoluer ensuite plus facilement vers des outils spécifiques.
Détail des différents cours
Cours Technologies du Web (TW)
Cours : 21 h
TD/TP : 30 h
Total : 51 h
Travail personnel estimé : 60 h
-
Principes de fonctionnement du web
-
HTML5 : principes de bases
-
CSS3 :
- principes de base,
- sélecteurs
- positionnement des éléments
- le framework Bootstrap
-
JavaScript :
- éléments de base du langage,
- manipulation du DOM, gestion des événéments,
- introduction à l’approche objet (prototypes)
- programmation asynchrone (api fetch)
- gestion des erreurs en JavaScript
- Modules JavaScript
-
Contrôle Continu (Note CC)
-
1 ou 2 Devoirs Surveillés (QCM, petits exercices de
codage)
pendant les séances de cours ou TP
-
Examen Terminal 1ère session (Note ET1)
-
semaine du 2 décembre 2024 - durée 3h
-
questions écrites + exercices codage sur machine
-
Note 1ère session :
- Note Finale = 30% Note CC + 70% Note ET1
-
Examen 2ème session (note ET2)
- semaine du 1er Septembre 2025
- durée 3h
- questions écrites +
exercices codage sur machine
Cours Programmation Orientée Objets - Java (POO)
- Cours : 21 h
- TD/TP : 30 h
- Total : 51 h
- Travail personnel estimé : 60 h
Cet enseignement s’effectue à travers l’étude du langage Java.
Il a pour but de présenter les principes d’un langage de classes,
les notions étudiées en Java pouvant être ensuite
facilement transposées à d’autres langages (C#, C++, Python…).
Les points abordés sont :
-
concepts de base de l'approche par objets
-
encapsulation des données,
-
classes / instances
-
héritage et abstraction
- héritage d’implémentation
-
classes abstraites,
-
héritage d’implémentation
-
programmation par contrats, interfaces
- généricité
- types génériques
- les collections
- tests unitaires
Cet apprentissage de Java est complété par une rapide présentation
des technologies
JEE pour le web dynamique (Servlets, JSP, JDBC, cadriciel
(framework) Springboot).
Cours Applications
Web Avancées (AWA)
- Cours : 20 h
- TD/TP : 20 h
- Total : 40 h
- Travail personnel estimé : 50 h
- Le protocole http
- Architecture des applications web
- Un exemple de framework Front-End : Vue.js
- Introduction à Vue.js
- Composants Vue.js
- Partages d'état entre pages et composants : le store
Pinia