Culture informatique Numérisation de l`information et

Transcription

Culture informatique Numérisation de l`information et
Culture informatique
Charles Duchâteau proposait en 1992 la définition suivante :
« Ensemble, aussi stable et adapté que possible, de savoirs et de savoir-faire qui permettent
d'être à l'aise face à l'ordinateur et aux outils informatiques, de comprendre et de juger ce que
permet l'informatique et ce qui est hors de sa portée,... »
“Etre à l’aise” et être capable « de comprendre et de juger », c’est ce que l’on résume souvent
aujourd’hui par l’expression « être autonome ». L’autonomie dans l’utilisation des systèmes
informatiques repose sur un ensemble d’attitudes, parmi lesquelles : la curiosité vis-à-vis des
fonctionnements de ces systèmes ; l’anticipation sur ce qu'ils peuvent nous apporter dans les
différentes tâches dans lesquelles nous les utilisons, et comment ils peuvent évoluer ;
l’inventivité dans nos façons de les utiliser.
Cependant, ces attitudes supposent des capacités qui ne peuvent se développer que si elles
sont assises sur une bonne connaissance des systèmes informatiques, et sur une bonne
compréhension des principes qui régissent leur fonctionnement et ont présidé à leur conception.
Cette vidéo propose un survol de quelques-uns des principes invariants centraux pour une
culture informatique.
Numérisation de l’information et traitements automatiques, ou le
couple « donnée-traitement »
L’informatique est définie comme la “science du traitement rationnel et automatique de
l'information” (Académie Française, 9e édition).
Une machine informatique - faite de circuits électroniques - ne peut traiter que des informations
numérisées, c’est-à-dire traduites par des séries de nombres. Pour être traitées
automatiquement, toutes les informations - qu'il s'agisse de données chiffrées, de textes,
d'images, ou encore de sons - sont traduites sous une forme conventionnelle numérique, en fait
binaire (0 et 1). Les données ainsi obtenues ont toutes le même format, homogène.
Une première conséquence est leur possible dématérialisation, c’est-à-dire leur dissociation
de tout support physique (une musique n’est plus nécessairement sur un disque, un texte sur
les feuilles de papier d’un livre, etc.).
La question du choix du système de codage des informations, à savoir la convention de
transformation en nombre, est centrale. La manière de coder n’est pas indépendante des
traitements de l’information visés. Les principes généraux sont assez simples : le codage d’un
texte brut nécessite un code pour chacun des caractères le constituant, y compris la
ponctuation et le caractère « espace ». Un texte mis en forme : paragraphe, gras, italique, etc.,
comportera, en plus du texte, un codage de chaque élément de mise en forme.
Une technique de codage d’images repose sur sa découpe en une trame de petits rectangles
de dimension égale, ou pixellisation. Ce sont les coordonnées dans la trame et la couleur de
chaque pixel qui sont codées. Le nombre de couleur est limité, ainsi que la finesse du tramage.
Une autre technique, celle du codage vectoriel, consiste à voir l’image comme un ensemble de
formes que l’on peut décrire à l’aide de caractéristiques. Ce sont ces formes et leurs
caractéristiques (dont la position dans l’image) qui sont codées.
Ce format numérique des informations permet des transformations multiples et infinies par des
méthodes relevant du calcul mathématique. Le traitement informatique de l’information consiste
en une transformation formelle qui ne repose jamais sur une prise en compte explicite du
sens, ni sur une interprétation de la signification de l’information. Il peut s’agir, par exemple, de
rechercher une suite de caractères dans un texte, calculer une somme de nombres,
compresser une suite de nombres, etc. Le traitement formel se ramène donc à exécuter une
marche à suivre, une suite d’opérations élémentaires, un algorithme.
Cependant, la force de ce traitement formel va être renforcée par deux éléments. D’une part, la
capacité de mémoriser de très grandes quantités de données, et d’autres part, la rapidité
d'exécution des opérations. Ajoutons à cela le plaisir constant des informaticiens à penser des
algorithmes toujours plus complexes et performants, et l'on comprend que l'informatique
parvient de mieux en mieux à débusquer le sens derrière la forme, et à nous donner l’illusion de
tenir compte du sens.
Systèmes informatiques, le couple matériel-logiciel
Le principe énoncé précédemment est celui mis en œuvre dans les ordinateurs, les tablettes,
les téléphones et plus généralement toutes les machines informatiques que nous utilisons
chaque jour.
Ces machines ont une architecture fonctionnelle commune : des organes de calcul, de
mémoire, de communication entre matériels, d’interface avec l’utilisateur humain. Cette
composition fonctionnelle est relativement stable. En revanche, les technologies utilisées pour
les différents composants, et leur performance, font l’objet de progrès et d’innovation et sont
donc très variables.
La machine ne fonctionne pas seule, nue, sans logiciels ou programmes. Ils décrivent, dans un
langage interprétable par la machine, des traitements à réaliser et les données sur lesquelles
les réaliser. Lors d’une session d’utilisation d’une machine informatique, on utilise en fait de
nombreux programmes. Certains programmes font fonctionner la ou les machines utilisées (le
système d’exploitation, les pilots d’imprimantes, les gestionnaires de bus de communication,
etc.). D’autres programmes sont directement utilisés par l’utilisateur pour l’assister dans la
réalisation d’une tâche et l’obtention d’un résultat. Ce sont les logiciels applicatifs.
Ce que l’utilisateur a devant soi, c'est donc toujours le couple « machine » plus « logiciel ». De
plus, dans une tâche instrumentée par de tels systèmes, il est rare de ne pas utiliser plusieurs
logiciels, et donc finalement plusieurs systèmes, en même temps.
Il est aussi de plus en plus rare d'utiliser un système informatique qui ne soit en réseau avec
d'autres systèmes. Des systèmes qui échangent des données, mais aussi des traitements.
Ces systèmes voient ainsi leurs capacités de stockages et de traitements augmenter.
Les modes d'échanges des systèmes informatiques sont basés sur des processus d'envoi
d’une requête puis d’attente d’une réponse. Les deux systèmes concernés sont mis, l’un dans
un rôle de client (celui qui envoie la requête), et l’autre de serveur (celui qui répond à la
requête, qui rend un service). Ces processus nécessitent des données et traitements
spécifiques. Dans la mesure où les systèmes en communication peuvent utiliser des
technologies différentes, il est nécessaire d’établir des conventions et des normes sur les
formats des données échangées, les langages permettant de les communiquer, ainsi que les
protocoles suivis par ces échanges.
Logiciels applicatifs, univers d’objets et d’actions
Parmi les nombreux programmes utilisés lors d’une session d’utilisation de systèmes
informatiques, il y a les logiciels applicatifs. Ce sont des programmes conçus pour être utilisés
par des humains afin de réaliser un type de tâches. Le type de tâches pour lequel un logiciel est
conçu a été généralisé et standardisé par ses concepteurs afin qu’il soit utile au plus grand
nombre d’utilisateurs. Ce faisant, l’utilisateur doit se familiariser avec le logiciel pour adapter son
utilisation à ses besoins spécifiques.
Un logiciel applicatif va proposer un ensemble organisé de type de données et un ensemble de
traitements que l’on peut faire réaliser sur ces données. Une métaphore peut être empruntée ici
au domaine du génie logiciel, celle des objets et des actions possibles sur les objets.
Tout logiciel aura son propre univers d'objets. Ainsi, par exemple, dans un traitement de texte :
les pages, les sections, les paragraphes, les mots, et les images. Les objets sont caractérisés
par des propriétés communes à tous les objets du même type. Par exemple, les paragraphes
d’un texte ont une taille d’espacement avant, une taille d’espacement après, une taille de retrait
de première ligne, etc. Quant aux actions, elles déclenchent des opérations sur les objets pour
les créer, les supprimer, mais surtout pour les éditer et modifier leurs propriétés.
Même si de nouveaux logiciels applicatifs apparaissent toujours, la plupart du temps il est
possible de les associer à une famille de logiciels applicatifs en fonction du type de tâche
qu’ils permettent de réaliser. Famille qui, elle, offre un univers objet-action relativement
stabilisé. S'approprier un logiciel pour bien l'utiliser nécessite de s’approprier son univers
d'objets et d'actions.
Interface de présentation et gestes d’interaction, le couple geste-retour
Un deuxième élément à prendre en compte dans l’utilisation d’un logiciel applicatif est la façon
dont les objets et les actions sont présentés et accessibles à l'utilisateur. Quoi et comment
donner à voir à un utilisateur humain pour qu'il puisse agir ? Comment récupérer ses actions ?
Ce sont là des questions au coeur de la question de l'interaction entre l'humain et la machine, et
plus spécifiquement, du domaine de l’interface homme/machine.
Les interfaces visuelles ont abouti à la conception de composants d’interaction utilisant des
métaphores de représentation visuelles : fenêtre, icônes, menus, curseurs, boutons d’actions.
Nous avons dit précédemment que les concepteurs d’un logiciel ont fait des choix relatifs au
type de tâche pour lequel ils l’ont conçu, à ces choix viennent s’ajouter les choix faits par les
développeurs des interfaces sur la façon de présenter les objets et actions à l’utilisateur. Une
difficulté pour les utilisateurs vient de la grande évolution de ces interfaces et des
représentations offertes : elles sont plus ou moins modifiées lors des nouvelles versions d’un
logiciel.
Enfin, il y a un « non-principe » qui nous semble intéressant ici : celui de la non-visibilité de
certains des objets sur lesquels l’utilisateur agit, et de certaines des actions qu’il déclenche.
Si l’on regarde la question du point de vue pragmatique de l’utilisateur, on est tenté d’envisager
un schéma simple de type : une action de l’utilisateur provoque une réaction en retour de la
machine. Mais ce schéma n’apparaît jamais si clairement (Duchâteau 1994). En effet,
l’utilisateur n'a pas toujours conscience de ses actions. Tout au plus a-t-il conscience des
gestes qu’il fait (cliquer sur la souris, taper sur une touche du clavier, glisser deux doigts sur
l’écran, etc.). Mais ces gestes sont reconnus par le système informatique et traduits en une
demande d’action. Cette traduction n'est pas toujours très claire à l'utilisateur. De plus,
certaines actions sont très indirectement déclenchées par d'autres, et non directement par un
geste de l'utilisateur. Par ailleurs, les réactions du système dépendent de choix
d'implémentation faits par les concepteurs, qui peuvent être assez contextuels, et dépendre de
ce que l’on peut appeler des paramétrages du système. Enfin, il peut y avoir des réponses
incorrectes du système : soit des bugs, certes reproductibles mais gênants, ou, pire, des
changements de comportement dus à des chaînes de causalités non vues par l’utilisateur.
Conclusion
La culture informatique a une double dimension. Une dimension pratique, d’une part, relative à
la connaissance des « produits » qui portent sur des objets concrets, répondent à des besoins
spécifiques, et sont sujets au changement. Une dimension plus théorique, d’autre part, portant
sur la connaissance de certains concepts et principes qui sont abstraits, indépendants des
outils, et stables dans le temps (voir Hartmann et al. 2012, pour un développement illustré sur
des exemples).
En situation éducative, où il est important de verbaliser et formuler les situations pour aider les
apprenants à se les approprier, il est d’autant plus important d’adosser toute utilisation d’un
produit à une démarche de compréhension et de structuration des principes sous-jacents.
Références citées :
- Duchâteau, C. (1992). Peut-on définir une «culture informatique». Journal de Réflexion sur
l’Informatique, 23, 24, 34–39. Consulté à l’adresse :
https://pure.fundp.ac.be/ws/files/252837/peut-on-5-34.pdf
- Duchâteau, C. (1994) - Faut-il enseigner l’informatique à ses utilisateurs ? Actes de la
quatrième rencontre francophone de didactique de l’informatique. Consulté à l’adresse
https://pure.fundp.ac.be/ws/files/988521/54322.pdf
- Hartmann, W., Näf M., Reichert R. (2012). Enseigner l’informatique. Collection IRIS,
SPRINGER.

Documents pareils