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