On appelle généralement "web" le service internet permettant de naviguer à travers
des pages web. Le protocole le plus utilisé pour ce type de communications est le protocole HTTP
(HyperText Transfer Protocol), ce qui explique le fait que vous saisissiez des URL commençant par http://.
Le protocole HTTP en est actuellement à sa version 1.1 (spécifié par le consortium W3C). Désormais, le protocole HTTPS
(protocole HTTP sécurisé) est de plus en plus utilisé avec l'utilisation de systèmes de commerce électronique, car il s'agit d'un
protocole sécurisé permettant de chiffrer les requêtes échangées entre le navigateur et le serveur.
Aujourd'hui, le protocole WAP (Wireless Application Protocol) permet à un téléphone
mobile compatible WAP de communiquer avec la passerelle WAP de l'opérateur de téléphonie mobile. Les communications seront
ensuite converties selon le protocole HTTP par la passerelle. La dernière version du protocole WAP spécifiée par le WAP Forum (l'autorité chargé de définir le standard WAP)
est la version 1.1 (en début d'année 2001).
Le standard désormais établi pour la diffusion de document sur le web est le langage HTML
(HyperText Markup Language). Le langage HTML permet de définir la présentation du document ainsi que les liens
hypertextes vers d'autres documents à l'aide de balises de formatage.
Le W3C, l'organisme chargé de standardiser les normes
relatives à internet a actuellement (début 2001) spécifié la version HTML 4.01.
Le DHTML (Dynamic HyperText Markup Language) dont on entend souvent parler n'est pas un langage à
proprement parler. Il s'agit en réalité d'un ensemble de langage complémentaires au HTML
et permettant de rendre une page web plus dynamique. Ces langages sont :
- Le HTML 4.0
- Le javascript, permettant d'effectuer des opérations sur le navigateur du client
- Le DOM (Document Object Model) définissant une arborescence d'objets représentant la structure du document.
Celà permet notamment de pouvoir manipuler l'ensemble des objets contenus dans le document.
- Les feuilles de style (CSS - cascading StyleSheets). Les feuilles de style permettent de définir de façon annexe au document les
styles de chaque balise
Les pages web statiques, c'est-à-dire un simple fichier texte contenant du code HTML, sont très
pratiques pour créer un site contenant quelques dizaines de pages mais possèdent leur limites :
- une maintenance difficile dûe à l'obligation de modifier manuellement chacune des pages (notamment
dans le cas ou toutes les pages possèdent un même menu)
- l'impossibilité de renvoyer une page personnalisée selon le visiteur
- l'impossibilité de créer une page dynamiquement selon les entrées d'une base de données
- ...
C'est pourquoi il a été nécessaire de mettre au point une solution permettant de générer
des pages web du côté du serveur. Ainsi de nombreuses solutions mettant en oeuvre un langage de script sur le serveur
ont été mises au point :
- la première, appelée CGI (Common Gateway Interface) consistait
à interpréter des programmes (généralement écrits en perl
ou en langage C), puis de leur faire renvoyer un contenu compatible avec le protocole HTTP
- Le langage ASP (Active Server Pages) de Microsoft a permis de simplifier l'écriture de tels scripts en
manipulant des objets en VBScript.
- Le langage PHP (Hypertext preprocessor) emploie son propre langage (dérivé du C++
et de Perl) et permet de nombreuses fonctionnalités (équivalentes à celles de la technologie ASP).
- Le langage JSP (Java Server Pages) est la plus récente parmi ces technologies. Elle permet d'utiliser toute la puissance
de Java pour créer des pages web dynamiques.
Java a longtemps été essentiellement utilisé pour écrire des
applets, c'est-à-dire des petits programmes exécutés
sur le navigateur du client, à l'intérieur même d'une page web, permettant
ainsi de rendre la page beaucoup plus interactive (mais aussi beaucoup plus lente).
Java est désormais principalement utilisé du côté du serveur web, pour les raisons suivantes :
- Java est portable (il peut être exécuté sur n'importe quelle plateforme)
- Java est sûr (il a été conçu pour ne pas provoquer d'erreur d'exécution pouvant créer des failles de
sécurité pour le serveur)
Ainsi, On distingue différentes entités Java :
- les servlets : permettant d'effectuer des traitements selon la requête de l'utilisateur
(accès à des bases de données avec JDBC, communication avec d'autres servlets grâce
à la technologie JDBC, interrogation d'annuaires LDAP, ...)
- Les pages JSP représentant un code HTML dans laquelle du code Java est appelé
- Les EJB (Enterprise JavaBeans), des composants objets écrits en Java résidant sur un serveur d'application
permettant d'accéder à leurs méthodes.
Les technologies Java reposent ainsi sur l'utilisation de ces trois entités, au sein d'un serveur d'application,
c'est-à-dire un serveur spécifique utilisant une machine virtuelle Java. Les principaux serveurs d'application
sont :
Le HTML a rapidement montré ses limites, non seulement par son nombre limité de balises,
mais surtout par l'impossibilité de séparer le contenu et la présentation, ce qui
induit un problème de mises à jour simple de la présentation. Ainsi, le XML
se propose comme un méta-langage, c'est-à-dire un langage permettant de définir un
nouveau langage (de nouvelles balises).
De plus, étant donné que le XML sépare la présentation des données, il
est possible d'échanger des documents au format XML sans pour autant influer sur la forme de ceux-ci.
Celà permet ainsi de rendre simple l'adaptation d'un contenu à un navigateur ou bien à n'importe quel périphérique d'affichage (de cette façon, le WML
(Wireless Markup Language) est une implémentation du XML pour l'affichage de pages web sur des terminaux mobiles).
Le langage XSL (eXtensible StyleSheet Language) permet de formater un document XML
à l'aide de règles de formatage afin de constituer un document dans un autre format
(HTML, WML, PDF, LATEX, ...)
XML organise les informations selon une structure arborescente définie par le DOM
(Document Object Model), il est ainsi possible de parcourir un document XML à l'aide
d'un parseur (appelé aussi analyseur syntaxique),
c'est-à-dire un programme utilisant une API dont les méthodes
permettent de lire et modifier un document XML.
|