24
3I017 - Technologies Web Ludovic Denoyer (Cours+Responsable) [email protected] Laure Soulier (Cours+TD/TP) Sylvain Lamprier (TD/TP) Quentin Bramas (TD/TP) Aurélia Léon (TD/TP) Université Pierre et Marie Curie - Licence 3 Informatique 1 / 23

3I017 - Technologies Webdenoyer/wordpress/wp-content/uploads/...3I017 - Technologies Web Ludovic Denoyer (Cours+Responsable) [email protected] Laure Soulier (Cours+TD/TP) Sylvain

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 3I017 - Technologies Webdenoyer/wordpress/wp-content/uploads/...3I017 - Technologies Web Ludovic Denoyer (Cours+Responsable) ludovic.denoyer@lip6.fr Laure Soulier (Cours+TD/TP) Sylvain

3I017 - Technologies Web

Ludovic Denoyer (Cours+Responsable)

[email protected]

Laure Soulier (Cours+TD/TP)

Sylvain Lamprier (TD/TP)

Quentin Bramas (TD/TP)

Aurélia Léon (TD/TP)

Université Pierre et Marie Curie - Licence 3 Informatique

1 / 23

Page 2: 3I017 - Technologies Webdenoyer/wordpress/wp-content/uploads/...3I017 - Technologies Web Ludovic Denoyer (Cours+Responsable) ludovic.denoyer@lip6.fr Laure Soulier (Cours+TD/TP) Sylvain

Rappel

ProblématiqueQuelles technologies utiliser pour le développement de Sites(modernes) sur le Web ?

Media Sociaux, Web 2.0, 2.5Caractéristiques :

I Web hautement dynamique (contributions)I Nécessité de grande puissande de traitement de données

ProblèmeLes technologies ”classiques” (PHP, SQL, HTML) ne permettent pas lepassage à l’échelle et le développement de nouveaux sites sur le Webnécessite le développement de nouvelles technologies.

2 / 23

Page 3: 3I017 - Technologies Webdenoyer/wordpress/wp-content/uploads/...3I017 - Technologies Web Ludovic Denoyer (Cours+Responsable) ludovic.denoyer@lip6.fr Laure Soulier (Cours+TD/TP) Sylvain

Objectifs

Acquisition de techniques pour le développementde sites Web "modernes"

→ Architectures des Sites ”sociaux”

→ Développement de services Web

→ Développement de d’interfaces homme/machine

→ Traitement de grandes masses de données

3 / 23

Page 4: 3I017 - Technologies Webdenoyer/wordpress/wp-content/uploads/...3I017 - Technologies Web Ludovic Denoyer (Cours+Responsable) ludovic.denoyer@lip6.fr Laure Soulier (Cours+TD/TP) Sylvain

Objectifs

Un enseignement ”concret” basé sur lamanipulation de technologies

→ Cours : Présentation des différentes technologies et de leurarticulation

→ TD : Prise en mains des technologies

→ TP : Mise en oeuvre de ces technologies

Les TPs sont tous structurés autour du développement d’un site detype Twitter

4 / 23

Page 5: 3I017 - Technologies Webdenoyer/wordpress/wp-content/uploads/...3I017 - Technologies Web Ludovic Denoyer (Cours+Responsable) ludovic.denoyer@lip6.fr Laure Soulier (Cours+TD/TP) Sylvain

Développement d’un site type réseau social

5 / 23

Page 6: 3I017 - Technologies Webdenoyer/wordpress/wp-content/uploads/...3I017 - Technologies Web Ludovic Denoyer (Cours+Responsable) ludovic.denoyer@lip6.fr Laure Soulier (Cours+TD/TP) Sylvain

Objectifs

Les TPs sont tous structurés autour dudéveloppement d’un site de type Twitter

Cela implique :→ Les TPs sont additifs ⇒ retard/absence à un TP doit être rattrapé

avant le TP suivant

→ Les TDs introduisent les TPs ⇒ absence en TD = grossesdifficultés en TP

→ Les cours présentent les technologies ⇒ absence en cours =retard en TP

6 / 23

Page 7: 3I017 - Technologies Webdenoyer/wordpress/wp-content/uploads/...3I017 - Technologies Web Ludovic Denoyer (Cours+Responsable) ludovic.denoyer@lip6.fr Laure Soulier (Cours+TD/TP) Sylvain

Evaluation

Evaluation de l’UE

L’UE n’est pas une UE difficile, mais une UE dense : une à deuxtechnologies par semaine, aucun retour en arrièreNote des TPs + soutenance de projet = 50%Note examen sur feuille = 50%. L’examen est difficile......

7 / 23

Page 8: 3I017 - Technologies Webdenoyer/wordpress/wp-content/uploads/...3I017 - Technologies Web Ludovic Denoyer (Cours+Responsable) ludovic.denoyer@lip6.fr Laure Soulier (Cours+TD/TP) Sylvain

Evaluation

Evaluation du projet

Projet en binôme ou monômeRéalisation de Twitter côté Client + côté ServeurImplémentation de fonctionnalités obligatoires - voir Cours 3Implémentation de fonctionnalités additionnellesPrésentation de la réalisation (TME 11) + Modifications à apporterau projet

I Les modifications sont la ”clefs” de l’évaluation

8 / 23

Page 9: 3I017 - Technologies Webdenoyer/wordpress/wp-content/uploads/...3I017 - Technologies Web Ludovic Denoyer (Cours+Responsable) ludovic.denoyer@lip6.fr Laure Soulier (Cours+TD/TP) Sylvain

Développement d’un site type réseau social

A réaliser :

Page d’accueil

Formulaires de connexion / enregistrement

Fonctions d’ajout de contacts

Fonctionnalités permettant de poster un commentaire

Fonctions de recherches thématiques

Statistiques (centres d’intérêts, amis les plus actifs, taux deréponse, etc...)Plus tout autre fonctionalitésoriginale....

9 / 23

Page 10: 3I017 - Technologies Webdenoyer/wordpress/wp-content/uploads/...3I017 - Technologies Web Ludovic Denoyer (Cours+Responsable) ludovic.denoyer@lip6.fr Laure Soulier (Cours+TD/TP) Sylvain

Développement d’un site type réseau social

Architecture Client-Serveur

10 / 23

Page 11: 3I017 - Technologies Webdenoyer/wordpress/wp-content/uploads/...3I017 - Technologies Web Ludovic Denoyer (Cours+Responsable) ludovic.denoyer@lip6.fr Laure Soulier (Cours+TD/TP) Sylvain

Développement d’un site type réseau social

Architecture Client-Serveur

11 / 23

Page 12: 3I017 - Technologies Webdenoyer/wordpress/wp-content/uploads/...3I017 - Technologies Web Ludovic Denoyer (Cours+Responsable) ludovic.denoyer@lip6.fr Laure Soulier (Cours+TD/TP) Sylvain

Développement d’un site type réseau social

Pages Web stockées sur un serveur Web

<html>

Le symbole de Linux est

<img src=«  photo.png  »>

</html> get photo.png

host ...

Le symbole de

Linux est

écran du navigateur

disque durdu serveur

get linux.htmlhost ...

internet

<html>

….Le symbole de

Linux est

<img src=«photo.png»>

</html>

linux.html

photo.png

Qu'est-ce que

Linux ?

<html>

…. Le symbole de Linux est

<img src=«  photo.png  »

</html>

200 en­têtes

200 en­têtes

12 / 23

Page 13: 3I017 - Technologies Webdenoyer/wordpress/wp-content/uploads/...3I017 - Technologies Web Ludovic Denoyer (Cours+Responsable) ludovic.denoyer@lip6.fr Laure Soulier (Cours+TD/TP) Sylvain

Développement d’un site type réseau social

Mise en place de services Web

34 +21 = 55

écran du navigateur

disque duret processeur

du serveur

get addition.php?N1=34&N2=21 ...

internet

<html>

...

34+21= 55

...

</html>

200 en­têtes

Combien font

34    21+ OK</html>...<? $resu=$N1+$N2;print “$N1 + $N2 = $resu”; ?>...</html>

</html>...<? $resu=$N1+$N2;print “$N1 + $N2 = $resu”; ?>...</html>

13 / 23

Page 14: 3I017 - Technologies Webdenoyer/wordpress/wp-content/uploads/...3I017 - Technologies Web Ludovic Denoyer (Cours+Responsable) ludovic.denoyer@lip6.fr Laure Soulier (Cours+TD/TP) Sylvain

Développement d’un site type réseau social

De très nombreuses technos

Langages développement Web→ Java, PHP, ASP, etc...

Frameworks de développement→ Struts, Java Server Faces, Flex, Open Lazlo, etc...

Serveurs de services Web→ Tomcat, IIS, Google Web Server, etc...

Moteurs de bases de données→ MySQL, Hadoop, MongoDB, etc...

Formats d’échange→ HTML, XML, JSON, SOAP, etc...

14 / 23

Page 15: 3I017 - Technologies Webdenoyer/wordpress/wp-content/uploads/...3I017 - Technologies Web Ludovic Denoyer (Cours+Responsable) ludovic.denoyer@lip6.fr Laure Soulier (Cours+TD/TP) Sylvain

Quelles Technologies ?

Technologies ClientHTMLCSSJavaScriptAJAX

Technologies d’échange de donnéesJSONXMLAPI/REST - Web API

15 / 23

Page 16: 3I017 - Technologies Webdenoyer/wordpress/wp-content/uploads/...3I017 - Technologies Web Ludovic Denoyer (Cours+Responsable) ludovic.denoyer@lip6.fr Laure Soulier (Cours+TD/TP) Sylvain

Quelles Technologies ?

Technologies ServeurServeur Web (ici : TOMCAT)Base de données :

I SQL (ici : MySQL)I NoSQL (ici : MongoDB)

Technologies de traitementMap/Reduce

16 / 23

Page 17: 3I017 - Technologies Webdenoyer/wordpress/wp-content/uploads/...3I017 - Technologies Web Ludovic Denoyer (Cours+Responsable) ludovic.denoyer@lip6.fr Laure Soulier (Cours+TD/TP) Sylvain

Concrètement

Etude de CasLe cours est structuré autour du développement ”from scracth” d’unsite Web de type Twitter incluant :

Une interface Web pour les utilisateursUne API disponible pour le développement d’applicationsUn serveur permettant le stockage de grandes masses dedonnées dynamiquesUne interface de traitement de données

17 / 23

Page 18: 3I017 - Technologies Webdenoyer/wordpress/wp-content/uploads/...3I017 - Technologies Web Ludovic Denoyer (Cours+Responsable) ludovic.denoyer@lip6.fr Laure Soulier (Cours+TD/TP) Sylvain

Concrètement

Attention :On a que 11 semaines ⇒ Il faut utiliser les technos récentes etrobustes.

Choix de l’enseignementOn a décidé de s’appuyer sur vos connaissance acquises.

Client Web (et non pas client mobile de type IPhone/Android)Serveur Tomcat (JAVA)On garde une base SQL (mais on rajoute du NoSQL)

18 / 23

Page 19: 3I017 - Technologies Webdenoyer/wordpress/wp-content/uploads/...3I017 - Technologies Web Ludovic Denoyer (Cours+Responsable) ludovic.denoyer@lip6.fr Laure Soulier (Cours+TD/TP) Sylvain

Développement d’un site type réseau social

Ce que l’on va utiliser :

Présentation graphique→ HTML, CSS, Javascript

Serveur de service Web→ Apache Tomcat

Language développement côté serveur→ JAVA

Communication client - serveur→ AJAX avec format JSON

Bases de Données→ MySQL, MongoDB

19 / 23

Page 20: 3I017 - Technologies Webdenoyer/wordpress/wp-content/uploads/...3I017 - Technologies Web Ludovic Denoyer (Cours+Responsable) ludovic.denoyer@lip6.fr Laure Soulier (Cours+TD/TP) Sylvain

Développement d’un site type réseau social

20 / 23

Page 21: 3I017 - Technologies Webdenoyer/wordpress/wp-content/uploads/...3I017 - Technologies Web Ludovic Denoyer (Cours+Responsable) ludovic.denoyer@lip6.fr Laure Soulier (Cours+TD/TP) Sylvain

Développement d’un site type réseau social

Modèle - Vue - Controlleur (MVC)

21 / 23

Page 22: 3I017 - Technologies Webdenoyer/wordpress/wp-content/uploads/...3I017 - Technologies Web Ludovic Denoyer (Cours+Responsable) ludovic.denoyer@lip6.fr Laure Soulier (Cours+TD/TP) Sylvain

Plan de l’UE

Partie 1 : Côté serveur1 Web Services (API REST)2 Conception de Servlets (TOMCAT/JAVA)3 Gestion de bases de données

F Base relationnelles (MySQL)F Base NOSQL (MongoDB)

4 Communication Serveurs/BD (MYSQL, JDBC, DataSource,...)Partie 2 : Développement de client Web

1 Mise en forme de pages Web (HTML + CSS) (pour différentesplateformes)

2 Pages interactives (Javascript, JQuery, ...)3 Communication Client - Serveur (Tomcat, Servlets, AJAX, ...)

Partie 3 : Traitement de grandes masses de donnéesI Technos (Map/Reduce)I Enjeux/Modèles économique

22 / 23

Page 23: 3I017 - Technologies Webdenoyer/wordpress/wp-content/uploads/...3I017 - Technologies Web Ludovic Denoyer (Cours+Responsable) ludovic.denoyer@lip6.fr Laure Soulier (Cours+TD/TP) Sylvain

Critères de réussite de l’UE

Côté étudiant :Les étudiants ont fait preuve d’autonomieCe cours permet d’acquérir un socle pour découvrir ”parsoi-même”Les étudiants ont acquis une compétence professionnelleVous êtes capables de monter votreTwitter/Facebook/Megaupload vous même dès maintenant

Répétition : Cette UE est structurée autour d’un projet qui doit être lasource de motivation de chacun. Les enseignants seront ouverts (etfavorables) à toute proposition/personnalisation de l’UE. Pas deprojet/implication ⇒ pas de ”diplôme”.

23 / 23

Page 24: 3I017 - Technologies Webdenoyer/wordpress/wp-content/uploads/...3I017 - Technologies Web Ludovic Denoyer (Cours+Responsable) ludovic.denoyer@lip6.fr Laure Soulier (Cours+TD/TP) Sylvain

Forum de discussion

Utilisation d’un site Piazza pour les discussions entre étudiants +enseignants/étudiantsInscription en cours......sauf opposition

24 / 23