Qu'est ce que l'informatique ?

Introduction

Selon vous, qu'est-ce que l'informatique? Ce mot fourre-tout dont la société use et abuse semble pour le tout à chacun désigner aussi bien l'ordinateur que son réparateur, le logiciel que son concepteur ou son utilisateur. Certains y incluront le téléphone portable, le mp3 ou tout autre appareil qu'ils savent –par culture générale- fonctionner avec des 0 et des 1.
 
Est-ce que l'athlétisme est l'art de la création de basket de sport? Est-ce que la biologie est la science des microscopes ? Non, pas plus que l'informatique n'est la science des ordinateurs. Edsgar Dijkstra, l'inventeur de l'algorithme du même nom –une recette pour calculer sur une carte le plus court chemin entre deux points- disait:
La science informatique n'est pas plus la science des ordinateurs que l'astronomie celle des télescopes.
 
L'informatique n'est pas la "sciences des ordinateurs". Si la traduction anglaise est computer science ce n'en est qu'un faux ami. Un ingénieur en informatique ne saura pas nécessairement diagnostiquer un problème, réparer un ordinateur ou effectuer des branchements réseaux complexes. Il n'est pas non plus, contrairement au vendeur, formé à vous aider pour votre choix d'ordinateur.
 
L'informatique n'est pas la "science des logiciels". L'ingénieur en informatique ne connaît pas toutes les fonctions de Microsoft Word: ça c'est la secrétaire! Il ne maîtrise pas les fonds d'écrans clignotant ni tous les rouages de MSN : ça c'est l'adolescent! Il ne sait pas forcément utiliser tous les iPod, iPhone, mp3 et téléphones du marché: son métier n'est pas synonyme d'utilisateur 'ultra compétent'.
 
Enfin, l'informatique n'est pas la "science du jeu vidéo" ni celle de "l'associalité". L'ingénieur en informatique n'est pas nécessairement au niveau 93 de WoW (un jeu vidéo connu), ni tout boutonneux et mal habillé!

Mais alors l'informatique c'est quoi?

Aussi étonnant que cela puisse paraître, l'informatique peut se pratiquer sans ordinateurs, avec un papier, un stylo, un cerveau et du courage. Le terme informatique naît en mars 1967 sous l'impulsion de Philippe DREYFUS, comme contraction des mots information et automatique et signifiant "la science du traitement de l'information considérée comme le support formel des connaissances".
 
Saviez-vous que l'informatique aurait pu s'appeler l'ordinatique? Le terme informatique ne fut définitivement choisi qu'en 1967 suite à une décision de Charles de Gaule en conseil des ministres!
 
La définition officielle de l'informatique est: "la science de tous les traitements effectifs applicables à des données discrètes" et le Petit Larousse Illustré l'explique comme "la science du traitement automatique et rationnel de l'information en tant que support des connaissances et des communications" ainsi que "l'ensemble des applications de cette science, mettant en œuvre des matériels (ordinateurs) et des logiciels".

Plus simplement....

Si nous avons revu les définitions strictes du mot informatique, avez-vous pour autant compris ce qu'est cette science? Certainement que non, et pour cause, tout ce que nous avons vu jusque là est très flou!
 
La dernière définition emploie les mots 'données discrètes', cela signifie 'données dont le nombre est fini' (par opposition à des données continues). Le nombre de personnes dans un ménage (1, 2, 3, 4, 5) est une donnée discrète. Il ne peut y avoir une infinité de personnes dans ce ménage, et ce nombre est nécessairement un entier (les demi-personnes n'existent pas encore!).
La définition utilise également le terme 'traitements effectifs applicables'. Le traitement, c'est l'utilisation possible de la donnée. L'étude des 'traitements effectifs applicables' à une donnée est donc l'étude de toutes les utilisations possibles d'une donnée et le moyen de les réaliser de manière concrète.
 
Voici quelques exemples simples de données et de traitement associés:
Donnée Traitement Logiciel
Texte copier, sélectionner, écrire, changer de couleur, .... traitement de texte (Microsoft Word, Open Writer, ....)
Nombres et fonctions mettre en équation, calculer, résoudre, .... tableur (Microsoft Excel, Open Calc, ...), calculatrice, ...
Fichiers renommer, réorganiser, classer, trier, rechercher,... gestionnaire de fichier, explorateur, ...
 
Deux points principaux peuvent être alors dégagés:
- l'analyse des fondamentaux de l'information en vue de son utilisation par un ordinateur
- l'analyse théorique des procédés de traitement de la donnée en vue d'un résultat applicatif pertinent
 
Ces deux points se résument, selon Jacques Arsac, par le schéma suivant:
 
 
Vous l'aurez compris, l'informatique est une réflexion en deux temps sur le traitement de l'information: d'une part comment représenter les choses du monde pour un ordinateur (son, vidéo, texte, ...) et comment traiter ces informations de manière automatique et efficace.

Quelques domaines de l'informatique

De nombreux domaines de recherche entre dans les sciences informatique. Loin de dresser une liste complète, nous proposerons ici un aperçu de la diversité de ces domaines. Le but: développer votre culture informatique et introduire les notions sous-jacentes à diverses applications informatiques courantes.

Etude de la calculabilité

Ce domaine de recherche est une branche des mathématiques et de l'informatique théorique dont le but est de déterminer la calculabilité d'une fonction. Dans ce domaine, le but est de déterminé si un problème est 'calculable' c'est à dire si -au moins théoriquement- un ordinateur peut en trouver une réponse.
Dans ce domaine, le travail de Alan Turing et de Alonzo Church, résumé par la thèse Church-Turing fait autorité. Ce travail a notamment conduit à déterminé qu'une fonction est calculable si elle peut être définie par un algorithme.
 
Un algorithme: qu'est-ce c'est?
Un algorithme est comme une recette de cuisine: c'est un ensemble d'instructions ayant un ordre logique et qui, lorsque correctement suivi permet d'aboutir au résultat souhaité: le plat préparé. Des ingénieurs ou des mathématiciens élaborent des algorithmes permettant de résoudre des problèmes, à la manière d'un cuisinier qui invente un plat. Le développeur n'aura plus qu'à programmer (traduire en un langage compréhensible par un ordinateur) cet algorithme, de même que la ménagère n'aura qu'à suivre la recette pour arriver au même plat.
 
La fin de ce paragraphe présente les conditions de validité d'un algorithme, c'est à dire les conditions sur les ingrédients et les manipulations pour qu'une recette soit considérée comme faisable. En gras, vous trouverez la description exacte, et en italique une illustration pour en comprendre le sens. Les personnes qui ne souhaitent pas obtenir un niveau de détail trop poussé peuvent sauter cette partie.
 
Selon cette thèse, une fonction est dite calculable si elle répond aux critères suivants:
 1. l'algorithme consiste en un ensemble fini d'instructions simples et précises qui sont décrites avec un nombre limité de symboles.
     La recette n'est pas une suite infinie de manipulation. Peu importe le temps qu'elle prend, il est -théoriquement- possible d'en venir à bout. De plus, elle doit utiliser un nombre fini d'ingrédient. Même s'il y en a beaucoup, ce nombre ne doit pas être infini auquel cas la recette n'est pas réalisable.
 2. l'algorithme doit toujours produire le résultat en un nombre fini d'étapes.
     Certaines recettes peuvent vous faire revenir en arrière: on dit qu'elles sont récursives. Ce serait le cas d'une recette vous indiquant à l'étape 5 de retourner à l'étape 2 si tel ou tel aliment n'est pas prêt. Pour que la recette s'arrête un jour, il faut que le nombre total d'étape soit finit, c'est à dire qu'à un moment ou à un autre, elle arrête de vous renvoyer à l'étape 2.
 3. l'algorithme peut en principe être suivi par un humain avec seulement du papier et un crayon.
      Par suivi on entend ici 'compris', de même que sans casserole, l'instruction 'faire revenir la viande' peut être comprise.
 4. l'exécution de l'algorithme ne requiert pas d'intelligence de l'humain sauf celle qui est nécessaire pour comprendre et exécuter les instructions.
      Contrairement à la cuisine, l'algorithme doit toujours indiquer un critère objectif de mesure. En cuisine 'sâler à votre convenance' est faisable. Pour un ordinateur, ce n'est pas possible car cela requière une fonction qu'il n'a pas: goûter et apprécier. La bonne instrcution serait 'verser 3g de sel'.

Etude des algorithmes

Outre la calculabilité, il est ensuite important d'optimiser les algorithmes., c'est à dire les améliorer. Imaginez qu'il faille 20 minutes pour afficher une image sur votre écran ou pour lancer une musique sur votre ordinateur: pas pratique n'est-ce pas?
Les mathématiciens ont donc développé un ensemble d'outil permettant d'évaluer la complexité d'un algorithme. Certains sont dits P-complexes: ce sont les algorithmes 'simples', c'est à dire que leur nombre d'étape est proportionnel à un nombre calculable. Ces algorithmes sont bons car ils sont courts. Malheureusement tout n'est pas simple et certains algorithmes sont NP-complexes: c'est à dire compliqués et longs, même pour un ordinateur. C'est le cas de la factorisation.
Soit le nombre 15; factoriser revient à trouver les nombres premiers qui, multipliés entre eux font 15. Dans notre cas: 3*5=15.
Tous les algorithmes de cryptage actuels tiennent au fait que cette opération, pour des nombres très grand (plusieurs centaines voir milliers de chiffres) n'est calculable par un ordinateur qu'au prix d'efforts titanesques. L'un des challenges de l'algorithmique (la science des algorithmes) est donc de trouver une meilleur recette pour résoudre ce problème.

Etudes des graphes

Encore une branche de l'informatique théorique! Celle-ci c'est l'étude des graphes. Pour faire simple, il s'agit de trouver son chemin sur une carte. Voici l'exemple dit du voyageur de commerce: un voyageur de commerce doit visiter 10 villes situés sur une carte. Comment trouver le chemin le plus court possible pour qu'il ne passe qu'une et une seule fois par chaque ville? L'étude des graphes est extremement importante. En effet, internet est un réseau: un ensemble connecté d'ordinateurs, à l'image d'un ensemble de ville reliées par des routes. Lors de la consultation d'un site sur internet, les informations doivent pouvoir trouver leur chemin le plus vite possible dans ce labyrinthe. Pas question que les informations personnelles arrivent sur l'ordinateur du voisin, et pas question non plus que les données mettent la journée à trouver leur chemin de l'endroit où elles sont stockés sur internet (un serveur) à votre ordinateur qui veut les consulter (un client).

Conception et développement

Voici une branche moins théorique qui consiste à programmer les applications: site web, programmes, tout ce qui se passe dans votre ordinateur a au préalable été programmé.
 
Qu'est-ce que programmer ?
Programmer c'est écrire un code source c'est à dire un ensemble d'instructions compréhensibles par un ordinateur. Si le programme suit un ensemble d'instruction à la manière d'une recette, programmer c'est l'acte d'écrire cette recette. Un ordinateur n'exécute que du binaire (des zéro et des un) aussi pour simplifier la programmation, un certain nombre de langage ont été inventés. Ces langages sont compilés ou interprétés par un programme adapté, c'est à dire qu'ils sont traduits pour être compris par un ordinateur. Une analogie serait que l'ensemble des ménagères du monde ne comprennent que le français, alors que l'ensemble des créateurs de recettes ne soient capables de les écrire qu'en anglais. Programmer, c'est écrire en anglais la recette. Compiler, c'est la traduire en français. Utiliser le programme c'est cuisiner en suivant simplement la recette.

Quelques applications de l'informatique

Informatique embarqué

C'est le traitement automatisé de tâches dans un matériel autre qu'un ordinateur personnel. Il peut s'agir en vrac des consoles de jeux, des calculatrices, téléhpones portables, mp3, voiture, robot ...
Ce domaine subit des contraintes propres du fait que son domaine d'application est un matériel généralement peu puissant et dont la ressource et consommation doit être le moindre possible (économie des batteries notamment)

Informatique temp-réel

Ce domaine s'attache à créer des applications dite 'système temps-réel' dont le temps de réponse doit être garanti en toute circonstance. Il est primordial dans ce domaine, qu'un calcul soit effectué en un temps borné (inférieur à un temps maximal). C'est le cas d'applications comme l'aviation, les satellites, ou autre... Imaginer que le pilote automatique d'un avion tarde à choisir sa trajectoire parce qu'il 'rame': danger assuré!

Informatique de gestion

Il s'agit de l'informatique utilisé dans la gestion de masse. Dans ce domaine, les quantités d'informations sont gigantesques et les délais de traitement doivent être le plus court possible. Il peut s'agir de la gestion de stock, la gestion de banque de données...

Micro-Informatique

C'est l'informatique de la vie de tous les jours, celle de Monsieur tout-le-monde. Elle va de la bureautique au multimédia, du traitement de texte au film sur votre ordinateur, en passant par le surf sur internet ou encore MSN.

Informatique et Télécommunications

Associés généralement avec des calculs de graphe, le domaine de la communication est en pleine expansion. Internet, réseau wifi, téléphonie... Dans ce domaine, les informations doivent être routées (transportées) au bon endroit, avec un maximum de sécurité et de protection du contenu.

Conclusion

Vous l'aurez compris, l'informatique est partout! Dès lors qu'un calcul doit être fait, qu'une donnée doit-être traitée, l'informatique pointe son nez.
L'informatique n'est pas l'utilisation d'un matériel de traitement des données mais la conception dudit matériel. La notion est importante car l'utilisateur professionnel n'est pas informaticien mais technicien. De même que l'informaticien qui programme et crée les applications n'est pas ingénieur en informatique qui créer les concepts et les modes de traitements.
 
Dans ce dossier, nous ne ferons pas de vous des ingénieurs ni des informaticiens. En revanche, nous tenterons de faire de vous des utilisateurs chevronnés qui n'exécutent pas bêtement leur programme mais qui comprennent ce qu'il se passe derrière. Ceci est important pour devenir capable de résoudre les problèmes qui pourraient survenir!
Votre note : Aucun(e) Moyenne : 4 (10 votes)