L'information numérique est au cœur de notre société moderne. Elle repose sur des concepts fondamentaux qui permettent la représentation, le traitement, le stockage et la transmission de données sous forme binaire. Ce support écrit résume les notions développées dans la présentation du cours.
L'information analogique se caractérise par :
- Une infinité continue de valeurs entre un minimum et un maximum
- Une représentation qui varie de façon continue, comme l'échelle du temps
- Des signaux qui peuvent prendre n'importe quelle valeur dans une plage donnée
- Une nature proche des phénomènes physiques du monde réel
- Des exemples concrets : la voix humaine, la température, la pression, etc.
L'information analogique est naturelle mais présente des inconvénients : imprécision, sensibilité aux perturbations, difficulté de stockage et de reproduction exacte.
L'information numérique est fondée sur le principe binaire :
- Elle ne peut prendre que deux états possibles : 0 ou 1
- Ces deux états sont parfaitement distincts et sans ambiguïté
- Elle est discrète par nature (valeurs distinctes et séparées)
- Elle permet de représenter toute information pouvant être discrétisée et codée sous forme de nombres ou de symboles
Avantages de l'information numérique :
- Précision et fiabilité
- Possibilité de copie et transmission sans perte
- Facilité de stockage et de traitement
- Résistance aux perturbations
Le bit (binary digit) est l'unité élémentaire d'information numérique :
- Il ne peut prendre que deux valeurs : 0 ou 1
- Il peut représenter différents concepts : vrai/faux, allumé/éteint, présence/absence, etc.
Avec n bits, on peut représenter 2^n combinaisons différentes :
- 1 bit : 2^1 = 2 combinaisons (0, 1)
- 2 bits : 2^2 = 4 combinaisons (00, 01, 10, 11)
- 3 bits : 2^3 = 8 combinaisons (000, 001, 010, 011, 100, 101, 110, 111)
Plus le nombre de bits est élevé, plus on peut représenter d'informations différentes. Par exemple, avec 8 bits, on peut représenter 256 niveaux différents (suffisant pour une image en niveaux de gris).
Le transistor est l'élément fondamental de l'informatique moderne :
- C'est un composant électronique qui fonctionne comme un interrupteur commandé électriquement
- Il peut être dans deux états : passant (1) ou bloquant (0)
- Les transistors sont assemblés pour créer des fonctions logiques
- La miniaturisation des transistors a permis l'évolution exponentielle des capacités informatiques
Les opérations logiques de base permettent de traiter l'information binaire :
La fonction NON (NOT) :
- Inverse la valeur d'entrée
- Si A = 0, alors NON(A) = 1
- Si A = 1, alors NON(A) = 0
La fonction OU (OR) :
- Donne 1 si au moins une des entrées est à 1
- Table de vérité :
- A=0, B=0 → A OU B = 0
- A=0, B=1 → A OU B = 1
- A=1, B=0 → A OU B = 1
- A=1, B=1 → A OU B = 1
La fonction ET (AND) :
- Donne 1 uniquement si toutes les entrées sont à 1
- Table de vérité :
- A=0, B=0 → A ET B = 0
- A=0, B=1 → A ET B = 0
- A=1, B=0 → A ET B = 0
- A=1, B=1 → A ET B = 1
La fonction XOR (OU exclusif) :
- Donne 1 si les entrées sont différentes, 0 si elles sont identiques
- Table de vérité :
- A=0, B=0 → A XOR B = 0
- A=0, B=1 → A XOR B = 1
- A=1, B=0 → A XOR B = 1
- A=1, B=1 → A XOR B = 0
Le XOR a une importance particulière en informatique :
- Il permet la détection de parité (nombre pair ou impair de bits à 1)
- Il est utilisé dans les circuits d'addition binaire (demi-additionneur et additionneur complet)
- Il sert au chiffrement symétrique simple (propriété : A XOR B XOR B = A)
- Il permet d'échanger deux valeurs sans variable temporaire (A = A XOR B; B = A XOR B; A = A XOR B)
- Il est employé dans les codes correcteurs d'erreurs et les sommes de contrôle (checksums)
Ces fonctions logiques sont à la base de tous les circuits électroniques de traitement de l'information. Examinons plus en détail cette affirmation fondamentale :
-
Implémentation physique : Ces fonctions logiques élémentaires sont réalisées concrètement par des assemblages de transistors :
- Une porte NON (inverseur) peut être réalisée avec un seul transistor et une résistance
- Une porte ET nécessite généralement 3-4 transistors selon la technologie
- Une porte OU utilise également 3-4 transistors
- Une porte XOR est plus complexe et nécessite 8-10 transistors
-
Circuits intégrés logiques : Ces fonctions sont regroupées dans des puces électroniques appelées "circuits intégrés logiques", classés en familles technologiques :
- TTL (Transistor-Transistor Logic) - série 74xx historique
- CMOS (Complementary Metal-Oxide-Semiconductor) - faible consommation
- ECL (Emitter-Coupled Logic) - très haute vitesse
- LSTTL, HC, HCT, etc. - variantes optimisées pour différents critères
-
Construction hiérarchique : Ces portes logiques de base sont assemblées pour créer des composants plus complexes selon une organisation hiérarchique :
- Premier niveau : Bascules, registres à décalage, multiplexeurs, décodeurs
- Deuxième niveau : Additionneurs, soustracteurs, comparateurs, compteurs
- Troisième niveau : Unités arithmétiques et logiques (UAL/ALU), registres spécialisés
- Quatrième niveau : Processeurs, mémoires, interfaces d'entrée/sortie
-
Applications concrètes :
- Mémoire : Une cellule mémoire SRAM utilise une boucle de rétroaction avec des portes NON
- Addition : Un additionneur complet combine des portes XOR, ET et OU
- Calcul : L'Unité Arithmétique et Logique (ALU) d'un processeur utilise toutes ces portes
- Contrôle : Les séquenceurs et machines à états utilisent des combinaisons de bascules construites à partir de ces portes
-
Des transistors aux systèmes modernes :
- Un microprocesseur moderne contient des milliards de transistors organisés en millions de portes logiques
- Toute la complexité des systèmes numériques actuels émerge de l'assemblage et de l'interconnexion de ces fonctions élémentaires
- Les algorithmes les plus sophistiqués sont ultimement exécutés par ces opérations binaires de base
Cette hiérarchie illustre comment l'algèbre de Boole, théorie mathématique abstraite développée au XIXe siècle, a permis la révolution numérique en devenant le fondement de tous les systèmes informatiques via ces fonctions logiques implémentées en électronique.
Le traitement de l'information numérique repose sur trois fonctions fondamentales :
- Calculer (computing) : traitement des données selon des algorithmes
- Stocker (storage) : conservation des données
- Communiquer (networking) : transmission des données entre systèmes
Ces trois piliers sont interdépendants et constituent le fondement des systèmes et réseaux informatiques.
- Blaise Pascal (1623-1662, France) : inventeur de la Pascaline, première machine à calculer mécanique
- Gottfried Wilhelm Leibniz (1646-1716, Allemagne) : conceptualisation du système binaire, travaux précurseurs sur les calculateurs
- Charles Babbage (1791-1871, GB) : conception de la machine analytique, ancêtre théorique de l'ordinateur
- Ada Lovelace (1815-1852, UK) : première programmeuse de l'histoire, travaux sur la machine de Babbage
- George Boole (1815-1864, UK) : création de l'algèbre booléenne, fondement des circuits logiques
- Claude Shannon (1916-2001, US) : père de la théorie de l'information, établissement du lien entre l'algèbre de Boole et l'électronique
- John von Neumann (1903-1957, HU/USA) : architecture fondamentale des ordinateurs modernes
- Alan Turing (1912-1954, UK) : fondateur de l'informatique théorique, concept de machine universelle
- Le transistor (1947) : John Bardeen, William Shockley et Walter Brattain (Laboratoires Bell)
- Le transistor MOSFET (1960) : Mohamed M. Atalla et Dawon Kahng, favorisant miniaturisation et faible consommation
- Le circuit intégré (1958) : Jack Kilby, intégration de plusieurs composants sur un même support
- Le microprocesseur (1969-1971) : Marcian Hoff et Federico Faggin (Intel), premier CPU sur une seule puce
La loi de Moore (1965) a longtemps décrit l'évolution de l'informatique :
- Le nombre de transistors sur une puce double tous les deux ans
- Cette progression exponentielle a permis l'évolution rapide des capacités informatiques
- La limite physique (atomique) tend aujourd'hui à ralentir cette progression
- 1969-1983 : De ARPANET à Internet, création des protocoles d'interconnexion
- 1971 : Premier email, première application d'Internet
- 1990 : Naissance du World Wide Web par Tim Berners-Lee et Robert Cailliau
- Concepts fondamentaux : HTML, HTTP, TCP/IP, URL, DNS, navigateurs, moteurs de recherche
- Autres technologies clés : Ethernet (1973), Wi-Fi (1999), réseaux mobiles (1992), smartphone (2007)
Le bit (binary digit) est l'unité élémentaire de l'information numérique :
- Il représente deux états opposés : 0/1, vrai/faux, allumé/éteint, etc.
- Il possède trois usages principaux : logique, symbolique et arithmétique
L'algèbre de Boole permet de manipuler des valeurs logiques (vrai/faux) :
- Les opérateurs logiques (NON, ET, OU) suivent des règles précises
- Ces opérations peuvent être implémentées électroniquement par des circuits
- L'algèbre booléenne possède des propriétés mathématiques (commutativité, distributivité, etc.)
- Elle est le fondement des langages de programmation et des circuits logiques
Le binaire permet de coder des symboles par association :
- Un mot de n bits permet 2^n combinaisons
- Chaque combinaison peut être associée à un symbole (lettre, chiffre, signe, etc.)
- Cette association constitue un encodage (comme l'ASCII, l'Unicode, etc.)
Le système binaire permet de représenter et manipuler des nombres :
- C'est un système de numération en base 2 (comme le décimal est en base 10)
- Il utilise uniquement les chiffres 0 et 1
- Les positions ont des poids qui sont des puissances de 2 (2^0, 2^1, 2^2, etc.)
- L'octet (8 bits) est l'unité de base pour le stockage et le traitement de l'information
Différentes bases sont utilisées en informatique :
- Base 2 (binaire) : utilise les chiffres 0 et 1
- Exemple : 1001 (binaire) = 1×2^3 + 0×2^2 + 0×2^1 + 1×2^0 = 9 (décimal)
- Base 10 (décimal) : système courant, utilise les chiffres 0 à 9
- Base 16 (hexadécimal) : utilise les chiffres 0 à 9 et les lettres A à F
- Exemple : 1A (hexadécimal) = 1×16^1 + 10×16^0 = 26 (décimal)
- Base 8 (octal) : utilise les chiffres 0 à 7
L'hexadécimal est particulièrement utile en informatique car un chiffre hexadécimal représente exactement 4 bits. Voici la table de correspondance :
Binaire (4 bits) |
Hexadécimal |
Décimal |
0000 |
0 |
0 |
0001 |
1 |
1 |
0010 |
2 |
2 |
0011 |
3 |
3 |
0100 |
4 |
4 |
0101 |
5 |
5 |
0110 |
6 |
6 |
0111 |
7 |
7 |
1000 |
8 |
8 |
1001 |
9 |
9 |
1010 |
A |
10 |
1011 |
B |
11 |
1100 |
C |
12 |
1101 |
D |
13 |
1110 |
E |
14 |
1111 |
F |
15 |
Cette correspondance permet de convertir facilement un nombre binaire en hexadécimal en groupant les bits par 4 et en remplaçant chaque groupe par son équivalent hexadécimal. Voici la table de correspondance :
Binaire (4 bits) |
Hexadécimal |
Décimal |
0000 |
0 |
0 |
0001 |
1 |
1 |
0010 |
2 |
2 |
0011 |
3 |
3 |
0100 |
4 |
4 |
0101 |
5 |
5 |
0110 |
6 |
6 |
0111 |
7 |
7 |
1000 |
8 |
8 |
1001 |
9 |
9 |
1010 |
A |
10 |
1011 |
B |
11 |
1100 |
C |
12 |
1101 |
D |
13 |
1110 |
E |
14 |
1111 |
F |
15 |
Cette correspondance permet de convertir facilement un nombre binaire en hexadécimal en groupant les bits par 4 et en remplaçant chaque groupe par son équivalent hexadécimal.
Les quantités d'information binaire sont mesurées en octets (bytes) :
- 1 octet (byte) = 8 bits
- 1 Ko (kilooctet) = 10^3 octets (système SI) ou 2^10 octets (système binaire, Kio pour kibioctet)
- 1 Mo (mégaoctet) = 10^6 octets (système SI) ou 2^20 octets (système binaire, Mio pour mébioctet)
- 1 Go (gigaoctet) = 10^9 octets (système SI) ou 2^30 octets (système binaire, Gio pour gibioctet)
- Et ainsi de suite pour téraoctet (To/Tio), pétaoctet (Po/Pio), exaoctet (Eo/Eio), zettaoctet (Zo/Zio), yottaoctet (Yo/Yio), etc.
Cette distinction est importante car la différence entre les deux systèmes devient significative avec les grandes unités (par exemple, 1 To = 1 000 000 000 000 octets tandis que 1 Tio = 1 099 511 627 776 octets, soit une différence d'environ 10%).
- American Standard Code for Information Interchange (1975)
- Codage sur 7 bits permettant 128 combinaisons
- Représente l'alphabet latin (majuscules et minuscules), les chiffres, les signes de ponctuation et les caractères de contrôle
- Limité aux caractères anglo-américains
- Extension de l'ASCII sur 8 bits (256 combinaisons)
- Ajout des caractères accentués et spéciaux des langues d'Europe occidentale
- Variantes pour d'autres langues (ISO8859-2, 3, etc.)
- Variante Windows : Windows-1252
- Standard universel visant à représenter tous les systèmes d'écriture et symboles
- Unicode : attribution d'un numéro unique à chaque caractère
- UTF-8 : méthode d'encodage à longueur variable (1 à 4 octets)
- Avantages d'UTF-8 :
- Compatible avec ASCII (les 128 premiers caractères)
- Adapté au Web (standard actuel)
- Supporte tous les alphabets, idéogrammes et symboles
Le codage des entiers naturels est relativement simple :
- Utilisation directe du système binaire
- Codage sur un nombre fixe de bits (8, 16, 32, 64 bits selon les besoins)
- Plages de valeurs dépendant du nombre de bits
Quelques désignations usuelles (dépendent des langages, ici le C) :
Désignation |
Taille |
Plage de valeurs |
UNSIGNED CHAR |
1 octet |
0 à 255 |
UNSIGNED SHORT INT |
2 octets |
0 à 65 535 |
UNSIGNED LONG INT |
4 octets |
0 à 4 294 967 295 |
UNSIGNED LONG LONG INT |
8 octets |
0 à 18 446 744 073 709 551 615 |
Pour représenter les nombres négatifs en informatique, plusieurs méthodes ont été développées, mais celle qui s'est imposée est le complément à deux :
Le complément à deux est une méthode élégante qui permet de :
- Représenter aussi bien les nombres positifs que négatifs
- Réaliser des opérations arithmétiques (addition, soustraction) avec les mêmes circuits électroniques que pour les nombres positifs
- Assurer que le zéro n'ait qu'une seule représentation
Principe fondamental :
Dans un système à n bits, un nombre négatif -X est représenté par 2^n - X.
-
Méthode formelle :
- Calculer 2^n - X (où n est le nombre de bits)
- Exemple sur 8 bits : complément à deux de 5 = 2^8 - 5 = 256 - 5 = 251
-
Méthode pratique (plus couramment utilisée) :
- Inverser tous les bits (complément à un)
- Ajouter 1 au résultat
Exemple détaillé sur 8 bits :
- Représentation de +5 :
00000101
- Pour obtenir -5 :
- Inverser tous les bits :
11111010
- Ajouter 1 :
11111011
- Donc -5 en complément à deux sur 8 bits :
11111011
- Le bit de poids fort (le plus à gauche) sert de bit de signe : 0 pour positif, 1 pour négatif
- Sur n bits, on peut représenter des nombres de -2^(n-1) à +2^(n-1)-1
- Sur 8 bits : -128 à +127
- Sur 16 bits : -32 768 à +32 767
- Sur 32 bits : -2 147 483 648 à +2 147 483 647
- Une seule représentation du zéro (contrairement au complément à un)
- Les opérations d'addition et de soustraction fonctionnent naturellement
- Addition : -X + Y = complément à deux de X + Y
- Soustraction : X - Y = X + complément à deux de Y
- Dépassement facilement détectable
Le nombre -2^(n-1) n'a pas de correspondant positif dans le même format
- Sur 8 bits : -128 (
10000000
) n'a pas de correspondant positif
- C'est une asymétrie intrinsèque au complément à deux
Addition :
| 00000101 (+5)
| + 11111011 (-5)
| ----------
| 00000000 (0)
Soustraction (5 - 3) :
| 00000101 (+5)
| + 11111101 (-3, complément à deux de 00000011)
| ----------
| 00000010 (+2)
Cette représentation en complément à deux est utilisée dans pratiquement tous les processeurs modernes pour manipuler les nombres relatifs, car elle simplifie considérablement la conception des circuits arithmétiques.
Désignation |
Taille |
Plage de valeurs |
SIGNED CHAR |
1 octet |
-128 à +127 |
SIGNED SHORT INT |
2 octets |
-32 768 à +32 767 |
SIGNED LONG INT |
4 octets |
-2 147 483 648 à +2 147 483 647 |
SIGNED LONG LONG INT |
8 octets |
-9 223 372 036 854 775 808 à +9 223 372 036 854 775 807 |
Le son est une vibration mécanique qui se propage sous forme d'ondes. Sa numérisation se fait en deux étapes principales :
-
Échantillonnage : discrétisation dans le temps
- Mesure de l'amplitude du signal à intervalles réguliers
- La fréquence d'échantillonnage détermine la qualité (théorème de Nyquist-Shannon)
- Elle doit être au moins le double de la fréquence maximale du signal
-
Quantification : discrétisation en amplitude
- Conversion des valeurs continues en valeurs discrètes
- Le nombre de bits utilisés détermine la précision (résolution)
- Plus il y a de bits, plus la dynamique est grande
- Nombre de canaux : mono (1), stéréo (2), multicanal (5.1, 7.1, etc.)
- Fréquence d'échantillonnage : nombre d'échantillons par seconde (Hz)
- 8 kHz : téléphonie
- 44,1 kHz : qualité CD
- 48 kHz : standard professionnel audio et audiovisuel
- 96/192 kHz : haute définition
- Résolution : nombre de bits par échantillon
- 8 bits : qualité basse (téléphonie)
- 16 bits : qualité CD (65 536 niveaux)
- 24 bits : qualité studio (16 777 216 niveaux)
La compression permet de réduire la taille des fichiers audio :
Compression sans perte :
- Conserve toute l'information du signal original
- Se base sur la redondance et les motifs statistiques dans le signal
- Formats : FLAC (Free Lossless Audio Codec), ALAC (Apple Lossless), APE, WavPack
- Taux de compression typique : 30-50% de réduction (ratio 2:1)
- Utilisée principalement pour l'archivage et l'audiophilie
Compression avec perte :
- Exploite les limites de la perception auditive humaine (psychoacoustique)
- Principe du masquage : un son fort masque les sons faibles proches en fréquence
- Supprime les fréquences peu ou pas perceptibles à l'oreille humaine
- Compression par bandes de fréquences avec allocation dynamique de bits
- Formats : MP3, AAC, Ogg Vorbis, Opus
Mécanismes de compression perceptuelle (MP3) :
- Division du signal en trames et bandes de fréquences
- Analyse psychoacoustique (seuils d'audition, masquage)
- Quantification et codage des différentes bandes selon leur importance perceptive
- Codage entropique (Huffman) pour compresser davantage
Exemples de débits et applications :
- G.711 (téléphonie) : 64 kbit/s (mono)
- GSM (téléphonie mobile) : 13 kbit/s (mono)
- MP3 : 128-320 kbit/s (stéréo) - qualité variable
- AAC : 96-256 kbit/s (stéréo) - meilleure efficacité que MP3
- Opus : 6-510 kbit/s - très polyvalent, de la VoIP à la HiFi
- FLAC : environ 50-70% de la taille non compressée
Il existe deux grands types d'images numériques :
-
Images vectorielles
- Composées de primitives géométriques (points, lignes, courbes, polygones)
- Indépendantes de la résolution (redimensionnables sans perte de qualité)
- Formats : SVG, PDF, DWG, EPS, etc.
- Applications : dessin technique, logos, polices de caractères, infographie
-
Images matricielles (bitmap)
- Composées de pixels (points élémentaires)
- Dépendantes de la résolution
- Formats : BMP, JPEG, PNG, GIF, TIFF, etc.
- Applications : photographie, retouche d'image, numérisation
La numérisation d'une image comprend :
-
Échantillonnage spatial : définition de l'image
- Nombre de pixels horizontaux × nombre de pixels verticaux
- Exemples : 1920×1080 (Full HD), 3840×2160 (Ultra HD ou UHD-4K), 4096×2160 (4K cinéma/DCI-4K)
- La résolution est la densité de pixels (ppp/dpi)
-
Quantification des couleurs : codage de la couleur de chaque pixel
- Différents modèles colorimétriques sont utilisés selon les besoins
-
RVB (RGB) - Synthèse additive
- Trois composantes : Rouge, Vert, Bleu
- Codage typique : 8 bits par composante (24 bits par pixel, "True Color")
- 16,7 millions de couleurs possibles (2^24)
- Notation hexadécimale : #RRGGBB (ex. #FF0000 pour le rouge pur)
- Utilisé pour les écrans et l'affichage
-
CMJN (CMYK) - Synthèse soustractive
- Quatre composantes : Cyan, Magenta, Jaune, Noir
- Utilisé principalement pour l'impression
-
Niveaux de gris
- Une seule composante de luminosité
- Typiquement 8 bits (256 niveaux de gris)
- Utilisé pour les images monochromes
-
TSL (HSL) - Teinte, Saturation, Luminosité
- Représentation plus intuitive pour les utilisateurs
- La teinte représente la couleur (0-360°)
- La saturation représente la pureté de la couleur (0-100%)
- La luminosité représente la clarté de la couleur (0-100%)
La compression est nécessaire pour réduire la taille des fichiers :
-
Compression sans perte
- Préserve toute l'information de l'image
- Formats : PNG, TIFF, GIF
-
Compression avec perte
- Élimine les détails moins perceptibles
- Format JPEG : utilise la transformation en cosinus discrète (DCT)
- Décompose l'image en blocs de 8×8 pixels
- Quantifie les coefficients DCT selon un facteur de qualité
-
Compression vidéo
- Combine la compression spatiale (intra-image, comme JPEG) et la compression temporelle (inter-images)
- Exploite trois types de redondance :
- Spatiale : similarité dans une même image (zones de couleurs uniformes)
- Temporelle : similarité entre images successives
- Statistique : fréquence d'apparition des motifs
- Types d'images dans un flux vidéo compressé :
- Images I (Intra) : images complètes, codées de façon autonome comme un JPEG
- Images P (Predicted) : contiennent seulement les différences par rapport à l'image précédente
- Images B (Bidirectional) : codées par référence aux images précédentes ET suivantes
- Mécanismes de compression avancés :
- Estimation et compensation de mouvement par blocs (macroblocs)
- Prédiction de mouvement multi-références
- Transformées fréquentielles adaptatives (DCT, transformée entière)
- Filtres de déblocage pour réduire les artefacts
- Évolution des codecs vidéo :
- MPEG-2 : DVD, télévision numérique SD (années 1990)
- H.264/AVC : Blu-ray, streaming HD, vidéoconférence (années 2000)
- H.265/HEVC : 4K, HDR, 50% plus efficace que H.264 (années 2010)
- AV1 : codec ouvert, conçu pour le streaming, plus efficace que HEVC (années 2020)
- H.266/VVC : conçu pour la 8K, 30-50% plus efficace que HEVC
L'information numérique repose sur des concepts fondamentaux qui permettent de représenter et manipuler sous forme binaire tout type d'information. La compréhension de ces principes est essentielle pour appréhender l'informatique moderne et les technologies numériques.
L'évolution des technologies numériques a permis des avancées considérables en termes de capacité de stockage, de puissance de calcul et de vitesse de transmission. Ces progrès continuent d'ouvrir de nouvelles possibilités dans tous les domaines, de la communication à la médecine, en passant par l'éducation et le divertissement.
Les concepts fondamentaux abordés dans ce cours constituent le socle de connaissances nécessaires pour comprendre et maîtriser les systèmes et réseaux informatiques, ainsi que pour s'adapter aux évolutions technologiques futures.