Transcript 1-Internet

Tronc commun EPITA – Promo 2007
WEB + XML
Plan
- Internet en long, en large…
- Conception de sites internet
- XML dans le détail
- Web services
- Informatique mobile
DISCLAIMER 
Internet : la totale
Historique
• Création vers 1968 : le National Physical Laboratories
(laboratoire national de physique), en Grande-Bretagne,
crée le réseau à commutation de paquets
• 1957 : les US créent l’ARPA (Advanced Research Project
Agency
• But : se protéger des rouges et se venger de Spoutnik
• 1969, des chercheurs réussissent à relier quatre des
ordinateurs de l’UCLA (University of California in Los
Angeles) -> ARPANET
• 1972 l’idée de réseau se répand dans les milieux
universitaires et on montre ARPANET
• 1973, la France et la GB travaillent sur leur propre réseau
: on crée alors l'Inter Network Working Group
• 1974, Vint Cerf et Robert Kahn l’INTER-NETWORK
Historique
•
•
•
•
Tim Berners-Lee
CERN
Echange de données
Inventeur du WWW ?
– Pas vraiment
– Vinton Cerf : Transfert Control Protocol / Internet P.
– Paul Mockapetris : Domain Name System
 Email
– Vanevar Bush et 1945 et Ted Nelson : hypertexte
– Doug Engelbart : WWW sur 1 machine
– Hypertexte + DNS + TCP/IP = World Wide Web
Organismes
• W3C : World Wide Web Consortium
• ISOC : Internet SOCiety
– IETF : Internet Engineering Task Force
– IAB : Internet Architecture Board
• ICANN : Internet Corporation for Assigned
Name and Numbers
• RIPE : Réseaux IP Européens
• Plus d’IP au MIT qu’en Chine !!!
Terminologie
• Internet, Intranet, Extranet
• Moteur de recherche et annuaires
• Wiki, Blog
Protocoles et standards
• Gopher :
– Liste de fichiers
présentés sous
forme arborescente
– Appelé ainsi du nom
de la masquotte de
l’University du
Minnesota
– Ancêtre du WWW
– Se sont transformés
en sites web
– http://gopher.floodg
ap.com/
Protocoles et standards
• HTTP :
– HyperText Transfert Protocol
– Protocole client serveur très simple
– 5 méthodes :
• GET
• HEAD
• POST
• PUT
• DELETE
• FTP
DNS et URL
• Plus facile de gérer www.epita.fr que
163.5.254.17
• Au début des années 70, HOST.TXT a
Standford (récupérable par FTP)
• Exemple : Découpage de l’URL
• http://machine.service.domaine.fr
–
–
–
–
Machine se connecte au DNS par défaut
Si pas connu, alors interroge le serveur .fr
Si pas connu alors interroge le serveur domaine.fr
Et ainsi de suite
• Problèmes légaux
Internet est incontrôlable
• Faites attention à ce que vous faites :
–
–
–
–
Affaire David Hirchmann
Self googling
Libby Hoeler
MBlog
Adresses IP
•
Les classes d'adresses :
Classe
Intervalle
Nb réseaux
Nb Clients
A
0 – 126.
126
16 646 144
B
128-191. 0-255
16 256
65 024
C
192-223. 0-255.0-255
2 080 768
254
D
224-239. (groupe de nœuds)
•
•
•
•
Localhost : 127.0.0.1
Problèmes d’IP -> IPv6
Exemple 1: 2031:0000:130F:0000:0000:09C0:876A:130B =
2031:0:130F:0:0:9C0:876A:130B (compressed form)
Exemple 2: FF01:0:0:0:0:0:1 = FF01::1 (compressed form)
Noms de domaine
• Dépôt de nom de domaine par achat
• .com, .net, .org, .info, .biz : ouverts à tous
• .fr : ouverts à partir du 11/5/2004 pour les
détenteur de SIRET ou de marque
• .tv, .be : ouverts à tous
• WHOIS
Langages
• HTML :
– Issu de SGML
– Langage de l’hypertexte : HyperText Markup
Language
– Non-propriétaire
– Langage à balise
– Langage de structuration de l’information
– Dévié à cause de la mise en page
– Parfois propriétaire 
– DEMO
Langages
• CSS : Feuilles de style
• Générateur :
http://www.pourtapageweb.com/modules/genera
teurs/gencss.php
body {
background-color:white;
margin:0px 0px 0px 0px;
}
Langages
• Javascript :
– Dans javascript y a … SCRIPT !!!
– Issu de l’ECMAScript
– Integre aux modeles du navigateur
Langages
• XML :
–
–
–
–
–
–
–
eXtensible Markup language
DTD, XSL
Langage de définition de la structure de l’information
Langage extensible : XSL, SVG…
Langage + strict règles fortes
<?xml version="1.0" encoding="UTF-8"?>
DEMO
Langages
• XHTML :
–
–
–
–
–
–
–
Extensible HyperText Markup Language
Supposé aidé à passer de l’HTML à l’XML
Non-propriétaire
Langage à balise
Langage de structuration de l’information
Dévié à cause de la mise en page
DEMO
Editeurs
•
•
•
•
•
Dreamweaver
FrontPage
Golive !
Namo, Homesite…
Emacs, Notepad 
Graphiques
• GIF :
–
–
–
–
–
–
–
–
–
–
Graphics Interchange Format
Appartient à CompuServe
Format raster
256 couleurs
Transparence binaire : on/off
Perte
Compression LZW couleur ss perte
Interlacing
Animation
Licence Compuserve et Unisys
Graphiques
• JPEG :
–
–
–
–
–
Joint Photographic Experts Group
Photos
Pas de noir et blanc
Compression avec perte
Perte
Graphiques
• PNG :
–
–
–
–
–
–
–
–
–
Portable Network Graphics
Open source faché avec GIF
PNG-8 concurrent du GIF
PNG-24 concurrent du JPEG
Compression couleur ss perte
Gamma correction -> animation
Transparence
Interlacing 8 x + rapide
Supporté par IE 4.0 et NS 4.0.4 mais mal
Graphisme vectoriel
• Flash
• PGML + VML = SVG
–
–
–
–
Static : URL
Filtres : URL
Scripting : URL
Animation : URL
Sons
•
•
•
•
Wav
MP3 : pas MPEG 3 !!! -> MPEG Audio Layer III
OGG
WMA
Video & streaming
•
•
•
•
•
•
•
•
Resource interchange File Format IBM Microsoft
AVI : Audio Video interleaved (1991)
Quicktime (1991)
ASF 1994 (Microsoft MPEG-4)
Real 1995
DivX
WM9
Helix
Video & streaming
• MPEG :
– Multimedia Portable Expert Group
• MPEG-1, 1992, 352x240 :
• MPEG-2, 1994, 720x486
• MPEG-3, avorté (projet HDTV)
• MPEG-4, le multimédia
• MPEG-7, Multimedia Content Description Interface
Navigateurs
• Netscape :
– Démarre en 1994
– 1.0B1 : Beta de navigateur, supporte HTML 2 et quelques
fonctionnalités de HTML 3
– 1995 : 1.1 : support complet HTML
– 1995 : MAJ Windows 95
– 2B.03 : javascript + java
– 1996 : 3.03-3.04 : support frames + amélioration applet
– 4.0 Communicator -> 4.7 début des ennuis
– 98 : Netscape devient gratuit, Mozilla
– Rachat par AOL 2000
– 2002 : Milestone 1.0 de Mozilla
– 2003 : Après un chèque de 750M$, AOL décide de diffuser
IE
Navigateurs
• La guerre des browsers : IE vs NS
•
•
•
•
•
IE 1.0 basé sur SpyGlass (MOSAIC)
IE 1.5 : supporte les tables
IE 2.0 : nouveaux tags marquee
IE 2.5 : reverse engineering JS
IE 3.0 : frames, plug-in, VBScript, CSS (dans
W95 OSR2) -> 1996
• IE 4.0 : DHTML, Active X, Java
• IE 5.0 : plus de java
Navigateurs à l’EPITA
Navigateurs à l’EPITA
Navigateurs ailleurs
Navigateurs ailleurs
Mail
•
•
•
•
POP : Post Office Protocol
IMAP : Internet Message Access Protocol
SMTP : Simple Mail Transfer Protocol
Principaux serveurs : qmail, sendmail,
Exchange
• Principaux : Outlook, Communicator, Eudora,
The Bat…
Spam
• Buts :
– Diffuser un message commercial
– Jouer sur les classes basses (enlarge your …)
– Escroquer les gens (gain a diploma…)
•
défendre :
– Black lists
– Filtres sur listes
– Filtres bayésiens
Hoax
• Légende urbaine façon web
• Problèmes :
– Désinformation et atteinte à l’image
– Encombrement des réseaux
– Risque de lassitude, risque de perversion
• LISEZ hoaxbuster.com
• Ex :
– la petite Noëlie
– sulfnbk.exe
– Correctif Microsoft
Virus et vers
• Tchernobyl : 26 avril 1999 (Chen Ing-hau)
– 1000000 PC infectés
– Après avoir été gardé dans l’institut donc prison
• Blaster
• Sasser
Instant Messaging
•
•
•
•
•
ICQ
MSN Messenger
Yahoo Messenger
Trillian
Jabber
Plein d’autres choses
• LDAP
• Proxy
• Miroir
Serveurs web
• 3 acteurs principaux :
– Apache : 60%, IIS : 30%, Zeus, l’outsider qui monte
Haut-débit
•
•
•
•
•
•
•
•
ADSL
Cable
Satellite (en hausse)
WIMAX
GPRS
Wi-Fi
UMTS
EDGE
Technologies applicatives
•
•
•
•
•
CGI (méthode POST et GET)
PHP, Perl, python
.NET vs JAVA
ASP, ASP.NET vs JSP
Cold Fusion
CGI cote client
• Exemple :
• <FORM ACTION="adresse_web.cgi">
<P>Spécifiez les membres:
<INPUT NAME="m" SIZE="5">
<INPUT NAME="n" SIZE="5">
<BR>
<INPUT TYPE="SUBMIT" VALUE="Multiplier">
</FORM>
CGI cote serveur
#include <stdio.h>
#include <stdlib.h>
int main(void) {
char *data; long m,n;
printf("%s%c%c\n", "Content-Type:text/html;charset=iso-88591",13,10);
printf("<TITLE>Multiplication results</TITLE>\n");
printf("<H3>Multiplication results</H3>\n");
data = getenv("QUERY_STRING");
if(data == NULL)
printf("<P>Error! Error in passing data from form to script.");
else if(sscanf(data,"m=%ld&n=%ld",&m,&n)!=2)
printf("<P>Error! Invalid data. Data must be numeric.");
else
printf("<P>The product of %ld and %ld is %ld.",m,n,m*n);
return 0; }
Securite
• DOS : Denial of Service
• Cybersquatting
• Social engineering (phising)
Peer To Peer
• Deux formes de Peer-To-Peer :
–
–
–
–
–
–
–
–
Centralisé et décentralisé
Technologie datant de 20 ans
Première application de Peer-To-Peer USENET
Création en 1996 d’une société Israëlienne appelée
ICQ
Mi 1997 : 850,000 users, + de 10000 connexions
simultanées
1996 Netmeeting (ss video)
NAPSTER !!!
Aujourd’hui Seti@home, Gnutella, Groove…
VoIP
•
•
•
•
•
•
•
•
Voice over IP
IP Telephony ou Internet Telephony
Protocole H.323
MGCP : Media Gateway Control Protocol
SGCP : Single Gateway Control Protocol
SIP : Session Initiation Protocol
Skype
Netmeeting depuis très longtemps