Title: BD WEB
1BD WEB
- 1. Rappels Web 1.0
- 2. Introduction au Web 2.0
- 3. Les pages actives ASP
- 4. Les pages active JSP
- 5. Les pages actives PHP
- 6. Conclusion
21. Rappels Web 1.0
- W3C Organisme chargé de standardiser les
protocoles et langages relatifs au Web - Web 1.0 Service Internet permettant de naviguer
à travers des pages HTML statiques via HTTP - HTTP (HyperText Transfer Protocol) est le
protocole le plus utilisé pour envoyer les
requêtes et recevoir les pages il en est
actuellement à sa version 1.1. - HTTPS est une version sécurisée permettant de
crypter les échanges.
Web
3HTML
- ltHTMLgt
- ltHEADgt
- ltMETA CONTENT"text/html charsetiso-8859-1"gt
- ltMETA NAME"AUTHOR" CONTENT"Gardarin"gt
- ltTITLEgtSYSTEMES D'INFORMATION lt/TITLEgt
- lt/HEADgt
- ltBODYgt
- ltHRgt
- ltH1gtSYSTEMES D'INFORMATION XMLlt/H1gt
- ltPREgtltIgtGeorges GARDARINlt/Igtlt/PREgt
- ltHRgt
-
- lt/HTMLgt
- Langage dérivé de SGML définissant un jeu de
balises fixes pour coder et transférer des
documents avec présentations intégrées sur le
Web. - Les documents sont liés entre eux par des
hyperliens 1-1. - Les éléments de données sont marqués par des
balises fixées selon leur rôle et mise en forme.
Web
4Scénario typique
- Le navigateur demande l'URL http//www.gardarin.or
g/test.html au browser. - Le client envoie la requête POST /test.html au
serveur HTTP www.gardarin.org. - Le serveur reçoit la requête POST /test.html.
- Le serveur envoie au client le fichier test.html
encapsulé en format MIME. - Le client réceptionne l'objet test.html en format
MIME. - Le navigateur interprète et affiche l'objet
test.html.
Serveur HTTP
http//www. prism.uvsq.fr/test.html
POST / test.html
Text/html
blablabla
Client
test.html
Web
5DHTML (côté client)
- HTML 4.01
- Dernière version de HTML, les nouveaux
développements portant sur XML (langage à tags
ouverts) - DHTML (Dynamic HyperText Markup Language)
- Ensemble de spécifications complémentaires au
HTML permettant de rendre une page web dynamique
côté client - Jscript
- DOM
- CSS
Web
6Jscript et DOM
- Jscript (JavaScript à lorigine, norme ECMA)
- Langage de programmation, permettant décrire des
scripts (programmes en texte) exécutés sur le
navigateur du client - DOM (Document Object Model)
- définit une arborescence d'objets représentant la
structure du document - permet de manipuler l'ensemble des objets
contenus dans le document (avec Javascript)
Web
7Feuilles de style CSS
- Les feuilles de style (CSS - Cascading
StyleSheets) - permettent de définir de façon annexe au document
les styles de chaque balise - peuvent être incluse dans le même fichier ou
référencées. - Un même document peut avoir plusieurs styles
selon le terminal d'affichage.
Web
8Exemple
ltLINK REL"stylesheet" HREF"fichier.css"gt
... TD, TH font-family "Helvetica",
sans-serif line-height 1.35 H1, H2
margin-top 1.2em margin-left -7
color 900 clear both ...
BODY color 000 background FBFBFF
margin-left 9 margin-right 6
font-family "Helvetica", sans-serif
line-height 1.35
Web
9Web 1.0 Difficultés
- Séquence de ltrequête-pagegt
- synchronisme
- Difficulté pour la validation de formulaires / BD
- Renvoi du formulaire entier avec marques
derreurs ! - Paramètres des URL longues
- Doublets (nomvaleur) en ASCII
- Pas de structures objets
- Pas de contrats entre client et serveur
- Pas de publication de linterface selon un
standard - Problème si changement
102. Web 2.0 Définition et outils connexes
- Terme marketing inventé par OReilly Media
- Daprès Wikipedia, lencyclopédie du Web 2.0
- terme souvent utilisé pour désigner ce qui est
perçu comme une transition importante du World
Wide Web, passant d'une collection de sites Web à
une plateforme informatique à part entière,
fournissant des applications Web aux
utilisateurs. Les défenseurs de ce point de vue
soutiennent que les services du Web 2.0
remplaceront progressivement les applications de
bureau traditionnelles.
Web 2.0
11Web 2.0 Des techniques éprouvées
- HTTP et HTTPS Protocoles
- URI Identifiants logiques universels
- XHTML version XMLisée de HTML
- CSS 2.0 Feuilles de style de base
- XSL Feuilles de style pour XML
- JScript langage de script (JavaScript)
- Services Web Composants accédés et décrits en
XML - Contrat dinterface défini en WSDL
- Passage de paramètres en SOAP
- Encapsulation des procédures BD par XML
We
Web 2.0
12Web 2.0 Des techniques nouvelles
- Ajax XML sur HTTP en mode asynchrone via
Javascript - Résoud le problème du synchronisme
- REST Style darchitecture de services avec
appels HTTP - XForms Saisie déclarative contrôlée en XML
- XUL/XAML Présentation déclarative en XML
- RDF Langage dannotation de ressource en XML
- RSS et ATOM Syndication de contenus
13Un côté social via interactivité et groupes
- Création de réseaux sociaux de sites Web
dynamiques - Utilisation de moteurs de recherche ciblés sur
des sites dintérêt - Développement de sites composites à partir
dautres par composition et agrégation (mesh-ups) - Partage, collaboration, implication
- valeurs fondamentales du Web 2.0
- une évolution des usages au-delà des avancées
techniques - Basée sur une interaction forte entre Web et BD
- Le Web profond
- Content Mangement Systems
- Mise à jour avec versions
Web 2.0
14Wikis Loutil de collaboration
- Application Web collaborative permettant aux
utilisateurs de créer des contenus et à nimporte
qui autorisé de les éditer sans restriction - Simplification du processus de création de pages
Web, avec création incrémental de connaissance en
groupe - Lencyclopédie universelle éditable
Web 2.0
15Pages web dynamiques
- Faiblesses des pages statiques côté serveur
- Gestion de fichiers multiples mais reliés
- Maintenance difficile du fait de l'obligation de
modifier manuellement chacune des pages - Impossibilité de renvoyer une page personnalisée
selon le visiteur - Impossibilité de créer une page dynamiquement
selon le contenu d'une base de données - Nécessité de publier des contenus dynamiques
- CMS Content Management Systems
- Des données fixes et dynamiques mixées
- Il est nécessaire de s'appuyer sur les BD
Web
16XHTML/XML dynamique côté serveur
- CGI (Common Gateway Interface) et WS (Web
Services) - CGI consiste à activer des programmes par des URL
longues puis de leur faire renvoyer un contenu
HTML/XML - WS consiste à activer des programmes par des
documents XML puis de leur faire renvoyer un
contenu XML - ASP (Active Server Pages) de Microsoft
- permet de simplifier l'écriture de scripts
serveurs en manipulant des objets en 20 langages
au sein de pages Web XHTML/XML - JSP (Java Server Pages)
- permet d'utiliser la puissance de Java pour créer
des pages web dynamiques. - PHP (Hypertext Preprocessor)
- Langage simple bien adapté au Web pour manipuler
des objets côté serveur au sein de pages Web
XHTML/XML
Web
17Common Gateway Interface (CGI)
- Protocole dappel dynamique de programme sur un
serveur Web depuis un client - Surcouche de HTTP pour passer des paramètres
- Programmes ou scripts invoqués par CGI
Serveur Web
Client
Page HTML
téléchargement
Page HTML
url longue
Prog. CGI
réponse
données
CGI
18Web Service HTTP, SOAP et WSDL
CGI
193. Les ASP de Microsoft
- Standard mis au point par Microsoft en 1996
- Développement d'applications Web dynamiques
- Intégration de scripts serveur au sein d'une page
HTML à l'aide de balises spéciales - Interprété puis compilé avec la version .NET
- Généralisé à XML
- Environnement de programmation côté serveur
- permettant de représenter sous forme d'objets les
interactions entre le navigateur du client, le
serveur web, ainsi que les connexions à des bases
de données via SQL (ADO)
ASP
20Exemple daccès BD
- Intégration à HTML
- réception des paramètres du formulaire (URL
longue ou Web service) - émission des requêtes BD
- récupération des résultats et publication du HTML
- Accès par objets à la BD
- Accès à la base via ADO
- Création dobjets données
- Extraction des attributs par méthodes
- ltHTMLgt
- lt
- VinRequest.QueryString("NumVin")
- Set NObjServer.CreateObject("VINS.NumVin")
- if NObj.GetCru(Vin)False then
- Server.Redirect("NumVin/entryform.htm")
- gt
- ltH1gt VIN CHOISI ltNObj.Crugt lt/H1gt
- ltTABLEgt
- ltTRgtltTDgtDegrelt/TDgtltTDgtMillesimelt/TDgtltTDgtRegionlt/TD
gtlt/TRgt - ltTRgtltTDgtltNObj.Degregtlt/TDgt
- ltTDgtltNObj.Millgtlt/TDgt
- ltTDgtltNObj.Regiongtlt/TDgtlt/TRgt
- lt/TABLEgt
- ltH2gt DATE DE SELECTION lttime()gtltdate()gtlt/H
2gt - lt/HTMLgt
ASP
21Un environnement riche
- Objets techniques
- Objets de présentation
- Objets métiers
ASP
22ASP et .NET
ASP
234. Les JSP du monde Java
- Possibilité de définir des documents mixtes
- HTML/XML
- Java (Scriptlets)
- Appel de servlet (balise ltservletgt)
- Communication par des variables
- Utilisation de tags lt gt (similaire aux ASP)
- Compilés en Servlet
- Lors de la première utilisation
- Prise en compte automatique des mises à jour
- Possibilité d'intégrer des JavaBeans
JSP
24Objets d'environnements
JSP
25Les servlet Java
- Servlet
- Moteur multi-thread d'exécution de classe côté
serveur - Approche API objet (e.g., services, httprequest)
- Lutilisateur surcharge de méthodes standards
- Dialogue au-dessus de HTTP, RMI, via CGI
améliorée - Accès aux BD
- JDBC interface type ODBC (CLI RDA) depuis Java
- SQLJ incorporation d'ordres SQL dans Java
pré-compilés
JSP
26Accès BD JDBC
- // Connexion
- Connection con DriverManager.getConnection(url)
- // Création d'une instruction
- Statement statement con.createStatement()
- // Exécution d'une requete
- String query "SELECT FROM Employés"
- ResultSet resultset statement.executeQuery(query
) - // Traitement des résultats
- while(resultset.next())
- System.out.println(resultset.getString(2) " "
resultset.getString(3)) - // fermeture de la connexion
- con.close()
SQL
ResultSet
Base de données
Application
Serveur de données
JSP
27JSP et J2EE
JSP
285. PHP de Apache (Open Source)
- Langage de scripts intégré aux pages HTML
- Très populaire pour site Web personnel et CMS
- Compilé en V4 et V5
- Moteur Zend
- Package easyphp
- PHP Apache MySQL
- www.easyphp.org
- Langage simple et complet
- calculs
- contrôle
- tableaux
- objets (complet en PHP5)
- fonctions
- bibliothèques riches
- Les scripts PHP sont entre balises lt?php ?gt ou
lt... gt - Possibilité de récupérer les variables de
formulaires HTML - variable
- Exemple
- lthtmlgt ltheadgt lttitlegtHello Worldlt/titlegt
lt/headgt ltbodygt lt?php echo "Hello world"
?gt lt/bodygt - lt/htmlgt
PHP
29Accès aux formulaires
- PHP transforme tous les champs en variables d'
environnement (globales) - Directement accessibles par nom
- Également accessibles dans les tableaux
associatifs HTTP_POST_VARS et HTTP_GET_VARS - suivant la méthode d' envoi GET ou POST
- Attention
- Il ne faut pas avoir deux zones de formulaires
avec le même nom sur la même page !
PHP
30Accès aux BD
- Méthode similaire quelque soit le SGBD
- Oracle, Sybase, DB2, MS SQL Server
- MySQL, PostgreSQL, InterBase
- Pilote ODBC
- Il faut suivre la séquence
- 1.Connexion
- 2.Requête
- 3.Exploitation des résultats
- 4.Fermeture de la connexion
PHP
31Exemple Publication d'une table
- lthtmlgt
- ltheadgt
- lttitlegtAffichage des vinslt/titlegt
- lt/headgt
- ltbodygt
-
- lt?php mysql_connect("localhost","root","")
- connexion_reussi mysql_selectdb("DEGUSTATIO
N") - if (!connexion_reussi) echo "Connexion râtée"
- request "SELECT FROM vins"
- if(result mysql_query(request))
- while(ligne mysql_fetch_row(result))
- nv ligne0
- cru ligne1
- mill ligne2
- echo "nv - cru, mill ltbr /gt"
-
- else
- echo "erreur de requête BD."
-
- echo "Merci" ?gt
- lt/bodygt
- lt/htmlgt
PHP
326. Bilan Un Web en évolution rapide
- HTML statique et dynamique côté client (1.0)
- Pages actives Mixage HTML/XML petits
programmes côté serveur accès aux BD intégrés - Web 2.0 linteractivité et limplication de
lutilisateur possible par les techniques - Évolution vers le Web Sémantique
- Des contenus mieux décrits
- De linformation à la connaissance
- Linférence possible
- Le Web va-t-il changer les BD ?
BD WEB