SlideShare une entreprise Scribd logo
1  sur  51
Télécharger pour lire hors ligne
Technologie Web
Le 5 Novembre 2010
Présentation
Benoît Simard
• Sorti de l'IMA en 2007 (IMA 9)
• Smile (SSII / SSLL)
• 3 ans
• Spécialisé dans :
• Le web
• Le logiciel libre
• Chef de projet technique
Plan
1. Internet c'est quoi ?
2. Et le web ?
3. Le protocole HTTP
4. HTML, CSS & Javascript
5. Le serveur Apache
6. Le serveur Tomcat
7. Les applications web en Java
8. Le modèle MVC
9. Exemple de framework
Plan
 1. Internet c'est quoi ?
2. Le web, c'est quoi alors ?
3. Le protocole HTTP
4. HTML, CSS & Javascript
5. Le serveur Apache
6. Le serveur Tomcat
7. Les applications web en Java
8. Le modèle MVC
9. Exemple de framework
Internet c'est quoi ?
Vos réponses ?
Internet c'est quoi ?
Ne pas confondre Internet et Web
Le web n'est qu'une des applications
d'Internet
Internet c'est quoi ?
Voici d'autres applications d'Internet :
• Les mails (IMAP / SMTP / POP)
• La messagerie Instantanée (XMPP)
• Transfert de fichier (FTP)
• Serveur de fichier (SAMBA/CIFS)
• VOIP
Pour la petite histoire
• Le terme internet existe depuis 1983
• Internet découle d'ARPANET (1969) :
• Reliait des ordinateurs d'université
• Sponsorisé par la DARPA (Defense Advanced
Reseach Projects Agency)
• Mythe : permettre au réseaux militaires de
continuer à fonctionner malgré une attaque
massive.
• 1969 : 4 ; 1971 : 15 ; 1972 : 37
Pour la petite histoire
Internet c'est quoi ?
Internet c'est du client / Serveur
Client
• Client : est une application qui envoie des
demandes à une application distante (serveur).
• thunderbird
• fileZila
• Firefox
• Gtalk
Serveur
• Serveur : est une application dont le rôle est de
répondre de manière automatique à des
demandes clients
• Postfix / imapd
• proFTPD
• Apache
• Jabber
Client léger
• Client
• Ne traite que la couche de présentation
• Ne fait aucun traitement (ou peu)
• Pas de logiciel spécifique
• Serveur
• Serveur puissant ! Il fait tout et pour tout le
monde
• Pour un upgrade de version, il n'y a que le
serveur à mettre à jour
Client léger
Client de rhabillage
• Client
• Ne traite que la couche de présentation
• Ne fait aucun traitement (ou peu)
• Pas de logiciel spécifique
• Serveur
• Serveur puissant ! Il fait tout et pour tout le monde
• Pour un upgrade de version, il n'y a que le serveur à
mettre à jour
• Possède aussi une IHM
Client de rhabillage
Client lourd
• Client
• Fait tout le traitement
• Logiciel spécifique
• Pour les upgrades de version, on doit mettre à jour
tous les clients installés !
• Serveur
• Serveur accède aux données
• Traite l'accès aux données
• Doit gérer les transactions
Client lourd
Client / Serveur
Beaucoup d'autres
architectures ...
Client / Serveur
Internet c'est quoi ?
« Internet est un réseau
informatique qui utilise le protocole
de communication (i.e. réseau) IP
(Internet Protocol) »
Internet est basé sur le TCP/IP
La pile réseau
1. Physique
2. Liaison
3. Réseau (IP) : construit une voie de communication
entres les machines (ce sont les routes)
4. Transport (TCP & UDP) : gère la transmission des
données.
5. Session : gère les transactions (absent dans le
monde IP, sauf SIP)
6. Présentation : converti les données applicatives en
données transmises
7. Application (HTTP) : est le point d'entrée aux
services réseaux.
Le protocole réseau IP
• permettant un service d'adressage unique pour
l'ensemble des terminaux connectés
• Ne se préoccupe pas du contenu des paquets
• Ipv4
• 127.0.0.1 (32bits)
• ~ 4 milliards d'adresses (4.10^9)
• Moins de 5% d'adresse Ipv4 depuis ce mois-ci
• Ipv6
• 2001:0db8:0000:85a3:0000:0000:ac1f:8001 (128bits)
• 4.10^38
Les protocoles de transport
TCP & UDP
TCP UDP
Mode connecté ?
Nécessite d'établir une
connexion avant
d'envoyer des paquets
Non
Protocole fiable ?
Garantie de livraison
Numéro de séquence
Contrôle des données
Aucune garantie de livraison
Aucune garantie de séquence
Contrôle des données
Résumé
Protocole très fiable. On
est sur de la
transmission des
données.
Transport lent et
consommateur de
ressources
Protocole non fiable, on est
pas sur de la transmission des
données, ni de leur ordre
d'arrivée
Transport rapide et consomme
peu de ressources.
Communication
client / serveur
Communication
client / serveur
Domain Name System
« service permettant d'établir une
correspondance entre une adresse
IP et son nom de domaine »
Les informations de DNS sont
redondantes sur Internet (beaucoup
de cache) !
Plan

1. Internet c'est quoi ?
2. Le web, c'est quoi alors ?
3. Le protocole HTTP
4. HTML, CSS & Javascript
5. Le serveur Apache
6. Le serveur Tomcat
7. Les applications web en Java
8. Le modèle MVC
9. Exemple de framework
Le web, c'est quoi ?
• C'est un système hypertexte qui permet de
consulter avec un navigateur des pages d'un
site
• le web quoi !
• Un système hypertexte contient des noeuds
liés entre eux par des hyperliens
La base du web
• Architecture Client (léger) / Serveur
• Basé sur le protocole Http
URL, URN & URI
• URL : Uniform Ressource Locator
• Spécification de la localisation d’une ressource de manière
unique
• URN : Uniform Ressource Name
• Mécanisme de nommage des ressources
• urn:<Namespace>:<SpecificString>
• Namespace : identificateur de nommage (ex : isbn)
• SpecificString : chaîne de caractères spécifique désignant la
ressource de manière unique
• URI : Uniform Resource Identifier
• URI = URL + URN
• En pratique, la forme d’URI la plus utilisée est l’URL
URL
• Format :
• <protocole>://<serveur>:<port>/<chemin>/<ressour
ce>
• Attention : les caractères spéciaux doivent être
encodés !
• # = %23 | = %20 | / = %2F
• Exemple :
• http://www.ima.uco.fr
• ftp://ftp.uco.fr
• mailto://contact@bsimard.com
Les ressources web
• Ressources Statiques
• HTML
• Images
• Son
• Vidéo
• Ressources dynamiques
• Coté client : applet, javascript, ActiveX,
• Coté serveur : CGI, J2EE, PHP, .Net, ...
Le web c'est quoi ?
Et le web 2.0, c'est quoi ?
Plan

1. Internet c'est quoi ?
2. Le web, c'est quoi alors ?
3. Le protocole HTTP
4. HTML, CSS & Javascript
5. Le serveur Apache
6. Le serveur Tomcat
7. Les applications web en Java
8. Le modèle MVC
9. Exemple de framework
Le protocole HTTP
• Http://www.w3.org
• Hyper transfer protocole
• Stateless
• Protocole orienté caractères :
• Les requêtes et réponses ne sont que des
caractères
• Exemple avec un telnet / netcat
• GET www.google.fr HTTP/1.1
Le protocole HTTP
• Stateless
• Le résultat d'une requête ne dépend pas de
l'état du serveur
• Si on exécute plusieurs fois une même
requête, on obtient la même réponse
Le protocole HTTP
Request : GET www.google.fr/ HTTP/1.1
Response :
HTTP/1.1 200 OK ← Version du protocole et code de retour
Date: Mon, 01 Nov 2010 17:25:58 GMT ← la date de la réponse
Expires: -1 ← la date d'expiration de la ressource
Cache-Control: private, max-age=0 ← politique de cache
Content-Type: text/html; charset=ISO-8859-1 ← le type et l'encodage de la
réponse
Set-Cookie:
PREF=ID=e02fe0bed019bbc4:FF=0:TM=1288632358:LM=1288632358:S=UUr
mM8ba6F1ynQNc; expires=Wed, 31-Oct-2012 17:25:58 GMT; path=/;
domain=.google.fr <- Création d'un cookie
Le protocole HTTP
Request line : METHODE URI Version HTTP
Les méthodes
• OPTIONS : demande les méthodes utilisables sur l'URI
• HEAD : demande uniquement les information de l'URI
• TRACE : Fait un echo de la requête envoyé
• GET : Demande d'info sur l'URI
• POST : Demande de données à traiter par l'URI
• PUT : Demande d'enregistrement de données à l'URI
• DELETE : Demande de suppression les données pointées
par l'URI
Les codes de retrour
• 5 Classes de retour (Status-Code)
• 1XX : Information
• 2XX : Succès
• 3XX : Redirection
• 4XX : Erreur client
• 5XX : Erreur serveur
Les éléments de la requête / de
la réponse
• Cache-Control : définit la politique de cache pour la ressource
• Connection : paramètre de gestion de la connexion (ex :
Connection: close)
• Date : date du message
• Pragma : utilisé pour spécifier des comportements aux serveurs
intermédiaires (proxy)
• Transfer-Encoding : types de transformations appliquées au corps
du message
• Upgrade : spécifie quels autres protocoles supporte le client
• Via : indique les intermédiaires par lesquels est passée la requête
Les éléments de la requête / de
la réponse
• Allow : liste les méthodes autorisées
• Content-Encoding : indique l’encodage utilisé pour la
ressource (complément au type de média du Content-Type)
• Content-Language : défini la langue utilisée
• Content-length : taille du corps du message
• Content-Location : donne la véritable URI de la ressource si
celle-ci a été trouvée grâce à une autre URI
• Content-Type : le type du média (ex : text/html ; charset=ISO-
8859-1)
• Expires : date d’expiration de la ressource
• Last-Modified : date de dernière modification
Les éléments de la requête
●
Accept : définit les types de médias acceptés
●
Accept-Charset : spécifie les jeux de caractères
acceptés
●
Accept-Encoding : spécifie les types de transformations
(compressions) du message acceptés
●
Accept-Language : spécifie les langues acceptées
●
Host : spécifie le serveur (et le port) pour la requête
●
Referer : spécifie l’URI à l’origine de la requête
●
User-Agent : contient l’identifiant du navigateur client
Les codes de retour
• 200 : OK
• 301 : Moved permanently
• 302 : Moved temporarily
• 400 : Bad Request
• 401 : Unauthorized
• 403 : Forbidden
• 404 : Not Found
• 500 : Internal Server Error
• 502 : Bad Gateway
• 504 : Gateway Time-out
• 503 : Service Unvailable
Les éléments de la réponse
• Etag : identifiant d'une ressource dans la cache
(un pour chaque version de la ressource)
• Location: redirige la requête vers une autre URI
(ex : Status-Code : 3XX)
• Server: indique le type du serveur web
répondant à la requête
Le protocole HTTP
Le client exprime ses capacités
Le serveur retourne la ressource la
plus adéquate
• Langue : fr, en
• Content Type (ou Type MIME) : text/css
• Charset : utf8, ISO-8859
• Encodage : gzip
Le protocole HTTP 1.1
• Ne gère pas les sessions !
• => On utilise les cookies
• Fichiers textes stockés sur le disque dur du
client
• Informations stockées en clair
• Date d'expiration fixé par le serveur
Le protocole HTTP 1.1
• N'est pas sécurisé !
• => protocole HTTPS
• Vérification de l'identité d'un site par un
certificat
• Les données sont scriptées
L'architecture REST
• C'est une manière de construire une
application web
• Ce n'est pas un protocole ou un
format
• C'est un style d'architecture
d'application
• Respecte le protocole HTPP
L'architecture REST
• L'URI est importante
• 1 URI = 1 ressource / action
• Stateless
• Chaque opération est auto-suffisante
• Respecte le protocole HTTP
• Respecte les méthodes
• GET = SELECT
• PUT = UPDATE
• POST = INSERT
• DELETE = DELETE

Contenu connexe

Tendances

Etes vous prêts pour le succes ?
Etes vous prêts pour le succes ?Etes vous prêts pour le succes ?
Etes vous prêts pour le succes ?
Steven VAN POECK
 
Presentation
PresentationPresentation
Presentation
bois
 

Tendances (12)

Serveur Web (1)
Serveur Web (1)Serveur Web (1)
Serveur Web (1)
 
08 02 mise en place de serveurs virtuels apache 2
08 02 mise en place de serveurs virtuels apache 208 02 mise en place de serveurs virtuels apache 2
08 02 mise en place de serveurs virtuels apache 2
 
S51 vos projets web services ibm i a l aide de php
S51   vos projets web services ibm i a l aide de phpS51   vos projets web services ibm i a l aide de php
S51 vos projets web services ibm i a l aide de php
 
Actnc2b01 bts1
Actnc2b01 bts1Actnc2b01 bts1
Actnc2b01 bts1
 
Reseau entreprise
Reseau entrepriseReseau entreprise
Reseau entreprise
 
Tout ce que le getting started mongo db ne vous dira pas
Tout ce que le getting started mongo db ne vous dira pasTout ce que le getting started mongo db ne vous dira pas
Tout ce que le getting started mongo db ne vous dira pas
 
Etes vous prêts pour le succes ?
Etes vous prêts pour le succes ?Etes vous prêts pour le succes ?
Etes vous prêts pour le succes ?
 
Resume SGBDR
Resume SGBDRResume SGBDR
Resume SGBDR
 
Exchange : Comment sécuriser un serveur Exchange 2010
Exchange : Comment sécuriser un serveur Exchange 2010Exchange : Comment sécuriser un serveur Exchange 2010
Exchange : Comment sécuriser un serveur Exchange 2010
 
Presentation d'un cms: SPIP
Presentation d'un cms: SPIPPresentation d'un cms: SPIP
Presentation d'un cms: SPIP
 
Presentation
PresentationPresentation
Presentation
 
Formation webmaster
Formation webmasterFormation webmaster
Formation webmaster
 

En vedette

Drifting cars and riders
Drifting cars and riders Drifting cars and riders
Drifting cars and riders
litoslcg
 
Vorstellung OberPrima Lernsprechstunde BS-Niebüll
Vorstellung OberPrima Lernsprechstunde BS-NiebüllVorstellung OberPrima Lernsprechstunde BS-Niebüll
Vorstellung OberPrima Lernsprechstunde BS-Niebüll
oberprima
 
La tyrannie de la paresse
La tyrannie de la paresseLa tyrannie de la paresse
La tyrannie de la paresse
pareto35
 
Journée PluriTAL 2012 - Christian Jean
Journée PluriTAL 2012 - Christian JeanJournée PluriTAL 2012 - Christian Jean
Journée PluriTAL 2012 - Christian Jean
AFTAL
 
Trois rivières
Trois rivièresTrois rivières
Trois rivières
hegdms0
 

En vedette (19)

Initiation aux notions du web.2.0
Initiation aux  notions du web.2.0Initiation aux  notions du web.2.0
Initiation aux notions du web.2.0
 
Formation Web 2.0
Formation Web 2.0Formation Web 2.0
Formation Web 2.0
 
Drifting cars and riders
Drifting cars and riders Drifting cars and riders
Drifting cars and riders
 
Presentation Cyber sudoe
Presentation Cyber sudoePresentation Cyber sudoe
Presentation Cyber sudoe
 
Vorstellung OberPrima Lernsprechstunde BS-Niebüll
Vorstellung OberPrima Lernsprechstunde BS-NiebüllVorstellung OberPrima Lernsprechstunde BS-Niebüll
Vorstellung OberPrima Lernsprechstunde BS-Niebüll
 
Petit guide à l'usage de ceux qui intègrent un Master TAL
Petit guide à l'usage de ceux qui intègrent un Master TALPetit guide à l'usage de ceux qui intègrent un Master TAL
Petit guide à l'usage de ceux qui intègrent un Master TAL
 
ShriKrishnaDarshan
ShriKrishnaDarshanShriKrishnaDarshan
ShriKrishnaDarshan
 
Gold: Vorteile und Nachteile im Überblick - Böhms DAX-Strategie
Gold: Vorteile und Nachteile im Überblick - Böhms DAX-StrategieGold: Vorteile und Nachteile im Überblick - Böhms DAX-Strategie
Gold: Vorteile und Nachteile im Überblick - Böhms DAX-Strategie
 
T1 p2 d1
T1 p2 d1T1 p2 d1
T1 p2 d1
 
La tyrannie de la paresse
La tyrannie de la paresseLa tyrannie de la paresse
La tyrannie de la paresse
 
QGIS jenseits von zwei Dimensionen - KAGIS-Fachtagung 2015
QGIS jenseits von zwei Dimensionen - KAGIS-Fachtagung 2015QGIS jenseits von zwei Dimensionen - KAGIS-Fachtagung 2015
QGIS jenseits von zwei Dimensionen - KAGIS-Fachtagung 2015
 
Guide du sans contact mobile
Guide du sans contact mobileGuide du sans contact mobile
Guide du sans contact mobile
 
2 hr
2 hr 2 hr
2 hr
 
Les Fetes
Les FetesLes Fetes
Les Fetes
 
Dossier de presse financement de l'économie
Dossier de presse   financement de l'économie  Dossier de presse   financement de l'économie
Dossier de presse financement de l'économie
 
La stratégie de la Région pour le Haut débit
La stratégie de la Région pour le Haut débitLa stratégie de la Région pour le Haut débit
La stratégie de la Région pour le Haut débit
 
PréSentation Mon Entreprise Est Une ScèNe
PréSentation Mon Entreprise Est Une ScèNePréSentation Mon Entreprise Est Une ScèNe
PréSentation Mon Entreprise Est Une ScèNe
 
Journée PluriTAL 2012 - Christian Jean
Journée PluriTAL 2012 - Christian JeanJournée PluriTAL 2012 - Christian Jean
Journée PluriTAL 2012 - Christian Jean
 
Trois rivières
Trois rivièresTrois rivières
Trois rivières
 

Similaire à technologie web

Drupal 8, symfony
Drupal 8, symfonyDrupal 8, symfony
Drupal 8, symfony
jeUXdiCode
 
Introduction dans la Programmation Web Course 1
Introduction dans la Programmation Web Course 1Introduction dans la Programmation Web Course 1
Introduction dans la Programmation Web Course 1
Vlad Posea
 
Enib cours c.a.i. web - séance #1 - html5 css3-js - 1
Enib   cours c.a.i. web - séance #1 - html5 css3-js - 1Enib   cours c.a.i. web - séance #1 - html5 css3-js - 1
Enib cours c.a.i. web - séance #1 - html5 css3-js - 1
Horacio Gonzalez
 

Similaire à technologie web (20)

spring.pdf
spring.pdfspring.pdf
spring.pdf
 
Les Web Services en 60 diapos chrono !
Les Web Services en 60 diapos chrono !Les Web Services en 60 diapos chrono !
Les Web Services en 60 diapos chrono !
 
Comprendre, utiliser et créer une API
Comprendre, utiliser et créer une APIComprendre, utiliser et créer une API
Comprendre, utiliser et créer une API
 
WebSocket avec Java EE 7
WebSocket avec Java EE 7WebSocket avec Java EE 7
WebSocket avec Java EE 7
 
Introduction au web cours.pdf
Introduction au web cours.pdfIntroduction au web cours.pdf
Introduction au web cours.pdf
 
Drupal 8, symfony
Drupal 8, symfonyDrupal 8, symfony
Drupal 8, symfony
 
Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
 
intro-tech-web-lp3-jan-21-slides-1-a-9.pdf
intro-tech-web-lp3-jan-21-slides-1-a-9.pdfintro-tech-web-lp3-jan-21-slides-1-a-9.pdf
intro-tech-web-lp3-jan-21-slides-1-a-9.pdf
 
Cours 8 squid.pdf
Cours 8 squid.pdfCours 8 squid.pdf
Cours 8 squid.pdf
 
Soap
SoapSoap
Soap
 
Support de cours angular
Support de cours angularSupport de cours angular
Support de cours angular
 
Vincent biret azure functions et flow #AosCanadianTour (quebec)
Vincent biret azure functions et flow #AosCanadianTour (quebec)Vincent biret azure functions et flow #AosCanadianTour (quebec)
Vincent biret azure functions et flow #AosCanadianTour (quebec)
 
Introduction dans la Programmation Web Course 1
Introduction dans la Programmation Web Course 1Introduction dans la Programmation Web Course 1
Introduction dans la Programmation Web Course 1
 
Internet et ses services
Internet et ses servicesInternet et ses services
Internet et ses services
 
Techniques d&rsquo;accélération des pages Web
Techniques d&rsquo;accélération des pages WebTechniques d&rsquo;accélération des pages Web
Techniques d&rsquo;accélération des pages Web
 
Serveurs
ServeursServeurs
Serveurs
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)
 
ENIB 2013-2014 - CAI Web #1: Côté navigateur 1/3
ENIB 2013-2014 - CAI Web #1: Côté navigateur 1/3ENIB 2013-2014 - CAI Web #1: Côté navigateur 1/3
ENIB 2013-2014 - CAI Web #1: Côté navigateur 1/3
 
Enib cours c.a.i. web - séance #1 - html5 css3-js - 1
Enib   cours c.a.i. web - séance #1 - html5 css3-js - 1Enib   cours c.a.i. web - séance #1 - html5 css3-js - 1
Enib cours c.a.i. web - séance #1 - html5 css3-js - 1
 
Initiation à l'intégration avec biztalk server
Initiation à l'intégration avec biztalk serverInitiation à l'intégration avec biztalk server
Initiation à l'intégration avec biztalk server
 

Plus de Benoît Simard (6)

Paris meetup-rdf
Paris meetup-rdfParis meetup-rdf
Paris meetup-rdf
 
20161020 - Paris - Retour GC
20161020  - Paris - Retour GC20161020  - Paris - Retour GC
20161020 - Paris - Retour GC
 
technologie web- part4
technologie web- part4technologie web- part4
technologie web- part4
 
technologie web - part3
technologie web - part3technologie web - part3
technologie web - part3
 
technologie web - part2
technologie web - part2technologie web - part2
technologie web - part2
 
Formation Play! framework
Formation Play! frameworkFormation Play! framework
Formation Play! framework
 

Dernier

Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
ikospam0
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
ssuserc72852
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
AmgdoulHatim
 

Dernier (20)

STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdfSTRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptx
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLE
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptx
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
 
Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024
 
La mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsLa mondialisation avantages et inconvénients
La mondialisation avantages et inconvénients
 
658708519-Power-Point-Management-Interculturel.pdf
658708519-Power-Point-Management-Interculturel.pdf658708519-Power-Point-Management-Interculturel.pdf
658708519-Power-Point-Management-Interculturel.pdf
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptx
 
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
 
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
 
Cours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesCours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiques
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
 

technologie web

  • 1. Technologie Web Le 5 Novembre 2010
  • 2. Présentation Benoît Simard • Sorti de l'IMA en 2007 (IMA 9) • Smile (SSII / SSLL) • 3 ans • Spécialisé dans : • Le web • Le logiciel libre • Chef de projet technique
  • 3. Plan 1. Internet c'est quoi ? 2. Et le web ? 3. Le protocole HTTP 4. HTML, CSS & Javascript 5. Le serveur Apache 6. Le serveur Tomcat 7. Les applications web en Java 8. Le modèle MVC 9. Exemple de framework
  • 4. Plan  1. Internet c'est quoi ? 2. Le web, c'est quoi alors ? 3. Le protocole HTTP 4. HTML, CSS & Javascript 5. Le serveur Apache 6. Le serveur Tomcat 7. Les applications web en Java 8. Le modèle MVC 9. Exemple de framework
  • 5. Internet c'est quoi ? Vos réponses ?
  • 6. Internet c'est quoi ? Ne pas confondre Internet et Web Le web n'est qu'une des applications d'Internet
  • 7. Internet c'est quoi ? Voici d'autres applications d'Internet : • Les mails (IMAP / SMTP / POP) • La messagerie Instantanée (XMPP) • Transfert de fichier (FTP) • Serveur de fichier (SAMBA/CIFS) • VOIP
  • 8. Pour la petite histoire • Le terme internet existe depuis 1983 • Internet découle d'ARPANET (1969) : • Reliait des ordinateurs d'université • Sponsorisé par la DARPA (Defense Advanced Reseach Projects Agency) • Mythe : permettre au réseaux militaires de continuer à fonctionner malgré une attaque massive. • 1969 : 4 ; 1971 : 15 ; 1972 : 37
  • 9. Pour la petite histoire
  • 10. Internet c'est quoi ? Internet c'est du client / Serveur
  • 11. Client • Client : est une application qui envoie des demandes à une application distante (serveur). • thunderbird • fileZila • Firefox • Gtalk
  • 12. Serveur • Serveur : est une application dont le rôle est de répondre de manière automatique à des demandes clients • Postfix / imapd • proFTPD • Apache • Jabber
  • 13. Client léger • Client • Ne traite que la couche de présentation • Ne fait aucun traitement (ou peu) • Pas de logiciel spécifique • Serveur • Serveur puissant ! Il fait tout et pour tout le monde • Pour un upgrade de version, il n'y a que le serveur à mettre à jour
  • 15. Client de rhabillage • Client • Ne traite que la couche de présentation • Ne fait aucun traitement (ou peu) • Pas de logiciel spécifique • Serveur • Serveur puissant ! Il fait tout et pour tout le monde • Pour un upgrade de version, il n'y a que le serveur à mettre à jour • Possède aussi une IHM
  • 17. Client lourd • Client • Fait tout le traitement • Logiciel spécifique • Pour les upgrades de version, on doit mettre à jour tous les clients installés ! • Serveur • Serveur accède aux données • Traite l'accès aux données • Doit gérer les transactions
  • 19. Client / Serveur Beaucoup d'autres architectures ...
  • 21. Internet c'est quoi ? « Internet est un réseau informatique qui utilise le protocole de communication (i.e. réseau) IP (Internet Protocol) » Internet est basé sur le TCP/IP
  • 22. La pile réseau 1. Physique 2. Liaison 3. Réseau (IP) : construit une voie de communication entres les machines (ce sont les routes) 4. Transport (TCP & UDP) : gère la transmission des données. 5. Session : gère les transactions (absent dans le monde IP, sauf SIP) 6. Présentation : converti les données applicatives en données transmises 7. Application (HTTP) : est le point d'entrée aux services réseaux.
  • 23. Le protocole réseau IP • permettant un service d'adressage unique pour l'ensemble des terminaux connectés • Ne se préoccupe pas du contenu des paquets • Ipv4 • 127.0.0.1 (32bits) • ~ 4 milliards d'adresses (4.10^9) • Moins de 5% d'adresse Ipv4 depuis ce mois-ci • Ipv6 • 2001:0db8:0000:85a3:0000:0000:ac1f:8001 (128bits) • 4.10^38
  • 24. Les protocoles de transport TCP & UDP TCP UDP Mode connecté ? Nécessite d'établir une connexion avant d'envoyer des paquets Non Protocole fiable ? Garantie de livraison Numéro de séquence Contrôle des données Aucune garantie de livraison Aucune garantie de séquence Contrôle des données Résumé Protocole très fiable. On est sur de la transmission des données. Transport lent et consommateur de ressources Protocole non fiable, on est pas sur de la transmission des données, ni de leur ordre d'arrivée Transport rapide et consomme peu de ressources.
  • 27. Domain Name System « service permettant d'établir une correspondance entre une adresse IP et son nom de domaine » Les informations de DNS sont redondantes sur Internet (beaucoup de cache) !
  • 28. Plan  1. Internet c'est quoi ? 2. Le web, c'est quoi alors ? 3. Le protocole HTTP 4. HTML, CSS & Javascript 5. Le serveur Apache 6. Le serveur Tomcat 7. Les applications web en Java 8. Le modèle MVC 9. Exemple de framework
  • 29. Le web, c'est quoi ? • C'est un système hypertexte qui permet de consulter avec un navigateur des pages d'un site • le web quoi ! • Un système hypertexte contient des noeuds liés entre eux par des hyperliens
  • 30. La base du web • Architecture Client (léger) / Serveur • Basé sur le protocole Http
  • 31. URL, URN & URI • URL : Uniform Ressource Locator • Spécification de la localisation d’une ressource de manière unique • URN : Uniform Ressource Name • Mécanisme de nommage des ressources • urn:<Namespace>:<SpecificString> • Namespace : identificateur de nommage (ex : isbn) • SpecificString : chaîne de caractères spécifique désignant la ressource de manière unique • URI : Uniform Resource Identifier • URI = URL + URN • En pratique, la forme d’URI la plus utilisée est l’URL
  • 32. URL • Format : • <protocole>://<serveur>:<port>/<chemin>/<ressour ce> • Attention : les caractères spéciaux doivent être encodés ! • # = %23 | = %20 | / = %2F • Exemple : • http://www.ima.uco.fr • ftp://ftp.uco.fr • mailto://contact@bsimard.com
  • 33. Les ressources web • Ressources Statiques • HTML • Images • Son • Vidéo • Ressources dynamiques • Coté client : applet, javascript, ActiveX, • Coté serveur : CGI, J2EE, PHP, .Net, ...
  • 34. Le web c'est quoi ? Et le web 2.0, c'est quoi ?
  • 35. Plan  1. Internet c'est quoi ? 2. Le web, c'est quoi alors ? 3. Le protocole HTTP 4. HTML, CSS & Javascript 5. Le serveur Apache 6. Le serveur Tomcat 7. Les applications web en Java 8. Le modèle MVC 9. Exemple de framework
  • 36. Le protocole HTTP • Http://www.w3.org • Hyper transfer protocole • Stateless • Protocole orienté caractères : • Les requêtes et réponses ne sont que des caractères • Exemple avec un telnet / netcat • GET www.google.fr HTTP/1.1
  • 37. Le protocole HTTP • Stateless • Le résultat d'une requête ne dépend pas de l'état du serveur • Si on exécute plusieurs fois une même requête, on obtient la même réponse
  • 38. Le protocole HTTP Request : GET www.google.fr/ HTTP/1.1 Response : HTTP/1.1 200 OK ← Version du protocole et code de retour Date: Mon, 01 Nov 2010 17:25:58 GMT ← la date de la réponse Expires: -1 ← la date d'expiration de la ressource Cache-Control: private, max-age=0 ← politique de cache Content-Type: text/html; charset=ISO-8859-1 ← le type et l'encodage de la réponse Set-Cookie: PREF=ID=e02fe0bed019bbc4:FF=0:TM=1288632358:LM=1288632358:S=UUr mM8ba6F1ynQNc; expires=Wed, 31-Oct-2012 17:25:58 GMT; path=/; domain=.google.fr <- Création d'un cookie
  • 39. Le protocole HTTP Request line : METHODE URI Version HTTP
  • 40. Les méthodes • OPTIONS : demande les méthodes utilisables sur l'URI • HEAD : demande uniquement les information de l'URI • TRACE : Fait un echo de la requête envoyé • GET : Demande d'info sur l'URI • POST : Demande de données à traiter par l'URI • PUT : Demande d'enregistrement de données à l'URI • DELETE : Demande de suppression les données pointées par l'URI
  • 41. Les codes de retrour • 5 Classes de retour (Status-Code) • 1XX : Information • 2XX : Succès • 3XX : Redirection • 4XX : Erreur client • 5XX : Erreur serveur
  • 42. Les éléments de la requête / de la réponse • Cache-Control : définit la politique de cache pour la ressource • Connection : paramètre de gestion de la connexion (ex : Connection: close) • Date : date du message • Pragma : utilisé pour spécifier des comportements aux serveurs intermédiaires (proxy) • Transfer-Encoding : types de transformations appliquées au corps du message • Upgrade : spécifie quels autres protocoles supporte le client • Via : indique les intermédiaires par lesquels est passée la requête
  • 43. Les éléments de la requête / de la réponse • Allow : liste les méthodes autorisées • Content-Encoding : indique l’encodage utilisé pour la ressource (complément au type de média du Content-Type) • Content-Language : défini la langue utilisée • Content-length : taille du corps du message • Content-Location : donne la véritable URI de la ressource si celle-ci a été trouvée grâce à une autre URI • Content-Type : le type du média (ex : text/html ; charset=ISO- 8859-1) • Expires : date d’expiration de la ressource • Last-Modified : date de dernière modification
  • 44. Les éléments de la requête ● Accept : définit les types de médias acceptés ● Accept-Charset : spécifie les jeux de caractères acceptés ● Accept-Encoding : spécifie les types de transformations (compressions) du message acceptés ● Accept-Language : spécifie les langues acceptées ● Host : spécifie le serveur (et le port) pour la requête ● Referer : spécifie l’URI à l’origine de la requête ● User-Agent : contient l’identifiant du navigateur client
  • 45. Les codes de retour • 200 : OK • 301 : Moved permanently • 302 : Moved temporarily • 400 : Bad Request • 401 : Unauthorized • 403 : Forbidden • 404 : Not Found • 500 : Internal Server Error • 502 : Bad Gateway • 504 : Gateway Time-out • 503 : Service Unvailable
  • 46. Les éléments de la réponse • Etag : identifiant d'une ressource dans la cache (un pour chaque version de la ressource) • Location: redirige la requête vers une autre URI (ex : Status-Code : 3XX) • Server: indique le type du serveur web répondant à la requête
  • 47. Le protocole HTTP Le client exprime ses capacités Le serveur retourne la ressource la plus adéquate • Langue : fr, en • Content Type (ou Type MIME) : text/css • Charset : utf8, ISO-8859 • Encodage : gzip
  • 48. Le protocole HTTP 1.1 • Ne gère pas les sessions ! • => On utilise les cookies • Fichiers textes stockés sur le disque dur du client • Informations stockées en clair • Date d'expiration fixé par le serveur
  • 49. Le protocole HTTP 1.1 • N'est pas sécurisé ! • => protocole HTTPS • Vérification de l'identité d'un site par un certificat • Les données sont scriptées
  • 50. L'architecture REST • C'est une manière de construire une application web • Ce n'est pas un protocole ou un format • C'est un style d'architecture d'application • Respecte le protocole HTPP
  • 51. L'architecture REST • L'URI est importante • 1 URI = 1 ressource / action • Stateless • Chaque opération est auto-suffisante • Respecte le protocole HTTP • Respecte les méthodes • GET = SELECT • PUT = UPDATE • POST = INSERT • DELETE = DELETE