transcript VPrince 4 5

[00:00:01] Dans cet épisode, nous allons nous intéresser aux différents composants du domaine informatique. Nous avons vu précédemment d'où elle venait, avec qui elle interagissait et comment. Là, maintenant, on va voir de quoi elle est vraiment composée. Qu'est ce qui a le droit de s'appeler informatique? Et c'est un droit qu'il va falloir véritablement donner avec bienveillance et tolérance. Commençons par rappeler que nous avons travaillé sur le statut scientifique de l'informatique, que nous avions vu qu'elle avait une filiation double, donc avec une composante technologique, qu'elle a été capable de rétroaction vers ses disciplines mères et qu'elle a partagé des modèles avec de nombreuses autres disciplines scientifiques qui ne sont pas ses parents. Il faut savoir qu'elle est sollicitée aussi, on en a parlé brièvement, par la grande majorité des sciences et des arts, comme les mathématiques, pour l'aide à la résolution de problèmes ou pour la modélisation. Par conséquent, fiinalement, cette discipline informatique, mais de quoi est-elle formée? Et on va s'apercevoir que, assez curieusement, elle va être formée de tous ces éléments là, c'est-à-dire de sa filiation, de ses interactions, du service qu'elle propose. Et c'est pourquoi je vais vous proposer une sorte de passage en revue, là encore de la même manière qu'on a fait l'inventaire des différents modèles partagés, on va faire l'inventaire des domaines de l'informatique, sachant que c'est un inventaire qui n'est pas terminé. L'ensemble est ouvert et on ne sait pas à quel moment il va s'enrichir d'autres éléments.

[00:02:05] Donc, dans ces domaines, on travaillera d'abord sur ce qu'est le cœur de métier de l'informatique. Puis on s'intéressera au substrat matériel qui est l'écho à l'intérieur de l'informatique, de sa filiation vis à vis de l'électronique. On énoncera également ses fondements formels avec sa filiation mathématique. Qu'est-ce qui est en résonance avec cela? Les extensions qui sont dues aux interactions disciplinaires. Et on conclura cet aspect par ce que signifie l'identité informatique dans les domaines d'interaction, c'est-à-dire à partir de quel moment on peut mettre l’étiquette : “Je suis un informaticien” lorsqu'on est dans un domaine d'interaction. 1lors le cœur de métier, très clairement,il va falloir pour cela se donner une définition de ce qu'est l'informatique elle-même. Je vous en propose une. Elle m’est propre. Et elle est discutable, bien entendu, si on a une autre vision, on proposera peut-être un autre découpage. En ce qui me concerne, l'informatique est vue comme une discipline de médiation entre deux processeurs, humain et artificiel, dont l'objectif est de faire résoudre au processeur artificiel les problèmes que lui soumet le processeur humain. Donc, pourquoi est ce que l'humain se soumet aux processeurs artificiels? Des problèmes à résoudre? Ça, c'est une autre question. Tout le monde peut y répondre. Mais là, clairement, je me focalise sur l'idée de médiation. Et si on est un médiateur, quelle est la particularité? Quels sont les composants de la notion de médiation qui sont intéressants à étudier? Alors, les premiers sont des aspects langagiers. [00:04:06] Un peu comme je vous l'ai dévoilé dans les précédentes diapositives et des précédentes vidéos, il faut savoir que les informaticiens parlent la langue des machines. Et cela se fait via ce que l'on pourrait appeler les langages de programmation et le génie logiciel, c'est-à-dire le moyen de donner aux machines la possibilité de comprendre ce qu'est le problème de l'humain. Alors, bien entendu, bien avant d'arriver là, lorsqu'on a une problématique de résolution de problème, il y a toute une série d'étapes à passer. Mais ce qui est important, c'est de connaître le langage dans lequel on va traduire à la machine ce que l'on souhaite lui faire passer comme message. Et le principal cœur de métier est celui des langages de programmation et du génie logiciel. En tout cas, c'est vu comme tel. Dans un premier temps, on va s'apercevoir que c'est une condition nécessaire, mais ce n'est pas une condition suffisante, loin de là, puisque savoir traduire des choses à une machine, c'est bien. Mais si on n'a rien à lui traduire, ce n'est pas vraiment très intéressant. Il faut savoir aussi également que, si on en revient au nom même de l'informatique qu'en français, curieusement, on n'appelle pas computer science, justement, on l'appelle informatique, c'est-à-dire discipline de l'information. Ça, c'est très intéressant. Vous savez que c'est cette définition ou cette dénomination, on la doit à un monsieur qui s'appelle Philippe Dreyfus et qui a été quelqu'un qui a joué un rôle majeur à l'époque où l'informatique a été naissante en France.

[00:06:03] Et peu à peu, ce terme là est en train de prendre aussi de l'importance dans d'autres pays et dans d'autres langues. Les pays anglo-saxons résistent un petit peu parce qu'ils ont l'impression d'avoir l'antériorité. Néanmoins, “informatics” commence à apparaître. Et ça, c'est intéressant aussi. Alors, discipline de l'information veut dire toutes les fonctions afférentes à l'information. De la même manière que dans la première vidéo, je vous ai parlé de la cognition comme étant l'organisation, le stockage, la modification de la connaissance, tous les processus qui sont afférents à cela. Là, nous avons une discipline qui s'intéresse à l'organisation, au stockage, à la modification, à l'interrogation, à la diffusion de l'information via des ordinateurs. C'est ça qui est intéressant également. Alors du coup, de ce fait là, dans le cœur de métier, on va retrouver des domaines comme les bases de données et les bases de connaissances. On va retrouver également des modes de calcul de calcul sur ces éléments là, puisqu'on organise et on modifie. Là, on va utiliser de l'algorithmique et de la logique. On est en situation d'usage dans le cœur de métier. On n'est pas en situation, forcément de modification et d'amélioration. On verra que dans les parties fondements formels, là, on pourra faire évoluer les modes de calcul. Lorsqu'on s'intéresse au substrat matériel, c'est-à -dire cette dimension proche de l'électronique, on va s'intéresser plus particulièrement à la structure des machines, au fonctionnement de cette structure et à la communication entre les machines.

[00:08:07] C'est pourquoi on enseigne toujours aux étudiants d'informatique comment les machines sont organisées, quelle est l'architecture système qui est nécessaire et le logiciel afférent. Donc, là, on tombe un petit peu sur cette situation, encore une fois, hybride. Il y a énormément de choses qui sont en recouvrement entre du logiciel système et une architecture système. Et de ce fait là, on se retrouve donc dans le continuum entre le substrat matériel et le cœur de métier, et également entre l'architecture réseau qui est celle des câbles, mais aussi les protocoles et la programmation réseau, la programmation concurrente qui, elles, vont faire partie des spécificités de l'informatique en tant que discipline de médiation entre les machines et les hommes. Les langages, eux, les langages de programmation se sont fondés sur des choses, sur des concepts, ils ont des fondements formels, et plus particulièrement si on regarde bien les structures de données qui sont énoncées dans les langages sont des structures de données discrètes, c'est à dire qu'on va se retrouver dans un univers qui va manipuler des données qui sont séparées les unes des autres et qui sont bien définies. Également, ces langages vont utiliser ce que l'on appelle des automates de reconnaissance. La machine doit reconnaître ce que l'être humain lui dit au travers des langages de programmation.

[00:09:56] Il existe un modèle de calcul qu'on appelle les automates qui servent à cela. Des automates peuvent être de simples structures de modification d'état. Mais il se trouve qu'au sein des langages de programmation, ce sont surtout les automates de reconnaissance des différents termes du langage que l'on va utiliser. La première des choses lorsque vous voulez parler à une machine, c'est de lui parler dans son langage et correctement. Elle n'est pas très tolérante, donc votre automate de reconnaissance lui va vous indiquer à chaque moment si vous êtes bien dans le discours face à la machine ou si vous êtes en train de dévier vers quelque chose qui est inacceptable pour elle également. Ces fondements formels de langage ont un fonctionnement que l'on pourrait appeler récursif, c'est à dire qu'on constate la régularité d'un certain nombre de motifs, et leur réapparition systématique qui les boucle sur eux mêmes est régulière. Donc, il s'agit d’une grammaire : on appelle ainsi tous les langages formels. Tous les langages de programmation sont fondés sur des grammaires formelles. Les algorithmes de calcul arithmétique et logique sont absolument nécessaires pour pouvoir réaliser des programmes et ils sont eux-mêmes fondés sur des fonctions récursives primitives qui sont les fonctions de base. Les conditions nécessaires? Les jetons de base avec lesquels on peut faire fonctionner les machines et leur permettre de réaliser un calcul contrôlable. Enfin, vous avez ce qu'on peut appeler des paradigmes de langages de programmation. On peut distinguer à l'intérieur de cela ce qu'on appelle le paradigme fonctionnel, c'est à dire voir tous les éléments d'un langage comme des fonctions qui doivent rendre des valeurs ou alors procéduraux, c'est à dire considérer que tout programme ou tout échange de messages avec une machine est une procédure qui a pour objectif la réalisation d'une action.

[00:12:20] Vous pouvez également avoir une autre manière de parler avec les machines, c'est d'utiliser des langages déclaratifs, comme par exemple Prolog où là, vous allez énoncer quelles sont les relations logiques qu'entretiennent les éléments entre eux à l'aide d'assertions de formules bien formées. Vous pouvez par ailleurs voir au contraire votre langage de programmation comme un énoncé d'objets. C'est un univers de description de composants qui sont absolument nécessaires, ou bien il s'agit de langages organisateurs comme les langages à balise, qui sont très utilisés pour la notion de documentation, vous pouvez les voir sur le web avec des langages comme HTML, par exemple, ou bien des langages interrogatifs comme les langages d'interrogation de bases de données. Donc, tous ces paradigmes sont très intéressants parce qu'ils vous indiquent différentes manières de pouvoir émettre des messages face à des machines. Dans ces fondements formels, ce qui a de très intéressant à savoir et souvent on l'oublie, c'est que l'exploitation des données que l'on va voir en terme de cœur de métier dans les bases de données est fondée sur des structures algébriques. Si elle n'existait pas, les algèbres de multi ensembles que sont les algèbres relationnelles,
[00:13:49] eh bien, il serait extrêmement difficile aujourd'hui d'avoir des systèmes de gestion de bases de données qui puissent être interchangeables dans les conditions que l'on sait. L'exploitation des connaissances de base de connaissances est fondée sur des structures logiques et ça, c'est important à savoir. Et tous ces fondements formels indispensables sont ancrés dans et issus des mathématiques discrètes, de l'algèbre et de la logique. Très clairement, notre cœur de métier dérive d'un côté vers le substrat matériel, de l'autre côté vers ses propres fondements formels. Et tout cela est en interaction et il existe un continuum entre les trois maintenant. Si l'on sort de ces trois éléments, on va travailler sur ce qu'on va appeler les extensions. Historiquement, l'informatique avait été limitée aux trois premiers éléments aux trois premiers composants dont je vous ai déjà parlé. Mais avec le passage du temps et avec l'évolution de l'informatique et son universalité en quelque sorte, elle a commencé de manière très expansionniste à s'étendre et en particulier vers ces fameuses disciplines avec lesquelles existent les modèles partagés dont nous avons fait l'inventaire dans la précédente vidéo. Je vous les rappelle, il s'agit d'un côté les sciences cognitives via l'intelligence artificielle, les sciences du vivant via la bio informatique et la vie artificielle, les sciences du calcul et de la représentation que l'on peut trouver en combinatoire graphes et cryptographie et les relations avec l'humain qui sont relativement intéressantes de manière individuelle lorsqu'on réalise des choses autour du Web, des interactions homme machine, du dialogue homme machine, des sociétés.

[00:15:59] Lorsqu'il s'agit de systèmes d'information et enfin de l'enseignement lorsqu'il s'agit d'environnements interactifs d'apprentissage humain qui sont probablement les environnements les plus complexes parmi tous les environnements de type individuel. Parce qu'il suppose malgré tout une éventuelle société virtuelle que l'on pourrait appeler la CLASSE. Alors, va se poser, dans tous ces domaines là dont je vous avais fait l'inventaire préalablement pour les modèles partagés que je considère comme étant des extensions légitimes au sein de l'informatique, va se poser la question de l'identité de l'informatique elle même dans ces domaines là. C'est : “est ce que je peux dire, si je suis dans ces domaines là, que je suis un informaticien et qu'est ce qui fait ma particularité?” Il faut commencer par dire que ces extensions enrichissent en permanence le premier cercle et le font évoluer. C'est grâce à lui, je l'ai répété déjà, que nous ne sommes pas dans la stase, que de nouveaux problèmes apparaissent et ces problèmes enrichissent la discipline. Les deux ,aussi bien que le premier cercle des trois premiers composants, c'est à dire le cœur de métier, les fondements matériels et les fondements formels, de même que les extensions font partie intégrante de l'informatique, qui est à la fois science et technologie dans les extensions, il se trouve que l'identité de l'informaticien doit être d'autant plus affirmée. C'est le problème de ce que l'on pourrait appeler les frontaliers ou les binationaux.

[00:17:52] Ou est ce que vous, tout ce que vous pouvez imaginer qui est multi quelque chose, c'est là où il faut encore plus prouver qui on est tout le temps, montrer sa carte d'identité et c'est ce qui arrive beaucoup aux informaticiens des domaines d'extension ou des domaines d'interaction. Et c'est ce que je constate moi même durant ma vie de chercheur et d'enseignant en informatique, parce que je me rends compte à quel point c'est difficile de continuer à porter une étiquette d'informaticien face à ses autres collègues qui, eux, font partie du premier cercle. Alors, être informaticien dans les domaines d'interaction, je vous propose, encore une fois, une définition. qui n'est pas due à moi uniquement, qui est une des règles implicites de base qui a été celle que nous avons utilisée au Conseil national des universités à l'époque où j'en faisais partie et que j'ai présidé à un certain moment pour pouvoir savoir si on était en mesure de qualifier en informatique quelqu'un qui faisait partie d'un de ces domaines là. La règle est bonne, me semble t il, et le Conseil national des universités, section informatique, a fait preuve d'une certaine sagesse et d'un recul fort intéressant et je me propose de vous les énoncer ici. On dira qu'un chercheur dans un domaine X, qu'il soit bio ou pluridisciplinaire est un informaticien., si son objectif est d'améliorer la science informatique en termes de modèles, de concepts ou de méthodes, c'est à dire qu'à partir du moment où, même si vous êtes dans un domaine d'interaction, mais votre vision à vous, c'est de proposer un meilleur algorithme,

[00:19:57] ou un meilleur modèle, plus efficace, plus performant, moins coûteux, plus couvrant. Et bien là, vous faites votre travail d'informaticien. Votre problème n'est pas la discipline cible qui peut être, par exemple, la biologie, la chimie, les sciences de l'homme, quelle qu'elle soit. Votre problème, c'est celui de l'amélioration de vos algorithmes, de l'amélioration de vos méthodes ou de vos concepts. On dira qu'un ingénieur, cette fois ci dans un domaine X bi ou pluridisciplinaire, est un informaticien sii son objectif est d'améliorer la technologie informatique en termes de pratique, d'expertise, de forme applicative nouvelle, c'est à dire il va modifier la couverture des applications qui réalisent ou va modifier leur forme, il va étendre les pratiques, il va ajouter de l'expertise, ill va faire rencontrer le problème avec les évolutions technologiques et les fonctionnalités. Et de ce fait là, sa connaissance et son expertise sont les siennes et ne peuvent pas être celle d'un de quelqu'un qui appartiendrait au domaine cible. Donc, si vous acceptez avec moi ces définitions là comme étant de possibles définitions d'identité d'un informaticien, il est assez facile à ce moment là de ne plus douter de soi lorsqu'on fait partie de ces domaines d'interaction, sachant qu'il existe beaucoup de chercheurs et d'enseignants chercheurs en informatique qui en font partie.