Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML...

40
Internet et le Internet et le client-serveur client-serveur Licence Pro IE 2005-2006 Cours Internet / Intranet •Le Web • HTML •Protocol es • Le client universel Contenus dynamique

Transcript of Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML...

Page 1: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Internet et le client-Internet et le client-serveurserveur

Licence Pro IE2005-2006

Cours Internet / Intranet

•Le Web• HTML•Protocoles• Le client universel• Contenusdynamiques

Page 2: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

22

Concepts générauxConcepts généraux

Internet et le WebInternet et le Web HTML, XMLHTML, XML Les protocoles :HTTP TCP/IPLes protocoles :HTTP TCP/IP Le client UniverselLe client Universel HTML dynamique/JavaScriptHTML dynamique/JavaScript CGI / Servlets /PHP /ASP /JSPCGI / Servlets /PHP /ASP /JSP RMI, CorbaRMI, Corba

Page 3: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

33

Internet et le WebInternet et le Web

Internet : La ToileInternet : La Toile Ensemble de protocoles et services Ensemble de protocoles et services

accessibles mondialementaccessibles mondialement IntranetIntranet Client universel « léger » et à bas prix : Client universel « léger » et à bas prix :

Le navigateurLe navigateur Souplesse et connectivitéSouplesse et connectivité

Page 4: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

44

Les débuts du WebLes débuts du Web

Cern. Tim Berners Lee. Consultation Cern. Tim Berners Lee. Consultation de vastes bases documentaires. de vastes bases documentaires. HypertexteHypertexte

Le navigateur : Interface universelle Le navigateur : Interface universelle - d ’accès à l ’information- d ’accès à l ’information

- simple, conviviale, bon marché- simple, conviviale, bon marché- Multi-média- Multi-média

Page 5: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

55

L ’évolution du WebL ’évolution du Web

Mouvement d ’unification et de Mouvement d ’unification et de renouvellement de l ’informatique mondiale.renouvellement de l ’informatique mondiale.

Nouveaux standards et nouvelles Nouveaux standards et nouvelles technologies :technologies :- TCP/IP-HTTP-FTP-HTML-XML- TCP/IP-HTTP-FTP-HTML-XML

- SMTP-POP3-IMAP4- SMTP-POP3-IMAP4- NNTP- NNTP- CORBA/IIOP- Microsoft DCOM, .NET- CORBA/IIOP- Microsoft DCOM, .NET- Java RMI , JDBC , Servlets, Beans, - Java RMI , JDBC , Servlets, Beans, Enterprise Java BeansEnterprise Java Beans

Page 6: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

66

Applications *NETApplications *NET Publication et diffusion d ’informations de Publication et diffusion d ’informations de

natures et de formats très variés.natures et de formats très variés. Messagerie et échange de documentsMessagerie et échange de documents Archivage, indexation et documentationArchivage, indexation et documentation Groupes de discussion. Travail de Groupes de discussion. Travail de

groupe groupe Potentiellement tout le système Potentiellement tout le système

d ’information de l ’entreprised ’information de l ’entreprise

Nouveau slogan de Microsoft : Nouveau slogan de Microsoft : .net.net

Page 7: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

77

Architecture web de baseArchitecture web de base

Navigateur HTML

HTTP

TCP/ IP

Serveur Web

HTTP

TCP/ IP

Requête URL

Réponse HTML

Page 8: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

88

Technolgies clientTechnolgies client

Le BrowserLe Browser HTML-XML-JavaScript HTML-XML-JavaScript Java- La Machine virtuelle JavaJava- La Machine virtuelle Java Chargement d’une applet JavaChargement d’une applet Java Lancement d’une action sur le serveurLancement d’une action sur le serveur

Page 9: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

99

Les AppletsLes Applets

Page 10: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

1010

Rappel HTMLRappel HTML

Langage a base de « tags » ou marqueursLangage a base de « tags » ou marqueurs Langage de description et de mise en page Langage de description et de mise en page

avec capacités hypertextes.avec capacités hypertextes. Prendre un navigateur, puis faire « regarder Prendre un navigateur, puis faire « regarder

le code source d ’une page »le code source d ’une page » Devient plus « dynamique » depuis la version Devient plus « dynamique » depuis la version

44 Voir le site W3.orgVoir le site W3.org

Page 11: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

1111

HTML “évolué”HTML “évolué”

Formulaires, Formulaires, attente d’une réponse attente d’une réponse puis actualisation de puis actualisation de la page la page ou génération ou génération complète d’une page complète d’une page HTML nouvelle HTML nouvelle

JavaScriptJavaScript

Page 12: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

1212

ExemplesExemples

• Formulaires• Javascript

Page 13: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

1313

Tags spécifiques client-Tags spécifiques client-serveurserveur

CGICGI<form method=get <form method=get action="http://www.nasa.fr/cgi-bin/formulaiaction="http://www.nasa.fr/cgi-bin/formulaire"> re">

JavaScriptJavaScript<script language="javascript"><script language="javascript">

Applets <APPLET code=Appl.class...Applets <APPLET code=Appl.class...

Page 14: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

1414

HyperTexT Transfer Protocol HyperTexT Transfer Protocol

Un protocole de communication de niveau Un protocole de communication de niveau “intermédiaire”“intermédiaire”

Relativement “universel”Relativement “universel” Gérant l’échange de données de différentes Gérant l’échange de données de différentes

sortes ( textes, images, sons, etc.)sortes ( textes, images, sons, etc.)

Page 15: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

1515

Serveur HTTPServeur HTTP

Sur le serveur HTTP, un processus Sur le serveur HTTP, un processus tourne en tache de fond à l’écoute des tourne en tache de fond à l’écoute des requêtes clientesrequêtes clientes

A l’arrivée d’une requête, création d’un A l’arrivée d’une requête, création d’un processus (Unix ou NT) ou d’un thread processus (Unix ou NT) ou d’un thread pour la traiterpour la traiter

Traitement différencié : CGI, JavaScript Traitement différencié : CGI, JavaScript cote serveur, Servlets, NSAPI cote serveur, Servlets, NSAPI

Page 16: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

1616

Principaux serveurs Web Principaux serveurs Web

Apache (Version 1.3.x ou 2.0 ), souvent Apache (Version 1.3.x ou 2.0 ), souvent associé à Unix, beaucoup de modules associé à Unix, beaucoup de modules disponiblesdisponibles

IIS : le serveur Web professionnel de IIS : le serveur Web professionnel de Microsoft. Microsoft.

Netscape iplanet ServerNetscape iplanet Server Domino WebServer ou Websphere (IBM)Domino WebServer ou Websphere (IBM) Zope (Python)Zope (Python)

Page 17: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

1717

Technologies “serveur”Technologies “serveur”

Rendre un service :Rendre un service :- renvoi d’une page HTML statique- renvoi d’une page HTML statique- renvoi d’une page HTMLdynamique.- renvoi d’une page HTMLdynamique. Crée par tout programme capable de Crée par tout programme capable de s’interfacer avec les technologies s’interfacer avec les technologies intermédiaires (via HTTP): CGI, Servlets, PHP, intermédiaires (via HTTP): CGI, Servlets, PHP, ASP ASP JavaScript JavaScript- exécution d’une méthode d’un objet à l’aide - exécution d’une méthode d’un objet à l’aide de RMI(Java) ou IIOP(CORBA) (sans HTTP) de RMI(Java) ou IIOP(CORBA) (sans HTTP)

Page 18: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

1818

L’interface CGI L’interface CGI

CGI signifie Common Gateway Interface. Il s'agit de CGI signifie Common Gateway Interface. Il s'agit de la description de l'interface entre un serveur HTTP et la description de l'interface entre un serveur HTTP et des applications externes activées par ce serveurdes applications externes activées par ce serveur

Un programme CGI est un programme qui sera Un programme CGI est un programme qui sera automatiquement activé par le serveur HTTP, en lieu automatiquement activé par le serveur HTTP, en lieu et place de la recherche d'un documentet place de la recherche d'un document

Ces programmes sont écrits dans des langages Ces programmes sont écrits dans des langages appelés des langages de script (Perl, C, C++, Java)appelés des langages de script (Perl, C, C++, Java)

La sortie standard du programme (instructions La sortie standard du programme (instructions d’écriture) sera redirigée par le serveur HTTP vers le d’écriture) sera redirigée par le serveur HTTP vers le

client qui verra ainsi un document virtuelclient qui verra ainsi un document virtuel

Page 19: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

1919

Le programme CGI peut Le programme CGI peut ainsi ainsi

envoyer l’URL d'un autre document.envoyer l’URL d'un autre document. envoyer: Content-type: TypeMimeenvoyer: Content-type: TypeMime

où TypeMime est par exemple text/html, image/gif, ou tout où TypeMime est par exemple text/html, image/gif, ou tout autre type de document généralement reconnu par les autre type de document généralement reconnu par les clients WWW (voir la section The Content-Type Header clients WWW (voir la section The Content-Type Header Field du standard MIME)Field du standard MIME)

Une ligne Une ligne videvide puis du contenu du document "virtuel“. puis du contenu du document "virtuel“. Par exemple, en C++: Par exemple, en C++: cout<<“Content-type: text/html’”<<endl; cout<<“Content-type: text/html’”<<endl; cout<<endl;cout<<endl; cout<<“<html><head><title>Demo</title></head>”<<endl;cout<<“<html><head><title>Demo</title></head>”<<endl; cout<<“<body><h1>Demo de programme cgi</h1>”<<endl;cout<<“<body><h1>Demo de programme cgi</h1>”<<endl; cout<<“C''est aussi simple que ca !”<<endl;cout<<“C''est aussi simple que ca !”<<endl; cout<<“</body></html>”;cout<<“</body></html>”;

Page 20: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

2020

HTTP et Interface CGIHTTP et Interface CGI

Utilisation de “variables d’environnement” Utilisation de “variables d’environnement” pour communiquer avec des scripts CGIpour communiquer avec des scripts CGI

Trois méthodes essentielles employées Trois méthodes essentielles employées pour communiquer :pour communiquer : GET GET POST POST HEAD HEAD

HTTP 1.0 HTTP 1.0 1.1 1.1

Page 21: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

2121

Méthode GETMéthode GET

Si votre formulaire inclut la mention Si votre formulaire inclut la mention METHOD="GET" dans son tag FORM METHOD="GET" dans son tag FORM votre programme CGI recevra la réponse votre programme CGI recevra la réponse encodée au formulaire dans la variable encodée au formulaire dans la variable d’environnement : d’environnement : QUERY_STRING QUERY_STRING

Limitation dans la longueur de la chaine Limitation dans la longueur de la chaine ainsi transmiseainsi transmise

Données du formulaire concaténées à l’URLDonnées du formulaire concaténées à l’URL

Page 22: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

2222

Méthode POSTMéthode POST

Si vous avez mis METHOD="POST" dans Si vous avez mis METHOD="POST" dans le tag FORM, alors votre programme CGI le tag FORM, alors votre programme CGI recevra la réponse dans le “stdin”recevra la réponse dans le “stdin” Le serveur n’envoie pas un EOF a la fin Le serveur n’envoie pas un EOF a la fin des données. Il faut généralement se des données. Il faut généralement se débrouiller avec la variable débrouiller avec la variable d’environnement CONTENT_LENGTH d’environnement CONTENT_LENGTH pour determiner la quantité de données a pour determiner la quantité de données a lire depuis l’entrée standardlire depuis l’entrée standard

Données du formulaire non visibles sur Données du formulaire non visibles sur l’URLl’URL

Page 23: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

2323

Récupération de l’informationRécupération de l’information

Lorsque vous ecrivez un formulaire, tous les items Lorsque vous ecrivez un formulaire, tous les items ont un tag NAME . Quand l’utilisateur place des ont un tag NAME . Quand l’utilisateur place des données dans ces items (ie répond aux données dans ces items (ie répond aux questionnaire), cette information est encodée sous questionnaire), cette information est encodée sous la forme d’un flux de donnéesla forme d’un flux de données

Un flux de paires nom=valeur séparées par le Un flux de paires nom=valeur séparées par le symbole &symbole &

Les espaces sont changés en + et certains Les espaces sont changés en + et certains caractères sont codés en héxadécimalcaractères sont codés en héxadécimal

Page 24: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

2424

Langages utilisésLangages utilisés

Shells UNIX : bash, sh, etc.Shells UNIX : bash, sh, etc. C, C++C, C++ PerlPerl JavaJava PHPPHP ASP (VBScript)ASP (VBScript) PythonPython

Page 25: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

2525

Limitations des scripts CGILimitations des scripts CGI

Limitations : Quand un serveur reçoit une requête Limitations : Quand un serveur reçoit une requête pour un programme CGI, création d’un processus pour un programme CGI, création d’un processus pour exécuter le passage de paramètres via des pour exécuter le passage de paramètres via des variables d’environnement ou via l’entrée standardvariables d’environnement ou via l’entrée standard

demande du temps et des ressources au serveur, demande du temps et des ressources au serveur, limitant le nombre de requêtes pouvant etre traitées limitant le nombre de requêtes pouvant etre traitées concurrementconcurrement

Le processus ainsi créé n’aura de plus pas la faculté Le processus ainsi créé n’aura de plus pas la faculté de communiquer avec le serveur (par exemple pour de communiquer avec le serveur (par exemple pour écrire des “logs”) ou d’utiliser d’autres ressources du écrire des “logs”) ou d’utiliser d’autres ressources du serveur, simplementserveur, simplement

Page 26: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

2626

Active Server Pages Active Server Pages C’est la technique Microsoft pour générer C’est la technique Microsoft pour générer

dynamiquement des pages Webdynamiquement des pages Web Les pages HTML contiennent des morceaux de Les pages HTML contiennent des morceaux de

code écrite en VBScript ou en JavaScript. Ce code écrite en VBScript ou en JavaScript. Ce code est lu puis exécuté par le serveur Web code est lu puis exécuté par le serveur Web avant d’envoyer sa page au clientavant d’envoyer sa page au client

Site : Site : http://www.microsoft.com/workshop/server/defauhttp://www.microsoft.com/workshop/server/default.asplt.asp

Page 27: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

2727

PHP (I)PHP (I)

Un langage de script, interprétéUn langage de script, interprété Multi-plateformesMulti-plateformes Spécialisé dans la génération de Spécialisé dans la génération de

code, en particulier HTMLcode, en particulier HTML Fichiers séparés (Fichiers séparés (.php.php) ou code ) ou code

inséré dans une page HTML entre inséré dans une page HTML entre les balises <? et ?>les balises <? et ?>

Page 28: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

2828

PHP (II)PHP (II)

L’interpréteur lit un fichier source L’interpréteur lit un fichier source .php .php puis génère puis génère un flux de sortie avec les règles suivantes :un flux de sortie avec les règles suivantes :

- toute ligne située à l’extérieur d’un bloc PHP - toute ligne située à l’extérieur d’un bloc PHP ( entre <? et ?>) est recopiée inchangée dans le ( entre <? et ?>) est recopiée inchangée dans le flux de sortieflux de sortie

- le code PHP est interprété (et génère - le code PHP est interprété (et génère éventuellement des résultats intégrés eux aussi éventuellement des résultats intégrés eux aussi au flux de sortie)au flux de sortie)

- éventuels messages d’erreurs retrouvés - éventuels messages d’erreurs retrouvés également dans le flux de sortie.également dans le flux de sortie.

Page 29: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

2929

PHP (III)PHP (III)

Créateur : Rasmus Lansdorf, 1994 pour analyser Créateur : Rasmus Lansdorf, 1994 pour analyser les connexions sur son site Webles connexions sur son site Web Personal Home Pages ou Personal Home Pages ou Hypertext Hypertext PreProcessorPreProcessor

Syntaxe proche du C, peu structuré mais dispose Syntaxe proche du C, peu structuré mais dispose de la possibilité de définir des fonctions et des de la possibilité de définir des fonctions et des classesclasses

Beaucoup d’évolutions et d’enrichissements du Beaucoup d’évolutions et d’enrichissements du langage depuis. (V1.0 langage depuis. (V1.0 V 5.x) V 5.x)

Grand succès, beaucoup de code libre disponible.Grand succès, beaucoup de code libre disponible.

Page 30: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

3030

PHP (IV) formulaire.phpPHP (IV) formulaire.php

<HTML> <HEAD><TITLE><HTML> <HEAD><TITLE>

Test Formulaire PHP </TITLE></HEAD>Test Formulaire PHP </TITLE></HEAD>

<BODY><BODY>

<FORM action= formRes.php method=GET><FORM action= formRes.php method=GET>

<input type = text length=30 maxlength=30 <input type = text length=30 maxlength=30 name=“nom”>name=“nom”>

<P><P>

<input type=submit value=“Envoyer”><input type=submit value=“Envoyer”>

</FORM></BODY></HTML> </FORM></BODY></HTML>

Page 31: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

3131

PHP (V) formRes.phpPHP (V) formRes.php

<BODY><BODY><H1>Bonjour, <? echo $nom ?></H1><H1>Bonjour, <? echo $nom ?></H1><P> <P> Votre nom est stocké dans la variable Votre nom est stocké dans la variable

$nom$nomdont le type est <? echo gettype($nom) ?dont le type est <? echo gettype($nom) ?

>></BODY></BODY>

Page 32: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

3232

Server-Side JavaScriptServer-Side JavaScript

Technique netscape aussi appellée SSJS . Technique netscape aussi appellée SSJS . Langage : JavaScriptLangage : JavaScript Les pages sont précompilées pour Les pages sont précompilées pour

améliorer les performancesaméliorer les performances Site : Site :

Http://developper.netscape.com/tec/javascrHttp://developper.netscape.com/tec/javascript/ssjs.htmlipt/ssjs.html

Page 33: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

3333

Java ServletsJava Servlets

Java “côté serveur”Java “côté serveur” Extensions puissantes, modulaires, Extensions puissantes, modulaires,

fiables, sécurisées et portables aux fiables, sécurisées et portables aux capacités du serveurcapacités du serveur

Remplacent les scripts CGIRemplacent les scripts CGI Implémentation de référence : Tomcat Implémentation de référence : Tomcat

(4.x) qui peut aussi fonctionner en (4.x) qui peut aussi fonctionner en collaboration avec Apache.collaboration avec Apache.

Page 34: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

3434

Intérêt des servletsIntérêt des servlets

PuissancePuissance : les servlets peuvent utiliser toute la puissance : les servlets peuvent utiliser toute la puissance du langage Java en réseau, accès aux URL, multithreading, du langage Java en réseau, accès aux URL, multithreading, manipulation d’images, compression de données, manipulation d’images, compression de données, sérialisation d’objets, connection aux bases de données et sérialisation d’objets, connection aux bases de données et RMIRMI

Efficacité et robustesseEfficacité et robustesse : essentiellement parce que les : essentiellement parce que les servlets sont éxécutés dans le cadre de threads, plus servlets sont éxécutés dans le cadre de threads, plus “légers”, plus aisés à manipuler, avec des capacités de “légers”, plus aisés à manipuler, avec des capacités de communications bien meilleures que les processus communications bien meilleures que les processus classiquesclassiques

SécuritéSécurité : de part la robustesse du langage Java(typage : de part la robustesse du langage Java(typage fort, pas de manipulations de pointeurs, exceptions, GC, fort, pas de manipulations de pointeurs, exceptions, GC, SecurityManager…)SecurityManager…)

IntégrationIntégration : Coopération plus aisée et plus étroite avec le : Coopération plus aisée et plus étroite avec le serveur. (Authentification…)serveur. (Authentification…)

Page 35: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

3535

Extensions et évolution futureExtensions et évolution future

L’API Servlet est déstinée à être L’API Servlet est déstinée à être facilement extensiblefacilement extensible

On peut générer complètement une page On peut générer complètement une page Web à l’aide d’une servletWeb à l’aide d’une servlet

On peut ajouter des SSI (Server Side On peut ajouter des SSI (Server Side Include) a une page statique à l’aide du Include) a une page statique à l’aide du tag <servlet>tag <servlet>

Sun développe une technique semblable Sun développe une technique semblable aux ASP de Microsoft appelée aux ASP de Microsoft appelée JavaServerPages JavaServerPages

Page 36: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

3636

L’API Servlet (III)L’API Servlet (III)

Spécification 2.3 de SunSpécification 2.3 de Sun Implémentation de référence : Implémentation de référence : Tomcat 4.0Tomcat 4.0 HTTP 1.1 HTTP 1.1 filtrage, réecriture d’URL’s, etc. filtrage, réecriture d’URL’s, etc.

Page 37: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

3737

Exemple: formulaire et servletExemple: formulaire et servlet

<HTML><HTML><HEAD><HEAD><TITLE>Formumlaire avec servlet</TITLE><TITLE>Formumlaire avec servlet</TITLE></HEAD></HEAD><BODY><BODY><FORM METHOD=GET ACTION=“/servlet/Hello”><FORM METHOD=GET ACTION=“/servlet/Hello”>Quel est votre nom, s’il vous plaît ?Quel est votre nom, s’il vous plaît ?<INPUT TYPE=TEXT NAME=“nom”><P><INPUT TYPE=TEXT NAME=“nom”><P><INPUT TYPE=SUBMIT><INPUT TYPE=SUBMIT></FORM></FORM></BODY></BODY></HTML></HTML>

Page 38: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

3838

ExemplesExemples

Une Servlet Java simple : Une Servlet Java simple : Hello.javaHello.java ServerSideInclude : ServerSideInclude : CurrentTime.javaCurrentTime.java Un Servlet avec init( ) et destroy( ) : Un Servlet avec init( ) et destroy( ) :

Compteur.javaCompteur.java

Page 39: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

3939

Autres protocoles Autres protocoles Internet/IntranetInternet/Intranet

POP : Gestion du courrier sortant (port 110, POP : Gestion du courrier sortant (port 110, USERUSER, , PASSPASS, , LISTLIST, , RETR iRETR i, , QUITQUIT))

SMTP : Gestion du courrier sortant (port 25 , SMTP : Gestion du courrier sortant (port 25 , helohelo, , mailmail, , rcptrcpt, , datadata et et quitquit ) )

SNNTP (Gestion des « news »)SNNTP (Gestion des « news ») FTP (File Transfer Protocol, transfert de fichiers)FTP (File Transfer Protocol, transfert de fichiers) TFTP (Trivial File Transfer Protocol)TFTP (Trivial File Transfer Protocol) UDP (Universal Datagram Protocol, Protocole UDP (Universal Datagram Protocol, Protocole

très basique sans AR)très basique sans AR) LDAP (Lightweight Directory Access Protocol, LDAP (Lightweight Directory Access Protocol,

gestion d’annuaire de ressources hétérogènes)gestion d’annuaire de ressources hétérogènes)

Page 40: Internet et le client- serveur Licence Pro IE 2005-2006 Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.

Cours Internet Gérard RozsavolgCours Internet Gérard Rozsavolgyi 2005-2006yi 2005-2006

4040

BibliographieBibliographie

Webmaster in a nutshell. Ed. O’ReillyWebmaster in a nutshell. Ed. O’Reilly w3c.orgw3c.org isoc.orgisoc.org nic.frnic.fr Java Enterprise in a nutshell. Ed. O’ReillyJava Enterprise in a nutshell. Ed. O’Reilly