UE Composants logiciels et IHM

Diplômes intégrant cet élément pédagogique :

Descriptif

Ce cours introduit les concepts utiles à la programmation de systèmes interactifs en se basant sur l’espace technologique du web (HTML5, CSS3, javascript). L’accent est mis sur le code et l’architecture logicielle, les aspects méthodes de conception et ergonomie sont traités en M1. Le programme du cours suit le déroulement suivant :

  1. Espace technologique du web (client, serveur, protocole HTTP).
  2. Introduction à HTML5 (structure de l’information) et CSS3 (mise en page).
  3. Introduction à JavaScript (structure de contrôles, de données, fonctions, closures).
  4. Programmation évènementielle :        
    1. Propagation des évènements dans le DOM.
    2. Illustration avec le drag&drop.
    3. Machines à états pour l’interaction.
  5. Notions de programmation asynchrone (AJAX, callback, Promise).
  6. Modèles d’architecture logicielle :
    1. Modules et gestionnaires de modules.
    2. Modèles MVC, MVP et MVVM.
    3. Illustration avec AngularJS.

Langages :

  • HTML5
  • CS3
  • JavaScript

Outillage :

  • Partage et synchronisation du code source avec GIT.
  • Gestion des modules à l’aide de NPM et Bower.
  • Définition de chaîne de « compilation » avec GULP.
  • Serveur NodeJS + Express

Pré-requis recommandés

Notion de programmation par objets

Compétences visées

Concevoir l'architecture et coder l'interface humain-machine / le frontend d'une application en appliquant les modèles standards (MVC, MVP, MVVM, …)

  • Utiliser et définir des composants d’interaction
  • Utiliser et mettre en œuvre des éléments de programmation réactive, événementielle et asynchrone
  • Programmer un système interactif avec un framework Web moderne

Informations complémentaires

Méthode d'enseignement : En présence
Lieu(x) : Grenoble, Valence
Langue(s) : Français