Cours web 2.0 Miage de Nice 2012-2013

De $1

Introduction

Ce cours s'intitule web 2.0, il faudrait peut-être maintenant parler de web 3.0 ou de web mobiquitaire de données ?

Les plus curieux pourront regarder les cours des années précédentes qui contiennent des articles sur l'histoire du web, du web 2.0 (le web of people, celui des réseau sociaux, des micro transactions, des web services REST, des wikis, etc.) et parle un peu du web 3.0. Ce dernier qui n'a pas de nom bien défini, intègre les évolutions suivantes : web sémantique (protocoles pour décrire des données interopérables, des modèles de données, pour requêter), la révolution des mobiles (smartphones et tablettes), HTML5 (qui apporte le support pour les mobiles, le multimedia, la sémantique, en gros qui permet d'écrire de vrais applications basées sur des standards du web), etc.

Nous étudierons dans ce cours plusieurs de ces nouveaux aspects du web. Le premier cours est un rappel sur les outils javascript, par la suite, nous verrons (côté serveur et côté client) les web services REST, très populaires, les micro serveurs qui sont une tendance forte de ces dernières années (grizzly, nodeJS), HTML5 et ses applications, notamment sur devices mobiles, l'utilisation du web de données via le Linked Open Data (LOD), soit l'utilisations de base de données en ligne comme Freebase ou DBPedia.org dans le cadre d'applications web.

Outils que nous utiliserons cette année

  • L'outil WebStorm de JetBrains, un très bon éditeur HTML/CSS/JavaScript qui supporte le micro serveur NodeJS. Nous avons des licences éducation pour la version 3.x qui sont valables jusqu'en février. Des démarches ont été faites pour avoir la version 5 avec des licences, c'est en cours. En attendant, récupérez la version 3.0.3 à cette adresse : http://confluence.jetbrains.net/pages/viewpage.action?pageId=41487696 et vous devrez entrer la licence que vous aurez reçu par mail.
  • Netbeans 7 version entreprise, prenez la dernière versions sur le site http://netbeans.org/downloads/ il faut la version la plus grosse, dans la colonne de droite.
  • Eclipse for Java EE developpers est aussi un bon complément à netbeans. A prendre sur le site eclipse.org.
  • Vos outils à vous (ultraedit, etc.)

Séance 1 : rappels sur JavaScript, frameworks JavaScript

L'année dernière le cours présentant Ajax et jQuery/Dojo n'a pas eu lieu, nous commençons ce module en rattrapant ce retard.

  • Cours JavaScript.zip : cours JavaScript de Michel Buffa (transparents HTML5 à ouvrir une fois l'archive sur votre machine, je ne les ai pas mis en ligne car c'est un cours sur lequel je travaille en ce moment). Ce cours couvre actuellement les bases de JavaScript, une grosse partie sur la programmation orientée objet (sans les Prototypes), JavaScript dans le navigateur web (BOM, DOM, évènements, AJAX). Revenez régulièrement voir si le cours a été complété.
  • Transparents powerpoint sur jQuery : jquery.ppt et aussi la présentation interactive de John Resig, auteur de jQuery :  http://ejohn.org/blog/spring-2010-jquery-talks/ , la première "introduction to jQuery" est très bien pour un premier contact avec cette librairie.
  • N'oubliez pas d'aller faire un tour sur la page : Ressources JQuery que j'ai préparée à votre attention et qui contient de nombreuses ressources intéressantes au sujet de cette librairie (tutorials, transparents, livres, etc). Je recommande à 200% d'imprimer ou d'avoir sous la main les "jQuery chart sheets", des images qui résument en un coup d'oeil toute la librairie. 
  • La page officielle avec la doc de jQuery (exemples interactifs) :  http://api.jquery.com/
  • Les APIs JavaScript du DOM et du BOM ont énormément évolué avec HTML5, allez voir le tutorial HTML présenté récemment par un de vos enseignants à la conférence WWW 2012 : HTML5 Tutorial for WWW2012

TP1 : prise en main de jQuery

Séance 2 : introduction "pratique" aux web services REST/RESTful, serveur embarqué

Ici nous ne prétendons pas donner un cours approfondi sur le sujet, mais uniquement une introduction aux web services REST et à leur mise en application à travers l'API Jersey de Java EE6. Le format JSON est également introduit. Le TP met en oeuvre un "serveur embarqué" dans l'application, un micro serveur dédié à une seule application, le serveur web Grizzly (qui est aussi dans Glassfish).

TP2 : base des web services REST, serveur embarqué Grizzly

TP3 :  Ecriture d'un Blog implémenté sous forme de web services RESTful et d'un client HTML + jQuery

Séance 3 : HTML5 introduction

Dans ce cours vous allez avoir une introduction rapide à HTML5, mais pendant le TP vous aurez deux activités différentes: une première activité consistant à découvrir plus en détails les exemples présentés en cours ansi que de nombreux nouveaux exemples mais aussi commencer le développement par l'exemple d'une application de dessin.

TP4 : découverte et début d'étude d'un programme de dessin en HTML5

TP5: Découverte des aspects multi-participants avec les WebSockets, application mobile...

TP6 : modification du blog du TP3 pour uploader des images via webcam, html5 drag'n'drop etc...