Je suis informaticien depuis l’âge de 10 ans, depuis le jour ou j’ai découvert avec émerveillement que je pouvais animer une ligne sur un écran en « disant » à l’ordinateur à quoi devait ressembler la ligne et comment elle devait s’animer. Ce faisant, j’ai commencé à « faire de l’informatique » sans vraiment m’en rendre compte et sans réellement savoir ce qu’était l’informatique.
Dans mes études j’ai appris ce qu’était l’informatique principalement sous l’angle des mathématiques, de l’électronique de la physique et de l’histoire de l’informatique et de ses avancées successives. On m’a enseigné son super pouvoir pour simuler des phénomènes physiques ou plus généralement pour automatiser les échanges, les traitements et le stockage des données.
Plus tard, j’ai été amené à concevoir des systèmes informatiques pour répondre à des besoins plus ou moins complexe pour des utilisateurs divers et variés dans des contextes parfois très différents.
Mais dans le fond, se posait toujours la question : quel est cet objet étrange qu’on appelle « informatique » ?
Pourquoi se poser cette question ?
C’est par le hasard des discussions sur mon travail avec mes enfants et mon entourage personnel et professionnel que cette question est revenue à moi.
L’informatique est parfois perçue comme obscure à certains. Répondre à cette question pourra peut-être clarifier certains fondamentaux pour éviter une forme de mysticisme. Se poser cette question (et y répondre) est aussi l’opportunité de penser l’informatique pour s’en faire une idée claire et complète.
Ensuite parce que la définition qu’on trouve ici ou là ne me convenait pas complétement. Lorsqu’on se tourne vers les dictionnaires et les encyclopédies (Larousse, le Robert, Wikipédia et bien d’autres), elles répondent en effet parfaitement à la question soit en quelques lignes, soit avec force de détails. Il semble manquer une définition de détail intermédiaire, complète et concise à ce sujet. A une époque ou l’on « survole » l’information, ça me semble pertinent.
Enfin, en tant que professionnel, il me semble intéressant de se (re)questionner sur ce qu’on connait, ou qu’on pense connaître, on découvre parfois de nouvelles choses, tant le contexte ou le point de vue change. Mon point de vue aujourd’hui est donc celui d’un ingénieur et d’un informaticien, architecte en systèmes d’information depuis plus de 10 ans.
Évidement, j’invite la communauté des informaticiens à s’emparer de cette réflexion pour la critiquer en tout sens pour espérer en dégager collectivement son essence. Aujourd’hui, et sur la base des connaissances actuelles, je vous propose de partager ce qui fait l’informatique depuis sa création, jusqu’à aujourd’hui.
Comment définir l’informatique ?
Définir un concept c’est lister les caractéristiques et propriétés essentielles de ce concept. En 2013, lors de sa leçon inaugurale, Gérard Berry présente les « piliers » de l’informatique, ces invariants présentent une forme de structure cohérente de l’informatique. C’est un bon point de départ pour comprendre ce qu’est l’informatique et initier une ontologie de l’informatique.
Une ontologie de l’informatique
Fondamentalement, la difficulté de l’exercice est de rester dans le vrai, en s’appuyant sur les définitions détaillées de l’informatique pour en extraire les éléments les plus pertinents tout en restant dans les définitions générales et courantes. Il ne s’agit évidement pas de se retrouver en dehors du concept mais bien dans trouver une définition intermédiaire.
Il s’agit donc de faire un choix pertinent (je l’espère) sur le niveau d’abstraction de présentation du concept « informatique« .
Pour cela, on pourra évaluer les invariants suivant d’après les 5 critères de Thomas R. Gruber dans son article sur la conception d’ontologies pour le partage des connaissances.
- la clarté
- la cohérence
- l’extensibilité
- une déformation d’encodage minimale
- un engagement ontologique minimal
Ce faisant, en mobilisant nos connaissances, on peut proposer les invariants nécessaires à un niveau intermédiaire et pertinent de définition :
- L’utilisateur·rice et l’information
- L’interface et la donnée
- L’informaticien·ne et l’algorithme
- Le code source et le programme
- L’ordinateur

Ces invariants sont tous nécessaire à la définition de l’informatique. Il n’est à priori pas possible d’en retirer un sans dénaturer ou rendre incohérent le concept « informatique« . J’ai également fait le choix de rapprocher deux à deux certains invariants selon des proximités qui seront précisés ci-dessous.
L’utilisateur·rice et l’information
L’informatique s’adresse en premier aux utilisateur·rice·s. Difficile d’imaginer l’informatique sans utilisateur·rice·s.
Je propose de définir l’utilisateur·rice comme un être vivant doté d’un système cognitif qui utilise l’informatique dans son environnement pour une finalité précise. L’environnement de l’utilisateur·rice est un élément important dans le fait qu’il représente la réalité dans laquelle l’utilisateur·rice est plongé. Il ne peut pas s’en extraire et constitue le contexte de l’utilisation de l’informatique.
Vous pourriez être surpris de cette définition parlant « d’être vivant doté d’un système cognitif« . Même si aujourd’hui, l’écrasante majorité des utilisateurs·rices sont des êtres humains, certains animaux sont aussi des utilisateurs·rices de l’informatique.
C’est ce système cognitif qui est le support de ce qu’on appelle « l’information ». Par ailleurs, étymologiquement, si « Former » est « Faire naître dans son esprit » et « Informer« , « Donner une forme, une structure » ou « Transmettre des connaissances, des renseignements » alors on peut dire qu’une information est une représentation mentale ayant du sens, autrement dit une pensée.
L’humanité n’a pas attendu l’informatique pour partager, traiter ou conserver des informations. Et si l’on reste dans une définition globale on pourrait dire que l’informatique est « un outil qui permet d’automatiser la transmission, le traitement et le stockage des pensées de l’humanité« .
Nous en déduisons au passage les trois grandes fonctions essentielles de l’informatique autour de l’information :
- Échanger (recevoir et envoyer)
- Traiter
- Stocker
L’interface et la donnée
L’interface de l’ordinateur est la frontière matérielle permettant l’interaction de l’utilisateur·rice et de son environnement avec un programme.
La donnée représente une information, provenant ou consommé, par le système cognitif de l’utilisateur·rice ou de son environnement. L’interface formate et code l’information reçue en données pour un programme et décode les données produites par le programme en informations pour l’utilisateur·rice. C’est l’émetteur et le récepteur selon Claude Shannon.
Par exemple, l’interface peut-être le clavier avec l’interaction du doigt lors d’une pression sur une touche qui code une lettre pour un programme de traitement de texte. L’interface est également l’écran qui décode les données d’un traitement de texte en représentations visuelles des lettres sur les pixels avec une interaction visuelle via la lumière transmise à l’œil.
Par ailleurs, l’environnement de l’utilisateurs·rices est source de données par les représentations que nous avons de notre environnement. Le monde réel est capté par les interfaces (par exemple des capteurs), mais le choix et le sens de ses données est issue de représentations mentales des utilisateur·rice·s. Si je veux capter la température de ma maison, c’est bien parce que j’ai conscience de ce concept. La température est une information ayant du sens, un intérêt pour moi. Je choisi la mesurer et d’en associer une donnée.
L’informaticien·ne et l’algorithme
Un·e informaticien·ne est un être humain qui peut automatiser avec un programme, l’échange, le traitement et le stockage des données d’un·e utilisateur·rice. Cette personne est capable de mettre en œuvre des algorithmes traduit en code source à l’aide d’un langage de programmation et compilés en programme pour être exécuté par un ordinateur.
L’algorithmitique est la science de l’informatique.
Plus largement, le métier de l’informaticien·ne est donc de concevoir, réaliser, tester, déployer ou exploiter un programme pour les utilisateur·rice·s ou ses représentant·e·s.
Si vous êtes informaticien·ne, je vous laisserais apprécier la définition du Larousse et du Robert qui ne me semble pas aider à la compréhension de nos métiers (Le Larousse dans une moindre mesure). Il me semblerais également intéressant de remanier quelque peu la page Wikipedia sur ce sujet.
Le code source et le programme
Le code source est la traduction d’un l’algorithme pour la production d’un programme. Le code source est un algorithme formalisé par un langage de programmation à destination d’un compilateur. Le compilateur est le programme permettant de traduire le code source en code exécutable par un ordinateur.
En ce sens le code source est une donnée pour le compilateur. C’est une donnée de nature particulière dans la mesure ou elle décrit les règles que l’ordinateur devra exécuter pour traiter les données de l’utilisateur·rice. Le code source est à la donnée ce que l’algorithme est à l’information.
Le programme est la liste des instructions exécutable par un ordinateur. A l’exécution, le programme traite les données en entrée à l’aide des instructions pour produire des données en sortie.
Un logiciel est un ensemble de programmes qui permettent de rendre un service à un utilisateur·rice.
L’ordinateur
L’ordinateur est un système d’exécution arithmétique et logique des instructions d’un programme permettant d’automatiser le traitement des données de l’utilisateur·rice.
Nous conviendrons assez facilement que sans ordinateur, pas d’informatique. Mais comme déjà évoqué, n’allons pas trop vite, cet invariant est d’abord une abstraction inventée par Alan Turing, une idée qui se matérialise aujourd’hui par les appareils électroniques, que nous appelons également ordinateur dans le langage courant.
Pour nos ordinateurs électroniques, la logique (avec l’algèbre de Boole) et le binaire sont la base pour l’exécution des instructions et le formatage des données.
Ne perdons pas de vue qu’il est possible de faire des ordinateurs quantiques, optique ou à ADN par exemple.
Proposition de définition de l’informatique
Finalement, nous y sommes, après avoir parcouru les grands invariants de l’informatique, je me risque à une définition plus précise de l’informatique.
« L’informatique est ce qui permet à des utilisateur·rice·s, d’échanger, de traiter, ou de stocker des informations. Lors des interactions de ces utilisateur·rice·s et de leur environnement avec un ordinateur, les informations sont codées en données par l’interface. Les données sont échangées, traitées et stockées par des programmes exécutés automatiquement par des ordinateurs. Des données sont renvoyés aux utilisateur·rice·s et décodées en informations à travers l’interface.
Les informaticien·ne·s font de l’informatique pour répondre aux besoins des utilisateur·rice·s en créant des programmes à partir d’algorithmes, traduits en code source à l’aide d’un langage de programmation. Ce code source est compilé pour produire un programme installé puis exécuté par un ordinateur. »
Quelques propriétés particulières de l’informatique
Le bug ou bogue
Même s’il est possible d’utiliser les mathématiques pour démontrer que certains programmes sont sans bug, de très nombreux programmes possèdent intrinsèquement des bugs. Comme tout les êtres humains, les informaticien·ne·s font des erreurs lorsqu’ils imaginent ou réalisent des logiciels et des programmes.
La conséquence en est le bug, qui se traduit inexorablement par un dysfonctionnement avec des conséquences plus ou moins importantes pour les utilisateur·rice·s.
La faille de sécurité ou vulnérabilité
Certain·e·s utilisateur·rice·s visent un usage illégal d’un logiciel ou d’un système informatique pour des finalités éloignées des buts prévus initialement.
La faille de sécurité est ce qui permet ses usages illégaux.
L’informatique est une part de nos société, c’est une ressource en terme de puissance de traitement et de capacité d’échange et de stockage des données des utilisateur·rice·s. L’informatique, ses systèmes et ses données, est une cible.
La faille est un concept présent pour tous les invariants qui on été listés précédemment, car fondamentalement, tout les moyens sont bon pour essayer de rentrer dans un système informatique.
L’information et la donnée n’ont pas de masse
Philosophiquement, on pourrait peut-être dire que l’information est une configuration de la matière dans l’espace ayant un sens. La dupliquer revient à copier cette configuration dans une autre partie de l’espace sans modifier la configuration originale. L’échanger revient à déplacer cette configuration dans d’un point A à un point B.
Dans tout les cas, l’information reste l’interprétation que nous avons de cette configuration de la matière dans l’espace.
Cette propriété est fondamentale, car par exemple avec l’électronique et l’optique, elle permet la diffusion à grande échelle d’un très grand nombre d’informations à travers le monde (connecté).
L’informatique est numérique et agnostique du sens des données
L’informatique ne traite que des données sans se poser la question de leur sens. En ce sens les ordinateur sont puissamment « idiots« .
Quelque soit les informations des utilisateur·rice·s, elles finissent en données formaté par une succession d’états physiques représentant des 1 et des 0, c’est la même chose pour les programmes qui ne sont en définitif que des données représentant des instructions.
La lumière perçue, le son, les signaux électriques analogiques en provenances de capteurs, tout est codé en binaire pour être traité par des ordinateurs et leurs programmes.
L’interface de l’ordinateur est la frontière entre un monde analogique et numérique.
L’informaticien·ne est un·e utilisateur·rice de l’informatique
En faisant la distinction entre les données des utilisateur·rice·s et les programmes, j’ai fait la distinction entre les utilisateur·rice·s et les informaticien·ne·s. En effet, à l’exécution l’ordinateur utilise des données des informaticien·ne·s appelé « programme » pour traiter les données des utilisateur·rice·s.
Fondamentalement, le programme est une donnée produite par un programme (le compilateur). Le code source est la donnée en entrée du compilateur. On peut donc constater que :
- L’informaticien·ne est un·e utilisateur·rice de l’informatique
- L’algorithme est une information
- Le code source est une donnée
Le code source peut donc être échangé, traité et stocké comme n’importe quelle donnée. Un·e informaticien·ne est une personne capable de compiler du code source pour créer un programme exécuté par un ordinateur pour le bénéfice des utilisateur·rice·s.
Concrètement l’informaticien·ne utilise lui même des programmes pour créer ou faire fonctionner des programmes. Il y a donc des informaticien·ne·s qui travaillent pour des informaticien·ne·s.
Conclusion
Répondre à cette question fut réellement l’occasion pour moi de me replonger dans les fondamentaux de l’informatique. J’espère que cette définition et les éléments connexes abordés ici vous auront éclairé sur la question.
Je me rend compte qu’il n’est pas si simple de définir l’informatique et que l’ambition d’une version synthétique est peut-être manquée. Toutefois cet article sera peut-être un bonne base pour une version plus légère.
J’y vois toutefois une proposition de catégorisation intéressante pour l’étude des systèmes informatiques, pour de la veille ou de l’innovation. Poser des définitions avec des concepts c’est aussi définir des limites qu’il est intéressant de questionner pour aller plus loin.