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

Slides:



Advertisements
Présentations similaires
Cours 5 : XML et les architectures N-tier Janvier Version 1.0 -
Advertisements

« Les Mercredis du développement » Introduction Office « 12 » Présenté par Bernard Fedotoff Microsoft Regional Director Agilcom.
Tour de France architectes, Microsoft France – Décembre François MERAND Stève SFARTZ Architectes en Système dInformation Division Plateformes & Ecosystème.
Première expérience d’utilisation des Web Services dans SmartTools Didier Parigot Projet OASIS INRIA Sophia www-sop.inria.fr/oasis/SmartTools Journée.
Infométrie, ingénierie et métadonnées XML Introduction
Présentation de l’Internet
CORRECTION DU DEVOIR DE SYNTHESE N° 2
Internet.
L’architecture .net et ASP.net
Exposé de Système - Informatique et Réseau
Le développement d’applications sous Lotus Notes
TRANSFER Alger – Présentation dInternet Nicolas Larrousse Septembre Introduction Pourquoi connecter des machines entre elles ? Quest ce quun réseau.
TRANSFER Alger – Serveur Web Nicolas Larrousse Septembre Petit historique du Worl Wide Web Notion dHypertexte Extension à internet par Tim Berners.
Le File Transfer Protocol
HTML Les types de balises

15 mai 2006kaETL - Assises CSIESR kaETL ka Extract Transfert Load Jean Marie THIA – Université Pierre et Marie CURIE
TP 3-4 BD21.

LA SEMIOTIQUE DU MULTIMEDIA
16/10/10 Préparé par: Ing. Rodrigue Osirus (+509) , *** Site web dynamique.
Utilisation du CMS WordPress
Introduction aux services WEB
PROJET HANDICAPS Certificat de Qualification Professionnelle
Le Téléphone Russe Le Téléphone Russe. Le Téléphone Russe Le Téléphone Russe.
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
2006/2007Denis Cabasson – Programmation Web Cours de programmation web ENSAE
Web traditionnel
XML-Family Web Services Description Language W.S.D.L.
Comprendre l’environnement Web
Ajax. Contexte Dabord, il y a eu les terminaux des ordinateurs centraux (environnements TSO, CICS, etc.) et les terminaux plein écran des environnements.
Lycée Louis Vincent Séance 1
INTRANET au service du système d’information
Gestion des bases de données
Atelier « Créations de sites » : Les techniques de réalisation de sites EPN :...
Modèle d’entrepôt de données à base de règles
PhP-MySQL Pagora 2012/2013 CTD 1 - Presentation de moi ^^
Olivier Nocent Programmation Web Olivier Nocent
Les Serveurs WEB.
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
Projet CONSULTING SA : GSA ( Gestion du suivi d’activités)
Initiation au web dynamique
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
1 - Architecture Internet
LES CLIENTS WEB RICHES Tuteur : Olivier CARON LEFEBVRE Benoit
Le Web, création utilisation  Le nuage  Préparer chez soi  Exister en ligne  Retrouver son groupe  Notions de base  Outils de publication  vivreensemble.net.
Technologies Web Microsoft
Internet et le client- serveur Licence Pro IE Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.
BiblioInfo Répertoire des bases de données et des ouvrages de référence Jean-Blaise Claivaz.
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Cours de programmation web
« Le plaisir du chercheur : retrousser les jupes de la nature » Jean Rostand Proposer une « Interface Homme Machine » en utilisant une technologie Client.
Séminaire (6-12 Février 2007) Promo. M2 ESCE-Tunis 2006/07
S'initier au HTML et aux feuilles de style CSS Cours 5.
Architecture d’une application WEB Statique:
Campus-Booster ID : **XXXXX Copyright © SUPINFO. All rights reserved Le développement Web.
B.Shishedjiev -Intenet1 Internet Les choses essentielles.
Développement d’application Web.  Internet  WWW  Client/Serveur  HTTP.
ATELIER GENIE LOGICIEL
Introduction au socle MEAN
INTERNET Le langage HTML
Sites Web interactifs 2010 / 2011 / S1 Bernhard Rieder.
Développement et design Web Awaves academy Stockholm 2006.
Séance /10/2005 CSS et Dreamweaver. CSS : principes Cascading Style Sheet = feuille de style en cascade Norme du W3C :
Séance /01/2006 Les technologies des sites dynamiques.
Les évolutions du WEB Des technologies,... et un peu plus...
Apports des clients riches dans le monde du WEB 2.0
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
Applications distribuées Introduction Jean-Jacques LE COZ.
Transcription de la présentation:

Internet et le client- serveur Licence Pro IE Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques

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

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

Cours Internet Gérard Rozsavolgyi Les débuts du Web Cern. Tim Berners Lee. Consultation de vastes bases documentaires. Hypertexte 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 Le navigateur : Interface universelle - d accès à l information - simple, conviviale, bon marché - Multi-média

Cours Internet Gérard Rozsavolgyi L évolution du Web Mouvement d unification et de renouvellement de l informatique mondiale. Mouvement d unification et de renouvellement de l informatique mondiale. Nouveaux standards et nouvelles technologies : - TCP/IP-HTTP-FTP-HTML-XML 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 Applications *NET Publication et diffusion d informations de natures et de formats très variés. Publication et diffusion d informations de natures et de formats très variés. Messagerie et échange de documents Messagerie et échange de documents Archivage, indexation et documentation Archivage, indexation et documentation Groupes de discussion. Travail de groupe Groupes de discussion. Travail de groupe Potentiellement tout le système d information de l entreprise Potentiellement tout le système d information de l entreprise Nouveau slogan de Microsoft :.net Nouveau slogan de Microsoft :.net

Cours Internet Gérard Rozsavolgyi Architecture web de base

Cours Internet Gérard Rozsavolgyi Technolgies client Le Browser Le Browser HTML-XML-JavaScript HTML-XML-JavaScript Java- La Machine virtuelle Java Java- La Machine virtuelle Java Chargement dune applet Java Chargement dune applet Java Lancement dune action sur le serveur Lancement dune action sur le serveur

Cours Internet Gérard Rozsavolgyi Les Applets

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

Cours Internet Gérard Rozsavolgyi HTML évolué Formulaires, attente dune réponse puis actualisation de la page ou génération complète dune page HTML nouvelle Formulaires, attente dune réponse puis actualisation de la page ou génération complète dune page HTML nouvelle JavaScript JavaScript

Cours Internet Gérard Rozsavolgyi Exemples Formulaires Javascript

Cours Internet Gérard Rozsavolgyi Tags spécifiques client- serveur CGI CGI JavaScript JavaScript Applets <APPLET code=Appl.class... Applets <APPLET code=Appl.class...

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

Cours Internet Gérard Rozsavolgyi Serveur HTTP Sur le serveur HTTP, un processus tourne en tache de fond à lécoute des requêtes clientes Sur le serveur HTTP, un processus tourne en tache de fond à lécoute des requêtes clientes A larrivée dune requête, création dun processus (Unix ou NT) ou dun thread pour la traiter A larrivée dune requête, création dun processus (Unix ou NT) ou dun thread pour la traiter Traitement différencié : CGI, JavaScript cote serveur, Servlets, NSAPI Traitement différencié : CGI, JavaScript cote serveur, Servlets, NSAPI

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

Cours Internet Gérard Rozsavolgyi Technologies serveur Rendre un service : - renvoi dune page HTML statique - renvoi dune page HTMLdynamique. Crée par tout programme capable de sinterfacer avec les technologies intermédiaires (via HTTP): CGI, Servlets, PHP, ASP JavaScript - exécution dune méthode dun objet à laide de RMI(Java) ou IIOP(CORBA) (sans HTTP) Rendre un service : - renvoi dune page HTML statique - renvoi dune page HTMLdynamique. Crée par tout programme capable de sinterfacer avec les technologies intermédiaires (via HTTP): CGI, Servlets, PHP, ASP JavaScript - exécution dune méthode dun objet à laide de RMI(Java) ou IIOP(CORBA) (sans HTTP)

Cours Internet Gérard Rozsavolgyi Linterface 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 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 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) 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 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 Le programme CGI peut ainsi envoyer lURL d'un autre document. envoyer lURL 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) 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 Une ligne vide 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 Demo Demo <<endl; cout Demo de programme cgi Demo de programme cgi <<endl; cout<<C''est aussi simple que ca !<<endl; cout<<C''est aussi simple que ca !<<endl; cout ; cout ;

Cours Internet Gérard Rozsavolgyi HTTP et Interface CGI Utilisation de variables denvironnement pour communiquer avec des scripts CGI Utilisation de variables denvironnement pour communiquer avec des scripts CGI Trois méthodes essentielles employées pour communiquer : GET POST HEAD Trois méthodes essentielles employées pour communiquer : GET POST HEAD HTTP HTTP

Cours Internet Gérard Rozsavolgyi 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 denvironnement : QUERY_STRING 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 denvironnement : QUERY_STRING Limitation dans la longueur de la chaine ainsi transmise Limitation dans la longueur de la chaine ainsi transmise Données du formulaire concaténées à lURL Données du formulaire concaténées à lURL

Cours Internet Gérard Rozsavolgyi 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 nenvoie pas un EOF a la fin des données. Il faut généralement se débrouiller avec la variable denvironnement CONTENT_LENGTH pour determiner la quantité de données a lire depuis lentrée standard Si vous avez mis METHOD="POST" dans le tag FORM, alors votre programme CGI recevra la réponse dans le stdin Le serveur nenvoie pas un EOF a la fin des données. Il faut généralement se débrouiller avec la variable denvironnement CONTENT_LENGTH pour determiner la quantité de données a lire depuis lentrée standard Données du formulaire non visibles sur lURL Données du formulaire non visibles sur lURL

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

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

Cours Internet Gérard Rozsavolgyi Limitations des scripts CGI Limitations : Quand un serveur reçoit une requête pour un programme CGI, création dun processus pour exécuter le passage de paramètres via des variables denvironnement ou via lentrée standard Limitations : Quand un serveur reçoit une requête pour un programme CGI, création dun processus pour exécuter le passage de paramètres via des variables denvironnement ou via lentrée standard demande du temps et des ressources au serveur, limitant le nombre de requêtes pouvant etre traitées concurrement demande du temps et des ressources au serveur, limitant le nombre de requêtes pouvant etre traitées concurrement Le processus ainsi créé naura de plus pas la faculté de communiquer avec le serveur (par exemple pour écrire des logs) ou dutiliser dautres ressources du serveur, simplement Le processus ainsi créé naura de plus pas la faculté de communiquer avec le serveur (par exemple pour écrire des logs) ou dutiliser dautres ressources du serveur, simplement

Cours Internet Gérard Rozsavolgyi Active Server Pages Cest la technique Microsoft pour générer dynamiquement des pages Web Cest 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 denvoyer sa page au client 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 denvoyer sa page au client Site : lt.asp Site : lt.asp

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

Cours Internet Gérard Rozsavolgyi PHP (II) Linterpréteur lit un fichier source.php puis génère un flux de sortie avec les règles suivantes : - toute ligne située à lextérieur dun bloc PHP ( entre ) 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 derreurs retrouvés également dans le flux de sortie.

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

Cours Internet Gérard Rozsavolgyi PHP (IV) formulaire.php Test Formulaire PHP Test Formulaire PHP <BODY> <P> </FORM></BODY></HTML>

Cours Internet Gérard Rozsavolgyi PHP (V) formRes.php <BODY> Bonjour, Bonjour, <P> Votre nom est stocké dans la variable $nom dont le type est dont le type est </BODY>

Cours Internet Gérard Rozsavolgyi Server-Side JavaScript Technique netscape aussi appellée SSJS. Technique netscape aussi appellée SSJS. Langage : JavaScript Langage : JavaScript Les pages sont précompilées pour améliorer les performances Les pages sont précompilées pour améliorer les performances Site : cript/ssjs.html Site : cript/ssjs.html

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

Cours Internet Gérard Rozsavolgyi 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 dimages, compression de données, sérialisation dobjets, connection aux bases de données et RMI Puissance : les servlets peuvent utiliser toute la puissance du langage Java en réseau, accès aux URL, multithreading, manipulation dimages, compression de données, sérialisation dobjets, 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 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…) 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…) Intégration : Coopération plus aisée et plus étroite avec le serveur. (Authentification…)

Cours Internet Gérard Rozsavolgyi Extensions et évolution future LAPI Servlet est déstinée à être facilement extensible LAPI Servlet est déstinée à être facilement extensible On peut générer complètement une page Web à laide dune servlet On peut générer complètement une page Web à laide dune servlet On peut ajouter des SSI (Server Side Include) a une page statique à laide du tag On peut ajouter des SSI (Server Side Include) a une page statique à laide du tag Sun développe une technique semblable aux ASP de Microsoft appelée JavaServerPages Sun développe une technique semblable aux ASP de Microsoft appelée JavaServerPages

Cours Internet Gérard Rozsavolgyi LAPI Servlet (III) Spécification 2.3 de Sun Implémentation de référence : Tomcat 4.0 HTTP 1.1 filtrage, réecriture dURLs, etc. Tomcat 4.0Tomcat 4.0

Cours Internet Gérard Rozsavolgyi Exemple: formulaire et servlet Formumlaire avec servlet Quel est votre nom, sil vous plaît ? Formumlaire avec servlet Quel est votre nom, sil vous plaît ?

Cours Internet Gérard Rozsavolgyi Exemples Une Servlet Java simple : Hello.java Une Servlet Java simple : Hello.javaHello.java ServerSideInclude : CurrentTime.java ServerSideInclude : CurrentTime.javaCurrentTime.java Un Servlet avec init( ) et destroy( ) : Compteur.java Un Servlet avec init( ) et destroy( ) : Compteur.java Compteur.java

Cours Internet Gérard Rozsavolgyi Autres protocoles Internet/Intranet POP : Gestion du courrier sortant (port 110, USER, PASS, LIST, RETR i, QUIT) 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 ) SMTP : Gestion du courrier sortant (port 25, helo, mail, rcpt, data et quit ) 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 très basique sans AR) UDP (Universal Datagram Protocol, Protocole très basique sans AR) LDAP (Lightweight Directory Access Protocol, gestion dannuaire de ressources hétérogènes) LDAP (Lightweight Directory Access Protocol, gestion dannuaire de ressources hétérogènes)

Cours Internet Gérard Rozsavolgyi Bibliographie Webmaster in a nutshell. Ed. OReilly Webmaster in a nutshell. Ed. OReilly w3c.org w3c.org isoc.org isoc.org nic.fr nic.fr Java Enterprise in a nutshell. Ed. OReilly Java Enterprise in a nutshell. Ed. OReilly