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

Preview:

Citation preview

1

Le modèle client/serveur

Technologie web

Deux parties distinctesClientServeur

AnalogieConsommateurFournisseur

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

3

Le client

Technologie web

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

ConvivialeOptimale

L’utilisateur se trouve sur le client

4

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

Technologie web

5

Le Serveur

Technologie web

Se trouve sur le réseauDeux formes

OrdinateurProgramme

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

6

Le Serveur

Technologie web

7

Le Serveur

Technologie web

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

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

10

Architecture Client/Serveur

Technologie web

Client ServeurDialogue

AttendRéalise/ Exécute

Demande

EnvoieReçoit

11

Architecture Client/Serveur

Technologie web

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

InconvénientsCoût élevéUn maillon faible

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 …

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

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

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 ?

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

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

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

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

20

Les serveurs Web - technologies

Technologie web

Client ServeurDialogue

PHP

ASP JSP

CGI

Applet

ActiveX Servlet

Javascript

Internet

21

Les serveurs Web - technologies

Technologie web

Côté serveur ….

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

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

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.

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é

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 %>

27

Côté serveur :Les ASP

Technologie web

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

Combine code html (statique) et traitementsTraitements

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

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

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>

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.

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

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

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

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() :

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

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()

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

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

40

Merci

Recommended