40
1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

Embed Size (px)

Citation preview

Page 1: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

1

Le modèle client/serveur

Technologie web

Deux parties distinctesClientServeur

AnalogieConsommateurFournisseur

Client Serveur

Dialogue

Page 2: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

2

Le client

Technologie web

Se situe dans un réseauUtilise les services d’un ou plusieurs serveursDemande l’exécution d’une ou plusieurs tâches2 formes

OrdinateurProgramme

Page 3: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

3

Le client

Technologie web

Récupère les « résultats » du serveurOffre une interface utilisateur

ConvivialeOptimale

L’utilisateur se trouve sur le client

Page 4: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

4

Le client : web (navigateur , browser) IE7 , FireFox

Technologie web

Page 5: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

5

Le Serveur

Technologie web

Se trouve sur le réseauDeux formes

OrdinateurProgramme

Met des services à disposition du clientChargé d’accomplir des tâches

Page 6: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

6

Le Serveur

Technologie web

Page 7: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

7

Le Serveur

Technologie web

Page 8: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

8

Le Serveur

Technologie web

RôleRépond aux sollicitations des clientsExécute les tâches demandées

Peut traiter plusieurs requêtes simultanément

Page 9: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

9

Communication client/serveur

Technologie web

Dialogue entre processus 2 à 2Résultat : échange de donnéesClient initie l’échangeServeur écoute en permanence une requête éventuelle

Page 10: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

10

Architecture Client/Serveur

Technologie web

Client ServeurDialogue

AttendRéalise/ Exécute

Demande

EnvoieReçoit

Page 11: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

11

Architecture Client/Serveur

Technologie web

AvantagesClients voient uniquement le serveurRessources centraliséesSécuritéAdministrationRéseau évolutif

InconvénientsCoût élevéUn maillon faible

Page 12: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

12

Quelques modèles client/serveur

Technologie web

Serveur de fichiersCentralisation des informations (facilité de sauvegarde)Salles informatiques ESTO

Serveur de tempsTemps universelToutes les machines se synchronisent sur l’heure de cette machine

Serveur FTP, Web …

Page 13: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

13

L’architecture 3-tiers

Technologie web

Modèle classique : architecture à 2 niveaux : client et serveurModèle à 3 niveaux : 3 tiers

Le client : le demandeur de ressourcesLe serveur d’application : fournit la ressource

Fait appel à un autre serveurLe serveur secondaire

Fournit un service au serveur d’application

Page 14: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

14

Les serveurs Web

Technologie web

1 serveurStocke des pages webAttend en permanence les demandes de clientsClient

Demande de page webAdresse tapée dans le navigateur= Requête / demande de service

Page 15: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

15

Les serveurs Web

Technologie web

ServeurReçoit requêteTraitement : recherche du code de la page webEnvoie la page web

ClientReçoit le codeInterprète et affiche le résultat

Nature du code reçu ?

Page 16: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

16

Pages statiques / dynamiques

Technologie web

Pages statiquesCode HTML stocké sur serveurCode envoyé au clientPage identique quelque soit

Le clientLe moment

Exemple : Page d’accueil du site d’une entreprise

Page 17: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

17

Pages statiques / dynamiques

Technologie web

Pages dynamiques (Java Script Vb Script)Souhaite différencier l’affichageEn fonction du moment

Affichage de la dateEn fonction du client

Pays du client => langue

Page 18: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

18

Pages statiques / dynamiques

Technologie web

2 façons de procéderDynamisme sur le client

Reçoit requête clientRenvoie des éléments au client (code + ??)Client effectue un traitementAvantage :

Plus d’interactivitéDécharge le serveur

InconvénientDépendance vis-à-vis du client

Page 19: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

19

Pages statiques / dynamiques

Technologie web

2 façons de procéderDynamisme sur le serveur

Reçoit requête clientEffectue un traitementRenvoie le code correspondantAvantage :

Indépendance vis-à-vis du client (navigateur)Décharge le client

Inconvénient :Interactivité limitée

Page 20: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

20

Les serveurs Web - technologies

Technologie web

Client ServeurDialogue

PHP

ASP JSP

CGI

Applet

ActiveX Servlet

Javascript

Internet

Page 21: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

21

Les serveurs Web - technologies

Technologie web

Côté serveur ….

Page 22: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

22

Côté serveur : Les CGI

Technologie web

Common Gateway InterfaceTechnologie la plus ancienneToujours la plus utiliséeProgramme sur le serveur (pré-compilé)

Placé dans un répertoire particulierTout langage possible

Langage Perl le plus utiliséC, C++, Fortran, etc. possibles

Page 23: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

23

Côté serveur : Les CGITechnologie web

Utilisation de formulaires : GET(visible)/POST(stdin)Traitement de la requête par le pgrConstruction du code HTML correspondant

Inconvénient : Gourmand en ressources système

Page 24: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

24

Côté serveur : servlets

Technologie web

Applets(navigateur)/Servlets(serveurs)Avantage:

Java donc exportable sur toute plateforme.S’exécutent dans un moteur servlet distinct du serveur web (ne gère pas la connexion)Réduire la charge du serveur par système de caches, de threads, …Peut communiquer avec des applications extérieures.

Page 25: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

25

Côté serveur : servlets

Technologie web

Technologie Java (Java Server Pages)Langage de scriptsLe code source est transformé, recompilé et utilisé comme un servletAvantage

Accès bases de donnéesComposants Java (servlets, JavaBeans)Pas interprété: plus légé

Page 26: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

26

Côté serveur : servlets

Technologie web

Deux façons pour coder des pages JSP Incorporer directement le code Java dans la pageUtiliser des classes java

servlets

Dans les pages : Code entre balises <% et %>

Page 27: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

27

Côté serveur :Les ASP

Technologie web

ASP (Active Server Pages) ≠ JSPTechnologie MicrosoftMême principe que JSP

Combine code html (statique) et traitementsTraitements

Page 28: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

28

Côté serveur : PHP

Technologie web

Langage de scriptsOrienté objetNon typé

S’intègre au code HTMLPermet un accès facile aux bases de données

Page 29: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

29

Introduction

Technologie web : PHP

Qu'est ce que PHP?PHP (officiellement, ce sigle est un acronyme récursif pour PHP: Hypertext Preprocessor) est un langage de scripts généraliste et Open Source, spécialement conçu pour le développement d'applications web. Il peut être intégré facilement au HTML.

Ce qui distingue PHP des langages de script comme le Javascript est que le code est exécuté sur le serveur

Page 30: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

30

Introduction

Technologie web : PHP

Réponse simple et claire, mais qu'est ce que cela veut dire? Un exemple : <html>   <head>       <title>Exemple</title>   </head>   <body>

       <?php        echo "Bonjour, je suis un script PHP!";        ?>

   </body></html>

Page 31: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

31

Introduction

Technologie web : PHP

Le grand avantage de PHP est qu'il est extrêmement simple pour les néophytes, mais offre des fonctionnalités avancées pour les experts. Ne craignez pas de lire la longue liste de fonctionnalités PHP. Vous pouvez vous plonger dans le code, et en quelques instants, écrire des scripts simples.

Page 32: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

32

Introduction

Technologie web : PHP

<p>Ceci sera ignoré.</p><?php echo 'Alors que ceci sera analysé par PHP.'; ?><p>Ceci sera également ignoré.</p>

1.  <?php echo 'Si vous voulez réaliser des documents XHTML ou XML, faites comme ceci'; ?>2.  <script language="php">       echo 'quelques éditeurs (comme FrontPage)                 n\'aiment pas ce genre d\'instructions';   </script>3.  <? echo 'ceci est le plus simple, une instruction SGML'; ?>

Exe1. Code PHP dans un document HTML

Exe2. Balises d'ouvertures et de fermetures PHP

Page 33: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

33

Introduction

Technologie web : PHP

<?php$var = 'Moha';$Var = 'Mostapha';echo "$var, $Var";     $4site = 'pas encore'; $_4site = 'pas encore';    $täyte = 'tbarkalahe'?>

Exe3. Validité des noms de variables

Page 34: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

34

Introduction

Technologie web : PHP

<?php$foo = 'Mostapha';// Assigne la valeur 'Mostapha'à $foo$bar = &$foo;      // Référence $foo avec $bar.$bar = "Mon nom est $bar";  // Modifie $bar...echo $foo;        // $foo est aussi modifiéeecho $bar;?>

Exe4. Assignation de référence

Page 35: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

35

Introduction

Technologie web : PHP

Les Date en PHPNous allons apprendre maintenant à manipuler les dates sous différents formats et comment les afficher.

La fonction date() :Exp : <?

$date_du_jour = date("d-m-Y"); echo 'Nous sommes le '.$date_du_jour;

?>Code à utiliser avec la fonction date() :

Page 36: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

36

Introduction

Technologie web : PHP

Les Date en PHPformat description : exemplea "am" ou "pm" minuscules : pmA "AM" ou "PM" majuscules : PMd jour du mois :01/31D jour de la semaine en 3 lettres : MonF nom du mois : Janvierh heure (format 12 heures avec 0 en entête) : 12H heure (format 24 heures avec 0 en entête) : 08g heure (format 12 heures sans 0 en entête) : 4G heure (format 24 heures sans 0 en entête) : 10i minutes : 44j jours du mois (sans 0 en entête) : 3m mois de l’année (0 en entête) : 04M mois de l’année en 3 lettres : juin mois de l’année (sans 0 en entête) : 4s secondes : 30y année à deux chiffres : 03Y année à 4 chiffres : 2003D’autre format sont disponible avec php5

Page 37: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

37

Introduction

Technologie web : PHP

La fonction time() : C’est la date au format système, pour avoir un affichage personnalisé on doit utiliser une autre fonction (getdate) :Exp :<? $time = time(); // la date au format système$date = getdate($time); // passage de la variable time dans getdate pour ressortir les infosprint 'Nous sommes le '.$date[mday].' - '.$date[mon].' - '.$date[year] ; ?>

Affiche le 25-4-2006

La fonction getdate retourne un tableau nominatifCode de tableau à utiliser avec la fonction getdate()

Page 38: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

38

Introduction

Technologie web : PHP

clés description :Exempleseconds Secondes : 30minutes minutes : 5hours heure de la journée de 0 à23 : 15mday jour du mois de 1 à 31 : 12wday jours de la semaine de 0 à 6 : 2mon moi de l’année : 4year année en 4 chiffres : 2003yday jours de l’année de 0 à 365 : 180weekday nom du jour de la semaine (en anglais) : Mondaymonth mois de l’année (en anglais) : January

Page 39: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

39

Introduction

Technologie web : PHP

Exercices :1- Écrire un programme qui affiche les informations de la date courante sur le serveur.2- Écrire un programme qui affiche la date courante sur le serveur et celle du client (utiliser un script Java script).3- Écrire un programme qui affiche une page web entre 8h et 10h du 30 juin 2006 et affiche une autre page en dehors de cet intervalle. 4- Écrire un programme qui calcule et affiche le décalage entre la date sur le serveur et la date sur le client (utiliser des variables javascript initialiser avec du Php, le calcul se fera chez le client).5-Utiliser la fonction mktimeint mktime ( int hour, int minute, int second ,int month ,int day ,int year) Ecrire le code et analyser son résultat:<? echo "1er août 2006 est un " . date("l", mktime(0, 0, 0, 8, 1, 2006)); ?>Écrire un programme qui donne le jour de la semaine de votre prochain anniversaire

Page 40: 1 Le modèle client/serveur Technologie web Deux parties distinctes Client Serveur Analogie Consommateur Fournisseur Client Serveur Dialogue

40

Merci