Mise en projet
L'interface la plus commune pour entrer du texte dans un ordinateur est le clavier. Nous allons voir sur quels principes généraux et technologiques va fonctionner ce clavier pour "changer" un texte en une suite de nombres binaires.
Entrer du texte
Le plus petit constituant d'un texte est le caractère, chacun des caractères du texte devra être codé en un nombre binaire. Comment tout cela va-t-il se passer ?
Le principe
Avant de trouver un moyen technologique pour transformer un caractère en un nombre binaire, il faut se mettre d'accord sur les valeurs à accorder aux différents caractères du clavier. La première table internationale adoptée à grande échelle a été le code ASCII (American Standard Code for Interface Interchange, c'est-à-dire : code américain standard pour l'échange dans les interfaces).
Comme on n'était qu'au tout début de l'informatique, que les écrans étaient uniquement textes et non graphiques et que le bus était de 8 fils (256 valeurs), le code ASCII s'est basé sur les valeurs suivantes :
- Les 128 derniers caractères (de 128 à 255) ont été réservés pour des éléments graphiques permettant de faire quand même quelques "jolis" tableaux à l'écran texte;
- Les 32 premiers caractères (de 0 à 31) ont été réservés pour les codes de commande de la machine;
- Les valeurs restantes (de 32 à 127) devaient donc accueillir les caractères courants (chiffres, majuscules et minuscules), la ponctuation et les autres symboles du clavier.
Voici un tableau schématisant "les places restantes". Il peut être survolé ou analysé en profondeur afin d'en découvrir la "beauté technologique". Dans les places restantes devaient être "casés" 10 chiffres, 26 majuscules et 26 minuscules, et ce ceci de façon aussi "intelligente" que possible. Voici la démarche adoptée :
- Commencer ces trois séries de caractères à des valeurs binaires aussi "rondes" que possible (possédant un minimum de 1);
- Faire suivre les séries en fonction de leurs successions naturelles (c'est un minimum!);
Les séries de caractères ont donc été introduites dans la table de la façon suivante :
- La valeur de chaque chiffre sera égale à 48 + la valeur du chiffre;
- La valeur de chaque majuscule sera égale à 64 + sa position dans l'alphabet;
- La valeur de chaque minuscule sera égale à 96 + sa position dans l'alphabet;
- Les places restantes seront utilisées pour caser la ponctuation et les symboles du clavier.
Ceci donne le résultat suivant :
Les suites de 0 et 1 sont des nombres binaires, les autres, des nombres décimaux.
Au croisement des lignes et des colonnes, les valeurs s'ajoutent.
Les cases de 0 à 31 et de 128 à 255 ont été omises dans ce tableau.
Avec l'internationalisation de l'informatique et la montée en puissance des machines, les tables de caractères ont évolué progressivement pour en arriver maintenant à la table de caractères utf-8 qui prend en compte l'ensemble des alphabets mondiaux et de leurs signes.
L'outil
Le clavier présente un grand nombre de touches disposées en lignes et en colonnes. Comment faire pour repérer la touche ou la combinaison de touches enfoncée.s ?
(Normalement, les touches enfoncées seules permettent d'obtenir des minuscules. Si on enfonce simultanément la touche "Majuscule" et une lettre, on obtient cette lettre en majuscule. Si la combinaison se fait avec la touche "Contrôle", on obtient dans certains cas un raccourci de commande,...)
Schéma d'un clavier AZERTY français d'ordinateur, via Wikimedia Commons*
Les claviers belge, canadien,... auront une disposition des touches légèrement différente
Le principe est assez simple à comprendre, même si sa mise en œuvre technologique est nettement plus complexe.
Un fil est placé sous chacune des lignes de touches et un fil est placé aussi sous chacune des colonnes. La pression sur la touche met en contact les deux fils et, s'il arrive du courant par un fil de ligne, il ressortira par la colonne de laquelle la touche est enfoncée.
Contact entre un fil de ligne et un fil de colonne : la touche "q" est enfoncée
Naturellement, pour repérer le bon croisement de fils, il ne faut pas que toutes les lignes soient alimentées en même temps par du courant électrique. Un composant électronique va donc "balayer" rapidement chaque ligne à tour de rôle en y envoyant du courant et tester par quel fil de colonne un courant éventuel peut revenir.
Balayage des lignes, retour éventuel par une colonne et envoi du code vers l'ordinateur
Voici quelques exemples "d'allers-retours" que le composant électronique du clavier pourrait repérer au cours de ses balayages et le code numérique correspondant envoyé à l'ordinateur :
- L3 / C2 envoie le code du x minuscule à l'ordinateur;
- L1 / C4 envoie le code du r minuscule à l'ordinateur;
- L1 / C2 envoie le code du z minuscule à l'ordinateur;
- L4 / C0 (touche majuscule non représentée) + L2 / C4 envoie le code du F majuscule à l'ordinateur.
Voilà donc comment fonctionne un clavier d'ordinateur.
Examinons dans le chapitre suivant comment les images sont codées en nombres binaires.