# Rapport observatoire des usages COMMONS (Partie quantitative) 2024-2025

Mohsine Aabid

<figure><img src="image_1.png" /></figure>

## To cite this version:

Mohsine Aabid. Rapport observatoire des usages COMMONS (Partie quantitative) 2024-2025. Open Edition. 2025. hal-05093819v2

HAL Id: hal-05093819

https://hal.science/hal-05093819v2

Submitted on 13 Jun 2025

HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published 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_2.png" /></figure>
# Rapport observatoire des usages
COMMONS (Partie quantitative)
2024-2025

**Auteur:**

Aabid Mohsine

**Encadrants:**

Simon Dumas Primbault

Patrice Bellot

Ce travail a bénéficié d'une aide de l'État gérée par l'Agence Nationale de la Recherche au titre du
Programme d'Investissements d'Avenir portant la référence ANR-21-ESRE-0045

<figure><img src="image_3.png" /></figure>

OpenEdition
Lab

<figure><img src="image_4.png" /></figure>

<figure><img src="image_5.png" /></figure>
<table><tr><td>Executive summary</td><td>3</td></tr><tr><td>Chapitre 1: Description des données et de leurs prétraitements</td><td>7</td></tr><tr><td>1. Description des données</td><td>7</td></tr><tr><td>1.1 Description des logs serveurs</td><td>7</td></tr><tr><td>1.2 Description des métadonnées Solr</td><td>8</td></tr><tr><td>2. Prétraitement des données</td><td>10</td></tr><tr><td>2.1 Chaîne de prétraitement des logs serveurs</td><td>10</td></tr><tr><td>2.2 Processus d'extraction des données (Parser)</td><td>11</td></tr><tr><td>2.3 Nettoyage des données (Nettoyer)</td><td>12</td></tr><tr><td>2.4 Segmentation des sessions</td><td>13</td></tr><tr><td>2.5 Enrichissement des données</td><td>16</td></tr><tr><td>3. Discussion</td><td>17</td></tr><tr><td>3.1 Choix des hyperparamètres</td><td>17</td></tr><tr><td>3.2 Retour critique sur la chaîne de prétraitement</td><td>18</td></tr><tr><td>Chapitre 2: Filtrage des sessions robots</td><td>20</td></tr><tr><td>1. Introduction</td><td>20</td></tr><tr><td>1.1 Définition de bots</td><td>20</td></tr><tr><td>1.2 Une typologie des bots</td><td>21</td></tr><tr><td>1.3 Quelques enjeux généraux</td><td>23</td></tr><tr><td>2. Méthodologies de filtrage des sessions bots</td><td>24</td></tr><tr><td>2.1 Méthodes dans la littérature</td><td>24</td></tr><tr><td>2.2 Étapes pour la modélisation d'un détecteur de bots</td><td>26</td></tr><tr><td>2.3 Extraction des caractéristiques des sessions</td><td>27</td></tr><tr><td>2.4 Étiquetage des sessions</td><td>30</td></tr><tr><td>2.5 Modélisation</td><td>31</td></tr><tr><td>3. Détection et Nettoyage des sessions Bots</td><td>43</td></tr><tr><td>3.1 Détection des sessions Bots</td><td>43</td></tr><tr><td>3.2 Nettoyage des sessions Bots</td><td>44</td></tr><tr><td>4. Perspectives et Conclusion</td><td>44</td></tr><tr><td>4.1 Perspectives</td><td>44</td></tr><tr><td>4.2 Conclusion</td><td>45</td></tr><tr><td>Chapitre 3: Statistiques d'accès et de consultation</td><td>47</td></tr><tr><td>1.Statistiques temporelles</td><td>47</td></tr><tr><td>1.1 Distribution journalière des requêtes</td><td>47</td></tr><tr><td>1.2 Distribution hebdomadaire des requêtes</td><td>50</td></tr><tr><td>1.3 Statistiques sur les sessions de navigation</td><td>51</td></tr><tr><td>2.Statistiques Géographiques</td><td>53</td></tr><tr><td>3.Statistiques documentaires</td><td>55</td></tr><tr><td>3.1 Sites revues/éditeurs les plus consultés</td><td>55</td></tr><tr><td>3.2 Pourcentage des requêtes en fonction du type de support</td><td>56</td></tr><tr><td>3.3 Requêtes par disciplines</td><td>57</td></tr><tr><td>3.4 Requêtes par langues</td><td>59</td></tr><tr><td>3.5 Requêtes par dates de publication</td><td>61</td></tr></table>
<table><tr><td>3.6 Téléchargement et modalités d'accès</td><td>63</td></tr><tr><td>4.Statistiques référents</td><td>64</td></tr><tr><td>4.1 Distribution requêtes avec et sans référent</td><td>64</td></tr><tr><td>4.2 Distribution des nom domaines référents</td><td>65</td></tr><tr><td>4.3 Nuage de référents</td><td>65</td></tr><tr><td>5. Synthèse</td><td>67</td></tr><tr><td>Chapitre 4: Vers un profilage des sessions utilisateurs</td><td>68</td></tr><tr><td>1. Détection de communautés d'intérêts</td><td>68</td></tr><tr><td>1.1 Construction de la matrice et Groupement des sessions</td><td>69</td></tr><tr><td>1.2 Analyse des groupes de sessions</td><td>70</td></tr><tr><td>1.3 Analyse de la matrice de similarité ressource-ressource</td><td>81</td></tr><tr><td>1.3 Synthèse</td><td>91</td></tr><tr><td>2. Analyse des séquences de consultation via une fouille de motifs séquentiels</td><td>92</td></tr><tr><td>2.1 Fouille de motifs séquentiels</td><td>92</td></tr><tr><td>2.2 Taxonomie des types de consultation</td><td>92</td></tr><tr><td>2.3 Extraction de motifs</td><td>93</td></tr><tr><td>2.4 Profilage des sessions à base d'actions</td><td>95</td></tr><tr><td>2.5 Synthèse</td><td>101</td></tr><tr><td>3. Analyse des transitions</td><td>101</td></tr><tr><td>3.1 Construction de la matrice de transition</td><td>102</td></tr><tr><td>3.2 Décomposition de la matrice via modélisation en chaînes de Markov d'ordre 1107</td><td>110</td></tr><tr><td>4. Profilage via analyse topologique des sessions</td><td>110</td></tr><tr><td>4.1 Méthodologie</td><td>110</td></tr><tr><td>4.2 Analyse des profils obtenus</td><td>112</td></tr><tr><td>4.3 Cartographies des sites éditeurs</td><td>119</td></tr><tr><td>4.4 Vers une cartographie plus fine</td><td>124</td></tr><tr><td>4.5 Synthèse</td><td>126</td></tr><tr><td>5. Conclusion</td><td>127</td></tr><tr><td>Références</td><td>129</td></tr><tr><td>Annexe A</td><td>133</td></tr><tr><td>Annexe B</td><td>134</td></tr><tr><td>Annexe C</td><td>137</td></tr></table>
# Executive summary

## Introduction

Dans le cadre de l'Observatoire des usages COMMONS, ce rapport s'intéresse à la bibliothèque numérique OpenEdition, une infrastructure publique française dédiée à la communication scientifique en sciences humaines et sociales. OpenEdition regroupe quatre plateformes : Journals (revues scientifiques), Books (livres électroniques), Hypothèses (carnets de recherche) et Calenda (événements scientifiques). Cette étude vise à mieux comprendre les pratiques et comportements de navigation des utilisateurs en s'appuyant sur des méthodes quantitatives, à partir des traces laissées lors de leurs visites sur ces plateformes (historique d'accès ou logs de connexions). Ce travail porte sur les logs de connexions des deux périodes d'octobre 2022 et octobre 2023. Ce rapport expose des résultats préliminaires issus d'un travail en cours.

## Statistiques générales

### Préférences de format de document :

* Les utilisateurs privilégient majoritairement le format PDF.

* Le taux de téléchargement des formats EPUB reste très faible.

* La majorité des ressources consultées ont été en accès intégral, avec peu d'accès partiel (extraits) ou refusé.

### Provenance des requêtes :

* Un tiers des requêtes n'ont pas de référent, tandis que les deux tiers proviennent principalement des moteurs de recherche et des réseaux sociaux.

* Une part importante des référents provient de google et des sites de la plateforme elle-même.

### Langues et disciplines :

* Les requêtes en espagnol, anglais et portugais dépassent leur représentation dans le corpus (plus de demandes que d'offres), tandis que celles en français et en allemand sont sous-représentées (plus d'offres que de demandes).

* Certaines disciplines comme l'histoire, les sciences sociales, l'anthropologie, la philosophie et l'économie attirent plus de requêtes.

### Comportements de navigation :

* Les utilisateurs tendent à rester sur la même plateforme, notamment sur Books.

* Quelques transitions notables vers Journals, en particulier pour les sessions provenant de Books, Calenda, et Hypothèses.

* Des sites comme les Presses universitaires de Rennes, CNRS Éditions, et Éditions de l'EHESS sont des points de convergence importants pour le trafic.

* Des sites comme *Bulletin de l'Institut français d'archéologie orientale, La maison d'édition de l'Institut de Recherche Littéraire de l'Académie Polonaise des Sciences,*
## Comportements de groupes d'utilisateurs :

* Une analyse a été réalisée afin d'identifier des groupes de sessions partageant des préférences communes, sur la base des clics effectués par les utilisateurs.

* Certains groupes présentent des préférences pour les publications en langues hispanophones ou lusophones, ainsi que pour les publications en français et en anglais.

* *Journals* constitue la plateforme principale pour la majorité des groupes, tandis que *Books* et *Hypothèses* attirent des groupes distincts, probablement en raison de pratiques d'utilisation variées.

* Une autre analyse a été menée pour identifier différents profils de navigation parmi les sessions observées :

* **Sessions en boucle sur un même site** : certaines sessions restent concentrées sur un seul site (revue, livre ou carnet), avec des allers-retours répétés sur celui-ci.

* **Sessions linéaires** : ces sessions, sans boucles, enchaînent la visite de sites proches dans la cartographie. La proximité dans la cartographie signifie que ces sites ont souvent été consultés ensemble au cours de nombreuses sessions de navigation.

* **Sessions semi-linéaires** : elles commencent par une navigation linéaire entre sites proches, puis évoluent vers un comportement en boucle, avec de fréquents allers-retours. Les sites visités restent relativement proches dans l'espace cartographique, mais présentent une légère dispersion.

* **Sessions à longues boucles** : caractérisées par de larges boucles, elles comportent des retours réguliers vers un même site éditeur, généralement après une vingtaine de requêtes. Comme pour les sessions semi-linéaires, les sites visités sont regroupés de manière modérément dispersée sur la cartographie.

* **Sessions d'exploration dispersée** : très rares (seulement 14 sessions observées en octobre 2022), elles impliquent entre 9 et 20 sites uniques, souvent très éloignés les uns des autres dans la cartographie. Ces sessions adoptent un parcours plus erratique, combinant navigation linéaire et retours en arrière, sans approfondir un voisinage précis mais en explorant des destinations très variées.

* **Sessions exploratoires étendues** : ces sessions, longues et riches en allers-retours, traversent de larges portions de l'espace cartographique. Elles se caractérisent par une forte densité de boucles et une grande diversité de sites consultés.

## Étude des cas
L'analyse des transitions pour les mois d'octobre 2022 et 2023 met en évidence des dynamiques intéressantes au sein de nos études de cas. Voici les principales conclusions concernant ces transitions :

* **Maison d'édition de l'Université Grenoble Alpes :**

En octobre 2022 et 2023, la majorité des sessions sont redirigées vers les *Presses universitaires de Rennes*. Les *Presses universitaires du Septentrion* apparaissent également comme un point de sortie. En 2022, les principales sources de trafic proviennent des *Éditions Rue d'Ulm*, *Presses universitaires de Saint-Étienne*, et *Éditions Mélanie Seteun*. En 2023, les principaux points d'entrée sont les *Éditions A. Athéna*, *Revue critique de fixxion française contemporaine*, *Humanitaire*, et *Recherches & Travaux*.

* **Revue de la Bibliothèque nationale et universitaire de Strasbourg :**

Bien que cette revue n'ait pas de points d'entrée majeurs, elle redirige systématiquement vers les *Éditions de la Sorbonne* et les *Presses universitaires de Rennes* durant les deux périodes observées. En octobre 2022, elle redirige aussi vers les *Presses universitaires de Lyon*, et en 2023, vers *ENS Éditions*.

* **Revue Hommes & Migrations :**

Les points d'entrée de cette revue sont relativement stables, avec des sites tels que *e-Migrinter*, *Éducation et Sociétés Plurilingues*, *Presses universitaires de Rennes*, et *Revue Européenne des Migrations Internationales*. Les points de sortie varient légèrement entre 2022 et 2023. En 2022, les sessions sont redirigées vers *Revue de l'Institut français d'histoire en Allemagne, Lectures* (pour des comptes rendus d'ouvrages), *Presses universitaires de Rennes*, et *Revue Européenne des Migrations Internationales*. En 2023, le trafic sortant se dirige plutôt vers *Revue Insaniyat*, *Revue Européenne des Migrations Internationales*, et *Presses universitaires de Rennes*.

* **Cartographie des sites voisins :**

L'analyse des sites voisins dans les cartographies d'octobre 2022 et 2023 révèle des évolutions intéressantes. Pour la revue de la BNU, en octobre 2022, les sites les plus proches sont *Patrimoine du Sud* et les *Presses universitaires de Lyon*, qui partagent des thématiques communes avec la BNU (arts, humanités, histoire). En 2023, la revue *Les Nouvelles de l'Estampe* devient le site le plus proche, reflétant un rapprochement thématique dans le domaine des arts et de l'archéologie.

Pour la revue *Hommes & Migrations*, les sites voisins restent stables, notamment *Revue Européenne des Migrations Internationales*, *e-Migrinter*, et *Éducation et Sociétés Plurilingues*, tous liés aux thématiques des migrations et des sciences sociales. En 2023, deux nouveaux sites viennent compléter cette proximité : *Cahiers de l'Urmis* et *La revue Appartenance et Altérité*, qui renforcent la cohérence du groupe observé.

Pour la maison d'édition de l'Université Grenoble Alpes, la proximité des sites évolue entre 2022 et 2023. En 2022, le site des *Éditions des Maisons des Sciences de l'Homme Associées* est le plus proche, tandis qu'en 2023, de nouveaux voisins apparaissent, comme *Genesis* (critique génétique des textes), *Écrire l'Histoire* (recherche historique), et *Humanitaire* (réflexion sur l'action humanitaire).
Synthèse des résultats :

* Une large part des sessions se concentre sur les ressources telles que les livres, numéros de revue, articles et comptes rendus.

* La majorité des sessions restent confinées à une seule plateforme, mais environ un tiers présente des circulations entre plateformes.

* Les résultats actuels sont préliminaires et nécessitent des analyses supplémentaires pour confirmer et approfondir les tendances observées.

Lien vers les figures et ressources utilisés pour ce rapport (lien)
# Chapitre 1: Description des données et de leurs prétraitements

Ce chapitre présente d'abord les caractéristiques des données collectées, avant de détailler les étapes du prétraitement, depuis l'extraction et le nettoyage des logs jusqu'à leur enrichissement avec des métadonnées. Ce processus vise à préparer une base solide pour l'analyse des sessions de navigation.

## 1. Description des données

Cette étude repose sur deux sources principales : les logs serveurs d'OpenEdition collectés pour les mois d'octobre 2022 et 2023 en plus des métadonnées extraites du moteur de recherche Solr (ex. année de publication, langues des ressources consultées.). Ces données sont essentielles pour analyser les comportements des usagers et mieux comprendre leurs interactions avec les plateformes d'OpenEdition. Le mois d'octobre a été choisi car il correspond généralement à une période d'activité accrue sur les plateformes, ce qui le rend particulièrement propice à une étude représentative des usages.

### 1.1 Description des logs serveurs

Les logs de connexion permettent de suivre les requêtes effectuées sur les quatre plateformes d'OpenEdition (Journals, Books, Calenda et Hypothèse) ainsi que sur l'API de recherche (Search-API) qui supporte le moteur Search. Ces logs sont organisés dans des répertoires distincts en fonction de leur origine, ce qui facilite leur gestion et leur analyse spécifique. Les logs d'Hypothèses pour l'année 2022 n'étaient pas disponibles, nous allons donc utiliser les trois plateformes qui restent pour faire les analyses pour le mois d'octobre 2022.

#### 1.1.1 Nature des logs

Lorsqu'un utilisateur navigue sur un site web, chaque action qu'il effectue – comme la consultation d'une page ou le téléchargement d'un fichier – génère une requête envoyée au serveur. Ces interactions sont enregistrées sous forme de logs, des fichiers texte qui retracent en détail l'activité du serveur. Chaque log consigne des informations précises telles que l'adresse IP de l'utilisateur, l'heure et la date de la requête. Ces données, souvent capturées au format standard CLF (Common Log Format), permettent aux administrateurs de surveiller l'utilisation du serveur, d'identifier les tendances de trafic et d'optimiser les ressources. Bien que ces logs soient très détaillés, leur volume imposant justifie leur suppression après un certain temps.

#### 1.1.2 Structure des lignes de logs

Chaque ligne de log suit un schéma défini selon le format `nginx` défini comme ci-dessous:

```
$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent
"$httpوزerer" "$http_user_agent" "$http_x_forwarded_for"
```
Les principaux champs extraits des logs sont décrits comme suit :

* **remote_addr**: Adresse IP du client ayant effectué la requête.

* **remote_user**: Nom de l'utilisateur authentifié (vide dans notre cas, donc non pertinent).

* **time_local**: Heure locale de réception de la requête.

* **request**: Détails de la requête envoyée par le client (méthode HTTP + URL + version HTTP).

* **status**: Code de statut HTTP renvoyé par le serveur (ex. 404 lorsque la ressource demandée n'a pas été trouvée par le serveur).

* **body_bytes_sent**: Nombre d'octets transmis au client en réponse à la requête.

* **http_referer**: URL de la page ayant généré la requête, lorsqu'elle existe (ex. Permet de connaître le lien où se trouvait l'agent avant d'arriver aux sites d'OpenEdition).

* **http_user_agent**: Informations sur le navigateur et le système d'exploitation du client.

* **http_x_forwarded_for**: Montre si le client avait accès à la ressource entièrement, partiellement ou pas.

### 1.1.3 Volumétrie des fichiers logs

Les logs sont compressés au format **gzip** (".gz") pour réduire leur taille de 75 à 95%. Voici la taille compressée des fichiers pour chaque plateforme :

<table><thead><tr><td></td><td>Octobre 2022</td><td>Octobre 2023</td></tr></thead><tbody><tr><td>Journals</td><td>22,71 Go</td><td>20,81 Go</td></tr><tr><td>Books</td><td>7 Go</td><td>12,06 Go</td></tr><tr><td>Calenda</td><td>2,43 Go</td><td>7,67 Go</td></tr><tr><td>Search-API</td><td>0,22 Go</td><td>0,21 Go</td></tr><tr><td>Hypothèse</td><td>-</td><td>29,37 Go</td></tr></tbody></table>

Ces tailles influencent directement les stratégies de pré-traitement, notamment lorsque les ressources système (comme la RAM) sont limitées.

## 1.2 Description des métadonnées Solr

### 1.2.1 Indexes Solr choisis pour l'enrichissement des données

En complément des logs, nous avons extrait des métadonnées du moteur de recherche Solr, qui stocke des informations détaillées sur les contenus accessibles via les plateformes.Trois index principaux ont été exploités :

**publishers**: Contient des données sur les éditeurs.
**documents** : Recense les métadonnées associées aux documents hébergés.

**calenda** : Contient les métadonnées associées aux événements sur Calenda.

Ces deux sources de données — les logs de connexion et les méta-données Solr — sont
complémentaires. Les logs permettent de suivre les interactions des utilisateurs, tandis que
les métadonnées fournissent des informations contextuelles sur les contenus consultés.
Leur combinaison est essentielle pour mener une analyse approfondie des comportements
des utilisateurs sur OpenEdition.

## Champs utilisés pour l'index publishers

* **id** : Identifiant unique combinant la plateforme et le titre court de l'éditeur (ex. OJ.labyrinth).

* **pub_titre** : Titre complet de l'éditeur.

* **pub_soustitre_naked** : Sous-titre, si disponible.

* **pubentry_politiqueaccess** : Politique d'accès uniquement pour Journals(Open Access, Freemium, Restreint).

* **pub_datemiseenligne** : Date de mise en ligne de l'éditeur.

* **pub_anneecreation** : Année de création de l'éditeur.

* **pub_typesupport** : Type de support (numérique uniquement ou papier).

* **pubentry_periodicite** : périodicité des publications.

* **pubentrywithparent_isi** : Liste des sujets abordés par l'éditeur.

* **description_naked** : Description détaillée.

* **accroche_fr** : Description courte, si disponible.

* **pubentry_indexlangue** : Liste des langues proposées par l'éditeur.

* **pub_institution** : Institution de rattachement de l'éditeur.

* **pub_paysadresse** : Pays d'origine de l'éditeur.

## Champs utilisés pour l'index documents

* **id** : Identifiant unique de la ressource, combinant plateforme, éditeur, et code numérique (ex. OB.pulg.24906).

* ** titre** : Titre de la ressource.

* **type** : Type de ressource (couverture, actualité, fac similé, etc.).

* **langue** : Langue dans laquelle la ressource est rédigée.

* **entity_class** : La classe à la quel l'entité consulté appartient (texte, poste, lien...)

* **anneedatepubli** : Année de publication.

* **accessRights_openAireV4_label** : Modalité d'accès (Open Access, Freemium, etc.).

## Champs utilisés pour l'index calenda

* **id** : L'identifiant unique de l'événement

* **type** : Le type de la ressource (souvent événement)

* **title_mtext** : Le titre de l'événement en format brute (avec des balise html)

* **r_eows_code_tinytext_m** : Les langues dans lesquels l'événement sera présenté (malgré que certains restent avec la même langue en faisant le passage à l'autre)
* **creationdate**: La date de création de l'événement

* **keywords_tinytext**: Les mots clés proposés par les auteurs.

* **subject_nom_tinytext_m**: Les disciplines liées à l'événement

* **r_e_partners_nom_tinytext_m**: Les partenaires de l'événement

### 1.2.2 Volumétrie des données

Les données récoltées depuis Solr sont stockées en format tabulaire .csv, le tableau ci-dessous décrit la volumétrie de chaque fichier:

<table><thead><tr><th></th><th>publishers</th><th>documents</th><th>calenda</th></tr></thead><tbody><tr><th>Volume</th><td>7,3 Mo</td><td>237,5 Mo</td><td>33,4 Mo</td></tr></tbody></table>

### 1.2.3 Prétraitement des données Solr

Les données extraites de Solr bien qu'elles contiennent beaucoup d'informations pertinentes, il est nécessaire de leur faire subir un prétraitement pour pouvoir les utiliser dans les analyses. Voici les principaux prétraitements appliqués :

* **Normalisation des champs**: Certaines valeurs peuvent être exprimées différemment mais signifier la même chose (ex. "France", "france", "FRANCE"). La normalisation permet de standardiser ces valeurs (ex. toutes transformées en "France").

* **Traitement des champs manquants**: Certains champs sont parfois absents. Nous avons décidé de compléter ces données manuellement après des recherches pour assurer leur précision.

Ces enrichissements permettent de relier les comportements de navigation aux caractéristiques des contenus consultés, offrant ainsi une vision plus globale des interactions des utilisateurs.

## 2. Prétraitement des données

Bien que l'étude se base uniquement sur les logs de connexion des mois d'octobre 2022 et 2023, la quantité de données reste conséquente. Il est donc nécessaire d'utiliser des outils adaptés pour leur prétraitement. Les données sont prétraitées une seule fois, puis stockées au format **.parquet** pour optimiser leur manipulation ultérieure.

### 2.1 Chaîne de prétraitement des logs serveurs

Le prétraitement comprend quatre étapes principales nommé **PNSA** pour (Parser-Nettoyer-Segmenter-Augmenter). Au cours de ce processus, les fichiers logs des quatre plateformes et de l'api de Search sont agrégés et transformés pour permettre de
suivre les utilisateurs dans l'ensemble des sites d'OpenEdition. La figure illustre le pipeline
de prétraitement.

<figure><img src="image_6.png" /></figure>

Les fichiers de logs sont fusionnés à la fois par plateforme et par date. Cependant, dans certains cas, notamment lors de la phase de segmentation des sessions, certaines requêtes peuvent se retrouver dans deux fichiers de logs différents. Cela se produit, par exemple, lorsque l'heure locale du serveur indique minuit, mais que l'activité se poursuit pour des utilisateurs situés dans d'autres zones géographiques.

Pour garantir la continuité des requêtes sur plusieurs jours, il est nécessaire de fusionner les données issues de plusieurs fichiers de logs. Cependant, cette fusion peut poser un problème important : le coût élevé en termes de mémoire. Pour surmonter cette difficulté, nous avons décidé de fusionner les fichiers par lots hebdomadaires.

Le nombre de jours à inclure dans chaque lot devient ainsi un **hyperparamètre** de notre chaîne de prétraitement, permettant d'adapter le processus en fonction des besoins et des contraintes de ressources.

## 2.2 Processus d'extraction des données (Parser)

### 2.2.1 Description

La première étape consiste à extraire les informations pertinentes des lignes de logs, une opération souvent appelée *parsing* en anglais. L'objectif est de transformer le format brut .log (texte non structuré) en un format tabulaire, plus facile à exploiter. Pour cette étude, les champs suivants ont été retenus :

* `remote_addr`

* `time_local`

* `request`

* `status` (qui va être utilisé pour la phase de nettoyage puis supprimer)

* `http_referer`

* `http_user_agent`
identifier les bots qui se déclarent explicitement, comme les crawlers de moteurs de recherche (Googlebot, Bingbot, etc.).

Cependant, cette approche présente une limite : elle ne détecte pas les bots qui masquent leur identité ou utilisent un User-Agent imitant celui d'un utilisateur humain. Pour pallier ce problème, nous introduisons des méthodes avancées, telles que l'analyse comportementale basée sur les sessions de navigation. Ces techniques seront décrites en détail dans le chapitre suivant.

### 2.3.3 Nettoyage des requêtes serveurs

Pour supprimer les requêtes provenant des serveurs, nous nous basons sur les **URL** des requêtes. Les URL contenant certains mots-clés spécifiques sont identifiées comme étant générées par des serveurs. Ces requêtes, souvent destinées à charger des ressources internes ou à gérer des processus techniques, n'apportent pas d'information utile pour notre analyse des comportements humains et doivent donc être éliminées.

Voici la liste des mots clés utilisés pour détecter les lignes serveurs:

* norecordurl=

* .css

* clearcache=

* .png

* _=

* .woff

* format=

* .jpeg

* annotated=

* .jpg

* page=

* .eot

* .js

* .ttf

* .php

* .svg

### 2.3.4 Nettoyage des requêtes non abouti

Il est nécessaire de retirer les requêtes non abouties, c'est-à-dire celles qui n'ont pas un statut dans la gamme des **2XX** (signifiant une requête réussie). En général, ces requêtes sont associées à des erreurs (comme une **404**, page introuvable) ou sont le résultat d'une suppression, d'une corruption de ressource, ou d'autres problèmes techniques. Nous allons écarter ces lignes de logs pour nos premières analyses mais il se pourrait qu'elles puissent être l'objet d'une étude des usages en particulier.

## 2.4 Segmentation des sessions

### 2.4.1 Description

La segmentation des sessions aussi connue sous le nom d'identification des sessions dans la littérature, est l'étape centrale du prétraitement. Elle regroupe les requêtes en sessions de navigation, permettant d'associer les interactions d'un utilisateur ou bot sur une période donnée.

Il est à noter qu'il est tout à fait possible de revenir à l'étape de nettoyage après la segmentation des sessions afin de retirer les sessions bots.
### 2.4.2 Méthode classique

Il existe plusieurs manière de segmentation de sessions, L'approche la plus connu consiste en suivant ces étapes :

1. Regrouper les lignes de logs ayant la même adresse IP et le même User-Agent.

2. Ordonner les lignes en fonction de l'heure de la requête.

3. Déterminer si deux lignes consécutives appartiennent à la même session à l'aide des règles suivantes :

o L'URL de la requête précédente doit être le referer de la suivante, ou

o La durée d'inactivité entre deux requêtes doit être inférieure à un certain seuil (ex. 30 minutes).

La figure ci-dessous schématise le processus de segmentation:

<figure><img src="image_7.png" /></figure>

Cette méthode cependant suppose que la durée d'inactivité devrait être égale à un seuil fixe or ce n'est pas forcément le cas pour tous les usagers. Nous proposons donc une heuristique plus souple estimant la probabilité qu'une requête puisse appartenir à une session sans définir un seuil strict permettant ainsi d'inclure des requêtes avec un certain délai proche du seuil garantissant un peu plus de diversité.

### 2.4.3 Notre approche

Notre approche reste plus au moins la même:

#### 1. Regroupement des sessions

Les requêtes sont regroupées en fonction des champs **remote_addr** (adresse IP de l'utilisateur) et **user_agent** (navigateur ou outil utilisé).

#### 2. Ordonnancement chronologique

Les lignes de logs au sein de chaque groupe sont triées dans un ordre chronologique, de manière à refléter l'enchaînement des requêtes dans le temps.

Le changement commence à partir de cette étape:

#### 3. Identification des sessions

La délimitation des sessions est réalisée en déterminant le meilleur découpage à partir du
temps écoulé entre deux requêtes consécutives et du champ http_referer. Une formule probabiliste est utilisée pour décider si une nouvelle requête appartient à la même session ou à une session différente. Deux cas sont envisagés :

* **Cas 1** : Si l'intervalle de temps entre deux requêtes consécutives est inférieur à un seuil (30 minutes), les requêtes appartiennent à la même session.

* **Cas 2** : Si cet intervalle dépasse le seuil, nous calculons la probabilité que la requête suivante fasse partie de la même session en utilisant la formule suivante :

$$p(r_{i+1}|r_i, \theta) = \frac{1}{1 + (\theta - \Delta t_{i,i+1})^2}$$

où $\Delta t_{i,i+1}$ est le temps écoulé entre les deux requêtes et $\theta$ est la durée seuil.

* Nous prenons également en compte le champ **http_referer** (la page de provenance). Si le **http_referer** de la requête actuelle correspond à l'URL de la requête précédente, nous doublons la probabilité d'appartenance à la même session grâce à la formule :

$$p(r_{i+1}|r_i, \theta, ref) = \begin{cases} \min \left( 1, \frac{2}{1+(\theta-\Delta t_{i,i+1})^2} \right), & \text{si ref} = 1 \\ \frac{1}{1+(\theta-\Delta t_{i,i+1})^2}, & \text{si ref} = 0 \end{cases}$$

avec ref=1 quand le **http_referer** correspond à l'URL de la requête précédente, 0 sinon.

## Paramètre de sévérité α

Pour contrôler la probabilité d'appartenance à une session, nous introduisons un paramètre de sévérité α. Une valeur élevée de α réduit drastiquement la probabilité d'appartenance d'une requête à la session, ainsi des durées plus longues auront une probabilité proche de 0. Les formules deviennent alors :

$$p(r_{i+1}|r_i, \theta, ref) = \begin{cases} \min \left( 1, \frac{2}{1+\alpha(\theta-\Delta t_{i,i+1})^2} \right), & \text{si ref} = 1 \\ \frac{1}{1+\alpha(\theta-\Delta t_{i,i+1})^2}, & \text{si ref} = 0 \end{cases}$$

## Seuil sur les requêtes par session

En raison des limitations de mémoire, un seuil de 1 000 requêtes maximum par session est défini. Toute requête dépassant ce seuil ne sera pas enregistrée. Ce choix repose sur le fait qu'il est peu probable qu'une session humaine dépasse ce nombre de requêtes.

Les sessions ainsi obtenues sont ensuite analysées pour affiner le filtre des bots. Notre heuristique repose sur deux observations principales :

* Une session correspond à des interactions effectuées depuis le même appareil (d'où le regroupement par IP et User-Agent).

* La relation entre les URL (via le champ referer) indique une navigation continue.

* Enfin, la durée d'inactivité délimite la notion de session : une pause significative dans l'activité marque généralement la fin d'une tâche et le début d'une nouvelle session.

La figure résume le processus de segmentation:
<figure><img src="image_8.png" /></figure>

Nous justifions notre approche par le fait que la définition d'une session de navigation reste une question complexe et subjective. Les utilisateurs peuvent adopter des comportements très variés, rendant difficile l'utilisation d'une règle stricte pour délimiter les sessions. En optant pour un modèle probabiliste, nous permettons à des comportements typiques dans les données d'émerger naturellement. À l'inverse, un modèle basé sur un seuil fixe risquerait de masquer ces variations et de manquer de flexibilité pour capturer les nuances des comportements utilisateurs.

Les hyperparamètres, pour leur part, jouent un rôle crucial en définissant la souplesse de nos hypothèses. Par exemple, si l'on suppose qu'une durée maximale d'inactivité entre deux requêtes est de 30 minutes, notre approche probabiliste permet d'intégrer des scénarios spécifiques :

* **Navigation linéaire** : lorsque le http_referer de la requête actuelle correspond à l'URL de la requête précédente, ce qui indique une continuité logique dans la navigation.

* **Durée d'inactivité proche du seuil** : lorsque le temps écoulé entre deux requêtes est légèrement inférieur ou supérieur à la limite fixée, notre modèle applique une sévérité progressive pour déterminer si les requêtes appartiennent à la même session.

Ce choix d'heuristique, bien que subjectif, s'est révélé être le plus efficace parmi de nombreuses autres méthodes testées. Il permet de produire des sessions de navigation cohérentes en termes de continuité (voir chapitre 3 statistiques sur les sessions).
Cependant, il reste discutable et pourrait être ajusté en fonction des objectifs spécifiques de l'analyse ou des particularités des données traitées.

## 2.5 Enrichissement des données

Le but de cette étape est d'enrichir les sessions de navigation pour donner plus d'éléments de contexte en récoltant des informations sur l'origine des requêtes ou les contenus
consultés. Nous avons décidé d'enrichir avec Solr et GeoLite malgré le fait qu'il existe d'autres sources comme Unpaywall ou les tables d'IP des institutions.

### 2.5.1 Enrichissement avec les métadonnées Solr

Pour enrichir avec les métadonnées Solr, nous effectuons une jointure avec la table contenant les sessions de navigations. Il est à noter que les deux tables restent séparées jusqu'au moment où il faut faire la jointure pour extraire les informations importantes afin de réduire la taille des fichiers des sessions.

### 2.5.2 Enrichissement avec GeoLite2

Pour déterminer la géolocalisation des adresses IPs nous avons décidé d'utiliser la base de données de [GeoLite2](https://geoipdata.org/geoLite2), cette base de données peut être considéré comme un annuaire géant qui contient une grande collection d'adresses IP bien que ces données sont moins précises que celles de nos produits et services GeoIP payants, elles peuvent donner de bon résultats tant que c'est au niveau des pays ce que nous avons décidé de faire.

Il est à noter qu'il existe d'autres alternatives comme [ip2geotools](https://ip2geotools.org/) ou [GeoIP2Fast](https://geoip2fast.org/) qui repose sur les mêmes données GeoLite2, mais pour l'instant les bases de données que nous avons sont suffisantes.

Cependant il faut prendre ces informations avec des pincettes car les usagers peuvent avoir recours à plusieurs stratégies pour masquer leurs origines.

## 3. Discussion

La chaîne de prétraitement comporte plusieurs étapes, chacune introduisant son propre lot de biais. Il est crucial d'identifier et de discuter de ces biais, car ils peuvent influencer les analyses subséquentes. Dans cette section, nous abordons ces biais ainsi que les hyperparamètres qui régissent la chaîne de prétraitement.

### 3.1 Choix des hyperparamètres

La chaîne de prétraitement repose sur plusieurs hyperparamètres, chacun jouant un rôle central dans le processus. Voici les principaux paramètres, accompagnés à nouveau d'explications et des implications de leur configuration :

**Le nombre de jours à fusionner** : Il est important de fusionner les fichiers de plusieurs jours afin de garantir un suivi des sessions dans deux jours consécutifs. Malheureusement le processus de fusionner les fichiers est très coûteux en terme de mémoire surtout s'il est fait sur plusieurs plateformes en même temps, donc il faut envisager à réduire le lot de fichiers à fusionner à une taille raisonnable, donc notre cas nous avons décidé d'opter pour des lots d'une semaine.

**La durée seuil d'inactivité** : La durée d'inactivité que nous avons choisie était de 30 minutes car c'est ce qui se faisait dans l'état de l'art, mais il est tout à fait possible que cette durée ne soit pas la même pour les usagers OpenEdition. Il est donc nécessaire de mener une enquête pour savoir si cette durée correspond bien aux usagers.
**Le paramètre de sévérité** : Ce paramètre permet de réduire drastiquement la probabilité d'inclure une requête dans une session quand la durée dépasse le seuil. Ce paramètre doit être configuré selon le besoin (ex. est-ce que le but est d'inclure des requêtes qui dépassent le seuil d'inactivité de quelques minutes ou bien d'une vingtaine de minutes ?)

**Le nombre maximal de requêtes à suivre dans une session:** Certaines sessions peuvent finir avec un nombre énorme en terme de requête, malheureusement les limites en terme de mémoire nous ont obligé d'arrêter de traquer les sessions à partir d'un certain nombre de requêtes, en d'autre terme quand une session dépasse le seuil (que nous avions fixé à 10 000 requêtes), le travail de segmentation de sessions continu mais les requêtes ne sont pas enregistrées, jusqu'au moment ou une nouvelle session débute.

**Les expressions utilisées pour retirer les requêtes serveur:** Nous avons utilisé une liste de mots clés pour décider si une requête est une requête serveur, cette liste peut ne pas être complète vu que nous avions pas accès au code source de l'API qui gère les requêtes. Nous avons testé avec le terminal du développeur et utilisé une liste générique qui est souvent utilisée dans l'état de l'art.

## 3.2 Retour critique sur la chaîne de prétraitement

Les méthodes de prétraitement des logs présentées dans la littérature suivent généralement les mêmes étapes, bien qu'elles diffèrent légèrement en termes de nettoyage des données et de segmentation des sessions.

Dans notre approche, nous conservons les requêtes utilisant un verbe HTTP différent de **GET**, contrairement à d'autres méthodes où ces requêtes sont systématiquement supprimées [1][2]. De plus, nous utilisons une méthode différente pour détecter les sessions de robots : au lieu de nous baser uniquement sur les consultations des fichiers **robots.txt** ou sur les noms d'agents contenant des termes évocateurs de bots, nous avons opté pour une approche alternative.

La majorité des méthodes de segmentation regroupent les adresses **IP** et les **user_agent** pour définir les sessions, en y ajoutant parfois des seuils d'inactivité [3][4]. Cependant, certaines approches, comme la nôtre, adoptent des méthodes stochastiques ou d'optimisation [5][6].

Les méthodes de prétraitement présentent des limites importantes, notamment parce qu'elles reposent sur des hypothèses concernant les sessions des utilisateurs, ce qui introduit un biais inévitable. C'est pourquoi la plupart des entreprises et organismes optent pour des systèmes d'authentification afin de segmenter les sessions et de traquer les utilisateurs sur plusieurs sessions. Bien que cette solution permette d'obtenir des données plus précises, elle soulève des enjeux éthiques, notamment en ce qui concerne la protection de la vie privée des usagers. En outre, les logs sont à l'origine conçus pour permettre aux administrateurs système d'analyser le trafic. Ils ne sont pas destinés à étudier les comportements des utilisateurs, car ils se limitent à fournir des informations au niveau des sessions. Dans cette optique, notre étude représente un usage détourné des logs. Ces derniers permettent d'accéder aux sessions de navigation, mais ces sessions ne sont qu'une représentation partielle et limitée des usagers, lesquels restent, en grande partie, des
variables non observables.

Il est également essentiel de considérer l'impact des hyperparamètres utilisés dans la chaîne de prétraitement, car ils influencent directement la définition d'une session. Cette définition, qui reste souvent subjective, peut varier en fonction des seuils ou des paramètres choisis. Par ailleurs, les biais liés aux filtres, notamment dans l'identification des bots, doivent être pris en compte. Par exemple, il est possible pour un bot de simuler un comportement proche de celui d'un humain, en naviguant de manière quasi-indistinguishable tout en masquant son identité dans le champ **user_agent**. Ces bots peuvent alors extraire du contenu sans se faire bannir, compliquant davantage leur détection.

Malgré ces défis et ces biais inhérents, les logs restent une source précieuse d'information. Ils permettent d'extraire des données pertinentes à condition de bien prendre en compte leurs limites. Pour garantir des analyses robustes, il est indispensable de garder en mémoire les biais associés aux hypothèses, aux hyperparamètres, et aux filtres utilisés dans le processus de prétraitement.
# Chapitre 2: Filtrage des sessions robots

Ce chapitre vise à présenter les stratégies de filtrage des sessions de bots dans nos données. Les sessions générées par les bots diffèrent profondément des sessions humaines, tant sur le plan comportemental que sur leur finalité, et nécessitent une analyse spécifique. Cependant, notre priorité reste centrée sur l'étude des sessions humaines, ce qui rend indispensable le filtrage des bots. Leur présence pourrait en effet altérer la fiabilité des statistiques en ajoutant des consultations automatisées, dont la nature et les objectifs diffèrent largement de ceux des utilisateurs humains.

Dans ce chapitre, nous commençons par introduire brièvement les bots, avant de passer en revue les méthodes existantes pour les filtrer. Nous proposons ensuite notre propre approche pour la détection des bots. Une section est dédiée à l'évaluation de cette approche en comparant à d'autres méthodes. Enfin, nous concluons ce chapitre en résumant les remarques principales sur cette problématique et en ouvrant sur des perspectives pour les travaux futurs.

## 1. Introduction

Avant de commencer par présenter notre approche, il est nécessaire de comprendre la définition d'un bot en ayant quelques exemples et savoir les enjeux qu'ils peuvent soulever non seulement pour notre analyse mais aussi au niveau des sites d'OpenEdition.

### 1.1 Définition de bots

Un bot (abréviation de "robot") est une application logicielle automatisée ou semi-automatisée qui exécute des tâches répétitives, prédéfinies et souvent rapides. Ces tâches peuvent inclure des interactions avec des serveurs, des sites web ou d'autres systèmes informatiques, imitant ou remplaçant parfois le comportement des utilisateurs humains.

Dans le contexte du web, un bot est un programme conçu pour interagir avec des sites ou des réseaux en suivant des instructions spécifiques. Ils sont utilisés pour une grande variété de fonctions, allant de la collecte de données (comme les web crawlers utilisés par les moteurs de recherche) à des actions malveillantes (comme les bots de spam ou d'attaque DDoS). En 2024, une étude intitulée "Bad Bot Report" a révélé que les bots représentaient environ la moitié du trafic total sur Internet, illustrant ainsi leur omniprésence et leur impact.

Contrairement aux applications traditionnelles, les bots n'ont généralement pas d'interface utilisateur graphique, car leur interaction se limite principalement aux pages web, aux applications ou aux API. Cependant, certains bots, notamment ceux destinés à la communication, peuvent interagir directement avec les utilisateurs via des plateformes comme les chats ou les réseaux sociaux. Ces interactions leur permettent de jouer un rôle dans les systèmes de service client automatisé, comme les chatbots.

Les bots Internet reposent sur trois principaux composants fondamentaux (lien):
1. La logique applicative

C'est le code exécutable écrit par le développeur qui détermine le comportement du bot et les tâches qu'il doit accomplir. Par exemple, un bot peut être programmé pour extraire des informations spécifiques d'un site web ou pour interagir avec des API.

2. La base de données

Elle stocke les informations nécessaires au bot pour prendre des décisions. Par exemple, un bot chargé de collecter du contenu web peut enregistrer dans sa base de données les pages déjà explorées ou les données récoltées. Cette base peut également servir à conserver les résultats d'une session de navigation pour des analyses futures.

3. Les API (interfaces de programmation applicative)

Les bots utilisent souvent des API pour accéder à des fonctionnalités externes sans avoir à les coder intégralement. Par exemple, un bot peut appeler une API météo pour fournir des prévisions ou utiliser une API de messagerie pour envoyer des notifications. Les API jouent un rôle essentiel dans l'operérabilité des bots avec d'autres systèmes et services.

1.2 Une typologie des bots

Les bots peuvent être classés en deux grandes catégories : **utiles** et **malveillants**, en fonction de leur impact et de leur finalité voici des exemples pour chaque catégorie:

Voici une description des différents types de bots mentionnés, accompagnée d'exemples concrets et d'une évaluation de leur utilité ou de leur potentiel nuisible, avec des références pour vérification :

1. Bots d'indexation (Robots d'indexation)

* **Définition** : Les robots d'indexation, également appelés "spiders" ou "crawlers", sont des bots utilisés par les moteurs de recherche pour analyser et indexer le contenu des sites web. Ils parcourent le web de manière automatisée afin de collecter des informations sur les pages, ce qui permet aux moteurs de recherche de fournir des résultats pertinents aux utilisateurs.

* **Exemple concret** : Le Googlebot est le robot d'indexation de Google. Il explore constamment le web pour mettre à jour l'index de Google et assurer que les informations présentées aux utilisateurs sont actuelles et pertinentes.

* **Utilité/Nuisibilité** : Ces bots sont généralement utiles, car ils permettent aux moteurs de recherche de fournir des résultats précis et à jour aux utilisateurs.

2. Bots de surveillance

* **Définition** : Les bots de surveillance analysent en permanence les systèmes informatiques à la recherche de bogues, de logiciels malveillants ou d'activités inhabituelles. Ils contribuent à limiter l'exposition aux incidents de sécurité en surveillant l'état de santé des systèmes ou des sites web.

* **Exemple concret** : Les bots utilisés par des services de monitoring comme Nagios ou Zabbix surveillent les performances des serveurs et alertent les administrateurs en cas de problème.
* **Utilité/Nuisibilité** : Ces bots sont utiles, car ils aident à maintenir la sécurité et la stabilité des systèmes informatiques.

### 3. Bots transactionnels

* **Définition** : Les bots transactionnels facilitent les transactions en ligne en automatisant des processus tels que la vérification des informations de paiement et des données personnelles lors des paiements sur les sites d'e-commerce.

* **Exemple concret** : Les bots intégrés dans les systèmes de paiement en ligne, comme ceux utilisés par PayPal, vérifient automatiquement les informations de transaction pour assurer leur validité.

* **Utilité/Nuisibilité** : Ces bots sont généralement utiles, car ils améliorent l'efficacité et la sécurité des transactions en ligne.

### 4. Bots de moissonnage (Scrapers)

* **Définition** : Les bots de moissonnage, ou scrapers, parcourent le web pour extraire des données spécifiques, comme des adresses e-mail ou des informations de prix. Ils sont souvent utilisés pour collecter des informations à grande échelle.

* **Exemple concret** : Un bot qui collecte les adresses e-mail listées sur des sites web pour constituer des bases de données de contacts.

* **Utilité/Nuisibilité** : Ces bots peuvent être à la fois utiles et nuisibles. Ils sont utiles lorsqu'ils sont utilisés à des fins légitimes, comme l'analyse de marché, mais peuvent être nuisibles s'ils collectent des données sans consentement, violant ainsi la confidentialité.

### 5. Bots d'achat

* **Définition** : Les bots d'achat automatisent le processus d'achat en ligne, souvent pour acquérir des articles en édition limitée ou des billets d'événements dès leur mise en vente.

* **Exemple concret** : Les "sneaker bots" comme AIO bots sont utilisés pour acheter en masse des baskets en édition limitée dès leur sortie, les rendant indisponibles pour les acheteurs ordinaires.

* **Utilité/Nuisibilité** : Ces bots sont généralement considérés comme nuisibles, car ils créent une concurrence déloyale en accaparant des stocks destinés au grand public.

### 6. Bots de spam (Spambots)

* **Définition** : Les spambots sont des bots qui envoient massivement des messages non sollicités, souvent publicitaires, sur des forums, des blogs ou par e-mail.

* **Exemple concret** : Un spambot qui publie des commentaires promotionnels sur des blogs ou envoie des e-mails indésirables contenant des liens vers des sites douteux.

* **Utilité/Nuisibilité** : Ces bots sont nuisibles, car ils encombrent les plateformes de communication avec du contenu indésirable et peuvent servir de vecteurs pour des logiciels malveillants.

### 8. Bots de piratage de compte
* **Définition** : Ces bots tentent d'accéder de manière non autorisée à des comptes en ligne en utilisant des techniques comme le "credential stuffing", qui consiste à tester des combinaisons de noms d'utilisateur et de mots de passe volés.

* **Exemple concret** : Un bot qui utilise des informations d'identification divulguées pour accéder à des comptes bancaires en ligne.

* **Utilité/Nuisibilité** : Ces bots sont nuisibles, car ils compromettent la sécurité des comptes personnels et peuvent conduire à des vols d'identité ou des fraudes financières.

La liste de bots reste très grande car on peut créer un bot pour une tâche spécifique et cette typologie reste subjective car pour certains ce qui est nuisible est positif pour d'autres. La figure ci-dessous résume cette section en ajoutant d'autres exemples:

<figure><img src="image_9.png" /></figure>

## 1.3 Quelques enjeux généraux

Les bots jouent un rôle de plus en plus significatif sur Internet, représentant près de la moitié du trafic en ligne mondial. Parmi eux, les "bad bots" sont responsables d'un tiers de ce trafic, posant des défis majeurs en matière de cybersécurité et d'intégrité des données. Ces bots malveillants peuvent mener des attaques automatisées, comme le déni de service (DDoS), le vol de données sensibles ou la diffusion de spams, compromettant ainsi la sécurité des utilisateurs et des organisations. Par ailleurs, l'utilisation de bots dans les réseaux sociaux pour manipuler l'opinion publique ou diffuser de fausses informations soulève des préoccupations éthiques et politiques. Il est donc essentiel de développer des stratégies efficaces pour détecter et contrer les activités nuisibles des bots, tout en reconnaissant leur utilité dans des tâches légitimes, afin de préserver la confiance et la sécurité sur Internet.
# 2. Méthodologies de filtrage des sessions bots

## 2.1 Méthodes dans la littérature

La littérature propose une variété d'approches pour détecter les bots, regroupées en deux catégories principales : les méthodes « off-line », qui détectent les bots après la fin de leurs sessions de navigation, et les méthodes « en temps réel », où la détection s'effectue pendant la navigation. Une classification détaillée des méthodologies existantes a été proposée dans [7], répartissant ces méthodes en quatre grandes catégories : les méthodes syntaxiques, les méthodes de schémas de circulation, les méthodes d'apprentissage et les systèmes de test de Turing.

Les **méthodes syntaxiques** reposent sur l'identification de motifs spécifiques ou de mots-clés dans les logs, tels que la présence du mot « bot » dans l'agent utilisateur ou une correspondance avec une IP connue appartenant à un bot. Faciles à mettre en œuvre grâce à des règles prédéfinies, ces méthodes sont limitées par leur incapacité à détecter de nouveaux bots. Elles nécessitent des mises à jour régulières ou une intervention manuelle pour enrichir les bases de données avec de nouvelles IP suspectes.

Les **méthodes de schémas de circulation**, quant à elles, se basent sur des caractéristiques des sessions, comme la manière dont un bot parcourt un site, les types de ressources consultées ou des motifs séquentiels dans les requêtes. Plus robustes que les méthodes syntaxiques, elles restent cependant limitées à des attentes préétablies sur le comportement des bots et peuvent manquer de précision face à des comportements complexes.

Les **méthodes d'apprentissage**, qui sont une extension des méthodes de minage, s'appuient sur des modèles d'apprentissage automatique pour estimer la probabilité qu'une session soit associée à un bot. Elles transforment les sessions de navigation en vecteurs de caractéristiques exploitables par des algorithmes supervisés, non supervisés ou semi-supervisés, selon la disponibilité des données étiquetées. Ces approches sont plus flexibles et sophistiquées, car elles ne reposent pas sur des règles fixes mais sur des probabilités, offrant ainsi une meilleure adaptabilité.

Les **systèmes de test de Turing**, utilisés exclusivement pour la détection en temps réel, envisagent la session comme un dialogue entre le client et le serveur. Des tâches comme les CAPTCHA sont imposées au client pour vérifier son identité. Bien que ces méthodes soient efficaces, elles deviennent moins fiables face à des bots avancés qui délèguent ces tâches à des humains moyennant une récompense.

Enfin, certains travaux se concentrent sur la création de cadres conceptuels pour la détection des bots. Par exemple, [8] propose un processus en plusieurs étapes : extraction des sessions de navigation, sélection et annotation des caractéristiques pertinentes pour l'entraînement du modèle, et test avec classification des sessions sur la base des caractéristiques identifiées. Ce cadre, largement adopté dans l'état de l'art, met particulièrement en avant les méthodes d'apprentissage, qui dominent aujourd'hui la littérature en raison de leur efficacité et de leur capacité d'adaptation face à des bots de plus en plus sophistiqués.
Les méthodes d'apprentissage se divisent en quatre catégories principales : **supervisées**, nécessitant des annotations pour l'entraînement ; **non supervisées**, qui fonctionnent sans étiquettes en regroupant les sessions en fonction de leurs caractéristiques ; **semi-supervisées**, qui combinent des données étiquetées et non étiquetées ; et **par renforcement**, où un agent interagit avec son environnement pour en comprendre le fonctionnement. Quelle que soit la méthode, les étiquettes jouent un rôle central, que ce soit pour entraîner les modèles supervisés et semi-supervisés ou pour interpréter les groupes formés par les modèles non supervisés.

Pour les méthodes supervisées, plusieurs approches spécifiques ont été proposées : [9] utilise un arbre de décision C4.5 pour la classification ; [10] teste différents algorithmes (arbres de décision, réseaux de neurones, SVM, k-plus proches voisins) et introduit deux nouvelles caractéristiques, le pourcentage de requêtes séquentielles et l'écart-type des profondeurs des requêtes ; [11] propose une méthode basée sur des chaînes de Markov discrètes d'ordre 1 pour modéliser les sessions comme des séquences de requêtes, en supposant que les bots imitant des comportements humains sont inefficaces pour collecter des données ciblées ; [12] combine un réseau de neurones pour estimer la probabilité qu'une requête provienne d'un bot avec un test de Wald (Sequential Probability Ratio Test) pour évaluer la vraisemblance au niveau de la session ; [13] applique diverses méthodes supervisées pour détecter les bots dans un portail médical et identifie les variables les plus importantes grâce à une analyse de corrélation ; [14] explore les représentations sémantiques des documents visités, postulant que les humains naviguent sur des contenus thématiquement cohérents, contrairement aux bots ; enfin, [15] étend [14] en combinant LDA et Word2Vec pour améliorer la représentation sémantique des contextes.

En ce qui concerne les méthodes non supervisées, [16] propose un mélange d'apprentissage et d'optimisation avec la méthode "Particle Swarm Optimization Clustering" pour détecter les sessions aberrantes, en supposant que les sessions de bots se situent dans ces valeurs extrêmes ; [17] présente la méthode SMART, qui utilise un algorithme de regroupement Markovien (MCL) et une sélection de caractéristiques basée sur la théorie des ensembles approximatifs (FRS), concluant que l'identification préalable des attributs pertinents améliore la classification ; [18] compare des algorithmes comme K-Means ou c-Means avec des méthodes supervisées dans un site de e-commerce, montrant que l'efficacité de la classification non supervisée est globalement similaire à celle supervisée, tout en soulignant la capacité à détecter des bots cachés, bien qu'une fraction de sessions très courtes reste non détectée.

Pour les méthodes semi-supervisées, [19] propose un "Sparse Stacked Auto Encoder" avec un entraînement en deux étapes : d'abord, le modèle apprend à reproduire les caractéristiques des sessions grâce à des représentations latentes, puis effectue une classification supervisée sur les données étiquetées.

Enfin, les méthodes d'apprentissage par renforcement incluent des approches comme [20], où une simulation met en scène des bots testant différentes stratégies pour échapper à un modèle qui évolue pour apprendre ces nouvelles tactiques, et [21], qui utilise un modèle par renforcement pour identifier les caractéristiques optimales à conserver dans les représentations des sessions, tout en estimant la probabilité qu'une session provienne d'un bot à l'aide d'un classifieur.
## 2.2 Étapes pour la modélisation d'un détecteur de bots

La détection de bots dans la littérature suit un processus structuré en plusieurs étapes. La première étape consiste à **extraire les sessions à partir des logs de navigation**. Ensuite, on procède à l'extraction des caractéristiques, qui permet de décrire chaque session à l'aide de paramètres spécifiques (tels que le nombre de requêtes, la durée de la session, les ressources consultées, etc.) afin de transformer ces données en une représentation numérique exploitable par des algorithmes d'apprentissage.

La troisième étape est celle de l'étiquetage, qui consiste à associer à chaque session une étiquette (Bot, Humain ou parfois Indéterminé). Cette tâche est complexe, car elle nécessite des ressources externes et peut impliquer des incertitudes. Les méthodes d'étiquetage peuvent être divisées en deux grandes catégories :

a. **Les méthodes automatiques**, où les sessions sont étiquetées en se basant sur des informations objectives, comme l'adresse IP ou l'agent utilisateur. Ces méthodes s'appuient souvent sur des bases de données externes, comme des listes noires (par exemple, des bases collaboratives contenant des IP identifiées comme suspectes via le crowdsourcing). Bien que rapides, ces méthodes ne détectent pas toujours les nouveaux types de bots.

b. **L'annotation manuelle**, où les étiquettes sont attribuées en s'appuyant sur l'expertise des administrateurs système ou d'analystes spécialisés. Ces experts analysent le comportement des sessions pour repérer celles correspondant à un usage automatisé typique des bots. Cette approche est plus précise mais chronophage et coûteuse.

La quatrième étape consiste à **entraîner un modèle d'apprentissage** pour la tâche.

Enfin, la dernière tâche est l'évaluation. Pour garantir une évaluation fiable de la qualité du détecteur, il est essentiel de **diviser les sessions en deux ensembles distincts** : un ensemble d'entraînement, utilisé pour apprendre les caractéristiques différenciant les bots des humains, et un ensemble de test, destiné à évaluer la performance du modèle. Une fois le modèle d'apprentissage entraîné, il est évalué sur l'ensemble de test à l'aide de métriques (comme la précision, le rappel ou la F1-score). Si les résultats obtenus répondent aux attentes, le modèle peut être déployé en production. La figure ci-dessous résume ces étapes décrites.
<figure><img src="image_10.png" /></figure>

La phase d'étiquetage se déroule en trois étapes. Dans un premier temps, on examine l'agent utilisateur pour déterminer s'il correspond à un bot, en le comparant à une liste préétablie ou en recherchant des mots-clés spécifiques tels que "bot" ou "crawler". Ensuite, on vérifie si l'adresse IP de la session figure dans des listes noires, ce qui pourrait indiquer une activité suspecte. Enfin, pour identifier les sessions humaines, une troisième étape consiste à vérifier si l'adresse IP appartient à une institution. Nous faisons l'hypothèse que les institutions ont un faible usage de bots dans leurs sessions de navigation.

<figure><img src="image_11.png" /></figure>

## 2.3 Extraction des caractéristiques des sessions

L'extraction des caractéristiques des sessions est une étape importante dans la détection des bots, plusieurs études ont montré que la sélection de ces caractéristiques peut avoir une grande influence sur la qualité des résultats. Dans cette section nous allons lister quelques caractéristiques et sélectionner celles qui sont adaptées pour notre étude tout en justifiant nos choix. Les caractéristiques sont extraites des sessions de la période d'octobre 2023.
<table><thead><tr><td>ID</td><td>Nom de la caractéristique</td><td>Description</td></tr></thead><tbody><tr><td>1</td><td>Durée d'activité</td><td>La durée entre la première et la dernière requête dans une session.</td></tr><tr><td>2</td><td>Nombre de requêtes</td><td>Nombre total de requêtes.</td></tr><tr><td>3</td><td>Temps moyen</td><td>La moyenne des durées entre deux requêtes consécutives dans une session</td></tr><tr><td>4</td><td>Écart moyen des temps</td><td>L'écart type des durées entre deux requêtes consécutives dans une session</td></tr><tr><td>5</td><td>% Requêtes répétées</td><td>Le pourcentage des requêtes qui apparaissent au moins deux fois dans une session</td></tr><tr><td>6</td><td>% Requêtes uniques</td><td>Pourcentage de requêtes uniques dans une session</td></tr><tr><td>7</td><td>% Requêtes séquentielles</td><td>Pourcentage de requêtes dans le même répertoire (exemple /rep/url1 suivit de rep/url2)</td></tr><tr><td>8</td><td>% GET</td><td>Le pourcentage de requêtes avec un verbe GET</td></tr><tr><td>9</td><td>% POST</td><td>Le pourcentage de requêtes avec un verbe POST</td></tr><tr><td>10</td><td>% HEAD</td><td>Le pourcentage de requêtes avec un verbe HEAD</td></tr><tr><td>11</td><td>% OPTIONS</td><td>Le pourcentage de requêtes avec un verb OPTIONS</td></tr><tr><td>12</td><td>% Requêtes pendant la nuit</td><td>Le pourcentage de requêtes faites la nuit (entre 21h et 5h inclus)</td></tr><tr><td>13</td><td>% Requêtes sans référer</td><td>Le pourcentage de requêtes sans référer</td></tr><tr><td>14</td><td>% Statut 2XX</td><td>le pourcentage de requête avec un statut 2XX</td></tr><tr><td>15</td><td>% Statut 3XX</td><td>le pourcentage de requête avec un statut 3XX</td></tr><tr><td>16</td><td>% Statut 4XX</td><td>le pourcentage de requête avec un statut 4XX</td></tr><tr><td>17</td><td>% Statut 5XX</td><td>le pourcentage de requête avec un statut 5XX</td></tr><tr><td>18</td><td>Moyenne des profondeurs</td><td>La moyenne des profondeurs des url's visités dans une session</td></tr><tr><td>19</td><td>Écart type profondeurs</td><td>L'écart type des profondeurs des url's visités dans une session</td></tr><tr><td>20</td><td>Taille du transfert</td><td>La taille totale des octets envoyés par le serveur au client dans une session</td></tr><tr><td>21</td><td>nb_pdf</td><td>le nombre de fichiers pdf téléchargés</td></tr><tr><td>22</td><td>nb_epub</td><td>le nombre de fichiers epub téléchargés</td></tr><tr><td>23</td><td>BS</td><td>La vitesse de navigation</td></tr><tr><td>24</td><td>Pénalité</td><td>Le nombre de retours en arrière dans une session (le nombre de boucles)</td></tr><tr><td>25</td><td>PPI score</td><td>La moyenne de la popularité des pages consultés dans une session</td></tr><tr><td>26</td><td>%HTML</td><td>Le pourcentage de fichiers HTML consultés</td></tr><tr><td>27</td><td>% x_forwarded_for</td><td>Le pourcentage de (full, denied...) dans une session</td></tr><tr><td>28</td><td>Début Session</td><td>Le temps où la session a commencée</td></tr><tr><td>29</td><td>geolocalisation</td><td>Les coordonnées x et y des IPs</td></tr><tr><td>30</td><td>Référer Moteur</td><td>Est-ce que la session contient un référer de moteur de recherche connu</td></tr></tbody></table>
Pour ce rapport nous allons utiliser toutes les caractéristiques sauf celles avec les identifiants de 25 à 30 (en rouge dans le tableau) laissées pour de futurs travaux. Nous expliciterons par la suite la façon avec laquelle nous avons calculé certaines caractéristiques:

$$ \text{\*Pourcentage de requêtes uniques} = \frac{\text{Nombre requêtes uniques}}{\text{Nombre requêtes}} $$

$$ \text{\*Pourcentage de requêtes répétées} = \frac{\text{Nombre requêtes répétées}}{\text{Nombre requêtes uniques}} $$

$$ \text{\*Pourcentage de requêtes séquentielles} = \frac{\text{Nombre requêtes successives dans le même répertoire}}{\text{Nombre requêtes} - 1} $$

$$ \text{\*Vitesse de navigation} = \frac{\text{Nombre requêtes}}{\text{Durée d'activité}} $$

Nous avons sélectionné ces caractéristiques en nous basant sur plusieurs observations issues de l'analyse des sessions de navigation. **En général, les sessions associées aux bots présentent un nombre élevé de requêtes et une durée d'activité significative.** Contrairement aux utilisateurs humains, qui naviguent de manière intermittente et avec des pauses naturelles, les bots sont conçus pour maximiser l'efficacité et minimiser le temps d'interaction. Cela se traduit par une succession rapide de requêtes sur une longue période, souvent sans interruption notable. Ainsi, une session avec un nombre anormalement élevé de requêtes en un court laps de temps est un indicateur fort d'activité automatisée.

**Pour aller plus loin, l'analyse des intervalles entre requêtes est un critère essentiel pour distinguer bots et humains.** Les bots effectuent souvent leurs requêtes à des intervalles réguliers, car ils sont programmés pour exécuter des actions de manière systématique. Par exemple, un bot de web scraping peut envoyer des requêtes toutes les 100 millisecondes pour parcourir une base de données, alors qu'un utilisateur humain aura une variabilité plus importante dans le temps écoulé entre deux actions (lecture de contenu, changement de page, clics divers). En calculant l'écart-type des intervalles entre requêtes, on peut ainsi identifier des comportements suspectement homogènes. Si cette valeur est proche de zéro, cela signifie que les requêtes sont envoyées à des rythmes parfaitement réguliers, un signe distinctif des bots.

**L'exploration de la structure de navigation apporte également des indices clés.** Un bot ne se comporte pas comme un utilisateur humain lorsqu'il explore un site. Il peut suivre des modèles très spécifiques, par exemple en explorant systématiquement toutes les pages d'un répertoire donné avant de passer au suivant. En analysant le nombre de requêtes successives effectuées dans un même répertoire ou en détectant des motifs de navigation en boucle, on peut mieux discriminer les sessions. Par exemple, un bot qui indexe un site web peut suivre une logique de parcours linéaire des URLs (répertoire1/page1, répertoire1/page2, répertoire1/page3...), alors qu'un utilisateur humain aura tendance à naviguer de façon plus erratique, en allant et revenant sur certaines pages (répertoire2/page1, répertoire4/page2, répertoire1/page3...).

Un autre indicateur pertinent est l'analyse des verbes HTTP utilisés dans les requêtes. Les requêtes HTTP permettent aux clients (navigateurs ou bots) d'interagir avec un serveur web en utilisant différents verbes comme GET (récupération de ressources), POST (envoi
de données), **HEAD** (récupération des métadonnées sans le contenu), ou encore **OPTIONS** (renseignements sur les méthodes supportées). Certains bots privilégient particulièrement le verbe **HEAD**, qui permet d'obtenir des informations sur une page sans télécharger son contenu, une stratégie souvent utilisée par les crawlers pour économiser de la bande passante. À l'inverse, un fort pourcentage de requêtes **POST** pourrait être révélateur d'une activité automatisée cherchant à interagir avec un site, par exemple via des tentatives de connexion massives (brute force) ou des soumissions de formulaires en masse (spam).

Enfin, l'analyse des statuts de réponse du serveur fournit un autre levier d'identification. Un comportement humain normal engendre généralement une majorité de réponses **2XX** (succès) et **3XX** (redirections). En revanche, les bots peuvent générer un taux anormalement élevé de réponses **4XX** (accès interdit, pages introuvables) ou **5XX** (erreurs serveur). Par exemple, un bot malveillant cherchant à explorer des URLs restreintes peut accumuler des erreurs **403 Forbidden**, tandis qu'un bot mal configuré pourrait provoquer de nombreuses erreurs **500 Internal Server Error**. En croisant ces informations avec d'autres caractéristiques, on peut ainsi repérer les sessions suspectes et mieux discriminer les bots des utilisateurs humains.

## 2.4 Étiquetage des sessions

Pour la phase d'étiquetage nous procédons en deux étapes, l'annotation automatique telle qu'elle est décrite dans la partie précédente et l'annotation manuelle en se basant sur les caractéristiques extraites des sessions.

### 2.4.1 L'étiquetage automatique

L'étiquetage automatique se base sur 3 informations principales, l'agent utilisateur, la liste des IPs blacklistées et la liste des IPs des institutions. À chaque session nous associons la probabilité que celle-ci puisse appartenir à un bot. Si les informations indiquent que la session provient d'un bot alors nous associons la valeur de probabilité 1, si la session provient d'un humain nous associons la probabilité 0 sinon si nous avons aucune information sur l'origine de la session nous associons la valeur 0.5 pour dire qu'il y a autant de chance que ça soit à un humain qu'un bot.

L'agent utilisateur permet dans un premier temps de détecter les sessions qui se manifestent en étant celle des bots. Nous utilisons le module python [CrawlerDetect](https://github.com/abuseipdb/CrawlerDetect). Malheureusement ce premier filtre permet uniquement de retirer les bots qui se déclarent en tant que tel et non pas les bots cachées.

Afin d'avoir plus de sessions bots, nous allons inclure les listes des IPs blacklistées. Le problème c'est que ces listes d'IPs sont souvent à base de crowdsourcing et sont conçues pour des usages immédiats (les bases de données sont mises à jours régulièrement) et la plupart de ces fournisseurs de services n'archive pas les anciennes IPs (vu le coût que cela peut engendrer) voici une liste de fournisseurs d'IPs blacklistées :

* ABUSEIPDB

* BotScout

* Udger
* [GreyNoise](#)

Pour cette étude nous avons récupéré les IPs de [MYIP.MS](#) n'offrant qu'une petite liste d'IPs pour l'année 2023.

Ensuite pour avoir des sessions humaines nous avons opté pour les IPs d'institutions, bien que nous soyons conscients du fait que ces institutions puissent utiliser des bots dans leurs usages, nous considérons qu'une grande majorité des sessions avec ces IPs sont humaines. Nous trouvons que c'est la seule façon d'avoir des exemples de sessions humaines pour notre étude. Les IPs sont extraites des fichiers excel ISTEX fournis par le service Freemium d'OpenEdition. Ces fichiers excel contenant des range IP envoyé aux services Freemium pour qu'ils puissent les entrés sur l'espace pro pour qu'elles puissent profiter du service.

### 2.4.2 L'étiquetage manuel

Malgré les efforts fournis lors de l'annotation automatique, certaines sessions bots restent non identifiées, nous allons donc procéder à une annotation manuelle afin d'attribuer des probabilités à des sessions que nous estimons être celle de bots. Nous nous basons sur les caractéristiques suivantes pour associer la probabilité que la session puisse appartenir à un bot :

* **La vitesse de navigation** : si la vitesse de navigation est inférieure à 1, il y a de forte chance que la session puisse appartenir à un bot (nous faisons l'hypothèse qu'un utilisateur humain ne ferais pas plus d'une requêtes par seconde)

* **L'écart type entre les durées entre requêtes successives** : si l'écart est proche de 0, cela signifie que les durées entre requêtes sont espacées du même temps. un humain aura des écarts plus importants.

## 2.5 Modélisation

### 2.5.1 Analyse des caractéristiques des sessions

#### Traitement des données pour l'entraînement

Pour entraîner des modèles d'apprentissage, un prétraitement des données est nécessaire. Par exemple, la variable *taille du transfert* contient des valeurs très élevées, ce qui pourrait entraîner des instabilités numériques lors de l'entraînement du modèle. Il est également crucial de gérer les valeurs manquantes. Un cas particulier concerne les sessions contenant une seule requête : ces sessions ne possèdent pas certaines caractéristiques comme le temps moyen et l'écart-type des temps entre requêtes, car il est impossible de calculer une différence temporelle avec une seule donnée.

**Traitement sur la variable "taille du transfert":** Pour cette variable nous allons la transformer en échelle logarithmique afin d'avoir des valeurs moins grandes, malgré le passage à cette échelle nous avons encore des valeurs très grandes, nous avons donc décidé de tronquer ces grandes valeurs au 95% quantile.

**Traitement des valeurs manquantes:**
Afin de différencier les sessions avec des temps et écarts type moyen entre requêtes non attribuées, nous allons associer une valeur négative égale à -1 pour bien les discerner par rapport aux autres valeurs.

## Analyse des distributions

Nous allons par la suite analyser la distribution de chaque caractéristique, nous proposons un **diagramme à paires** pour voir le lien entre chaque caractéristique (voir annexe).

Le diagramme montre que les caractéristiques ne permettent pas une distinction claire des bots des humains sauf pour le pourcentage de requêtes séquentielles et le pourcentage de requêtes sans référent qui semblent pouvoir légèrement discriminer les sessions bots. Cette première analyse permet de tirer un aperçu des caractéristiques qui pourraient être pertinentes pour la détection, mais cela ne veut pas dire que les autres caractéristiques ne le sont pas.

## Corrélation entre caractéristiques

Nous tenons aussi à étudier les corrélations entre les caractéristiques, surtout avec la variable contenant la probabilité qu'une session puisse appartenir à un bot.

<figure><img src="image_12.png" /></figure>
Une **matrice de corrélation** est un tableau symétrique qui représente les relations linéaires entre plusieurs variables. Chaque élément de la matrice est un **coefficient de corrélation** qui mesure la force et la direction de la relation entre deux variables spécifiques, avec des valeurs comprises entre -1 et 1. Une valeur proche de 1 indique une corrélation positive forte, -1 une corrélation négative forte, et 0 aucune corrélation. On dit que deux variables corrèlent positivement lorsque les valeurs d'une variable augmentent, celles de l'autre variable augmentent également. Les deux variables évoluent donc dans le **même sens**. Lorsque les valeurs d'une variable augmentent, celles de l'autre variable diminuent. Les deux variables évoluent donc en **sens opposé** et on dit qu'elles ont une corrélation négative. Deux variables ont une **corrélation nulle** lorsqu'il n'existe **aucune relation linéaire** entre les deux variables : les variations de l'une ne sont pas associées aux variations de l'autre. Une corrélation nulle n'implique pas nécessairement une absence totale de relation. Il peut exister une **relation non linéaire** qui peut décrire l'évolution des deux variables.

L'analyse de la matrice de corrélation met en évidence plusieurs tendances clés permettant de différencier les sessions humaines de celles des bots. Tout d'abord, une forte corrélation positive est observée entre la **durée d'activité** (*activity_duration*) et le **nombre de requêtes** (*number_of_requests*), ce qui confirme que plus une session est longue, plus elle génère de requêtes. De même, la **durée moyenne entre deux requêtes** (*mean_duration_time Between_requests*) et son **écart-type** (*std_duration_time Between_requests*) sont fortement corrélés. Cela s'explique par le fait que les sessions ayant un temps moyen élevé entre les requêtes présentent également une plus grande dispersion de ces intervalles. En général, les sessions humaines ont des temps d'attente plus longs et plus variés, tandis que les bots envoient des requêtes à intervalles courts et réguliers, entraînant ainsi un faible écart-type. Le **pourcentage de requêtes uniques** (*percentage_of_unique_requests*) est négativement corrélé avec le **pourcentage de requêtes répétées** (*percentage_of_repeated_requests*), ce qui est logique : plus une session contient de requêtes répétées, plus la proportion de requêtes uniques diminue. De plus, les requêtes répétées sont corrélées avec les **requêtes séquentielles** (*sequential_requests*), c'est-à-dire les requêtes effectuées dans un même répertoire. Cela peut s'expliquer par le fait que certaines erreurs entraînent des tentatives répétées, qui, dans ce cas, peuvent être considérées comme des requêtes successives. On observe également une forte corrélation entre la **profondeur moyenne des pages visitées** (*mean_depth*) et son **écart-type** (*std_depth*), ce qui indique que les sessions qui explorent les niveaux profonds d'un site ont aussi une plus grande diversité dans la distribution des profondeurs parcourues. Concernant les téléchargements, le **nombre de fichiers PDF téléchargés** (*number_of pdf downloads*) est positivement corrélé avec le **nombre de fichiers EPUB téléchargés** (*number_of epub downloads*), suggérant que les sessions contenant de nombreux téléchargements de PDF sont souvent accompagnées d'un grand nombre de téléchargements d'EPUB. La **pénalité** (*penalty_score*) est fortement corrélée avec la **durée d'activité** et le **nombre de requêtes**, ce qui peut s'expliquer par le fait que les longues sessions sont souvent associées à des comportements de navigation plus intenses, incluant des retours en arrière. Enfin, la variable **Bot_Probability**, qui représente la probabilité qu'une session soit générée par un bot, est positivement corrélée avec le **pourcentage de requêtes sans référent** (*percentage_requests*). Cela s'explique par le fait que la majorité des bots ne déclarent pas leur référent. À l'inverse, cette probabilité est négativement corrélée avec le **nombre de requêtes séquentielles**, ce qui
suggère que les sessions contenant de nombreuses requêtes séquentielles sont moins susceptibles d'être générées par des bots.

## Analyse en composantes principales

Nous allons maintenant examiner les caractéristiques qui décrivent le mieux les sessions. Pour cela, nous utiliserons une Analyse en Composantes Principales (ACP) afin d'identifier les variables explicatives et de déterminer combien de composantes sont nécessaires pour reconstruire le jeu de données.

L'ACP est une méthode statistique permettant de réduire la dimensionnalité d'un ensemble de données tout en conservant l'essentiel de l'information. Elle transforme des variables initialement corrélées en un ensemble réduit de variables non corrélées, appelées composantes principales. Ces dernières sont des combinaisons linéaires des variables d'origine et sont ordonnées en fonction de la variance expliquée. L'objectif principal de cette approche est de simplifier l'analyse des données multidimensionnelles en les projetant dans un espace de plus faible dimension, tout en minimisant la perte d'information.

Nous commencerons par déterminer le nombre optimal de composantes nécessaires pour représenter fidèlement les données. À cet effet, nous utiliserons un diagramme de Pareto, qui permet d'évaluer la contribution de chaque composante à la variance totale. D'après ce diagramme, les deux premières composantes ne parviennent à expliquer que 29 % de la variance des données, indiquant ainsi que davantage de composantes sont requises pour une représentation plus fidèle.

<figure><img src="image_13.png" /></figure>

Nous allons ensuite nous intéresser à la contribution de chaque variable dans les deux premières composantes. Le cercle de corrélation permet justement de voir ces contributions. Le cercle de corrélation est un outil essentiel de l'analyse en Composantes Principales (ACP), utilisé pour visualiser les relations entre les variables initiales et les composantes
principales. Il permet d'évaluer la qualité de représentation des variables sur un plan factoriel et d'identifier les corrélations entre elles même si ces composantes ne décrivent que 29% des données il est intéressant de voir les variables qui participent le plus dans cette différenciation des sessions.

Les variables situées près du bord du cercle sont bien représentées par les axes principaux (PC1, PC2) et contribuent fortement à leur construction, tandis que celles proches du centre ont une faible contribution et sont mal représentées. L'alignement des variables avec les axes principaux indique leur degré de corrélation avec ces derniers : une variable parfaitement alignée avec un axe est bien expliquée par cette composante principale, tandis qu'une variable située entre deux axes est partiellement expliquée par chacun d'eux. Géométriquement, chaque variable est représentée par un vecteur, dont la longueur indique la qualité de représentation : plus il est long, plus la variable est bien prise.

<figure><img src="image_14.png" /></figure>

D'après la figure, les variables "night_percentage_requests", "sequential_requests", "percentage_3xx_status", "percentage_of_repeated_requests", "percentage_4xx_status", "HEAD_percentage" et "number_of pdf downloads" jouent un rôle majeur dans la construction de la première composante principale (PC1) tandis que la deuxième
composante principale (PC2) est principalement influencée par les variables
“number_of_pdf_downloads” et “BotProbability”.

Par la suite nous allons visualiser la distribution des sessions en utilisant les deux premières composantes (même si elles expliquent que 29% de la variance).

<figure><img src="image_15.png" /></figure>

Il semble que les sessions restent indiscernables en utilisant uniquement les deux premières composantes avec une légère tendance à avoir plus de sessions bots dans les extrémités (les coins haut gauche et en bas à droite)

Projection avec UMAP

L'UMAP (Uniform Manifold Approximation and Projection) est préféré à la PCA pour la visualisation des données, car il préserve mieux les structures locales et globales. La PCA, étant linéaire, ne capture pas les relations complexes et peut écraser des structures importantes lors de la réduction de dimension. UMAP, en revanche, conserve mieux la séparation des clusters et les relations non linéaires, offrant ainsi une représentation plus fidèle des données.

Dans un premier temps, nous allons réduire la dimensionnalité de nos représentations en utilisant l'algorithme UMAP. Cet algorithme est particulièrement adapté pour visualiser des données complexes dans des espaces de faible dimension tout en conservant leur structure.

En appliquant UMAP, nous chercherons à identifier si des clusters distincts apparaissent : par exemple, un cluster contenant principalement des bots et un autre regroupant uniquement des humains. Cette visualisation nous permettra d'estimer la complexité de la tâche de classification. Plus précisément, nous pourrons évaluer si les sessions des utilisateurs humains et celles des bots sont linéairement séparables dans cet espace réduit, ou si une séparation plus complexe est nécessaire.
Les deux figures ci-dessous représentent les projections obtenues en utilisant l'algorithme. Dans UMAP, deux paramètres clés influencent la manière dont les données sont projetées : nombre de voisins et distance minimale. Le paramètre nombre de voisins détermine la taille du voisinage utilisé pour comprendre la structure des données : une valeur élevée donne une vue plus globale en capturant des relations à grande échelle, tandis qu'une valeur faible privilégie la conservation des structures locales. Le paramètre distance minimale, quant à lui, contrôle l'espacement minimal entre les points dans l'espace réduit : une valeur faible regroupe les points proches et forme des clusters denses, tandis qu'une valeur plus grande répartit les points de manière plus uniforme, rendant les structures moins compactes. Ces visualisations ont été produites en utilisant nombre de voisins égal à 300 et distance minimale de 10'. Nous avons décidé de prendre un voisinage plus grand pour conserver la structure locale le plus possible et une distance minimale faible afin de bien séparer les nuages de points.

La première figure contient les sessions connues (bot ou humain) et inconnues celles avec une probabilité 0.5. Nous constatons que la majorité des sessions inconnues sont au centre.

<figure><img src="image_16.png" /></figure>

Afin d'avoir un meilleur aperçu nous allons retirer les sessions avec des étiquettes inconnues pour voir quelles sont les classes majoritaires dans chaque région. Nous remarquons dans la deuxième figure que la zone verte dans la première figure contient un mélange de sessions bots et humaines avec certaines communautés de bots qui se retrouvent éloignées du centre.
<figure><img src="image_17.png" /></figure>

Les analyses montrent que la tâche d'apprentissage ne va pas être facile vu que les sessions bots et humaines ont tendance à être proches.

## 2.5.2 Modèles d'apprentissage et évaluations

### Pipeline de transformation et découpage des données

Dans cette section nous allons nous intéresser aux modèles d'apprentissage que nous allons employer pour la tâche de détection de bots. Pour ce faire nous avons décidé d'utiliser [Pycaret](https://pycaret.org/) pour faire la phase d'apprentissage. PyCaret est une bibliothèque Python open source et **low-code** conçue pour automatiser les workflows d'apprentissage automatique, réduisant significativement le nombre de lignes de code nécessaires pour créer, tester et déployer des modèles de machine learning.

Un autre prétraitement est appliqué sur les données d'entraînement comme la correction du déséquilibre des classes, la normalisation des variables numériques en z-score, transformation des caractéristiques pour les rendre plus proches d'une distribution normale (Transformée de Yeo-Johnson), la sélection des caractéristiques pour ne conserver que celles qui ont un impact significatif sur la prédiction, supprimer les caractéristiques fortement corrélées entre elles afin de réduire la redondance et améliorer la robustesse du modèle et filtrer les caractéristiques avec une variance inférieure à un seuil fixé à 0.1, car elles apportent peu d'information discriminante au modèle.

Pour les données d'entraînement nous avons échantillonné 30 000 caractéristiques des sessions humaines et 35 000 caractéristiques des sessions bots, chaque session est décrite par 26 caractéristiques qui seront par la suite réduites et transformées et filtrées pour n'avoir que 6 caractéristiques à la fin. Les données sont ensuite augmentées pour avoir 68 500 caractéristiques de sessions au lieu des 65 000 sessions de départ (après avoir fixé le
déséquilibre entre les deux classes) le jeu de données a été scindé par la suite en deux, des données d'entrainements contenant 49 000 sessions et de test contenant 19 500 sessions.

## Sélection du Modèle et Méthode d'apprentissage

Les modèles ont été entraînés et évalués par validation croisée sur 10 blocs. Les métriques utilisées sont l'exactitude, la précision, le rappel, F1 score, Kappa, MCC et AUC.

Le tableau ci-dessous indique les scores et métriques des modèles utilisés pour l'entraînement ainsi que leurs temps d'entraînement.

<table><thead><tr><td>Model</td><td>Accuracy</td><td>AUC</td><td>Recall</td><td>Prec.</td><td>F1</td><td>Kappa</td><td>MCC</td><td>T(s)</td></tr></thead><tbody><tr><td>Extreme Gradient Boosting</td><td>0.841</td><td>0.93</td><td>0.835</td><td>0.865</td><td>0.85</td><td>0.681</td><td>0.681</td><td>99.38</td></tr><tr><td>Random Forest Classifier</td><td>0.84</td><td>0.924</td><td>0.834</td><td>0.864</td><td>0.85</td><td>0.678</td><td>0.679</td><td>101.35</td></tr><tr><td>CatBoost Classifier</td><td>0.839</td><td>0.929</td><td>0.828</td><td>0.868</td><td>0.847</td><td>0.678</td><td>0.679</td><td>104.72</td></tr><tr><td>Light Gradient Boosting Machine</td><td>0.836</td><td>0.927</td><td>0.822</td><td>0.867</td><td>0.844</td><td>0.672</td><td>0.674</td><td>182.72</td></tr><tr><td>Extra Trees Classifier</td><td>0.835</td><td>0.904</td><td>0.829</td><td>0.859</td><td>0.8438</td><td>0.668</td><td>0.669</td><td>100.11</td></tr><tr><td>K Neighbors Classifier</td><td>0.8335</td><td>0.909</td><td>0.831</td><td>0.856</td><td>0.843</td><td>0.666</td><td>0.666</td><td>101.84</td></tr></tbody></table>
<table><tr><td>Gradient Boosting Classifier</td><td>0.8192</td><td>0.912</td><td>0.805</td><td>0.851</td><td>0.828</td><td>0.638</td><td>0.639</td><td>97.56</td></tr><tr><td>Decision Tree Classifier</td><td>0.818</td><td>0.819</td><td>0.825</td><td>0.834</td><td>0.83</td><td>0.633</td><td>0.633</td><td>99.32</td></tr><tr><td>AdaBoost Classifier</td><td>0.789</td><td>0.887</td><td>0.774</td><td>0.823</td><td>0.798</td><td>0.577</td><td>0.579</td><td>95.99</td></tr><tr><td>Quadratic Discriminant Analysis</td><td>0.772</td><td>0.827</td><td>0.763</td><td>0.804</td><td>0.783</td><td>0.544</td><td>0.545</td><td>100.75</td></tr><tr><td>Naive Bayes</td><td>0.771</td><td>0.817</td><td>0.724</td><td>0.829</td><td>0.773</td><td>0.544</td><td>0.55</td><td>97.06</td></tr><tr><td>Logistic Regression</td><td>0.767</td><td>0.824</td><td>0.744</td><td>0.808</td><td>0.775</td><td>0.535</td><td>0.537</td><td>99.62</td></tr><tr><td>Ridge Classifier</td><td>0.765</td><td>0.818</td><td>0.735</td><td>0.811</td><td>0.771</td><td>0.531</td><td>0.534</td><td>99.90</td></tr><tr><td>Linear Discriminant Analysis</td><td>0.765</td><td>0.817</td><td>0.734</td><td>0.811</td><td>0.771</td><td>0.530</td><td>0.533</td><td>99.09</td></tr><tr><td>SVM - Linear Kernel</td><td>0.760</td><td>0.815</td><td>0.710</td><td>0.821</td><td>0.761</td><td>0.523</td><td>0.529</td><td>99.55</td></tr><tr><td>Dummy Classifier</td><td>0.461</td><td>0.500</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>99.62</td></tr></table>
Le modèle qui a fonctionné le mieux est le "Extreme Gradient Boosting" (XGBOOST). Nous allons donc utiliser ce modèle pour l'inférence (la tâche de détection de bot). Ci-dessous des évaluations complémentaires du modèle XGBOOST.

## Évaluations complémentaires du Modèle sélectionné

Dans cette sous-section, nous présentons plusieurs figures pour mieux comprendre la performance du modèle sélectionné et l'importance de ses caractéristiques dans les prédictions.

## Matrice de Confusion

Ci-dessous, la matrice de confusion du modèle XGBOOST, où l'étiquette **0** représente les humains et l'étiquette **1** correspond aux bots.

<figure><img src="image_18.png" /></figure>

Une **matrice de confusion** est un outil permettant d'évaluer la performance d'un modèle de classification en comparant ses prédictions aux vraies valeurs. Chaque case de la matrice représente le **nombre de fois** où une certaine situation s'est produite. Elle est composée de quatre éléments principaux :

* **Vrais positifs (VP)** : Nombre de fois où le modèle a prédit **1 (bot)** et où la vraie étiquette était aussi **1 (bot)**. Il s'agit de bonnes prédictions, situées dans la case en bas à droite de la matrice.

* **Faux positifs (FP)** : Nombre de fois où le modèle a prédit **1 (bot)** alors que la vraie étiquette était **0 (humain)**. C'est une erreur où un humain a été classé à tort comme un bot (case en haut à droite).
* **Vrais négatifs (VN)** : Nombre de fois où le modèle a prédit **0 (humain)** et où la vraie étiquette était aussi **0 (humain)**. Ce sont également de bonnes prédictions (case en haut à gauche).

* **Faux négatifs (FN)** : Nombre de fois où le modèle a prédit **0 (humain)** alors que la vraie étiquette était **1 (bot)**. C'est une erreur où un bot a été classé à tort comme un humain (case en bas à gauche).

D'après la matrice de confusion, nous remarquons que le modèle détecte plus facilement les sessions de bots que celles des humains. Il a cependant tendance à classer certaines sessions de bots comme des sessions humaines. Cela reste avantageux, car notre objectif est d'éliminer un maximum de bots tout en conservant le plus grand nombre possible de sessions humaines.

## Courbe ROC

La courbe ROC (Receiver Operating Characteristic) est un graphique qui permet d'évaluer la performance d'un modèle de classification binaire. Elle représente le taux de vrais positifs (sensibilité) en fonction du taux de faux positifs, pour différents seuils de décision. Une courbe proche du coin supérieur gauche indique un bon modèle, tandis qu'une courbe proche de la diagonale signifie que le modèle ne fait pas mieux qu'un choix aléatoire. L'aire sous la courbe (AUC-ROC) est une mesure synthétique de la performance du modèle : plus elle est proche de 1, plus le modèle est performant.

La figure ci-dessous correspond à la courbe ROC du modèle XGBOOST.

<figure><img src="image_19.png" /></figure>
## Importance des variables

La figure ci-dessous est un graphique d'importance des variables (Feature Importance Plot), qui permet d'identifier quelles caractéristiques ont le plus d'influence sur les prédictions du modèle XGBOOST. Il est utilisé pour mieux comprendre le fonctionnement interne du modèle et évaluer l'impact de chaque variable sur la classification.

<figure><img src="image_20.png" /></figure>

Dans ce graphique :

* L'axe vertical liste les différentes caractéristiques utilisées par le modèle.

* L'axe horizontal représente l'importance des variables, indiquant leur contribution aux décisions du modèle.

On observe que la variable "percentage_requestsWithoutReferer" a l'impact le plus significatif, suivie de "browsing_speed" et "total_bytes_sent". Les autres variables, comme "mean_depth" et "activity_duration", ont une influence moindre. Cela signifie que le modèle se base principalement sur le pourcentage de requêtes sans référent pour différencier les bots des humains, cette caractéristique jouant un rôle clé dans la classification.

# 3. Détection et Nettoyage des sessions Bots

Dans cette section nous allons décrire comment nous allons nous servir du modèle pour la détection et le nettoyage des bots dans les sessions de navigations.

## 3.1 Détection des sessions Bots

Pour la détection de Bots nous allons dans un premier temps sélectionner toute les sessions dont on est pas sûr si elles sont bots ou humaines. Ensuite nous allons utiliser le modèle entraîné pour associer une étiquette (humain/bot), après ça nous décidons à partir d'un score de confiance montrant à quel point le modèle sélectionné est sûr de sa prédiction. Nous avons mis un seuil de confiance à 95% si une prédiction n'a pas un score de confiance
au-delà de ce seuil elle n'est pas prise et donc la session reste indéterminée et sera utilisé
pour les prochaines analyses.

## 3.2 Nettoyage des sessions Bots

Une fois les prédictions effectuées, nous revenons aux sessions pour identifier les adresses IP associées aux bots. Nous constituons ainsi notre propre liste noire d'IP, qui sera utilisée lors du nettoyage des logs dans le pipeline. Les IP ayant adopté un comportement de bot à un moment donné seront exclues des analyses. Notre objectif étant d'obtenir des sessions avec le moins de bots possible, il nous semble pertinent de retirer ces sessions, même si l'IP a pu être utilisée pour une session humaine auparavant.

La figure ci-dessous illustre le processus de détection et de nettoyage :

<figure><img src="image_21.png" /></figure>

Grâce à cette méthode, nous avons identifié 2 311 272 sessions de bots parmi 13 972 807 sessions inconnues, soit 16,5 %.

# 4. Perspectives et Conclusion

## 4.1 Perspectives

Bien que cette étude ait permis d'identifier des sessions de bots et d'affiner les analyses, plusieurs axes d'amélioration restent à explorer. Tout d'abord, la qualité des données représente une limite majeure : l'échantillon actuel contient trop peu de sessions humaines, ce qui risque de déséquilibrer les analyses. De plus, la présence de bruit dans les données peut affecter la fiabilité des modèles. Il serait donc pertinent de tester cette approche sur un jeu de données plus récent et mieux équilibré afin d'obtenir des résultats plus robustes.

Par ailleurs, l'identification des bots pourrait être affinée en explorant de nouvelles caractéristiques des sessions, notamment des indicateurs encore inédits susceptibles d'améliorer la distinction entre comportements humains et automatisés. Une autre piste intéressante consisterait à catégoriser les bots en différentes familles (ex. bots d'indexation,
de scraping, malveillants), permettant ainsi une détection plus ciblée et adaptée à chaque type d'activité automatisée.

Enfin, l'exploration d'autres modèles et méthodes constitue une voie prometteuse. Tester des approches plus avancées en machine learning ou combiner plusieurs techniques pourrait renforcer la précision et la fiabilité de la détection.

Cette étude marque ainsi une première étape vers une meilleure compréhension des bots et de leur impact sur l'analyse du trafic web. Elle ouvre la voie à de futurs travaux visant à affiner les modèles et à adapter les méthodes aux évolutions constantes des comportements automatisés.

## 4.2 Conclusion

L'identification des sessions de bots est une tâche complexe. Les modèles d'apprentissage automatique nous ont permis de détecter ces sessions dans nos données, réduisant ainsi les biais pouvant affecter nos analyses. Cependant, cette approche présente plusieurs limites. Tout d'abord, elle repose sur des données annotées, dont la qualité influence directement la performance du modèle. Une mauvaise annotation ou un ensemble de données biaisé risque de fausser les résultats. Ensuite, les bots évoluent constamment et adoptent de nouveaux comportements, ce qui nécessite un réentraînement régulier du modèle pour rester efficace. De plus, si les sessions humaines sont en minorité par rapport aux sessions robots, le modèle peut avoir du mal à bien les identifier, ce qui réduit son efficacité. Enfin, la classification des sessions n'est jamais parfaite : certains comportements humains atypiques peuvent être confondus avec ceux des bots (faux positifs), tandis que des bots sophistiqués peuvent passer inaperçus (faux négatifs).

Une étude plus approfondie sur l'utilisation des bots comme outils de gestion et d'exploration documentaire pourrait être pertinente. En effet, bien que souvent perçus comme des nuisances dans l'analyse du trafic web, les bots peuvent également jouer un rôle essentiel dans le contexte des bibliothèques numériques et les plateformes de diffusion de la connaissance. Leur capacité à indexer massivement des ressources, à automatiser des tâches de veille ou encore à faciliter l'accessibilité à de vastes corpus documentaires ouvre des perspectives intéressantes.

Cela soulève plusieurs questions essentielles : comment distinguer les bots utilisés à des fins documentaires ? Quels sont les organismes qui exploitent ces technologies, et dans quel but ? Une réflexion approfondie sur l'élaboration de protocoles d'identification intelligents, capables de différencier les divers types de bots, permettrait de mieux valoriser les données numériques de la plateforme à l'ère du big data.

Enfin, nous clôturons ce chapitre par deux dernières statistiques : l'une sur la répartition du trafic entre robots et humains en termes de requêtes, l'autre en termes de sessions pour les deux périodes d'octobre 2022 et octobre 2023.
Distribution des (sessions/requêtes) Bots et Humaines pour le mois d'octobre 2022

<figure><img src="image_22.png" /><figcaption>Répartition des Sessions</figcaption></figure>

<figure><img src="image_23.png" /></figure>

Distribution des (sessions/requêtes) Bots et Humaines pour le mois d'octobre 2023

<figure><img src="image_24.png" /><figcaption>Répartition des Sessions</figcaption></figure>

<figure><img src="image_25.png" /></figure>

Comme mentionné dans le chapitre 1, les logs d'Hypothèses ne sont pas disponibles pour l'année 2022, contrairement à 2023, ce qui peut influencer les statistiques (notamment si la plateforme attire un plus grand nombre de bots). Par conséquent, une comparaison temporelle ne permettrait pas de mesurer une évolution pertinente. L'objectif ici est plutôt d'estimer l'ordre de grandeur des bots dans les sites d'OpenEdition.
# Chapitre 3: Statistiques d'accès et de consultation

Après l'extraction des sessions de navigation et le filtrage des bots, nous nous concentrons désormais sur l'analyse des statistiques de consultation à travers les requêtes HTTP sur l'ensemble des plateformes d'OpenEdition. Ce chapitre n'a pas pour objectif d'établir une liste exhaustive des données disponibles, mais plutôt d'identifier et d'explorer certaines tendances clés pouvant nourrir des réflexions et des discussions.

Notre analyse portera principalement sur les requêtes HTTPS effectuées, tandis que l'étude détaillée des sessions de navigation sera abordée dans le chapitre suivant. Les statistiques seront examinées selon quatre axes principaux :

1. **Temporel** : évolution des consultations dans le temps

2. **Géographique** : répartition des consultations par localisation

3. **Documentaire** : analyse des contenus consultés

4. **Référents** : étude des sources de trafic des requêtes

## 1.Statistiques temporelles

Nous allons lister des statistiques liées d'ordre temporel et essayer d'observer les tendances dans différentes périodes. Un comparatif entre les deux années de 2022 et 2023 va être fait pour voir s'il y a des évolutions dans les tendances observées.

### 1.1 Distribution journalière des requêtes

L'analyse de la distribution des requêtes par jour permet d'observer le volume total de requêtes effectuées à chaque heure de la journée durant tout le mois, toutes plateformes confondues. Plus précisément, pour chaque heure donnée, nous avons additionné le nombre de requêtes enregistrées sur l'ensemble des jours du mois.

Les résultats montrent un plus faible volume de requêtes entre 23h et 2h, suivi d'une stabilisation jusqu'à 5h du matin. À partir de 6 h, une augmentation progressive est observée, atteignant un pic entre 13h et 14h, avant de redescendre progressivement. Ces tendances sont similaires pour les années 2022 et 2023, sans variations notables. L'augmentation des requêtes entre 6h et 13h pourrait être liée aux horaires de travail.

Les deux figures ci-dessous illustrent ces tendances pour les années 2022 et 2023.
Distribution horaire/journalière des requêtes pour le mois d'octobre 2022

<figure><img src="image_26.png" /></figure>

Distribution horaire/journalière des requêtes pour le mois d'octobre 2023

<figure><img src="image_27.png" /></figure>

Nous allons maintenant analyser cette distribution pour chaque plateforme afin de déterminer si la tendance observée se retrouve à leur niveau ou si des variations existent.

Au niveau de Books et Journals ainsi que Hypothèse pour la période d'octobre 2023 la distribution semble être conservé:

Distribution horaire/journalière des requêtes dans Journals (octobre 2022)

<figure><img src="image_28.png" /></figure>

Distribution horaire/journalière des requêtes dans Journals (octobre 2023)

<figure><img src="image_29.png" /></figure>
Distribution horaire/journalière des requêtes dans Books (octobre 2022)

<figure><img src="image_30.png" /></figure>

Distribution horaire/journalière des requêtes dans Books (octobre 2023)

<figure><img src="image_31.png" /></figure>

Distribution horaire/journalière des requêtes dans Hypothèses (octobre 2023)

<figure><img src="image_32.png" /></figure>

La tendance observée pour Calenda diffère entre les deux périodes : celle d'octobre 2022 présente moins de disparités que celle d'octobre 2023.

Distribution horaire/journalière des requêtes dans Calenda (octobre 2022)

<figure><img src="image_33.png" /></figure>
## Distribution horaire/journalière des requêtes dans Calenda (octobre 2023)

<figure><img src="image_34.png" /></figure>

Dans Search la tendance est plus prononcée, on remarque une baisse de consultations entre 10h et 11h avant de repartir à la hausse.

## Distribution horaire/journalière des requêtes dans Search (octobre 2022)

<figure><img src="image_35.png" /></figure>

## Distribution horaire/journalière des requêtes dans Search (octobre 2023)

<figure><img src="image_36.png" /></figure>

## 1.2 Distribution hebdomadaire des requêtes

Dans cette sous section nous allons nous intéresser aux tendances au niveau des jours de la semaine. Nous allons donc calculer le nombre de requêtes fait par jour. L'analyse montre une grande activité du lundi jusqu'au vendredi où elle commence à baisser, ensuite l'activité reprend dimanche elle continue à augmenter jusqu'à vendredi à nouveau.

### Distribution hebdomadaire des requêtes (octobre 2022)

<figure><img src="image_37.png" /></figure>
Distribution hebdomadaire des requêtes (octobre 2023)

<figure><img src="image_38.png" /></figure>

## 1.3 Statistiques sur les sessions de navigation

Dans cette section, nous nous intéressons à un ensemble de statistiques descriptives concernant les sessions de navigation définies au chapitre 1. Plus précisément, nous analyserons la **taille des sessions**, leur **durée d'activité** ainsi que la **vitesse de navigation** des utilisateurs.

### 1.3.1 Distribution de la taille des sessions

D'après les figures ci-dessous, la majorité des sessions sur OpenEdition sont composées d'un petit nombre de requêtes : les utilisateurs effectuent généralement une seule requête par session. Cela se reflète dans la médiane, qui est égale à 1, ce qui signifie que 50 % des sessions ne comportent qu'une seule requête. Par ailleurs, 25 % des sessions atteignent une taille de 2, ce qui correspond également au troisième quartile.

La distribution du nombre de sessions décroît de manière exponentielle en fonction de leur taille — une tendance clairement visible sur les graphiques où les deux axes sont en échelle logarithmique.

Distribution des taille de sessions en nombre de requêtes (octobre 2022)

<figure><img src="image_39.png" /></figure>

Distribution des taille de sessions en nombre de requêtes (octobre 2023)

<figure><img src="image_40.png" /></figure>
### 1.3.2 Distribution des durées d'activité dans une session

La durée d'activité correspond à l'intervalle de temps entre la première et la dernière requête effectuée au cours d'une session. Elle ne doit pas être confondue avec la durée réelle de la session, que les données issues des logs ne permettent pas d'estimer avec précision.

À l'instar de la taille des sessions, la durée d'activité est généralement courte : 75 % des sessions durent 16 minutes ou moins. On observe également que cette durée décroît de manière exponentielle avec le nombre de requêtes effectuées.

#### Durée d'activité des sessions (octobre 2022)

<figure><img src="image_41.png" /></figure>

#### Durée d'activité des sessions (octobre 2023)

<figure><img src="image_42.png" /></figure>

On observe également l'effet du seuil temporel (défini dans notre méthodologie d'identification des sessions) sur la distribution de la durée d'activité. En effet, au-delà de 30 minutes, la courbe présente un changement de pente notable et suit une décroissance similaire à celle induite par la fonction de probabilité d'appartenance à une session (voir chapitre 1), basée sur l'intervalle temporel entre les requêtes.

### 1.3.3 Vitesse de navigation

La vitesse de navigation permet d'estimer l'intensité de l'activité des utilisateurs au sein d'une session, en mesurant le nombre de requêtes effectuées par unité de temps. Elle est calculée comme le rapport entre le nombre total de requêtes et la durée d'activité de la session.

D'après les figures observées, pour plus de 75 % des sessions, la vitesse de navigation est elle inférieure à 0,133 requêtes/seconde en octobre 2022 et à 0,156 requêtes/seconde en octobre 2023. Cela suggère que, dans la majorité des cas, les utilisateurs réalisent moins d'une requête toutes les sept à huit secondes.
Cependant, certaines sessions présentent une vitesse supérieure à 1, ce qui indique qu'elles comprennent plus d'une requête par seconde. Ces cas atypiques feront l'objet d'une analyse plus approfondie dans le cadre de travaux futurs.

### Distribution de la vitesse de navigation (octobre 2022)

<figure><img src="image_43.png" /></figure>

### Distribution de la vitesse de navigation (octobre 2023)

<figure><img src="image_44.png" /></figure>

## 2. Statistiques Géographiques

Les statistiques relatives à la provenance géographique des requêtes sont établies à partir des adresses IP, en s'appuyant sur la base de données GeoIP (voir chapitre 1). Il convient toutefois de souligner que cette méthode présente certaines limites. En effet, l'utilisation de réseaux privés virtuels (VPN) ou d'autres techniques d'anonymisation peut fausser la localisation réelle des utilisateurs.

Afin de minimiser ces biais, l'analyse a été conduite à l'échelle des pays. Ce niveau d'agrégation permet notamment de repérer les grandes tendances de trafic, en particulier celui provenant des institutions localisées dans leur propre pays au sein des plateformes.

Les figures ci-dessous montrent le nombre de requêtes faites dans chaque pays. Plus la zone est sombre, plus le pays à fait un nombre important de requêtes et plus le couleur est claire moins le nombre est important.
Distribution géographique des requêtes en échelle logarithmique (octobre 2022)

<figure><img src="image_45.png" /></figure>

<figure><img src="image_46.png" /></figure>

Distribution géographique des requêtes en échelle logarithmique (octobre 2023)

<figure><img src="image_47.png" /></figure>

<figure><img src="image_48.png" /></figure>

Pour les deux périodes étudiées, les principaux pays d'origine des consultations sont la France, les États-Unis et le Canada. Ils sont suivis par plusieurs pays d'Europe de l'Ouest, ainsi que par certains pays d'Amérique du Sud (notamment le Brésil, l'Argentine et la Colombie), d'Afrique (comme le Maroc, l'Algérie et la République démocratique du Congo) et d'Asie (notamment l'Inde et la Russie).

3.Statistiques documentaires

Les statistiques documentaires permettent d'analyser les comportements informationnels des utilisateurs lors de la sélection de ressources sur les plateformes d'OpenEdition. Par
exemple, elles fournissent des indications sur les types de supports consultés (articles, livres, blogs scientifiques, etc.), les sites hébergés choisis, ainsi que sur certaines caractéristiques bibliographiques des documents accédés, telles que l'année de publication ou la langue. Ces données offrent un aperçu des préférences de navigation et des dynamiques d'usage en fonction de différents critères documentaires.

## 3.1 Sites revues/éditeurs les plus consultés

L'objectif de cette analyse est d'identifier les sites les plus consultés sur les deux plateformes, *Journals* et *Books*. Pour ce faire, nous comptabilisons le nombre de requêtes effectuées par site web, puis nous comparons la distribution de ces requêtes parmi les 30 sites les plus sollicités pour les périodes d'octobre 2022 et octobre 2023. Cette comparaison vise à mettre en évidence d'éventuelles évolutions dans les habitudes de consultation d'une année à l'autre, et à observer la stabilité ou les variations dans la fréquentation des différents sites hébergés sur les plateformes.

<figure><img src="image_49.png" /><figcaption>Top 30 sites dans Journals et Books (octobre 2023)</figcaption></figure>

<figure><img src="image_50.png" /></figure>

Les Presses Universitaires de Rennes ainsi que les revues *VertigO*, *Polis* et *Nuevo Mundo mundos nuevos* occupent les premières positions en termes de nombre de requêtes pour les deux périodes étudiées. En revanche, au-delà de ces sites les plus consultés, le classement présente des variations : plusieurs sites changent de rang, tandis que certains
disparaissent du top 30, laissant place à de nouveaux entrants. Ces dynamiques suggèrent une certaine stabilité pour les sites les plus consultés, accompagnée d'une rotation plus marquée dans les positions intermédiaires et inférieures du classement.

## 3.2 Pourcentage des requêtes en fonction du type de support

Étant donné que les documents disponibles sur les plateformes d'OpenEdition sont diffusés sous format numérique, il est pertinent de s'interroger sur l'influence éventuelle de la disponibilité d'un support imprimé sur les pratiques de consultation. L'objectif de cette analyse est de comparer le volume de requêtes adressées aux documents disposant d'une version papier à celui concernant les documents exclusivement numériques, et ce, pour les deux périodes étudiées.

Afin de contextualiser cette comparaison, nous examinons également la distribution des deux types de documents au sein du corpus global. Cette étape permet d'évaluer si la part des requêtes observées est proportionnelle à la présence respective des documents avec ou sans support papier dans le corpus, ou si des écarts significatifs se manifestent. L'analyse vise ainsi à identifier d'éventuelles variations dans les usages en lien avec la matérialité du support documentaire.

### Pourcentage du type de Support en terme de requêtes et corpus (Octobre 2022)

<figure><img src="image_51.png" /><figcaption>Pourcentage de des types de supports en fonction du corpus</figcaption></figure>

<figure><img src="image_52.png" /></figure>

### Pourcentage du type de Support en terme de requêtes et corpus (Octobre 2023)

<figure><img src="image_53.png" /><figcaption>Pourcentage de des types de supports en fonction du corpus</figcaption></figure>

<figure><img src="image_54.png" /></figure>

La distribution observée est similaire pour les deux périodes analysées. Les pourcentages de requêtes selon le type de support (papier + électronique ou uniquement électronique) sont globalement proches de la distribution des documents dans le corpus. On note toutefois une légère surreprésentation des documents disposant d'un double support (papier et
électronique) en termes de volume de requêtes, comparativement à leur présence dans le corpus. Cette différence, bien que modeste, pourrait suggérer une préférence marginale pour les documents également disponibles en version imprimée.

## 3.3 Requêtes par disciplines

Les requêtes formulées par les utilisateurs reflètent un besoin informationnel plus ou moins spécifique selon les pratiques, qui peut être en partie corrélé à des intérêts disciplinaires. Dans cette section, nous analysons la distribution des requêtes selon les disciplines afin d'identifier les domaines qui suscitent le plus d'attention. Cette distribution sera comparée à celle du corpus global, ce qui permettra de mettre en évidence les disciplines qui concentrent un volume de requêtes supérieur ou inférieur à leur poids relatif dans le corpus. Cette approche vise à repérer les champs disciplinaires générant un intérêt particulier auprès des utilisateurs.

Les graphiques ci-dessous présentent la répartition des requêtes et des documents selon les disciplines. Ces proportions sont calculées à partir de l'index publisher, qui associe à chaque site (revue ou éditeur) une ou plusieurs disciplines. Pour chaque page consultée sur un site donné, une visite est comptabilisée pour l'ensemble des disciplines associées à ce site.

Bien que cette méthode introduise un biais — notamment en ne tenant pas compte de la spécificité disciplinaire des documents individuels — elle constitue la seule granularité disponible dans les données, qui permettent une classification au niveau du site. Cette limite méthodologique doit être gardée à l'esprit lors de l'interprétation des résultats.

L'analyse des figures met en évidence deux groupes de disciplines. Le premier regroupe celles pour lesquelles la proportion de requêtes est supérieure à leur part dans le corpus, comme l'anthropologie, les études sur l'environnement ou la géographie. Le second groupe correspond aux disciplines dont la proportion de requêtes est inférieure à leur représentation dans le corpus, telles que les arts et humanités, l'histoire et l'archéologie, ou encore la littérature. Ces tendances se maintiennent de manière similaire pour les deux périodes étudiées.
<figure><img src="image_55.png" /><figcaption>Distribution des requêtes par disciplines et part relative des disciplines dans le corpus (Octobre 2023)</figcaption></figure>

<figure><img src="image_56.png" /></figure>
## 3.4 Requêtes par langues

De manière analogue à l'analyse disciplinaire, nous examinons ici la répartition des requêtes en fonction des langues de publication des documents disponibles. Cette analyse est complétée par l'étude de la distribution des langues au sein du corpus global, afin de permettre une comparaison entre l'usage observé et l'offre disponible. Les informations relatives aux langues sont extraites des métadonnées fournies dans l'index publisher, qui associe à chaque site une ou plusieurs langues de publication.

Comme dans le cas des disciplines, l'analyse met en évidence deux catégories de langues. Certaines langues présentent une proportion de requêtes supérieure à leur représentation dans le corpus, notamment l'espagnol, l'anglais et le portugais. D'autres, en revanche, affichent une proportion de requêtes inférieure à leur poids dans le corpus, c'est le cas du français et de l'allemand.

Ces écarts peuvent refléter des variations dans les pratiques de consultation ou dans les profils linguistiques des utilisateurs, qui ne s'alignent pas nécessairement avec la distribution des documents par langue dans le corpus.
Distribution des requêtes par langues et part relative des langues dans le corpus (Octobre 2022)

<figure><img src="image_57.png" /></figure>

Distribution des requêtes par langues et part relative des langues dans le corpus (Octobre 2023)

<figure><img src="image_58.png" /></figure>
## 3.5 Requêtes par dates de publication

Nous analysons les requêtes en fonction des années de publication, en utilisant les données extraites de l'index des documents. La comparaison sera réalisée par plateforme, en tenant compte à la fois du nombre de requêtes et de la répartition des documents dans le corpus. Les années antérieures à 1950 ont été exclues de l'analyse en raison d'incohérences observées, telles que des dates de création ou de publication incorrectes (par exemple, des blogs Hypothèses enregistrés avec des dates remontant à l'an 700).

Nous observons qu'une part importante des requêtes sur *Calenda* et *Hypothèses* concerne l'année en cours, avec une diminution progressive des proportions à mesure que l'on s'éloigne de cette année. En revanche, pour les plateformes *Books* et *Journals*, les requêtes sont réparties de manière plus homogène, avec des pics notables remontant jusqu'à 10 ans en arrière par rapport à l'année en cours.

### Distribution des requêtes par année de publication (octobre 2022)

<figure><img src="image_59.png" /></figure>

### Distribution des requêtes par année de publication (octobre 2023)

<figure><img src="image_60.png" /></figure>
Une distinction notable entre *Books* et *Journals* réside dans la distribution des requêtes au fil du temps. Pour *Journals*, la proportion de requêtes augmente progressivement avec le temps, avant de se stabiliser. À l'inverse, pour *Books*, la proportion de requêtes diminue à mesure que l'on s'éloigne des pics, indiquant une décroissance d'intérêt pour les années plus anciennes.

<figure><img src="image_61.png" /><figcaption>Distribution des requêtes par année de publication (octobre 2023)</figcaption></figure>

<figure><img src="image_62.png" /></figure>

La proportion dans le corpus augmente chaque année depuis 2000, elle s'est stabilisée aux alentours de 2013-2014. Pour Books nous remarquons un pic de production en 2019.

<figure><img src="image_63.png" /><figcaption>Distribution dans dates de publication dans le corpus (octobre 2022)</figcaption></figure>
## Distribution dans dates de publication dans le corpus (octobre 2023)

<figure><img src="image_64.png" /></figure>

## 3.6 Téléchargement et modalités d'accès

Cette section analyse la répartition des téléchargements en fonction du type de format (PDF, EPUB) et des différentes modalités d'accès aux ressources, en distinguant les accès complets (**full**), les extraits (**excerpt**) et les accès refusés (**denied**).

L'analyse révèle que la majorité des téléchargements concerne le format PDF, tandis que le format EPUB est rarement téléchargé.

En ce qui concerne les statuts d'accès, la grande majorité des ressources est accessible en intégralité, avec une très faible proportion de cas d'accès par extrait ou d'accès refusé.

## Pourcentage de types de téléchargement + Modalités d'accès Octobre (2022)

<figure><img src="image_65.png" /></figure>
Pourcentage de types de téléchargement + Modalités d'accès Octobre (2023)

<figure><img src="image_66.png" /></figure>

<figure><img src="image_67.png" /></figure>

4.Statistiques référents

L'objectif de cette section est d'analyser la provenance des requêtes en fonction des sites web référents. Pour ce faire, l'élément principal de notre analyse sera le champ référent (voir chapitre 1).

4.1 Distribution requêtes avec et sans référent

Dans un premier temps, nous examinerons le nombre de requêtes avec et sans référent, étant donné que cette information n'est pas toujours disponible.

Nous constatons qu'un peu plus d'un tiers des requêtes ne présente pas de référent, tandis que les deux tiers restants en possèdent un. Cette distribution reste constante pour les deux périodes étudiées.

<caption>Distribution des requêtes avec et sans référents
Octobre (2022)</caption>

Distribution des requêtes avec et sans référents

<figure><img src="image_68.png" /><figcaption>Distribution des requêtes avec et sans référents
Octobre (2023)</figcaption></figure>

Distribution des requêtes avec et sans référents

<figure><img src="image_69.png" /></figure>
## 4.2 Distribution des nom domaines référents

Le champ *référent* contient plusieurs informations, notamment le site d'origine ainsi que la page spécifique consultée. Cependant, l'utilisation du référent complet n'apporte pas toujours des informations pertinentes concernant la provenance en raison de sa spécificité. En revanche, l'agrégation des données au niveau du domaine permet d'obtenir des informations plus générales et significatives sur la provenance des requêtes. Ainsi, nous avons opté pour l'agrégation des données au niveau des noms de domaines plutôt que de compter les URL complètes des référents.

Nous présentons la distribution des requêtes pour les 10 noms de domaines les plus fréquents. Pour les deux périodes étudiées, la distribution reste similaire, avec une prédominance des moteurs de recherche et des réseaux sociaux parmi les noms de domaines les plus fréquents. Une proportion notable des référents provient également des sites de la plateforme elle-même, représentant près d'un tiers des requêtes.

<figure><img src="image_70.png" /><figcaption>Distribution des top 10 noms domaines
fréquents pour la période d'octobre
(2023)</figcaption></figure>

<figure><img src="image_71.png" /></figure>

## 4.3 Nuage de référents

Dans cette section, nous détaillerons la classe "Autre" des noms de domaines, qui regroupe une grande variété de sites d'origine. Afin de mieux visualiser cette diversité, nous avons choisi de représenter ces sites sous forme de nuage de mots.
Les nuages de mots révèlent la présence de moteurs de recherche, de réseaux sociaux, de sites de partage de connaissances tels que Wikipédia, ainsi que de sites institutionnels.

<figure><img src="image_72.png" /><figcaption>Nuage de noms de domaines dans la catégorie (Autre) dans la distribution des noms domaines Octobre (2023)</figcaption></figure>

<figure><img src="image_73.png" /></figure>
# 5. Synthèse

Dans ce chapitre, nous avons analysé les requêtes effectuées sur différentes plateformes, en tenant compte de plusieurs facteurs, notamment les formats de documents, les types d'accès, la provenance des utilisateurs, ainsi que les langues et les disciplines. Nous avons constaté que les requêtes sont principalement effectuées sur des formats PDF, avec un faible taux de téléchargement des formats EPUB. La majorité des ressources sont consultées dans leur intégralité, avec une proportion marginale d'accès partiel ou refusé.

En ce qui concerne la provenance des requêtes, un tiers des requêtes ne présentent pas de référent, tandis que les deux tiers restants proviennent principalement de moteurs de recherche et de réseaux sociaux. Une part significative des référents provient également des sites de la plateforme elle-même. Pour simplifier l'analyse, nous avons agrégé les référents au niveau des noms de domaine, permettant ainsi d'obtenir des informations plus générales sur la provenance.

Enfin, l'analyse des référents dans la catégorie "Autre" a mis en évidence une grande diversité de sources, notamment des moteurs de recherche, des réseaux sociaux, des sites de partage de connaissances comme Wikipédia, ainsi que des sites institutionnels, représentés sous forme de nuage de mots.

L'analyse des requêtes selon les langues et les disciplines a révélé des disparités intéressantes. Certaines langues, telles que l'espagnol, l'anglais et le portugais, génèrent davantage de requêtes que leur représentation dans le corpus, tandis que le français et l'allemand enregistrent une proportion de requêtes inférieure à leur poids dans le corpus. Par ailleurs, certaines disciplines attirent un nombre de requêtes plus élevé que d'autres, suggérant des intérêts divers parmi les utilisateurs.

Bien que cette analyse se concentre sur un ensemble limité de dimensions des pratiques des utilisateurs, elle met en lumière des tendances récurrentes sur les deux périodes étudiées, telles que des préférences disciplinaires et linguistiques, qui suggèrent l'existence de communautés aux intérêts distincts. Toutefois, cette analyse des requêtes ne permet pas de saisir pleinement ces intérêts spécifiques. Dans le prochain chapitre, nous chercherons à approfondir notre compréhension de ces pratiques en analysant les sessions des utilisateurs, que nous identifierons pour obtenir des informations plus détaillées et extraire des pratiques propres à différents groupes d'utilisateurs.
# Chapitre 4: Vers un profilage des sessions utilisateurs

Dans les chapitres précédents, nous avons vu comment filtrer les sessions attribuées à des bots et analysé quelques statistiques sur la consultation des sites d'OpenEdition. Cependant, cela ne nous apporte que peu d'informations sur les utilisateurs eux-mêmes, qui demeurent des variables non observables dans notre étude. Nous allons donc chercher à agréger ces sessions de navigation afin d'identifier des profils types, nous permettant de mieux comprendre ces utilisateurs. Chaque section de ce chapitre propose une approche différente pour profiler ces sessions ainsi que des méthodes de représentation et de regroupement des ressources consultées au cours de celles-ci.

## 1. Détection de communautés d'intérêts

Dans cette section, nous cherchons à explorer comment identifier les préférences des utilisateurs dans les sessions de navigation sur OpenEdition. L'objectif est de voir dans quelle mesure il est possible d'utiliser les méthodes utilisées dans la recommandation de contenu pour identifier ces préférences ou intérêts.

Nous nous inspirons des méthodes de recommandation basées sur les matrices de similarité, notamment les approches *user-item similarity matrix* et *item-item similarity matrix*. Ces techniques de *filtrage collaboratif* [22][23][24] permettent de recommander des ressources en fonction des interactions passées des utilisateurs. La matrice *user-item* repose sur la similarité entre utilisateurs : si deux utilisateurs ont des comportements proches (consultation des mêmes ressources, notes similaires), ils recevront des recommandations similaires. En revanche, la matrice *item-item* analyse directement les similarités entre objets : une ressource sera recommandée à un utilisateur si elle est jugée proche d'autres ressources qu'il a déjà consultées. Cette dernière approche est souvent plus efficace lorsque le nombre d'objets est inférieur au nombre d'utilisateurs ou lorsque les préférences des utilisateurs sont peu définies.

Cependant, l'application de ces méthodes sur OpenEdition pose un défi : le site ne demande pas d'authentification, ce qui empêche le suivi des préférences des utilisateurs. De plus, nous ne disposons pas d'une échelle de satisfaction pour chaque ressource consultée. Une alternative consiste à représenter une session par un tableau indiquant la fréquence d'apparition de chaque ressource (nombre de clics), ce qui permet d'identifier des tendances d'intérêts. L'analyse de ces données peut être affinée grâce à des techniques comme la *factorisation de matrices*, qui décompose la matrice d'interactions en facteurs latents pour mieux capturer les relations implicites entre sessions et ressources.

Avant d'entrer dans les détails, nous précisons ce que nous entendons par 'ressource'. Dans le cadre de cette analyse, une ressource peut correspondre à une plateforme (ex. *books*), un site éditeur (ex. le site de la revue de la BNU, hébergé sur OpenEdition) ou une page web spécifique (ex. https://journals.openedition.org/rbnu/7118), correspondant à une granularité plus fine. Pour simplifier les calculs, nous avons choisi de nous placer au niveau
des sites éditeurs dans un premier temps. Nous nous concentrerons donc sur les préférences en termes de sites éditeurs dans les sessions.

Notre hypothèse est que si, dans une session, une ressource a été consultée à plusieurs reprises, cela traduit un intérêt implicite de la part de l'utilisateur. Toutefois, cette répétition peut aussi être influencée par d'autres facteurs, comme un besoin de clarification, une difficulté de compréhension ou une navigation accidentelle. Bien que nous n'ayons pas accès directement aux utilisateurs, nous pouvons tenter d'identifier leurs profils en analysant un groupe de sessions partageant des comportements similaires, ce qui permettrait de mieux cerner les motifs sous-jacents à ces consultations répétées.

## 1.1 Construction de la matrice et Groupement des sessions

Pour chaque session, nous construisons un vecteur dont la taille correspond au nombre total de sites éditeurs présents sur les plateformes d'OpenEdition. Chaque dimension du vecteur traduit le lien entre la session et un site éditeur, représenté ici par le nombre de consultations d'une ressource au sein de cette session.

L'ensemble de ces vecteurs forme une matrice de dimension $n = nombre de sessions \times nombre de sites éditeurs$. Afin d'obtenir une représentation plus compacte et informative des sessions, nous appliquerons une **décomposition en valeurs singulières (SVD)** [25].

Cette méthode nous permettra de factoriser la matrice initiale en trois sous-matrices : une matrice gauche (associée aux sessions), une matrice diagonale (contenant les valeurs singulières) et une matrice droite (associée aux ressources).

<figure><img src="image_74.png" /></figure>

Nous nous intéresserons particulièrement à la matrice gauche, qui décrit les sessions à travers des facteurs latents reflétant des structures sous-jacentes dans les données. Ces facteurs latents peuvent correspondre à des tendances générales de navigation, comme des préférences pour certains types de contenu ou des comportements communs entre
utilisateurs (ex. deux utilisateurs ayant consulté des ressources plus ou moins similaires dans leurs sessions devraient avoir des représentations proches)

La matrice "sessions-ressources" est une matrice creuse, c'est-à-dire qu'elle contient principalement des zéros, car la plupart des sessions ne consultent qu'un petit sous-ensemble des sites éditeurs disponibles. La matrice des sessions pour l'année 2022 a pour dimensions [2 718 326 × 718], et [2 837 273 × 843] pour l'année 2023. Nous détaillerons la façon de trouver les clusters (partitions) en annexe.

Nous analyserons les clusters obtenus en exploitant les métadonnées disponibles dans l'indice publisher (voir chapitre 1). Nous examinerons notamment la distribution des langues, année de création, pays de publication, institutions, périodicité, disciplines et plateformes. pour chaque groupe.

## 1.2 Analyse des groupes de sessions

Pour chaque facette étudiée (par exemple, les disciplines), nous identifierons les occurrences les plus représentatives au sein de chaque cluster et observerons si certaines catégories prédominent ou si la distribution est homogène. Cette analyse nous permettra d'interpréter les profils de sessions et d'extraire des tendances sous-jacentes.

### 1.2.1 Distribution des groupes obtenus

Avant de commencer les analyses, nous allons étudier la distribution de chaque groupe obtenu. En effet les groupes ne sont pas tous de la même taille, la figure ci-dessous présente la distribution de chaque groupe dans les données d'octobre 2022 et 2023.

Les numéros de groupes dans les figures sont juste à titre indicatif. Il n'est possible d'associer certains groupes qu'en faisant une comparaison au cours des analyses.

<figure><img src="image_75.png" /></figure>
<figure><img src="image_76.png" /></figure>

Nous remarquons qu'il y a une disparité entre les partitions. Dans les deux années il y a un groupe prédominant (le groupe B pour l'année 2023 et le groupe 5 pour l'année 2022), sont-ils les mêmes ? Pour l'année 2022 nous avons deux groupes ayant presque le même nombre de sessions (les groupes 1 et 2) ce qui semble être perdu pour l'année 2023. Les groupes Spe des sessions extrêmes pour l'année 2022 et 2023 représentent plus ou moins le même pourcentage. Nous allons par la suite explorer plus en détails les tendances de chaque groupe.

### 1.2.2 Analyse des préférences linguistiques

Les figures ci-dessous montrent la distribution des langues pour chaque partition obtenus par l'algorithme. Il est cependant important de noter que le corpus d'Openedition est majoritairement constitué de textes en français et anglais ce qui pourrait avoir une influence sur les résultats obtenus. Nous proposons ainsi, plutôt que d'examiner séparément les proportions de chaque groupe, de comparer les proportions au sein d'une catégorie spécifique afin de mieux observer les préférences.

Nous donnons aussi le nom complet des langues présents dans les figures:

* ar: Arabe

* ca: Catalan

* de: Allemand

* el: Grec moderne

* en: Anglais

* fr: Français

* hr: Croate

* it: Italien

* la: Latin

* nl: Néerlandais

* pl: Polonais

* pt: Portugais

* ro: Roumain

* ru: Russe

* sl: Slovène

* sr: Serbe

* tr: Turc

* zh: Chinois
<figure><img src="image_77.png" /><figcaption>Préférences linguistiques pour l'année 2023</figcaption></figure>

<figure><img src="image_78.png" /></figure>

Comme attendu, les langues les plus influentes dans les groupes sont le français et l'anglais, avec quelques préférences d'espagnol et de portugais et italien chez certains groupes.

Nous remarquons aussi un intérêt pour du contenu écrit en chinois pour le groupe 3 pour l'année 2022 et 2023. Le groupe 4 de l'année 2022 s'intéresse à des contenus en espagnol, portugais en plus du français et de l'anglais. Pour l'année 2022 les groupes 1 et 3 ont un peu le même intérêt pour ces langues.
### 1.2.3 Analyse des préférences du pays de publication

Nous nous intéressons aussi aux préférences en termes de pays de publication. Nous aimerions savoir s'il y a des groupes d'utilisateurs qui s'intéressent uniquement à certains pays de publication (voir figures).

Nous remarquons que le groupe 3 de l'année 2022 et le groupe D de l'année 2023 ont un intérêt pour des publications dans des pays latino américain. Nous nous posons donc la question de l'origine géographique des sessions dans les groupes 3 et 4, proviennent-elle de pays latino américains ?

Nous remarquons aussi un intérêt pour du contenu produit au Canada pour tous les groupes cela peut être expliqué par le fait qu'il y a une communauté francophone là-bas produisant du contenu en français.

### 1.2.4 Préférences en terme d'institutions

Nous allons explorer si nos groupes de sessions ont des préférences en termes d'institutions auxquels les éditeurs sont affiliés.

**Pour la période d'octobre 2022 (voir figure)**

* **Groupe 1** : Forte orientation vers les contenus affiliés à Université Paris Panthéon-Sorbonne.

* **Groupe 2** : Préférences marquées pour :

* Ministère des Affaires Étrangères et Européennes

* Ministère français des Affaires Étrangères

* CNRS

* **Groupe 3** : Pas de préférence particulière identifiée.

* **Groupe 4** : Intérêt pour :

* Institut de recherche pour le développement (IRD)

* Université de Rennes

* **Groupe 5** : Pas de préférence particulière identifiée.

* **Groupe Spe** : Légère tendance vers les contenus de l'Université de Rennes.
Pour la période d'octobre 2023 (voir figure)

* **Groupe A1** : Intérêt modéré pour :

* Aix-Marseille Université

* Fondation de la Maison des sciences de l'homme

* Université Paris Panthéon-Sorbonne

* **Groupe D4** : Préférences similaires à celles du groupe 2 en 2022 :

* Institut de recherche pour le développement (IRD)

* Ministère des Affaires Étrangères et Européennes

* Ministère français des Affaires Étrangères

* CNRS

* **Groupe E5** : Intérêt pour :

* Université de Montréal

* Université de Rennes

* **Autres groupes** : Aucune tendance significative observée

### 1.2.5 Préférence disciplinaire

Nous allons étudier les préférences disciplinaires. Nous utiliserons la taxonomie disciplinaire d'OpenEdition. Dans les deux figures analysées, certaines tendances disciplinaires apparaissent, mais elles ne sont pas suffisamment discriminantes pour différencier clairement les groupes. À l'échelle de l'éditeur ou de la revue, la variable disciplinaire ne semble donc pas très explicative : elle ne permet pas de distinguer des pratiques fortement ancrées dans des disciplines particulières. C'est déjà un résultat intéressant, car cela suggère que les groupes identifiés ne sont pas structurés principalement par des affiliations disciplinaires.

Cette relative absence de discrimination pourrait s'expliquer par le fait que l'indice disciplinaire d'OpenEdition est attribué au niveau des éditeurs et non au niveau des articles ou des ressources individuelles. Une analyse plus fine, par exemple à la granularité de l'article, pourrait révéler d'autres structures disciplinaires aujourd'hui invisibles à ce niveau d'agrégation.

Néanmoins, certaines orientations spécifiques, bien que subtiles, peuvent être extraites pour quelques groupes, ce qui invite à compléter l'analyse par d'autres variables ou à affiner la catégorisation disciplinaire.
## Période d'octobre 2022 (voir figure)

* **Groupe 1** : intérêt pour Area Studies, Ethnic Studies, History, Humanities, Interdisciplinary, Multidisciplinary, Social Sciences, Social Work & Social Policy, Sociology & Anthropology.

* **Groupe 2** : s'oriente vers Architecture, Communication, Economics, Economics (General), Information & Communication Science, Literary Theory & Criticism.

* **Groupe 3** : s'intéresse à Education, Education Special, Educational, History of Social Science, Psychology, Religion, Scientific Disciplines, Social, Social Issues, Sociology.

* **Groupe 4** : privilégie Applied Linguistics, Arts & Humanities, History & Archaeology, History & Philosophy of Science, Language & Linguistics, Language & Linguistics (General), Literature, Literature (General), Philosophy.

* **Groupe 5** : se concentre sur Anthropology, Geography, Environmental Studies, Geography & Development, Political Science, Political Science Public Administration & Development, Urban Studies.

* **Groupe Spécial (Spe)** : montre un intérêt pour Environmental Studies, Geography & Development, Humanities, Management, Management (General), Planning & Development.

## Période d'octobre 2023 (voir figure)

* **Groupe A** : s'intéresse à Area Studies, Geography, History, Interdisciplinary, Multidisciplinary, Social Sciences, Sociology & Anthropology, Urban Studies.

* **Groupe B** : privilégie Arts & Humanities, Education, Education & Educational Research, Education Special, Law, Law (General), Library, Library Theory & Criticism, Philosophy, Religion, Scientific Disciplines.

* **Groupe C** : se tourne vers Anthropology, History and Archaeology, History of Social Science, Social Work & Social Policy, Social Issues, Sociology, Communication, Ethnic Studies.

* **Groupe D** : se focalise sur Economics, Economics (General), Health Policy & Services, Political Science, Public Health & Health Care Science.

* **Groupe E** : s'intéresse à Applied Linguistics, Archaeology, Architecture, Art, Language & Linguistics, Language & Linguistics (General), Language & Linguistics Theory, Literary Reviews, Literature, Literature (General), Music.
* **Groupe Spécial (Spe)** : conserve son intérêt pour *Environmental Studies, Geography & Development, Humanities, Management, Management (General), Planning & Development*.

### 1.2.6 Préférence en terme de périodicité

Enfin nous clôturons l'analyse des sessions avec les préférences en termes de périodicité.

<figure><img src="image_79.png" /></figure>

**En 2022 :**

* **Groupe 1** : privilégie les éditeurs proposant des mises à jour permanentes et une périodicité trimestrielle (trois fois par an).

* **Groupe 2** : préfère des périodicités bimestrielles ou irrégulières.

* **Groupe 3** : opte davantage pour des périodicités semestrielles ou annuelles.

* **Groupe spécial** : montre une préférence pour une périodicité trimestrielle.

**En 2023 :**

* **Groupe A** : privilégie une périodicité de trois fois par an.

* **Groupe B** : préfère une périodicité semestrielle.

* **Groupe C** : s'oriente vers des mises à jour permanentes.

* **Groupe E** : opte pour une périodicité irrégulière.

* **Groupe spécial** : maintient sa préférence pour une périodicité trimestrielle.
<figure><img src="image_80.png" /><figcaption>Préférences des pays de publication pour l'année 2023</figcaption></figure>

<figure><img src="image_81.png" /></figure>
<figure><img src="image_82.png" /></figure>
<figure><img src="image_83.png" /></figure>
<figure><img src="image_84.png" /><figcaption>Préférences des disciplines 2023</figcaption></figure>

<figure><img src="image_85.png" /></figure>
# 1.3 Analyse de la matrice de similarité ressource-ressource

## 1.3.1 Construction de la matrice

Après avoir analysé les différents profils des sessions, nous allons par la suite essayer de construire une matrice de similarité entre site de revues/éditeurs qui pourrait être utilisée pour la recommendations des contenus. Pour construire cette matrice nous allons utiliser la matrice d'occurrences sessions-ressources construite dans la partie précédente en la multipliant par sa transposée à gauche. Cette manipulation permet de calculer le produit scalaire (une mesure de similarité) entre chaque site donnant ainsi une nouvelle matrice dont les dimensions sont (nombre de sites revues/éditeurs×nombre de sites revues/éditeurs). Chaque cellule dans cette matrice correspond à la similarité d'un site avec un autre (Cette similarité est calculée à partir des clics : deux sites présentant une forte similarité sont des sites fréquemment consultés ensemble au cours de plusieurs sessions de navigation). Une ligne correspond à la similarité d'un site avec tous les autres. Nous allons grouper les sites éditeurs à partir de ces nouvelles représentations en utilisant un algorithme de clustering.

Par la suite nous allons étudier chaque groupe en regardant la distribution des métadonnées décrivant ces sites. Plusieurs analyses des distributions vont être faites sur plusieurs facettes (la discipline, l'année, la langue, la plateforme, pays d'éditions...)

Un exemple de matrice de similarité est donnée dans la figure ci-dessous. Chaque cellule dans cette matrice correspond à une similarité entre un site éditeur avec un autre (en se basant uniquement sur les clics)

<figure><img src="image_86.png" /><figcaption>Similarity Matrix Comparison (2022 vs 2023)</figcaption></figure>
Après plusieurs expérimentations, nous avons décidé de regrouper les sites éditeurs en 4 groupes pour la période d'octobre 2022 et 2023. (voir annexe)

La figure ci-dessous illustre la matrice de similarité entre les sites éditeurs après les avoir partitionnés. Nous observons que certains sites partageant des similarités communes forment des zones colorées. Plus la couleur est rouge, plus la similarité est forte, tandis qu'une teinte plus sombre indique une faible similarité.

<figure><img src="image_87.png" /><figcaption>Similarity Matrix Comparison (2022 vs 2023)</figcaption></figure>

### 1.3.2 Analyse des groupes

Une fois les sites partitionnés nous allons les analyser et essayer de voir si nous arrivons à les caractériser avec des métadonnées.

Les figures ci-dessous montrent la distribution de chaque groupe de site pour les deux périodes octobre 2022 et octobre 2023.
<figure><img src="image_88.png" /></figure>

<figure><img src="image_89.png" /></figure>

À titre d'illustration, nous présentons quelques exemples de sites associés à chacun des groupes, pour la période **d'octobre 2022** :

**Groupe 1** : Ce groupe rassemble plusieurs revues telles que *1718, AHRF, Hommes & Migrations* et *TIPA*.

**Groupe 2** : Il comprend des revues comme *Anatolia Antiqua*, *Contextes et Didactiques*, *BNU et Shakespeare*.

**Groupe 3** : Ce groupe est constitué à la fois de revues, comme *Amerika et Polis*, ainsi que de maisons d'édition telles que l'**Institut français d'études anatoliennes** et **Siglo del Hombre Editores**.
**Groupe 4** : Ce groupe mêle des titres diffusés sous forme de revues et de maisons d'édition, incluant 1718, AHRF, **UGA Éditions** et Travaux interdisciplinaires sur la parole et le langage.

Pour la période d'octobre 2023, les regroupements de sites s'organisent de la manière suivante :

**Groupe A** : Ce groupe comprend les revues *Cybergeo*, *TransPosition* et la revue de la BNU, ainsi que la maison d'édition *Publications de l'Institut national d'histoire de l'art*.

**Groupe B** : Il réunit plusieurs revues internationales telles que *Amerika*, *Nuevo Mundo*, *Revista Crítica de Ciências Sociais* et *Revista de Estudios Sociales*.

**Groupe C** : Ce groupe rassemble la revue *Africanistes* ainsi que les maisons d'édition du *Collège de France*, de l'**Université Grenoble Alpes (UGA)** et des *Presses universitaires François-Rabelais*.

**Groupe D** : Ce dernier groupe inclut les revues *Les Cahiers de Framespa*, *Sud-Ouest Européen, Hommes & Migrations*, ainsi que la maison d'édition *Publications de l'Institut de recherches historiques du Septentrion*.

Nous allons à présent analyser ces groupes plus en détail en combinant différentes métadonnées.

## Distribution des langues

Nous proposons d'étudier la distribution des langues de publication au sein des différents groupes de sites. Pour cela, nous comptabilisons, pour chaque groupe, le nombre d'occurrences de chaque langue parmi les sites qu'il contient. Ce nombre est ensuite rapporté au nombre total de sites dans le groupe, ce qui permet d'obtenir une proportion relative par langue. Cette méthode vise à normaliser les résultats, afin de rendre les comparaisons pertinentes entre groupes de tailles différentes. Afin d'extraire les tendances de chaque groupe nous allons comme pour l'analyse des sessions comparer les groupes entre eux pour chaque catégorie au lieu de tirer des conclusions sur des groupes individuellement.

Les deux figures (voir figure) permettent d'identifier des groupes présentant des profils linguistiques distincts. Pour la période d'octobre 2022, le groupe 3 se distingue par une forte représentation des langues espagnole et portugaise. Cette tendance est également observée pour la période d'octobre 2023 au sein du groupe B.

Par ailleurs, une légère présence de la langue arabe est observée dans le groupe 2 (octobre 2022) ainsi que dans le groupe C (octobre 2023), comparativement aux autres groupes. Enfin, le groupe 4 (2022) et le groupe A (2023) présentent une proportion légèrement plus élevée de sites proposant des contenus en italien.
## Distribution des pays de publication

Afin de compléter l'analyse linguistique, nous examinons également les pays de publication des sites (voir figures). Pour cela, nous utilisons les informations issues de l'index publisher, qui attribue à chaque site un ou plusieurs pays de publication. Comme pour l'analyse des langues, nous comptabilisons le nombre d'occurrences de chaque pays au sein de chaque groupe, puis nous divisons ce nombre par le total des sites composant le groupe. Cette méthode permet d'obtenir des proportions normalisées, facilitant ainsi la comparaison entre les groupes, indépendamment de leur taille respective.

Les résultats confirment les observations issues de l'analyse des langues. Pour les périodes d'octobre 2022 et 2023, les groupes 3 et B présentent une forte représentation de pays hispanophones et lusophones, tels que l'Espagne, le Portugal, l'Argentine ou encore le Pérou. Cette tendance est cohérente avec la prédominance des langues espagnole et portugaise observée précédemment dans ces mêmes groupes.

Les groupes 4 (2022) et A (2023) comptent quant à eux une proportion notable de sites dont le pays de publication est l'Italie, en adéquation avec les résultats obtenus sur la répartition des langues, où l'italien apparaissait plus fréquemment dans ces groupes.

Enfin, bien qu'aucun pays arabophone ne soit identifié dans les groupes pour la période d'octobre 2022, la période d'octobre 2023 révèle la présence de pays tels que le Liban, le Maroc ou l'Algérie.

## Distribution des disciplines

Après l'analyse des langues et des pays de publication, nous poursuivons l'exploration des caractéristiques des groupes en nous intéressant aux disciplines représentées (voir figures). Pour ce faire, nous avons utilisé les classifications disponibles dans l'index publisher.

Pour la période 2022, le **groupe 1** présente une répartition marquée, bien que modérée, en faveur de disciplines telles que la sociologie, l'anthropologie, la linguistique appliquée, l'économie et la littérature.

Le **groupe 2** est davantage associé aux disciplines relevant des arts et humanités, de la philosophie, de la géographie (y compris géographie du développement), de l'éducation, des études environnementales, des sciences de l'information (library studies), ainsi que de la littérature et de la critique littéraire.

Le **groupe 3** est caractérisé par une concentration de sites affiliés à des disciplines telles que les area studies, l'histoire, l'archéologie, les approches multidisciplinaires ou interdisciplinaires, ainsi que les sciences sociales, la sociologie et l'anthropologie.

Les données nécessaires à l'analyse du **groupe 4** n'étaient pas disponibles dans l'index utilisé, ce qui ne nous a pas permis d'extraire les disciplines associées à ce groupe.

Pour la période d'octobre 2023, l'analyse des disciplines associées aux groupes révèle les répartitions suivantes :
Le **groupe A** est principalement composé de sites affiliés aux disciplines des arts et humanités, ainsi qu'aux études classiques.

Le **groupe B** est associé à un ensemble de disciplines comprenant l'histoire, l'histoire et l'archéologie, les approches interdisciplinaires, la littérature (y compris la littérature générale), les sciences sociales et les études urbaines.

Le **groupe C** se distingue par une diversité de disciplines telles que les women's studies, l'anthropologie, les area studies, l'éducation, les ethnic studies, la géographie, l'histoire des sciences humaines, les études religieuses, les disciplines scientifiques, ainsi que la sociologie et l'anthropologie.

Le **groupe D** regroupe des sites associés à des champs disciplinaires liés à la communication, aux études en gestion et administration (business), aux sciences du langage, à la linguistique générale, à la philosophie, à la science politique ainsi qu'à l'administration publique et au développement.

## Distribution par plateformes

Enfin, nous examinons la répartition des sites selon les plateformes (Journals, Books, Hypothèses, Calenda) au sein des groupes identifiés. Pour cela, nous avons calculé, pour chaque groupe, la proportion de sites présents sur chaque plateforme, afin de permettre une comparaison cohérente entre les partitions, indépendamment de leur taille.

Pour la période d'octobre 2022, l'analyse met en évidence que les groupes 1, 3 et 4 sont principalement composés de sites hébergés sur la plateforme Journals, tandis que le groupe 3 se distingue par une proportion plus importante de sites présents sur Books.

Concernant la période d'octobre 2023, le groupe A est le seul à inclure des sites hébergés sur la plateforme Hypothèses, bien que la majorité de ses sites restent sur Journals. Les groupes B et D présentent également une forte représentation sur Journals, tandis que le groupe C se démarque par une présence plus importante sur Books.
Distribution linguistique des groupes pour la période d'octobre 2022

<figure><img src="image_90.png" /></figure>

Distribution linguistique des groupes pour la période d'octobre 2023

<figure><img src="image_91.png" /></figure>
Distribution des pays de publication des groupes pour la période d'octobre 2022

<figure><img src="image_92.png" /></figure>

Distribution des pays de publication des groupes pour la période d'octobre 2023

<figure><img src="image_93.png" /></figure>
<figure><img src="image_94.png" /><figcaption>Distribution disciplinaire des groupes pour la période d'octobre 2023</figcaption></figure>

<figure><img src="image_95.png" /></figure>
Distribution des plateformes des groupes pour la période d'octobre 2022

<figure><img src="image_96.png" /></figure>

Distribution des plateformes des groupes pour la période d'octobre 2023

<figure><img src="image_97.png" /></figure>
## 1.3 Synthèse

L'analyse des sessions (première analyse centrée sur les sessions) permet de dégager des profils d'usage différenciés selon divers critères. Chaque groupe de sessions présente des préférences spécifiques en matière de langue, pays de publication, institutions affiliées, disciplines et périodicité éditoriale. Si les groupes sont de tailles inégales, certains se démarquent par une forte présence, comme le groupe 5 en 2022 et le groupe B en 2023. Les langues majoritaires restent le français et l'anglais, mais certains groupes révèlent un intérêt marqué pour l'espagnol, le portugais, voire le chinois. De manière similaire, certains groupes s'orientent vers des publications issues de pays hispanophones ou lusophones, ou encore du Canada. Des affinités institutionnelles apparaissent également, avec des universités et centres de recherche français, canadiens ou européens en tête. Bien que l'index disciplinaire présente encore un manque de granularité, certaines tendances générales commencent à émerger, notamment autour de l'histoire, des sciences sociales, de l'anthropologie, de la philosophie ou encore de l'économie. Ce constat reste toutefois préliminaire et mérite d'être consolidé par des expérimentations supplémentaires, en abordant la question à l'échelle des documents eux-mêmes plutôt qu'à travers celle des éditeurs. Enfin, les préférences éditoriales en matière de périodicité semblent varier — allant de mises à jour permanentes à des publications annuelles ou trimestrielles selon les groupes —, un résultat qui mériterait d'être confirmé par des travaux futurs. Cette diversité suggère l'existence de pratiques de consultation variées selon les profils utilisateurs.

Après la partition des sites (deuxième analyse centrée sur les sites), une analyse approfondie basée sur différentes métadonnées (langue, pays, discipline, plateforme) a permis de caractériser les groupes formés pour les périodes d'octobre 2022 et 2023. Chaque groupe présente des profils éditoriaux spécifiques, reflétés par les revues et maisons d'édition qui les composent. L'étude des langues montre des tendances marquées, notamment un intérêt pour l'espagnol et le portugais dans les groupes 3 (2022) et B (2023), ainsi qu'une présence notable de l'italien dans les groupes 4 (2022) et A (2023). Le croisement avec les pays de publication confirme ces tendances linguistiques, avec une forte représentation de pays hispanophones, lusophones et italiens dans les groupes correspondants. Enfin, la répartition des plateformes révèle une prédominance de Journals dans la majorité des groupes, mais certains comme les groupes 3 (2022) et C (2023) se distinguent par une présence plus marquée sur Books, et le groupe A (2023) par sa spécificité avec Hypothèses. Cette analyse met en lumière la diversité éditoriale des groupes et leurs affinités thématiques et géographiques.

Ces deux analyses, bien que centrées sur des objets différents — les sessions d'un côté, les sites de l'autre — s'appuient toutes deux sur les traces d'interaction des utilisateurs, à savoir les clics, comme indicateurs d'intérêt pour des ressources spécifiques. En combinant ces approches, on peut observer une certaine cohérence entre les profils de sessions et les caractéristiques éditoriales des sites consultés. Les regroupements de sessions aux préférences marquées pour certaines langues ou pays trouvent ainsi un écho dans les profils linguistiques et géographiques des groupes de sites. Cette convergence suggère que les comportements de consultation ne sont pas aléatoires, mais reflètent des logiques d'usage que l'on peut partiellement expliquer à travers les métadonnées des ressources.
## 2. Analyse des séquences de consultation via une fouille de motifs séquentiels

Dans cette section nous allons grouper les sessions en se basant sur les actions faites durant celle-ci en utilisant des méthodes de fouilles d'informations.

### 2.1 Fouille de motifs séquentiels

L'extraction de motifs séquentiels, ou Sequential Pattern Mining [26] [27], est une technique d'analyse de données qui vise à découvrir des séquences récurrentes dans des ensembles de données ordonnées chronologiquement. Concrètement, elle permet d'identifier des motifs ou des schémas qui apparaissent fréquemment dans des séquences d'événements ou d'actions. Par exemple, dans le domaine du commerce en ligne, cette méthode peut révéler que les clients achètent souvent un produit A, suivi d'un produit B, puis d'un produit C. Ces informations sont précieuses pour comprendre les comportements des utilisateurs et améliorer les stratégies marketing.

Nous allons appliquer ces méthodes pour extraire des schémas d'actions récurrents des utilisateurs dans les plateformes. La définition d'une action reste quelque chose à définir et interpréter à partir des url's. Il est donc important de construire un registre d'actions possible avant de procéder à l'analyse.

### 2.2 Taxonomie des types de consultation

Les sessions ne contiennent que les URL cliquées, sans indication directe sur le type de document consulté. Toutefois, en croisant ces URL avec des métadonnées associées, il est possible d'en déduire des informations telles que le type de ressource. Dans cette analyse, nous nous concentrerons sur l'étude des séquences de types de consultation. Voici la liste des types de ressources possibles :

* article

* livre

* chapitre

* numéro

* compte rendu

* livre

* editorial

* chronique

* appel à contribution

* note de lecture

* annexe

* bibliographie

* actualité

* collection

* notice bibliolivre

* fichier annexe

* couverture

* colloque

* page liminaire

* avant propos

* notice archéologique

* rubrique annuelle

* journée d'étude

* index

* préface

* image accroche

* rubrique

* séminaire.

* bourse prix et emploi

* rubrique actualités

* notice biblio numéro

* informations diverses

* source

* cycle de conférences

* website

* image

* texte annexe

* postface

* école d'été

* appel d'offres

* facsimilé

* sous partie

* notice bibliofilm

* annuaire d'équipe

* informations

* notice biblio article
Ces événements de consultation sont extraits à la fois à l'aide de l'index documents de Solr et de la requête elle-même en essayant de correspondre l'identifiant de la ressource dans l.

## 2.3 Extraction de motifs

Une fois que chaque requête associe un type de ressource consultée, nous pouvons associer à chaque session une série de types de ressources consultées. Le but sera donc d'extraire des motifs récurrents dans l'ensemble des sessions (i.e. trouver des séquences de types de ressources consultées). Le problème étant que l'ensemble des ressources n'ont pas les mêmes proportions. Les figures ci-dessous montrent le nombre de consultations faites par types de ressources, nous remarquons que le type "article" est le plus représenté. Le fait d'avoir des types de ressources dominants peut cacher des motifs intéressants chez les types moins récurrents. Afin de pouvoir extraire des motifs récurrents chez les types de ressources à faible occurrence nous allons décomposer les sessions en deux catégories. Une catégorie contenant uniquement les séquences avec les types de ressources récurrents et une catégorie contenant au moins un type de ressource peu récurrent. Nous identifions les types de ressources récurrentes qualitativement à partir des deux figures, les types ayant un nombre d'occurrences supérieur à $10^5$ sont considérés comme dominants.

<figure><img src="image_98.png" /></figure>

<figure><img src="image_99.png" /></figure>

Une fois les sessions scindées en deux (les sessions avec les types récurrents et les types rares), nous pouvons procéder à l'extraction des motifs en utilisant l'algorithme [Prefixspan](https://Prefixspan.org).

Il est important avant de procéder à l'extraction de motifs d'avoir une idée de la taille des motifs à extraire et la valeur du support (le nombre de fois qu'un motif est apparu pour le considérer comme un motif récurrent). Nous avons décidé pour le support de prendre les motifs qui sont apparus au moins 1% pour chaque groupe de sessions (les types récurrents et les types rares). Nous justifions ce choix de support par le fait que le nombre de sessions est trop grand et varié et que certains motifs sont prédominants par rapport à d'autres. Le fait
de prendre 1% du nombre de sessions nous permettrait d'extraire des comportement moins visible mais qui pourrait différencier certaines sessions que d'autres.

## Exemples de motifs

Avant de procéder au profilage utilisateur à base de type de consultations, nous présentons quelques exemples de motifs récurrents et motifs rares pour les deux périodes:

### Octobre 2022 motifs de la partition des types d'unité éditoriale dominantes

<table><thead><tr><td>Motif</td><td>Nombre d'occurrences</td></tr></thead><tbody><tr><td>article, article</td><td>1.121.254</td></tr><tr><td>article, article, article</td><td>359.626</td></tr><tr><td>éditorial, article</td><td>35.145</td></tr><tr><td>article, chapitre, article, chapitre, article</td><td>25.953</td></tr><tr><td>chapitre, compte rendu</td><td>28.949</td></tr></tbody></table>

### Octobre 2022 motifs de la partition des types d'unités éditoriales rares

<table><thead><tr><td>Motif</td><td>Nombre d'occurrences</td></tr></thead><tbody><tr><td>article, actualité</td><td>9.877</td></tr><tr><td>note de lecture, article, compte rendu</td><td>6.172</td></tr><tr><td>éditorial, article</td><td>35.145</td></tr><tr><td>chapitre, chapitre, livre</td><td>18.581</td></tr><tr><td>notice archéologique, article</td><td>6.475</td></tr></tbody></table>

### Octobre 2023 motifs de la partition des types d'unité éditoriale dominantes

<table><thead><tr><td>Motif</td><td>Nombre d'occurrences</td></tr></thead><tbody><tr><td>chapitre, chapitre</td><td>706.691</td></tr><tr><td>article, article</td><td>1.152.378</td></tr><tr><td>chapitre, chapitre, livre</td><td>52.366</td></tr><tr><td>compte rendu, compte rendu, article</td><td>24.505</td></tr><tr><td>article, numéro</td><td>100.126</td></tr></tbody></table>

### Octobre 2023 motifs de la partition des types d'unités éditoriales rares
<table><thead><tr><td>Motif</td><td>Nombre d'occurrences</td></tr></thead><tbody><tr><td>numéro, note de lecture</td><td>6.052</td></tr><tr><td>colloque, article</td><td>5.539</td></tr><tr><td>livre, page liminaire</td><td>9.962</td></tr><tr><td>livre, compte rendu</td><td>9.527</td></tr><tr><td>numéro, collection</td><td>5.964</td></tr></tbody></table>

Les motifs sont des séquences qui sont apparues plusieurs fois dans les sessions, l'ordre est important. Nous tenons à remarquer que malgré le fait de partitionner les sessions en deux groupes, nous avons toujours des motifs qui vont apparaître dans les deux partitions (ex.chapitre, chapitre, livre apparaît aussi dans les motifs récurrents pour la période d'octobre 2022).

## 2.4 Profilage des sessions à base d'actions

Nous allons exploiter les motifs extraits pour construire des profils de sessions. Toutefois, en raison du nombre très élevé de motifs identifiés, il n'est pas techniquement possible de les utiliser tous pour générer des représentations exploitables. De plus, afin d'obtenir des profils pertinents et adaptés à la diversité des sessions (certains types de motifs étant peu fréquents), nous appliquerons trois règles de sélection et de transformation :

**Règle n°1** : Un motif n'est retenu comme caractéristique que s'il apparaît dans moins de 50 % des sessions du jeu de données.

**Règle n°2** : Tous les motifs constitués d'une unique action répétée tout au long de la session (plus de deux fois) seront standardisés sous une forme où cette action est répétée trois fois.

**Règle n°3** : Si une action ne figure dans aucun motif, elle sera considérée comme un motif à part entière lorsqu'elle est observée isolément.

Une fois les nouveaux motifs sélectionnés et transformés, nous allons construire des vecteurs dont la dimension égale au nombre de motifs et dont la valeur de chaque coordonnées correspond à la présence du motif dans la session (one hot encoding).

Ensuite ces représentations de sessions vont être réduites en utilisant une analyse en composantes principales (ACP). Ci-dessous la variance expliquée pour chaque composante, nous avons décidé de garder 200 dimensions.
<figure><img src="image_100.png" /></figure>

Un algorithme de clustering a été appliqué aux sessions afin d'identifier différents profils. Cela a permis de faire émerger 6 profils pour la période d'octobre 2022, et 7 pour celle d'octobre 2023.

Les graphiques ci-dessous illustrent la répartition des types de documents au sein de chaque profil pour octobre 2022. Le cluster -1 regroupe les sessions atypiques, présentant des valeurs extrêmes

<figure><img src="image_101.png" /></figure>

<figure><img src="image_102.png" /></figure>

<figure><img src="image_103.png" /></figure>

<figure><img src="image_104.png" /></figure>

<figure><img src="image_105.png" /></figure>

<figure><img src="image_106.png" /></figure>

<figure><img src="image_107.png" /></figure>

<figure><img src="image_108.png" /></figure>

<figure><img src="image_109.png" /></figure>

<figure><img src="image_110.png" /></figure>

<figure><img src="image_111.png" /></figure>

<figure><img src="image_112.png" /></figure>
<figure><img src="image_113.png" /></figure>

<figure><img src="image_114.png" /></figure>

<figure><img src="image_115.png" /></figure>

<figure><img src="image_116.png" /></figure>

<figure><img src="image_117.png" /></figure>

<figure><img src="image_118.png" /></figure>

<figure><img src="image_119.png" /></figure>

<figure><img src="image_120.png" /></figure>

<figure><img src="image_121.png" /></figure>

<figure><img src="image_122.png" /></figure>

<figure><img src="image_123.png" /></figure>

<figure><img src="image_124.png" /></figure>

<figure><img src="image_125.png" /></figure>

<figure><img src="image_126.png" /></figure>

<figure><img src="image_127.png" /></figure>

<figure><img src="image_128.png" /></figure>

<figure><img src="image_129.png" /></figure>

<figure><img src="image_130.png" /></figure>

<figure><img src="image_131.png" /></figure>

<figure><img src="image_132.png" /></figure>

<figure><img src="image_133.png" /></figure>
<figure><img src="image_134.png" /></figure>

<figure><img src="image_135.png" /></figure>

<figure><img src="image_136.png" /></figure>

<figure><img src="image_137.png" /></figure>

<figure><img src="image_138.png" /></figure>

<figure><img src="image_139.png" /></figure>

<figure><img src="image_140.png" /></figure>

<figure><img src="image_141.png" /></figure>

<figure><img src="image_142.png" /></figure>

<figure><img src="image_143.png" /></figure>

<figure><img src="image_144.png" /></figure>

<figure><img src="image_145.png" /></figure>

Le cluster -1 regroupe des sessions considérées comme aberrantes par l'algorithme de partitionnement. Ces sessions seront néanmoins prises en compte comme un ensemble à part, susceptible de révéler certains comportements caractéristiques.

Certains clusters, tels que les clusters -1 et 0, se distinguent par la diversité des types de ressources consultées. De manière générale, la consultation d'articles, de comptes rendus et de chapitres représente une part importante des interactions observées dans l'ensemble des groupes, ce qui reflète leur forte présence dans les sessions.

Cependant, plusieurs clusters présentent des spécificités. Par exemple, le cluster 5 est surreprésenté pour des catégories telles que les chroniques, les écoles d'été, les sources et les postes à pourvoir. Le cluster 3 se singularise par une fréquence accrue de consultations de ressources comme les textes annexes, les sites web, les bourses, les appels d'offres ou encore les actualités.

D'autres groupes partagent des profils similaires sur la majorité des types d'actions, mais se différencient sur certaines catégories spécifiques. Ainsi, les clusters 4 et 6 présentent des distributions proches, à l'exception de quelques types de contenus où le cluster 6 se distingue davantage (fichiers annexes, collections, notices bibliographiques de livres,
bibliographies et comptes rendus). Inversement, le cluster 4 montre une attention particulière aux appels à contribution, avant-propos et pages liminaires.

Enfin, les clusters 1 et 2 présentent également une convergence sur plusieurs types de ressources, mais diffèrent sur certains points : le cluster 1 est plus associé aux livres, notices bibliographiques de livres, notes de lecture et articles, tandis que le cluster 2 se distingue par une plus forte présence de numéros, chapitres et comptes rendus.

Les figures ci-dessous montrent la proportion des types de documents dans chaque profil pour la période d'octobre 2023.

<figure><img src="image_146.png" /></figure>

<figure><img src="image_147.png" /></figure>

<figure><img src="image_148.png" /></figure>

<figure><img src="image_149.png" /></figure>

<figure><img src="image_150.png" /></figure>

<figure><img src="image_151.png" /></figure>

<figure><img src="image_152.png" /></figure>

<figure><img src="image_153.png" /></figure>

<figure><img src="image_154.png" /></figure>

<figure><img src="image_155.png" /></figure>

<figure><img src="image_156.png" /></figure>

<figure><img src="image_157.png" /></figure>

<figure><img src="image_158.png" /></figure>

<figure><img src="image_159.png" /></figure>

<figure><img src="image_160.png" /></figure>
<figure><img src="image_161.png" /></figure>

<figure><img src="image_162.png" /></figure>

<figure><img src="image_163.png" /></figure>

<figure><img src="image_164.png" /></figure>

<figure><img src="image_165.png" /></figure>

<figure><img src="image_166.png" /></figure>

<figure><img src="image_167.png" /></figure>

<figure><img src="image_168.png" /></figure>

<figure><img src="image_169.png" /></figure>

<figure><img src="image_170.png" /></figure>

<figure><img src="image_171.png" /></figure>

<figure><img src="image_172.png" /></figure>

<figure><img src="image_173.png" /></figure>

<figure><img src="image_174.png" /></figure>

<figure><img src="image_175.png" /></figure>

<figure><img src="image_176.png" /></figure>

<figure><img src="image_177.png" /></figure>

<figure><img src="image_178.png" /></figure>

<figure><img src="image_179.png" /></figure>

<figure><img src="image_180.png" /></figure>

<figure><img src="image_181.png" /></figure>
<figure><img src="image_182.png" /></figure>

<figure><img src="image_183.png" /></figure>

<figure><img src="image_184.png" /></figure>

<figure><img src="image_185.png" /></figure>

<figure><img src="image_186.png" /></figure>

<figure><img src="image_187.png" /></figure>

<figure><img src="image_188.png" /></figure>

<figure><img src="image_189.png" /></figure>

<figure><img src="image_190.png" /></figure>

Comme pour la période d'octobre 2022, nous avons deux groupes qui sont présents dans une grande majorité de types, nous faisons référence au groupes -1 et A, certains groupes se démarques dans des catégories spécifiques, le groupe E se démarque dans le type fac similé, le groupe C dans les rubriques et chroniques, le groupe F dans image, notice biblio numéro, website et source, le D dans école d'été, le groupe G dans texte annexe, éditorial, chapitre, notice biblio film et postface. Les groupes B et H ne se démarquent pas par rapport aux autres groupes.

## 2.5 Synthèse

Les résultats que nous avons obtenus sont encore préliminaires, et des analyses complémentaires seront nécessaires pour les confirmer. Toutefois, ces premiers résultats révèlent certaines tendances : une large part des sessions implique la consultation de ressources telles que des livres, numéros de revue, articles, chapitres ou comptes rendus. Nous avons regroupé les sessions en plusieurs catégories selon leurs préférences de consultation. À ce stade, ces préférences ne présentent pas encore de cohérence claire ou interprétable. Les groupes -1 et 0 sont les plus représentés en octobre 2022, tandis que les groupes -1 et "A" dominent en octobre 2023, avec des proportions respectives de 73,5 % et 68,3 %. En l'absence d'éléments plus significatifs, nous choisissons pour l'instant de ne pas approfondir davantage cette piste.

## 3. Analyse des transitions

Nous allons nous intéresser par la suite à comment les utilisateurs transitent d'une ressource à une autre. Pour ce faire nous allons construire ce qu'on appelle une [matrice de transition](https://fr.wikipedia.org/wiki/Matrice_de_transition). Celle-ci donne une estimation de la probabilité de passage d'une ressource à une autre.
Pour cette section, nous allons nous pencher sur les transitions au niveau des plateformes et au niveau des sites de revues/éditeurs.

## 3.1 Construction de la matrice de transition

Pour construire cette **matrice de transition**, nous analysons les sessions de navigation des utilisateurs à travers les différentes ressources. Chaque entrée de la matrice représente la **probabilité conditionnelle** qu'un utilisateur passe d'une ressource A à une ressource B, en se basant sur les parcours observés.

**1. Extraction des parcours** : Nous récupérerons les sessions de navigation des utilisateurs en enregistrant l'ordre dans lequel ils consultent les ressources.

**2. Calcul des probabilités de transition** : Pour chaque paire de ressources (A, B), nous compterons le nombre de fois où un utilisateur est passé de A à B, puis nous normaliserons ces valeurs pour obtenir des probabilités.

**3. Représentation sous forme de matrice** : La matrice aura pour dimensions nombre de ressources × nombre de ressources, et chaque case M(A,B) indiquera la probabilité de transition de A vers B.

### 3.1.2 Matrice de transition des plateformes

Les matrices de transitions sont lues de la manière suivante: Une ligne correspond au passage d'une plateforme vers toutes les autres. Notez que la somme des valeurs dans une ligne doit être égale à 1.

<figure><img src="image_191.png" /></figure>

Dans la matrice de transition, on observe une faible mobilité entre les plateformes : les utilisateurs ont tendance à rester sur la même plateforme. Par exemple, la probabilité de se trouver sur **Books** et d'y rester est élevée.

Cependant, quelques transitions sont notables, notamment des passages de **Books** et **Calenda** vers **Journals**, ainsi qu'un passage inverse de **Journals** vers **Books**.
### 3.1.2 Matrice de transition des sites revues/éditeurs/blogs

Nous allons nous intéresser aux transitions entre sites de revues, éditeurs et blogs confondues pour avoir un niveau de granularité plus fin et pouvoir expliquer ce qui se passe plus en détail dans les plateformes.

Dans les matrices de transitions pour le mois d'octobre 2022 et 2023 nous remarquons que les utilisateurs tendent à rester sur les mêmes sites webs : cela se manifeste par la longue diagonale en rouge (voir figures ci-dessous).

Ces matrices de transitions contiennent des comportement cachés dus à la grande quantité de sites, nous avons donc décidé d'augmenter la luminosité des cellules pour voir ces transitions cachées voir figures ci-dessous:

Nous remarquons certaines colonnes avec une luminosité plus importante que d'autres, cela signifie que certains sites éditeurs (revue, livre – et blog si c'est le mois d'octobre 2023). Ces sites peuvent être aperçus comme des points d'entrée d'attraction par lesquels le trafic passe dans les sessions. Parmis ces sites nous avons :

Les Presses universitaires de Rennes, *Nuevo Mundo*, CNRS Éditions, Les Éditions de l'EHESS, les Éditions de la Maison des sciences de l'homme, Éditions de la Sorbonne...

<figure><img src="image_192.png" /><figcaption>Matrice de transition des sites web pour
le mois d'octobre 2023</figcaption></figure>

<figure><img src="image_193.png" /></figure>

Une version plus détaillée des matrices sera partagée avec le rapport avec les noms des sites en question.
### 3.1.3 Étude de cas

Nous présentons ici les 10 principales transitions liées à nos études de cas pour les mois d'octobre 2022 et 2023 :

- les **5 transitions entrantes**, qui indiquent les sites redirigeant vers nos cas d'étude,

- et les **5 transitions sortantes**, qui montrent vers quelles plateformes nos cas d'étude renvoient.

Nous ne prenons pas en compte les trafics dans "search-api" (Search) vu que les trafics ont été agrégés au niveau de la plateforme.

Pour la maison d'édition de l'Université Grenoble Alpes, la majorité des sessions sont redirigées vers les presses universitaires de Rennes pour les deux mois d'octobre 2022 et 2023. Les presses universitaires du Septentrion apparaissent également comme point de sortie durant ces deux périodes.

En octobre 2022, les sessions provenaient notamment des Éditions Rue d'Ulm, Presses universitaires de Saint-Étienne et des éditions Mélanie Seteun.

En 2023, les principaux points d'entrée sont les éditions A. Athéna, la revue critique de fixxion française contemporaine, Humanitaire et Recherches & Travaux.
## Principales transitions entrantes et sortantes pour UGA Éditions (Top 10)

<figure><img src="image_194.png" /></figure>

<figure><img src="image_195.png" /></figure>

<figure><img src="image_196.png" /></figure>

<figure><img src="image_197.png" /></figure>

La revue de la Bibliothèque nationale et universitaire de Strasbourg ne présente pas de points d'entrée majeurs. En revanche, elle redirige le trafic vers les Éditions de la Sorbonne et les Presses universitaires de Rennes durant les deux périodes observées. À cette liste s'ajoutent, pour octobre 2022, les Presses universitaires de Lyon, et pour octobre 2023, ENS Éditions.
## Principales transitions entrantes et sortantes pour la revue de la BNU (Top 10)

<figure><img src="image_198.png" /></figure>

<figure><img src="image_199.png" /></figure>

<figure><img src="image_200.png" /></figure>

<figure><img src="image_201.png" /></figure>

Pour la revue *Hommes & Migrations*, les points d'entrée sont relativement stables sur les deux périodes observées : *e-migrinter*, *Éducation et Sociétés Plurilingues*, *presses universitaires de Rennes* et la *revue européenne des migrations Internationales*.

En revanche, les points de sortie varient selon les années. En octobre 2022, les sessions sont redirigées vers *Revue de l'Institut français d'histoire en Allemagne*, *Lectures* (notamment pour des comptes rendus d'ouvrages), les *presses universitaires de Rennes* et *revue européenne des migrations Internationales*. En octobre 2023, le trafic sortant se dirige vers la revue *Insaniyat*, *revue européenne des migrations Internationales* et les *presses universitaires de Rennes*.
## Principales transitions entrantes et sortantes pour la revue Hommes et migrations
(Top 10)

<figure><img src="image_202.png" /></figure>

Top 5 transitions 'hommesmigrations' oct 2022 (vue accentuée)

<figure><img src="image_203.png" /></figure>

<figure><img src="image_204.png" /></figure>

Top 5 transitions 'hommesmigrations' oct 2023 (vue accentuée)

<figure><img src="image_205.png" /></figure>

## 3.2 Décomposition de la matrice via modélisation en chaînes de Markov
d'ordre 1

### 3.2.1 Formulation mathématique

Les **matrices de transition** obtenues peuvent être interprétées comme un mélange de plusieurs comportements distincts, chacun correspondant à une manière différente de naviguer entre les ressources. Plutôt que de considérer une seule matrice de transition globale, nous pouvons la **décomposer** afin d'identifier plusieurs **profils de navigation**, où chaque profil est décrit par sa propre matrice de transition.

Une **chaîne de Markov** est un modèle mathématique qui représente un système évoluant par étapes successives, où l'état futur ne dépend que de l'état actuel et non de l'historique
complet des étapes précédentes. Dans notre cas, cela signifie que la probabilité qu'un
utilisateur consulte une ressource donnée dépend uniquement de la ressource qu'il consulte
actuellement. Ce type de processus est appelé **chaîne de Markov d'ordre 1**.

Mathématiquement, notre matrice de transition peut donc être vue comme un **mélange de
plusieurs processus markoviens**, chacun représentant un comportement de navigation
distinct.

Pour identifier ces différents profils, nous utiliserons à nouveau l'algorithme
Espérance-Maximisation, qui permet d'estimer les paramètres des différentes chaînes de
Markov sous-jacentes à nos données. Cet algorithme fonctionne en deux étapes:

1. Étape d'espérance (E-step) : À partir des matrices de transition actuelles, nous calculons la probabilité que chaque session appartienne à un profil donné.

2. Étape de maximization (M-step) : En utilisant ces probabilités d'appartenance, nous ajustons les matrices de transition de chaque profil pour mieux correspondre aux données observées.

Ces deux étapes sont répétées jusqu'à convergence, c'est-à-dire jusqu'à ce que les profils
trouvés ne changent plus significativement d'une itération à l'autre.

Au vu du grand nombre de sites éditeurs qui demande une complexité de calcul
considérable, nous allons nous limiter aux transitions au niveau des plateformes.

Le formalisme ainsi que les formules de mise à jour sont explicitées en annexes.

3.2.2 Partitionnement des transitions

Nous expliciterons par la suite les différentes matrices de transitions obtenues après avoir appliqué l'algorithme de partitionnement des sessions de navigation. Nous avons décidé dans un premier temps de faire un partitionnement en deux groupes et nous laisserons la partie de recherche du nombre de partitions optimale pour de futurs travaux.

Dans les graphiques ci-dessous nous avons 3 matrices de transitions, la matrice gauche représente la matrice originale contenant toutes les sessions de navigations, et les deux autres matrices représentent les transitions des sessions avec les mêmes comportements.

Groupes obtenus après partitionnement pour la période d'octobre 2022
<figure><img src="image_206.png" /><figcaption>Matrice de transitions des plateformes OE</figcaption></figure>

## Groupes obtenus après partitionnement pour la période d'octobre 2023

<figure><img src="image_207.png" /><figcaption>Matrice de transitions des plateformes OE</figcaption></figure>

Sur les deux mois étudiés, nous observons deux types de matrices de transition : certaines où les sessions restent confinées à une seule plateforme, sans transition vers d'autres (Groupe 2), et d'autres où des passages entre plateformes ont lieu (Groupe 1). Dans ces dernières, on constate que les sessions sur **Books** ont autant de chances de se diriger vers **Books** que vers **Journals**, tandis que les transitions de **Journals** vers **Books** restent faibles comparé à celles de **Journals** vers **Journals**. Pour **Calenda**, les sessions ont davantage tendance à se diriger vers **Journals** que de rester sur **Calenda**. Du côté d'Hypothèses, quelques transitions vers **Journals** sont également observées. Dans l'ensemble, **Journals** apparaît comme une plateforme centrale pour ce groupe de sessions. À l'inverse, **Search** semble relativement isolée, même pour ce groupe.

Nous allons par la suite expliciter la proportion de chaque groupe dans l'ensemble des sessions.
<figure><img src="image_208.png" /><figcaption>Proportion des groupes de sessions (octobre 2023)</figcaption></figure>

<figure><img src="image_209.png" /></figure>

Nous allons dans de futurs travaux analyser les caractéristiques de ces sessions et essayer
de les caractériser avec des métadonnées supplémentaires.

3.3 Synthèse

L'analyse des matrices de transition d'octobre 2022 et 2023 montre une faible mobilité entre plateformes, les utilisateurs restant majoritairement sur le même site, notamment sur Books. Quelques transitions notables apparaissent vers Journals, qui joue un rôle central, en particulier pour les sessions issues de Books, Calenda et Hypothèses. En examinant les sites individuels, certains éditeurs comme les Presses universitaires de Rennes, CNRS Éditions ou les Éditions de l'EHESS émergent comme des points d'entrée importants. Deux grands types de comportements se dégagent : une majorité de sessions (environ deux tiers) restent confinées à une seule plateforme, tandis qu'un tiers présente des circulations entre plateformes. Ces résultats, qui révèlent à la fois une forte fidélité aux sites et quelques pôles de centralité, appellent à être confirmés par des travaux futurs.

4. Profilage via analyse topologique des sessions

4.1 Méthodologie

Le but de cette analyse est d'étudier les parcours de navigation des utilisateurs, en se concentrant sur les sites des éditeurs. Nous nous appuyons pour cela sur deux types de travaux : d'une part, le rapport du projet « *Modalités d'accès ouvert sur les plateformes d'OpenEdition* » réalisé en 2019 réalisé par Romain Deveaud, et d'autre part, des études comme celles citées en [28] et [29]. Cette analyse se décompose en trois étapes :

Construire des représentations des sites éditeurs

L'objectif de cette étape est de construire une représentation vectorielle des revues, des
collections de livres, ainsi que des carnets Hypothèses (pour la période d'octobre 2023)
hébergés sur OpenEdition. L'idée est que deux sites soient considérés comme proches s'ils
sont fréquemment consultés au cours des mêmes sessions de navigation.
Pour cela, nous utilisons l'algorithme [Word2Vec](http://en.wikipedia.org/wiki/Word2Vec) [30], issu du traitement automatique du langage (TAL), qui permet de transformer des mots en vecteurs dans un espace continu. Dans le cadre de notre étude, nous adaptons cette méthode en considérant :

* les **sites web** comme des mots,

* les **sessions de navigation** comme des phrases,

* et l'ensemble des sessions comme un corpus.

Afin de capter les relations globales entre les sites, nous fixons la taille de la fenêtre à la longueur maximale d'une session de navigation. Nous avons choisi le modèle **Skip-gram** et l'avons entraîné pendant 200 époques, une fois la fonction de perte stabilisée.

## Réduire la dimensionnalité des représentations obtenues

Pour réduire la dimensionnalité des représentations obtenues, nous utilisons l'algorithme **UMAP** (Uniform Manifold Approximation and Projection) [31], qui permet de projeter les données dans un espace de plus faible dimension tout en préservant autant que possible leurs structures locales et globales. Cette étape est essentielle pour la suite de l'analyse, car elle diminue la complexité aussi bien computationnelle que spatiale.

L'algorithme UMAP repose sur deux paramètres principaux :

* **le nombre de voisins (n_neighbors)**, qui détermine l'échelle locale à laquelle la structure des données est analysée,

* **la distance minimale (min_dist)**, qui influence la densité de la projection finale.

Un faible nombre de voisins favorise la préservation des relations locales, tandis qu'un nombre plus élevé contribue à maintenir une vue d'ensemble plus globale. De la même manière, une distance minimale faible tend à rapprocher davantage les points similaires dans l'espace projeté.

Dans notre cas, nous avons fixé le nombre de voisins à 3 et la distance minimale à 0.1, en utilisant la **similarité cosinus** comme mesure de distance. Ces choix reflètent notre volonté de privilégier les relations locales entre les sites, tout en conservant un certain degré de structure globale, dans la mesure où les sites proches dans l'espace initial devraient rester relativement proches dans l'espace projeté.

Suite à cette transformation, une session de navigation, jusque-là représentée comme une séquence de sites, peut désormais être interprétée comme une série de vecteurs numériques traduisant les relations de proximité. Afin d'aller au-delà de la simple séquentialité, nous considérons ces vecteurs comme un **ensemble de points** formant un nuage de données.
## Analyse topologique des sessions pour construire des profils utilisateurs

L'objectif de cette étape est d'examiner la structure des nuages de points obtenus précédemment. Pour ce faire, nous appliquons les outils de l'[homologie persistante](https://fr.wikipedia.org/wiki/Homologie_persistante), qui permettent de détecter les formes topologiques (composantes connexes, boucles, cavités, etc.) présentes dans les données, ainsi que leur durée de persistance au fil d'un processus de filtration.

Concrètement, cela consiste à relier progressivement les points du nuage selon un seuil de proximité croissant, puis à observer quelles structures apparaissent et lesquelles persistent à travers les différentes échelles. Ces informations sont ensuite transformées en vecteurs numériques en analysant, pour chaque dimension homologique, des mesures comme l'[entropie de persistance](https://fr.wikipedia.org/wiki/Entropie_de_persistance) (voir [28] pour plus de détails).

Les vecteurs ainsi obtenus décrivent la signature topologique de chaque session de navigation. Ils sont ensuite regroupés à l'aide de l'algorithme **DBSCAN** [32], afin d'identifier des motifs ou comportements de navigation similaires.

## 4.2 Analyse des profils obtenus

Nous analysons dans cette sous section les profils obtenus dans les deux périodes. Pour la période 2022 nous avons obtenu 6 profils et 5 profils pour l'année 2023.

### Profil n°1 (sessions qui bouclent sur un même site)

#### Exemple n°1

<figure><img src="image_210.png" /></figure>

#### Exemple n°2

<figure><img src="image_211.png" /></figure>

### Profil n°2 (Sessions linéaires)

Il s'agit de sessions généralement courtes à moyennes, comprenant entre 3 et 15 requêtes et contenant en moyenne 9 sites uniques visités. Elles contiennent rarement des boucles, avec une navigation qui suit un parcours linéaire d'un site à l'autre. Les sites visités au cours de ces sessions sont proches les uns des autres dans l'espace de représentation (cartographie).

### Exemples
<figure><img src="image_212.png" /></figure>

## Profil n°3: Sessions semi-linéaires

Ce sont des sessions de longueur moyenne à longue, comprenant entre 15 et 50 requêtes. Bien qu'elles tentent de suivre un parcours linéaire, elles finissent souvent par dévier, avec de fréquents allers-retours. Les sites visités au cours de ces sessions forment des groupes modérément éloignés les uns des autres dans l'espace de représentation (cartographie).

## Exemples
<figure><img src="image_213.png" /></figure>

## Profils n°4 Sessions à longues boucles

Ces sessions se caractérisent par de larges boucles, avec des retours fréquents vers un site éditeur après environ 20 requêtes. À l'instar du profil n°3, les sites visités au cours de ces sessions sont organisés en groupes modérément éloignés dans l'espace de représentation (cartographie).

## Exemples
<figure><img src="image_214.png" /></figure>

## Profil n°5 Sessions exploratoires

Ces sessions, très rares (seulement 14 observées en octobre 2022), impliquent entre 9 et 20 sites uniques, souvent très éloignés les uns des autres dans la cartographie. Elles peuvent suivre une trajectoire linéaire, mais incluent parfois des retours en arrière. Ces sessions s'apparentent à une exploration dispersée à travers l'espace des sites : au lieu d'approfondir le voisinage des sites consultés, elles tendent à naviguer vers des destinations lointaines.

## Exemples
<figure><img src="image_215.png" /></figure>

## Profil n°6 Sessions complexes

Ces sessions parcourent une large portion des sites ainsi que leurs voisinages. Elles sont généralement longues et marquées par de nombreuses boucles, avec des allers-retours fréquents entre différents sites.

## Exemples

<figure><img src="image_216.png" /></figure>
<figure><img src="image_217.png" /></figure>

Pour l'année 2023 nous avons les mêmes profils sauf le profil 5 qui manque, nous avons remarqué que les sessions des profil 5 et 6 ont fusionné pour former plus qu'une seule catégorie pour cette période, donc il faut penser. Après avoir listé les profils obtenus nous allons étudier la proportion de chaque profil dans nos études de cas.

<figure><img src="image_218.png" /><figcaption>Pourcentage des profils dans les études de cas pour la période d'octobre 2022</figcaption></figure>
<figure><img src="image_219.png" /><figcaption>rbnu</figcaption></figure>

<figure><img src="image_220.png" /></figure>

Dans les trois cas étudiés, le profil de navigation le plus fréquent est le profil n°2, caractérisé par des sessions linéaires explorant une zone restreinte de la carte, sans recouvrement important d'autres zones. Ce profil est suivi en fréquence par le profil n°1, où les sessions présentent des parcours récurrents, marqués par des retours fréquents sur les mêmes sites.

Le profil n°3, quant à lui, correspond à des sessions initialement dirigées, qui tendent progressivement vers une forme d'exploration plus ouverte. Enfin, les profils impliquant des navigations complexes, marquées par des parcours diversifiés et non linéaires, sont peu représentés dans l'ensemble des cas analysés.

## Pourcentage des profils dans les études de cas pour la période d'octobre 2023

<figure><img src="image_221.png" /><figcaption>hommesmigrations</figcaption></figure>

<figure><img src="image_222.png" /><figcaption>rbnu</figcaption></figure>

<figure><img src="image_223.png" /></figure>

Comme pour la période d'octobre 2022, les profils de navigation dominants en 2023 restent ceux des sessions linéaires (profil n°2) et des sessions récurrentes revenant sur les mêmes sites (profil n°1). Une légère variation est cependant observée pour la revue *Hommes & Migrations*, qui présente une proportion un peu plus élevée de sessions de type exploratoire progressif (profil n°3). Il convient également de noter que le profil n°5 identifié en 2023 correspond à une fusion des profils n°5 et n°6 de la typologie définie pour la période 2022.
## 4.3 Cartographies des sites éditeurs

Nous revenons sur les représentations obtenues avec Word2Vec, en réduisant la dimensionnalité de ces représentations en 2 dimensions, nous obtenons un nuage de point qui fait office de cartographie des sites webs.

<figure><img src="image_224.png" /></figure>

<figure><img src="image_225.png" /></figure>

Nous allons analyser la cartographie à travers nos 3 études de cas, nous allons voir les sites qui se trouvent à proximité dans les deux périodes.
À partir des figures nous observons dans premier temps que l'emplacement des sites n'est plus le même, cela est dut au fait que les représentation sont généré à partir de l'algorithme Word2Vec, l'algorithme encode des informations sur la proximité des sites de manière non supervisé, il est tout à fait normale d'avoir des positions différents. Ce qui nous intéresse par contre, c'est le voisinage des sites de notre étude. Pour cela nous allons zoomer sur chaque zone et analyser le voisinage. (Note: La cartographie est intéractive est sera disponible avec le document, afin d'explorer plus en détail les sites).

La Revue de la BNU

Voisinage de la revue de la BNU "rbnu" dans la cartographie
(octobre 2022)

<figure><img src="image_226.png" /></figure>