Les deux facettes du codage : le «C»

Quand on parle de l'ABCD de l'informatique on arrive rapidement au «C» comme codage.

A ? comme Algorithme !

C'est ce concept (il est facile de savoir de quoi il s'agit) dont nous avons besoin pour comprendre le numérique : cet objet abstrait qui fait que les machines calculent de manière fabuleusement rapides et efficaces mais restent totalement dénuées de pensées. Nous en reparlerons plus tard.

B ? comme … ah ben comme Binaire, pardi.

C ? comme …

… comme Codage.

«Codage ?» Oui, le reflet numérique des objets de notre vie.

 Codons d'abord un atome d'information : «oui ou non».Ah ben oui, répondre par oui ou par non, c'est bien donner une information, non ? En fait, c'est donner une information minimale, binaire. Disons : un 0 pour oui et 1 pour non. Ou l'inverse, mais surtout mettons nous d'accord ! Et si quelqu'un fait moins que binaire (répond toujours 0 ou toujours oui), on ne risque pas d'apprendre quelque chose!

Ce qui est amusant, par exemple quand on «joue au portrait», c'est que rien qu'en répondant oui ou non … on va pouvoir deviner y compris un personnage très très inattendu ou compliqué.

En fait, c'est tout à fait sérieux : regardons quelles informations numériques peuvent se coder en binaire.

Par exemple les nombres décimaux comme nous l'explique Sylvie ici ou http://interstices.info plus complètement ici.

Et puis les lettres aussi, par exemple disons 00000 pour A, 00001 pour B, 00010 pour C, et si vous continuez ainsi tout l'alphabet, donc tous les mots, tous les textes se retrouvent codés. C'est le «00001 00000 000010000» (euh pardon le «B A BA») du codage ça.

Et puis les images dont les pixels peuvent devenir des nombres, codés en binaire, et puis les sons dont chaque échantillon devient un nombre numérique, donc les vidéos et tout le multi-média.

Et puis nos données : notre identité civile, et au delà nos qualités, nos goûts : pour chaque item, on convient de standardiser les valeurs à donner à une variable qui spécifie une partie de ces données. Par exemple pour la couleur des yeux on convient de dire : «bleu», «brun», «noir» ou «vert», au risque de biaser le codage de la couleur chatoyante d'un regard mordoré.

 Oh, excusez-moi, je viens de recevoir un SMS :

Cher Client,
Avant l'informatisation de nos services, vous n'étiez pour nous, qu'un simple numéro. Désormais, vous êtes beaucoup plus : vous êtes 11 digits, 14 caratères alpha-numériques, 25 items à choix multiples et 13 autres numéros …

Ah. Bon, c'est clair. On peut coder beaucoup de choses, mais pas forcément toutes choses humaines.

Toutes les données et informations formalisables ont donc un reflet numérique. Bien faire comprendre cette idée nos enfants, leur donne une des clés de l'éducation au numérique. Cette éducation qui doit leur permettre de ne pas uniquement consommer les objets numériques, mais surtout les maîtriser afin de construire à leur tour les objets numériques ou les usages qui leur sied.

Concrètement ? Comment apprendre cette notion de codage à nos enfants. Voici ici des éléments pour répondre à leur question «Dis maman (ou papa), mais comment sont codés les objets numérique ?

Nous voilà donc en train de concrétiser cette idée, souvent bien vague, que « les objets sont codés en binaire dans les ordinateurs ». On voit que ce codage est un choix, une convention entre les individus, exactement comme le langage. Ce qui est intéressant pour l’enfant de tout âge, c’est que cela aide à faire la différence entre le réel et le virtuel. Le codage d’un son ou d’une scène visuelle n’est que le reflet numérique de cet objet réel. Il y a le « S » que je dessine avec de la peinture, il est fait de matière. Il y a ensuite le codage du « S », ce paquet de 0 et de 1, qui ne représente le « S » que parce qu’on le veut bien.

Ensuite, le fait que nos données (textes, sons, images, ..) soient devenus numériques permet de traiter l'information qu'elles contiennent avec des fonctions « universelles » : mémoriser, transmettre, dupliquer, compresser, crypter nos données se font avec des mécanismes similaires quels que soient leur nature. C'est un bouleversement par rapport au temps où la musique était sur des disques vinyles et les photos sur des plaques argentiques, comme nous l'explique Gérard Berry dans sa belle conférence.

Le codage, bien entendu, au delà des objets statiques (de nos données donc), concerne aussi des objets dynamiques (de la programmation donc) des actions, des événements, et …

… c'est la deuxième facette de cet ABCDaire.


5 commentaires pour “Les deux facettes du codage : le «C»”

  1. patricedusud Répondre | Permalink

    Comme dirait Alfred Korzybski (et non Michel Houellebecq) la carte n'est pas le territoire et le codage n'est pas l'objet.
    J'ai souvenir d'une démonstration que le codage le plus "efficace" devrait être théoriquement la valeur e = 2,71828... , ce qui justifia les tentatives d'ordinateurs ternaires (essentiellement faites par les ruses (comme le Setun, conçu en 1958 en Union soviétique à l'Université d'État de Moscou par Nikolaï Broussentsov).
    Mais le binaire était beaucoup plus simple à maitriser technologiquement (deux états actif ou inactif) et il s'imposa d'abord dans sur les ordinateurs avant de s'imposer dans le monde numérique dans lequel nous baignons. Aujourd'hui lorsque nous parlons du génome humain, du code de la vie, c'est de son image en binaire dont nous parlons.
    PS :
    Si quelqu'un pouvait me retrouver la démonstration sur l'optimum du codage en base e, je suis preneur.

    • Thierry Vieville Répondre | Permalink

      je sèche, mais c'est très intéressant : deviner de quel optimisation e est il la valeur optimale !
      Amicalement

  2. patricedusud Répondre | Permalink

    Vous aviez rectifier bien sûr je parlais des Russes et non des ruses quoiqu'on puisse soupçonner une ruse de leur part pour supplanter l’hégémonie américaine..
    Pour ce qu'on optimise j'ai bien sûr la réponse mais je laisse le suspens insupportable que Thierry entretient. 🙂

Publier un commentaire