update tp1

This commit is contained in:
Francois Lesueur 2022-09-03 09:02:15 +02:00
parent 17b412bdd1
commit 60c74d2d9e
2 changed files with 45 additions and 44 deletions

43
tp1-encodage-p2.md Normal file
View File

@ -0,0 +1,43 @@
Décodage
========
> Question 3 : Le destinataire sait-il décoder votre message ?
_(Pas) Bravo, vous venez de créer plusieurs systèmes d'encodage différents et non compatibles, comme l'ont fait les différents acteurs de l'informatique avec le temps !_
> Question 4 : Écrivez une spécification pour décoder.
Transmettez maintenant au destinataire, sur papier et sans discussion de vive voix ensuite, cette spécification.
> Si le décodage est réussi, bravo, vous avez écrit une spécification suffisamment claire et complète pour votre interlocuteur. L'écriture de spécifications complètes et non ambiguës est un exercice difficile que doit savoir faire un développeur.
Efficacité
==========
Lors d'un transfert du texte par un moyen électronique, les caractères seront au final ré-encodés en binaire. Nous considérerons que chaque caractère occupera 1 octet (ce qui, en pratique, sera le cas en général si vous avez choisi des caractères "simples").
> Question 5 : Pour un fichier original binaire de x octets, combien d'octets occupera sa conversion texte selon votre mécanisme ?
Standardisation
===============
Comme vous l'avez constaté, la communication, au cœur du numérique, ne sera possible qu'avec des normes communes : des standards. Ces standards vont des protocoles réseaux de tous niveaux (une carte wifi communique avec un point d'accès selon un standard défini, un navigateur web communique en HTTP avec un serveur web), au format de fichiers (traitement de texte, tableur) en passant par la représentation des nombres (entiers, réels) ou l'ordre des octets (big-endian / little-endian).
Il est donc indispensable pour tous les acteurs (autant matériels que logiciels) de se mettre d'accord sur des standards qui sont soit construit collectivement soit des standards de fait. Vous en rencontrerez de nombreux et cette standardisation implique de spécifier complètement : on trouve ainsi des choix justifiés tout autant que des choix arbitraires (le seul intérêt dans ce cas est d'être tous d'accord). Et évidemment, bien souvent, plusieurs standards pour un même objectif : ce n'est pas (que) de la mauvaise volonté mais un manque de concertation/connaissance comme vous pouvez maintenant le comprendre.
> Question 6 : Proposez collectivement un unique standard d'encodage/décodage entre vous.
![standards](https://imgs.xkcd.com/comics/standards.png)
_[https://xkcd.com/927/](https://xkcd.com/927/)_
Bonus : Base64
==============
L'encodage binaire->texte le plus couramment utilisé est le Base64, dont vous trouverez la description [ici](https://fr.wikipedia.org/wiki/Base64).
> Question 7 : Refaîtes l'encodage et le décodage de votre message en Base64
> Question 8 : Quelle est l'efficacité de Base64 ?

View File

@ -30,50 +30,8 @@ Votre ensemble de départ sera des bits, ce qui est l'élément de base utilisé
Transmission sur un canal texte
===============================
Encodez à la main un fichier binaire court de quelques octets, écrivez le sur un papier et donnez le à un autre binôme du groupe. Arrangez-vous pour que chaque binôme reçoive un message.
Encodez à la main un fichier binaire court de quelques octets, écrivez cet encodage binaire sur un papier et donnez le à un autre binôme du groupe. Arrangez-vous pour que chaque binôme reçoive un message.
> Rappel : un octet est composé de 8 bits, votre fichier d'entrée sera donc composé d'un multiple de 8 bits. Votre encodage doit pouvoir gérer un nombre d'octets quelconques en entrée, quitte à rajouter du _bourrage_ qui devra(it) être clairement reconnaissable.
Décodage
========
> Question 3 : Le destinataire sait-il décoder votre message ?
_(Pas) Bravo, vous venez de créer plusieurs systèmes d'encodage différents et non compatibles, comme l'ont fait les différents acteurs de l'informatique avec le temps !_
> Question 4 : Écrivez une spécification pour décoder.
Transmettez maintenant au destinataire, sur papier et sans discussion de vive voix ensuite, cette spécification.
> Si le décodage est réussi, bravo, vous avez écrit une spécification suffisamment claire et complète pour votre interlocuteur. L'écriture de spécifications complètes et non ambiguës est un exercice difficile que doit savoir faire un développeur.
Efficacité
==========
Lors d'un transfert du texte par un moyen électronique, les caractères seront au final ré-encodés en binaire. Nous considérerons que chaque caractère occupera 1 octet (ce qui, en pratique, sera le cas en général si vous avez choisi des caractères "simples").
> Question 5 : Pour un fichier original binaire de x octets, combien d'octets occupera sa conversion texte selon votre mécanisme ?
Standardisation
===============
Comme vous l'avez constaté, la communication, au cœur du numérique, ne sera possible qu'avec des normes communes : des standards. Ces standards vont des protocoles réseaux de tous niveaux (une carte wifi communique avec un point d'accès selon un standard défini, un navigateur web communique en HTTP avec un serveur web), au format de fichiers (traitement de texte, tableur) en passant par la représentation des nombres (entiers, réels) ou l'ordre des octets (big-endian / little-endian).
Il est donc indispensable pour tous les acteurs (autant matériels que logiciels) de se mettre d'accord sur des standards qui sont soit construit collectivement soit des standards de fait. Vous en rencontrerez de nombreux et cette standardisation implique de spécifier complètement : on trouve ainsi des choix justifiés tout autant que des choix arbitraires (le seul intérêt dans ce cas est d'être tous d'accord). Et évidemment, bien souvent, plusieurs standards pour un même objectif : ce n'est pas (que) de la mauvaise volonté mais un manque de concertation/connaissance comme vous pouvez maintenant le comprendre.
> Question 6 : Proposez collectivement un unique standard d'encodage/décodage entre vous.
![standards](https://imgs.xkcd.com/comics/standards.png)
_[https://xkcd.com/927/](https://xkcd.com/927/)_
Bonus : Base64
==============
L'encodage binaire->texte le plus couramment utilisé est le Base64, dont vous trouverez la description [ici](https://fr.wikipedia.org/wiki/Base64).
> Question 7 : Refaîtes l'encodage et le décodage de votre message en Base64
> Question 8 : Quelle est l'efficacité de Base64 ?
Continuez ensuite sur la [Partie 2](tp1-encodage-p2.md)