* R109 : Séance de TP 1 * ** HTML vs XHTML ** HTML est langage de balises issu du langage SGML. XHTML est une refonte de HTML à partir du langage XML, plus strict que SGML. Comme XHTML et HTML n'ont pas les mêmes langages parents, des différences existent : o en XHTML les noms des balises et les noms des attributs doivent obligatoirement êtres écrits en minuscules o les valeurs des attributs doivent obligatoirement être écrits entre guillemets o toute balise ouverte doit être fermée, en particulier, les balises vides du HTML deviennent des balises autofermantes par ajout d'une barre oblique avant le chevron fermant de la balise, par exemple
devient
o tous les éléments doivent être explicitement balisés, en particulier, l'en-tête et le corps d'un document doivent être explicitement balisés par … et … o tous les attributs doivent avoir une valeur explicite (pas d'attributs condensés) ** Codage UTF-8 ** *** Jeu universel de caractères codés *** La norme ISO/CEI-10646 définit une table de caractères appelée « jeu universel de caractères codés » (JUC), ou « universal character set » (UCS) en anglais. Cette table contient environ 110000 caractères issus du monde entier. Chaque caractère du JUC est identifié par un point de code noté U+x, où x est un entier hexadécimal positif comportant de 4 à 6 chiffres : o 4 chiffres pour le plan multilingue de base (PMB), de U+0000 à U+FFFF o 5 chiffres pour les 15 plans suivants, de U+10000 à U+FFFFF o 6 chiffres pour le dernier plan , de U+100000 à U+10FFFF Chaque caractère du JUC possède également un nom, par exemple, la lettre A majuscule de notre alphabet latin s'appelle « LATIN CAPITAL LETTER A » et a pour point de code U+0041. *** Unicode *** Le standard Unicode est lié à la norme ISO/CEI-10646 car il reprend le JUC et y ajoute des règles de gestion : collation, codage, sérialisation… Unicode accepte plusieurs méthodes de codage pour représenter un point de code valide : UTF-8, UTF-16 et UTF-32. Le nombre derrière le sigle UTF est le nombre de bits minimal d'une unité de code, appelée « codet ». *** UTF-8 *** Le codage le plus utilisé est UTF-8, qui est un codage de longueur variable dont les codets sont des unités de 8 bits. En UTF-8 un point de code U+n se code sur un, deux, trois ou quatre octets en fonction du nombre de bits nécessaires pour coder n. Si n appartient au code ASCII (7 bits), alors n est compris entre 00 et 7F et se code sur un seul octet avec 0 comme bit de poids fort. UTF-8 est donc entièrement compatible avec le code ASCII. Dans les autres cas, les bits de poids fort du premier octet commencent par une suite de 1 suivie d'un 0. Le nombre de 1 indique le nombre total d'octets dans le codage de U+n. Les deux bits de poids fort de tous les octets qui suivent portent toujours la marque 10. Un point de code codé en UTF-8 aura donc l'une des quatre formes suivantes : 1. 0xxxxxxx : jusqu'à 7 bits 2. 110xxxxx 10xxxxxx : entre 8 et 11 bits 3. 1110xxxx 10xxxxxx 10xxxxxx : entre 12 et 16 bits 4. 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx : entre 17 et 21 bits Quand plusieurs formes sont possibles, seule la plus courte est considérée comme valide. Les bits x correspondent simplement au codage de n en binaire cadré à droite et éventuellement complété par des 0 à gauche. ** Autres codages ** *** ISO-8859-1 *** [image url=https://homepages.loria.fr/DMery/cours/r109/img/ça c'est l'image pour iso-8859-1.png] [alt=Table des codes ISO-8859-1] page de codes cp859 *** Windows-1252 *** [image url=https://homepages.loria.fr/DMery/cours/r109/img/codage.windows">cp1252.png] [alt=Table des codes Windows 1252] page de codes cp1252 =============================================================================== .--. .-'''-. .--. /."".v'.-. .-.`v.""\\ || / / O| | O\ \ || \\_/| \__| |__/ \_// `-'\ .-n-n-. /`-' _.-\/ \/-._ .' (\`.___.'/) `. / \`.___.'/ `. / `.___.' \ | | \ \ | | . . |\ \ | | | \ \ \ \ | \ \ \ \ |.' `. \ `. \ .' `. \ _.._ `. `-. ___ / /`. `. .' `-._ `. `.__) .' / `. | `-.\ \/ .' / /\ )|\. \ _/ / /|/ .' (_/ / / | \) `._ (__/_/-/ ..' (_/| |\_) ``--._____.-( `. `-' `--. `. (_/\ \\\ /_///