Trackin
Programmation en XHTML
1. Introduction à l'XHTML1.1. Qu'est-ce que c'est ?
1.2. Quelle version utiliser, la 1.0 ou la 1.1 ?
2. Validation W3C
2.1. Qu'est ce que c'est ?
2.2. Modalités de validation
2.2.1. DOCTYPE
2.2.2. Jeu de caractères
3. Syntaxe
3.1. Bonne imbrication des balises
3.2. Nom et attribut des balises en minuscules
3.3. Balises "vides" avec terminaison
3.4. Balise de fermeture obligatoire pour les éléments non vides
3.5. Les attributs doivent être entre guillemets
3.6. Tout attribut doit avoir une valeur explicite
3.7. L'attribut "id" complémente "name"
4. Ma première page XHTML
5. Les balises
5.1. Définitions
5.1.1. Les éléments bloc et les éléments en-ligne
5.1.2. Les attributs
5.1.3. Un élément
5.2. Type : en-ligne
5.2.1. Balise <a> : liens
5.2.2. Balise <br /> : saut de ligne
5.2.3. Balise <cite> : citation
5.2.4. Balise <code>
5.2.5. Balise <em> : mise en emphase
5.2.6. Balise <img /> : images
5.2.7. Balise <q> : citation
5.2.8. Balise <span>
5.2.9. Balise <strong> : mise en emphase forte
5.3. Type : bloc
5.3.1. Balise <div> : division du document
5.3.2. Balises <h1> à <h6> : entête de paragraphe
5.3.3. Balise <hr /> : trait horizontal
5.3.4. Balise <p> : paragraphe
5.3.5. Balise <pre>
5.3.6. Balises <ul> et <ol> : liste
5.4. Un exemple complet
1. Introduction à l'XHTML
1.1. Qu'est-ce que c'est ?
1.2. Quelle version utiliser, la 1.0 ou la 1.1 ?
Voici quelques différences entre la version 1.0 et la version 1.1 du XHTML :
- Un seul Document Type Definition DTD.
- Obligation d'utiliser le CSS pour le style du document.
- L'attribut lang est remplacé par l'attribut xml:lang.
- L'attribut name est remplacé par l'attribut id dans certaines balises.
- Prise en charge des éléments ruby.
2. Validation W3C
2.1. Qu'est ce que c'est ?
Ce qui nous intéresse plus particulièrement, ici, est leur système de validation de code source.
Par valider le code source, le système du W3C, va vérifier la syntaxe de votre code conformément aux règles établies.
Contrairement à ce que beaucoup pourraient penser, ce n'est pas dénué de sens de valider sa page ! En voici quelques raisons :
- Permet d'avoir un code portable, compatible avec la plupart des navigateurs.
- Permet d'avoir un code standardisé et connu de tout le monde.
- Permet une meilleure accessibilité.
2.2. Modalités de validation
- Renseigner le navigateur sur la norme utilisée via le DOCTYPE du document (ex: XHTML 1.0 STRICT).
- Renseigner le navigateur sur le jeu de caractères utilisé (ex: UTF-8).
- Se conformer à la syntaxe définie par le DOCTYPE utilisé (voir chapitre 3-Syntaxe pour plus d'informations)
- Passer un test de validation W3C du document XHTML
2.2.1. DOCTYPE
Il doit être placé en tout début du code source, avant la balise <html>.
Pour le XHTML 1.0 :
XHTML 1.0 Strict :
XHTML 1.0 Strict |
|
XHTML 1.0 Transitional :
XHTML 1.0 Transitional |
|
XHTML 1.0 Frameset :
XHTML 1.0 Frameset |
|
Je vous conseille d'utiliser le XHTML 1.0 Strict. Si par la suite vous souhaitez passer à l'XHTML 1.1, il sera bon de connaître l'XHTML 1.0 Strict. |
Différence entre les normes XHTML 1.0 :
- Strict : utilisation recommandée !
- Transitional : permet d'utiliser des balises "décoratives" comme <font>, ... qui je le rappelle sont généralement dépréciées en XHTML Strict.
- Frameset : utilisé quand la page contient une ou plusieurs frames.
Pour le XHTML 1.1 :
|
2.2.2. Jeu de caractères
Si le navigateur ne peut détecter le jeu de caractères de la page qu'il tente de visualiser, celui-ci affichera une page avec des caractères illisibles et incompréhensibles.
Spécifier le jeu de caractères est donc important !
Qu'est-ce que l'encodage de caractères?
L'encodage de caractères est un processus qui à chaque caractère associe un code que la machine peut comprendre.
Le codage le plus utilisé de nos jours est l'ISO-8859-1 qui permet d'encoder 191 caractères de l'alphabet latin.
Ensuite vient l'ISO-8859-15, qui permet, comme le précédent d'encoder l'alphabet latin mais permet également d'encoder des caractères fusionnés, €, ...
Aujourd'hui, l'internationalisation devient de plus en plus importante. Donc un jeu de caractères aussi restreint que l'ISO-8859-1 ne permet pas d'afficher des caractères dans d'autres langues tels que le japonais, etc. Pour pallier à ce problème, la norme Unicode a été inventée et donne place à l'UTF-8.
D'un point de vue général, peu importe l'encodage utilisé, dans un soucis d'interopérabilité, il vaut mieux toujours utiliser les entités HTML.
1er méthode :
|
2ème méthode :
|
L'encodage UTF-8 est de plus en plus courant et a tendance à être recommandé.
Si toutefois vous ne voulez pas l'utiliser, vous pouvez choisir l'encodage actuel qui est le Latin 1 (ISO-8859-1).
Mais sachez que la table ISO-8859-1 ne contient que les caractères anglais, donc il vous faudra encoder les caractères absents de cet alphabet à l'aide d'entités HTML.
3. Syntaxe
3.1. Bonne imbrication des balises
Incorrect :
|
Correct :
|
3.2. Nom et attribut des balises en minuscules
Incorrect :
|
Correct :
|
3.3. Balises "vides" avec terminaison
Incorrect :
|
Correct :
|
3.4. Balise de fermeture obligatoire pour les éléments non vides
Incorrect :
|
Correct :
|
3.5. Les attributs doivent être entre guillemets
|
Correct :
|
3.6. Tout attribut doit avoir une valeur explicite
|
Correct :
|
3.7. L'attribut "id" complémente "name"
(extrait de : Les formulaires et PHP5 de Guillaume Rossolini ).
Pour des raisons de compatibilité avec les anciens navigateurs, il est mieux d'utiliser encore les deux et non seulement l'attribut id.
L'attribut name sera supprimé dans les versions futures du XHTML concernant les balises a, applet, form, frame, iframe, img et map.
Correct :
|
4. Ma première page XHTML
Pour un encodage en UTF-8 :
|
L01 : Déclaration du type d'encodage du document.
L02-03 : Déclaration de la norme utilisée.
L04 : Définit l'environnement linguistique utilisé dans le document.
L06 : Titre de la page.
L07 : Autre déclaration du type d'encodage.
5. Les balises
5.1. Définitions
5.1.1. Les éléments bloc et les éléments en-ligne
Les éléments en-ligne sont utilisés pour donner une sémantique spécifique à quelques mots d'une phrase. Un élément en-ligne ne peut pas contenir un élément en bloc.
5.1.2. Les attributs
Exemple l'attribut name, id, ...
Exemple où name et type sont des attributs |
|
5.1.3. Un élément
En rouge : la balise
En vert : l'attribut
En noir : la donnée
Exemple d'élément :
<a href="http://www.developpez.com" > Developpez.com </a>
5.2. Type : en-ligne
5.2.1. Balise <a> : liens
Insère un lien ou un point d'ancrage.
Exemple :
Un lien :
|
|
5.2.2. Balise <br /> : saut de ligne
Provoque un saut de ligne (balise souvent déconseillée).
Exemple :
|
5.2.3. Balise <cite> : citation
Insère une citation.
Exemple :
|
5.2.4. Balise <code>
Insère un bloc de code.
Exemple :
|
5.2.5. Balise <em> : mise en emphase
Met en emphase du texte.
Exemple :
|
5.2.6. Balise <img /> : images
Insère une image.
Exemple :
|
5.2.7. Balise <q> : citation
Insère une citation courte.
Exemple :
|
5.2.8. Balise <span>
Couplée à du CSS, la balise span met en forme du texte.
Exemple :
|
5.2.9. Balise <strong> : mise en emphase forte
Mise en emphase forte du texte.
Exemple :
|
5.3. Type : bloc
5.3.1. Balise <div> : division du document
Joue le rôle de "conteneur" en permettant de structurer la page en plusieurs blocs.
Exemple :
|
5.3.2. Balises <h1> à <h6> : entête de paragraphe
Définit un entête de paragraphe de niveau X (X pouvant aller de 1 à 6).
La balise <h1> ne doit être utilisée normalement qu'une seule fois.
Exemple :
|
5.3.3. Balise <hr /> : trait horizontal
Insère un trait horizontal.
Exemple :
|
5.3.4. Balise <p> : paragraphe
Définit un paragraphe.
Exemple :
|
5.3.5. Balise <pre>
Définit un bloc où le texte sera affiché tel qu'il figure dans le fichier source.
Exemple :
|
5.3.6. Balises <ul> et <ol> : liste
Définit une liste à puces.
La balise ul étant une liste à puces.
La balise ol étant une liste ordonnée.
Exemple :
|
5.4. Un exemple complet
Exemple de conception d'un site dynamique
|