Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| projets:ecole:web:initiation_xhtml [Le 16/12/2006, 12:38] – _Enchained | projets:ecole:web:initiation_xhtml [Le 23/02/2021, 08:06] (Version actuelle) – tag n'étant pas utilisé ailleurs supprimé Amiralgaby | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== Initiation au XHTML ====== | + | {{tag> |
| - | >page en cours d' | + | ---- |
| + | |||
| + | ====== Initiation au XHTML ====== | ||
| Cette page résulte de la session de cours qui s'est déroulé le 14.12.06 sur le chan # | Cette page résulte de la session de cours qui s'est déroulé le 14.12.06 sur le chan # | ||
| Ce cours a été mené par [[utilisateurs: | Ce cours a été mené par [[utilisateurs: | ||
| + | |||
| ===== Présentation ===== | ===== Présentation ===== | ||
| - | Le XHTML est un langage de balisage servant à créer des pages web. Il est la dernière norme proposée par le [[http:// | + | Le XHTML est un langage de balisage servant à créer des pages web. Il est la dernière norme proposée par le [[http://www.w3.org|w3c]]. |
| La version 1.0 que l'on va utiliser ici est en fait une simple reformulation du langage HTML avec une syntaxe XML. | La version 1.0 que l'on va utiliser ici est en fait une simple reformulation du langage HTML avec une syntaxe XML. | ||
| De ce fait, il sert de langage de transition entre le HTML et le XML. Il offre donc la possibilité de créer une page qui sera lue à la fois par un ancien navigateur ne comprenant que le HTML et les nouveaux navigateurs qui interprètent le XML. | De ce fait, il sert de langage de transition entre le HTML et le XML. Il offre donc la possibilité de créer une page qui sera lue à la fois par un ancien navigateur ne comprenant que le HTML et les nouveaux navigateurs qui interprètent le XML. | ||
| Ligne 29: | Ligne 32: | ||
| Certaines balises n'ont qu'un seul élément. On pourrait les qualifier de balises //simples// ou // | Certaines balises n'ont qu'un seul élément. On pourrait les qualifier de balises //simples// ou // | ||
| Elle ressemble alors a une balise ouvrante fermée à la fin. exemple : ''< | Elle ressemble alors a une balise ouvrante fermée à la fin. exemple : ''< | ||
| + | |||
| ==== Attributs ==== | ==== Attributs ==== | ||
| - | Les balises peuvent prendre des atributs.\\ | + | Les balises peuvent prendre des attributs.\\ |
| Ces attributs auront une valeur associée.\\ | Ces attributs auront une valeur associée.\\ | ||
| La syntaxe est : | La syntaxe est : | ||
| Ligne 40: | Ligne 44: | ||
| La différence entre HTML et XHTML porte principalement sur les règles de syntaxe de ces deux langages. | La différence entre HTML et XHTML porte principalement sur les règles de syntaxe de ces deux langages. | ||
| + | |||
| + | |||
| ==== En HTML ==== | ==== En HTML ==== | ||
| - | * Des éléments comme //html//, //head// ou //body// sont optionnels. | + | * Des éléments comme '' |
| - | * Certaines balises fermantes sont optionnelles, | + | * Certaines balises fermantes sont optionnelles, |
| * Les noms de balises et de leurs attributs peuvent mélanger majuscules et minuscules. | * Les noms de balises et de leurs attributs peuvent mélanger majuscules et minuscules. | ||
| * Les guillemets ne sont pas toujours obligatoires autour des valeurs d' | * Les guillemets ne sont pas toujours obligatoires autour des valeurs d' | ||
| - | * Les éléments vides n'ont pas de balise fermante <img src=" | + | * Les éléments vides n'ont pas de balise fermante |
| Vous l' | Vous l' | ||
| XHTML lui est beacoup plus strict et donc apporte une rigueur de syntaxe qui est un " | XHTML lui est beacoup plus strict et donc apporte une rigueur de syntaxe qui est un " | ||
| + | |||
| ==== En XHTML ==== | ==== En XHTML ==== | ||
| - | * Tous les éléments doivent être explicitement balisés (et donc html, head, body,...) | + | * Tous les éléments doivent être explicitement balisés (et donc '' |
| * Toutes les balises doivent être fermées. | * Toutes les balises doivent être fermées. | ||
| - | * Les éléments vides aussi : <img src=" | + | * Les éléments vides aussi : '' |
| * Les noms de balises et d' | * Les noms de balises et d' | ||
| * Tous les attributs doivent avoir une valeur explicite. | * Tous les attributs doivent avoir une valeur explicite. | ||
| Ligne 97: | Ligne 104: | ||
| ===== Structure d'une page ===== | ===== Structure d'une page ===== | ||
| + | |||
| ==== Choix de l' | ==== Choix de l' | ||
| Ligne 110: | Ligne 118: | ||
| L' | L' | ||
| - | Une fois l' | + | Une fois l' |
| + | De plus, il faudra aussi que le serveur qui délivrera vos pages aux visiteurs supporte l' | ||
| ==== Déclaration XML ==== | ==== Déclaration XML ==== | ||
| Ligne 117: | Ligne 126: | ||
| <?xml version=" | <?xml version=" | ||
| </ | </ | ||
| + | |||
| Ligne 150: | Ligne 160: | ||
| </ | </ | ||
| - | La DTD // | + | La DTD // |
| - | La DTD // | + | |
| + | La DTD // | ||
| La DTD //Strict//, elle, vise à réaliser un site web en séparant contenu (structure) et sa mise en page. C'est la façon la plus rigoureuse de faire un site web et donc celle qu'on choisira. L' | La DTD //Strict//, elle, vise à réaliser un site web en séparant contenu (structure) et sa mise en page. C'est la façon la plus rigoureuse de faire un site web et donc celle qu'on choisira. L' | ||
| + | |||
| + | |||
| ==== Éléments de base d'une page ==== | ==== Éléments de base d'une page ==== | ||
| Ligne 158: | Ligne 172: | ||
| === Racine === | === Racine === | ||
| La racine d'un document est la balise '' | La racine d'un document est la balise '' | ||
| - | On inclue dans la balise ''< | + | On inclue dans la balise ''< |
| < | < | ||
| Ligne 165: | Ligne 179: | ||
| === head === | === head === | ||
| - | Sous l' | + | Sous l' |
| < | < | ||
| < | < | ||
| < | < | ||
| - | <meta http-equiv=" | + | <meta http-equiv=" |
| </ | </ | ||
| </ | </ | ||
| === body === | === body === | ||
| - | C'est dans l' | + | |
| + | L' | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ===== Modèle de page ===== | ||
| + | |||
| + | Voici donc un modèle de page XHTML dans lequel il ne reste plus qu'à insérer le contenu : | ||
| + | < | ||
| + | < | ||
| + | <html xmlns=" | ||
| + | < | ||
| + | < | ||
| + | <meta http-equiv=" | ||
| + | </ | ||
| + | < | ||
| + | |||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ===== Les balises ===== | ||
| + | |||
| + | |||
| + | ==== Types de balises ==== | ||
| + | Il existe deux types de balises. Le type aura un impact sur le comportement, | ||
| + | === block === | ||
| + | Les éléments de types " | ||
| + | |||
| + | Ils sont placés par défaut les uns en dessous des autres dans le navigateur et forment un bloc. Ils peuvent prendre des dimensions (largeur, hauteur, profondeur) et peuvent être positionnés (avec les CSS) pour sortir du flux du document. Ils peuvent contenir d' | ||
| + | === inline === | ||
| + | Les éléments " | ||
| + | |||
| + | Par défaut les éléments de type inline sont placés "dans le flux", c'est à dire à la suite du texte sans en perturber la disposition. Ils ont aussi des marges internes et externes nulles. | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ==== Principales balises ==== | ||
| + | === Balises Block === | ||
| + | == Titres == | ||
| + | On peut utiliser six niveaux hiérarchiques de titres. | ||
| + | On utilise la balise ''< | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | Cette balise déroge à la règle des balises block puisqu' | ||
| + | == Paragraphe == | ||
| + | La balise ''< | ||
| + | Entre deux paragraphes, | ||
| + | < | ||
| + | <p>un paragraphe de texte...</ | ||
| + | <p>un autre paragraphe</ | ||
| + | </ | ||
| + | == Bloc de citation == | ||
| + | La balise ''< | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | == Div (conteneur) == | ||
| + | La balise ''< | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | ... | ||
| + | </ | ||
| + | </ | ||
| + | == Formulaires == | ||
| + | Les formulaires permettent au visiteur de communiquer avec votre page, ou vous même. Ils permettent au visiteur d' | ||
| + | |||
| + | La balise ''< | ||
| + | |||
| + | L' | ||
| + | Elle peut être l' | ||
| + | //Note : Si vous utilisez l' | ||
| + | |||
| + | L' | ||
| + | Si en envoie les données en GET, les données du formulaire sont transmises dans l'url. C'est à dire, si on envoie une donnée '' | ||
| + | Si on envoie les données en POST, on ne voit pas (sauf avec des outils spécifiques) les données envoyées. C'est donc déjà plus approprié pour envoyer un mot de passe par exemple... imaginez une url de la forme page.php? | ||
| + | |||
| + | **Exemple** | ||
| + | < | ||
| + | <form action=" | ||
| + | ... | ||
| + | </ | ||
| + | </ | ||
| + | < | ||
| + | <form action=" | ||
| + | ... | ||
| + | </ | ||
| + | </ | ||
| + | < | ||
| + | <form action=" | ||
| + | ... | ||
| + | </ | ||
| + | </ | ||
| + | == Tableaux == | ||
| + | La balise ''< | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | == Listes à puces (ordonnées/ | ||
| + | Il existe deux types de listes à puce : liste ordonnée et non ordonnée. | ||
| + | La liste ordonnée est délimitée par la balise ''< | ||
| + | Dans les deux cas, un élément | ||
| + | Un élément de liste peut contenir une autre liste à puce et donc créer ainsi des listes imbriquées. | ||
| + | |||
| + | **Liste non ordonnée (Liste à puces)** | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | **Liste ordonnée (Liste à numéros)** | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | **Listes imbriquées** | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | === Balises inline === | ||
| + | == Liens hypertextes == | ||
| + | La balise ''< | ||
| + | L' | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | **Cas des ancres** | ||
| + | |||
| + | Lorsque vous affectez un **id** à une balise (par exemple, ''< | ||
| + | < | ||
| + | ... | ||
| + | <ul id=" | ||
| + | ... | ||
| + | </ | ||
| + | ... | ||
| + | < | ||
| + | ... | ||
| + | </ | ||
| + | == Emphase simple == | ||
| + | Pour //mettre en valeur// du texte, | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | == Emphase forte == | ||
| + | Pour insister plus fortement sur du texte, on utilisera ''< | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | == Citation == | ||
| + | La balise ''< | ||
| + | < | ||
| + | <p> | ||
| + | <q>Le voyage est court. Essayons de le faire en première classe.</ | ||
| + | </ | ||
| + | </code> | ||
| + | == Image == | ||
| + | Pour insérer une image dans le document, on utilise la balise ''< | ||
| + | < | ||
| + | <img src=" | ||
| + | </ | ||
| + | == Span == | ||
| + | Tout comme la balise '' | ||
| + | Cette balise peut servir surtout pour appliquer ses propres classes en CSS. | ||
| + | < | ||
| + | <p>Du texte et <span class=" | ||
| + | </ | ||
| + | Ici on pourrait donc avoir une classe " | ||
| + | === Éléments de formulaires === | ||
| + | Tous ces éléments se placent à l' | ||
| + | == Champ texte == | ||
| + | < | ||
| + | L' | ||
| + | == Champ de mot de passe == | ||
| + | < | ||
| + | Le champ pour mot de passe est le même que celui de type texte, mais avec l' | ||
| + | == Champ caché == | ||
| + | < | ||
| + | Les champs cachés permettent d' | ||
| + | == Boutons radio == | ||
| + | < | ||
| + | <input type=" | ||
| + | <input type=" | ||
| + | <input type=" | ||
| + | </ | ||
| + | Ce sont les boutons ronds que l'on peut cocher. Cocher un bouton décoche automatiquement les autres boutons du même " | ||
| + | Le texte mis à coté du bouton et la valeur envoyée ne sont pas forcément les même. Le texte affiché est utile pour le visiteur et la valeur vous est utile pour le traitement du formulaire.\\ | ||
| + | L' | ||
| + | |||
| + | Ils servent à donner une réponse unique parmi plusieurs choix (utile pour faire des quizz par exemple...) | ||
| + | == Cases à cocher == | ||
| + | < | ||
| + | <p>De quel moyen de transport avez-vous peur ?</ | ||
| + | <input type=" | ||
| + | <input type=" | ||
| + | <input type=" | ||
| + | <input type=" | ||
| + | </ | ||
| + | Elles ressemblent aux boutons radios dans la syntaxe, mais ici, plusieurs cases peuvent être cochées simultanément. Tout comme les boutons radios, on peut ajouter '' | ||
| + | == Liste déroulante == | ||
| + | < | ||
| + | <select name=" | ||
| + | < | ||
| + | <option value=" | ||
| + | <option value=" | ||
| + | </ | ||
| + | < | ||
| + | <option value=" | ||
| + | <option value=" | ||
| + | <option value=" | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | Ceci créera une liste déroulante avec cinq entrées réparties en deux catégories.\\ | ||
| + | L' | ||
| + | //Note : Les optgroup sont complètement optionnels est servent à séparer les entrées de la liste en plusieurs sous-groupes. Par exemple pour une liste des départements français séparés en régions...// | ||
| + | |||
| + | == Bouton == | ||
| + | < | ||
| + | Ceci crée un simple bouton avec le texte " | ||
| + | |||
| + | == Bouton d' | ||
| + | < | ||
| + | Bouton servant à remettre à zéro le formulaire avec ici, le texte "tout effacer" | ||
| + | |||
| + | == Bouton d' | ||
| + | < | ||
| + | Lorsque l'on clique sur ce bouton, le contenu du formulaire est envoyé en fonction des paramètres '' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | // | ||
