Vous êtes sur la page 1sur 40

Technologie web

Le modle client/serveur
Deux parties distinctes
Client

Serveur

Analogie
Consommateur

Fournisseur

Dialogue
Client Serveur

1
Technologie web

Le client
Se situe dans un rseau
Utilise les services dun ou plusieurs serveurs
Demande lexcution dune ou plusieurs tches
2 formes
Ordinateur

Programme

2
Technologie web

Le client
Rcupre les rsultats du serveur
Offre une interface utilisateur
Conviviale

Optimale

Lutilisateur se trouve sur le client

3
Technologie web

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

4
Technologie web

Le Serveur
Setrouve sur le rseau
Deux formes
Ordinateur

Programme

Metdes services disposition du client


Charg daccomplir des tches

5
Technologie web

Le Serveur

6
Technologie web

Le Serveur

7
Technologie web

Le Serveur
Rle
Rpond aux sollicitations des clients
Excute les tches demandes

Peut traiter plusieurs requtes simultanment

8
Technologie web

Communication client/serveur
Dialogue entre processus 2 2
Rsultat : change de donnes
Client initie lchange
Serveur coute en permanence une requte
ventuelle

9
Technologie web

Architecture Client/Serveur

Client Dialogue Serveur

Demande Attend
Ralise/ Excute
Reoit Envoie

10
Technologie web

Architecture Client/Serveur
Avantages
Clientsvoient uniquement le serveur
Ressources centralises

Scurit

Administration

Rseau volutif

Inconvnients
Cotlev
Un maillon faible

11
Technologie web

Quelques modles client/serveur


Serveur de fichiers
Centralisation des informations (facilit de
sauvegarde)
Salles informatiques ESTO

Serveur de temps
Temps universel
Toutes les machines se synchronisent sur lheure
de cette machine
Serveur FTP, Web

12
Technologie web

Larchitecture 3-tiers
Modle classique : architecture 2 niveaux :
client et serveur
Modle 3 niveaux : 3 tiers
Le client : le demandeur de ressources
Le serveur dapplication : fournit la ressource
Fait appel un autre serveur
Le serveur secondaire
Fournit un service au serveur dapplication

13
Technologie web

Les serveurs Web


1 serveur
Stocke des pages web
Attend en permanence les demandes de
clients
Client
Demande de page web
Adresse tape dans le navigateur
= Requte / demande de service

14
Technologie web

Les serveurs Web


Serveur
Reoit requte
Traitement : recherche du code de la page web

Envoie la page web

Client
Reoit le code
Interprte et affiche le rsultat

Nature du code reu ?

15
Technologie web

Pages statiques / dynamiques


Pages statiques
Code HTML stock sur serveur
Code envoy au client

Page identique quelque soit


Le client
Le moment

Exemple : Page daccueil du site dune entreprise

16
Technologie web

Pages statiques / dynamiques


Pages dynamiques (Java Script Vb Script)
Souhaite diffrencier laffichage
En fonction du moment
Affichage de la date
En fonction du client
Pays du client => langue

17
Technologie web

Pages statiques / dynamiques


2 faons de procder
Dynamisme sur le client
Reoit requte client
Renvoie des lments au client (code + ??)

Client effectue un traitement

Avantage :
Plus dinteractivit
Dcharge le serveur

Inconvnient
Dpendance vis--vis du client

18
Technologie web

Pages statiques / dynamiques


2 faons de procder
Dynamisme sur le serveur
Reoit requte client
Effectue un traitement

Renvoie le code correspondant

Avantage :
Indpendance vis--vis du client (navigateur)
Dcharge le client

Inconvnient :
Interactivit limite

19
Technologie web

Les serveurs Web - technologies


CGI
ActiveX Servlet
Applet
ASP JSP
Javascript
PHP

Internet

Client Dialogue Serveur

20
Technologie web

Les serveurs Web - technologies

Ct serveur .

21
Technologie web

Ct serveur : Les CGI


Common Gateway Interface
Technologie la plus ancienne
Toujours la plus utilise
Programme sur le serveur (pr-compil)
Plac dans un rpertoire particulier
Tout langage possible
Langage Perl le plus utilis
C, C++, Fortran, etc. possibles

22
Technologie web

Ct serveur : Les CGI


Utilisation de formulaires :
GET(visible)/POST(stdin)

Traitement de la requte par le pgr


Construction du code HTML correspondant

Inconvnient :
Gourmand en ressources systme

23
Technologie web

Ct serveur : servlets
Applets(navigateur)/Servlets(serveurs)
Avantage:
Java donc exportable sur toute plateforme.
Sexcutent dans un moteur servlet distinct du
serveur web (ne gre pas la connexion)
Rduire la charge du serveur par systme de
caches, de threads,
Peut communiquer avec des applications
extrieures.

24
Technologie web

Ct serveur : servlets
Technologie Java (Java Server Pages)
Langage de scripts
Le code source est transform, recompil et
utilis comme un servlet
Avantage
Accs bases de donnes
Composants Java (servlets, JavaBeans)

Pas interprt: plus lg

25
Technologie web

Ct serveur : servlets
Deux faons pour coder des pages JSP
Incorporer directement le code Java dans la page
Utiliser des classes java
servlets

Dans les pages :


Code entre balises <% et %>

26
Technologie web

Ct serveur :Les ASP


ASP (Active Server Pages) JSP
Technologie Microsoft
Mme principe que JSP
Combine code html (statique) et traitements
Traitements

27
Technologie web

Ct serveur : PHP
Langage de scripts
Orientobjet
Non typ

Sintgre
au code HTML
Permet un accs facile aux bases de donnes

28
Technologie web : PHP

Introduction
Qu'est ce que PHP?
PHP (officiellement, ce sigle est un acronyme rcursif pour PHP:
Hypertext Preprocessor) est un langage de scripts gnraliste et
Open Source, spcialement conu pour le dveloppement
d'applications web. Il peut tre intgr facilement au HTML.

Ce qui distingue PHP des langages de script comme le Javascript


est que le code est excut sur le serveur

29
Technologie web : PHP

Introduction
Rponse 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>
30
Technologie web : PHP

Introduction
Le grand avantage de PHP est qu'il est extrmement simple pour
les nophytes, mais offre des fonctionnalits avances pour les
experts. Ne craignez pas de lire la longue liste de fonctionnalits
PHP. Vous pouvez vous plonger dans le code, et en quelques
instants, crire des scripts simples.

31
Technologie web : PHP

Introduction
Exe1. Code PHP dans un document HTML
<p>Ceciseraignor.</p>
<?phpecho'Alorsquececisera
analysparPHP.';?>
<p>Ceciseragalementignor.</p>

Exe2. Balises d'ouvertures et de fermetures PHP


1.<?phpecho'Sivousvoulezraliserdes
documentsXHTMLouXML,faitescommececi';?>
2.<scriptlanguage="php">
echo'quelquesditeurs(commeFrontPage)
n\'aimentpascegenre
d\'instructions';
</script>
3.<?echo'ceciestleplussimple,une
instructionSGML';?>
32
Technologie web : PHP

Introduction

Exe3. Validit des noms de variables


<?php
$var='Moha';
$Var='Mostapha';
echo"$var,$Var";
$4site='pasencore';
$_4site='pasencore';
$tyte='tbarkalahe'
?>

33
Technologie web : PHP

Introduction
Exe4. Assignation de rfrence
<?php
$foo='Mostapha';//Assignelavaleur
'Mostapha'$foo
$bar=&$foo;//Rfrence$fooavec$bar.
$bar="Monnomest$bar";//Modifie$bar...
echo$foo;//$fooestaussimodifie
echo$bar;
?>

34
Technologie web : PHP

Introduction
Les Date en PHP
Nous allons apprendre maintenant manipuler les dates sous diffrents
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() :

35
Technologie web : PHP

Introduction
Les Date en PHP
format description : exemple
a "am" ou "pm" minuscules : pm
A "AM" ou "PM" majuscules : PM
d jour du mois :01/31
D jour de la semaine en 3 lettres : Mon
F nom du mois : Janvier
h heure (format 12 heures avec 0 en entte) : 12
H heure (format 24 heures avec 0 en entte) : 08
g heure (format 12 heures sans 0 en entte) : 4
G heure (format 24 heures sans 0 en entte) : 10
i minutes : 44
j jours du mois (sans 0 en entte) : 3
m mois de lanne (0 en entte) : 04
M mois de lanne en 3 lettres : jui
n mois de lanne (sans 0 en entte) : 4
s secondes : 30
y anne deux chiffres : 03
Y anne 4 chiffres : 2003
Dautre format sont disponible avec php5

36
Technologie web : PHP

Introduction
La fonction time() :
Cest la date au format systme, pour avoir un affichage personnalis on doit
utiliser une autre fonction (getdate) :
Exp :
<?
$time = time(); // la date au format systme
$date = getdate($time); // passage de la variable time dans getdate pour
ressortir les infos
print 'Nous sommes le '.$date[mday].' - '.$date[mon].' - '.$date[year] ;
?>

Affiche le 25-4-2006

La fonction getdate retourne un tableau nominatif


Code de tableau utiliser avec la fonction getdate()

37
Technologie web : PHP

Introduction
cls description :Exemple
seconds Secondes : 30
minutes minutes : 5
hours heure de la journe de 0 23 : 15
mday jour du mois de 1 31 : 12
wday jours de la semaine de 0 6 : 2
mon moi de lanne : 4
year anne en 4 chiffres : 2003
yday jours de lanne de 0 365 : 180
weekday nom du jour de la semaine (en anglais) : Monday
month mois de lanne (en anglais) : January

38
Technologie web : PHP

Introduction
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 dcalage 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 mktime
int mktime ( int hour, int minute, int second ,int month ,int day ,int year)
Ecrire le code et analyser son rsultat:
<? echo "1er aot 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

39
Merci

40