• Votre sélection est vide.

    Enregistrez les diplômes, parcours ou enseignements de votre choix.

UE Composants logiciels et IHM

  • Niveau d'étude

    Bac +3

  • ECTS

    6 crédits

  • Crédits ECTS Echange

    0.0

  • Composante

    UFR IM2AG (informatique, mathématiques et mathématiques appliquées)

  • Période de l'année

    Printemps (janv. à avril/mai)

Description

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
Lire plus

Heures d'enseignement

  • CMCM18h
  • TPTP36h

Pré-requis recommandés

Notion de programmation par objets

Lire plus

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

Lire plus