# Un monde façonné par les services Web

Giulia Ferretti

► To cite this version:

Giulia Ferretti. Un monde façonné par les services Web: Lecture théorique de REST et GraphQL. Humanistica 2023, Association francophone des humanités numériques, Jun 2023, Genève, Suisse. hal-04125765

HAL Id: hal-04125765

https://hal.science/hal-04125765

Submitted on 12 Jun 2023

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>
# Un monde façonné par les services Web – Lecture théorique de REST et GraphQL

Giulia Ferretti

Université de Montréal

giulia.ferretti@umontreal.ca

## Résumé

À travers l'analyse d'une API REST et d'une API GraphQL, cette présentation propose une approche théorique de l'étude de l'impact des technologies Web sur notre monde. Nous observerons la manière dont les caractéristiques intrinsèques de ces technologies proposent une description et une compréhension des objets qui peuplent le réel. Nous nous concentrerons sur la comparaison entre REST et GraphQL, car il s'agit de deux paradigmes directement concurrents visant précisément à modéliser l'échange d'informations en ligne. Afin de valider et d'étendre nos réflexions, nous traiterons de deux cas concrets : une API REST et une API GraphQL conçues pour alimenter deux projets au sein de la Chaire de Recherche du Canada sur les écritures numériques. La lecture des ces API prend en compte les expériences et les avis des développeurs impliqués dans les deux projets.

## 1 Enjeux et objectifs

Les services Web décrivent le monde comme étant habité par des objets clairs et distincts. Idéalement dépourvus d'ambiguïtés, ces objets ont une valeur sémantique, de sorte qu'ils incarnent des informations crucales pour la construction de nos opinions et de nos connaissances. Plus radicalement, à partir du moment où ces services garantissent la circulation des données entre les utilisateurs du Web, ils sont employés dans des transactions économiques, des opérations politiques, des réflexions culturelles, de sorte qu'ils ne se limitent pas à dénoter notre réalité, mais contribuent précisément à la façonner (Vitali-Rosati, 2021). Étudier leur nature est donc essentiel. Cette présentation vise à introduire une approche théorique pour l'étude des pratiques d'écriture du code informatique. Ces pratiques sont formalisées dans des langages, des protocoles, des standards de-facto et sont définies par la structure matérielle des machines tout comme par les idées, les habitudes, les besoins

et les visions épistémologiques des humains.

Pour détailler cette approche, nous proposons une lecture attentive de deux modèles bien établis de circulation de l'information en ligne : REST et GraphQL. Il s'agit de deux technologies extrêmement influentes et en rivalité constitutive : la première version de GraphQL a été construite par Facebook pour améliorer le service de *newsfeed* de son application iOS, qui utilisait l'architecture REST.

REST et GraphQL régissent l'échange de données entre client et serveur, et correspondent aux besoins humains de gestion des données et aux contraintes des imposées par l'infrastructure matérielle dans laquelle ils sont inscrits. Cependant, les deux aboutissent à des objets et à des structures de nature différente. Ils diffèrent parce qu'ils incarnent deux visions humaines de ce que devrait être un échange d'informations fluide et efficace. REST et GraphQL perpétuent dans le monde numérique des besoins et des systèmes de pensée du monde analogique.

Les publications existantes sur le sujet se concentrent sur la comparaison des aspects techniques et des performances des deux systèmes (Ala-Laurinaho et al., 2022). Cette présentation mettra plutôt l'accent sur les caractéristiques intrinsèques à REST et à GraphQL. Nous examinerons les implications théoriques de leur utilisation, ainsi que leur impact sur notre façon de penser, d'être et de collaborer. Nous mettrons particulièrement en évidence la manière dont les deux méthodes de construction des API – en tant que processus systématisés et standardisés – placent l'utilisateur (les développeurs·euses) dans une certaine position, définissent son rôle et son champ d'action.

## 2 Méthodologie

Le contenu de la présentation s'inscrit ainsi dans le champ méthodologique proposé par les Études critiques du code (Marino, 2020), qui explorent la
portée culturelle du code informatique, au-delà de
ses aspects fonctionnels. En approfondissant les
questions théoriques soulevées par ce champ, nous
comprenons le code informatique en tant que résul-
tat d'une superposition de protocoles, de langages,
de formats, de pratiques et de théorisations (Pe-
tricek, 2016). Le code qui met en œuvre les API
REST et GraphQL est en effet le produit de cette
superposition. Lire le code, c'est donc déjà investi-
guer la structure, l'architecture, les pratiques dont
il est constitué.

Nous avons conçu une première application de
notre appareil théorique à partir de l'analyse de
l'API GraphQL implémentée dans l'outil d'écri-
ture scientifique<fnref n="1" /> et de l'API REST utilisée dans
une édition numérique collaborative de l'Antholo-
gie grecque<fnref n="2" />. Les deux projets ont été développés
par la<fnref n="3" />. Bien qu'ils soient de nature différente, nous
explicitons notre approche théorique à partir de ces
deux projets parce que nous avons l'opportunité
de nous confronter quotidiennement avec leurs dé-
veloppeurs. Cette confrontation nous a permis de
construire cette première étude de cas en tenant
compte des expériences et réflexions de ceux qui
ont conçu les API analysées et qui travaillent avec
elles.

3 Hypothèse

À travers la lecture des API liées aux deux pro-
jets mentionnés ci-dessus, nous montrerons que
REST et GraphQL – en tant que méthodes sys-
tématisées et standardisées – suggèrent deux ma-
nières différentes d’organiser l’information dans le
serveur. REST propose une division précise entre
les ressources (qui sont des objets abstraits) et les
représentations de ces objets, sous la forme d’ex-
plicitations textuelles de leurs caractéristiques. Il
s’agit d’une vision du monde précise, qui contraste
avec la notion traditionnelle d’individualité, l’unité
immédiate d’une entité qui précède ses spécifica-
tions (Gracia, 1998). En revanche, dans les schémas
GraphQL, les objets prennent du sens grâce à leur
position dans un ensemble de connexions. De ces
connexions, les objets émergent en tant que com-
plexités contextuelles et relationnelles. Alors que
REST est défini par la valeur architecturale d’un
ensemble de contraintes bien pensées (Fielding,
2000), GraphQL favorise le traitement des excep-
tions, des besoins spécifiques de chaque utilisateur.

En GraphQL, c'est à l'utilisateur côté client d'ex-
pliciter les informations qui l'intéressent, alors que
les endpoints REST prédéfinissent les opérations
qui peuvent être effectuées sur le serveur. À par-
tir de ces considérations, la présentation montrera
comment différentes langages et protocoles de com-
munication suggèrent différents niveaux d'autono-
mie pour l'utilisateur, proposant ainsi des manières
spécifiques de voir le monde.

Les échanges d'informations par le biais de ces
technologies seront forcement conditionnés par ces
différentes visions. Par conséquent, nous montre-
rons comment la composition physique et architec-
turale des systèmes Web donne sens non seulement
aux données qu'ils structurent, mais aussi aux in-
teractions humaines basées sur les informations
auxquelles ces systèmes donnent accès.

Les technologies du Web se révèlent dans leur
fonctionnement systématique. Elles doivent être
étudiées d'un point de vue matérialiste, qui traî-
tera de leur caractère agentif, et en tant qu'outils
théoriques, pour observer les présupposés cultu-
rels et éthiques qui les structurent. En partant de la
lecture des API qui alimentent les deux études de
cas, la présentation introduira les principaux points
d'une approche théorique pour la compréhension
des conséquences intrinsèques des protocoles, des
langages, des standards de facto des technologies
du Web.

Bibliographie

Riku Ala-Laurinaho, Joel Mattila, Juuso Autiosalo, Jani Hietala, Heikki Laaki, et Kari Tammi. 2022. *Comparison of REST and GraphQL Interfaces for OPC UA*. *Computers*, 11(5):65.

Roy T. Fielding. 2000. *Architectural Styles and the Design of Network-based Software Architectures*. Thèse de doctorat, Université de Californie, Irvine.

Jorge J. E. Gracia. 1998. *Individuality: An Essay on the Foundations of Metaphysics*. SUNY Press, Albany.

Mark C. Marino. 2020. *Critical Code Studies*. MIT Press, Cambridge.

Tomas Petricek. 2016. *Programming Language Theory: Thinking the Unthinkable*. In *Proceedings of the 27th Annual Workshop of the Psychology of Programming Interest Group (PPIG 2016)*, Cambridge, Angleterre.

Marcello Vitali-Rosati. 2021. *Pour une pensée préhu-
maine. Sens public*.

<footnote n="1">1. Voir: https://stylo.huma-num.fr.</footnote>

<footnote n="2">2. Voir: https://anthologiagraeca.org.</footnote>

<footnote n="3">3. Voir : https://ecrituresnumeriques.ca.</footnote>