Projeter les langages informatiques pour une interaction protéiforme
Auteur / Autrice : | Camille Gobert |
Direction : | Michel Beaudouin-Lafon |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 18/03/2024 |
Etablissement(s) : | université Paris-Saclay |
Ecole(s) doctorale(s) : | École doctorale Sciences et technologies de l'information et de la communication (Orsay, Essonne ; 2015-....) |
Partenaire(s) de recherche : | Laboratoire : Laboratoire interdisciplinaire des sciences du numérique (Orsay, Essonne ; 2021-....) |
Equipe de recherche : EX-SITU | |
Référent : Faculté des sciences d'Orsay | |
graduate school : Université Paris-Saclay. Graduate School Informatique et sciences du numérique (2020-….) | |
Jury : | Président / Présidente : Anastasia Bezerianos |
Examinateurs / Examinatrices : Stéphane Conversy, Amy Ko, Alan Dix, Tomas Petricek | |
Rapporteur / Rapporteuse : Stéphane Conversy, Amy Ko |
Mots clés
Mots clés contrôlés
Résumé
Interagir avec les ordinateurs nous amène souvent à utiliser des langages informatiques tels que Python pour créer des programmes et LaTeX pour rédiger des documents techniques. Au cours des dernières décennies, ces langages se sont mis à occuper une place de plus en plus importante dans divers domaines allant des sciences aux arts. Ils sont désormais enseignés à des millions d'enfants et deviennent une compétence couramment attendue sur le marché du travail, creusant le fossé entre ceux qui les parlent et les autres. Or, pour l'essentiel, notre interaction avec ces langages est identique à ce qu'elle était il y a cinquante ans : lire et écrire du code sous forme de texte brut. Bien que diverses alternatives aient été proposées, elles ont souvent été développées avec une approche moderniste, en rupture avec les langages et pratiques répandus, résultant en des systèmes bornés aux cercles académiques et à quelques communautés spécifiques. Par conséquent, les langages informatiques se retrouvent entravés par des visions qui essentialisent notre interaction avec eux, nous encourageant ainsi à nous en distancier, au risque de perdre une partie de la maîtrise à laquelle ils nous donnent accès face à des interfaces toujours plus « simples » et à la synthèse « intelligente » de code. Dans cette thèse, je m'oppose à ce point de vue que je considère néfaste pour la recherche en interaction humain-machine et la démocratie à l'heure du tout numérique. À cette fin, je développe un ensemble d'arguments qui soulignent qu'il est possible — et même bénéfique — de rendre plurielle notre interaction avec les langages informatiques, y compris avec la diversité de langages déjà existants dont hérite l'informatique du XXIème siècle.Je développe d'abord une nouvelle théorie de l'interaction avec les langages informatiques qui montre qu'aucun de ces langages n'est intrinsèquement lié à une représentation ou à un type d'interaction spécifique. Pour cela, je déconstruis la notion de langage informatique en cinq aspects fondamentaux afin d'isoler l'interaction des autres éléments constitutifs de ces langages, formant ainsi un modèle plus holistique que ceux déjà existants. J'identifie alors quatre niveaux d'interaction avec ces langages et montre que l'on peut les hybrider et choisir de projeter un même fragment de code sur différentes représentations afin de laisser le choix de celle offrant l'interaction la plus adaptée aux utilisateurs finaux. J'applique ensuite cette vision des langages informatiques à deux problèmes de recherche à l'aide d'une méthodologie de conception centrée sur l'utilisateur : faciliter la rédaction de documents avec le langage LaTeX, et aider les programmeurs à créer leurs propres projections afin de mieux s'approprier leurs éditeurs de texte. Dans le cadre de chaque problème, j'identifie les limites des solutions actuelles à l'aide d'une étude formative ; je développe un prototype d'éditeur de texte augmenté de projections supplémentaires ; et j'évalue celui-ci à l'aide d'études utilisateur à la fois qualitatives et quantitatives. Les résultats montrent que le fait de compléter le texte par d'autres représentations nous aide à comprendre et à modifier le code plus rapidement et avec une charge de travail moindre, et que ces représentations peuvent être crées à moindre coût en recomposant des éléments réutilisables d'une projection à une autre. En conclusion, je montre qu'envisager l'interaction avec les langages informatiques sous la forme de projections permet de rendre celle-ci plus protéiforme, une approche qui, selon cette thèse, est théoriquement fondée, techniquement possible et empiriquement souhaitable. Cette approche se prête à la tâche urgente d'équiper un public citoyen toujours plus large avec de nouveaux outils intellectuels et techniques afin de les aider à comprendre et à s'approprier les langages informatiques au cœur du fonctionnement de nos sociétés.