Introduction au World Wide Web
Introduction au World Wide Web
M1 Architecture de l’Information
Remise à niveau en informatique
Lionel Médini
1. Introduction 1. Objectifs du cours
2. Aspects techniques 2. Historique
3. Langage HTML 3. Principes généraux
4. Conclusion 4. Usages
Historique du Web
1993 : Mosaic : premier navigateur « grand public » Nombre de sites référencés
Marc Andreessen, NCSA : plateformes X, puis Mac et Windows
affichage d’images (GIF et XBM) dans les pages Web 1990 : 1 (CERN)
prise en charge de formulaires interactifs
01/10/1994 : création du W3C 1991 : premier site hors
à l’initiative du CERN (Genève) et du MIT (Boston) d’Europe (SLAC, Stanford)
président : Tim Berners-Lee
but : standardisation et développement du Web 1992 : 26
1994 : Apparition des navigateurs privés Juin 1993 : 130
M. Andreessen crée Netscape Communications Corp.
1995 : Microsoft lance la « guerre des navigateurs » Juin 1994 : 2738
Apparition d’Internet Explorer pour Windows 95
1995 : Altavista : premier « gros » moteur de recherche Juin 1995 : 23 500
1996 : Navigateur Opera
Janvier 1996 : ~ 100 000
1998 : Apparition de Google
2003 : Apple lance Safari Avril 1997 : > 1 million
2004 : Première version de Mozilla Firefox
2004 : première conférence « Web 2.0 » Février 2000 : > 11 millions
2008 : Google lance Google Chrome
Actuellement : explosion du Web mobile Février 2007 : > 100 millions
En cours de développement : Web sémantique, de données, des
objets… Février 2009 : ~ 216 millions
Page Web
Une page Web, c’est
un document multimédia
textes, images, vidéo…
possibilité d’interaction
liens hypertextes
décrit élément par élément
titre, morceaux de texte, images...
avec un langage de description
HTML (1992) ou XHTML (2002)
stocké dans un fichier
.html (ou .htm, .xhtml)
Une page Web
est calculée et affichée par un navigateur
est localisée sur Internet à l’aide d’une adresse (URL)
permet d’accéder à d’autres pages en suivant des liens
Master AI – 2012-2013 – Remise à niveau World Wide Web 8
1. Introduction 1. Objectifs du cours
2. Aspects techniques 2. Historique
3. Langage HTML 3. Principes généraux
4. Conclusion 4. Usages
Site Web
Regroupement de pages Web
autour d’une thématique commune
reliées entre elles par des liens hypertextes
émanant d’une même entité (organisation, entreprise, particulier…)
accessibles à partir d’une page d’accueil commune
accessibles à partir d’une URL de base commune
en général, localisées sur un même serveur
Organisation hiérarchique
structure sous forme d’arborescence de dossiers et de fichiers (comme
un disque local)
permet de définir des chemins relatifs
exceptions (de plus en plus fréquentes) : pages générées
dynamiquement
Liens vers et à partir d’autres sites
permettent de naviguer d’un site à un autre
composent la « toile » mondiale (World Wide Web)
Master AI – 2012-2013 – Remise à niveau World Wide Web 9
1. Introduction 1. Objectifs du cours
2. Aspects techniques 2. Historique
3. Langage HTML 3. Principes généraux
4. Conclusion 4. Usages
Le « Web 2.0 »
Principe du Web « classique »
ce sont les organisations qui détiennent des sites qui décident de l’information
qui y figure
Communication de type « one-to-many » (= diffusion)
Principe du « Web 2.0 »
donner le contrôle de l’information aux utilisateurs
faire émerger des « réseaux sociaux »
chacun peut déposer des contenus
pour donner son avis sur un sujet donné (blogs)
pour partager ses documents (images, vidéos…)
pour étiqueter (« tagger ») des contenus existants
Aspects techniques
outils (protocoles, clients, serveurs) identiques à ceux du Web classique
nécessite plus de puissance de calcul (pages dynamiques)
nécessite plus d’espace de stockage (contenus envoyés par les utilisateurs)
Exemples de sites « Web 2.0 »
Wikipédia, [Link], Technorati, Flickr, Picasa Web album, Dailymotion,
YouTube, Kartoo…
Master AI – 2012-2013 – Remise à niveau World Wide Web 10
1. Introduction 1. Objectifs du cours
2. Aspects techniques 2. Historique
3. Langage HTML 3. Principes généraux
4. Conclusion 4. Usages
Popularité du Web
Pour l’internaute
Accessibilité « world-wide »
Interfaces graphiques conviviales
Interactivité et richesse des services
Grande quantité d'informations disponibles (Web « 1.0 »)
Possibilité de contribuer en tant qu’utilisateur (Web « 2.0 »)
Pour le développeur
Simplicité des développements (technologies de base…)
Liens avec les outils applicatifs installés sur le serveur (shell,
Perl, Java…)
Indépendance par rapport aux plateformes des clients
Source : [Link]
Master AI – 2012-2013 – Remise à niveau World Wide Web 13
1. Introduction 1. Objectifs du cours
2. Aspects techniques 2. Historique
3. Langage HTML 3. Principes généraux
4. Conclusion 4. Usages
Source :
[Link]
browser
Source : [Link]
Master AI – 2012-2013 – Remise à niveau World Wide Web 15
1. Introduction 1. Fonctionnement
2. Aspects techniques 2. Serveur Web
3. Langage HTML 3. Client Web
4. Conclusion
[Link]
Autre
client Web
Navigateur = Client Web Ressource demandée
Fonctionnalités
de base Fichier HTML Navigateur Utilisateur
<html>
<head>
client HTTP(S) <title>Université
; Claude Bernard Lyon
1</title>
moteur de rendu HTML <meta http-
equiv="Content-Type"
extensions </html>
Présentation
Description
support de plugins du document à l’utilisateur
« cosmétiques »
historique, signets, onglets…
Offre logicielle
Mozilla Firefox, Google Chrome/Chromium, Opera, Apple Safari, Microsoft
Internet Explorer
Interpréteurs de scripts
Scripts
éléments de programmes (identifiés par l’élément <script>)
à l’intérieur des pages HTML ou dans des fichiers séparés
écrits dans des langages de programmation spécifiques (JavaScript,
VBScript)
exécutés (interprétés) par le navigateur de l’ordinateur client
soumis à des restrictions de sécurité (pas d’accès aux fichiers du client,
pas d’exécution d’autres programmes…)
Exemples
gestion du navigateur (lancer des fenêtres, créer des info-bulles…)
gestion de la navigation (vérifier qu’un formulaire est bien rempli avant
de l’envoyer…)
documents plus interactifs et dynamiques qu’avec (X)HTML seul
Il est possible – mais pas recommandé – de désactiver l’interpréteur
Javascript du navigateur
Master AI – 2012-2013 – Remise à niveau World Wide Web 22
1. Introduction 1. Fonctionnement
2. Aspects techniques 2. Serveur Web
3. Langage HTML 3. Client Web
4. Conclusion
Plug-in
Principe
étendre les possibilités du navigateur pour présenter des éléments
HTML (décrits par l’élément <object>) non gérés par le navigateur
le navigateur donne toute ou une portion de la page Web à un
programme « branché » (plug-in) qui prend en charge l’exécution ou
l’affichage (cf. applet Java)
S’il n’est pas disponible, on peut en général le télécharger et l’installer
Exemples
Flash / Shockwave : documents multimédias
Real Audio / Vidéo : sons ou vidéos
Acrobat : documents PDF
Client Serveur
Fichier HTML
Oh ! le plug in…
+ fichier flash, PDF...
affichage géré par le plug-in
affichage géré par le navigateur
Donnée
valeur associée à un type de données
Le langage RTF
{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflan
g1036\deflangfe1036{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times
New Roman;}{\f36\froman\fcharset238\fprq2 Times New Roman CE;}{\f37\froman\fcharset204\fprq2
Times New Roman Cyr;}…
{\f43\froman\fcharset186\fprq2 Times New Roman Baltic;}
{\f44\froman\fcharset163\fprq2 Times New Roman Vietnamese);}}
{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red2
55\green0\blue255; …;}
{\stylesheet{\qj \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 …;} …
{\*\rsidtbl \rsid4480262\rsid8274010\rsid11750514\rsid15757863}
{\*\generator Microsoft Word 10.0.2627;}{\info{\title Bonjour}{\author Medini}
{\operator Medini}{\creatim\yr2004\mo2\dy25\min49}…{\*\company UCBL}…
\paperw11906\paperh16838\margl1417\margr1417\margt1417\margb1417\ltrsect \deftab708\widowctrl
…
{\rtlch \af0 \ltrch \insrsid8274010 Bonjour}
{\rtlch \af0 \ltrch \insrsid15757863 \par }}
RDF-Schéma
OWL
Surcouches
RDF
SOAP/RPC
MathML
XHTML
SMIL
Applications
PICS
SVG
RDF
XSL
P3P
XML
XML
HTML
Applications
(DTD) SGML
SGML
…
Document = titre + image + paragraphe Description
Titre = Texte + Position « par éléments »
Texte = "Le titre"
document
Position = Haut ET Centré
décomposé en
Paragraphe = Texte + Position
zones,
Texte = "Blablah… "
Position = Gauche puis zones
Image = Fichier + Position décrites en
Fichier = "[Link]" détaillant petit à
Position = ADroite Paragraphe petit les éléments
Principe
décrire des pages Web programmation
déclarative
dans des fichiers textuels encodage
sous forme d’un ensemble
d’éléments arborescence
en utilisant des balises syntaxe, grammaire
Contenu
Un élément est décrit par
soit une balise ouvrante, un contenu et une balise fermante…
…soit une balise vide
Exemples
<br />
<img src="[Link]" alt="image de zèbre" />
Un élément peut contenir d’autres éléments
On parle de structure arborescente
<body>
<p>Dans l’image ci-après
<img src="[Link]" alt="Image de zèbre" />
Élément nous présentons un zèbre vivant
avec dans la savane. html
contenu </p>
<!-- Fin zèbre début lion --> head body
Commentaire <p>Le lion n’est pas vraiment son ami.
<img src="[Link]" alt="Image de lion" /> title p p
Balise d’élément vide
(une seule balise)
</p>
</body> img img
</html>
Balise Attributs de l’élément Image
Arborescence
fermante
Prologue Corps
Déclaration XML Élément body
Déclaration de DTD dans html
Élément racine Commentaires
Élément html <!-- ... -->
En-tête n’importe où
Élément head
Exercice
dans html 1) Écrivez cette structure dans un fichier texte et
Titre sauvegardez ce fichier ( « [Link] »)
2) Composez votre première page Web telle que :
Élément title - le titre soit « Ma première page Web »
dans head - le corps de la page contienne « Bonjour, le monde ! »
3) Enregistrez cette nouvelle page avec un autre nom
4) Ouvrez-la dans votre navigateur
Corps
Elément body
Toutes les informations visualisables
Structuration
<p> ... </p> paragraphe
Corps : exemple
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"[Link]
<html>
<head>
<title>Le titre de la page</title>
</head>
<body>
<h1>Titre de niveau 1</h1>
<p>Un premier paragraphe</p>
<hr /> <!-- Une ligne horizontale -->
<blockquote><p>Un autre paragraphe</p>
<p>Un autre paragraphe</p></blockquote>
<h1>Titre de niveau 1</h1>
<h2>Titre de niveau 2</h2>
<p>Un autre paragraphe</p>
</body>
</html>
Mise en évidence
Emphase
<em> … </em> (emphasis)
Emphase forte
<strong> … </strong>
Exposants et indices
<sup> … </sup> (superscript)
<sub> … </sub> (subscripted)
Texte spécial
<pre> … </pre> (preformatted text)
<code> … </code>
pour mettre du texte représentant du code informatique (par
exemple du XML !)
Indications sur le contenu textuel
Utilisation dans une feuille de style pour mettre en forme
defn (définition)
acronym (acronyme)
abbr (abbréviation)
Utilisation par des logiciels pour connaître la sémantique du
contenu textuel (utilisé ?)
Principe du web sémantique : généralisation, extériorisation des
vocabulaires, etc.
Images
Principe
Un élément image (img) est lié à un fichier image (attribut src)
Une image est une ressource externe, désignée par une URL, qui doit
être chargée par le navigateur
Exemple
<img src="[Link]
alt="logo de l’UCBL"
width="40" height="30" lang="fr" />
Images cliquables
<img src="[Link]" alt="Canada" usemap="#mymap"
width="50" height="100" />
<map id="mymap">
<area href="[Link]" alt="Route 20"
shape="rect" coords="0,0,49,49" />
<area href="[Link]" alt="Route 35"
shape="rect" coords="0,49,49,99" />
</map>
Images : exemple
...
<img src="[Link]"
alt="L'eclipse du 12 janvier 1997"
width="120" />
<br />
<img src ="[Link]"
alt ="L'eclipse du 30 février 1986"
width="150" /> <!-- erreur ! -->
<br />
<img src ="[Link]
alt ="Soleil couchant"
height="100"/>
...
Remarque importante
il faut trois ressources pour afficher cette page
Fichier source HTML
Fichier [Link] (chemin local : dans le même dossier que le fichier source
HTML)
Fichier [Link] (disponible sur la machine [Link], en
suivant le chemin /cim2/SAXaussois/[Link]
trois requêtes HTTP en tout pour l’affichage
Listes
Principe général
Un élément liste contient des élément items
Listes classiques
Liste à puces
<ul> … </ul> (unordered list)
Liste ordonnée
<ol> … </ol> (ordered list)
Item de list
<li> … </li>
Liste de définitions
Conteneur
<dl> … </dl>
Terme de définition
<dt> … </dt>
Description de définition (= définition elle-même)
<dd> … </dd>
Listes : exemple
...
<ul type="square">
<li>Un</li>
<li>Deux</li>
<li>Trois</li>
</ul>
<ol start="4">
<li>Quatre</li>
<li>Cinq</li>
<li>Six</li>
</ol>
<dl>
<dt>Sept</dt>
<dd>Le septième chiffre</dd>
<dt>Huit</dt>
<dd>Le huitième chiffre</dd>
</dl>
...
Liens hypertextes
Principe
une ancre contenant le texte ou les éléments sur lesquels on
peut cliquer
le clic redirige vers une URL
entraîne le chargement de la ressource désignée par l’URL
Syntaxe
<a href="URL" title="texte">
ancre
</a>
href : URL de destination du lien
title : texte qui apparaîtra dans une info-bulle si on survole
le lien
Tableaux
Principe
Un tableau contient des lignes, lesquelles contiennent des
cellules
Eléments
<table> … </table> (élément général)
<tr> … </tr> (table row)
<td> … </td> (table cell)
<th> … </th> (table header)
<caption> … </caption> (table caption)
...
Tableaux : exemple
<table summary="Ce tableau présente des balises xHTML et leur type." border="1">
<caption>Type de quelques balises xHTML</caption>
<thead>
<tr>
<th scope="col">Nom de la balise</th>
<th scope="col">Type</th>
</tr>
</thead>
<tbody>
<tr>
<td>div</td>
<td>block</td>
</tr>
<tr>
<td>span</td>
<td>inline</td>
</tr>
<tr>
<td>table</td>
<td>block</td>
</tr>
</tbody>
</table>
Eléments block
Définissent des blocs physiques (des « boîtes ») dans le
document
Induisent un saut de ligne à la fin de leurs contenus
Exemples
p, h1-h6, div, ul, ol, li, pre, hr, table, etc.
Eléments inline
Dans le flux des caractères
« Semblables » à des caractères
Exemple
em, img, strong, a, etc.
Formulaires
Objectif
Permettre à l’utilisateur d’envoyer des informations à un serveur
Saisir les informations
listes déroulantes, cases à cocher, zones de texte, etc.
bouton pour remettre à zéro
Envoyer les informations
méthode GET
les informations passent par l’URL
Ex. : [Link]
8&oe=utf-8&q=html+4.01
Méthode POST
les informations sont échangées par le protocole HTTP
Eléments
<form> … </form> définit un formulaire
<input> … </input> entrée de formulaire
<textarea> …</textarea> zone de texte
<select> … </select> liste déroulante
<option> … </option> option du select
Formulaires : exemple
<form method="post" action="[Link]
Cadres (frames)
Principe
diviser la fenêtre d’affichage en frames
afficher dans chaque frame une page HTML
Nombre de fichiers concernés
1 pour la déclaration du frameset + 1 pour chaque frame
Ex : 3 frames minimum 4 fichiers
En XHTML
Le fichier principal obéit à la DTD frameset
Les autres sont en XHTML
Remarque
Ne pas utiliser car pose beaucoup de problèmes
gestion
indexation
Cadres : exemple
Le fichier principal fait appel
à [Link] et [Link]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Frameset//EN"
"[Link]
<html>
<head>
<title>Texte du titre</title>
</head>
<frameset cols="200,*">
<frame src="[Link]" name="cadre1" scrolling="no">
<frame src="[Link]" name="cadre2" [Link]
scrolling="yes">
<noframes>
<p>Ce projet utilise des cadres. Chez vous les
cadres ne sont pas affichés.</p>
</noframes> [Link]
</frameset>
</html>
Master AI – 2012-2013 – Remise à niveau World Wide Web 65
1. Introduction
2. Aspects techniques
3. Langage HTML
4. Conclusion
le Web
un site Web