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)

  • Programmation, Langages et Applications Internet (PLAI) qui elle même regroupe deux enseignements
    • Technologies du Web (PLAI-TW)
    • Programmation Orientée Objets- Java (PLAI-POO)
  • Applications Web Avancées (AWA)

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 PLAI-TW) et Java (Cours PLAI-JAVA).
  • 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,

A l’issue de ces cours, complétés par le projet d’intégration, 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 PLAI-TW, PLAI-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 (PLAI-TW)

  • 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
  • Protocole HTPP
    • serveur http (apache2) (installation, configuration)
  • Application web dynamiques :
    • génération de contenu côté serveur,
    • l’approche JEE : Servlets, JSP, conteneur web (serveur tomcat)
    • accès à un SGBD : JDBC
  • AJAX :
    • Communication asynchrone client/serveur,
    • JQuery
  • Cadriciels (frameworks) pour le développement d’application web
    • paradigme Modèle/Vue/Contrôleur (MVC)



Cours Programmation Orientée Objets - Java (PLAI-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