Programme des cours 2019-2020
BINV2150-1  
Developpement web : avancé
  • Javascript
  • Ergonomie web
Durée :
Javascript : 36h Pr
Ergonomie web : 12h Th
Nombre de crédits :
Bachelier en informatique de gestion4
Nom du professeur :
Javascript : Raphaël BARONI
Ergonomie web : Patrick KIBALE
Coordinateur(s) :
Raphaël BARONI
Langue(s) de l'unité d'enseignement :
Langue française
Organisation et évaluation :
Enseignement au premier quadrimestre, examen en janvier
Unités d'enseignement prérequises et corequises :
Les unités prérequises ou corequises sont présentées au sein de chaque programme
Contenus de l'unité d'enseignement :
Cette unité d'enseignement aborde les thèmes suivants :
  • Langage de programmation Javascript et technologies associées : manipulation du DOM, animations, Bootstrap, HTML5, jQuery, Ajax, JSON, JWT.
  • Communication d'une single-page Web application front-end avec un serveur Java back-end et techniques associées : sérialisation/désérialisation en JSON, traitements des appels Ajax par HttpServlet Java, authentification par JSON Web Token.
  • Ergonomie Web.
Javascript
  • Introduction au contexte d'utilisation de JS
  • Introduction au langage JS côté client, à l'utilisation d'APIs du navigateur et de librairies JS
  • Introduction aux communications (synchrones) client /serveur
  • Introduction aux single-page web applications et aux communications asynchrones client / serveur
  • Introduction à l'authentification sécurisée d'un utilisateur et à la gestion de cookies
Ergonomie web
  • Comprendre ce qu'est une approche scientifique à l'ergonomie, et être capable de l'appliquer.
  • Evaluer un site Web sur base de recommandations de référence.
  • Maîtriser un processus de création d'un site Web en utilisant une méthodologie dédiée à l'ergonomie.
  • Proposer et implémenter des améliorations ergonomiques à un site web existant.
Acquis d'apprentissage (objectifs d'apprentissage) de l'unité d'enseignement :
  • Elaborer une single-page Web application : application Web tenant en une seule page HTML5 et CSS3.
  • Rendre une single-page Web application interactive à l'aide de Javascript et de jQuery.
  • Structurer de l'information en JSON.
  • Faire communiquer un front-end Web avec un back-end Java à l'aide d'appels Ajax et de servlets en Java.
  • Créer en Java des HttpServlets qui répondent à des appels Ajax.
  • Transformer une structure JSON en un objet Java, et inversement, à l'aide de Genson.
  • Utiliser les JSON Web Token pour authentifier un utilisateur.
  • Connaître les méthodologies et principes ergonomiques associés au Web et pouvoir les utiliser lors de la réalisation d'applications Web.
Compétence(s) - Capacité(s): C1 - S'insérer dans son milieu professionnel et s'adapter à son évolution CA1.2 -Collaborer à la résolution de problèmes complexes avec méthode, rigueur, pro activité et créativité C2 - Communiquer ¿ Ecouter, informer, conseiller les acteurs tant en interne qu'en externe CA2.2 -Adapter ses techniques de communication, son vocabulaire à l'interlocuteur quel qu'il soit CA2.5 -Exploiter un document technique en français et en anglais C3 - Mobiliser les savoirs et les savoir-faire propres à l'informatique de gestion CA3.1 -Concevoir, implémenter et maintenir des algorithmes répondant aux spécifications et fonctionnalités fournies CA3.2 -Choisir et mettre en œuvre un standard défini ou une technologie spécifique (méthodologie, environnement, langage, framework, librairies, ...) CA3.3 -Traduire les besoins des utilisateurs en modèles d'analyse CA3.4 -Concevoir, implémenter, administrer et utiliser avec maîtrise un ensemble structuré de données C4 - Analyser les données utiles à la réalisation de sa mission en adoptant une démarche systémique CA4.4 -Prendre en compte la problématique de sécurité des applications CA4.5 -Soigner l'ergonomie des applications   Acquis d'apprentissage(s) terminaux visé(s): - Acquis d'apprentissage terminaux : AAT1. Concevoir des solutions informatiques efficaces qui répondent à des problèmes en maitrisant les structures de données véhiculées.C1-CA1.2 ; C3-CA3.1 et CA3.4 ; C4-CA4.4 *PROGRAMMATION ( AAT1) - Acquis d'apprentissage terminaux : AAT5. Se conformer aux bonnes pratiques du métier tout en restant critique. C1-CA1.4 ; C3-CA3.2 et CA3.5 ; C4-CA4.2 et CA4.3 et CA4.5 ; C5-CA5.3; C5-CA5.4 * QUALITE ( AAT5) - Acquis d'apprentissage terminaux : AAT6. Exploiter de façon autonome et rigoureuse les différentes ressources d'information (en français ou en anglais). C2-CA2.5 * AUTONOMIE ( AAT6) - Acquis d'apprentissage terminaux : AAT8. Collaborer au sein d'une équipe en s'adaptant à ses interlocuteurs, en organisant les différentes tâches d'un travail selon leur complexité et leur dépendance ainsi qu'en respectant les délais prévus. C1-CA1.1 ; C2-CA2.2(interne) ; C5- CA5.1 et CA5.2 et CA5.3 et CA5.6 ( AAT8) - Acquis d'apprentissage terminaux : AAT9. Affronter des situations nouvelles en se formant pour intégrer les changements. C1-CA1.5; C2- CA2.2; C5-CA5.2 * FLEXIBILITE ( AAT9)
Javascript
A la fin du cours, l'étudiant·e sera capable de :
  • Réaliser une animation en JS.
  • Communiquer des données de manière synchrone ou asynchrone entre une application cliente HTML/CSS/JS et un backend JAVA par le biais de messages JSON.
  • Authentifier un utilisateur de manière sécurisée via JWT et gérer des cookies.
Acquis d'apprentissage spécifiques :
  • Elaborer une animation en JS directement via les API du browser.
  • Elaborer une animation via une librairie JS.
  • Créer un backend Java qui répondent à des requêtes synchrones ou asynchrones d'un frontend HTML/JS/CSS & Bootstrap.
  • Appliquer JQuery pour optimiser le frontend.
  • Développer une single-page Web application communiquant avec un backend Java par le biais de messages structurés en JSON.
  • Transformer un JSON en un objet Java, et inversement.
  • Utiliser les JSON Web Token et les cookies pour authentifier un utilisateur.
Savoirs et compétences prérequis :
Javascript
  • BINV1020-1 - Analyse et programmation orientée objet
  • BINV1030-1 - Gestion de données : bases
  • BINV1050-1 - Développement web : bases
  • BINV1110-1 - Projet de développement web
Activités d'apprentissage prévues et méthodes d'enseignement :
Activités       Intitulé de l'activité              Volume horaire BINV2150 A    Javascript                                        36 BINV2150 B    Ergonomie web                                12
 
Situation d'intégration: L'intégration de cette UE se fera dans l'UE Conception d'applications d'entreprise (I2090) du second quadrimestre.
Javascript
Activité d'apprentissage : JavaScript (& Java Servlets) :
  • Une séance commence généralement par des notions théoriques et des démonstrations.
  • Elle se poursuit par des exercices pratiques.
  • Vers la fin du quadrimestre, un projet est à réaliser en classe et à la maison.
Mode d'enseignement (présentiel ; enseignement à distance) :
Javascript
  • Sessions de présentation (théorie et démonstrations) données en classe par les enseignants
  • Sessions pratiques réalisées en classe à l'aide d'un ordinateur, sous la supervision des enseignants
Ergonomie web
Le cours est composé de plusieurs activités magistrales se déroulant tout le long du semestre. Les activités commencent, en général, par une présentation de la théorie. Ensuite les étudiants doivent réaliser une tâche leur permettant de déployer cette théorie sur une étude de cas concret. Certaines de ces tâches seront corrigées (mais pas évaluées) en séance.   La présence aux séances est obligatoire car l'apprentissage se fait par la mise en pratique dans des travaux de groupe.   Seul l'examen écrit sera évalué. Les points de l'AA pour chaque étudiant sont les points de l'examen multipliés par le taux de présence aux séances de cours. Attention, lorsqu'un étudiant présent n'effectue quand même pas le travail demandé, sa présence ne compte qu'à moitié dans le calcul du taux de présence.
Lectures recommandées ou obligatoires et notes de cours :
Javascript
  • Slides projetés par le professeur
  • Notes de cours
Ergonomie web
  • Notes de cours
  • Slides projetés par le professeur
  • Références externes listées par le professeur
Modalités d'évaluation et critères :
Responsable de l'évaluation: BARONI Raphaël   Langue de l'évaluation: Français   Mode d'évaluation et pondération: Examen écrit   La pondération de la note globale de l'UE est au prorata des ECTS des différentes activités d'apprentissage :
  • Javascript : 75%
  • Ergonomie web : 25%
L'évaluation de cette UE n'est pas intégrée ; elle est composée d'activités d'apprentissage distinctes donnant lieu, à partir de 10/20, à des reports de notes légaux d'une session à l'autre et d'une année académique à l'autre.
Jury d'UE: En cas d'échec à l'une des activités d'apprentissage, le jury décide si ce déficit est inacceptable (en fonction de l'importance du déficit, de sa gravité ou du caractère essentiel des compétences non acquises) et porte sur une activité indispensable. Dans l'affirmative, le jury peut définir une note pour l'ensemble de l'UE inférieure à 10/20. Cette note est représentative de l'échec. L'échec de l'UE oblige à représenter l'(les) activité(s) en échec.
 
Javascript
  • Les compétences de l'étudiant·e seront évaluées par le biais d'un projet (50% des points) et d'un examen (50% des points).
  • Le projet consiste à la mise en œuvre d'un programme reprenant les technologies vues en cours et appliquant des librairies JS à explorer par l'étudiant·e.
  • L'examen consiste en la réalisation de programme(s) reprenant les compétences développées lors du cours.
  • En deuxième session, les compétence de l'étudiant·e seront évaluées par le biais d'un examen seulement (100% des points). Toute évaluation réalisée préalablement ne sera pas prise en compte dans l'évaluation finale.
Stage(s) :
Remarques organisationnelles :
Contacts :