La version numérique du sujet fournie en fichier texte (format *.txt) doit être ouverte en tant que braille informatique. Elle sera affichée en braille 6 points. L’application « bloc-notes » des ordinateurs courants, ou des logiciels spécialisés, peut être utilisée. À défaut, reportez-vous à la version en papier. 
Le candidat doit rédiger ses réponses sur un second fichier, et peut demander à un assistant ou à un secrétaire de recopier sa production de façon manuscrite sur une copie.
Un fichier en format *.pdf est également fourni.
La page du document original est indiquée par « PO 1 » pour « page originale n°1 ». Les références aux pages braille (sommaire, références en cours de sujet) font référence au sujet braille embossé.

¨¨po `1
`25-¨¨nsij`2me1
¨braille intégral
¨baccalauréat ¨général
¨épreuve d'enseignement de spécialité
¨session `2025
¨numérique et sciences informatiques
¨épreuve du mercredi `18 juin `2025
¨durée de l'épreuve: `3 heures `30
¨volume `1 -- texte
¨l'usage de la calculatrice n'est pas autorisé.
¨dès que ce sujet vous est remis, assurez-vous qu'il est complet.
¨le sujet comporte `15 pages numérotées de `1 à `15 dans la version originale.
¨la version en braille intégral est composée de deux volumes:
9o ¨volume `1: le sujet de `47 pages numérotées de `1 à `47
9o ¨volume `2: `5 planches tactiles sur papier thermogonflé et une feuille plastique vierge.
¨le sujet est composé de trois exercices indépendants.
¨le candidat traite les trois exercices.
`;¨le signe de modification mathématique est omis sur les planches tactiles.„'
¨sommaire
9o ¨exercice `1 `4
¨partie ¨a `4
¨partie ¨b `7
¨partie ¨c `12
9o ¨exercice `2 `19
9o ¨exercice `3 `29
¨partie ¨a `29
¨partie ¨b `40
¨partie ¨c `42
¨¨po `2
¨exercice `1 (`6 points)
¨cet exercice porte sur les arbres binaires et la programmation ¨python.
¨le codage de ¨shannon-¨fano est un système de codage utilisé pour la compression sans pertes de données. ¨il a été mis au point par ¨robert ¨fano d'après une idée de ¨claude ¨shannon.
¨partie ¨a
¨dans cette partie, on va étudier l'utilisation des arbres de codage.
¨un arbre de codage est un arbre binaire où chaque feuille contient un symbole du texte que l'on souhaite coder. ¨le code binaire d'un symbole s'obtient alors en concaténant les `0 et les `1 sur les branches qui mènent de la racine à la feuille contenant ce symbole. ¨par exemple, pour l'arbre de codage donné en ¨figure `1, le symbole c est codé par le mot binaire `1101, tandis que d est codé par le mot binaire `11000. ¨les codes binaires des symboles ne sont donc pas tous de la m2me taille. ¨pour décoder un mot binaire, il suffit de descendre dans l'arbre, depuis la racine, selon les `0 et les `1 qu'on lit jusqu'à trouver une feuille (et donc un symbole), puis de recommencer avec la suite du mot binaire pour décoder les symboles suivants.
¨figure `1. ¨exemple d'arbre de codage
`;¨voir planche tactile n´o `1. ¨pour éviter toute confusion, la virgule présentée dans une des feuilles est notée à la suite de l'indicateur de valeur de base ainsi: „,„'
`1. ¨écrire le mot binaire qui sera utilisé pour encoder le caractère espace, représenté par le symbole ´- dans l'arbre.
`2. ¨déterminer le texte codé par le mot binaire `0001110101111110011001.
¨¨po `3
`3. ¨citer le type de parcours de l'arbre qui permettrait d'obtenir les symboles classés par taille d'encodage croissante.
¨partie ¨b
¨dans cette partie, on va utiliser le codage de ¨shannon-¨fano pour encoder le texte:
je pense, donc je suis
¨dans la méthode de ¨shannon-¨fano, l'arbre de codage est calculé pour un texte donné par l'algorithme suivant.
9o ¨étape `1: classer les symboles du texte par nombre d'occurrences croissant;
9o ¨étape `2: en gardant le classement obtenu, séparer les symboles en deux sous-groupes de sorte que les totaux des nombres d'occurrences soient les plus proches possibles dans les deux sous-groupes;
9o ¨étape `3: placer tous les symboles du premier groupe dans le fils gauche (c4té étiqueté par `1), et ceux du second groupe dans le fils droit (c4té étiqueté par `0);
9o ¨étape `4: recommencer récursivement pour chacun des sous-groupes jusqu'à ce qu'ils n'aient plus qu'un seul symbole; on a alors une feuille étiquetée par ce symbole.
¨après avoir classé les symboles par nombre d'occurrences croissant (étape `1), on obtient le tableau suivant:
`;¨tableau traité en colonnes et en deux parties, (¨a) et (¨b), page braille suivante.„'
`;¨abréviations:
s: symbole
no: nombre d'occurrences„'
`;¨le signe numérique est omis dans le tableau suivant.„'
(¨a)
s: i; u; c; o; d; „,
no: 1; 1; 1; 1; 1; 1
(¨b)
s: p; n; j; s; ´-; e
no: 1; 2; 2; 3; 4; 4
`4. ¨justifier par le calcul que l'étape `2 mène à la situation illustrée par la ¨figure `2.
¨figure `2. ¨le résultat de l'étape `2
`;¨voir planche tactile n´o `2. ¨la virgule est précédée de l'indicateur de valeur de base „,.„'
¨en appliquant l'algorithme de ¨shannon-¨fano, on peut obtenir l'arbre de la ¨figure `3.
¨¨po `4
¨figure `3. ¨arbre de codage obtenu par l'algorithme de ¨shannon-¨fano
`;¨voir planche tactile n´o `3.„'
¨on rappelle qu'un arbre réduit à un seul n9ud, c'est-à-dire réduit à une feuille, est de hauteur `0.
`5. ¨donner la hauteur de l'arbre de la ¨figure `3 et préciser dans le contexte de l'exercice ce qu'elle représente.
¨on rappelle que dans le code ¨¨ascii, chaque symbole est codé sur un octet.
`6. ¨justifier, en comparant le codage ¨¨ascii et le codage de ¨shannon-¨fano, que ce second codage permet d'utiliser environ deux fois moins d'octets pour le texte:
je pense, donc je suis
`7. ¨dessiner, en vous inspirant de l'arbre de la ¨figure `1, un arbre de codage qui permettrait d'encoder le mot "chiffrer" en utilisant l'algorithme de ¨shannon-¨fano.
`;¨pour répondre à cette question, une feuille plastique vierge est proposée en fin de volume `2.„'
¨partie ¨c
¨dans cette partie, on souhaite écrire une fonction ¨python qui donnera le mot binaire obtenu pour coder un texte avec l'algorithme de ¨shannon-¨fano. ¨on commence par la fonction creer´-dico´-occ:
¨¨po `5
`1 ¸def creer´-dico´-occ(texte):
`2 """renvoie un dictionnaire dont les clés sont les
`3 symboles de texte et les valeurs associées leur
`4 nombre d'occurences dans texte"""
`5 dico `" ¨(¨)
`6 ¸for symbole ¸in texte:
`7 ¸if symbole in dico:
`8 dico¤(symbole)b `" ...
`9 ¸else:
`10 dico¤(symbole)b `" ...
`11 ¸return dico
`8. ¨recopier et compléter les lignes `8 et `10 du code de la fonction creer´-dico´-occ.
¨on dispose d'une fonction creer´-tab´-trie qui prend en paramètre un dictionnaire construit avec la fonction creer´-dico´-occ et qui renvoie une liste de tuples classés dans l'ordre croissant d'occurrences des symboles.
¨par exemple:
´@´@´@ texte `" 'je pense, donc je suis'
´@´@´@ dico `" creer´-dico´-occ(texte)
´@´@´@ creer´-tab´-trie(dico)
¤(('i', `1), ('u', `1), ('c', `1), ('o', `1), ('d', `1), (',', `1), ('p', `1), ('n', `2), ('j', `2), ('s', `3), (' ', `4), ('e', `4))b
`9. ¨écrire une fonction somme´-occ qui prend en paramètres un tableau tab de tuples (symbole, nb´-occ) et qui renvoie la somme des nombres d'occurrences des symboles du tableau. ¨les tuples utilisés sont de m2me structure que l'élément renvoyé dans l'exemple précédent.
¨on suppose pour la suite qu'on dispose d'une fonction separe qui sépare un tableau trié en deux sous-tableaux de manière à ce que les sommes de ces derniers soient les plus proches possible:
`1 ¸def separe(tab):
`2 moitie `" somme´-occ(tab) // `2
`3 somme `" `0
`4 i `" `0
`5 ¸while moitie ´@ somme:
`6 somme `" somme `! tab¤(i)b¤(`1)b
`7 i `" i `! `1
`8 tab`1 `" ¤(tab¤(k)b ¸for k ¸in range(`0, i))b
`9 tab`2 `" ¤(tab¤(k)b ¸for k ¸in range(i, len(tab)))b
`10 ¸return tab`1, tab`2
`10. ¨recopier et compléter les lignes `9 et `11 du code de la fonction récursive shannon qui prend en paramètres un caractère symbole et un tableau trié tab et qui renvoie l'écriture binaire associée à symbole dans le tableau tab.
¨¨po `6
`1 ¸def shannon(symbole, tab):
`2 """renvoie l'écriture binaire associée à symbole
`3 dans le tableau trié tab"""
`4 ¸if len(tab) `"" `1:
`5 ¸return ""
`6 ¸else:
`7 t`1, t`2 `" separe(tab)
`8 ¸if symbole ¸in ¤(elt¤(`0)b ¸for elt ¸in t`1)b:
`9 ¸return "`1" `! ...
`10 ¸else:
`11 ¸return "`0" `! ...
`11. ¨décrire ce qui garantit la terminaison de la fonction récursive shannon.
`12. ¨écrire une fonction encode´-shannon qui prend en paramètre un texte de type str et renvoie un mot binaire de type str obtenu après encodage par l'algorithme de ¨shannon-¨fano.
¨on pourra utiliser les fonctions vues précédemment qui sont recensées ci-après.
creer´-dico´-occ(texte)
renvoie un dictionnaire dont les clés sont les symboles du texte et les valeurs associées leur nombre d'occurrences
creer´-tab´-trie(dico)
renvoie la liste créée à partir d'un dictionnaire de couples (symbole, nb´-occ)
separe(tab)
renvoie le tuple composé des `2 sous-tableaux triés avec des sommes d'occurences proches shannon(symbole, tab)
renvoie l'écriture binaire associée au symbole dans le tableau trié tab
¨¨po `7
¨exercice `2 (`6 points)
¨cet exercice porte sur les bases de données relationnelles, le langage ¨¨sql et la programmation.
¨une ludothèque municipale a décidé de moderniser sa gestion en créant une base de données informatique. ¨cette base de données permettra de suivre les jeux disponibles, les emprunts effectués par les adhérents, ainsi que les avis laissés sur les différents jeux. ¨pour commencer, quatre tables principales ont été identifiées: jeu, adhérent, emprunt et avis. ¨ces tables et leurs relations vont permettre de stocker toutes les informations essentielles au bon fonctionnement de la ludothèque. ¨on va considérer que la ludothèque n'a ¸qu'un ¸exemplaire de chaque jeu (deux jeux de la ludothèque ne peuvent donc pas avoir le m2me nom).
¨figure `1. ¨la base de données de la ludothèque
`;¨voir planche tactile n´o `4.„'
¨dans la figure ci-dessus `;(de la planche tactile n´o `4)„', les clés primaires de chacune des tables sont `;mises en évidence pas le symbole "¸"„', et les clés étrangères sont précédées du symbole ´0.
¨¨po `8
¨dans cet exercice, on pourra utiliser les clauses du langage ¨¨sql pour:
9o construire des requ2tes d'interrogation à l'aide de ¨¨select, ¨¨from, ¨¨where (avec les opérateurs logiques ¨¨and, ¨¨or) et ¨¨join ... ¨¨on;
9o construire des requ2tes d'insertion et de mise à jour à l'aide de ¨¨update, ¨¨insert et ¨¨delete;
9o affiner les recherches à l'aide de ¨¨distinct et ¨¨order ¨¨by;
9o réaliser des agrégations à l'aide de ¨¨count.
¨par exemple, l'instruction ¨¨sql:
¸¨¨select ¨¨count(-nom¨jeu) ¸¨¨from jeu;
donne le nombre de jeux présents dans la table jeu.
`1. ¨expliquer pourquoi on ne peut pas prendre l'attribut nom comme clé primaire pour la relation adherent.
`2. ¨décrire ce que donne la requ2te ¨¨sql suivante:
¸¨¨select nom¨jeu, editeur
¸¨¨from jeu
¸¨¨order ¸¨¨by nom¨jeu;
¨lorsqu'un jeu est emprunté et n'a pas encore été rendu, la valeur de l'attribut date¨rendu de la table emprunt est à ¨¨null.
`3. ¨écrire une requ2te permettant de connaitre le nom de tous les jeux qui sont en cours d'emprunt.
`4. ¨écrire une requ2te ¨¨sql pour afficher le nom et le prénom de tous les adhérents qui ont emprunté le jeu "¨catan".
`5. ¨claire ¨¨voyant, adhérente de longue date à cette ludothèque, a emprunté le jeu "¨catan" et l'a rendu le `3 juin `2025. ¨lors de l'emprunt, la valeur de id´-emprunt était `1538. ¨écrire une requ2te ¨¨sql qui a permis de mettre à jour la base de données afin qu'elle prenne en compte que ce jeu a été rendu. ¨toutes les dates de la base de données sont écrites sous le format '¨¨aaaa-mm-jj'.
`6. ¨écrire une requ2te ¨¨sql qui permet de trouver le nom et la catégorie de tous les jeux de la ludothèque sortis à partir de `2010 et dont l'1ge minimum est strictement inférieur à `10 ans.
¨la ludothèque décide d'organiser des événements. ¨pour cela, elle ajoute une relation evenement à sa base de données. ¨en outre, pour chaque événement, elle souhaite garder en mémoire une trace des adhérents qui y ont participé. ¨à cette fin, elle complète sa base avec une relation participation.
¨¨po `9
¨figure `2. ¨la base de données de la ludothèque actualisée
`;¨voir planche tactile n´o `5„'
`7. ¨proposer les clés étrangères de la table participation en précisant le nom des attributs auxquels elles font référence.
¨le programme ¨python suivant permet de créer la liste de tous les jeux empruntés, sachant que, dans celle-ci, un jeu va appara3tre autant de fois qu'il a été emprunté.
`1 ¸import sqlite`3
`2
`3 ´0 ¨connexion à la base de données
`4 connection `" sqlite`3.con nect("ludotheque.db")
`5 curseur `" connection.cursor()
`6
`7 ´0 ¨exécution de la requ2te
`8 curseur.execute("¨¨select nom¨jeu ¨¨from emprunt")
`9
`10 ´0 ¨récupération des résultats
`11 jeux `" curseur.fetchall()
`12
`13 liste `" ¤()b
`14 ´0 ¨création de la liste des jeux empruntés
`15 ¸for jeu ¸in jeux:
`16 liste.append(jeu¤(`0)b)
`17
`18 ´0 ¨fermeture de la connexion
¨¨po `10
`19 curseur.close()
`20 connection.close()
`8. ¨écrire un script ¨python permettant de créer le dictionnaire dict´-emprunts qui, à chaque jeu emprunté, associe le nombre de fois où il a été emprunté.
¨on veut créer un podium des jeux les plus souvent empruntés. ¨comme il peut y avoir des égalités à la première, deuxième ou troisième place, il peut y avoir plus de trois jeux sélectionnés sur le podium.
¨par exemple, si le dictionnaire des emprunts est:
`1 dict´-emprunts `" ¨(
`2 "¨terraforming ¨mars": `25,
`3 "¨codenames": `22,
`4 "¨agricola": `18,
`5 "¨puerto ¨rico": `18,
`6 "¨caylus": `18,
`7 "¨dominion": `22,
`8 "¨dixit": `12
`9 ¨)
il y aura sur le podium les jeux "¨agricola", "¨puerto ¨rico" et "¨caylus" puis les jeux "¨dominion" et "¨codenames" et enfin
le jeu "¨terraforming ¨mars".
¨pour modéliser ce podium en ¨python, on va utiliser une liste de trois listes.
¨pour l'exemple précédent, cette liste sera:
¤(¤("¨agricola", "¨puerto ¨rico", "¨caylus")b,
¤("¨dominion", "¨codenames")b, ¤("¨terraforming ¨mars")b)b.
`9. ¨proposer un script ¨python permettant de générer ce podium.
¨exercice `3 (`8 points)
¨cet exercice porte sur la programmation de base en ¨python, la sécurisation des communications et les réseaux.
¨partie ¨a -- ¨la méthode du masque jetable
¨dans cette partie, on s'intéresse à une méthode de chiffrement dite du ¸masque ¸jetable. ¨voici ce que l'on peut lire sur le site ¨wikipédia:
¨le chiffrement par la méthode du ¸masque ¸jetable consiste à combiner le message en clair avec une clé présentant les caractéristiques très particulières suivantes:
9o la clé doit 2tre une suite de caractères au moins aussi longue que le message à chiffrer;
¨¨po `11
9o les caractères composant la clé doivent 2tre choisis de façon totalement aléatoire;
9o chaque clé, ou "masque", ne doit 2tre utilisée qu'une seule fois (d'où le nom de ¸masque ¸jetable).
¨illustrons cette méthode par un exemple: on souhaite chiffrer le message ¨¨hello avec la clé aléatoire, ou "masque", ¨¨wmckl.
¨pour cela, on attribue un nombre à chaque lettre, par exemple le rang dans l'alphabet, de `0 à `25.
`;¨tableaux linéarisés et transposés en colonnes, pages braille `31 et `32.„'
¨tableau de correspondance
¨lettre ¨rang
¨a `0
¨b `1
¨c `2
¨d `3
¨e `4
¨f `5
¨g `6
¨h `7
¨i `8
¨j `9
¨k `10
¨l `11
¨m `12
¨n `13
¨o `14
¨p `15
¨q `16
¨r `17
¨s `18
¨t `19
¨u `20
¨v `21
¨w `22
¨x `23
¨y `24
¨z `25
¨ensuite, on additionne la valeur du rang de chaque lettre du message avec la valeur du rang correspondante dans le masque.
¨enfin, si le résultat est supérieur à `25 on soustrait `26 (calcul dit "modulo `26").
¨ainsi, le chiffrement du message ¨¨hello avec la clé ¨¨wmckl donne le message chiffré ¨¨dqnvz comme le montre l'illustration suivante.
¨figure `1. ¨exemple de chiffrement par la méthode du ¸masque ¸jetable
`;¨illustration transcrite sous forme d'un tableau linéarisé„'
éé; `7 (¨h); `4 (¨e); `11 (¨l); `11 (¨l); `14 (¨o); message;
`!: `22 (¨w); `12 (¨m); `2 (¨c); `10 (¨k); `11 (¨l); masque
`"; `29; `16; `13; `21; `25; masque `! message;
`"; `3 (¨d); `16 (¨q); `13 (¨n); `21 (¨v); `25 (¨z); masque `! message ¨modulo `26
¨source: d'après l'article ¸masque ¸jetable de ¨wikipédia en français (https://fr.wikipedia.org/wiki/¨masque-jetable)
¨dans cet exercice, on ne travaillera que sur des cha3nes de caractères écrites en majuscules non accentuées (les `26 caractères allant de '¨a' à '¨z').
`1. ¨chiffrer, par la méthode du ¸masque ¸jetable, le message ¨¨libre à l'aide de la clé ¨¨eyqmt.
¨¨po `12
¨en ¨python, on crée une fois pour toute la variable alphabet qui sera accessible et utilisable dans toutes les fonctions. ¨celle-ci contient la liste des `26 lettres de l'alphabet rangées dans l'ordre alphabétique:
alphabet `" :¨¤('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', '¨z')b
`2. ¨écrire une fonction ¨python indice qui prend pour paramètre une liste ¨l et renvoie l'indice de element dans la liste ¨l.
¨on supposera que chaque élément de la liste ¨l n'y appara3t qu'une seule fois et que element est bien présent dans la liste ¨l.
¨par exemple, l'appel indice(alphabet, '¨k') renvoie l'entier `10.
`3. ¨écrire une fonction ¨python lettres´-vers´-indices qui prend pour paramètre une cha3ne de caractères et renvoie, dans l'ordre, la liste des indices de ces caractères dans l'alphabet.
¨par exemple, l'appel lettre s´-vers´-indices('¨¨hello') renvoie la liste d'entiers ¤(`7, `4, `11, `11, `14)b.
¨on dispose également d'une fonction indices´-vers´-lettres, qu'on ne demande pas d'écrire, permettant de convertir une liste d'entiers, compris entre `0 et `25, en une cha3ne de caractères.
¨par exemple, l'appel indices´-vers´-lettres(¤(`3, `16, `13, `21, `25)b) renvoie la cha3ne de caractères '¨¨dqnvz'.
¨ci-après, on donne une fonction ¨python chiffrement incomplète, qui, à partir d'un message msg et d'une clé cle entrés en paramètres, renvoie la cha3ne de caractères représentant le message chiffré par la méthode du ¸masque ¸jetable.
`1 ¸def chiffrement(msg, cle):
`2 ¸assert len(cle) ´@`" len(msg), 'impossible'
`3 indices´-msg `" lettres´-vers´-indices(msg)
`4 indices´-cle `" lettres´-vers´-indices(cle)
`5 n `" len(msg)
`6 indices´-msg´-chiffre `" ¤()b
`7 ¸for k ¸in range(n):
`8 ind `" ...
`9 ¸if ind ´@`" `26:
`10 ind `" ...
`11 indices´-msg´-chiffre.append(i nd)
`12 msg´-chiffre `" indices´-vers´-lettres(...)
`13 ¸return msg´-chiffre
`4. ¨recopier et compléter les lignes `7 à `13 de la fonction chiffrement.
¨¨po `13
`5. ¨indiquer, en justifiant, ce que l'on observe lors de l'appel chiffrement('¨¨reseau', '¨¨gftz').
¨on s'intéresse maintenant au déchiffrement d'un message chiffré par la méthode du ¸masque ¸jetable.
¨par exemple, le déchiffrement du message ¨¨dqnvz avec la clé ¨¨wmckl donne le message ¨¨hello.
`6. ¨déchiffrer le message ¨¨gmedh avec la clé ¨¨fveit.
`7. ¨expliquer comment procéder pour déchiffrer un message lorsqu'on conna3t la clé.
¨on souhaite maintenant écrire, en ¨python, une fonction dechiffrement qui permet de déchiffrer un message chiffré par la méthode du ¸masque ¸jetable.
¨pour cela, on s'inspire de la fonction chiffrement dans laquelle les paramètres ainsi que les lignes `2 à `5 sont inchangées. ¨on décide cependant de remplacer, ligne `6, le nom de la variable indices´-msg´-chiffre par le nom plus explicite indices´-msg´-dechiffre.
`8. ¨adapter les lignes `6 à `13 de la fonction chiffrement pour obtenir la nouvelle fonction dechiffrement.
¨partie ¨b -- ¨sécurisation des communications
`9. ¨expliquer la différence entre un algorithme de chiffrement symétrique et un algorithme de chiffrement asymétrique.
¨alice souhaite envoyer un message à ¨bob par l'intermédiaire d'un réseau informatique en utilisant un algorithme de chiffrement asymétrique.
¨pour cela, ¨bob envoie à ¨alice sa clé publique. ¨alice chiffre ensuite le message à l'aide de la clé publique de ¨bob qu'elle vient de recevoir, puis elle envoie ce message chiffré à ¨bob.
`10. ¨indiquer comment ¨bob peut déchiffrer le message que lui envoie ¨alice.
`11. ¨expliquer comment une tierce personne pourrait se faire passer pour ¨alice sans que ¨bob ne s'en aperçoive.
`12. ¨expliquer brièvement le fonctionnement du protocole ¨¨https.
`13. ¨expliquer pourquoi, pour sécuriser intégralement les communications sur ¨internet, on utilise le protocole ¨¨https plut4t qu'un chiffrement asymétrique.
¨partie ¨c -- ¨réseaux
¨bob et ¨marc travaillent pour une petite compagnie d'assurances.
¨¨po `14
¨leurs postes de travail font partie d'un m2me réseau local géré par l'administratrice système qui dispose du bloc d'adresses ¨i¨pv`4 `192.168.110.0/24.
¨la notation /`24 situé à la suite de l'adresse `192.168.110.0 signifie que le masque de sous-réseau du réseau de cette entreprise est `255.255.255.0: les trois premiers octets d'une adresse ¨i¨p sur ce réseau permettent donc d'identifier la partie réseau de l'adresse, alors que le dernier octet permet d'identifier la partie h4te et est propre à chaque machine sur le réseau. ¨ce sous-réseau permet donc d'attribuer `256 adresses ¨i¨pv`4 différentes.
¨l'administratrice choisit alors d'attribuer, en représentation décimale, l'identifiant `115 pour la partie h4te du poste de travail de ¨bob et l'identifiant `153 pour celui de ¨marc.
¨depuis son poste de travail, ¨marc souhaite tester la communication avec celui de ¨bob. ¨pour cela, il exécute la commande ping `192.168.100.115 et obtient l'affichage suivant:
--- `192.168.100.115 ping statistics ---
`4 packets transmitted, `0 received, `100´ó packet loss, time `3060 ms
`14. ¨expliquer l'affichage obtenu et corriger l'erreur de ¨marc.
¨afin d'améliorer les performances et la sécurité du réseau de l'entreprise, l'administratrice système décide de séparer le réseau local en plusieurs sous-réseaux et de les relier entre eux par des routeurs. ¨pour cela, elle modifie le masque de sous-réseau qui devient `11111111.11111111.111 11111.11100000, donné ici en représentation binaire.
`15. ¨donner la représentation décimale de ce masque de sous-réseau.
¨pour obtenir l'adresse ¨i¨pv`4 du sous-réseau auquel appartient une machine, il suffit d'appliquer l'opérateur binaire ¸¨¨et, bit à bit, entre le masque de sous-réseau et l'adresse ¨i¨pv`4 de la machine.
¨par exemple, prenons le dernier octet de l'adresse ¨i¨pv`4 de ¨bob dont la représentation binaire est `01110011: en appliquant bit à bit l'opérateur binaire ¸¨¨et entre cet octet et l'octet correspondant dans le masque, on obtient le dernier octet de l'adresse du sous-réseau, soit `01100000.
`;¨le signe de modification mathématique est omis dans le code suivant.„'
1 1 1 0 0 0 0 0 (224)
¨¨et 0 1 1 1 0 0 1 1 (115)
--------------------
0 1 1 0 0 0 0 0 (96)
¨le poste de travail de ¨bob est donc sur le sous-réseau d'adresse `192.168.110.96.
¨¨po `15
`16. ¨indiquer le nombre total d'adresses ¨i¨pv`4 pouvant 2tre attribuées sur le sous-réseau d'adresse `192.168.110.96 sur lequel se trouve ¨bob.
¨l'administratrice système attribue maintenant l'adresse ¨i¨pv`4 `192.168.110.134 au poste de travail de ¨zoé, nouvelle employée de la compagnie d'assurances.
`17. ¨donner la représentation binaire du nombre `134.
¨depuis son poste de travail, ¨zoé exécute les deux commandes suivantes:
9o commande n´o `1:
ping `192.168.110.115;
9o commande n´o `2:
ping `192.168.110.153.
`18. ¨indiquer, en justifiant, laquelle de ces deux commandes a produit l'affichage:
`4 packets transmitted, `4 received, `0´ó packet loss, time `3002 ms
