Sites Web interactifs - 2008/2009

Description du cours

Ce cours traitera, pendant la durée de deux semestres, non seulement les bases de la programmation de sites Web interactifs avec JavaScript, mais également des concepts plus généraux de la programmation tout court, tels qu'ils peuvent étre transposés directement dans le contexte d'autres langages et technologies.

JavaScript est un langage de programmation qui est exécuté é l'intérieur d'un navigateur et permet donc de transformer un document HTML / XHTML statique en application interactive. Normalisé sous le nom d'ECMAScript, JavaScript est, en ce qui concerne sa structure et sa syntaxe, identique à  ActionScript, le langage de programmation au sein d'Adobe Flash. Les connaissances conceptuelles enseignées dans ce cours peuvent donc étre utilisées dans le contexte de cette technologie.

Ciblé sur la pratique, l'enseignement s'organisera autour des exemples concrets qui représentent les applications les plus courantes de JavaScript / DHTML (dynamic HTML). A part les éléments du langage nous allons donc travailler notamment avec les formulaires, les calques et popups.

Le deuxiéme semestre traitera des sujets plus avancés comme l'animation et le travail avec XML / AJAX.

Notation

La note finale sera composée de trois éléments :

  • Présence et participation au cours (20%)

  • La réalisation de trois devoirs pendant le semestre (30%)

    Trois notes par exercice :
    3 (résultat plus que demandé)
    2 (réussite)
    1 (réussite partielle)

    Les travaux rendus avec retard ne seront pas acceptés.

  • L'achévement d'un projet (50%)

    Le projet final consistera en la réalisation d'un petit projet qui fait appel à JavaScript, soit en combinant les exercices du semestre dans un contexte commun, soit en produisant un objet propre. En ce qui concerne le choix du projet, vous avez toute liberté : un système de navigation originale, un petit jeux, un système de panier d'achat, etc. - la recherche d'un sujet fait effectivement partie de l'exercice...

    Vous pouvez valider plusieurs UE avec un seul projet. (aprés demande)

    Tout retard concernant la proposition de projet ou le projet final se traduira directement en une réduction de la note finale.

Premier semestre

S01E01 (23/10/08) : Introduction générale

Déscription :
Contexte du développement Web
Capacités et limites du langage
Introduction langage
Links :

S01E02 (30/10/08) : Introduction suite, tests et fonctions

Déscription :
Dialogues systéme
Fonctions et test
Couleur de fond
Links :

Exo 1 : L'exercice constiste à créer une petite interface (cf. image) qui est composée de deux lignes : la permière contient des liens avec des noms de couleurs et la deuxième deux boutons, "start" et "stop". En défilant la souris sur les liens de la première ligne, la couleur du fond change. Quand l'utilisateur click sur "stop", les couleurs ne changent plus quand la souris passe sur les couleurs. En cliquant "start" elles marchent à nouveau. Voilà, j'attends vos exos avant le prochain cours la semaine prochaine par email !

S01E03 (06/11/08) : DOM et début formulaire

Déscription :
Links :

S01E04 (13/11/08) : Répétition et formulaires suite

Déscription :
Links :

Exo 2 : A partir du fichier de correction vu dans la classe il s'agit de changer la notification de l'utilisateur en donnant un feedback visuel des erreurs qui se sont produits. Attention : quand un utilisateur corrige le saisi d'un champ il faut que ce champs se décolorise. Pour réussir, il va falloir faire des petits ajustements au niveau HTML et ajouter quelques lignes de code du coté JS. Pour les courageux, le géstionnaire "onblur" permet de détécter quand le focus un utilisateur quitte un champ... Envoyez moi vos resultats SVP sur les deux adresses mentionnées en haut à droite avant le prochain cours. Bon courage et bon WE !

S01E05 (20/11/08) : Formulaires suite et répétition

Déscription :
Travail avec "select" Chaînes de caractères Calques suite
Links :

Exo 2b : Pour ceux qui ont raté l'un des premiers TP ou qui ont tout simplement envie de pratiquer, voilà un exo de plus : Dans une boîte d'options (select) se trouvent des noms de couleur. On changeant l'option choisie, le fond de la page change aussi. Voilà !

S01E06 (27/11/08) : DHTML suite et une première boucle

Déscription :
Links :

Exo 3 : Et voilà le troisème TP pour ce semestre : sur une page cinq rectrangles en cinq couleurs différentes. En survolant chaque rectangle, le code couleur apparaît dans un div flottant qui suit le curseur. En cliquant, le fond de la page change pour la couleur séléctionnée et le code couleur s'affiche dans un div.



Pour les plus courageux, vous pouvez, à partir de ce fichier générer un tableau de couleurs plus complet (216 couleurs), avec le même comportement que dans la version de base de l'exercice. Pour générer du HTML, il va falloir créer une variable, remplir cette variable avec du code HTML et affecter le contenu final à un div avec .innerHTML. Ce fichier devrait vous donner une idée sur la boucle qui sera nécessaire pour réussir l'ecercice. Comme toujours, l'exo est à rendre avant le prochain cours. Bon courage et forza à tous !

S01E07 (04/12/08) : Calques et boucles suite

Déscription :
Menu avec déplacement du calque selon le curseur
Une gallerie d'images
Links :

S01E08 (11/12/08) : Popups et animation

Déscription :
Links :

S01E09 (18/12/08) : Répétition

Déscription :
Links :

S01E10 (08/01/09) : Répétition et travail projet

Déscription :
Links :

S01E11 (15/01/08) : Travail projet

26/01/09 : Date limite pour rendre les projets finaux
Informations concernant le projet final :
- enoyez-le é bernhard point rieder at univ-paris8 point fr ET b at procspace point net
- utilisez un fichier index.html pour la premiére page du projet
- ajoutez un fichier info.txt avec une petite explication
- joignez une photo de vous !

Deuxiéme semestre

Le deuxiéme semestre poursuivra les voies ouvertes par les connaissances acquises au premier semestre. En gardant une perspective toujours trés pratique nous allons aborder - entre autres - les cookies, les interactions animées, AJAX (Asynchronous JavaScript and XML) et, vers la fin du semestre, les API Web. La validation se fera de maniére similaire é celle du premier semestre.

S02E01 (13/02/09) : Résumé du premier semestre et présentation du programme du deuxième

Déscription :
Elements clés des bases de JavaScript
Links :

S02E02 (20/02/09) : Cookies

Déscription :
Utiliser JavaScript pour lire, écrire et supprimer les cookies
Links :

S02E03 (27/02/09) : AJAX Introduction

Déscription :
Lire des contenus externes avec AJAX
Links :

Exo 1 : AJAX et BDD L'exercice constiste à créer une base de données avec un tableau "contenus" qui contient deux champs : "id" (int, primary, auto-increment) et "contenu" (text). Remplissez la base avec quelques contenus de test. A partir de fichiers dans ajax_jquery_php.zip il faut lire et afficher le contenu qui correspond au paramêtre passé. Il suffit de inclure, dans le fichier PHP une requette SQL et un echo sur le resultat. Je souhaite voir le resultat tourner en ligne et de recevoir les fichiers par email. Bon courage et bon travail !

S02E04 (06/03/09) : AJAX suite

Déscription :
Insérer des informatins dans une BDD
Links :

S02E05 (13/03/09) : AJAX suite

Déscription :
Un chat avec AJAX
Links :

Exo 2 : Mini projet A partir des différents éléments autour d'AJAX que nous avons vus (notamment le chat) l'exercice consiste à compléter / améliorer l'un des usages que nous avons vus en classe. N'hesitez pas à être inventifs ! Bon travail...

S02E06 (20/03/09) : AJAX avec JSON

Déscription :
Comprendre et utiliser le format JSON
Links :

S02E07 (27/03/09) : WordPress

Déscription :
Installer, configurer et adapter le CMS WordPress
Links :

S02E08 (03/04/09) : Pas de cours

S02E09 (10/04/09) : AJAX avec XML

Déscription :
Après avoir chargé du HTML et du JSON, maintenant XML
Links :

Exo 3 : Lecteur RSS En partant de l'exemple de base pour la lecture d'un XML à distance, l'Exo consite à créer un petit lecteur de flux RSS. Un utilisateur peut copier un lien RSS (p.ex. http://hypermedia.univ-paris8.fr/rss.xml) dans un champ de formulaire - quand l'utilisateur active un bouton, le RSS est chargé et les informations sont affichées en forme de liste. N'hesitez pas d'ajouter d'autres éléments, p.ex. la lecture d'un podcast, d'un GeoRSS ou la possiblité de sauvgarder plusieurs URL... Le travail est à rendre pour le 15 mai. Bon travail et bonnes vacances !

S02E12 (15/05/09) : Site AJAX et Travail Projet

Déscription :
Links :

S02E13 (22/05/09) : Travail Projet

Déscription :
Links :
19/06/09 : Date limite pour rendre les projets finaux
Informations concernant le projet final :
- enoyez-le à bernhard point rieder at univ-paris8 point fr ET b at procspace point net
- le projet doit étre hébérgé en ligne (!!!) et envoyé par email
- utilisez un fichier index.html pour le début du projet
- ajoutez un fichier info.txt avec une petite explication
- joignez une photo de vous