Académique Documents
Professionnel Documents
Culture Documents
GESTION
Bertrand Lebichot
Année 2020-2021
3
Problème de la paire la plus proche : exemple ......................................................................... 66
1.7. Exemples ............................................................................................................................. 66
Calcul d’une somme.................................................................................................................... 66
Calcul d’une factorielle ............................................................................................................... 67
2. Langage de programmation .................................................................................................. 67
2.1. Définition ........................................................................................................................... 67
Ø Principe ................................................................................................................................ 67
Ø Définition ............................................................................................................................. 67
2.2 Les premiers langages ........................................................................................................... 67
Ø Compilateur : ....................................................................................................................... 68
Ø Interpréteur ......................................................................................................................... 68
Ø Exemple : ............................................................................................................................. 68
2.3. Types d’erreurs (IMPORTANT) ............................................................................................ 69
Chapitre 5 : Réseaux ............................................................................................................... 70
1. Les réseaux informatiques .................................................................................................... 70
1.1. Aspects physiques............................................................................................................... 70
1.2. Organisation logique........................................................................................................... 71
1.3 Différents réseaux ................................................................................................................. 73
2. Le réseau Internet ................................................................................................................ 74
2.1. Les règles de communication sur Internet ( IMPORTANT) ................................................. 74
2.2. Différents services = Différents protocoles ........................................................................ 78
Indexation.................................................................................................................................... 92
Réponse aux requêtes des utilisateurs ........................................................................................ 94
3. Les dangers d’Internet ....................................................................................................... 98
4
Chapitre 1 : Introduction
1. L’ordinateur
= machine automatique de traitement de l’information obéissant à des programmes formés par des
suites d’opérations arithmétiques et logiques.
ð D’abord utilisé pour le calcul (computer) en nombres entiers/ en nombres flottants (réels).
1.1 Historique
Il est devenu courant de classer les ordinateurs en fonction de la technologie matérielle fondamentale
employée :
1.2.1 ENIAC
5
1.2.2 Machine de Von Neumann
- Forme qui permet au programme d’être rangé en mémoire avec les données
- Programmation plus simple
- Utilisation de données binaires
ð À quelques rares exceptions près, tous les ordinateurs contemporains présentent la même
structure et le même fonctionnement général.
• Calculs matriciels
• Calculs algébriques
• Problèmes statistiques
• Calculs de primes pour une compagnie d’assurance
• Problèmes logistiques
ð Intégration à petite et moyenne échelle (plus de 1000 composants sur un seul circuit intégré)
6
1.5 Nouvelles générations
- 1971 : Première puce intégrant tous les composants d’un CPU : naissance du microprocesseur
Intégration à grande échelle (plus de 10.000 composants sur un seul circuit intégré)
Intégration à très grande échelle (plus de 100.000 composants sur un seul circuit intégré)
(Loi de Moore : il présidait que le nombre de transitor sur un circuit intégré allé doubler tous les 18
mois. MIPS = million d’instructions par seconde.)
7
2. L’information
Donnée Information
= description élémentaire, souvent codée, d’une = moyen pour un individu de connaître son
chose, d’une transaction, d’un événement, … environnement (au sens commun du terme).
ð Elles peuvent être conservées et classées = données qui sont présentées sous une forme
sous différentes formes : papier, numérique, utile et utilisable par les personnes.
alphabétique, image son, …
ð Elles n’ont pas encore été organisées de
façon à ce que les utilisateurs puissent les
comprendre et s’en servir.
3. L’informatique
= contraction des mots « information » et « automatique »
- 1976 : l’Académie Française a adopté ce terme afin de désigner la « science du traitement de
l’information ».
Définition actuelle : « ensemble des sciences et techniques en rapport avec le traitement de
l’information »
Définition populaire : « tout ce qui se rapporte au matériel informatique »
Edsger Dijkstra (mathématicien) : « L’informatique n’est pas plus la science des ordinateurs que
l’astronomie n’est celle des télescopes ».
8
Chapitre 2 : Langage binaire et logique informatique
Quels types de données manipule-t-on en réalité lorsque l’on réalise les opérations suivantes : appuyer
sur une touche du clavier, sauvegarder un fichier de données, imprimer une image, envoyer un e-mail,
…
ð À partir du moment où des images, des sons, des textes peuvent être convertis en série de
nombres, ils peuvent être facilement traités, stockés et transférés par l’ordinateur, capable de
gérer uniquement des nombres.
La numération figurée
- Après l’usage des encoches, ce sont les numérations figurées qui font leur apparition. Chaque
nombre est à présent représenté par un signe physique (symbole sur un support en dur ou bien
un objet particulier comme un caillou, un coquillage, une ficelle, l’utilisation du corps, … )
- Ces dispositifs ne permettent pas de garder une trace du passé : chaque étape du calcul
supprime les précédentes.
9
La numération écrite
• Nouvelle façon de représenter les nombres (en 2000 ACN ) avec des clous
et des chevrons (sur une tablette d’argile).
• L’établissement d’une comptabilité a nécessité un enregistrement des
comptes .
• Numération écrite et écriture semblent être contemporaines .
Règles de construction :
§ La lecture doit être sans ambiguïté, une même écriture ne peut pas représenter des nombres
différents.
§ Il faut représenter un maximum de nombres avec un minimum de symboles.
Pour répondre à ces contraintes, la solution a été de compter « par paquets », c’est-à-dire de privilégier
un groupement particulier (comme la dizaine, la douzaine, la soixantaine, etc.) et d’organiser la suite
régulière des nombres selon une classification organisée fondée sur ce groupement originel.
C’est le principe de la base = nombre d’unités qu’il est nécessaire de grouper, à l’intérieur d’un ordre
donné, pour former une unité de l’ordre supérieur.
Numérotation additive
Dans les numérations additives, chaque chiffre a une valeur intrinsèque, qui ne dépend pas de sa
position.
ð Ni existence, ni utilité d’un « 0 »
Exemple : Numérotation égyptienne
Numération de position
Pour remédier aux problèmes de calcul posés par la numération additive (écriture de nombreux signes),
on imagina une autre numération (2 000 ans ACN) dite de « position », où la localisation d’un chiffre
dans un nombre lui confère une valeur particulière.
10
Ainsi, si l’on utilise une base 10, 242 est composé de 2 centaines, 4 dizaines et 2 unités. Le chiffre 2
a donc deux valeurs en fonction de sa position.
Mais… manque de rigueur des scribes. Les espaces entre les colonnes ne sont pas respectés.
Solution concernant les colonnes vides : trouver un signe pour remplir ces colonnes vides.
Les bases
Ø Le système décimal (base = 10)
Notre système actuel est positionnel : la position d’un chiffre dans l’écriture d’un nombre exprime la
puissance de 10 présente et le nombre de fois qu’elle intervient. L’absence de puissance est notée par
un petit rond, c’est le zéro.
Un nombre naturel est représenté par une suite de chiffres choisis parmi 0, 1, 2, 3, 4, 5, 6, 7, 8 et 9.
(Inventés en Inde et ont cheminés pendant environ 1000 ans : Inde, Moyen-Orient, Afrique du Nord,
Espagne).
Exemple :
2468 = 2*1000 + 4*100 + 6*10 + 8*1
2468 = 2*103 + 4*102 + 6*101 + 8*100
11
Ø Le système sexagésimal ( base = 60)
Utilisations :
• La mesure du temps (une heure comporte 60 minutes)
• Les coordonnées géographiques : degré d’angle (1 tour complet = 360°), minute d’angle (1° =
60’), seconde d’angle (1’ = 60’’)
• Exemple : latitude 45°23’12’’
Ø Le système duodécimal (base = 12)
Utilisations :
• Mesure de quantités de nourriture :
• Exemples : une douzaine d’œufs, deux douzaines d’huîtres, …
1.2. Et en informatique ?
A partir du moment où des images, des sons, des textes,... peuvent être convertis en une série de
nombres, ils peuvent être facilement traités, stockés et transférés par l’ordinateur, capable de gérer
uniquement des nombres. è le système binaire
Pour l’ordinateur, tout est noir ou blanc, vrai ou faux, bon ou méchant.
Ø Le transistor (1947)
- La réalisation électronique d’un fonctionnement binaire se fait à l’aide de transistors.
- Transistor = interrupteur qui permet de relier ou non 2 fils.
- L’état d’un transistor (courant qui passe ou non) est commandé par un troisième fil.
- Les transistors sont au cœur de tout ce qui est électronique (horloges, montres, thermostats,
fours, TVs, réfrigérateurs, portes de garage, … )
- Nombre de transistors sur un processeur d’ordinateur : 1971 : 2.300 transistors è 2012 : 2,3
milliards de transistors
12
ð Les fractions en binaire (même principe que pour le décimal) :
Le point sépare la partie entière (« exposants positifs ») de la partie fraction (« exposants négatifs »)
ð Et en informatique ?
« Bit » (signifiant « binary digit ») = plus petite unité d’information pouvant être reconnue ou
manipulée par l’ordinateur.
• Bit le + significatif = le bit à l’extrême gauche de la série de bits d’une cellule de mémoire.
• Bit le - significatif = le bit à l’extrême droite de la série de bits d’une cellule de mémoire.
Ø Adresses en mémoire
= « nom » qui identifie de manière unique une cellule de la mémoire de la machine :
Kilobyte : 10³ bytes = 1000 bytes Kilobyte : 210 bytes = 1024 bytes
Megabyte : 106 bytes = 1,000,000 bytes
Megabyte : 220 bytes = 1,048,576 bytes
Gigabyte : 109 bytes = 1,000,000,000 bytes
Gigabyte : 230 bytes = 1,073,741,824 bytes
13
Ø Opérations arithmétiques
Addition binaire
Même principe que pour l’addition en base 10
Soustraction binaire
Même principe que pour la soustraction en base 10
Multiplication binaire
Même principe que pour la multiplication en base 10 : utilisation de l’addition.
Division binaire
Même principe que pour la division en base 10 : utilisation de la soustraction.
Exemples :
14
Ø Opérations logiques/booléennes
Algèbre de Boole
George Boole (1815-1864)
But = « traduire des idées et des concepts en équations, leur appliquer certaines lois et retraduire le
résultat en termes logiques ».
Combinent une (paire de) valeur(s) (= input) de manière à produire une autre valeur (= output).
Opérations de base
Toute expression logique peut se décrire à l’aide des 3 opérations de base : NOT, AND, OR.
15
Propriétés
Associativité Commutativité
(a + b) + c = a + (b + c) = a + b +c a+b=b+aa.b=b.a
(a . b) . c = a . (b . c) = a . b . c
Distributivité Idempotence
a . (b + c) = a . b + a . c a + (b . c) = (a + b) . (a + c) a + a + a + *…+ + a = a a . a . a . *…+ . a = a
1+ a = 1
a a b b a a => b b
0 1 0 0 1 0
0 0 1 0 1 1
1 0 0 1 0 0
1 1 1 1 1 1
Exemple du téléphone :
• a = « Le téléphone sonne »
• b = « On a envie de répondre »
• c = « On a envie d’appeler quelqu’un »
17
L’observation de la table précédente montre que l’analyse contient une
situation absurde : le téléphone sonne, on a envie d’appeler quelqu’un mais
on n’a pas envie de répondre et on décroche quand même. ( a = 1 ; b = 0 ; c =
1 ; d = 1)
18
La notation héxadécimale ( base = 16 )
- Il n’existe pas de symboles spécifiques pour représenter les 6 valeurs de 10 à 15.
- Solution retenue universellement : utiliser les chiffres de 0 à 9 et des symboles de l’alphabet,
les lettres de « A » à « F ».
- Utilisation de triplets hexadécimaux pour le codage
des couleurs dans les pages Web : une couleur est
définie par sa proportion (variant, par exemple, de 0 à
255) de chacune des 3 couleurs primaires
(Red/Green/Blue).
Table de conversion :
Binaire Décimal Hexadécimal Binaire Décimal Hexadécimal
0000 0 0 1000 8 8
0001 1 1 1001 9 9
0010 2 2 1010 10 A
0011 3 3 1011 11 B
0100 4 4 1100 12 C
0101 5 5 1101 13 D
0110 6 6 1110 14 E
0111 7 7 1111 15 F
1.3. Conversions
Il est important de bien comprendre les différentes représentations des nombres.
Du binaire au décimal
Dans le système binaire, il s’agit des puissances successives de 2.
La valeur d’un nombre binaire en décimal peut être calculé de la même manière.
19
Du décimal au binaire
Pour convertir une valeur décimale en valeur binaire, il faut simplement procéder de la manière inverse
et factoriser la valeur.
Du décimal à l’hexadécimal
2. Codage de l’information
L’ordinateur peut stocker et manipuler des informations de toutes sortes: textes, images, sons, …
C’est pourquoi toute donnée devant être traitée sur ordinateur est convertie en une suite de nombres
binaires :
20
2.1. Les textes
Un problème Une solution
Input = suite de caractères (un texte) Chaque caractère doit se voir assigner un «
Output = suite de « 1 » et de « 0 » (rappel: les motif » binaire unique.
ordinateurs ne comprennent que le langage binaire) Un texte sera alors représenté par une suite
de bits, chaque motif successif représentant
- Input = le mot « INFORMATIQUE » les symboles successifs du texte original.
- Output = Années 40 et 50 : prolifération de ce genre de
01001001010011100100011001001111010 codes ET des problèmes de communication
1001001001 dus à un manque d’uniformisation.
10101000001010101000100100101010001
0101010101000101 è Uniformisation des codes
ð Comment passer de l’un à l’autre?
Ø Les codes
21
- Développé en coopération par
plusieurs leaders sur les marchés du
matériel et du logiciel informatiques.
- Utilise un motif binaire unique stocké
sur 16 bits (2 bytes)
Unicode - Code plus étendu que le code ASCII
- 2 bytes contiennent 65.536 motifs
différents
- Permet de stocker beaucoup plus de
symboles (symboles spéciaux chinois,
japonais, hébreux, …)
22
Ø Image matricielle
= image en mode point ou image bitmap
• Composition
- Une image numérique matricielle est composée d’unités élémentaires, les pixels
(= picture elements), qui représentent chacun une partie de l’image.
- Une image numérique est définie par
o le nombre de pixels qui la composent (largeur et hauteur)
o l’étendue des teintes de couleur que peut prendre chaque pixel (échantillonnage –
profondeur)
• Caractéristiques de l’image :
Caractéristique Unités Exemple
Définition Pixels 640 x 480
Taille réelle Centimètres ou Pouces 13cm x 9cm
Pixels par pouce (ppp)
Résolution Dot per inch (dpi) 300 dpi
Pixels par centimètre
Relations :
Définition (pixels) = Résolution (pixels/cm) * Dimensions (cm)
1 pouce = 2,54 cm
è
• Résolution
= nombre de pixels par unité de longueur de l’image à numériser.
+ le nombre de pixels est élevé par unité de longueur, + la quantité d’information est importante,
et + la résolution est élevée.
ð Elle définit donc le degré de détail qui va être représenté sur cette image.
• Pixel
ð N’a pas de taille bien définie.
ð Pour représenter la taille d’un pixel, il faut connaître la résolution utilisée pour représenter
ce pixel.
23
• Restitution
La résolution maximale utilisée pour un écran dépend de la carte graphique (qui détermine comment
afficher les images) ainsi que de l’écran.
L’œil humain ne permet pas de voir une différence de qualité au-delà de 300 ppp (dpi); les imprimeurs
ont donc généralisé cette règle.
• Echantillonnage
Echantillonnage Niveaux
1 bit / pixel (exemple 1) Noir et blanc
8 bits / pixel (exemple 2) 256 niveaux de gris
8 bits / couleur primaire / pixel (exemple 3) 256*256*256 couleurs
16 bits / couleur primaire (/pixel) 65536*65536*65536 couleurs
§ Exemple 1
Une image en noir et blanc peut être stockée à l’aide d’un bit par pixel (0 = blanc, 1 = noir).
§ Exemple 2
- Une image en niveaux de gris ou en couleur nécessite plus d’information.
- On ne code que le niveau d’intensité lumineuse
ð Intensité codée sur 1 octet
- Convention
o 000 = noir (intensité lumineuse nulle)
o 255 = blanc (intensité lumineuse maximale)
24
§ Exemple 3
Ø Image vectorielle
= image numérique composée d’objets géométriques
individuels.
- Objets géométriques (décrits de manière mathématique) :
o Segments de droite, polygones, arcs de cercle, ….
o Pouvant subir différentes transformations (rotation,
écrasement, mise à l’échelle, ... )
o Possédant divers attributs (position, couleur, etc.)
• Applications
- Cartographie :
o Possibilité de superposer des couches
o Possibilité de « zoomer »
- Dessins (architecte, ….)
- Animations flash :
o Bannières publicitaires
o Sites Web
25
• Avantages / Inconvénients
Avantages Inconvénients
- Possibilité de redimensionner l’image à - Nécessité d’une puissance de calcul
volonté sans aucun effet d’escalier importante.
(possibilité de zoom infini). - Nécessité d’une mémoire importante.
- Possibilité de travailler avec plusieurs
couches de dessin.
- Précision des tracés.
• Affichage
Les moyens actuels de visualisation d’images reposent sur des images matricielles.
Nécessité de convertir un fichier vectoriel en un fichier matriciel pour être affiché sur un système
RGB.
ð À « résolution » égale, une image vectorielle est généralement moins lourde qu’une image
matricielle, car elle ne comprend pas la description de chacun des pixels qui la composent mais
seulement des éléments.
• Stockage
Exemple : • Taille de l’image = 64.000*8 = 512.000
• Définition de 320*200 bits
• Niveaux de gris • Conversion : 512.000 bits = 62,5 KB (=
• Nombre de pixels = 320*200 = 64.000 512.000 / (8*1024))
26
2.3. Les sons
Ø Définition et propagation
Son = vibrations dans un support
Amplitude du son
= variation de la pression de l’air
27
Fréquence du son
= nombre de répétions d’une période par seconde
§ Taux d’échantillonnage
= intervalle de temps entre 2 échantillonnages
ð De manière pratique, l’on résonne plus souvent sur le nombre d’échantillons par seconde
• fréquence d’échantillonnage
• exprimée en Hertz (Hz)
§ Résolution
= le nombre de valeurs que l’échantillon peut prendre.
8
- 8 bits à on a 2 = 256 valeurs possibles
16
- 16 bits à on a 2 = 65.536 valeurs possibles
24
- 24 bits à on a 2 = 16.777.216 valeurs possibles
§ Qualité de numérisation
- Dépend de
o la fréquence d’échantillonnage
o la résolution (= le nombre de bits sur lesquels on code les valeurs)
28
• Exemple de résolution : 4 bits (valeurs possibles : de 0 à 15)
Exemples réels
Type de son Fréquence d’échantillonnage Résolutions
Stockage
Taille en bits d’un extrait sonore =
Fréquence d’échantillonnage
*
Résolution (donne la taille en bits pour 1 seconde de son)
*
Nombre de secondes (donne la taille en bits pour la totalité du son)
*
Nombre de voies
ð En effet, la taille finale est à multiplier par le nombre de voies : la taille sera 2 fois plus
importante pour un son stéréo que pour un son mono.
29
2.4. Les vidéos
2.4.1. Signaux
2.4.2. Affichage
Résolution
= définition des images qui composent la vidéo
• Largeur et hauteur en pixels
• Exemple : 1024 * 768
Format
= le rapport entre la largeur et la hauteur de l’image : 4/3 ou 19/9 (écran large)
Fréquence d’images
= nombre d’images par seconde / Frames per second (fps)
30
• effet phi : sensation visuelle de mouvement provoquée par l'apparition d'images perçues
successives, susceptibles d'être raccordées logiquement par un déplacement ou une
transformation.
- Fréquences standards :
• Cinéma : 24 fps
• Télévision : Europe = 25 fps ; Etats-Unis et Japon = 30 fps
• Dessins animés (bonne qualité): 12 fps
La variation de contraste a lieu entre 2 lignes voisines (non plus entre le haut
et le bas de l’écran).
Le confort visuel est meilleur car les lignes sont très petites et très resserrées.
Uniquement pour écrans informatiques jusqu’à l’apparition des écrans LCD / Plasma.
• Ecrans cathodiques : 50 Hz – 60 Hz
• Ecran LCD / Plasma : Varie généralement entre 50 Hz et 120 Hz (mais fixe pour un écran)
Stockage
Dépend :
• des propriétés du son (cf. numérisation des sons)
• des propriétés des images (cf. numérisation des images)
• du nombre d’images par seconde
• des techniques de compression utilisées (sons et images)
31
3. Compression des données
La compression est due à l’évolution et aux différentes innovations technologiques.
Nous savons que la puissance des processeurs augmente plus vite que les capacités de stockage et
énormément plus vite que la bande passante d’Internet.
3.1 Définition
La compression de données traite de la manière dont on peut réduire l’espace nécessaire
à la représentation d’une certaine quantité d’information.
Elle concerne donc aussi bien la transmission que le stockage des données.
Deux types :
1) La compression sans perte
2) La compression avec perte
«11111111111111111111111111111111111111111111100000000000000000000000000000000000
0000000000000000000000000111111111 1111111111111111111111 » (136 bits)
32
La place nécessaire pour stocker :
- 45 1 60 0 31 1
- càd 00101101 1 00111100 0 00011111 1
- càd 8 bits + 1 bit + 8 bits + 1 bit + 8 bits + 1 bit = 27 bits
ð est moindre que la place nécessaire pour stocker chacun des 136 bits.
ð Les éléments sont donc représentés par des motifs de différentes longueurs
ð C’est le cas des « codes de Huffman »
3.2.3 Illustration : données textuelles
Considérons la tâche qui consiste à coder un texte écrit en français
En français, les lettres e, a et i sont plus fréquentes que les lettres z ou x par exemple.
Etablissement du code :
• Utiliser des motifs plus courts pour représenter les lettres a, e ou i
• Utiliser des motifs plus longs pour représenter les lettres z ou x
ð Le résultat sera un code au sein duquel les textes en français auront une représentation plus
courte que ce qu’on aurait obtenu en utilisant un code à longueur uniforme (ASCII, Unicode,...)
Exemple concret : Le Macintosh d’Apple, dans les années 80, Utilisait un système inspiré de Huffman :
ð permettait une compression des textes voisine en moyenne de 30% (à une époque où la
mémoire était extrêmement chère).
3.2.4 Codage par dictionnaire
1) Identifier les motifs récurrents
2) Les stocker dans un dictionnaire
3) Les remplacer dans le document par des références à leur première apparition
4) Les motifs rares sont encodés complètement
33
3.3 Compression avec perte
- S’applique aux données sonores et visuelles, qui peuvent subir une modification, parfois
importante, sans que cela ne soit perceptible par un humain.
- La perte d’information est irréversible : il est impossible de retrouver les données d’origine
après une telle compression.
- Adaptée pour le Web
ð L’œil ne perçoit pas nécessairement tous les détails d’une image et seul un sous-
ensemble très faible de sons possibles est exploitable par l’oreille.
ð Possibilité de réduire la quantité de données de telle sorte que le résultat soit très
ressemblant à l’original, voire « identique », pour l’œil et l’oreille.
34
3.3.2 Compression DivX
- Compression approximative de 4:1 à 12:1
- Permet de compresser de longs et gros fichiers vidéo en fichiers bien plus légers (4-8 GB à
0.7 GB).
- Au centre de controverse suite à son utilisation pour copier et distribuer des films extraits
de DVD aux droits réservés.
35
Chapitre 3 : matériel et logiciel
1. Introduction
§ Un outil
L’ordinateur est un outil qui permet d’automatiser des opérations de toute sorte en vue de faciliter
le travail, la vie des gens.
Un ordinateur ne réfléchit pas à votre place : il ne fait que vous assister et vous suggérer des solutions.
L’ordinateur ne fait rien sans ordre ou par lui-même : il lui faut des logiciels et des ordres pour le faire
fonctionner.
§ Un assemblage de composants
§ La carte mère
La carte mère sert à interconnecter tous les composants d’un ordinateur (« système nerveux » de
l’ordinateur).
Eléments
Composition physique : il regroupe sur un petit pavé de silicium de quelques cm² plusieurs millions
de transistors microscopiques interconnectés.
Remarque : quand le CPU souhaite ouvrir un fichier, les infos vont être dans les registres à
excécuter l’info
2.1.4 L’horloge
Toutes les opérations du processeur doivent être exécutées selon un ordre rigoureux. C’est pourquoi
le processeur est soumis à une horloge qui bat la mesure, tout comme un métronome.
37
L’horloge crée des impulsions (= à intervals réguliers en fonction de l’installation) qu’elle envoie
au processeur. Dans une montre bracelet, ces signaux servent à faire avancer les aiguilles ; dans le
processeur, chacune d’elles lance l’opération suivante.
En effet, à chaque top d’horloge (pour les instructions simples), le processeur :
L’unité de mesure est le « hertz » qui indique le nombre de battements par seconde (1 gigahertz = 1
milliard de battements par seconde).
2.2. Le bus
= ensemble des lignes de communication connectant les différents composants d’un ordinateur
(sorte d’autoroute de l’information par laquelle transitent les instructions et les données).
Le processeur est relié aux mémoires et aux autres circuits par des connexions électriques (fils) dans
lesquelles le courant circule..
Par exemple, pour transmettre un mot binaire d’un octet (8 bits) d’un seul coup, il faut utiliser 8 fils.
Chaque fil a un poid différent ( si 8 bits, il y aura 8 fils et le courant passera sur les fils où leur numéros
de place est 1).
Les différents bits du bus ont chacun un poids différent numéroté de 0 à n-1 où n est la taille du bus.
Par exemple pour un bus quatre bits on peut transmettre 16 valeurs différentes (24 = 16)
L'émetteur positionne au même instant tous les bits du bus. Au moment adéquat le composant lecteur
lira tous les bits en même temps
2.2.2 Caractéristiques
Sa largeur = nombre de bits qu’il peut traiter à chaque cycle de temps.
Exemple : un bus comportant 32 lignes est un bus 32 bits.
Sa fréquence = nombre de fois que le bus est accédé par seconde (exprimée en hertz). Exemple :
33,33 MHz
Sa bande passante = largeur du bus * fréquence
À partir de la valeur des 2 caractéristiques précédentes, il est possible de déterminer la bande passante
maximale d’un bus.
Exemple : 33,33 MHz x 32 bits = 1066 Mbits/s = 133,3 MB/s.
2.2.3 Exemples :
• Bus système : relie le processeur à la mémoire interne.
38
• Bus d’entrées/sorties : relie le processeur aux connecteurs d’entrées/sorties.
• Port Universal Serial Bus : un bus qui n’interconnecte que 2 dispositifs est appelé un port.
2.3. La mémoire
Principales caractéristiques
2.3.1 Emplacement
• Processeur : retient les choses avant de faire des opérations : registres
• Interne (principale) : retient ce que les programmes sont en train de faire : RAM, ROM,
mémoire cache, ..
• Externe (auxiliaire) : transporte la mémoire entre ordinateurs : disque dur, CD-ROM,
• Obligation de passer par la lecture des • Pas besoin de lire les informations qui
informations qui précèdent précèdent
• Le temps d’accès à un enregistrement • Chaque enregistrement possède une
arbitraire est variable adresse unique associée à un emplacement
physique
2.3.3 Performance
§ Temps d’accès (latence) = temps pour se situer à l’endroit où l’on veut être.
= temps nécessaire au positionnement du mécanisme de lecture/écriture à l’emplacement
approprié.
Propriétés :
• chaque cellule possède 2 états stables (pouvant représenter les « 1 » et les « 0 » binaires)
• on peut écrire les cellules pour définir leur état
• on peut lire les cellules pour détecter leur état
Des signaux électriques sont utilisés pour positionner l’état d’une cellule à 1 ou à 0 (présence ou
absence d’une charge électrique).
La tête de lecture/écriture est composée de deux bobines permettant la lecture et l’écriture de bits.
Un bit est positionné ou pas suivant le sens de l’orientation des microparticules d’oxyde magnétique,
dans un sens, le bit est lu comme un « 0 », et dans l’autre sens comme un « 1 ».
40
2.3.6 Mémoire principale (IMPORTANT)
= mémoire à semi-conducteurs
Contient : les informations nécessaires au démarrage d’un ordinateur + des tables de facteurs de
conversion.
§ Caractéristiques :
- Accès beaucoup plus lent que mémoire RAM : 150 nanosecondes.
- Non-volatilité : données conservées même après une coupure d’alimentation.
2.3.9 Mémoire cache (zappé en cours)
= stocke les informations les plus utilisées de la mémoire principale (plus grande et plus lente).
ð Utilisée ici entre le processeur et la mémoire principale pour accélérer les communications
Elle permet au processeur de se « rappeler » les opérations déjà effectuées auparavant. En effet, elle
stocke les opérations effectuées par le processeur, pour qu’il ne perde pas de temps à recalculer les
choses qu’il a déjà faites précédemment.
41
2.3.10 Hiérarchie mémoire
ð Le dilemme du concepteur :
Utiliser les technologies qui proposent une Répondre aux besoins en matière de
capacité de mémoire importante performance. Faire appel à des mémoires :
• besoin de cette capacité • plus chères
• faible coût par bit de cette mémoire • de capacités moins importantes
• à temps d’accès plus court
Petite mémoire
Ne pas se limiter à une technologie unique mais mais rapide
d’accès
employer une hiérarchie mémoire.
Grande
Descendre dans la hiérarchie implique : mémoire
1) Une baisse du coût par bit mais accès
lent
2) Une augmentation de la capacité
3) Une augmentation du temps d’accès
4) Une baisse de la fréquence d’accès *du processeur à la mémoire
Sur les micro-ordinateurs, tous les périphériques sont reliés à la carte mère par un connecteur que l’on
insère directement ou indirectement.
• La mémoire interne (RAM, ROM, cache) ne suffit généralement pas pour contenir toutes les
données.
• Les données sont alors stockées sur des mémoires externes périphériques moins coûteuses.
Exemples :
• Disque dur
• Disquette 8 et 5,25 pouces (obsolète)
• Disquette 3,5 pouces (obsolète)
• CD-ROM, CD-R
• Digital Versatile Disk (DVD)
• Mémoire flash
• …
Ø Bande magnétique
= support permettant l'enregistrement d’informations analogiques ou numériques à l'aide d'un
magnétophone. On peut stocker beaucoup d’info, utile pour les archives.
43
• Les informations sont lues en mesurant la polarisation de particules
magnétiques (oxyde de fer) incluse dans une base souple.
• Les informations sont écrites en modifiant cette orientation.
Ø Disque dur
Temps d’accès moyen : temps nécessaire au disque dur pour positionner la tête de lecture/écriture au-
dessus d’un endroit désigné du support : quelques millisecondes (disques durs actuels : 6-12).
Vitesse de rotation : vitesse à laquelle les disques tournent à l’intérieur du lecteur : entre 5000 et
10000 tours par minute (disques durs actuels).
Taux de transfert des données : temps requis pour transmettre les données d’un périphérique à un autre :
entre 80 et 100 (voire plus) MB/s (disques durs actuels).
è Imaginons un axe de rotation avec 5 disques, on peut stocker les infos sur les deux faces.
L’info est stockée grâce aux têtes de lecture et positionnée grâce à l’axe de rotation.
1) Faire tourner
2) Positionner la tête de lecture à plus lent de ROM car il faut du temps pour positionner de la tête de
lecture.
Toutes les têtes sont alignées et bougent en même temps car on stocke une info en 1/10 car 10 faces du
disque. Les infos sont stockées sous forme de cylindre à on bouge l’axe à transfert de donnée plus
rapide.
Ø CD-DVD
ð Mémoire de type optique (différent des disquettes : mémoire de type magnétique)
44
Ø Mémoire flash
- Caractéristiques :
• Mémoire à semi-conducteurs réinscriptible
• Mémoire de grande capacité
• Mémoire non volatile : les données ne disparaissent pas lors d’une mise hors tension
• Accès rapide et consommation faible (nulle au repos)
- Applications :
• Appareils photo numériques
• Téléphones cellulaires
• Baladeurs MP3
• Clefs USB
• Disques SSD (Solid-State Drive)
45
3. Architecture d’un ordinateur
3.1. Fonctionnement
Un programme est encodé comme une série de bits et est stocké en mémoire principale.
Remarque : ce qui prend du temps ce sont les transferts, les accès de mémoire.
Toutes les données nécessaires au CPU sont stockées dans l’unité de registre.
Exemple :
4) Résultat en mémoire.
Remarque : si on met 5 circuits précis dans un CPU, il est capable de faire que ces 5 opérations.
46
Ø Types d’instruction machine :
§ Instructions de transfert de données : copie de données d’un endroit à un autre.
§ Instructions arithmétique et logique : utilise une série de bits existante pour calculer une
nouvelle série de bits.
Ø Compatibilité ( IMPORTANT)
- Chaque processeur a son propre langage machine
- Si un processeur A est capable d’exécuter toutes les instructions d’un processeur B, on dit que
A est compatible avec B.
- L’inverse n’est pas forcément vrai, A peut avoir des instructions supplémentaires que B ne
connaît pas.
- Il existe 2 grands types d’architecture suivant le langage machine utilisé :
• Architecture RISC
• Architecture CISC
Objectif : compléter une tâche en aussi peu de lignes que possible (le microprocesseur devra donc
comprendre des instructions plus complexes).
- Instructions « courtes » : quelques cycles d’horloge
- Instructions « longues »: jusqu’à 150-160 cycles d’horloge
- Difficile de prévoir la durée de certains calculs
3.4. Application
3.4.1. Instruction machine ( IMPORTANT)
Principes généraux composés de deux parties :
1) Op-code (code opération) : spécifie l’opération à exécuter
Exemple : Stocké sur 4 bits
Une instruction machine correspond donc à une série de 16 bits dans notre exemple.
48
Composition : exemple
Voir TP
3.4.3. Architecture
49
3.4.4. Exécution
- Contrôlée par 2 registres spéciaux :
• Le compteur du programme (program counter) contenant l’adresse de la prochaine
instruction à exécuter.
• Le registre d’instruction (instruction register) contenant l’instruction courante.
Le cycle de la machine
1. FETCH : retrouver la prochaine instruction en mémoire (comme indiqué par le compteur de
programme) et incrémenter ce compteur.
2. DECODE : décoder la série de bits du registre d’instruction.
3. EXECUTE : exécuter l’action spécifiée par l’instruction décodée.
Exemple : stockage
Rappel : chaque instruction contient 16 bits tandis que chaque cellule de mémoire contient 8 bits.
1ère étape
2ème étape
Le compteur de programme est incrémenté de manière à ce qu’il pointe vers la prochaine instruction
à exécuter
Exemple : rappel
L’horloge crée des impulsions qu’elle envoie au processeur ; chaque impulsion lance l’opération
suivante. En effet, à chaque top d’horloge (pour les instructions simples, c’est à- dire d’une taille égale
à 16 bits pour notre exemple), le processeur :
50
4. La couche logicielle
4.1 le logiciel
(= Software >< Hardware)
Ø Types de logiciels
Logiciel applicatif et système d’exploitation (OS)
Complexités différentes
Les OS sont des programmes énormes et complexes : Windows = 5 millions de lignes de code, 100
volumes de 1000 pages de 50 lignes par page…
Ø Logiciels applicatifs
- Résolvent les problèmes spécifiques des utilisateurs : Excel, …
- Logiciel statistique
- Logiciel de traitement de texte : Word, …
- Tableur : Excel, …
- Système de gestion de bases de données (SGBD) : Excel, …
51
4.2.1. Généralités
Ø Origine
Un ordinateur moderne se compose :
• d’un ou de plusieurs processeurs
• d’une mémoire principale
• de périphériques d’entrées/sorties, …
L’écriture de programmes qui prennent en compte tous ces éléments et les gèrent correctement
est un travail extrêmement difficile.
Il y a quelques années, il est apparu clairement qu’il fallait trouver un moyen de libérer les
programmeurs de la complexité du matériel.
Enrober le matériel avec une couche logicielle (= système d’exploitation) qui gère l’ensemble du
système
Ø Rôles de l’OS
- Cache les détails de fonctionnement du matériel.
- Présente à l’utilisateur une interface simple et élégante.
- Affranchit l’utilisateur de tâches pesantes (gestion de la mémoire, gestion du matériel E/S, …).
4.2.2. Composants
Ø La coquille ( = Shell )
= seule chose qu’on voit, avec laquelle on intéragit
52
Exemple: la fenêtre MS-DOS
Quelques commandes
• cd.. retour au répertoire racine
• dir montre tous les fichiers/répertoires
du répertoire courant
• cd xxx se positionne dans le répertoire xxx
§ Interface graphique
GUI (Graphical User Interface)
Les objets devant être manipulés (fichiers et programmes) sont représentés sur l’écran par des icônes.
Utilisation d’une souris (lancement des commandes en pointant et en cliquant sur ces icônes).
§ Gestionnaire de fenêtres
= système d’exploitation qui gère la fonction des pixels.
Quand je clique à un endroit, un pixel est associé à une icône qui me dirige vers quelque chose.
Window manager : alloue des blocs d’espace (appelés « fenêtres ») sur l’écran.
Ø Le noyau ( = kernel)
= partie interne de l’OS
Le système de fichiers stocke des informations sous forme de fichiers et maintient différents détails
sur ceux-ci:
• l’endroit où chaque fichier est situé
• les accès des utilisateurs aux différents fichiers
• les disponibilités pour le stockage de nouveaux fichiers ou l’extension de fichiers existants
• d’autres métadonnées (date de dernier accès, date de modification des données, taille, type,
etc.)
§ Vue abstraite
53
Pour l’utilisateur, un système de fichiers est vu comme une arborescence, offrant à l’utilisateur une
vue abstraite sur ces données.
L’utilisateur peut localiser ses données à partir d’un chemin d’accès (directory path), en facilitant
l’accès et la manipulation.
§ Propriétés :
- Restriction pour nommer un fichier: pour éviter les caractères qui ont un sens particulier pour
le système d’exploitation (exemple: ‘\’ pour Windows)
- Extensions: « nomFichier.txt »
• en fonction du contenu du fichier
• certains programmes seulement (déterminés par l’extension) peuvent « comprendre » le fichier
Exemples
Les systèmes d’exploitation récents supportent un plus grand nombre de systèmes de fichiers.
Exemples:
• File Allocation Table (FAT-16, FAT-32, VFAT);
• NT File System (NTFS);
• Hierarchical File System (HFS, e.g., Mac OS X);
• Unix File System;
• …
Remarque : en mémoire, il y a une table, pour chaque particule, il y a une table avec toutes les infos.
Lorsqu’on clique sur une icône, le système va aller dans la table et trouver les infos.
Exemple : FAT-16
54
• 65.536 – certaines qui ne peuvent pas être utilisées (Windows…)
Remarque : si j’ai un fichier de 2,5KB, ça va me prendre 3KB car le système de fichiers travaille en
bloc à espace perdu
Exemple : FAT-32
§ Gestionnaire de mémoire
- Coordonne l’utilisation de la mémoire vive (= en cours d’utilisation) de l’ordinateur.
- Difficulté accrue pour des environnements (les plus répandus) multi-utilisateurs (ex : serveur)
ou multitâches (ex : lancement de plusieurs applications simultanées).
Remarque : si on efface une ligne du tableau à le système d’exploitation n’a plus accès à l’info èil
est toujours là mais on ne le retrouve plus car on a effacé la référence. Lorsqu’on écrase un code à
pas de retour en arrière possible.
§ Notion de processus
Concept clé
Exemple : 3 processus
• Vous convertissez un fichier en PDF
• Vous décidez de naviguer sur le web
• En tâche de fond, votre courrier électronique est relevé périodiquement
55
§ Etats d’un processus
- Outils de communication
- Unités logicielles permettant d’effectuer des
opérations sur des appareils périphériques
(imprimante, écran, … )
• Exemple : impression d’un document
§ Lancement
57
Chapitre 4 : algorithmique et langages de programmation
1. Algorithmique
1.1. Définition
= ensemble des activités liées aux algorithmes
Algorithme = énoncé, dans un « langage bien défini » d’une suite d’opérations permettant de résoudre
par calcul un problème.
• Langage naturel (français, anglais, ... ) : pose souvent des problèmes (ambiguïté des termes)
• Pseudocode : mélange entre un langage naturel et des constructions utilisées dans les langages
de programmation ; permet une description plus succincte de l’algorithme.
• Organigramme
• Langage de programmation
ð Pourquoi étudier les algorithmes ?
- Importance théorique : les algorithmes constituent la base de tout ordinateur.
- Importance pratique :
• Création d’une « trousse à outils » contenant tous les algorithmes connus.
• Développement d’un cadre de travail pour concevoir et analyser des algorithmes pour
de nouveaux problèmes.
2) Conception de l’algorithme
- Définir une stratégie pour solutionner le problème
- Ecrire l’algorithme
• Utilisation d’un pseudocode
• Utilisation d’un organigramme
3) Analyse de l’algorithme
- L’algorithme est-il correct?
- L’algorithme est-il efficient? En terme de temps et d’espace ?
- L’algorithme pourrait-il être plus écrit plus simplement?
58
- L’algorithme est-il suffisamment général?
4) Codage de l’algorithme
- La plupart des algorithmes sont destinés à être finalement implémentés (transformés
en programmes informatiques)
- « Traduire » l’algorithme en un programme correct
- Utilisation d’un langage de programmation
- Tester/déboguer le programme obtenu.
Exemple 1 - PGCD
Trouver le plus grand commun diviseur (PGCD) de 2 nombres entiers non négatifs et non tous les 2
égaux à 0.
Exemples :
PGCD(60,24) = 12
PGCD(33,11) = 11
PGCD(60,0) = 60
Basé sur une application répétée d’égalités PGCD(m,n) = PGCD(n,m mod n) et ce, jusqu’à ce que le
second nombre soit égal à 0, ce qui rend le problème trivial.
Exemple :
PGCD(60,24) = PGCD(24,12)
= PGCD(12,0)
= 12
ð Autre méthode
1. Assigner la valeur du minimum de m et n à t
2. Diviser m par t
3. Si le reste est 0, aller à l’étape 3
Sinon, aller à l’étape 4
4. Diviser n par t
5. Si le reste est 0, renvoyer t et arrêter
Sinon, aller à l’étape 4
6. Diminuer t d’une unité et aller à l’étape 2
59
1.3. Spécifications
Input = données fournies au programme
60
2.4.8 1.4.3. La répétition (boucle)
Une opération (ou un groupe d’opérations) est exécutée de manière répétitive.
« Continuer à déterminer si une année est bissextile tant que l’utilisateur le souhaite »
Exemple 3 – Verglas
Demander à l’utilisateur d’entrer une valeur (entière) en degrés Celsius (°c) :
• Si la température est supérieure à 5°c, lui dire qu’il n’y a pas de danger !
• Si la température est comprise entre 1 et 5°c inclus, lui dire qu’il existe un danger de
plaques de verglas isolées !
• Si la température est en dessous de 1°c inclus, lui dire qu’il existe un danger de verglas
généralisé !
Variable = espace mémoire permettant de stocker différentes données de différents types (entiers,
réels, texte, … )
61
• Déclaration
Une variable est déclarée en fournissant son nom et son type. ATTENTION : on ne peut pas utiliser
les mots qui ont déjà une signification dans le language de programmation. ( type : entier,
réel,caractère,…)
• Affectation
= on affecte une valeur particulière à la variable.
2) Boucle
4) return m
Exemple Java
Temp. : Entier
Risque: chaîne de caractères
« Demander à l’utilisateur d’entrer une température (entier) en degré Celsius »
end if
return risque
62
Implémentation (Java)
Exemples :
• Trier des listes de nombres
• Trier des caractères d’un alphabet
• Trier des chaînes de caractères
• Trier des enregistrements sur base d’un critère
Pourquoi ? Le tri rend beaucoup plus facile toute une série de questions sur des listes.
Exemples : dictionnaires, bottins téléphoniques, …
Exemple d’algorithme :
1. i : entier
2. for i=0 to n-2 do
3. échanger T[i] avec le plus petit élément de T(i), …,T(n-1)
4. end for
63
1.6.2. Recherche
- Objectif : trouver une valeur donnée dans un ensemble donné
Exemple : rechercher un nom dans un répertoire
- Méthodes :
o Recherche binaire
o Recherche séquentielle
Spécifications du problème :
Exemple d’algorithme :
1. T(n) ← K
2. i, indice : entier
3. i ← 0
4. indice ← -1
5. while T(i) ≠ K do
6. i ← i + 1
7. end while
8. if i < n then
9. indice ← i
10. end if
11. return indice
Exemples de données :
• Chaînes de caractères d’un alphabet particulier (lettres, chiffres, caractères spéciaux)
• Chaînes de bits (0/1)
• Séquences génétiques (comparaison d’ADN)
Spécifications du problème
• Input :
o Un tableau T(0), …, T(n-1) représentant une chaîne de n caractères.
o Un tableau P(0), …, P(m-1) représentant une chaîne de m caractères.
• Output :
o «Vrai » si les 2 chaînes de caractères sont les mêmes.
o « Faux » si ce n’est pas le cas.
64
Exemple d’algorithme :
1. b : booléen
2. b← « Vrai »
3. i: entier
4. if m ≠ n then
5. b ← « Faux »
6. else
7. for i ← 0 to n-1 do
8. if T(i) ≠ P(i) then
9. b ← « Faux »
10. end if
11. end for
12. end if
13. return b
Les graphes peuvent être utilisés pour modéliser bon nombre d’applications réelles :
• Réseaux de transport
• Réseaux de communication
• Web
• etc.
Exemples : (Savoir expliquer mais pas faire les algos)
Exemples
• Maximiser une valeur (profit)
• Minimiser un coût => Voir cours de mathématique
65
1.6.6. Problèmes géométriques
= algorithmes qui traitent avec des objets tels que des points, des lignes et des polygones.
Exemples :
• Problème de la paire la plus proche : étant donné n points dans un espace,
trouver les 2 points les plus proches parmi les n points.
• Problème de la coque convexe : trouver le polygone convexe le plus petit qui inclut
tous les points d’un ensemble donné de points.
Spécifications du problème
• Input: Une liste P de n (n ≥ 2) points P1 = (x1,y1),…, Pn = (xn,yn)
• Output: les indices index1 et index2 de la paire de point la plus proche (distance
Euclidienne)
Exemples :
• Résoudre des équations et systèmes d’équations
• Calculer des intégrales
• Évaluer des fonctions mathématiques
• …
1.7. Exemples
Calcul d’une somme
2. Langage de programmation
2.1. Définition
Ø Principe
Les programmes :
• sont généralement écrits sur base d’algorithmes
• et suivent donc généralement un processus contenant 3 étapes:
1) Les données d’entrée (input) sont reçues
2) Certaines opérations sont effectuées sur ces données
3) Le résultat (output) est produit
Ø Définition
- Un langage de programmation est composé :
• d’instructions exécutées par l’ordinateur ;
• d’une syntaxe : règles qui précisent comment les mots et symboles peuvent être
rassemblés pour former des instructions valides.
Ø Traduction
- Le langage est traduit (par un compilateur ou un interpréteur) en une suite d’instructions
codées en langage machine.
ð programmer = fournir à l’ordinateur des instructions qu’il devra exécuter.
- Quelles que soient les apparences, l’ordinateur ne parle pas le même langage que l’utilisateur.
ð Nécessité d’un puissant système de traduction
Pour éviter de devoir tout programmer avec des 0 et des 1 (seul langage « compris » par l’ordinateur),
les chercheurs ont développé des langages dits de plus haut niveau.
67
- Il doit « retranscrire » ce programme FORTRAN sur des cartes perforées.
- Les cartes sont lues par la machine et les résultats sont imprimés.
Ø Compilateur :
- Traduit l’intégralité d’un code source en un code exécutable
- Le résultat est conservé sous la forme d’un fichier
- Ce fichier peut être utilisé sans ne plus faire aucune référence au code source
- Le compilateur prend deux fichiers de départ et les traduit pour qu’ils puissent être excécuter
par la machine.
Ø Interpréteur
- Traduit le code source au fur et à mesure de l’exécution du programme
- Utilise le code source au moment de l’exécution
- Moins efficace : le temps de traduction s’ajoute au temps d’exécution
- L’interprétateur excécute lignes par lignes.
Ø Exemple :
Exemples :
• BlueJ, Eclipse (Java)
• Microsoft Visual Studio (Visual Basic, C#, J#)
• etc.
68
2.3. Types d’erreurs (IMPORTANT)
- Erreurs de syntaxe : compile-time errors, détectées par le compilateur
- Exemple : « aime J’informatique l’»
69
Chapitre 5 : Réseaux
Réseau social = ensemble de liens entretenus par des personnes avec leurs amis, leurs relations
d’affaire…
= possède une intensité qui varie de façon = emploie un nombre défini de niveaux et varie de
progressive (= continue) dans le temps, sans l’un à l’autre de façon abrupte en maintenant
variation brusque ni discontinuité. chaque niveau constant pendant une certaine
période de temps.
MOdulateur-DEModulateur
= périphérique servant à communiquer avec des utilisateurs distants, permet de :
• se connecter à Internet
• échanger des fichiers, des e-mails, de téléphoner,…transmissibles sur un support
analogique et réciproquement
70
Ø Organisation physique
= façon dont les machines sont connectées :
ð Réseaux clients-serveur
71
Ø Serveur
= machine qui rend des services et qui possède des propriétés particulières dont assurer la meilleure
qualité de service possible.
ð Pas possible pour un PC portable car problème de stockage et de connexion, pas assez étendue
( bande passante à grande capacité de réception d’information) + doit être accessible 24h/24
car on a différents fuseaux horaires.
Avantages Inconvénients
• Coût • Administration
• Simplicité et rapidité d’installation • Sécurité ( chacun est maître de sa machine,
si virus, on ne sait pas à l’avance )
• Aucun maillon fiable ( risque de virus
partout)
72
1.3 Différents réseaux
Ø Étendue géographique
Metropolitan relier des réseaux locaux sur des fibres optiques Réseau d’un
Area Network distances relativement limitées campus
(MAN)
réseaux
métropolitains
interconnecter (i.e., d’assurer Réseau Internet :
l’échange d’informations) ARPANET
Wide Area
plusieurs réseaux “courte distance” (1969) sous
Network (WAN)
à travers de grandes distances l’impulsion du
géographiques sur des distances qui Pentagone passe
se situent au niveau d’un pays, d’un de 4 nœuds
réseaux longue (machines) en
distance continent, voire de la planète
entière. 1969 à 37 en
1972...
73
2. Le réseau Internet
= réseau longue distance
WAN = ensemble d’ordinateurs reliés entre eux, échangeant des informations, et partageant des
ressources en temps réel.
WAN = qui interconnecte plusieurs réseaux locaux à travers de grandes distances géographiques.
Sa taille se situe au niveau d’un pays voire d’un continent.
Ø Suite/modèle TCP/IP
= ensemble de protocoles utilisés pour assurer le transfert de données sur Internet, décrit les
fonctionnalités nécessaires à la communication.
Couche Applicative
Internet Protocol ( 2ème étape : on affecte une adresse sur chaque machine)
CP = via quoi le message va être transmis : l’air qui permet de faire passer le son qui sort de mes cordes vocales
IP = à qui s’adresse le message ; quand je crie à une foule, la reception du message est plus délicate que si je
sais que je parle à un enfant et que mon langage est adapté.
CA = le message en question.
74
Rôles :
1) Caractéristiques :
- Similaire à TCP
- Handshaking
- Non-fiable :
o Ne garantit pas la bonne livraison des paquets à destination
o Ne garantit pas l’ordre d’arrivée des paquets à destination
UDP
o Des paquets peuvent être reçus en plusieurs exemplaires
- Moins lourd : + rapide pour transférer une info
2) Utilité :
- Cas où la perte de paquets est moins importante que l’attente de sa retransmission : VoIP
(Voice on IP)
- Nécessité de transmettre rapidement de petites quantités de données depuis un serveur vers
de nombreux clients
- DNS : gère les noms de domaines et passe par UDP
75
• Adressage :
- Chaque ordinateur d’un réseau TCP/IP possède une adresse IP unique.
- Actuellement, chaque adresse est constituée d’une suite de 4 groupes de 8 bits.
- Version IPv4 : chacun de ces groupes est généralement écrit sous forme décimale:
xxx.xxx.xxx.xxx (xxx de 0 à 255).
- Epuisement des adresses disponibles dès 2011 pour certaines régions du monde : transistion de
IPv4 à IPv6 (fin prévue en 2025).
- Version IPv6 = écriture héxadécimale : sur 16 octets (3.4*10e38 = plus de 600 millions de
milliards d’adresses par mm2 de surface terrestre) ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
76
• Taille du réseau
Plus le nombre de bits réservés au réseau est petit, plus celui-ci peut contenir d’ordinateurs.
Exemples:
• Un réseau noté 108 peut contenir des ordinateurs dont l’adresse IP peut aller de 108.0.0.1 à
108.255.255.254 (256*256*256-2 = 16.777.214 possibilités).
• Un réseau noté 130.104 ne pourra contenir que des ordinateurs dont l’adresse IP sera comprise
entre 130.104.0.1 et 130.104.255.254 (256*256-2 = 65.534 possibilités).
• Un réseau noté 101.106.53 ne pourra contenir que des ordinateurs dont l’adresse IP sera
comprise entre 101.106.53.1 et 101.106.53.254 (256-2 = 254 possibilités). NB: Certaines
adresses IP sont réservées pour des besoins particuliers
• Routage
Les données transmises sur le réseau sont découpées en paquets
Réseau organisé de manière hiérarchique en sous-réseaux (connectés entre eux par des routeurs)
- Quelqu’un de l’UCL Mons souhaite se connecter sur un site Web hébergé par l’UCL Mons.
- Numéros de réseaux identiques
• Routage indirect
Les 2 machines voulant communiquer n’appartiennent pas au même réseau
- Quelqu’un de l’UCL Mons souhaite se connecter sur un site Web hébergé par Google
è Le routeur le détecte et fait parvenir les paquets à tous les routeurs auxquels il est connecté
Les paquets passent de routeur en routeur jusqu’au moment où le paquet arrive au routeur de la
machine réceptrice
77
2.2. Différents services = Différents protocoles
Courrier électronique
Circuit orange à lors d’un envoi d’info à respect des règles – ligne de commande
- Principe ( tj un dialogue)à le client est
obligé d’attendre la réponse du seveur avant de continuer.
Circuit bleu à Réception à une fois les mails envoyés, le serveur les efface quand ils sont copiés en
local.
TCP UDP
IP
Couche physique
2.4.9
STMP POP ou IMAP
But : transférer des courriers ð permet de récupérer les courriers électroniques 2.4.1
électroniques (e-mail) d’un situés sur un serveur de messagerie électronique.
ordinateur vers un autre ordinateur
à travers le réseau Internet . Procédure :
1. Connexion au serveur
2. Identification et authentification
3. Utilisation de commandes
78
Simple Mail Transfert Protocol Post Office Protocol Internet Mail Access
Protocol
79
Le transfert de fichiers
= échange de fichiers numériques entre 2 ordinateurs d’un réseau
TCP UDP
IP
Couche physique
1) Caractéristiques
- S’inscrit dans un modèle client-serveur
- Permet :
• d’échanger des fichiers
• de supprimer ou de modifier des fichiers sur un ordinateur du réseau de manière
efficace.
2) Principe
Procédure :
1. Connexion au serveur
2. Identification et authentification
3. Utilisation de commandes
80
Le world wide web
Ø Définitions
- Site web = ensemble de pages web, hypereliées entre elles , mises en ligne à une adresse web
- Les hyperliens permettent de consulter toutes les pages du site sans le quitter (i.e., sans devoir
consulter une page web hors du site).
- L’adresse web du site correspond en fait à l’adresse d’une page web prévue pour être la
première consultée : la page d’accueil.
Web 1.0
- Site Web = proposer l’accès à des documents - Le contenu des documents est reconstruit à
stockés sur un serveur chaque demande de consultation
- Changement de contenu = accéder physiquement - Le contenu varie en fonction d’informations
au serveur disponibles lors de la consultation (heure, nom de
- Consultation d’une page web = le serveur renvoie l’utilisateur, données fournies par l’utilisateur, etc.)
le contenu du fichier stocké - Toute modification se fait directement dans la base
- Contenu figé de données
- Toute modification se fait directement dans le - Les envois de données se font à l’aide de
fichier source formulaires
Saisir du texte
•
Sélectionner des options
•
Valider
•
Exemples : UCL, ULB, … Exemples : Amazon, Zalando, AliExpress,..
81
Web 2.0
Sites participatifs
- Les internautes ayant peu de connaissances techniques peuvent s’approprier les nouvelles
fonctionnalités du Web (grâce aus CMS)
- L’internaute est « acteur »
• Il crée du contenu (blogs, wikis, etc.)
• Il modifie la structure du Web
• Il crée son propre réseau
ð Facilité d’interaction
Exemple : Wikipedia
1) Principe :
- Contenu stocké dans une base de données
- Présentation définie dans un gabarit
o Mise en page (feuilles de style)
o Informations extraites de la base de données
- Le rédacteur modifie le contenu dans la page Webà la base de données.
2) Avantages :
- Structure et présentation peuvent être gérées dans des documents différents : pas besoin de
se tracasser pour la présentation
- Choix du style : en fonction del’utilisation qui en est faite, des préférences du visiteur, … )
3) Exemples :
- Joomla! (http://www.joomla.fr/)
http: //www.joomla.fr/index.php?option=com_content&view=category&layout=blog&id=21&Itemid=46
- Drupal (https://drupal.org)
- WordPress (https://fr.wordpress.com/)
- Mambo (http://mambo-foundation.org/)
- Wikipédia
82
Ø Evolution (vision technique) (IMPORTANT)
Web 1.0 et Web 2.0
• HyperText Markup Language : langage qui permet de faire des pages Web
o Evolution: 2.0, 3.2, 4.0, XHTML, 5 : mis à jour régulièrement
o XML : langagede programmation
• Feuilles de style en cascade (Cascading Style Sheets)
• Langages de programmation (ex: Javascript)
• Systèmes de Gestion de Contenu / Content Management Systems
HTML
= langage de balises
- Conu pour représenter les pages web :
o Mettre en forme du contenu des pages web
o Inclure des ressources multimédias (images, formulaires, …)
- Exemple :
1) Règles et définitions :
Page HTML = fichier texte
Les balises HTML peuvent être imbriquées pour cumuler leurs effets
• Attention, le chevauchement des balises est déconseillé
• Exemple: <b>Voici un texte en gras, <i> avec une partie en italique </i> </ b>
83
2) Principales balises HTML :
a. Structure du document
b. Formatage
- <h1> … </h1> : niveau de titre
- <p> … </p> : nouveau paragraphe
- <b> … </b> : bold/gras
- <i> … </i> : itallique
- <font size = 7> … </font> : taille de la police dans ce qui suit
- <center> … </center> : centrer le texte
- …
c. Hyperliens
Exemple :
<a href="http://www.uclouvain.be/prog-2013gesm1ba"> Programme du Bachelier en Sciences
de Gestion </a>
d. Listes
- <ol> … </ol> : liste ordonnée
- <ul> … </ul> : liste non-ordonnée
- <li> … </li> : éléments d’une liste (list items)
Exemple :
Ce cours est centré sur la maîtrise des concepts de base de l’informatique <ol>
<li> Langage binaire et logique informatique; </li>
<li> Matériel et logiciel; </li>
<li> Réseaux; </li>
<li> <font size=6> Algorithmique et langages de programmation. </li> </ol>
84
e. Inclusion d’objets
f. Scripts
<script> … </script>
Exemple :
En-tête:
<script type="text/javascript"> function hello(){ alert("Salut les sportifs") } </script>
Corps:
<button onclick="hello()"> Je veux vous dire bonjour </button> Boutons interactif qui fait
apparaître un texte
g. Style du document
1) Principe :
2) Avantages :
3) Notions de cascade
85
CMS (= Séparation du contenu et de la présentation)
Déclaration des styles dans une feuille de style externe : <link … >
Déclaration des styles dans une feuille de style interne (en-tête de page) : <style> … </style>
Déclaration des styles au sein des balises HTML : style dans une balise
Priorité en cascade à on va appliquer le style le plus proche qu’on veut formater.
à sur CSS ( applicable sur toutes les pages) à je le réfère sur les pages que je choisis au lieu de
réécrire sur chaque page le style que je veux adopter.
b. Principe
c. Avantages
Choix du style (en fonction de l’utilisation qui en est faite, des préférences du visiteur, etc.)
d. Rôles
Chaque individu est responsable du contenu de certaines parties précises du site web
Les individus peuvent ajouter, enlever ou modifier le contenu en fonction des droits d’accès dont ils
disposent
86
Ø Le protocole HTTP
TCP UDP
IP
Couche physique
Protocole défini par une série de règles qui spécifient les modalités de communication entre les
serveurs et navigateurs web (clients).
Exemples de clients
• Internet Explorer
• Mozilla Firefox
• Google Chrome
• ETC.
1) Requête HTTP = ensemble de lignes envoyé au serveur par le navigateur
- Ligne de requête (= étapes quand on cherche une page)
o Méthode (Commande) = ce que je veux faire
o URL = savoir quelle page web
o Version du protocole utilisé par le client = quelle langue
87
2) Réponse HTTP
= informations fournies
HTTP/1.1 200 OK
Date: Mon, 25 Jan 2016 23:59:59 GMT
Server: Apache/2.2.16
Content-Type: text/html
Content-Length: 59
Expires: Tue, 26 Jan 2016 00:59:59 GMT
Last-modified: Mon, 21 Dec 2015 12:23:51 GMT
<TITLE>Exemple</TITLE>
<P>Ceci est une page d'exemple.</P>
3) Codes de réponse
1xx Information
2xx Succès
...
404 – File not found
4) HTTPS
Hypertext Transfer Protocol Secure
Garantit la confidentialité et l’intégrité des données envoyées par l’utilisateur et reçues du serveur
Applications
• Transactions financières en ligne
• Consultation de données privées (courrier électronique,…)
88
Ø La gestion des domaines
Domaine = ensemble d’ordinateurs connectés à Internet et possédant une caractéristique commune
Exemples : .be
ð Ordinateurs hébergeant des activités pour des personnes ou des organisations ayant un certain
lien avec la Belgique
chargées de les administrer ccTLD country code Top Level Domain: code indiquant le pays où est
situé la machine
Plusieurs centaines
Administrées par des organisations nationales (.be .fr .uk) ou internationales (.eu)
89
Uniform Ressource Locator
1) Définition
Moyen uniforme et universel pour référencer (et localiser) une information accessible sur Internet
2) Structure
90
DNS
1) Définition
Associer à chaque machine (donc à chaque adresse IP) un nom appelé nom de domaine
2) Principe
Les serveurs racines (13) sont administrés et coordonnés par l’ICANN (Internet Corporation for
Assigned Names and Numbers)
3) Exemple de connexion
1. Le client demande au serveur DNS de lui fournir l’adresse IP de la machine dont le nom est
www.uclouvain.be/mons
2. Le serveur DNS lui envoie l’adresse 10.103.0.60
3. Le client peut ensuite se connecter à la machine
L’adresse d’au moins 1 serveur DNS doit être spécifiée lors de la configuration de son ordinateur.
91
La recherche sur le Web
Indexation
Recherche de nouvelles pages Représentation des documents
Web
Processus continu : Analyse lexicale : le but est de déterminer quelle chaîne de caractères
• Découverte de nouvelles forme un mot valide susceptible d’indexer un document. Le point de départ
pages est le mot (qui est une suite de caractères délimitée par des espaces). Mais en
• Mise à jour de pages pratique cela est plus compliqué avec les nombres, les tirets, les dignes de
existantes : ponctuation et les casses (Paris, La Panne,….). L’application des règles est
92
remplacer toutes les variantes d’un même mot par son unique racine (ni
préfixe, ni suffixe). Exemple : connect (connection, connections, connected,
connecting, disconnecting). Il faut une diminution du nombre de mots pour
représenter le document.
93
Réponse aux requêtes des utilisateurs
94
Exemples de requêtes :
- Requête Q1 : contient les 4 mots-clés « Deep Purple hard rock » utilisée par un utilisateur qui
recherche des documents sur « Deep Purple »
- Requête Q2 : contient les 4 mots-clés « Beatles Lennon McCartney rock » utilisée par un
utilisateur qui recherche des documents sur les « Beatles »
ð Les opérations arithmétiques sont simples, rapides et il y a la fixation d’un seuil (somme,
produit, etc.)
Le modèle basé sur la logique de 1er ordre est un modèle simple et intuitif. Les requêtes sont exprimées
sous la forme d’expressions booléennes (« et », « ou », « négation », etc.). Le poids d’un mot-clé est 1
ou 0 (présent ou absent). Pour Google, les expressions booléennes sont exprimées de la sorte : « », «
ou », « - ».
Exemple 1
Renvoie tous les documents contenant le mot-clé beatles et soit le mot-clé help, soit pas le mot-clé
please
Il y a une difficulté de trouver la bonne équation logique permettant d’obtenir tous les documents
pertinents et aucun document non-pertinent et aussi une difficulté pour maîtriser des équations
complexes. Il y a donc une utilisation principale du « et », cela devient donc un seuil trivial.
Exemple 2
Utilisation, pour Q1 et Q2, de l’opérateur « ET » avec les différents mots-clés
95
Le modèle plus complexe est un calcul de similarité. Plus un document contient de mots-clés utilisés
dans la requête, plus il est considéré comme similaire à la requête. Plus le poids d’un mot-clé utilisé
dans la requête est grand, plus les documents contenant ce mot-clé seront considérés comme pertinents.
- Lorsqu’un créateur d’un page p inclut un hyperlien vers une page q, il confère une certaine
autorité à q. Lorsqu’une page est souvent considéré comme une autorité (c’est-à-dire possédant
beaucoup de liens entrants), elle devrait être intéressante (classée dans les premières).
Types de liens :
- Intrinsèques : pointant vers des documents appartenant au même domaine DNS (navigation
interne à un site)
- Transversaux : pointant vers des documents appartenant à d’autres domaines DNS.
ð Ne tenir compte que des liens (entrants et sortants) transversaux.
96
Page Rank Hits
Authorities
Hubs
Prost Schumacher
97
3. Les dangers d’Internet
- Escroqueries
- Logiciels malveillants :
• Virus
• Logiciel espion
• Cheval de Troie
- Désinformation
• Canulars
• Sites haineux
• Sites personnels véhiculant de fausses informations
• …
98