Académique Documents
Professionnel Documents
Culture Documents
Cours PLAI
Programmation, Langages et Applications Internet
1ère Partie Technologies du Web (PLAI-TW)
http://lig-membres.imag.fr/genoud/teaching/PL2AI/
Philippe GENOUD (LIG-STeamer)
Philippe.Genoud@imag.fr
Positionnement du cours
• Programmation – Applications Internet (PLAI)
M2CCI formation courte sur 1 ans organisée en 2 semestres
• Technologies du Web
des cours en commun avec le master GEOMAS (GéoMatique et Analyse Spatiale) • HTML,
• CSS,
• JavaScript
• protocole HTTP
• Programmation orientée objets
• Concepts de la programmation orientée
objets (encapsulation, héritage, classes et
M1 GEOMAS méthodes abstraites, interfaces, généricité…)
• Introduction au langage Java
• Enseignant: Philippe GENOUD
• Philippe.Genoud@univ-grenoble-alpes.fr
https://www.youtube.com/watch?v=Dxcc6ycZ73M&list=PLzdnOPI1iJNfMRZm5DDxco3UdsFegvuB
https://www.youtube.com/watch?v=dFmTbZMGRdQ
durée 4:29 min
https://www.youtube.com/watch?v=hrzXdKvG1CY
durée 2:53 min
https://www.youtube.com/watch?v=xhjgvhZQ-j8
durée 2:39 min
https://www.youtube.com/watch?v=scWj1BMRHUA
durée 10:54min
Cours PLAI
Programmation, Langages et Applications Internet
1ère Partie Technologies du Web (PLAI-TW)
http://lig-membres.imag.fr/genoud/teaching/PL2AI/
Philippe GENOUD (LIG-STeamer)
Philippe.Genoud@imag.fr
Objectifs de cette 1ère séance
Avoir un vision globale des points qui seront abordés dans les cours PLAI-TW puis AWA
Comprendre les principes de fonctionnement de l'internet
Comprendre l'architecture du World Wide Web et le rôle de ses différents composants
WHATWG
API
REST
1957 1980
Création de 1974 Création du 1994
l'ARPA du DoD Définition du protocole FTP Naissance du W3C
des USA protocole TCP/IP Then
1990 « Web 3.0 » ?
1969 Disparition d'ARPANET et naissance
Now
Création du World Wide Web avec Tim
d'ARPANET Berners-Lee et le protocole HTTP « Web 4.0 » ?
FAI
Connexions : Câble coaxial, fibre optique, câble téléphonique, liaison sans fils (ondes radio, infrarouge, micro-ondes, satellite)
Septembre 2023 © Philippe GENOUD UGA 14
Internet
Internet
Technologies de l'internet
API WHATWG
REST
code.org
The Internet:
IP Addresses & DNS
https://www.youtube.com/watch?v=5o8CwafCxnU&index=3&list=PLzdnOPI1iJNfMRZm5DDxco3UdsFegvuB7
source
https://fr.wikipedia.org/wiki/Adresse_IP
source
https://fr.wikipedia.org/wiki/Adresse_IP
https://www.youtube.com/watch?v=5o8CwafCxnU&index=3&list=PLzdnOPI1iJNfMRZm5DDxco3UdsFegvuB7
191.233.187.34
195.221.225.125 191.233.187.79
Adresse
réseau
195.221.225.6 191.233.212.162
Numéro de la
machine sur le
réseau 191.233.212.114
de la forme : nomDeMachine.nomDeDomaine
191.233.187.34
195.221.225.125 191.233.187.79
pcnt104-08.imag.fr noisetier.inrialpes.fr
Adresse
réséau
195.221.225.6 191.233.212.162
kernighan.imag.fr baruntse.inrialpes.fr
191.233.212.114
Domaine inrialpes.fr
Septembre 2023 © Philippe GENOUD UGA 20
Technologies de l'internet : Routage
Routeurs :
Relais de l’information
Passerelles :
Machines qui interconnectent deux réseaux
routeur
routeur
195.221.225.125 193.48.255.206
routeur routeur
routeur
195.221.225.6 193.54.238.59
FIABILITE (Reliability)
routeur
routeur
195.221.225.125 193.48.255.206
routeur routeur
routeur
195.221.225.6
http://www.pbs.org/opb/nerds2.0.1/geek_glossary/packet_switching_flash.html
Internet
Routeur
TCP/IP
Routeur
Routeur
Routeur
Routeur
Le Web
API WHATWG
REST
Page d'accueil du 1er site (ensemble de pages) web mis en ligne par le CERN en
décembre 1990
connexion sur une machine distante : Telnet, rlogin, ssh (Secure Shell)
…
API WHATWG
REST
consortium chargé de promouvoir la compatibilité des technologies du World Wide Web telles que
XML,
RDF,
CSS,
PNG, SVG
SOAP…
Standard
API
REST
Description textuelle
Balises (tags) = structure + directives de présentation
Contenu = textuel + multimédia
Liens : un document peut faire référence
à d'autres documents
Internet
WWW
HTML
Routeur liens
TCP/IP internes à
un site
Routeur HTML
Routeur
lien entre
sites
HTML
Routeur
HTML
HTML
Web : CSS
API
REST
style1.css
style2.css
http://www.csszengarden.com/
WHATWG
API
REST
Spécifie :
– Comment les clients demandent les données
– Comment les serveurs répondent à ces requêtes
Navigateur Web :
Serveur Web :
serveur HTTP qui transmet aux clients web les documents demandés
Apache, Nginx, Microsoft IIS, Tomcat, Jetty……
Internet
WWW
HTML
serveur HTTP
Routeur
HTTP
HTTP TCP/IP
HTTP
Routeur HTML
Routeur
client HTTP
HTTP
HTTP
HTML
Routeur serveur HTTP
client HTTP
serveur HTTP HTML
HTML
Web : URL
WHATWG
API
REST
https://lig-membres.imag.fr:80/genoud/teaching/exemple1/index.html
Client http
INTERNET Serveur
https://lig-membres.imag.fr/genoud/teaching/exemple1/index.html http
1. Demande de chargement d’une page web
2. Recherche locale
du document
HTML
HTML HTML
HTML
HTML
HTML
HTML
WHATWG
API
REST
Client http
INTERNET Serveur
https://lig-membres.imag.fr/genoud/teaching/exemple1/index.html http
1. Demande de chargement d’une page web
HTML
HTML HTML
HTML
HTML
HTML
HTML
www.google.fr
fr.wikipedia.org
Internet
WWW
HTML
Routeur
TCP/IP
Routeur HTML
pages statiques
HTML
Routeur
HTML
HTML
pages statiques
Web : pages statiques / pages dynamiques
Internet
WWW
HTML
Routeur
TCP/IP
Routeur HTML
HTML
Routeur
page dynamique
HTML
HTML pages dynamiquess
page dynamique
pages statiques
Vocabulaire
WHATWG
API
REST
1. requête
http://localhost:8084/HelloWorld/hello.jsp?nom=Philippe
GET HelloWorld.php
WHATWG
API
REST
JavaScript
Flash – Action Script (Adobe)
1 requête http
2
HTML/hhtp
+
javascript
Client Serveur
GET HelloWorld.html
nombreCaché.js
Un code JavaScript est exécuté
nombreCaché.js
3
WHATWG
API
REST
Certaines requêtes de
l'utilisateur sont traitées
Interaction
de l'utilisateur localement par le navigateur
4 grâce à la couche d'intelligence
3 qui accompagne la présentation
Client Serveur
Web 2.0 : utiliser aussi JavaScript pour communiquer avec un serveur et mettre à jour la
page
Septembre 2023 © Philippe GENOUD UGA 58
Web 2.0 : AJAX
AJAX: Asynchronous JavaScript and XML
Mise à jour de
la description
9 de la page
(Arbre DOM)
8 <valid>
true
</valid>
WHATWG
API
REST
WHATWG
API
REST
intérêts
Bonne organisation du code source grâce à l'architecture proposée (imposée ?) par le framework
Rapidité de développement
au lieu de faire un développement complet à partir zéro on s'appuie sur les composants du
framework et on peut plus facilement se concentrer que sur la partie métier
Meilleures maintenabilité
Le Web 2.0
Le Web 3.0
Le Web 4.0