Aucun titre de diapositive

Transcription

Aucun titre de diapositive
Internet statique et dynamique
Programmation côté Serveur
Programmation de sites web statiques et dynamiques
Programmation côté serveur
Jean CARTIER
MASTER INI
[email protected]
1
Internet statique et dynamique
Programmation côté Serveur
SOMMAIRE
•Côté Client
•Le HTML : Principe de fonctionnement
•Le HTML : Limites d'utilisation
•Le Javascript : Principe de fonctionnement
•Le Javascript : Quelques exemples
•Le Java : Principe de fonctionnement
•Le Java : Exemples d'utilisation
•En résumé
•Côté Serveur
•Les CGI : Principe de fonctionnement
•Les CGI : Quelques applications et limitations
•ASP, PHP : Principe de fonctionnement
•En résumé
•Ressources externes
2
Internet statique et dynamique
Programmation côté Serveur
Côté Client
(c’est à dire Côté Utilisateur)
(ou encore Côté Navigateur Web)
3
Internet statique et dynamique
Programmation côté Serveur
Le HTML : Principe de fonctionnement
Le HTML : un fichier texte enrichi de balises
Serveur Web
qui vont mettre ce texte en forme.
Fichier HTML
(ex : <em>bonjour</em> met bonjour
transmis du serveur Web
en italique)
au navigateur Web
Le serveur Web transmet le HTML
sans le modifier vers le demandeur.
Le fichier HTML est interprété
par le navigateur.
L’apparence d’une page peut donc
changer d'un navigateur à l'autre,
voire d'une version
à l'autre.
4
Interprétation
du HTML par
le navigateur Web
Affichage du résultat
de l'interprétation dans
le navigateur Web
Navigateur Web : Internet Explorer,
Netscape Communicator, Mosaic,
Firefox, Opéra, Konqueror, ...
Internet statique et dynamique
Programmation côté Serveur
Le HTML : Limites d'utilisation
- Mise en page via des feuilles de styles (CSS)
- Affichage d'images au format GIF, PNG ou JPEG.
- Possibilité de créer des tableaux.
- Insertion de médias : sons, vidéos,
et autre animations (Flash, VRML)
dans les pages HTML ; lecture de
ces médias si le navigateur possède
les extensions pour les lire (plugins).
Exemple de page web
5
Internet statique et dynamique
Programmation côté Serveur
Le Javascript : Principe de fonctionnement
Le Javascript est un langage de
Serveur Web
programmation simple, directement
Fichier HTML contenant du
inclus dans le code HTML.
Le serveur Web se contente de
transmettre le fichier HTML
contenant le Javascript, sans rien
modifier vers le demandeur.
Javascript transmis du
serveur Web au navigateur
Web
Interprétation
du HTML et du
Javascript par
le navigateur Web
Le Javascript est interprété
Affichage du résultat
par le navigateur, et
de l'interprétation dans
c'est pour cela qu'entre deux
le navigateur Web
navigateurs l'apparence d'une
Navigateur Web
page peut changer et le fonctionnement
des scripts être aléatoire !
6
Internet statique et dynamique
Programmation côté Serveur
Le Javascript : Quelques exemples
! Javascript ≠ Java
Le Javascript est interprété par le navigateur,
ce qui signifie qu'il n'est capable
de travailler que sur l'ordinateur du client.
Il est utilisé pour des actions simples et événementielles :
- Vérification de formulaire avant son envoi.
- Affichage de messages dans la barre d'état du navigateur.
- Changement d'images par survol.
- Ecriture de petits fichiers de configuration (les cookies)
sur l’ordinateur afin de stocker un petit nombre
d’informations.
- Interagir avec des éléments multimédia sur la page
- Interagir avec des blocs dans la page (AJAX)
7
Internet statique et dynamique
Programmation côté Serveur
Le Java : Principe de fonctionnement
! Java ≠ Javascript
Le Java est avant tout un langage de
programmation issu de chez Sun.
Pour être exécuté, il doit être
pré-compilé au préalable.
Le navigateur Web n’interprète pas
le Java, il l’exécute.
Il est indépendant de la plateforme sur laquelle il tourne
(la plateforme doit possèder
une "machine virtuelle java").
Serveur Web
Fichier HTML transmis du
serveur Web au navigateur
Web. L’applet Java est un
fichier qui sera transmis à
part.
Execution
de l’applet
sur le
navigateur
Sur Internet, le Java est utilisé sous la forme d’applet: des
petits programmes qui vont venir s’inscrire dans un cadre
sur la fenêtre du navigateur.8
Internet statique et dynamique
Programmation côté Serveur
Tout comme les sons, la vidéo, les animations,
le java est une extension du navigateur.
Le navigateur reçoit le fichier HTML et
l’applet Java séparément puis exécute cette applet.
Il en découle que plus l’ordinateur client
est puissant, plus l ’exécution de l ’applet sera
Serveur Web
Fichier HTML transmis du
serveur Web au navigateur
Web. L’applet Java est un
fichier qui sera transmis à
rapide.
part.
Le Java offre néanmoins plus de possibilité
que le HTML ou que le Javascript :
il permet de se connecter à d’autres machines,
de dialoguer avec celle-ci, de consulter des Execution
bases
de l’applet
de données, de générer du graphisme
sur le
navigateur
et tout ceci en reposant sur un module
de sécurité très avancé empêchant
jusqu’à présent le piratage ou les virus.
! Java de Sun ≠ Java de Microsoft
Navigateur Web du type : Internet Explorer, Netscape Commu
9
Internet statique et dynamique
Programmation côté Serveur
Le Java : Exemple d'utilisation
Défilement de
texte lu sur le
serveur
Texte défilant
(Lecteur d'un fichier texte
sur le serveur Web)
Jeu Java : démineur
(Génération d'image et
d’interface)
10
Internet statique et dynamique
Programmation côté Serveur
En résumé
Toutes ces techniques peuvent bien entendu être
combinées pour créer un site que l’on pourrait qualifier
de statique.
Exception faite du Java (et du flash), toutes ces techniques
ne mettent en jeu que le navigateur Web, et ne prennent
par conséquent pas en compte de facteurs extérieurs
(comme des bases de données, des dialogues avec
d’autres personnes, d’autres machines, …).
Elles ont comme inconvénient d'être dépendantes
de la plate-forme cliente sur laquelle elles tournent
(mise en page, exécution des scripts clients, plugins, …)
11
Internet statique et dynamique
Programmation côté Serveur
Côté Serveur
12
Internet statique et dynamique
Programmation côté Serveur
Les CGI : Principe de fonctionnement
Serveur Web
Données
externes
Exécution
du programme
Fichier HTML à
transmettre du
serveur Web au
navigateur Web
Interprétation
du HTML par
le navigateur Web
Affichage du résultat
de l'interprétation dans
le navigateur Web
Navigateur Web du type : Internet Explorer, Netscape Communi
13
Internet statique et dynamique
Programmation côté Serveur
Les CGI : Principe de fonctionnement
Un CGI (Common Gateway Interface) est un programme exécutable (comm
PaintBrush, le démineur) dont le but est de renvoyer du HTML.
Un CGI se trouve sur le serveur Web; il va donc pouvoir dialoguer avec cel
travailler sur celui-ci avant de retourner la réponse tant attendue.
L ’avantage du CGI est qu’il est exécuté par le serveur. Il va donc pouvoir
des informations provenant de l'utilisateur (formulaires), des informations
comme des fichiers texte, des données brutes, des bases de données.
Il va aussi pouvoir exécuter des programmes à distance, ce qui peut être p
dans certains cas (manipulation d ’objets à distance, …)
Les CGI sont écrits dans des langages de programmation classiques comm
le Perl, le Python, les divers Shell (unix), …
14
Internet statique et dynamique
Programmation côté Serveur
Les CGI : Quelques applications et limitations
Ecrits dans des langages de programmation, ils sont bien souvent
difficiles et longs à mettre en œuvre
Il ne sont pas portable aisément d’une plate-forme à l’autre, sauf au prix
d’une recompilation (transformation en exécutable).
Ils ont l’avantage, par rapport aux autres types de langage que nous
allons voir (ASP, PHP, JSP ), d’être moins limitatifs, puisqu’ils peuvent
être écrits dans divers langages.
InitCgi()
separe("gif", 1, 6)
PRINT "Content-type: text/html\n\n"
PRINT "<html><body><img src=\"test.gif\">"
PRINT "</html></body>"
Exemple de CGI en Basic
15
Internet statique et dynamique
Programmation côté Serveur
Les CGI : Quelques applications et limitations
Exemple complet d’une application CGI
Traitement
de formulaire
Envoi de commande
système (heure)
Lecture de
fichier texte
Génération dynamique
d'image temps réèl
à partir de fichiers
externes
Exemple de page : http://www.obs-nancay.fr/html_an/jeuvisudam.htm
16
Internet statique et dynamique
Programmation côté Serveur
ASP, PHP, JSP : Principe de fonctionnement
HTML+ASP (ou PHP ou JSP)
Serveur Web
Données
externes
Interpréteur
ASP, PHP ou JSP
Fichier HTML à
transmettre du
serveur Web au
navigateur Web
Interprétation
du HTML par
le navigateur Web
Affichage du résultat
de l'interprétation dans
le navigateur Web
17
Internet statique et dynamique
Programmation côté Serveur
ASP, PHP, JSP : Principe de fonctionnement
Ces 3 types de langages fonctionnent un peu comme le
Javascript, mais côté serveur et avec plus de possibilités.
Le fichier HTML sur le serveur contient des ordres ASP,
PHP ou JSP inclus dans le code HTML, avec une syntaxe
particulière. Lorsque le serveur envoie le fichier HTML
vers le navigateur Web, il va, à la volée, interpréter les
ordres ASP et les exécuter pour les transformer en HTML.
ASP (Active Server Page), PHP (Hypertext Preprocessor)
et JSP (Java Server Pages) permettent la lecture de
données externes (fichiers textes, bases de données),
l'envoie de commandes système, …
ASP = Microsoft, PHP = Linux&GPL, JSP = Sun
18
Internet statique et dynamique
Programmation côté Serveur
En résumé
Toutes ces techniques peuvent être combinées pour
créer un site que l’on peut qualifier de dynamique.
Les pages ne sont plus statiques, mais générées
à la demande.
Elles ont comme avantage de ne pas mettre en
jeu le navigateur de l'utilisateur,
mais elles utilisent des ressources
serveur.3
Transfert
1
Pages HTML
HTTP
HTTP :
HTML
Req
HTTP :
URL...
Serveur Web
Navigateur Web
2
de paramètres Exécution de
2
requète SQL
API
4
2
4
5
19
4
3
SGBDR
CGI
.exe
Résultat
HTML
3
Internet statique et dynamique
Programmation côté Serveur
Ressources externes
HTML et Javascript :
Site de Netscape : developer.netscape.com (Anglais)
Site du W3 Consortium : www.W3.org (Anglais)
Site de l'UNGI :www.imaginet.fr/ime (Français)
Java :
Site de Sun (créateur de Java) : java.sun.com (Anglais)
Site de l'UNGI :www.imaginet.fr/ime (Français)
Exemple de Java :www.javaside.com (Français)
CGI :
Site Alian Web Server : www.alianwebserver.com/informatique/internet/cgi/default.htm (Français)
Site de la NCSA :hoohoo.ncsa.uiuc.edu/cgi/ (Anglais)
Programmation de CGI en C :www.hut.fi/u/jkorpela/forms/cgic.html (Anglais)
Exemple de CGI (Observatoire de RadioAstronomie de Nançay) : www.obs-nancay.fr/html_an/jeuvisudam.
ASP :
Site : www.asp-fr.net (Français)
LearnASP : www.learnasp.com (Anglais)
PHP :
Linux France : www.linux-france.org/article/devl/php3/tut/ (Français)
PHPInfo : www.phpinfo.net (Français)
Site Officiel du PHP : www.php.net mais doc en Français
20