/
Le langage HTML est un langage de balisage, c'est à dire qu'il consiste en des éléments "entourant" par des balises d'ouverture et de fermeture, les différents contenus textuels de votre document. Il permet de sémantiser un document, c'est-à-dire de lui donner du sens pour un programme informatique tel qu'un navigateur. Le HTML n'est pas un langage de programmation, puisqu'il n'execute rien.
Il existe principalement deux types d'éléments : des éléments de type "bloc" et de type "en ligne". Leur incidence est très importante en terme de représentation visuelle, mais possède aussi une sémantique.
Les blocs sont généralement des parties logiques et structurelles de votre texte. Par exemple dans une dissertation, ils sont les titres, les paragraphes, les listes, etc. Les éléments de type en ligne seront plutôt les mots ou groupes de mots, les abréviations, les acronymes, au sein de vos paragraphes, titres, listes, etc.
Lors de la programmation de HTML, il faut penser à la sémantique que vous souhaiter donner à votre contenu, et jamais à l'apparence que celui-ci prendra dans la page du navigateur. Le langage CSS s'occupera exclusivement de cette partie là du travail, celui de la mise en page.
Les éléments p, h1, h2, h3, h4, h5, h6 sémantisent respectivement un paragraphe, un titre de niveau 1, un titre de niveau 2, ou sous titre, un titre de niveau 3 ou sous-sous titre, etc.
Voir plus loin pour les listes, les tableaux.
Sont considérés comme blancs les espaces, les sauts à la ligne et les tabulations. Dans l'écriture html, les blancs sont importants au sein des balises des éléments, c'est à dire entre les < et >. Il n'y aura aucun retour à la ligne ni aucune tabulation dans leur écriture, et les espaces devront séparer le nom de l'élément de l'attribut s'il y en a (regardez le méta utilisé dans le head ou voir plus loin dans le chapitre des attributs).
Entre les balises d'ouverture et de fermeture, les espaces en début et en fin de chaines de caractères ne sont pas considérés. Seuls les espaces entre les mots le sont, et les doublons seront considérés comme un seul espace.Les retours à la ligne et les tabulations ne sont pas du tout considérés dans l'interprétation du fichier HTML en page. Leur utilisation aura uniquement un objectif de clarté dans la lecture et l'écriture du code source.
Néammoins, le retour à la ligne sémantique, c'est à dire celui qui a une signification
dans le texte et donc aussi une interprétation visuelle, devra être sémantisé par
l'élément br.
Notez que comme dans l'élément méta, l'élément br ne possède pas de balise de fermeture.
Ce
paragraphe
a
pour
objectif
d'illustrer
l'utilisation
des
blancs.
Pensez à regarder dans le code source.
Il est parfois utile de laisser au sein du code html des commentaires n'ayant rien à voir
avec le contenu du document et seulement destinés au travail du web designer.
Un commentaire peut être par exemple utilisé pour spécifier un endroit du document
incomplet, qu'il faudra compléter ou supprimer plus tard.
Les commentaires ne doivent ainsi pas être affichés dans la page et être tout simplement
ignorés par le navigateur.
Pour cela placez votre commentaire entre les signes ...
(la fin de la phrase ne peut pas être affichée car elle est considérée comme étant un
commentaire. Regardez dans le code source pour comprendre et voir les signes qui
permettent de faire un commentaire).
Ces éléments devront impérativement être imbriqués dans un élément de type bloc, par exemple, un p. Seuls dans le body, il provoqueraient une erreur.
L'élément em (emphasis) permet de sémantiser un mot ou un
groupe de mots sur lequel une attention particulière est souhaitée; cela ne veut
pas dire que ces mots auront forcément un design visuel différent (rappel). Cela
veut dire qu'il auront une sémantique différente.
Par exemple, outre la différence visuelle, ces mots seront indexés par les
moteurs de recherche d'une manière plus importante que les autres mots.
Exemple :
Lorsqu'un web designer s'exprime sur un forum, il est essentiel qu'il utilise
la nomenclature officielle pour décrire son problème. Il devra parler d'éléments,
de balises, d'attributs et faire la différence entre un fichier
et une page.
L'élément strong (fort) permet de sémantiser un mot ou groupe de mots encore
plus important(s).
Exemple :
Une des erreurs classiques d'un jeune web designer est d'écrire htlm au
lieu de html.
L'élément dfn (définition) permet de sémantiser une définition courte dans une
phrase.
Exemple :
N'oubliez pas de temps en temps de faire Save (enregistrer) dans TextWrangler.
L'élément code permet de sémantiser un mot ou groupes de mots ayant une
signification se rapprochant de l'informatique, cela peut être du langage informatique,
ou une description d'une action au sein d'un logiciel.
Exemple :
Les documents HTML doivent sur internet impérativement posséder
l'extension .html
.
Il existe ainsi les éléments var (variable), samp
(sample), et kbd (keyboard), qui sémantisent
respectivement : une donnée variable, un échantillon (de texte ou de nature) et une
touche ou une action du clavier.
N'oublions pas que le HTML a été, à ses débuts,
inventé pour la sémantisation de documents principalement scientifiques.
Plus proche de ce que nous sommes susceptibles d'utiliser, l'élément cite
permet de sémantiser une référence externe : il peut s'agir d'un magazine, d'un article,
d'un personnage, mais pas d'une citation comme on pourrait le traduire.
Exemple:
L'ouvrage HTML précis et concis de l'éditeur O'Reilly est d'une
aide importante lors de la construction des premiers sites Web.
L'élément abbr (abréviation) sémantise une abréviation qui ne doit
pas être confondue à un acronyme qui est sémantisé par l'élément acronym.
Rappel :une abréviation est la contraction d'un groupe de mots par l'utilisation de
leur première(s) lettre(s) et se prononce en épelant chacune des lettres.
Exemple :
Le HTML est un langage très simple, il suffit de ne pas faire de fautes
d'orthographe.
Au contraire, les acronymes se prononcent comme un mot.
Exemple :
L'Organisation du Traité de l'Atlantique Nord se dit OTAN.
L'élément q (quote) permet justement de faire une citation, c'est à
dire de reprendre les mots d'une personne.
Exemple :
Le HTML, Yes, we can!
Lorsque la citation nécessite une structure de texte avec des paragraphes, comme il est
question par exemple dans un poème, il est alors nécessaire d'utiliser
l'élément blockquote qui est un élément de type bloc et qui pourra imbriquer
d'autres éléments de type bloc tels que des paragraphes.
Exemple :
Les larmes sont à nous tous elles n'ont ni goût, ni saveur, ni couleur
elles sont versées
elles coulent
elles tarissent
elles sont éphémères
en laissant des traces dans mon coeur.
Enfin les éléments sup et sub permettent de sémantiser des exposants et
des indices.
Exemple:
En biologie, nous apprenons des choses essentielles à notre vie de tous les jours telles
que la composition chimique de l'eau : H2O . Pourtant il existe des choses
beaucoup plus importantes telles que E=mc2.
Certains contenus textuels possèdent un formatage, en particulier une disposition dans
l'espace faite à l'aide de tabulations et d'espaces de ponctuation, qui peuvent avoir ou
bien qui peut jouer sur la sémantique du texte. L'élément pre permet de
sémantiser du contenu préformaté. Notez que pre est un élément de
type bloc.
Voici un exemple de ce genre de texte :
__ _______ ____ ____ _____ ____ ____ ___ _ _ \ \ / / ____| __ )| _ \| ____/ ___| / ___|_ _| \ | | \ \ /\ / /| _| | _ \| | | | _| \___ \| | _ | || \| | \ V V / | |___| |_) | |_| | |___ ___) | |_| || || |\ | \_/\_/ |_____|____/|____/|_____|____/ \____|___|_| \_|
L'élément pre conserve les tabulations et espaces multiples qui permet aux
tirets et aux slashs de donner au texte la sémantique webdesign
.
A titre de comparaison, voici ce que donnerait le même texte dans un élément p:
__ _______ ____ ____ _____ ____ ____ ___ _ _ \ \ / / ____| __ )| _ \| ____/ ___| / ___|_ _| \ | | \ \ /\ / /| _| | _ \| | | | _| \___ \| | _ | || \| | \ V V / | |___| |_) | |_| | |___ ___) | |_| || || |\ | \_/\_/ |_____|____/|____/|_____|____/ \____|___|_| \_|
Sur un site d'information, les mises à jour régulières peuvent porter à confusion : en
effet, le public peut ne pas voir ce qui a été changé d'une visite à une autre. Les
éléments ins (insertion) et del (deletion)
permettent de sémantiser le texte nouvellement ajouté et l'ancien texte respectivement.
N'oublions pas que même si les navigateurs offrent une représentation visuelle à de tels
éléments, ceux-ci on un rôle de sémantique avant tout.
Voici un exemple :
La dernière grande catastrophe nucléaire s'est déroulée à Tchernobyl.
La dernière grande catastrophe nucléaire s'est déroulée au Japon.
Une énumération est dans son ensemble sémantisée par l'élément de type bloc ul
(Unordered List).
Chaque item de la liste sera par ailleurs sémantisé par l'element de type bloc
li (List Item).Un seul ul pourra contenir autant
de li necessaire.
Exemple :
De la même manière, les listes ordonnées seront sémantisées par l'élément ol
(Ordered List).Les items seront toujours sémantisés par des liqui
devront être écrits dans l'ordre.
Exemple :
Dans ce genre de listes, les items sont un couple fait d'un signifiant et d'un signifié.
Pensez au dictionnaire, où vous avez pour chaque item de la liste que représente le
dictionnaire un mot et sa signification.
L'élément dl (Definition list) sémantise l'ensemble de la liste
(le dictionnaire). Chaque item sera un couple d'élément dt
(Definition Term) suivi d'un dd
(Definition Definition).
Exemple :
Les éléments HTML abordés jusqu'ici sont simples dans la mesure où ils ne
nécessitent pas d'attribut comme le meta.
Dans la suite du cours nous devrons les utiliser.
Les attributs sont des informations supplémentaires attribuées à un élément
en particulier et permettant de préciser la sémantique du dit élément. Les navigateurs
pourront par exemple proposer une interprétation graphique différente.
Les attributs se placent dans la balise ouvrante de l'élément uniquement et se déclinent
sous la forme d'un nom d'attribut immédiatement suivi d'un =
, lui
même immédiatement suivi d'une valeur entre guillemets. Le nom de l'élément doit être
séparé du premier attribut par un espace ; de plus, si l'élément possède plusieurs
attributs (il n'y a pas de limites dans le nombre d'attributs), chacun d'entre eux doit
être séparé par un espace. Enfin, l'ordre n'est pas important ; la syntaxe est la
suivante :
<élément attribut1="valeur" attribut2="valeur" attribut3="valeur" ...>
Exemple (voir le code source) :
HTML est une abréviation.
Dans cet exemple, l'attribut title permet d'associer un mot ou groupes
de mots à l'element choisi. Généralement, il est utilisé pour les abréviations et les
acronymes. Le navigateur Firefox propose d'afficher une petite étiquette
avec le contenu du title quand on immobilise la souris sur l'abréviation. Ceci est une
interprétation parmi d'autres.
Comme nous l'avons vu, les douments textuels et notamment les documents HTML
doivent être écrits selon un encodage de caractères qui correspondra généralement au
clavier et donc à la langue que l'on utilise. On peut cependant vouloir écrire dans un
langue différente de celle à laquelle correspond notre clavier, et donc notre encodage
de texte.
C'est pour cela qu'il est necésssaire de préciser grâce au meta le langage dans
lequel on souhaite que l'interprétation du document se fasse.
Par exemple il est possible avec un clavier français, et donc en encodant notre texte
avec l'ensemble de caractères Western ISO-latin-1 par exemple, de composer un texte en
danois et en précisant dans le meta du head un autre ensemble de
caractères (iso-8859-15).
Ceci dit, il est possible de souhaiter utiliser quelques lignes de texte dans un langage
étranger dans un document majoritairement français par exemple. Pour cela on gardera
l'ensemble de caractères iso-8859-1
et nous utiliserons des entités
HTML.
Les entités HTML sont des mots clés qui font référence à des caractères visuels spécifiques. Ils commencent tous par une esperluette et finissent tous par un point virgule. Par exemple les caractères suivant sont tous obtenus sur la page par des entités HTML (voir code source):
La liste des entités HTML est disponible dans la documentation officielle au chapitre 24. -->
Il est possible de sémantiser des données tabulaires, c'est à dire du
texte qui prend une sémantique que lorsqu'il est placé au sein d'un tableau, c'est-à-dire
en lignes et en colonnes.
Encore une fois il n'est pas question ici de design mais bien de sémantique.
L'ensemble d'un tableau sera sémantisé par l'élément table. Le tableau se décrit
ensuite du haut vers le bas et de la gauche vers la droite, donc de ligne en ligne
(en commençant pr la première ligne) et de cellule en cellule (en commençant par celle
de gauche).
L'élément tr (Table Row) permet de sémantiser une ligne. Tandis que
l'élément td (Table Data) sémantise une cellule.
Compagnies | Enfant de moins de 2 ans | Adultes | Seniors (+ 60ans) |
Air France | 200€ | 320€ | 320€ |
Continental Air Lines | 200€ | 300€ | 290€ |
British AirWays | 0€ | 280€ | 208€ |
TWA | 100€ | 280€ | 280€ |
Tarif Aller-Retour Paris-New York au 1ermars 2011
Notez que le design visuel par défaut peut ne pas posséder de bords ; il est alors toléré d'utiliser sur la balise ouvrante table l'attribut border qui prendra comme valeur "1px", px pour pixel pour définir un bord de 1 pixel de large.
L'élément caption permet de proposer une légende au tableau. Cet élément devra
impérativement se situer sous l'élément table avant le premier tr.
De plus, il est possible de faire la différence entre les données tabulaires et les
légendes de ces données (en tête de tableau). Pour cela, il faut utiliser
l'élément th (Table Head) en place des td de ces données.
Voici le même tableau
modifié en conséquence :
Compagnies | Enfant de moins de 2 ans | Adultes | Seniors (+ 60ans) |
---|---|---|---|
Air France | 200€ | 320€ | 320€ |
Continental Air Lines | 200€ | 300€ | 290€ |
British AirWays | 0€ | 280€ | 208€ |
TWA | 100€ | 280€ | 280€ |
L'attribut colspan permet de fusionner la cellule auquel
l'attribut a été attribué (td ou th) avec les cellules qui suivent
dans l'ordre dans lequel le tableau est décrit (du haut vers le bas et de gauche vers
la droite).
La valeur de colspan est un nombre entier qui équivaut au nombre de
cellules fusionnées.
Note : une cellule fusionnée ne sera alors plus déclarée dans le code du tableau.
De la même manière, l'attribut rowspan permettra de fusionner la cellule à laquelle il a été attribué avec les cellules des lignes suivantes. Ici aussi, une cellule fusionnée ne sera pas décrite sur les lignes suivantes.
Ci-dessous le tableau précédent modifié avec des cellules fusionnées :
Compagnies | Enfant de moins de 2 ans | Adultes | Seniors (+ 60ans) |
---|---|---|---|
Air France | 200€ | 320€ | |
Continental Air Lines | 200€ | 300€ | 290€ |
British AirWays | 0€ | 280€ | 208€ |
TWA | 100€ | 280€ | 280€ |
Compagnies | Enfant de moins de 2 ans | Adultes | Seniors (+ 60ans) |
---|---|---|---|
Air France | 200€ | 320€ | |
Continental Air Lines | 300€ | 290€ | |
British AirWays | 0€ | 280€ | |
TWA | 100€ |
Le langage HTML a conservé du SGML la caractéristique du hypertexte.Ce mécanisme
permet de lier entre eux 2 documents par le biais d'ancre(s)
généralement attribuées à un texte. Plusieurs variations du mécanisme permettront de
lier deux endroits du même document, une ancre d'un document vers un autre
document entier, ou enfin, une ancre d'un document vers une autre ancre dans
un autre document.
Plus familièrement, on parle de lien sur lequel on clique
. Cette représentation
visuelle est plus justement décrite de manière sémantique par une ancre que l'on active.
L'élément a (anchor) permet de sémantiser une ancre. Selon les attributs de cette ancre, celle-ci sera une ancre source, c'est à dire une que l'on active ou une ancre de destination.
http://exemple.com/fichier.html#ancre
Les liens absolus indiquent un protocole, une adresse de serveur et un
chemin d'accès à un fichier. Les liens relatifs indiquent seulement le
chemin d'accès. Dans ce cas là, le navigateur qui doit faire la requète utilisera le
même protocole, la même adresse de serveur du fichier contenant le lien et combinera le
lien relatif au chemin d'accès du fichier courant.
En d'autres termes, lorsqu'un lien relatif se trouve dans un fichier A, le chemin
d'accès du fichier B sera la combinaison de l'URL du fichier A + le chemin
d'accès du fichier B indiqué dans le lien. On dit que le lien du fichier B est alors
relatif à l'endroit où se trouve le fichier A. Si le fichier B est dans un sous dossier
du même niveau que le fichier A, il faudra indiquer son chemin d'accès de dossier en
dossier depuis le niveau où se trouve le fichier A.
Par exemple, considérons l'arborescence suivante d'un site disponible à l'adresse
exemple.com :
/ index.html galerie/ index.html photos/ photo1.jpeg contact.html
Par exemple, pour créer un lien depuis l'index
du premier niveau, vers le
fichier contact/html
, il n'est pas necéssaire de changer de niveau, c'est à
dire d'entrer dans un dossier ou d'en sortir, car le fichier source et le fichier de
destination sont dans le même niveau, donc le lien relatif est seulement
contact.html
. Le même protocole utilisé plus tôt pour accèder à
l'index.html
ainsi que l'adresse du serveur et le chemin d'accès du dossier
dans lequel il se trouve seront utilisés en combinaison du lien relatif pour établir
la requète suivante :
http://exemple.com/contact.html
Pour créer un lien relatif depuis le même fichierindex.html
vers le
fichier photo1.jpeg
, il est necessaire d'entrer dans le
dossiergalerie
, puis dans le dossier photos
depuis le dossier
dans lequel se trouve le lien, cad le dossier racine du site, le lien relatif est
alors :
galerie/photos/photo1.jpeg
Enfin pour créer un lien relatif depuis le fichier index.html
du dossier
galerie
vers le fichier contact.html
du niveau précédent,
il est necessaire de sortir du dossier courant, c'est à dire du dossier dans lequel le
fichier se trouve. Pour sortir du dossier courant, il suffit d'utiliser le code :
../
. Donc le lien relatif est : ../contact.html
.
Note : s'l faut reculer de plusieurs niveaux, il est possible d'accumuler ce code autant
de fois que nécessaire. Par exemple : ../../../fichier.html
permet d'acceder
à un fichier hypothétique s'appellant fichier.html
et se trouvant à 3
niveaux inférieurs.
A quoi ça sert??!!!
Imaginez, que vous avez construit un site de plus de 100 pages, avec une arborescence
de plus de 6 ou 7 niveaux différents, avec bien entendu son lot de liens (absolus) sur
chaque document pointant sur tous les autres.
Le site est accessible sous le nom dupont.com
.
Soudainement, votre client M.Dupont décide de changer son nom de domaine pour
dupont.fr
.Dans ce cas de figure, il faudra reprendre et modifier chaque
lien de chaque page avec les éventualités des problèmes que ce travail peut comporter.
L'utilisation de liens relatifs vous aurait permis de ne pas avoir à changer quoique
ce soit.
Pour résumer, les liens relatifs doivent être utilisés lorsque la ressource se trouve sur
le même site. Les liens absolus seront utilisés pour les ressources externes.
Cette logique sera la même pour tout type de lien, c'est à dire les liens hypertextes ou
les liens vers du contenu multimedia.
Le langage html a été initialement prévu pour sémantiser de documents
majoritairement textuels. Certes, l'ajout d'images fixes est prise en compte, mais à
l'heure où sont écrites ces lignes, la version officielle du html (4.01)
ne spécifie pas de normes d'interprétation pour tout autre contenu multimédia.
En d'autres termes, les navigateurs seront libres d'interpréter ce genre de contenu
de la manière dont ils le souhaitent sans qu'ils soient tenus à des normes
internationales. En pratique, il est donc possible de garantir l'affichage (par exemple)
de texte et d'images fixes dans un site. Les vidéos, le son et l'animation dépendront
de la configuration de la machine cliente.
Un exemple parlant est celui de l'animation de la video. Les navigateurs n'ont pas été
développés pour lire ce genre de contenu, ils vont donc dans la mesure où la machine
cliente est configurée avec des plugins
déléguer ce travail de
lecture à des plugins. Aujourd'hui, le plugin propiétaire Flash du
constructeur Adobe est le seul permettant de lire de la vidéo et de
l'animation vectorielle. En plus des implications éthiques que cela signifie,
(contrôle de l'audiovisuel), ce plugin nécessite énormement de ressources de la part
du processeur de l'ordinateur qui l'utilise. Il est pratiquement inutilisable sur des
ordinateurs de plus de 5 ans, et nécessite des mises à jour régulières.
Cela ne veut pas dire que le html ne permet pas l'insertion de ce genre de
contenu au sein de ces pages
mais celle-ci ne sera simplement pas garantie.
La prochaine version du html (5) permettra l'insertion de video et imposera
aux navigateurs de les interpréter selon des normes précises considérant les capacités
informatiques des ordinateurs dans le monde, et les différents accès en termes de
rapidité au réseau. Malgré le fait que beaucoup de webdesigners utilisent aujourd'hui
le HTML
5 pour pallier au problème du flash et que parallèlement nombres de
navigateurs (excepté Internet Explorer) acceptent aujourd'hui l'interprétation
du HTML
5, ce dernier n'est pas encore officiel. Sachez que
Dailymation a décidé de ne plus utiliser le plugin flash pour
ses vidéos. YouTube quand à lui utilise une version flash et
une version html 5.
Les images fixes (comme tout contenu multimedia) ne font pas partie intégrantes du
fichier HTML. Elles sont en fait référencées dans le code HTML
grâce à un lien, et c'est le navigateur qui devra faire la requète vers l'image pour
l'insérer visuellement dans la page.
Avant d'aborder l'élément permettant de faire référence à des images, faisons un petit
rappel concernant la nature des images numériques et leur caractéristiques.
Une image est considérée comme numérique lorsqu'elle est présentée visuellement sur un
support informatique. Il existe maintenant deux types d'images numériques, les images
matricielles (faites de pixels) et les images vectorielles (c'est à dire faites de
courbes et de segments calculés sur des axes géométriques x, y en 2D et x, y et z en 3D).
Les premières offrent un rendu réaliste et proviennent généralement de source externe
photographie ou scan), les secondes sont directement créees depuis un logiciel de
dessin (Illustrator, Blender etc.).
Bien qu'il soit possible d'insérer des images vectorielles
(au format SVG) au sein du code HTML,
cette technique est très peu utilisée au profit des images matricielles qui sont elles
réferencées.
Le webdesigner devra veiller à deux caractéristiques esssentielles, les dimensions de l'image et le format.
Celles-ci s'expriment en pixels. La résolution est donc insignifiante puisqu'elle
permet de convertir les pixels en mm imprimables. Le webdesigner est alors amené à
considerer des pimensions faites de pixels et a besoin de références.
Dans les normes du W3C il existe un écran standard, c'est à dire un écran considéré
comme étant disponible globalement malgré la situation économique d'un pays.
Cet écran est donc limité par le nombre des couleurs (on le verra quand on abordera le
désign CSS) et par le nombre de pixels qu'il est capable d'afficher.
Il servira de référence comme taille maximale à ne pas dépasser autant que l'on design
un site Web que l'on propose des images.
Cela ne revient pas à dire qu'il n'est pas possible d'utiliser des images ou de faire
des sites plus grands que la capacité d'affichage de cet écran, seulement que dans de
tels cas, le visionnage ne pourra pas être optimisé ou garanti sur tous les écrans.
Par exemple, des barres de défilement horizontale et/ou verticale apparaitront pour
afficher de tels contenus. Remarquons cependant que le web nous a habitués à faire
défiler un contenu verticalement. La dimension maximale des images et du design de site
concerne alors uniquement la hauteur.
L'écran standard propose 800 pixels de large et 600 de haut.
Sachant que sa largeur peut être partagée par les bords de la fenêtre du navigateur par
la barre de défilement du navigateur si la hauteur excède 600 pixels et par l'espace
libre que l'utilisateur pourrait avoir laissé, il faut compter un maximun de 750 pixels.
A partir de là, une image qui prend tout l'écran fera 750 p de large, une image qui représente la moitié d'un écran environ 375p, et le quart, 180p.
De manière générale, un navigateur va être autorisé à interpréter certains formats
de contenus différents. C'est à dire qu'il va présenter dans sa fenetre le dit document.
L'exemple le plus simple, c'est le format HTML. Il ne pourra par exemple
pas interpréter un document Word ou OpenOffice. Cela ne veut pas dire qu'il n'est pas
possible de proposer sur son site un document Word ou OpenOffice, seulement que le
navigateur ne pourra pas les interpréter et proposera alors de l'enregistrer
sur l'ordinateur du client.
Pour les images, le mécanisme sera identique selon le format. Seuls les formats suivants
sont normalisés pour être interprétés dans la fenetre du navigateur.
Un format de fichier désigne la façon dont ses données sont structurées et empaquetées au sein du fichier numérique sous ce format. Chaque format pourra être optimisé pour la lecture rapide par les logiciels, pour sa capacité d'ouverture/fermeture rapide, pour son organisation qui pourra offrir plus de choix à l'enregistrement, etc.
Un format ne doit cependant pas être confondu avec un CODEC
(COmpression/DEcompression). Un Codec est un algorithme (fonction) qui permet
de décompresser des données pour qu'elles occupent moins d'espace disque.
Elles pourront ainsi parcourir plus vite la distance qui séparent deux ordinateurs sur
un réseau. Certains CODECs proposent seulement un algorithme de
COmpression, c'est le cas du JPEG alors que certains pourront offrir
un algorithme de COmpression et de DEcompression, c'est le cas du ZIP.
Attention, un format peut utiliser un CODECet JPEG
est à la fois un format et un CODEC. En d'autres termes, enregistrer sous le format JPEG
peut si vous décidez de compresser votre image, utiliser le CODEC
JPEG.
De la même manière, le format TIFF
pourra optionnellement utiliser le CODEC JPEG.
Le GIF et le PNG sont par ailleurs capables d'enregistrer plusieurs images dans le même format et indiquer une séquence de lecture avec un rythme choisi. C'est le principe de images animées sans tomber dans la complexité des vidéos. On parle alors d'Animated PNG ou GIF, c'est à dire APNG ou AGIF.
Il permet de sémantiser une image fixe (ou animée avec APNG ou AGIF ). Cet élément ne possède pas de balise fermante. Cependant deux attributs seront essentiels :
casséou pour les navigateurs qui ne proposent pas de représentation visuelle.
Notez que vos images qui doivent se trouver sur le Web et généralement dans votre site pourront dans un souci d'organisation être placées dans un dossier dédié au contenu multimedia. Voici un exemple d'une image insérée dans la page grâce à l'élément img :
Notez enfin que l'élément img est de type en ligne, c'est pour cela que nous l'avons mis dans un élément de type bloc précédemment.
Tout autre contenu multimedia sera inséré grace à l'élément obj. Cet élément prend deux attributs essentiels. Cependant le texte alternatif au cas où le contenu ne pourrait être interprété par le navigateur, se placera entre la balise ouvrante et la balise fermante de l'élément.
Voici un exemple de fichier audio, inséré dans cette page :
A certaines occasions, il est possible d'avoir besoin d'un élément qui n'a pas forcément
de sémantique précise. L'exemple le plus courant est celui de l'insertion d'image
ou de contenu multimedia. Les éléments img et object qui sont des
éléments en ligne doivent nécessairement se trouver dans un élément de type bloc.
Or, ce type de contenu n'est pas constamment rattaché à un paragraphe, un titre ou une
liste et nécessite alors un élément de type bloc ne possédant pas
une sémantique particulière.
L'autre exemple est celui que beaucoup de designers CSS
(Cascading Style Sheet) connaissent, puisque pour des besoins de design, il
est parfois nécessaire de cibler une partie du contenu qui n'a pas de sémantique.
Par exemple, admettons que dans un document, le designer souhaite faire ressortir tous
les mots contenant exactement 5 lettres, il faudra alors que ces mots soient
balisés
par un élément HTML de type en ligne qui n'a bien sûr pas de
sémantique particulière.
Une autre méthode courante en CSS consistera à délimiter
des parties logiques du contenu pour créer la structure visuelle de la page
résultante du document. Il faudra ici que ces parties soient balisées
par des
éléments de type bloc encore une fois sans sémantique particulière puisqu'ils ont un
objectif purement visuel. (Attention : il ne faudra pas en abuser).
Ainsi l'element div (Division) permet de baliser un ensemble ou un contenu. Cet élément est de type bloc.
De la même manière, mais de type en ligne, l'élément span sera utilisé pour des mots ou des groupes de mots par exemple.
Exemple : dans cette phrase, nous avons balisé les mots de 4 lettres avec l'élément span pour pouvoir les faire ressortir visuellement grâce à du CSS.
Cet élément permet de lier votre document HTML à des fichiers externes qui pourront aider le navigateur dans l'interprétation du document. L'exemple le plus courant est celui d'une feuille de style. C'est un fichier qui décrira l'aspect visuel de votre document. (cf voir l'ajout de style CSS). Cet élément se met toujours dans le head de votre document HTML.
Le langage HTML est un langage de balisage
. Il ne permet pas
d'exécuter des tâches, en fonction par exemple des actions de l'utilisateur. Ce genre
d'interactivité bien que non nécessaire, peut cependant se révèler très utile.
Par exemple, lorsque vous envoyez un formulaire, un script va contrôller que vous
avez bien rempli tous les champs avant de procéder à leur analyse. Ce script est
essentiel et pour des raisons de sécurité, s'exécute toujours sur le serveur. Cela veut
dire que votre formulaire rempli sera envoyé au serveur, même s'il contient des champs
vides. Si le script ne l'accepte pas, il vous le renvoie avec un message d'erreur. Cela
peut surcharger le serveur et l'utilisation supplémentaire (et non en
substitution car le script du serveur est essentiel), d'un script attaché au document
HTML peut s'avérer très utile. Cela signifie que lorsque le visiteur reçoit le document
HTML, il reçoit aussi un script qui se chargera de vérifier les champs du formulaire
avant d'envoyer ce dernier. Ce script est écrit en langage Javascript, celui
du serveur en langage PHP.
L'élément script présent dans le head de votre document
permet comme l'élément link de lier votre document HTML à un fichier
externe, dans ce cas, un fichier contenant du langage Javascript.
Par contre, l'élément script pourra aussi être utilisé au sein du
body, il contiendra alors directement du code javascript.
L'élément script nécessite l'attribut type qui comme pour
l'élément object indique le type mime du script lui-même.
Ce document contient du javascript en exemple, cliquez sur un de vos tableaux plus haut,
pour voir ce qui se passe.
L'élément noscript permet de spécifier un message alternatif qui sera affiché si javascript n'est pas installé ou éteint sur le navigateur de l'utilisateur. Notez par ailleurs que le contenu de l'élément script n'est jamais interprété (affiché) par le navigateur. Il peut donc se trouver n'importe où dans le body. Par contre, la position du contenu alternatif respectera l'ordre des éléments HTML au sein desquels elle se trouve.
And Voodoo Muzak is playing for you...