Comprendre la représentation de l'information numérique (texte, image, son, vidéo...) avec la numération binaire, octale, l'hexadécimale... Comprendre les enjeux (charset,unicode, utf-8, adresses IP...), loi de Moore... - Semestre 1 DUT MMI Bordeaux -
1. REPRESENTATION DE L’INFORMATION
UE12 - Module M1201 - “Culture scientifique et traitement de l’information”
DUT MMI Bordeaux - Semestre 1
Département MMI { Métiers du Multimédia et de l’Internet }
IUT Michel de Montaigne - Université Bordeaux 3
www.iut.u-bordeaux3.fr & www.mmibordeaux.com
Philippe METAYER
philippe.metayer@iut.u-bordeaux3.fr
2. OBJECTIFS du cours
”REPRESENTATION DE L’INFORMATION”
• Fournir les bases mathématiques pour l’informatique.
• Connaître le vocabulaire de la théorie des ensembles.
• Découvrir l’arithmétique dans toutes les bases (notamment bases 2, 8, 10, 16).
• Maitriser les changements de base.
• Connaître la manière dont sont codés les caractères dans les appareils
informatiques grâce aux tables ASCII, UNICODE, UTF-8...
3. PLAN du cours
”REPRESENTATION DE L’INFORMATION”
1. Les 4 types d’informations multimédias.
2. Quels usages en informatique ?
3. Analogique ou numérique ?
4. Historique des chiffres et de la numération.
5. Historique de la numération binaire.
6. Les systèmes de numération.
7. Le codage du texte.
8. Applications web et réseaux.
9. 2- Représenter l’information multimédia... oui, mais
pour quels usages en informatique ?
• L’information est la matière première de l’informatique : les algorithmes, les
machines, les langages sont nés de notre désir de transformer, transmettre et
stocker des informations...
• ACQUISITION (capture, échantillonnage, quantification...)
• STOCKAGE (sur supports optique, magnétique...)
10. 2- Représenter l’information multimédia... oui, mais
pour quels usages en informatique ?
• TRAITEMENT (amplification, filtrage, effets spéciaux...)
• TRANSPORT (réseaux informatiques : réseaux filaires ou sans fil...)
11. 3- Analogique ou numérique ?
• Les phénomènes qui nous entourent sont quasiment tous continus, c'est-à-dire
que lorsque ces phénomènes sont quantifiables, ils passent d'une valeur
à une autre sans discontinuité. (mesure de la température ambiante, de la
distance, de la vitesse...).
• Ainsi, lorsque l'on désire reproduire les valeurs du phénomène, on l'enregistre
sur un support physique, afin de pouvoir l'interpréter pour reproduire le
phénomène original de la façon la plus exacte possible.
• Lorsque le support physique peut prendre des valeurs continues (un nombre
infini de valeurs), on parle d'enregistrement analogique. Par exemple une
cassette vidéo, une cassette audio ou un disque vinyle sont des supports
analogiques.
• Par contre, lorsque le signal ne peut prendre que des valeurs bien définies (un
nombre fini de valeurs), on parle alors de signal numérique.
12. 3- Analogique ou numérique ?
La représentation d'un signal analogique est donc une courbe, tandis qu'un
signal numérique pourra être visualisé par un histogramme.
• Analogique = nombre infini de valeurs /// Numérique = nombre fini de valeurs.
13. Format des fichiers numériques
• Le FORMAT NUMERIQUE est le format utilisé en informatique, que ce soit
pour le stockage, les traitements mais aussi la transmission de données.
(exemple avec les fichiers audio).
• Dans LA REPRESENTATION NUMERIQUE DE L’INFORMATION, il y a souvent
un en-tête (header) qui décrit le type d’informations suivis par les données
(data).
• Dans certains cas rares, on utilise les DONEES BRUTES (sans en-tête) dans
un fichier (fichier RAW) (exemple en photographie).
14. 4- Historique des chiffres et de la numération
Le système de numération additif de Sumer :
• Ce système est le plus ancien et date d’environ
3200 avant J.-C.
• Il utilise des symboles différents pour les unités
et les dizaines, et des symboles particuliers pour
représenter 60, 600, 3600, 36 000 et 216 000.
• C’est donc un système reposant sur la base 60,
et comportant deux formes, l’une dite archaïque,
et l’autre plus récente dite cunéiforme.
• Pour former des nombres, on dessine autant de
symboles que nécessaire.
15. 4- Historique des chiffres et de la numération
Le système de numération additif égyptien en hiéroglyphes (3000 av. J.C.) :
• Un grand nombre de civilisations ont adopté les systèmes de numération additifs
(Sumer, Egypte, Grèce, Mésopotamie, les Mayas, les Phéniciens) plus de 1000 ans
avant notre ère. Une telle numérotation additive devient cependant vite compliquée avec
de très grands nombres.
16. 4- Historique des chiffres et de la numération
Le système de numération additif grec (1000 av. J.C.) :
17. 4- Historique des chiffres et de la numération
• Le système de numération additif aztèque (1200 - 1520) :
• Un grand nombre de civilisations ont adopté ce schéma dans leur système (Sumer,
Egypte, Grèce, Mésopotamie, les Mayas, les Phéniciens).
• Une telle numérotation additive devient cependant vite compliquée avec de très grands
nombres.
18. 4- Historique des chiffres et de la numération
• Le système positionnel chinois (540 av. J.C.) :
Les chiffres 1 à 5 sont symbolisés par 1 à 5 bâtons, les chiffres 6 à 9 par 1 à 4
bâtons surlignés.
Les Chinois inventent un système ingénieux pour fixer le rang du chiffre. Les
bâtons sont verticaux pour représenter les unités, les centaines, les dizaines de
milliers, etc, et horizontaux pour représenter les dizaines, les milliers et les
centaines de milliers.
19. 4- Historique des chiffres et de la numération
• Le système positionnel chinois (540 av. J.C.) :
Ainsi, si deux groupes de symboles sont verticaux, c’est qu’il y a un espace
symbolisant un «zéro» entre les deux. Mais lorsque l’on doit, par exemple,
représenter 4000, l’ambiguïté subsiste.
Des damiers fixant les positions des chiffres permirent de laisser un espace
vide pour symboliser le «zéro», là encore non opératoire. Celui-ci fut remplacé
par un petit rond vers 800 après J.-C., mais on sait que ce «zéro opératoire» fut
probablement introduit après divers contacts antérieurs avec l’Inde.
20. 5- Historique de la numération binaire
• Fu HSI, considéré comme le premier roi chinois aurait vécu il y a plus de 5000
ans. Il est à l’origine du Yi King (le Livre des Mutations) procédant d’une
lecture du monde en trait plein et trait brisé, les trigrammes, des 0 et 1 en
quelque sorte !
• Le roi WEN (1150-750 av. J.C), aurait proposé une disposition inversée des
trigrammes : les hexagrammes.
!
21. 6- Les systèmes de numération.
6-1 Numération décimale ou BASE 10 :
• Ce système de numération usuel dans la vie quotidienne dispose de 10
symboles : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
• On travaille alors en BASE 10.
• Exemple : 7239 = 7.103 + 2.102 + 3. 101 + 9.100
• Notation : 7239 en base 10 se note (7239)10
22. 6- Les systèmes de numération.
6-2 Numération binaire ou BASE 2 :
• Ce système de numération usuel en électronique et informatique dispose de
2 symboles : 0, 1.
• On travaille alors en BASE 2.
• Exemple 1 : ( 1011 )2 = ( 1.23 + 0.22 + 1. 21 + 1.20 )10 = ( 8 + 0 + 2 + 1 ) = ( 11 )10
• Puissances de 2 : 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096...
• Exemple 2 : ( 4 )10 = ( ? )2 Exemple 3 : ( 9 )10 = ( ? )2 Exemple 4 : ( 14 )10 = ( ? )2
23. 6- Les systèmes de numération.
• Exemple 2 : ( 4 )10 = ( 0.23 + 1.22 + 0. 21 + 0.20 )10 = ( 0100 )2
• Exemple 3 : ( 9 )10 = ( 1.23 + 0.22 + 0. 21 + 1.20 )10 = ( 1001 )2
• Exemple 4 : ( 14 )10 = ( 1.23 + 1.22 + 1. 21 + 0.20 )10 = ( 1110 )2
• Exemple 5 : ( 43 )10 = ( 1.25 + 0.24 + 1.23 + 0.22 + 1. 21 + 1.20 )10 = ( 101011 )2
• Un état binaire (0 ou 1) est appelé BIT (abréviation de BInary digiT)
• Les puissances successives (1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024,
2048...) sont appelées poids binaire.
• Le bit de poids le plus fort est appelé MSB (Most Significant Bit).
• Le bit de poids le plus faible est appelé LSB (Least Significant Bit).
24. 6- Les systèmes de numération.
6-3 Numération octale ou BASE 8 :
• Ce système de numération est usuel en électronique et informatique dispose
de 8 symboles : 0, 1, 2, 3, 4, 5, 6, 7.
• On travaille alors en BASE 8. 8 bits = 1 octet !
• Exemple 1 : ( 17 )8 = ( ? )10
• Exemple 2 : ( 27 )8 = ( ? )10
• Exemple 3 : ( 29 )8 = ( ? )10
25. 6- Les systèmes de numération.
• Exemple 1 : ( 17 )8 = ( 1. 81 + 7.80 )10 = ( 8 + 7 ) = ( 15 )10
• Exemple 2 : ( 27 )8 = ( 2. 81 + 7.80 )10 = ( 16 + 7 ) = ( 23 )10
• Exemple 3 : ( 29 )8 = impossible à convertir en base 10 car le symbole 9
n’existe pas en base 8...
26. 6- Les systèmes de numération.
6-4 Numération hexadécimale ou BASE 16
• Ce système de numération est usuel en électronique et informatique dispose
de 16 symboles (10 chiffres+6 lettres): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
• Ce codage est largement utilisé aujourd’hui car il permet de manipuler les
octets comme des blocs de chiffres hexadécimaux, ce qui évite des erreurs de
calcul.
• On travaille alors en BASE 16 => puissances de 16 : 1, 16, 256, 4096, 65536...
• (A)16 = (10)10 / (B)16 = (11)10 / (C)16 = (12)10 / (D)16 = (13)10 / (E)16 = (14)10 /
(F)16 = (15)10
27. 6- Les systèmes de numération.
• Exemple 1 : ( 17 )16 = ( ? )10
• Exemple 2 : ( 27 )16 = ( ? )10
• Exemple 3 : ( 1A )16 = ( ? )10
29. 6- Les systèmes de numération.
6-5 Le codage DCB ou BCD
• Le DCB “Décimal Codé Binaire” ou BCD “Binary Coded Decimal” est un code
de représentation des nombres dans les systèmes numériques.
• Dans ce code, chaque chiffre de la représentation décimale est codée sur un
groupe de 4 bits.
• avantage : affichage décimal
grandement facilité.
• inconvénient : des combinaisons
de bits sont inutilisées.
30. 6- Les systèmes de numération.
• Exemple : codage du nombre ( 1048 )10 :
• En binaire ou base 2 :
1048 = 1024 + 16 + 8
1.210 + 0. 29 + 0.28 + 0.27 + 0.26 + 0. 25 + 1.24 + 1.23 + 0.22 + 0. 21 + 0.20
soit ( 1048 )10 = ( 0100 0001 1000) 2
soit 11 bits nécessaires.
• En BCD :
( 1048 )10 = ( 0001 0000 0100 1000) BCD
soit 16 bits nécessaires !
31. 7- Le codage du texte
• 7-1 Le besoin de coder !
L’homme a toujours éprouvé naturellement le besoin de communiquer avec
ses semblables. Pour cela, il se sert le plus souvent de la parole pour
transmettre ses idées en utilisant un vocabulaire commun.
32. 7- Le codage du texte
• 7-2 Bref historique du codage des textes
• Francis BACON (1561-1626) a inventé un code consistant à représenter une
lettre par un ensemble de 5 symboles afin de dissimuler un message secret.
• Il partait d’une phrase comme “Ne partez surtout pas sans moi”
• Lettre en italique = B sinon A puis décodage par le tableau d’alphabet.
FUYEZ !
33. 7- Le codage du texte
• 7-2 Bref historique du codage des textes
• Claude CHAPPE (1763-1805) met au point un système de transmission
rapide des informations qui s’avéra très utile pour transmettre et recevoir des
informations pendant la Révolution.
• Ce système fut baptisé “tachygraphe” (écriture rapide) puis
“télégraphe” (écriture à distance). 96 signaux formaient un alphabet pour
coder les messages par ce système optique.
34. 7- Le codage du texte
• 7-2 Bref historique du codage des textes
• Les avancées dans le domaine de l’électricité et de l’électromagnétisme ont
permis à Samuel MORSE (1791-1872) de mettre au point le télégraphe
électrique.
• Le code Morse est un code binaire mais le nombre de bits varie selon le
caractère à coder.
35. 7- Le codage du texte
• 7-2 Bref historique du codage des textes
• Emile BAUDOT (1845-1903) cherche un moyen d’augmenter le débit des
communications et met au point un système qui, côté émetteur, multiplexe les
signaux binaires avec un clavier 5 touches et qui, côté récepteur, imprime le
message reçu (1 = trou et 0 = blanc).
36. 7- Le codage du texte
• 7-2 Bref historique du codage des textes
• C’est alors le début des téléscripteurs :
37. 7- Le codage du texte
• 7-2 Bref historique du codage des textes
• Bob BEMER responsable des standards de programmation chez IBM propose
un code qui serait commun à l’ensemble des ordinateurs afin de faciliter la
transmission des informations : le code ASCII.
• La 1ère version du code ASCII code chaque caractère sur 7 bits. On peut
donc coder combien de caractères ? ...
38. 7- Le codage du texte
• 7 bits par caractère donc :
27 possibilités soit 128
caractères possibles.
Un 8e bit a été utilisé par la
suite pour coder chaque
caractère sur un octet, ce qui
a permis d’afficher 256
caractères différents.
Mais ce n’est pas suffisant...
39. 7- Le codage du texte
• 7-2 Bref historique du codage des textes
• La table ASCII a été mise au point aux Etats-Unis et permettait de coder des
caractères de langue anglaise et des symboles spécifiques à ce pays.
• Lorsque les applications sont utilisées dans d’autres pays, certains caractères
doivent être ajoutés comme par exemple les caractères accentués.
• Et ne parlons pas des alphabets russes, arabes, grecs, chinois... mais aussi
des caractères spéciaux utilisés dans le domaine scientifique !
40. 7- Le codage du texte
Bref... une multitude de langues, de symboles et donc de caractères à coder !
41. 7- Le codage du texte
• 7-3 La norme UNICODE et ISO/IEC 10646
• L’ISO (International Standard Organisation) et l’IEC (International
Electrotechnical Commission) mettent en place en 1984 des comités pour
élaborer des normes pour “établir un répertoire de caractères graphiques des
langues écrites du monde et son codage”. C’est la naissance de la norme
ISO/IEC 10646.
• Ce groupe de travail recense tous les caractères, symboles, glyphes, lettres,
idéogrammes, logogrammes du monde pour constituer l’UCS ou Universal
Character Set. Aujourd’hui, on en est à plus de 1 million de caractères
recencés !
42. 7- Le codage du texte
• 7-3 La norme UNICODE et ISO/IEC 10646
• Le gros défi à surmonter est qu’un même symbole peut être vu de différentes
manières d’une culture à l’autre, d’une langue à l’autre...
• Pour contourner ce problème, il a fallu inventer des caractères abstraits qui
sont considérés comme des symboles de base.
43. 7- Le codage du texte
• 7-3 La norme UNICODE et ISO/IEC 10646
• En 1988, plusieurs industriels mondiaux se réunissent pour créer le
consortium UNICODE.
• En 1992, le consortium UNICODE et le comité ISO/IEC 10646 font converger
leurs répertoires de caractères et de codes afin de n’avoir qu’une seule norme
au niveau mondial.
44. 7- Le codage du texte
• 7-4 PMB ou Plan Multilingue de Base.
• L’UCS (Universal Character Set) comprend plus de 1 million de caractères
mais actuellement seuls, les 65536 premiers sont utilisés. Ils constituent le
plan multilingue de base ou PMB.
• Une certaine compatibilité ascendante est assurée entre ce PMB et les tables
historiques :
- les 128 premiers caractères correspondent à la table ASCII 7 bits.
- les 128 caractères suivants correspondent aux caractères de la table
ISO8859-1 ou “latin-1”.
45. 7- Le codage du texte
• 7-5 UTF ou UCS Transformation Format
• Rappel : UCS = Universal Character Set (Plus d’1 million de caractères
recencés!)
• L’UTF est tout simplement un mécanisme de traduction des codes UCS en
des nombres codés sur 8 bits (UTF-8), sur 16 bits (UTF-16) ou 32 bits
(UTF-32).
• Ce système a été mis au point afin de faciliter la prise en charge l’évolution de
l’UCS par les systèmes de façon transparente (pas besoin de modifier les
interfaces de programmation ou API) => interopérabilité
• Ce système permet aussi de transférer des caractères UCS sur le réseau
utilisant du « vieux » matériels (nous transformons les caractères UCS en une
suite d’octets grâce à l’UTF-8) => interopérabilité
46. 8- Applications web et réseaux.
8-1 Ecriture et conception de pages web.
• La notion du jeu de caractères utilisé est une notion essentielle dans le
développement de pages web. Cette notion est pourtant parsemée
d’embûches, surtout en terme d’interopérabilité. N’avez-vous jamais reçu de
mails avec des caractères cabalistiques ?
• Le jeu de caractères désigne la façon dont les caractères d’un alphabet
donné sont convertis en octet dans un fichier informatique.
• Certaines méthodes d’encodage sont spécifiques à un environnement
informatique dans une langue et un alphabet donné, d’autres sont
multiplateformes et multilingues : ASCII, windows-1252, ISO-8859-1, UTF8.
47. 8- Applications web et réseaux.
• ASCII : Jeu de caractères basiques. Interopérabilité maximale mais il faudra
accentuer les caractères spéciaux et accentués par des entités du genre
é pour le é ou &euro pour le symbole euro.
• windows-1252 : jeu de caractères utilisés pour windows et de nombreuses
applications microsoft. C’est la porte ouverte à des problèmes de
compatibilité sur d’autres systèmes.
• L’ISO-8859-1 : c’est l’encodage par défaut sur de nombreux protocoles
réseau, ce qui est le gage d’une excellente interopérabilité.
• UTF-8 : application de l’Unicode qui est présentée comme la solution de
l’avenir. Son adoption à l’heure actuelle est freinée par la prise en charge
problématique dans certains langages de programmation comme le PHP.
48. 8- Applications web et réseaux.
8-2 Encodage (charset) d’une page web et html5.
• Les navigateurs possèdent une fonction de détection automatique du jeu de
caractères. Mais l’encodage retenu provoque parfois des erreurs
d’interprétation.
• Lire excellent article sur le site http://www.alsacreations.com/ “Charset
iso-8859-1, iso-8859-15, utf-8, lequel choisir ?”
• Il est indispensable d’adopter de bonnes pratiques en définissant l’encodage du
document pour la conception de pages web (déclaration du charset).
• La spécification html5 du W3C recommande l’usage de l’UTF-8. Rien n’empêche
cependant d’utiliser le format ISO-8859-1 plus fréquemment utilisé en Europe
occidentale.
49. 8- Applications web et réseaux.
8-2 Encodage (charset) d’une page web.
Comment déclarer le charset ?
1. Avec l'en-tête HTTP Content-type :
1 Via un fichier .htaccess : AddDefaultCharset UTF-8
2 En PHP : header('Content-Type: text/html;charset=UTF-8');
2. En XML et XHTML, avec le prologue : <?xml version="1.0" encoding="UTF-8"?>
5. Grâce à la balise meta dans le code
1 En HTML5 : <meta charset="UTF-8">
2 En HTML4 : <meta http-equiv="Content-Type" content="text/html;
charset=utf-8">
3 En XHTML 1.1 : <meta http-equiv="Content-Type" content="text/html;
charset=utf-8" />
50. 8- Applications web et réseaux.
8-3 Application aux réseaux informatiques.
• Les adresses IP version IPv4 utilisent 32 bits
soit 4 octets.
• C’est donc une suite de 4 octets formant 4
blocs de trois nombres entre 0 et 255.
• Exemples en base 10 : 203.0.113.4
Même adresse en binaire :
11001011.00000000.01110001.00000100
• Le problème est que l’on manque d’@IP => IPv6
51. 8- Applications web et réseaux.
8-3 Application au réseaux informatiques.
• Les adresses IP version IPv6 utilisent 128 bits soit 16 octets.
• C’est donc une suite de 16 octets formant 8 blocs de 4 nombres
hexadécimaux (nombre de 0 à F).
Exemples : 2043:0db8:0000:0004:0240:48ff:feb1:2d65
52. Sources :
• “Du zéro à l’ordinateur - une brève histoire de calcul” Christian Piquet & Heinz
Hügli
• “HTML5 - Les bases du langage” Luc VAN LANCKER
• “Introduction à l’Unicode et à l’ISO 10646” Patrick Andries - Lavoisier
• www.supinfo.com/opencampus
• http://www.alsacreations.com/
• http://x.heurtebise.free.fr
53. Annexe : division euclidienne
Conversion base 10 -> base N
• Appliquer la méthode de la division euclidienne pour toute conversion d’une
base 10 vers n’importe quelle base :
(1632)10 = ( ? )5
(1632)10 = (23012)5