Représentation de l'Information Numérique

Preview:

DESCRIPTION

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 -

Citation preview

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

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...

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.

1- Les 4 types d’informations multimédias

Exemple de codage d’un texte :

Exemple de codage d’un son :

Exemple de codage d’une image :

Exemple de codage d’une image animée :

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...)

• TRAITEMENT (amplification, filtrage, effets spéciaux...)

• TRANSPORT (réseaux informatiques : réseaux filaires ou sans fil...)

2- Représenter l’information multimédia... oui, mais pour quels usages en informatique ?

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.

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.

3- Analogique ou numérique ?

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).

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.

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.

4- Historique des chiffres et de la numération

Le système de numération additif grec (1000 av. J.C.) :

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.

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.

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.

4- Historique des chiffres et de la numération

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.

!

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

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

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).

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

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...

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

6- Les systèmes de numération.

• Exemple 1 : ( 17 )16 = ( ? )10

• Exemple 2 : ( 27 )16 = ( ? )10

• Exemple 3 : ( 1A )16 = ( ? )10

6- Les systèmes de numération.

• Exemple 1 : ( 17 )16 = ( 1.161 + 7.160 )10 = ( 16 + 7 ) = ( 23 )10

• Exemple 2 : ( 27 )16 = ( 2.161 + 7.160 )10 = ( 32 + 7 ) = ( 39 )10

• Exemple 3 : ( 1A )16 = ( 1.161 + 10.160 )10 = ( 16 + 10 ) = ( 26 )10

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 combinaisonsde bits sont inutilisées.

6- Les systèmes de numération.

•Exemple : codage du nombre ( 1048 )10 :

•En binaire ou base 2 : 1048 = 1024 + 16 + 81.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) 2soit 11 bits nécessaires.

•En BCD : ( 1048 )10 = ( 0001 0000 0100 1000) BCD

soit 16 bits nécessaires !

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.

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 !

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.

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.

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).

7- Le codage du texte• 7-2 Bref historique du codage des textes

• C’est alors le début des téléscripteurs :

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 ? ...

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...

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 !

7- Le codage du texte

Bref... une multitude de langues, de symboles et donc de caractères à coder !

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 !

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.

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.

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”.

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é

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.

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 &eacute 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.

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.

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-82 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 code1 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" />

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.4Même adresse en binaire : 11001011.00000000.01110001.00000100

• Le problème est que l’on manque d’@IP => IPv6

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

8- Applications web et réseaux.

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

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

Annexe : division euclidienne

Recommended