1 / 129

Client/Serveur Internet Conception de pages dynamiques

Client/Serveur Internet Conception de pages dynamiques. Jean-Marc Thévenin Laurent Perrussel {thevenin,perussel}@univ-tlse1.fr. Plan du Cours. I/ Introduction II/ Architecture Client/Serveur dans Internet III/ Configuration d’un serveur HTTPD IV/ Conception de Pages Dynamiques

betrys
Download Presentation

Client/Serveur Internet Conception de pages dynamiques

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. Client/Serveur InternetConception de pages dynamiques Jean-Marc Thévenin Laurent Perrussel {thevenin,perussel}@univ-tlse1.fr

  2. Plan du Cours I/ Introduction II/ Architecture Client/Serveur dans Internet III/ Configuration d’un serveur HTTPD IV/ Conception de Pages Dynamiques V/ Le Langage PHP VI/ Interactions avec une Base de Données VII/ Saisie d’Informations sur Plusieurs Pages

  3. I/ Introduction 1/ Architecture client/serveur Internet 2/ Lien avec le cours de conception de pages HTML 3/ Les pages HTML dynamiques

  4. I.1/ Arch. client/serveur Internet • Rôle du client ? • Programme permettant de demander des données ou des services à une autre machine • données : pages, messages, fichiers • services : programme s’exécutant sur une machine distante (exemple : HotMail) • le client doit connaître la seconde machine • la seconde machine s’appelle un Serveur

  5. I.1/ Architecture client/serveur Internet • Trois types de client ? • Navigateur de pages Web : Netscape, MS Internet Explorer, Word... • logiciel de messagerie électronique : Eudora, Outlook Express, Netscape, Word… • logiciel de transfert de fichiers : WS-FTP, MS Internet Explorer, Word…

  6. I.1/ Arch. client/serveur Internet (suite) • Rôle du serveur : • Programme qui attend, traite et répond à des requêtes provenant de clients localisés sur des machines distantes • Rappel : une requête peut concerner des données et/ou un service.

  7. I.1/ Arch. client/serveur Internet (suite) • Trois types de serveur : • Serveur de pages Web : Apache, Microsoft Server, Netscape Server… • Serveur de messagerie : SendMail, Microsoft Exchange… • Serveur FTP : WU-FTP

  8. I.1/ Arch. client/serveur Internet (suite) • Une Transaction Type a) le client, un navigateur, demande une page à un serveur Web. b) le serveur, qui attendait reçoit la requête et cherche la page sur sa machine. c) le serveur envoie la page au client et attend à nouveau. Client (Navigator) a) c) b) Fichiers (pages) Serveur (Apache)

  9. I.2/ Lien avec le cours de conception de pages HTML • Dreamweaver : éditions de pages • Pour rendre ces pages accessibles il faut : • définir le fonctionnement du serveur (URL, autorisations, organisation des répertoires...) • publier ces pages, i.e. stockage dans les répertoires adaptés

  10. I.2/ Lien avec le cours … (suite) • Dreamweaver : conception de la structure de pages et de formulaires (aspect statique) • Nécessité de prendre en compte les aspects dynamiques : • associer des instructions au(x) bouton(s) • récupérer et traiter les données saisies • interaction avec une base de données • génération de pages pour afficher des résultats

  11. client : saisie de données dans un formulaire et envoi réception de la page générée dynamiquement et affichage Serveur réception des données génération d’une page en fonction des données reçues envoi de cette page I.3/ Les pages dynamiquesTransaction type

  12. I.3/ Les pages dynamiques (suite) • Génération de pages • effectuée sur le serveur • programme de génération souvent appelé CGI (Common Gateway Interface) • le programme interagit avec le serveur (E/S) et éventuellement d’autres programmes et/ou un serveur de bases de données

  13. I.3/ Les pages dynamiques (suite) • Objectif du cours • génération de pages HTML conditionnées par des paramètres • écriture de CGI simples accédant à une base de données relationnelle

  14. II/ Architecture Client/Serveur dans Internet 1/ Introduction 2/ Dans le contexte HTTP 3/ Dans le contexte du Mail 4/ Dans le contexte des News

  15. II.1/ Introduction • Internet / Intranet / Extranet • Internet • ensemble de machines interconnectées selon le protocole de communication TCP/IP . • Les machines ont un nom et sont dans un domaine (ex : igsi.univ-tlse1.fr). • Différents services offerts : sites web, accès distant à des documents, courrier électronique, forums de discussion

  16. II.1/ Introduction (suite) • Internet / Intranet / Extranet • Intranet • C ’est une « sous-partie » d’Internet • Réseau privé et donc inaccessible de l ’extérieur (i.e. Internet) pour des raisons de sécurité • limitation à un domaine • ex : univ-tlse1.fr • Utilisé pour le fonctionnement d’une organisation (ex : Citroën)

  17. II.1/ Introduction (suite) • Internet / Intranet / Extranet • Extranet • C ’est une « sous-partie » d’Internet • Réseau privé et donc inaccessible de l ’extérieur (i.e. Internet) pour des raisons de sécurité • limitation à quelques machines • utilisé pour relier une entreprise avec ses partenaires (ex: suivi de commandes). • Intranet et Extranet font souvent partie du S.I. de l ’entreprise

  18. II.1/ Introduction (suite)TCP/IP • Transmission Control Protocol / Internet Protocol • Circulation des données par paquets • le message est découpé en paquets. • Chaque paquet est envoyé à un nœud qui renvoie vers un autre nœud suivant l’encombrement. • A l’arrivée, les paquets sont réordonnés Message = P1 + P2 Système A P1, P2 P2 P1 P2 P1 Système B

  19. II.1/ Introduction (suite)TCP/IP • Expéditeurs et Destinataires des paquets sont identifiées • Numéro de machine : adresse IP • ex 190.10.20.30 • Nom complet de machine : www.lemonde.fr • nom : www • nom de domaine : lemonde.fr

  20. II.1/ Introduction (suite)TCP/IP • Fonctionnement des serveurs DNS • Domain Name System • association entre le nom d’une machine et son adresse IP • Un serveur de noms par domaine • Quand le nom accédé n’est pas dans le domaine, le serveur de nom local transfère la requête à un serveur de noms Internet

  21. II.1/ Introduction (suite) • Les URLs • un protocole • éventuellement un nom d’utilisateur suivi de @ • un nom complet de machine • éventuellement un nom de dossier et/ou de document • ex • news://news.cict.fr • mailto://Jean-Marc.Thevenin@univ-tlse1.fr • http://igsi.univ-tlse1.fr/igsi

  22. II.1/ Introduction (suite) • Les principaux protocoles • http (et https) : pages HTML (et pages sécurisées) • mailto : envoi de messages • news : forums de discussion • ftp : transfert de fichiers • Chaque protocole est pris en charge par un service (un serveur)

  23. II.2/ Client/Serveur HTTP • HTTP : protocole permettant de demander et de recevoir des pages HTML auprès d’un serveur de pages localisé sur une machine distante • le serveur est désigné sous le nom de HTTPD : démon HTTP

  24. II.2/ Client/Serveur HTTP (suite) • Principaux HTTPD • Apache (Unix, Windows, MacOS X...) • Microsoft Personal Web Server (Win) • Microsoft Site Server (Win NT) • Netscape iPlanet Web Server (Unix, NT…)

  25. II.2/ Client/Serveur HTTP (suite) • Transaction type avec une page limitée à du texte • http://uneMachine.unDomaine.fr/undossier/unePage.html 1. le serveur sur la machine uneMachine.unDomaine.fr reçoit la demande 2. le serveur associe à undossier le nom réel sur le disque. 3. Le serveur vérifie l’existence de la page et les droits d’accès 4. le serveur envoie la page unePage.html à la machine cliente 5. le serveur enregistre la transaction dans un journal

  26. II.2/ Client/Serveur HTTP (suite) • Zoom Etape 2 : associer undossier à un nom réel sur le disque. • http://igsi.univ-tlse1.fr/~thevenin • http://igsi.univ-tlse1.fr/~thevenin/p1.html /home /thevenin /public_html /index.html /home /thevenin /public_html /p1.html Machine IGSI

  27. II.2/ Client/Serveur HTTP (suite) • Transaction type avec une page multimédia (texte + images + animations + …) • http://uneMachine.unDomaine.fr/undossier/unePage.html A. le client demande la page et le serveur envoie le texte (étapes 1 à 5 précédemment) B. le client analyse la page et demande le chargement pour chacun des composants • les étapes 1 à 5 sont répétées par le serveur pour chaque composant. • Autrement dit, une requête d ’un client se traduit par un ensemble de transactions élémentaires

  28. II.2/ Client/Serveur HTTP (suite) • Transaction HTTPS • transaction HTTP sécurisée • Principes identiques aux transactions HTTP • Communication Client/Serveur sécurisée par encodage des paquets.

  29. II.2/ Client/Serveur HTTP (suite) • Publication d’une page • URL de la page • http://uneMachine.unDomaine.fr/undossier/unePage.html • transfert FTP du fichier unePage.html sur la machine uneMachine.unDomaine.fr dans le dossier associé au chemin undossier en lui donnant le même nom (unePage.html)

  30. II.3/ Client/serveur Mail • Client : lecture, stockage définitif et rédaction de messages • Serveur : boite postale (stockage temporaire des messages) et envoi des messages. • Deux serveurs distincts (entrée et sortie) • chaque serveur peut être sur une machine distincte

  31. Client rédaction du message adresse sujet corps envoi du message au serveur de courrier sortant Serveur Réception du message à envoyer envoi du message selon le protocole SMTP (Simple Mail Transfer Protocol) à l’adresse « adresse » II.3/ Client/serveur Mail (suite)

  32. Client interrogation du serveur de courrier entrant (la boite au lettre), récupération des messages affichage des messages à la demande Serveur Réception du message et stockage dans une boite temporaire selon le protocole POP (Post Office Protocol) suppression dans la boite des messages transférés II.3/ Client/serveur Mail (suite)

  33. II.3/ Client/serveur Mail (suite) • Circulation des messages : texte • documents attachés : encodés (binaire --> texte) • client encode et décode • expéditeur et destinataire doivent respecter la même convention d’encodage • conventions usuelles : Mime, Uuencode, Base64

  34. Principaux clients Eudora Netscape Messenger Outlook Pegasus elm Principaux Serveurs Sendmail iPlanet™ Messaging Server 5.0 (Netscape) Microsoft Exchange Server II.3/ Client/serveur Mail (suite)

  35. Client/Serveur News • News : forums de discussion thématique • Principe • envoi d’un message au serveur de forums • le message est publié dans le forum • lecture du forum par les utilisateurs • les utilisateurs répondent au forum

  36. Client/Serveur News (suite) • Contrôle de la discussion • publication sur le forum peut être modérée par un modérateur (administrateur) • les forums peuvent être privés • dans un intranet • abonnement

  37. Client/Serveur News (suite)

  38. Client/Serveur News (suite) • Rôle du lecteur de forums • « Sélection » des forums préférés auprès de différents serveurs de forums • Affichage des entêtes des messages du forum sélectionné • Réception du corps du message sélectionné et affichage • Envoi d’un message au serveur du forum sélectionné

  39. Client/Serveur News (suite) • Rôle du serveur de forums • Stockage des messages dans les forums • Gestion de l’archivage • Envoi sur demande d’un client les entêtes des messages d’un forum • Idem pour les corps des messages • Publication des messages • Synchronisation avec les autres serveurs de forums

  40. III/ Configuration d’un serveur HTTPD 1/ Présentation de Apache 2/ Configuration de Apache 3/ Configuration des espaces publics/personnels 4/ Exercices • dossier personnel et publication de pages • autorisation • consultation des journaux

  41. III.1/ Présentation de Apache • Serveur HTTP • Plates-formes : Windows 9x/NT, Unix (Linux),… • logiciel libre : programme source accessible et distribué avec la licence GNU • Serveur rapide et stable • utilisé sur plus de 6 millions de serveurs

  42. III.1/ Présentation de Apache (suite) • Site : www.apache.org (en anglais) • Configuration utilisée • machine : igsi • système : linux • apache : version 1.3.12-2

  43. III.1/ Présentation de Apache (suite) • Quelques fonctionnalités • définition de l’administrateur • gestion du nombre d’accès simultanés (nombre de transactions HTTP) • surveillance des accès (journaux) • organisation des répertoires contenant les pages du site • définition des répertoires de pages personnelles • droits d’accès généraux et personnels • définition personnalisée des pages d’erreur • pied de page personnalisé

  44. III.2/ Configuration de Apache • Configuration • responsable : propriétaire (au sens unix) du logiciel • définie dans le fichier /etc/httpd/httpd.conf • configuration principale • déléguer des configurations spécifiques en fonction des répertoires de pages

  45. III.2/ Configuration de Apache (suite) • Structure du fichier httpd.conf : • document texte avec des lignes de commentaires et des lignes de configuration • ligne de commentaire • débute par un # • ligne de configuration • MotClef Valeur • ex: # Adresse du fichier d’erreurErrorLog /var/log/httpd/error_log

  46. III.2/ Configuration de Apache (suite) • Fichier httpd.conf chargé au lancement du processus HTTPD • Généralement préconfiguré par défaut et très peu de choses à changer • Toutes les options sont spécifiées : il suffit d ’enlever les commentaires pour les options choisies

  47. III.2/ Configuration de Apache (suite) • Principaux paramètres (présentés avec leur valeur par défaut) # Nombre de processus serveurs en // StartServers 8 # nom et groupe de l ’utilisateur executant HTTPD User nobody (droit du processus serveur) Group nobody # addresse de l ’administrateur # (ajoutée au pages générées ex 404). ServerAdmin root@localhost # Répertoire racine des pages du serveur DocumentRoot /home/httpd/html

  48. III.2/ Configuration de Apache (suite) Preciser que le chargement par defaut est uniquement effectue si l ’url se conclue par un nom de repertoire • Principaux paramètres (présentés avec leur valeur par défaut) # Répertoire racine d ’un utilisateur de la machine Userdir public_html => pour l’utilisateur ayant le login monLogin le répertoire racine est /home/monLogin/public_html et l’URL est http://uneMachine.unDomaine.fr/~monLogin # Page par défaut à charger dans un répertoire DirectoryIndex index.html index.htm index.cgi

  49. III.2/ Configuration de Apache (suite) • Principaux paramètres concernant les journaux (présentés avec leur valeur par défaut) # fichier d’erreur ErrorLog /var/log/httpd/error_log # Niveau de journalisation des erreurs # (info, notice, error, alert,…) LogLevel warn # Fichier de journalisation des accès et niveau CustomLog /var/log/httpd/access_log common

  50. Mentionner le * dans le nom du repertoire décrit III.3/ Configuration des espaces publics/personnels • Description des droits effectuée par répertoire • droit d’exécuter des CGI • droit à restreindre les accès • droit de redéfinir les droits… • Syntaxe # Droit pour le répertoire /home/*/public_html <Directory /home/*/html> (liste des droits) </Directory>

More Related