Programmation Web avancée côté client

Licence Informatique, Semestre 4.
Département Informatique, UFR Sciences, Université Nice Sophia Antipolis


Année Universitaire 2018-2019

Années précédentes : 2017-2018, 2016-2017, 2015-2016, 2014-2015, 2013-2014, 2012-2013.

Responsable : Prof. Andrea G. B. Tettamanzi.

Emploi du temps

Ce module prévoit 18 heures de cours magistral et 18 heures de travaux dirigés sur machine.
Les séances de cours magistral se dérouleront le jeudi matin de 8h30 à 10h en salle M-I-5 ; les travaux pratiques de 10h15 à 11h45 en salle PV 212 selon le calendrier suivant :

Date Séance Sujet
Jeudi 24 janvier 2019 1 Introduction : la Plateforme Web du W3C
TP : Hello World !
Jeudi 31 janvier 2019 2 Éléments du langage JavaScript.
TP : Énoncé, corrigé de l'exercice 1, corrigé de l'exercice 2.
Jeudi 7 février 2019 3 Le modèle orienté objet des documents
TP : Énoncé.
Jeudi 14 février 2019 4 Objets, prototypes et héritage en JavaScript
TP : Énoncé.
Jeudi 28 février 2019 5 Objets standard et gestion des erreurs en JavaScript
TP : Énoncé
Jeudi 7 mars 2019 6 Sérialisation et persistance
TP : idem
Jeudi 14 mars 2019 7 Expressions Régulières
TP : Énoncé
Jeudi 28 mars 2019 8 Contrôle intermédiaire
HTML5 : glisser-déposer
TP : idem
Jeudi 4 avril 2019 9 HTML5 et utilisation des canvas (voir ici un petit example)
TP : travail sur le projet
Jeudi 11 avril 2019 10 Bibliothèques JavaScript
TP : travail sur le projet

Projet

Le projet de cette année consiste en la réalisation du jeu Puissance 4.

Consignes. Il s'agit de réaliser une version Web client du jeu. Faites référence à la page Wikipédia pour les règles du jeu. Vous devez permettre à deux joueurs de jouer le jeu en s'alternant devant la même page Web. Votre script devra gérer les tours des joueurs et déclarer le gagnant à la fin du jeu. Il doit être possible de sauvegarder un jeu puis de le récupérer après avoir fermé le navigateur. Celles-ci sont les attentes minimales. Vous êtes libres d'ajouter d'autre fonctionnalités, comme le jeu contre l'ordinateur, la sauvegarde de plusieurs jeux par nom, le mantien du score des joueurs (nombre de victoires sur plusieurs jeux), des éléments graphiques, des animations, etc. Vous avez le droit d'utiliser des framework ou des bibliothèques.

Rendu des projets : date butoir dimanche 5 mai 2019, 23h59.

Envoyer par courrier électronique un archive comprimé contenant le code source (fichiers HTML, CSS, JavaScript, images, etc.) et un rapport synthétique décrivant et motivant les choix de conception adoptés et les solutions proposées.

Contrôle Terminal (1h30) : lundi 29 avril 2019, 13h00 en amphi de Physique 2.

Descriptif du cours

Ce cours porte sur les technologies qui, collectivement, composent la "Open Web Platform" du Consortium W3C, c'est-à-dire, en gros : HTML5, son standard associé pour accéder et manipuler des documents HTML (le Document Object Model), CSS3, le langage de scripting JavaScript et les nouvelles API permettant la graphique basée sur un navigateur, la géolocalisation, le stockage local de données, des capabilités vidéo.

Évidemment, on ne pourra pas tout couvrir avec la même profondeur. On insistera surtout sur le langage JavaScript, qui permet d'écrire des programmes associés à des pages web qui s'exécutent dans le navigateur et sur le Document Object Model, qui permet à ces programmes d'accéder et modifier la page web à laquelle ils sont associés.

Pour réviser

Support de cours

Un support de cours préparé par l'enseignant peut être téléchargé au format PDF. Ce support est en évolution constante et sera enrichi au fur et à mesure que le cours avance.

Textes de référence

Matériels divers

L'énoncé du contrôle terminal de l'année 2014-2015.

Modalités de Contrôle des Connaissances

Contrôle intermédiaire (écrit, 1h30) : 25% ; Projet : 25% ; Contrôle terminal (écrit, 1h30): 50%.



Dernière mise à jour : 16 avril 2019.