Web 2.0

Transcription

Web 2.0
Web 2.0
O.Curé [1 ]
Contact
●
Olivier Curé
–
[email protected]
–
http://www.univ-mlv.fr/~ocure
–
Copernic 4B060
O.Curé [2 ]
Objectifs du cours
●
Développement de sites pour le Web
2.0
–
●
●
HTML, CSS, DOM, javascript et jQuery
Mashup
Introduction aux technologies du
Semantic Web (Web 3.0)
–
RDF, RDFS et OWL
O.Curé [3 ]
Organisation du cours
●
●
5 cours de 2 heures (Olivier Curé)
–
Mercredi matin 8h30-10h30 le 3/3
–
Et 10h45-12h45 les 10,17,24,31/3 et 7/4
5 TD de 2 heures (Valentin Bourgoin)
–
Mercredi 10h45 -12h45 le 3/3
–
Puis 8h30- 10h30 les 4 suivants
O.Curé [4 ]
Evaluation
●
Participation lors des TD (20%)
●
DST final le 18/12/2009 (80%)
O.Curé [5 ]
Le Web
●
Quelques informations sur le Web et
son évolution
O.Curé [6 ]
Ordre de grandeur
●
●
Ordre de grandeur :
–
1Mo : 1 gros roman
–
200à 500Mo : ce que mémorise un être humain dans sa vie.
–
900Mo : information contenue dans le génome d'une cellule humaine.
–
1To : estimation de la taille d'un HD en 2007. Toutes les conversations d'un
être humain dans sa vie au format MP3.
–
20To : bibliothèque du congrès à Washington (que le texte), 20 millions
d'ouvrages.
–
200To : archives du net en 2003 12 milliards de pages.
–
3Po : Bibliothèque du congrès scannerisée (textes + images).
–
100Eo : total du flux d'information dans le cerveau humain durant sa vie
(Von Neumann).
Eo (Exa), Zo (Zetta) et Yo (Yotta).
O.Curé [7 ]
Internet / Web
●
En 2007:
–
500 million d'adresses IP
–
1.17 milliard d'utilisateurs
–
18% de la population
–
109 million de sites Web
–
29.7 milliard de pages web
–
7.2 milliard de recherches/mois (3.9 pour
Google)
O.Curé [8 ]
Des chiffres
●
●
En 2006:
–
161 Eo (108 To) d'information ont été
créés ou répliqués dans le monde
–
C'est plus que durant les 5000 dernières
années
–
International Data Corporation (IDC)
estime une croissance 6X d'ici 2010 (soit
988Eo/an)
Le volume de l'information technique
double tous les 2 ans. Elle doublera
toutes les 72 heures en 2010.
O.Curé [9 ]
Encore des chiffres
●
●
●
2009: +de 250million d'utilisateurs sur
Facebook: équivalent du 4ème plus gros
pays au monde (entre les USA et
l'Indonésie)
Myspace, environ 185million d'utilisateurs
En moyenne, une page MySpace est
visitée 30 fois par jour pour accéder à
–
Des images (plus de 1 milliard)
–
De la musique (plus de 25 million)
–
Des vidéos (60To)
O.Curé [10 ]
Encore..
●
●
●
Facebook:
–
1.8 milliard de photos
–
31 million d'utilisateurs
–
105 nouveaux utilisateurs par jour
–
1800 applications
YouTube
–
1.7 milliard de vidéos téléchargés/mois
–
1 million de streams/jour
–
20 heures de vidéo d'upload par minute
Flickr (juin 2009)
O.Curé [11 ]
Pour finir
●
eBay dispose de 2 entrepôts de
données (data warehouse):
–
Un de plus de 2Po
●
–
SGBD parallèle (Teradata)
Un autre de plus de 6.5Po
●
50To de nouvelles données par jour
●
SGBD parallèle (Greenplum)
●
96 noeuds
●
Compression de données à 70%
O.Curé [12 ]
Quelques chiffres
●
●
« Mobile devices in America are generating something like 600
billion geo-spatially tagged transactions per day. Every
call, text message, email and data transfer handled by your
mobile device creates a transaction with your space-time
coordinate (to roughly 60 meters accuracy if there are three
cell towers in range), whether you have GPS or not. Got a
Blackberry? Every few minutes, it sends a heartbeat, creating
a transaction whether you are using the phone or not. If the
device is GPS-enabled and you’re using a location-based
service your location is accurate to somewhere between 10
and 30 meters. Using Wi-Fi? It is accurate below 10
meters. ».
Jeff Jonas (http://jeffjonas.typepad.com/)
O.Curé [13 ]
Quelques questions
●
●
●
Dans quoi stocke-t-on toutes ces
informations ?
Comment pose-t-on des questions ?
Comment développer un site web de ce
type ?
O.Curé [14 ]
Dans quoi stocke-t-on
toutes ces informations ?
●
●
Dans des bases de données
Une base de données (database) est un
ensemble structuré et cohérent de
données enregistrées avec le minimum
de redondance pour satisfaire
simultanément plusieurs utilisateurs de
manière sélective et dans un temps
opportun.
O.Curé [15 ]
Système de gestion de
base de données (SGBD)
●
●
Un ensemble de logiciels permettant la création et la
maintenance de bases de données.
Un SGBD (database Management System -DBMS) doit
permettre :
–
la description, l'organisation et la gestion des données sur
les mémoires secondaires.
–
la recherche, la sélection et la modification des données.
–
la manipulation des représentations abstraites des données,
indépendamment de leur organisation et de leur
implantation sur les supports physiques.
O.Curé [16 ]
Caractéristiques des SGBD
●
Structure (types et comportements des données).
●
Persistence des données (mémoire secondaire).
●
Accès aux données (langage déclaratif pour les requêtes,
langage procédural de programmation).
●
Performance (accès et stockage des données).
●
Partage ( accès concurrentiel et transactions)
●
Volume important de données
●
Sécurité et reprise sur pannes
O.Curé [17 ]
Modèle de données
●
●
Une BD exploite un modèle de
données. Il existe de plusieurs types.
Un modèle de données est un
ensemble de concepts permettant de
décrire la structure d'une base de
données : types de données, relations,
des contraintes, des opérations
(langage de définition et de
manipulation des données) et la
sémantique.
O.Curé [18 ]
Quelques modèles de
données
●
Evolution dans le temps :
–
système de fichiers (50s)
–
modèle hiérarchique( 60s) :IMS
–
modèle réseau (70s): Codasyl, IDMS
–
modèle relationnel (80s): Oracle, Sybase,DB2,..
–
modèle orienté objet (90s): Versant, Gemstone, O2
–
modèle objet-relationnel (90s) : Oracle, DB2,
SQLServer, PostgreSQL
–
modèle semi-structuré (hétérogénéité, XML).
–
Le modèle relationnel est le plus populaire
aujourd'hui mais de nombreuses variantes émergent
actuellement (principalement du domaine du Web:
mouvement NoSQL.
O.Curé [19 ]
Comment pose-t-on des
questions ?
●
●
●
A l'aide d'un langage de requêtes.
Ils diffèrent suivant le modèle de
données
Un langage de requêtes doit prendre en
compte 2 aspects:
–
L'expressivité (la complexité des questions
que l'on peut poser)
–
La difficulté du calcul de la réponse par
l'ordinateur
–
En simplifiant, plus le langage est expressif
O.Curé [20 ]
Comment développer un
site web de ce type ?
●
●
●
●
Emergence du web : 1992
3 générations de sites Web : statique,
dynamique et « intelligente ».
1ère génération : statique – 100%
HTML
Les autres générations exploitent
l'architecture client-serveur.
–
HTTP + CGI
–
HTTP + template + scripting
–
O.Curé [21 ]
Architectures du web
Web / Data
Processing
Technologies
Server-side
processing
Compiled
programs
Client-side
processing
Server-Side
scripts
Hybrid
Technologies
CGI Programs
Java Servlets
ASP.NET
Client-side
scripts
PERL
Compiled programs
on client workstation
Java applets
Active Server Pages
JavaScript
Cold Fusion
VBScript
Java Server Pages
ASP.NET
INTEGRATING WEB SITES AND DATABASES, By Mike
MORRISON, Joline MORRISON, and Anthony KEYS. Communications
of the ACM September 2002 / vol 45, N°9
O.Curé [22 ]
HTTP + CGI
●
●
●
●
CGI = Common Gateway Interface
Repose sur l'exécution de programmes
sur le serveur en lui passant des
arguments à travers l'URL.
Limites :
–
Montée en charge importante est difficile
–
Peu robuste.
–
Code source peu maintenable et lourd.
Exemples : Perl, Tcl, shells, etc..
O.Curé [23 ]
HTTP + modèle + langage
script serveur
●
●
●
Un modèle (template) est une page
HTML contenant du code, écrit dans un
langage script, exécuté du côté
serveur.
Propose une séparation entre le code
applicatif et la page HTML. Le serveur
est chargé de la génération du code
HTML.
Limites :
–
Caractère propriétaire des balises.
O.Curé [24 ]
Serveur de présentation
●
●
Proche de la solution précédente mais
avec une couche d'architecture plus
globale et inclusion de composants.
Deux grandes solutions sont
disponibles :
–
ASP.net (Active Server Pages)
●
●
–
ASP était la 1ère solution sur le marché.
Possibilité de développer dans de nombreux
langages (VB, C#, etc..).
J2EE : Servlets, JSP (Java Server Pages) et
O.Curé [25 ]
java beans.
Serveur d'applications
●
●
Objectif : fournir une mise en oeuvre
logique applicative sous la forme de
composants. Ces derniers doivent être
persistants et particulier à des
transactions, de manière distribuée.
Ce middleware offre des fonctions
techniques comme : l'équilibrage de
charge, la tolérance aux pannes, la
gestion de cache, service de nommage
et de localisation => fonctions vitales
dans le cadre d'applications Internet
O.Curé [26 ]
J2EE
●
●
Architecture Java reposant sur l'orienté objet (héritage,
encapsulation et polymorphisme).
Servlets, JSP, JavaBeans, JSTL (JavaServer Tag Libraries) =>
profite du modèle MVC (Modèle Vue Contrôleur).
●
Gestion des transactions (JTA).
●
Gestion des BD (JDBC).
●
Gestion des messages (JMS, JavaMail).
●
Gestion des objets distribués (RMI-IIOP).
●
Gestion de renommage des services (JNDI).
●
Solutions : BEA logic, Websphere, Enhydra, Jboss, Geronimo.
O.Curé [27 ]
Le Web
●
●
●
Le Web révolutionne l'accès à l'information.
Des millions de sites, des milliards de pages et des
technologies diverses : statique/dynamique,
internet/ intranet/extranet .
HTML est un support pour l'information distribuée à
destination des êtres humains mais n'est pas adapté
pour les applications, pourtant ce besoin devient
incontournable.
O.Curé [28 ]
Constat du Web
HTML (HyperText Markup Language) est un langage permettant
de présenter l'information à l'écran (navigateur).
Pas d'échange de données
Pas de traitement de données en dehors de l'affichage
HTML est le support du Web actuel, un Web syntaxique.
Problèmes engendrés :
Moteur de recherche
e-commerce
Publication de services
O.Curé [29 ]
Web 2.0
●
●
Le Web 2.0 a été initiée par l'apparition
de l'Ajax et d'autres solutions RIA (Rich
Internet Application).
Enrichir l'expérience de l'utilisateur:
–
Obtenir le même type de comportement
qu'avec une application standard
(desktop)
–
Une application Web non Web2:
●
Impose une approche « clic, attendre et
rafraîchir » pour les interactions avec
l'utilisateur
O.Curé [30 ]
Contraintes des appli Web
●
Interruption des opérations de l'utilisateur
–
●
●
Perte du contexte pendant le rafraichissement
–
Perte d'info sur l'écran
–
Perte de la position (scrolling)
Pas d'instantanéité du retour des actions de l'utilisateur
–
●
Attente pour obtenir la prochaine page
Contrainte d'HTML
–
●
L'utilisateur ne peut réaliser des opérations lorsqu'il attend
une réponse
Limite des éléments graphiques
Motivation des techno Rich Internet
Application (RIA)
O.Curé [31 ]
Technologies RIA
●
Applet (Java)
●
Macromedia Flash/AIR
●
Java Web start
●
DHTML
●
Ajax
●
Silverlight (plateforme Microsoft)
●
JavaFX (plateforme Java)
O.Curé [32 ]
Applet
●
●
Positifs:
–
Utilisation des API java
–
Utilisation de data streaming, manipulation graphique,
threading and GUI avancée
Négatifs:
–
Temps de chargement du code
–
Une application mal conçue peut faire planter le navigateur
O.Curé [33 ]
Macromedia Flash
●
Programmation avec ActionScript
●
Exemple d'implémentation: Flex, Lazlo (open source)
●
Positifs:
–
●
Affichage de de graphique vectoriel
Négatifs:
–
Navigateur a besoin d'un plug-in
–
ActionScript est propriétaire
O.Curé [34 ]
Java Web Start
●
Une application desktop exécutéesur le net
●
Positifs:
●
–
Expérience type desktop
–
Levier sur les techno Java
–
Opérations déconnectées possibles
–
Signature digitale des appli
–
Déploiement incrémentale
Négatifs:
–
Les vieux systèmes JRE ne fonctionnent pas.
–
Le premier temps de chargement peut être long
O.Curé [35 ]
DHTML
●
Dynamic HTML
●
DHTML = Javascript + DOM + CSS
●
Utilisé pour la création d'application interactives
●
Communication non asynchrone
●
Rafraichissement complet de la page est nécessaire
●
Raison de son succès relatif
O.Curé [36 ]
AJAX
●
●
●
DHTML avec communicationAsynchrone au travers de
XMLHttpRequest
Positifs:
–
Une bonne alternative RIA
–
Plusieurs boites à outils existent
–
Pas de plug-in nécessaire
Négatifs
–
Toujours des incompatibilités entre navigateurs
–
Difficulté à maintenir et debugger le code javascript
O.Curé [37 ]
Quelques exemples
d'applications basées AJAX
●
●
Google Maps
–
Les données de la carte sont demandées
et téléchargées de manière asynchrone en
tâche de fond
–
Les autres parties de la page ne sont pas
modifiées donc pas de perte du contexte
opérationnel
Google Suggest (fin 2004): permettre la
saisie des premières lettres du mot
recherché, d'afficher les recherches les
plus courantes.
O.Curé [38 ]
Autres utilisations d'AJAX
●
Auto complétion
–
●
●
Adresse email, nom, ville peuvent être
auto complètés lors de la saisie de
l'utilisateur
Validation des données d'un formulaire
en temps réel
–
Identifiant, codes postaux, etc.
–
Simplification de la logique de validation
(côté serveur et client)
Rafraîchissement des données
O.Curé [39 ]
1.DOM
Document Object Model
O.Curé [40 ]
Introduction DOM
●
●
●
●
W3C
Document Object Model ou Modèle
d'Objets représentant un Document
Objectif: permettre aux scripts et aux
programmes d'accéder
dynamiquement au contenu, à la
structure et à la présentation des
documents HTML ou XML et de les
mettre à jour.
C'est un interface de programmation
O.Curé [41 ]
Introduction DOM (suite)
●
Hétérogénéité:
–
La recommandation propose une interface
utilisable dans la plupart des
environnements et des applications,
indépendamment du langage de
programmation et de la plate-forme
supportant l'application.
●
O.Curé [42 ]
Normalisation
●
3 niveaux:
–
Niveau 1 (1998): spécification des objets permettant de
définir le contenu et la structure d'un document. 2 parties:
●
●
DOM Core pour les interfaces de base du DOM et leurs
applications aux documents XML
DOM HTML spécifie les interfaces applicables aux
documents HTML
–
Niveau 2 (2000) complète le niveau 1 en spécifiant le
modèle d'objets pour les feuilles de styles CSS, un modèle
de gestion des événements et support des namespaces.
–
Niveau 3 (2004) ajoute le support de Xpath, une interface
de sérialization pour XML.
O.Curé [43 ]
Exemple document XML
<catalog>
<book id="101">
<title>XML in a Nutshell</title>
<author>Elliotte Rusty Harold, W.
Scott Means</author>
<price>39.95</price>
</book>
<book id="121">
<title>Who Moved My Cheese</title>
<author>Spencer, M.D. Johnson,
Kenneth H. Blanchard</author>
<price>19.95</price>
</book>
</catalog>
O.Curé [44 ]
DOM et Ajax
●
●
Avec Ajax, particulièrement son
exploitation sur une page Web, exploite
largement le DOM.
On distingue 2 étapes:
–
trouver l'élément avec lequel on veut
travailler
–
Modifier le contenu de l'élément ou le
réorganiser
O.Curé [45 ]
Trouver un élément
●
document.getElementById()
–
Retourne un élément DOM
–
Paramètre: une chaîne de caractères
–
Trouve un élément d'une page. L'id doit
être unique.
●
document.getElementsByTagName()
●
element.getElementsByTagName()
–
Argument: une chaîne
–
Retourne une collection d'éléments
–
O.Curé [46 ]
Trouver un élément (suite)
●
●
●
element.childNodes
–
Pas d'argument, retourne une collection
d'éléments DOM
–
Trouve l'enfant immédiat d'un élément
element.parentNode
–
Pas d'argument, retourne un élément DOM
–
Trouve le parent direct
element.nextSibling / previousSibling
–
–
Pas d'argument, retourne un élément DOM
O.Curé [47 ]
Trouver un élément (fin)
●
Avec jQuery en utilisant un sélecteur
–
$()
●
●
–
Argument: une chaîne de caractères
Retourne un objet jQuery couvrant un tableau
d'éléments
Exemple:
●
●
●
$(''div'') : sélectionne tous les noeuds
correspondant à une type d'élément
$(''#maListe''): sélection par un ID unique
$(''ul#'maListe li.new''): sélecteur complexe
CSS
O.Curé [48 ]
Modifier le DOM
●
document.createElement()
–
Arg: nom d'un élément, retourne un
élément
●
document.createTextNode()
●
element.innerHTML
●
element.appendChild()
●
element.removeChild()
●
element.insertBefore()
O.Curé [49 ]
Modifier DOM avec jQuery
(suite)
●
●
$.html()
$.append(), $.prependTo(),
$.insertBefore(), $.insertAfter()
–
●
●
Insère du contenu dans un noeud
$.remove(): supprime tous les éléments
d'une page
$.empty(): vide tous les éléments d'un
ensemble
O.Curé [50 ]
2. CSS
(Cascade StyleSheet)
O.Curé [51 ]
CSS : Cascade Style Sheets
●
●
●
●
CSS = règles + feuilles de style.
Règle = état d'un aspect stylistique
d'un ou plusieurs éléments.
Feuille de style = ensemble de règles
qui s'applique à un document HTML.
Exemple : une feuille de style
comportant une unique règle :
H1 { color : blue}
O.Curé [52 ]
Introduction
●
●
●
Objectif : offrir aux concepteurs de sites Web,
un outil puissant de présentation des documents
HTML (et XML).
CSS : cascade style sheets, est une mécanisme
simple permettant d'ajouter du style aux
documents HTML.
Normes :
–
juillet 1997 : CSS 1
–
janvier 1998 : CSS 2
–
CSS 3 (en cours de validation).
O.Curé [53 ]
Versions
●
●
●
CSS 1
–
Recommendation du W3C
–
Uniquement pour HTML
–
Incomplet
CSS 2
–
Pour XML et HTML
–
Recommendation W3C actuelle
CSS 3
–
●
Toujours pas disponible
Syntaxe non XML
O.Curé [54 ]
Règle des CSS
●
Une règle est constituée de 2 parties :
- Un sélecteur (lien entre le document HTML et le
style).
- Une déclaration (une partie de la règle spécifiant une
partie de la présentation).
● Syntaxe : H1 {color : blue }
sélecteur
déclaration
● Presque tous les éléments peuvent être utilisés
comme une sélecteur (il n'y a par d'intérêt à utiliser un
élément invisible, ex : br).
● Une déclaration se décompose en propriétés et
valeurs (color est la propriété et blue est la valeur).
O.Curé [55 ]
Groupement de règles
Lorsque plusieurs sélecteurs possèdent
une même définition, il est préférable de
les regrouper.
Ex : H1, H2, H3 { font-weight : bold }
● Lorsqu'une règle possède plus d'une
propriété, on sépare les propriétés par
des ";".
Ex : H4 { color : red ; font-weight :
●
bold }
O.Curé [56 ]
Lien avec les documents
HTML
●
Il existe quatre méthodes pour attacher
une feuille de style à un document HTML.
● Appliquer
à l'ensemble du document HTML
à l'aide de la balise <style> dans l'en-tête.
● Appliquer à une balise à l'aide de la balise
<style>
● Lier le document à une feuille de style
externe à l'aide de la balise <link>
● Lier le document à une feuille de style
externe à l'aide de "@import".
O.Curé [57 ]
Style de document
●
●
Imbriquer la feuille
de style entre
commentaires pour
les navigateurs non
compatibles CSS.
Inconvénient :
Maintenance sur site
volumineux.
<html><head>
<title>essai css</title>
<style type="text/css"> <!-h1 {color : blue}
--> </style>
</head>
<body>
<h1>premier essai avec
CSS</h1>
</body>
</html>
O.Curé [58 ]
Styles en lignes
Méthode la plus simple
d'associer un style à une
balise.
● Principe : inclure un
attribut style à la balise en
plus de la liste habituelle
des propriétés et des
valeurs respectives.
●Inconvénients : code
lourd et maintenance.
●
<html>
<head>
<title>Page styles en ligne</title>
</head>
<body>
<h1 style="color : blue; font-style
:italic"> Chapitre 1</h1>
</body>
</html>
O.Curé [59 ]
Feuilles de style externes
liées
●
●
●
La balise <link> doit
apparaître dans l'entête.
L'URL de la feuille de
style peut être absolu
ou relatif à l'URL de
base du document.
Avantage :
Maintenance sur des
sites volumineux.
<html><head>
<title>page avec link</title>
<link rel="stylesheet" type="text/css"
href="styles.css">
</head>
<body>
<h1>Chapitre 1</h1>
</body>
</html>
O.Curé [60 ]
Feuilles de style importées
●
●
●
@import doit apparaître
dans la balise <style>
dans l'en-tête.
<html><head>
L'URL de la feuille de
style peut être absolu ou
relatif à l'URL de base du
document.
<style><!--
Peut aussi apparaître
dans une feuille de style
externe.
<body>
<title>page avec
@import</title>
@import url(“style.css”);
-->
</style></head>
<h1>chapitre 1</h1>
</body>
</html>
O.Curé [61 ]
Feuilles de style externe
●
●
Dans un document
texte avec extension
".css".
Réutilisation dans
plusieurs documents
HTML pour la gestion
d'une charte
graphique sur un site
contenant beaucoup
de pages
(maintenance).
BODY { background-color :
Yellow; color : Black }
H1 { font-weight : bold; color :
red}
O.Curé [62 ]
Hiérachie des styles
Ordre de priorité :
style en ligne > style de document >
@import > link
● Différence entre @import et link :
●
✗
✗
Équivalence lorsqu'une seule balise <link>
Lorsqu'il y a plusieurs feuilles externes,
@import est préférable, car il y a fusion des
styles. La feuille du dernier import est
prioritaire.
O.Curé [63 ]
Classes de style
●
●
●
Les classes de style permettent de définir plusieurs styles
différents pour une ou plusieurs balises.
On peut définir des classes régulières (attachées à une
balise) ou bien génériques (pour l'ensemble des balises).
Définition d'une classe dans une feuille de document
ou externe :
✗ Classe régulière d'un paragraphe : P.nomclasse
{propriétés : valeurs ; etc.. }
Classe générique : .nomclasse {propriétés : valeurs ; etc.. }
● Exploitation :
✗ Pour une classe régulière : <P
class="nomclasse">abc</p>.
✗ Pour une classe générique on peut utiliser les balises
<div> et <span>.
O.Curé [64 ]
Pseudo-classes
Les pseudo-classes permettent de définir
l'affichage de styles pour certains états de
balises.
● Les noms sont prédéfinis.
● Elles sont rattachées au nom de la balise par ":"
et non ".".
● Principales pseudo-classes : A:link, A:active,
A:visited, P:first-letter, P:first-line.
● Attention à la compatibilité des navigateurs avec
les pseudo-classes introduites dans CSS2
(A:hover, A:focus, :first-child, :lang).
●
O.Curé [65 ]
Identificateur
L'attribut id assigne à l’élément correspondant un
identificateur unique au sein du document.
● On peut définir des identificateurs réguliers
(attachés à une balise) ou bien génériques (pour
l'ensemble des balises).
● Définition d'un identificateur dans une feuille
de document ou externe : #jaune {color :
jaune} ou H1#bleu {color : blue}
● Exploitation : <span id="jaune">Jaune</span>
ou <H1 id="jaune">Titre bleu</H1>
●
O.Curé [66 ]
DIV et SPAN
Balises introduites dans HTML 4.
● DIV : Crée une division au sein d'un
document. Fonctionnement sur un bloc.
● SPAN : Permet de déléguer le
formatage du texte entre les balises à
une feuille de style. Fonctionnement sur
la ligne.
● Attribut « id » pour identifier une zone
● Exemple: <div id=''menu''>...</div>
●
O.Curé [67 ]
Héritage
<HTML> <HEAD><TITLE>CSS1</TITLE>
Arbre du document HTML de droite
</HEAD>
HTML
<BODY>
/
<H1>Titre 1</H1>
<P><STRONG>CSS1</STRONG> intro:</P>
<UL>
<LI>selecteurs
<LI>h₫ritage
<LI>exemple
\
HEAD
BODY
/
/
TITLE
H1
|
\
P
UL
|
/ | \
STRONG
LI LI LI
</UL> </BODY></HTML>
●
●
L'organisation interne d'un document HTML est supportée par le
DOM (Document Object Model) sous forme d'arborescence.
Les balises qui se trouvent dans une section délimitée par
d'autres balises héritent des propriétés et valeurs de la balise
mère.
O.Curé [68 ]
Propriétés sur les
caractères
element
{
font-family: Helvetica, Arial;
font-size: x-large;
font-style: italic;
font-variant: small-caps;
font-weight: 900;
font-stretch: semi-expanded
●
}
O.Curé [69 ]
Propriétés sur le texte
element
{
text-indent: 0.5in;
text-align: center;
text-decoration: underline;
text-transform: capitalize;
white-space: normal
}
O.Curé [70 ]
Propriétés sur les couleurs
element
{
color: #00FF00;
background-color: rgb(43, 43,43);
border-color: black
}
O.Curé [71 ]
Unités
Les valeurs de certaines propriétés peuvent être
exprimées dans plusieurs unités.
● Couleur : nom d'une couleur de la palette web, #rgb,
#rrggbb, rgb (0-255,0-255,0-255), rgb (0-100%,0100%,0-100%).
● Taille : on distingue deux types : relative et absolue.
✗ Relative : em, ex, px et %.
✗ Absolue : in, cm, mm, pt, pc.
●
O.Curé [72 ]
Les listes
●
2 types de liste en html: non ordonnée
(ul) et ordonnée (ol)
●
CSS permet d'ajouter du style aux listes
●
Pour ul: ul.a {list-style-type : x; }
–
●
Avec x= {circle, none, disc (défaut),
square}
Pour ol: ol.b{list-style-type: y;}
–
Y= {decimal, lower-alpha, lower-greek,
lower-roman..}
O.Curé [73 ]
Les listes (suite)
●
On peut mettre une image: ul {liststyle-image: url(''abc.png'');}
●
O.Curé [74 ]
CSS float
●
Un élément peut être déplacer vers la
gauche ou la droite et avoir d'autres
éléments l'encadrant. Utile pour les
images.
–
●
Pour annuler float, on utilise clear
–
●
Exemple : im {float: left;}
Ex: .text {clear:both;}, both indique que
l'on annule à droite et à gauche.
Valeurs possibles: {left, right, both,
none, inherit}
O.Curé [75 ]
Un point sur les propriétés
●
Les grandes classes des propriétés de CSS 1 : police de
caractères, disposition du texte, couleurs, fonds de document et
boîtes.
●
Le CSS2 étend le jeu de propriétés au positionnement des
images, effets visuels, media, etc.. L'exploitation de ces
propriétés se posent au niveau de la compatibilité des
navigateurs.
➢
Normes CSS et propriétés sur le site du w3c (www.w3c.org).
➢
Articles sur webreview (www.webreview.com), HTMLHelp, le site
css.nu (http;//css.nu).
➢
Outils : TopStyle , Style Master, CSS Validator :
http://jigsaw.w3.org/css-validator/
O.Curé [76 ]