1 / 40

Internet et le client-serveur

Internet et le client-serveur. Licence Pro IE 2006-2007 Cours Internet / Intranet. Le Web HTML Protocoles Le client universel Contenus dynamiques. Concepts généraux. Internet et le Web HTML, XML Les protocoles :HTTP TCP/IP Le client Universel HTML dynamique/JavaScript

bayard
Télécharger la présentation

Internet et le client-serveur

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Concepts généraux • Internet et le Web • HTML, XML • Les protocoles :HTTP TCP/IP • Le client Universel • HTML dynamique/JavaScript • CGI / Servlets /PHP /ASP /JSP • RMI, Corba Cours Internet Gérard Rozsavolgyi 2006-2007

  3. Internet et le Web • Internet : La Toile • Ensemble de protocoles et services accessibles mondialement • Intranet • Client universel « léger » et à bas prix : Le navigateur • Souplesse et connectivité Cours Internet Gérard Rozsavolgyi 2006-2007

  4. Les débuts du Web • Cern. Tim Berners Lee. Consultation de vastes bases documentaires. Hypertexte • Le navigateur : Interface universelle - d ’accès à l ’information- simple, conviviale, bon marché- Multi-média Cours Internet Gérard Rozsavolgyi 2006-2007

  5. L ’évolution du Web • Mouvement d ’unification et de renouvellement de l ’informatique mondiale. • Nouveaux standards et nouvelles technologies :- TCP/IP-HTTP-FTP-HTML-XML - SMTP-POP3-IMAP4- NNTP- CORBA/IIOP- Microsoft DCOM, .NET- Java RMI , JDBC , Servlets, Beans, Enterprise Java Beans Cours Internet Gérard Rozsavolgyi 2006-2007

  6. Applications *NET • Publication et diffusion d ’informations de natures et de formats très variés. • Messagerie et échange de documents • Archivage, indexation et documentation • Groupes de discussion. Travail de groupe • Potentiellement tout le système d ’information de l ’entreprise  Nouveau slogan de Microsoft : .net Cours Internet Gérard Rozsavolgyi 2006-2007

  7. Architecture web de base Cours Internet Gérard Rozsavolgyi 2006-2007

  8. Technolgies client • Le Browser • HTML-XML-JavaScript • Java- La Machine virtuelle Java • Chargement d’une applet Java • Lancement d’une action sur le serveur Cours Internet Gérard Rozsavolgyi 2006-2007

  9. Les Applets Cours Internet Gérard Rozsavolgyi 2006-2007

  10. Rappel HTML • Langage a base de « tags » ou marqueurs • Langage de description et de mise en page avec capacités hypertextes. • Prendre un navigateur, puis faire « regarder le code source d ’une page » • Devient plus « dynamique » depuis la version 4 • Voir le site W3.org Cours Internet Gérard Rozsavolgyi 2006-2007

  11. HTML “évolué” • Formulaires, attente d’une réponse puis actualisation de la page ou génération complète d’une page HTML nouvelle • JavaScript Cours Internet Gérard Rozsavolgyi 2006-2007

  12. Exemples • Formulaires • Javascript Cours Internet Gérard Rozsavolgyi 2006-2007

  13. Tags spécifiques client-serveur • CGI<form method=get action="http://www.nasa.fr/cgi-bin/formulaire"> • JavaScript<script language="javascript"> • Applets <APPLET code=Appl.class... Cours Internet Gérard Rozsavolgyi 2006-2007

  14. HyperTexT Transfer Protocol • Un protocole de communication de niveau “intermédiaire” • Relativement “universel” • Gérant l’échange de données de différentes sortes ( textes, images, sons, etc.) Cours Internet Gérard Rozsavolgyi 2006-2007

  15. Serveur HTTP • Sur le serveur HTTP, un processus tourne en tache de fond à l’écoute des requêtes clientes • A l’arrivée d’une requête, création d’un processus (Unix ou NT) ou d’un thread pour la traiter • Traitement différencié : CGI, JavaScript cote serveur, Servlets, NSAPI Cours Internet Gérard Rozsavolgyi 2006-2007

  16. Principaux serveurs Web • Apache (Version 1.3.x ou 2.0 ), souvent associé à Unix, beaucoup de modules disponibles • IIS : le serveur Web professionnel de Microsoft. • Netscape iplanet Server • Domino WebServer ou Websphere (IBM) • Zope (Python) Cours Internet Gérard Rozsavolgyi 2006-2007

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

  18. L’interface CGI • CGI signifie Common Gateway Interface. Il s'agit de la description de l'interface entre un serveur HTTP et des applications externes activées par ce serveur • Un programme CGI est un programme qui sera automatiquement activé par le serveur HTTP, en lieu et place de la recherche d'un document • Ces programmes sont écrits dans des langages appelés des langages de script (Perl, C, C++, Java) • La sortie standard du programme (instructions d’écriture) sera redirigée par le serveur HTTP vers le client qui verra ainsi un document virtuel Cours Internet Gérard Rozsavolgyi 2006-2007

  19. Le programme CGI peut ainsi • envoyer l’URL d'un autre document. • envoyer: Content-type: TypeMime où TypeMime est par exemple text/html, image/gif, ou tout autre type de document généralement reconnu par les clients WWW (voir la section The Content-Type Header Field du standard MIME) • Une ligne vide • puis du contenu du document "virtuel“. Par exemple, en C++: cout<<“Content-type: text/html’”<<endl; cout<<endl; cout<<“<html><head><title>Demo</title></head>”<<endl; cout<<“<body><h1>Demo de programme cgi</h1>”<<endl; cout<<“C''est aussi simple que ca !”<<endl; cout<<“</body></html>”; Cours Internet Gérard Rozsavolgyi 2006-2007

  20. HTTP et Interface CGI • Utilisation de “variables d’environnement” pour communiquer avec des scripts CGI • Trois méthodes essentielles employées pour communiquer : GET POST HEAD • HTTP 1.0  1.1 Cours Internet Gérard Rozsavolgyi 2006-2007

  21. Méthode GET • Si votre formulaire inclut la mention METHOD="GET" dans son tag FORM votre programme CGI recevra la réponse encodée au formulaire dans la variable d’environnement : QUERY_STRING • Limitation dans la longueur de la chaine ainsi transmise • Données du formulaire concaténées à l’URL Cours Internet Gérard Rozsavolgyi 2006-2007

  22. Méthode POST • Si vous avez mis METHOD="POST" dans le tag FORM, alors votre programme CGI recevra la réponse dans le “stdin” Le serveur n’envoie pas un EOF a la fin des données. Il faut généralement se débrouiller avec la variable d’environnement CONTENT_LENGTH pour determiner la quantité de données a lire depuis l’entrée standard • Données du formulaire non visibles sur l’URL Cours Internet Gérard Rozsavolgyi 2006-2007

  23. Récupération de l’information • Lorsque vous ecrivez un formulaire, tous les items ont un tag NAME . Quand l’utilisateur place des données dans ces items (ie répond aux questionnaire), cette information est encodée sous la forme d’un flux de données • Un flux de paires nom=valeur séparées par le symbole & • Les espaces sont changés en + et certains caractères sont codés en héxadécimal Cours Internet Gérard Rozsavolgyi 2006-2007

  24. Langages utilisés • Shells UNIX : bash, sh, etc. • C, C++ • Perl • Java • PHP • ASP (VBScript) • Python Cours Internet Gérard Rozsavolgyi 2006-2007

  25. Limitations des scripts CGI • Limitations : Quand un serveur reçoit une requête pour un programme CGI, création d’un processus pour exécuter le passage de paramètres via des variables d’environnement ou via l’entrée standard •  demande du temps et des ressources au serveur, limitant le nombre de requêtes pouvant etre traitées concurrement • Le processus ainsi créé n’aura de plus pas la faculté de communiquer avec le serveur (par exemple pour écrire des “logs”) ou d’utiliser d’autres ressources du serveur, simplement Cours Internet Gérard Rozsavolgyi 2006-2007

  26. Active Server Pages • C’est la technique Microsoft pour générer dynamiquement des pages Web • Les pages HTML contiennent des morceaux de code écrite en VBScript ou en JavaScript. Ce code est lu puis exécuté par le serveur Web avant d’envoyer sa page au client • Site : http://www.microsoft.com/workshop/server/default.asp Cours Internet Gérard Rozsavolgyi 2006-2007

  27. PHP (I) • Un langage de script, interprété • Multi-plateformes • Spécialisé dans la génération de code, en particulier HTML • Fichiers séparés (.php) ou code inséré dans une page HTML entre les balises <? et ?> Cours Internet Gérard Rozsavolgyi 2006-2007

  28. PHP (II) L’interpréteur lit un fichier source .php puis génère un flux de sortie avec les règles suivantes : - toute ligne située à l’extérieur d’un bloc PHP ( entre <? et ?>) est recopiée inchangée dans le flux de sortie - le code PHP est interprété (et génère éventuellement des résultats intégrés eux aussi au flux de sortie) - éventuels messages d’erreurs retrouvés également dans le flux de sortie. Cours Internet Gérard Rozsavolgyi 2006-2007

  29. PHP (III) • Créateur : Rasmus Lansdorf, 1994 pour analyser les connexions sur son site Web  Personal Home Pages ou Hypertext PreProcessor • Syntaxe proche du C, peu structuré mais dispose de la possibilité de définir des fonctions et des classes • Beaucoup d’évolutions et d’enrichissements du langage depuis. (V1.0  V 5.x) • Grand succès, beaucoup de code libre disponible. Cours Internet Gérard Rozsavolgyi 2006-2007

  30. PHP (IV) formulaire.php <HTML> <HEAD><TITLE> Test Formulaire PHP </TITLE></HEAD> <BODY> <FORM action= formRes.php method=GET> <input type = text length=30 maxlength=30 name=“nom”> <P> <input type=submit value=“Envoyer”> </FORM></BODY></HTML> Cours Internet Gérard Rozsavolgyi 2006-2007

  31. PHP (V) formRes.php <BODY> <H1>Bonjour, <? echo $nom ?></H1> <P> Votre nom est stocké dans la variable $nom dont le type est <? echo gettype($nom) ?> </BODY> Cours Internet Gérard Rozsavolgyi 2006-2007

  32. Server-Side JavaScript • Technique netscape aussi appellée SSJS . • Langage : JavaScript • Les pages sont précompilées pour améliorer les performances • Site : Http://developper.netscape.com/tec/javascript/ssjs.html Cours Internet Gérard Rozsavolgyi 2006-2007

  33. Java Servlets • Java “côté serveur” • Extensions puissantes, modulaires, fiables, sécurisées et portables aux capacités du serveur • Remplacent les scripts CGI • Implémentation de référence : Tomcat (4.x) qui peut aussi fonctionner en collaboration avec Apache. Cours Internet Gérard Rozsavolgyi 2006-2007

  34. Intérêt des servlets • Puissance : les servlets peuvent utiliser toute la puissance du langage Java en réseau, accès aux URL, multithreading, manipulation d’images, compression de données, sérialisation d’objets, connection aux bases de données et RMI • Efficacité et robustesse : essentiellement parce que les servlets sont éxécutés dans le cadre de threads, plus “légers”, plus aisés à manipuler, avec des capacités de communications bien meilleures que les processus classiques • Sécurité : de part la robustesse du langage Java(typage fort, pas de manipulations de pointeurs, exceptions, GC, SecurityManager…) • Intégration : Coopération plus aisée et plus étroite avec le serveur. (Authentification…) Cours Internet Gérard Rozsavolgyi 2006-2007

  35. Extensions et évolution future • L’API Servlet est déstinée à être facilement extensible • On peut générer complètement une page Web à l’aide d’une servlet • On peut ajouter des SSI (Server Side Include) a une page statique à l’aide du tag <servlet> • Sun développe une technique semblable aux ASP de Microsoft appelée JavaServerPages Cours Internet Gérard Rozsavolgyi 2006-2007

  36. L’API Servlet (III) Spécification 2.3 de Sun Implémentation de référence : Tomcat 4.0 HTTP 1.1 filtrage, réecriture d’URL’s, etc. Cours Internet Gérard Rozsavolgyi 2006-2007

  37. Exemple: formulaire et servlet • <HTML><HEAD><TITLE>Formumlaire avec servlet</TITLE></HEAD><BODY><FORM METHOD=GET ACTION=“/servlet/Hello”>Quel est votre nom, s’il vous plaît ?<INPUT TYPE=TEXT NAME=“nom”><P><INPUT TYPE=SUBMIT></FORM></BODY></HTML> Cours Internet Gérard Rozsavolgyi 2006-2007

  38. Exemples • Une Servlet Java simple : Hello.java • ServerSideInclude : CurrentTime.java • Un Servlet avec init( ) et destroy( ) : Compteur.java Cours Internet Gérard Rozsavolgyi 2006-2007

  39. Autres protocoles Internet/Intranet • POP : Gestion du courrier sortant (port 110, USER, PASS, LIST, RETR i, QUIT) • SMTP : Gestion du courrier sortant (port 25 , helo, mail, rcpt, data et quit ) • SNNTP (Gestion des « news ») • FTP (File Transfer Protocol, transfert de fichiers) • TFTP (Trivial File Transfer Protocol) • UDP (Universal Datagram Protocol, Protocole très basique sans AR) • LDAP (Lightweight Directory Access Protocol, gestion d’annuaire de ressources hétérogènes) Cours Internet Gérard Rozsavolgyi 2006-2007

  40. Bibliographie • Webmaster in a nutshell. Ed. O’Reilly • w3c.org • isoc.org • nic.fr • Java Enterprise in a nutshell. Ed. O’Reilly Cours Internet Gérard Rozsavolgyi 2006-2007

More Related