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
      • JUnit

    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