Les méthodes de collecte des données

synthèse rédigée par Pauline Leplongeon, mise en ligne par Stella Mulas, stagiaires sur le projet EVEille en 2022 et 2023

QUESTIONNEMENT INTRODUCTIF

Les méthodes de données vont dépendre du type de données collectées : des données produites ou collectées, données non numériques ou numériques.

Les méthodes de production de données

Elles peuvent dépendre d’une méthode propre à une discipline comme la récupération de données archéologiques qui passe par les techniques de fouilles archéologiques.
Dans le même ordre d’idées, les sciences sociales comme l’ethnologie, l’anthropologie, la sociologie, les sciences du langage, les sciences politiques peuvent utiliser des méthodes bien définies par les disciplines telles que :

  • l’entretien (dirigée, semi-dirigée, non-dirigée)
  • le questionnaire
  • le sondage
  • l’observation (structurée, systématique, non-structurée, non-systématique)
  • le groupe de discussion
  • les enquêtes (par sondage, panel, test standardisé, questionnaire)

De manière générale, la communauté des chercheurs acquiert également des données non numériques par des moyens plus informels comme les échanges entre chercheurs notamment lors de rencontres, discussions, colloques, conférences. Ces échanges peuvent se traduire par une prise de note manuelle, sur papier.

Attention, ces données orales, non verbales, peuvent être collectées de façon numérique par le biais d’enregistrements ou d’outils numériques comme les cahiers de laboratoires ou les carnets de terrain.
Pour les données collectées de façon non numériques, il peut ensuite y avoir un processus de numérisation :

  • photographie numérique d’un objet, d’une situation ou numérisation d’images analogiques
  • transcription écrite d’enregistrement analogiques (ou numériques)

Toutefois nous sommes déjà ici dans le champ du traitement des données en vue de leur analyse. [Voir : fichier “Traitement et analyse] [Voir : cahier de terrain électronique]

Les méthodes de collecte de données

Un chercheur peut également récupérer des jeux de données préalablement collectées et traitées par d’autres chercheurs dans le cadre d’autres projets de recherche ou des données non structurées, non conçues pour la recherche.
Elles sont nombreuses et demandent plus ou moins de compétences informatiques.
Le chercheur peut se poser la question du temps à investir dans l’apprentissage et la maîtrise de ces méthodes. Est-il prêt à dépenser un tel temps ? Sa recherche nécessite t-elle ce type de méthodes ?
Le chercheur dispose-t-il du matériel nécessaire à ce type d’opération ?
Nous détaillons les méthodes ci-dessous.

Source & ressources

  • Del Bayle (Jean-Louis), Initiation aux méthodes des sciences sociales, Paris-Montréal, L’Harmattan, 2000, 272 p. Une édition numérique réalisée par, Émilie Tremblay, bénévole, doctorante en sociologie à l’UQAM.
    Lien
  • Sauvayre (Romy), Les méthodes de l’entretien en sciences sociales, Dunod, 2013.
    Lien
  • Billet de blog : T.T, Entretien ou questionnaire : quelle méthode de collecte de donnés pour son mémoire ?, 6 janvier 2017.
    Lien
  • Norimatsu (Horiko), Cazenave-Tapie (Pascal), Techniques d’observation en Sciences humaines et sociales, 52ème Congrès International de la Société d’Ergonomie de Langue Française (SELF), 20-22 Septembre 2017, Toulouse, France. Actes du 52ème Congrès de la SELF 2017, pp. 529-532.
    Lien,
    Actes complets disponibles en ligne.
  • Observatoire Espace & Société, La méthodologie d’enquête en sciences sociales, 2019.
    Lien

COPIER-COLLER

Sur une page web ou un document téléchargé, il est possible de copier-coller des données ou des informations. Il s’agit d’une opération manuelle coûteuse en temps.
Raccourci clavier sous Windows après sélection de l’extrait à copier :
copier : ctrl + C,
coller : ctrl + V.
Raccourci clavier sous Mac OS après sélection de l’extrait à copier :
copier : Cmd + C,
coller : Cmd + V.

Cette méthode peut être remplacée par une méthode semi-automatique, le web scraping qui permet de collecter des données de façon plus massive.

Sources & ressources

  • Wikipédia, Copier-Coller, mis à jour le 28 juillet 2021.
    Lien

TÉLÉCHARGEMENT

Méthode consistant à transférer des données ou des informations d’un ordinateur à un autre.
Il existe plusieurs types de téléchargement :

  • téléchargement direct avec stockage d’un fichier
  • lecture en continue ou streaming
  • navigation web,
  • téléchargement pair-à-pair (entre ordinateurs qui sont tous deux à la fois serveur et client)
  • téléchargement licite
  • téléchargement illicite.

Un fichier téléchargé peut être soumis au DRM (gestion numérique des droits) qui gère les conditions de son utilisation.
Pour le chercheur, il est possible de télécharger un jeu de données à partir d’un entrepôt de données, ou des documents à partir d’une base de données documentaire comme Persée, Cairn ou à partir d’une archive ouverte comme HAL.

Sources & ressources

  • Wikipédia, Téléchargement, mis à jour le 6 juillet 2022.
    Lien

FLUX RSS

Définition

  • Really Simple Syndication
  • Une technologie du web
  • Fichier texte au format XML. Il contient a minima un titre, une description, et l’URL de la ressource.
  • Syndication de contenus : publier automatiquement sur un site web, des infos provenant d’autres sites web
  • Agrégation de contenus : Stocker et consulter des contenus provenant de plusieurs flux d’informations.

À quoi servent les flux RSS ?

  • A organiser sa veille
  • A repérer les modifications de contenu d’un site web.
  • A récupérer les nouveauté d’un site web (quotidien, blog, base de données, compte twitter) et les intégrer dans un autre site ou logiciel.
  • Autrement dit : collecter de l’information de façon automatisée sans devoir aller consulter chacun des sites que l’on suit.

Comment utiliser les flux RSS ?

Grâce à des agrégateurs ou lecteur de flux. Ils permettent d’afficher sur une interface personnalisable les nouveautés des sites web dont on suit le fil RSS. Il s’agit d’outils de centralisation des flux d’informations issus de ces sites. Les agrégateurs fournissent des outils pour classer les flux par thématiques ou ordre alphabétique.
Ils sont de plusieurs types :

  • agrégateurs de flux en ligne de type application web
    Exemple d’agrégateur en ligne : feedly
  • agrégateurs à installer sur l’ordinateur, logiciel spécifique.
    Exemple d’agrégateur à installer : QuiteRSS (libre et open source) Raven Reader (open source)
  • page personnalisable : outil proche des deux précédents, la page personnalisable permet de créer un site web personnel, de l’organiser en onglet thématiques qui centralisent les flux RSS et intègrent d’autres services comme la messagerie électronique ou encore les comptes de réseaux sociaux.
    Exemple de page personnalisable : Netvibes
  • navigateurs : les navigateurs comme Firefox ou Internet explorer peuvent lire des flux rss et les intégrer aux favoris. Le flux s’affiche ensuite comme un marque-page
  • Certaines messageries comme Outlook ou Thunderbird permettent également d’intégrer des flux rss.

Notions liée : l’OPML

Outline Processor Markup Language. Format de fichier de type xml. Il permet le regroupement et l’identification des titres d’un texte. Il est utilisé dans l’univers des flux rss pour échanger des listes d’abonnements entre agrégateurs de flux.

Sources & ressources

  • Page web sur les outils de veille et les outils collaboratifs de l’université de Rennes 2. Licence CC-BY-NC-ND.
    Lien
  • Corinne Habarou – Urfist Paris, Utiliser les flux RSS pour sa veille : choisir son lecteur, session 2017. Licence CC-BY-NC-SA.
    Lien
  • Bibliothèques universitaires de l’université Aix-Marseille, page dédiée à l’automatisation de sa veille professionnelle, dernière mise à jour en septembre 2021.
    Lien
  • Wikipédia, Tableau comparatif des agrégateurs de flux, dernière mise à jour le 6 décembre 2021.
    Lien

WEB SCRAPING

Définition

Le web scraping consiste à récupérer de manière automatisée le contenu d’une ou plusieurs pages web à l’aide de scripts ou de logiciels et de sauvegarder ce contenu dans des formats de fichiers qui en facilitent l’analyse (de type, xml, json, csv ou texte brut).
Il permet de collecter certains éléments ciblés dans le code html de la page web.
Il permet d’éviter le copier-coller qui est une méthode humaine et manuelle.
Exemple d’utilisation : collecter les échanges d’une discussion sur un forum.

Distinction entre web crawler et web scraper

Web crawler : robot parcourant les sites web pour lister et stocker les URLS entrantes et sortantes de chaque page web.

Web scraper : robot ou programme parcourant des listes prédéfinies de sites web (donc des URL) pour extraire leur contenu. L’extraction s’effectue grâce à des sélecteurs comme XPath, CSS ou RegEX qui permettent de sélectionner des éléments de la structure html des pages du site scrapé.
Concrètement un sélecteur est une chaîne de caractère (en texte brut) qui explique au web scraper quels types de données il doit collecter et extraire de la page web.

Le web crawler va guider le web scraper d’url en url
Le web scraper collecte les données des url indiquées par le web crawler.

Les outils du web scraping

Plusieurs types d’outils permettent de faire du web scraping :

  • Des outils “clé-en-main” qui ne nécessitent pas de coder :
    • les extensions de navigateur comme Webscraper IO qui fonctionne avec Google Chrome.
    • les logiciels à installer sur son propre ordinateur comme Octoparse (payant au- delà de 14 jours) ou encore ParseHub (version téléchargeable gratuite, version cloud payante).
  • Des outils et des techniques pour créer son propre web scraper qui nécessitent des compétences en programmation informatique : les langages de programmation, les librairies, bibliothèques ou packages et les éditeurs de texte, éditeurs de code, IDE.
    • Il existe plusieurs langages de programmation, notamment Python, Java, C, C++, R, LaTeX, SQL, XML, Javascript, html, RDF.Python est une sorte de langage à tout faire. Il permet notamment de faire de l’analyse de données et de créer des interfaces.
    • Les librairies ou bibliothèques ou packages sont des portions de codes autrement dit un ensemble d’objets et de fonctions spécialisés dans un domaine d’utilisation. Les librairies n’ont pas d’interfaces graphiques, uniquement du code à réutiliser. Une bonne librairie possède une documentation bien développée.Par exemple Scrapy est une bibliothèque destiné au langage Python qui permet d’extraire des données en ligne. Elle est gratuite, open source et très bien documentée.
    • l’éditeur de texte possède des fonctionnalités limitées : écrire du texte,
      aligner le texte, modifier la taille de la police d’écriture.
    • l’éditeur de code possède des fonctionnalités plus avancées que l’éditeur de texte. Conçu pour écrire des logiciels, il permet de changer les polices et les couleurs pour une meilleure lisibilité du code qu’on est en train d’écrire, ou encore de se servir d’une autocomplétion propre au langage de programmation utilisé. On peut y ajouter des extensions pour plus de fonctionnalités et de personnalisation.
    • un IDE ou Environnement de développement intégré est un logiciel qui permet d’écrire, de compiler, de tester, de lancer, de dégobuer des logiciels. En résumé l’IDE comprend un éditeur de texte et plusieurs outils supplémentaires comme un débogueur qui exécute ligne à ligne le programme en cours d’écriture et aide à trouver les erreurs de programmation.
      Certains IDE s’emploient avec des langages de programmation spécifiques : IDE pour Python comme Pycharm ou Atom, IDE pour R comme RStudio, IDE pour javascript comme Visual Studio Code. Certains IDE servent à coder en plusieurs langages comme l’IDE CodeLite pour Python, C, C++, Javascript, PHP, Rust (Open source).

Est-ce légal ?

Le web scraping n’est pas illégal en soi mais sa légalité peut être compromise en fonction de l’utilisation des données scrapées, par exemple en cas d’utilisation commerciale des données. Certains sites n’autorisent pas le scraping. Avant de scraper, il faut lire les CGU (conditions générales d’utilisation) et les CGV (conditions générales de vente) et bien connaître le RGPD pour ce qui concerne les données à caractère personnelles. Le site de la CNIL fournit des informations et des outils à jour sur ce sujet.
Voir par exemple CNIL, Quels outils pour aider les acteurs de la recherche dans leur mise en conformité ?, 31 janvier 2022. Lien

Les obstacles au web scraping

  • La structure d’une page web évolue fréquemment. Il faudra donc modifier les scripts du web scraper en conséquence sinon, il peut ne renvoyer aucune donnée ou des données incomplètes et/ou inexactes.
  • Certains sites mettent en place des mécanismes “anti-scraping” et des pièges pour
    empêcher la collecte des données.
  • La qualité des données obtenues n’est pas garantie.

Sources & ressources

  • CNIL, quels outils pour aider les acteurs de la recherche dans leur mise en conformité ?, 31 janvier 2022. Lien
  • Pressac (Jean-Baptiste), Introduction au web scraping avec Scrapy, Tuto MATE-SHS, 24 mai 2018.
    Lien
  • Site : Data Transition numérique.
    Lien
  • Site Sales Hacking.
    Lien
  • Présentation de l’extension Webscraper : Virginier Lethier, Les trucs et astuces de la plateforme technologique : Web scraping, MSHE, Université Franche-Comté, 11 avril 2019.
    Lien
  • Ménage (Pauline), Altenbernd (John), Hemmer (Roland), Adoptez Visual Studio comme environnement de développement, Site OpenClassrooms, mis à jour le 21 février 2022, (présente la différence entre éditeur de texte, de code et IDE).
    Lien

XPATH – XML Path Language

Définition

Pour bien comprendre le XPath, il faut connaître les notions propres aux XML.
Originellement, XPath est un langage de requête maintenu par le W3C qui permet de localiser une partie d’un document XML. Il est aussi employé pour repérer des portions dans des documents structurés donc écrits dans des langages structurés comme les langages de balisage tels que le html (page web). Les balises contiennent des infos. Les balises ont un type et peuvent avoir un attribut et un contenu. Par exemple, on peut vouloir sélectionner le contenu de la balise ou bien son attribut.
Distinction entre le contenu et l’attribut :

  • contenu : ce qui est entre les deux balises :
    <p>contenu</p>
  • attribut : ce qui est contenu dans la balise :
    <a href="www.nomdunsiteweb.fr">contenu</a>

XPath permet de dire à quel endroit de la structure on souhaite se positionner.
Par exemple, il possible de sélectionner tous les liens hypertexte contenus dans la page web consultée.
XPath consiste à écrire en texte brut le chemin qui permet d’accéder et de sélectionner les éléments de la page web voulus.

Le chemin XPath, les noeuds et les relations

Le chemin XPath comprend les notions de racine, noeud et de relations entre noeuds qui appartiennent à l’organisation d’un document XML.
Un noeud peut être, entre autres, le document lui-même (noeud racine), un élément xml (ou balise html), un attribut xml, le contenu de l’élément (ou de la balise).
Les relations entre noeuds sont de différentes natures :

  • Relation parents : tous les éléments et tous les attributs ont un parent.
  • Relation enfant : un noeud peut avoir un nombre illimité d’enfants.
  • Relation frère : deux noeuds ayant le même père sont frères.
  • Relation ancêtre : tous les ancêtres d’un noeud jusqu’au noeud racine qui est l’ancêtre de tous les noeuds du document.
  • Relation descendants : les fils et fils des fils. Tous les noeuds d’un document XML sont les descendants du noeud racine.

Les noeuds qui n’ont ni parents, ni enfant son dits “valeur atomique”.
Tous les noeuds sont structurés, ordonnées.
Avec XPath, plusieurs chemins mènent à un noeud :

  • le chemin le plus simple va de la racine au noeud ciblé en passant par tous les noeuds parents intermédiaires.
  • On peut aussi sauter un noeud.
  • Attention, un chemin peut aussi mener à plusieurs noeuds.

Comment écrire un chemin XPath ?

“Le premier concept est celui de noeud courant : c’est l’endroit d’où l’on part. En première lecture on peut imaginer qu’il s’agit de la racine du document, mais n’importe quel noeud peut jour ce rôle. À partir de là, on considère trois éléments :

  • un axe : la direction dans laquelle on se dirige à partir du noeud courant (vers le père, vers les fils, vers les frères de gauche, etc.) ;
  • un filtre : le type de noeuds qui nous intéresse dans l’axe choisi (des noeuds quelconques, des éléments quelconques ou un élément précis, des commentaires, etc.) ;
  • un prédicat optionnel : des conditions supplémentaires pour sélectionner des noeuds parmi ceux retenus par le filtre dans l’axe.
    Ils constituent à eux trois une étape et on les note axe::filtre[prédicat]. L’enchaînement de plusieurs étapes constitue une chemin XPath.”

(Source : Site de Fabien Torre, Cours sur les requêtes XPath)

Les principes de sélection

Il y trois grands principes de sélection :

  • le principe de sélection qui distingue l’enfant d’un noeud et son descendant.
  • enfant : on prend le noeud juste en dessous (/).
  • descendant : on prend le noeud à n’importe quel niveau inférieur de l’arborescence (//). Utile pour récupérer tous les liens indiqués sur une page web.
  • le principe de sélection qui est basé sur le contenu du texte ou de la balise, il est très important, très fréquent, notamment pour récupérer les noeuds qui correspondent à une condition et porte soit sur le texte (la balise), soit sur l’attribut de la balise.
  • Exemple : //div[@class="book"] = On sélectionne toutes les balises div dont l’attribut est “class” et dont le nom est “book”.
  • Autre exemple : //a[contains(text(),"anthropologie")] = on récupère tous les liens (a) qui contiennent le texte “anthropologie”.
  • le principe de sélection qui consiste à aller jusqu’à un noeud puis de monter ou de descendre, il est moins fréquent. Quand on est à un endroit, on peut spécifier si on veut monter ou descendre, prendre le frère ou le parent de tel ou tel noeud avec une série d’opérateurs qui permettent de sélectionner les infos qui nous intéressent.

En résumé : en XPath, il y a une série d’opérateurs important :

  • /= Enfant
  • // = Descendant
  • [] = Condition
  • @ = Attribut
  • contains()

Exemples de requêtes XPath :

  • /a = tous les liens hypertexte au niveau de la racine.
  • //a = tous les liens hypertexte de la page.
  • //div/a = tous les liens hypertexte immédiatement dans le div.
  • //div//a = tous les liens hypertexte n’importe où dans le div.
  • //a[contains(text(),'anthropologie')] = tous les liens hypertexte contenant ‘anthropologie’.

(Source : CSS CNRS – Sciences sociales computationnelles, Cours stratégies numériques en sciences sociales, partie 3 “Sélectionner des données avec XPath)

Outil et astuce

  • Utiliser l’inspecteur d’élément (clic droit sur la page web puis “inspecter” ) pour visualiser simultanément un endroit sur une page web en y passant la souris et son code html correspondant ce qui permet de voir entre quel type de balises il se situe.
  • Chropath : extension pour le navigateur Firefox qui aide à écrire les chemins XPath.

Sources et ressources

  • Blog de José Paumard, Une première requête Xpath, 2018.
    Lien
  • CSS CNRS – Sciences sociales computationnelles, Cours stratégies numériques en sciences sociales, partie 3 “Sélectionner des données avec XPath”.
    Lien
  • MDN web docs, Xpath, mis à jour le 28 mai 2022.
    Lien
  • Site de Fabien Torre, Cours sur les requêtes XPath, Université de Lille, mis à jour le 21 décembre 2021. Licence CC-BY-NC-NA.
    Lien
  • W3C Schools, XPath Tutorial.
    Lien

SELECTEURS CSS

Rappel

  • Le CSS est un langage employé pour mettre en forme la structure d’une page html.
    En général le CSS se trouve dans un fichier à part, relié au fichier html (le fichier CSS et les fichiers HTML sont dans un même dossier), ou dans le header du fichier html.
    Le CSS va cibler des éléments html pour les mettre en forme avec des sélecteurs.
  • La technique du scraping utilise des sélecteurs, notamment des sélecteurs CSS qui sont un pseudo méta-langage qui servent à cibler les éléments de la structure html pour en extraire du contenu.

Les sélecteurs CSS :

  • sélecteur de type : on reprend le nom de la balise html (body, h1, h2, h3, p, div, etc.).
  • Exemple :body {,
    pour mettre en forme ce qui est dans le body de la page html.
    On peut ajouter une couleur de fond, une taille de police, etc.
  • sélecteur d’attribut : dans le css, on le cible par le nom de la balise + entre crochet le nom de l’attribut :
  • Exemple a[href*="cnrs"],
    auquel on ajoute une mise en forme (couleur, police, fond, épaisseur de police).
  • sélecteur d’identifiant : dans le CSS on les cible par le dièse + nom de l’identifiant + {.
  • Exemple : #bonjour {,
    auquel on ajoute une mise en forme (couleur, police, fond).

Rappel : en html, un identifiant est un attribut que l’on applique à une balise. La valeur attribuée à un identifiant est unique par document.
Exemple : <image id="photodevacance1734.png">

  • sélecteur de classe : dans le css, on la cible par un point + nom de la classe + {.
  • Exemple : .paragraphe {,
    auquel on ajoute une mise en forme (couleur, police, fond, épaisseur de police).

Rappel : en html, une classe est un attribut que l’on applique à une balise. La valeur d’une classe peut être appliquée à plusieurs éléments de nature différente du documents.
Exemple : class=”red” peut être appliqué à une balise <p></p> et <h1></h1>.

Rappel : les attributs “id” et “class” sont surtout utilisés dans le html pour la mise en forme. Ils servent à appliquer des styles CSS aux éléments qui les contiennent. Ainsi, ils constituent des sélecteurs CSS particulièrement utiles.

  • sélecteurs combinés : assemblent plusieurs sélecteurs en une seule phrase. On combine plusieurs sélecteurs au sein d’un sélecteur.
    Combiner le sélecteur de la classe + le descendant direct de la classe s’écrit :
    .paragraphe > a {.

Sources & ressources

  • Site de Nicolas Aune, Apprendre html et CSS.
    Lien
  • ScrapyFly, billet de blog, Parsing HTML with CSS Selectors, 07 février 2022.
    Lien
  • Vergnaud (Frédéric), Extractify – un plugin Chrome d’extraction des données par son concepteur Frédéric Vergnaud, Tuto MATE-SHS, 14 décembre 2020.
    Lien
  • MDN Web docs, Sélecteurs CSS, mis à jour le 17 juin 2022.
    Lien
  • Site de Pierre Giraud, Les attributs HTML class et id et les sélecteurs CSS associés.
    Lien

EXPRESSIONS REGULIERES ou REGEX

Définition

Les expressions régulières ou expressions rationnelles ou RegEx sont un outil de type “rechercher et remplacer”.
Elles vont chercher un motif, une expression, dans le texte, et réaliser une opération sur ce motif.
Cette opération peut être : trouver le motif, le remplacer ou l’extraire.
C’est un outil très utile quand on travaille avec du texte notamment du texte non structuré.
C’est un outil utilisé très fréquemment en informatique.
En plus d’être un outil, RegEx c’est aussi un langage très puissant.

Qu’apportent-elles de plus que l’opération “ctrl+F” ou “cmd+F” ?

Elles permettent par exemple de trouver toutes les adresses mails ou encore toutes les URL dans un fichier texte comme un fichier html.
Elles permettent de trouver des occurences d’un terme ou d’une expressions à un endroit particulier de la phrase. Par exemple, trouver le mot “ciao” en début de phrase uniquement et non pas en fin de phrase.
Elles permettent aussi de calibrer le nombre de résultats qu’on veut extraire à partir d’une requête. Par exemple on peut extraire tous les “ciao” d’un texte ou seulement huit “ciao” ou huit “ciao” en début de phrase et huit “ciao” en fin de phrase.

Concrètement comment se présente une RegEX ?

C’est une chaîne de caractères.
Certains de ces caractères ont une fonction spécifique. L’ensemble de ces fonctions basées sur des caractères forment la syntaxe ou la grammaire des expressions régulières. Ainsi, il y a des règles à suivre pour rédiger une expression régulière qui soit correctement interprétée par un moteur.
Ce moteur peut avoir la forme d’une interface graphique ou celle d’une interface textuelle (éditeur de texte, IDE).

Quelques règles de syntaxe des RegEx

  • RegEx prend en compte la casse (majuscule ou minuscule).
    Si on écrit b, elle sélectionne tous les caractères “b” du fichier comme les “b” de Abou Dabi mais pas celui de Boston.
  • Si on écrit horticu, il sélectionne “horticulture”, “horticulteur” mais pas “horticole” car la lettre suivant le “c” n’est pas un u.
  • Si on écrit une date avec des tirets underscore comme 11_09_2001 il ne sélectionne PAS la date écrite avec des tirets “11-09-2001”.
  • L’ordre des caractères est pris en compte par les RegEx. Si on écrit 1981 il ne sélectionne pas “1891” car la place du 9 et du 8 est inversée.
  • Les RegEx peuvent intégrer des inconnues dans les opérations ce qui permet de généraliser une requête. Si on écrit p[a-z]rf, la RegEx peut sélectionner “parfum”, “parfait”, “perfuser” “perfide”. Autrement dit il retient toutes les chaînes de caractères qui comprennent un “p” minuscule suivi de n’importe quelle lettres suivie d’un “r” et d’un “f”.

Certaines règles de syntaxe permettent de généraliser davantage. Par exemple, si on écrit :

  • \d la RegEx sélectionne n’importe quel nombre.
  • \w la RegEx sélectionne n’importe quel mot, chiffre, ou _.
  • . la RegEx sélectionne n’importe quel caractère.

Certains caractères ou opérateurs permettent de localiser la requête au sein de la chaîne de caractère. Par exemple, si on écrit :

  • ^ la RegEx sélectionne le début de la ligne.
  • $ la RegEx sélectionne la fin de la ligne.
  • \b la RegEx sélectionne la fin d’un mot ou plus précisément, la frontière entre un caractère de type \w et un caractère appartenant à un autre type comme un espace.
  • Exemples :
  • ^Boston, la RegEx sélectionne “Boston, je rêve d’y aller.” mais pas “Je rêve d’aller à Boston”.
  • Boston$, la RegEx sélectionne “Je rêve d’aller à Boston.” mais pas “Boston, je rêve d’y aller”.
  • jardin\b : la RegEx sélectionne “jardin” mais pas “jardiner” ni “jardinier”.
  • \b\d : la RegEx sélectionne les chiffres en “début de mot”

Il existe aussi des quantificateurs qui précisent la quantité de ce qui les précède immédiatement :

  • a? signifie que ce qui précède (“a”) est présent zéro ou une fois. Cela équivaut à la question “Y a-t-il un “a” ?”.
  • a* signifie que ce qui précède (“a”) est présent zéro fois ou plus.
  • a+ signifie que ce qui précède (“a”) est présent une fois ou plusieurs fois.
  • a{3} signifie que ce qui précède (“a”) est présent 3 fois d’affilée.
  • ou encore : \d{4} = sélectionne n’importe quel suite de 4 chiffres minimum : “1968”, “12345” mais pas “123”.
  • a{2,} signifie que ce qui précède (“a”) est présent 2 fois ou plus.
  • a{2,5} signifie que ce qui précède (“a”) est présent entre 2 et 5 fois (aa, aaa, aaaa, aaaaa mais pas a ni aaaaaa).

Attention, parfois le langage RegEx et le langage naturel se confondent notamment avec des caractères tels que : ., +, *, \, [], ?. Donc pour spécifier qu’on veut mettre des caractères en langage naturel on utilise \. Cela s’appelle “échapper un caractère”.

Un outil

Regex101 : site où tester ses expressions régulières.

Sources & ressources :

  • Perret (Arthur), Cours sur les expressions régulières, mis à jour le 29 mars 2022.
    Lien
  • Davechild, Regular Expressions Cheat Sheet : un tableau récapitulatif des éléments RegEx et de leur signification.
    Lien
  • Regular expressions info : site de formation aux expressions régulières.
    Lien
  • RexEgg : site de formation aux expressions régulières.
    Lien

PARSER ou ANALYSEUR SYNTAXIQUE

Le parser sert à exploiter du texte brut. C’est un outil permettant de mettre en évidence, de dégager une structure à partir d’un texte brut pour, ensuite, extraire les données voulues rapidement. La structure dégagée peut être tabulaire (CSV) ou arborescente (XML, HTML).

Sources & ressources

  • CSS CNRS – Sciences sociales computationnelles, Cours stratégies numériques en sciences sociales, partie 2 “Ecrire et surtout lire le web”.
    Lien

API : Application Protocol Interface

Définition

Aujourd’hui, il y a une tendance à utiliser le terme API pour désigner un web service. Le web service est un type d’API, plus précisément une API disponible depuis une URL.
Définition d’Emmanuelle Bermès, Le web sémantique en bibliothèque, p. 35 :

“Les API sont des interfaces permettant à des applications de communiquer entre elles : une API fournit une façade formalisée par laquelle un logiciel offre des services à d’autres logiciels (récupération de données ou autres interactions). On parle aussi de Web service pour désigner des API qui utilisent les technologies du web. La plupart des sites du Web 2.0 (Amazon, Twitter, Facebook,…) offrent des API qui permettent à d’autres sites ou services en ligne de réutiliser le contenu qu’ils produisent (il est ainsi possible, par exemple, de récupérer directement et automatiquement sur son compte Facebook les tweets de son compte Twitter). La plupart de ces API sont propriétaires, c’est-à-dire que les interactions possibles dépendent du bon vouloir du fournisseur.”

Autrement dit :

Un producteur de données se sert d’une API (ou Web service) pour exposer ses données.
L’utilisateur de données se sert de l’API pour récupérer des données notamment via des URLs. Le système des API est très répandu, il sert à interroger des bases de données et à renvoyer des résultats à l’utilisateur.
Par exemple, une application météo sur un smartphone utilise une API qui va se connecter à une base de données où se trouvent les informations météorologiques pour les récupérer et les afficher elle-même. Les données récupérées via une API sont souvent destinées à être traitées par un autre programme informatique (et non pas directement par l’humain). Le fichier récupéré est donc peu lisible.
Les API sont toujours accompagnées d’une documentation qui donne des explications sur la manière de récupérer et traiter les données. Pour utiliser une API il est crucial de lire la documentation.

Concrètement, une API de type web service est une URL avec en fin d’URL un paramétrage pour filtrer les données. Ce paramétrage est propre à chaque producteur d’API.

API = URL + paramétrage

Différents types d’API

Il existe plusieurs types d’API. Il existe des API privées et des API publiques.
L’API privée ne peut être utilisée qu’en interne.
L’API publique est accessible à tous, elle autorise des tiers à développer des applications qui interagissent avec elle.
Dans l’univers des API web, il existe les API REST, basées sur le protocole HTTP, les API GraphQL, les API SOAP.

Quelle est la différence entre API et Web scraping ?

Les API permettent de récupérer des données brutes, sans la mise en page du html qu’on a avec le web scraping.

(Source : Pressac (Jean-Baptiste), Introduction au web scraping avec Scrapy, tuto MATE-SHS, 24 mai 2018)

Quelques outils

  • Rapid API : site web qui tente de recenser toutes les API existantes et gratuitement accessibles.
  • Postman, logiciel gratuit pour formuler des requêtes à envoyer à une API et structurer les résultats de requête renvoyés par l’API.

Sources & ressources

  • Bermès (Emmanuelle), Le web sémantique en bibliothèque, Paris, Editions du Cercle de la Librairie, 2013, p. 35.
  • Site La Capsule.
    Lien
  • Geoffroy (Géraldine), Cours M2 Monde du monde du document, Université Cote d’Azur, 2021-2022.
  • Pedro (Kassandre), Schiller (Raye), Utilisez Postman pour formuler vos requêtes, Site OpenClassrooms, mis à jour le 31-03-2022.
    Lien
  • Pressac (Jean-Baptiste), Introduction au web scraping avec Scrapy, tuto MATE-SHS, 24 mai 2018.
    Lien
  • Bertrand, C’est quoi une API REST ? S’initier aux API avec Postman, 23 mars 2020.
    Lien

CAHIER DE LABORATOIRE ELECTRONIQUE

Il s’agit d’un outil de planification de la recherche, de collecte des données, de traitement et d’analyse des données produites par le chercheur. Il permet d’enregistrer et de répertorier les données produites en vue de leur réutilisation.
Dans sa version numérique, le cahier de laboratoire facilite :

  • le partage d’information avec le rattachement de données brutes,
  • la recherche d’information et de données,
  • la datation grâce à l’horodatage,
  • le travail collaboratif

Il concerne essentiellement les disciplines qui produisent des données en laboratoires. A priori, on pense davantage à un usage pour les sciences techniques et médicales.

Sources & ressources

  • Groupe de travail Atelier Données, Guide de bonnes pratiques sur la gestion des données de la recherche, 8 décembre 2021.
    Lien
  • Groupe de travail sur les cahiers de laboratoires électroniques, Rapport, Septembre 2021.
    Lien

CARNET DE TERRAIN ELECTRONIQUE

Définition

Il peut intéresser les chercheurs de plusieurs disciplines qui collectent des données sur un terrain : sociologues, anthropologues, ethnologues, archéologues.
Le carnet de terrain électronique permet la prise de note, la prise de son, la photographie. Il améliore la qualité des données collectées, permet de les utiliser plus rapidement puisque le temps de ressaisie est annulé.
D’un point de vue technologique, plusieurs techniques existent pour mettre en oeuvre et développer des carnets de terrain :

  • utilisation d’une application nomade à télécharger
  • utilisation d’une application web
  • développement d’une application spécifique avec un langage de programmation
  • développement d’une application grâce à une boîte à outils de création de carnet de terrain
  • développement d’une application en adaptant des logiciels existants.

(Source : Atelier données, Guide de Bonnes Pratiques sur la gestion des données de la Recherche, 08 décembre 2021)

Outils

  • KoBotoolbox :
    Outils de collecte de données (mais aussi d’analyse et de gestion).
    Il peut être utilisé en ligne et hors ligne, sur des smartphone, tablette.
    Mais, pour les chercheurs, la capacité de stockage est limitée à 5 Go par mois.
    Outil originellement créé pour la collecte de données en contexte humanitaire.
  • ODK :
    Logiciel Open Source payant de collecte de données mobile. Il fonctionne hors ligne, il permet de créer des formulaire, et une fois les données collectées, il est possible de les analyser en téléchargeant les données ou en connectant des applications d’analyse comme R.
    Autre accès.
  • ODK Collect :
    Application Android de collecte de données à télécharger sur un smartphone.
  • GeoPoppy :
    Outil Open Source permettant la collecte et la consultation de données géolocalisées.

Sources & ressources

  • CNRS-Inist, LaLIST, La veille pour vos informations scientifiques, techniques et stratégiques, Carnet de terrain électronique, Outils nomades.
    Lien
  • Groupe de travail Atelier Données, Guide de bonnes pratiques sur la gestion des données de la recherche, 8 décembre 2021.
    Lien
  • Onésime, Wiki Carnet de terrain électronique. Site d’information pour faciliter la saisie d’observations terrain, en milieu naturel, mis à jour 3 juin 2020.
    Lien
  • Réseau bases de données, Atelier “Carnets de terrain électroniques”, CNRS, 13 avil 2018.
    Lien

ORGANISATION DES DONNÉES COLLECTÉES

LE NOMMAGE DES FICHIERS

Les règles de nommage

  • Un nom court et explicite qui reflète le contenu du fichier. Exemple : Règles_nommage.pdf.
  • Certains systèmes techniques autorisent un nombre limité de caractères.
    Au-delà, des problèmes d’accès, de troncage, de restauration peuvent survenir. Par exemple, Windows limite le chemin d’accès à 256 caractères (nom des dossiers + noms des sous-dossiers à parcourir pour accéder au fichier + nom du fichier).
  • Pour raccourcir le nom du fichier, supprimer les mots vides : “le”, “un”, “et”, “ou”, etc., et utiliser abréviation, acronyme, nom de projet.
  • Éviter les espaces et les séparateurs
    : deux-points
    / ou \ barre oblique
    car certains systèmes d’exploitation reconnaissent ces caractères comme des séparateurs de répertoire.
    Donc, remplacer par un tiret – ou un underscore _ ou des majuscules à chaque initiale
  • Éviter les signes de ponctuation, parenthèses, guillemets, crochets
    () {} <> [] |. , ; ! ? ” ‘ *
    car ces caractères sont souvent employés dans les langages de programmation et de script.
    Donc, privilégier les caractères alphanumériques uniquement.
  • Éviter les signes diacritiques :
    à â é è ê ë î ï ô ö ù û ü ç
  • Éviter les caractères spéciaux du type : $ £ ¥ @ © ™,
    car en cas de partage de fichiers, les signes diacritiques peuvent ne pas être reconnus par certains systèmes d’encodage comme l’ASCII. Avec les caractères spéciaux, il peut y avoir des problèmes en cas d’export du fichier dans un autre format.
    Donc, privilégier les caractères alphanumériques uniquement.
  • Date et numérotation. Privilégier la date au format AAAA_MM_JJ ou AAAAMMJJ qui permet de présenter les fichiers dans l’ordre chronologique si la date est indiquée au début du nom des fichiers.
    Pour numéroter les fichiers, utiliser le même nombre de chiffres : 01, 02,… 99 plutôt que 1, 2,… 99. Ainsi, ils s’affichent dans le bon ordre séquentiel.
  • Placer l’élément le plus important en premier.
    Pour les fichiers en cours d’élaboration indiquer la version dans le nom. V01, V02 ou encore VP pour version provisoire, VF pour version finale.
  • Créer un plan de nommage qui recense et explique les règles choisies. Ce plan peut contenir une liste des abréviations à utiliser. Cette liste peut aussi figurer dans un document à part.

Pourquoi ces règles ?

  • Pour faciliter la recherche des fichiers.
  • Pour garantir l’accessibilité des fichiers.
  • Pour faciliter le partage et le travail en équipe.
  • Pour éviter les problèmes techniques entre systèmes d’exploitation.
  • Pour assurer une bonne gestion en prévision de l’archivage.

Sources & ressources

  • Urfist Méditerrannée, Comment bien nommer ses fichiers ?, DoRANum, mis à jour le 12 octobre 2018.
    Lien
  • Archives départementales du Tarn, Règles de nommage des fichiers, 2017.
    Lien
  • Service informatique de HES-SO Fribourg, Règles de nommage des noms de fichiers ou de dossiers.
    Lien
  • Université de Lausanne, Règles de nommage des fichiers et dossiers, 2019. Ce document donne des noms de logiciels pour renommer des fichiers par lot.
    Lien

OÙ VONT LES DONNÉES COLLECTÉES : LE STOCKAGE

Cela peut dépendre de qui effectue la collecte et qui travaille sur le projet de recherche, si on travaille seul ou en équipe.
Selon les cas, le matériel de stockage peut être personnel : ordinateur, disque dur externe, clé USB, espace personnel sur le cloud.
Le matériel de stockage peut aussi être partagé et/ou collaboratif : serveur institutionnel, espace partagé sur le cloud, espace Huma-Num, ordinateur du laboratoire de recherche.
Le lieu de stockage peut dépendre de l’usage futur des données :

  • sauvegarde uniquement,
  • traitement et analyse
  • publication.

Le stockage des données dépendra également de la puissance du matériel informatique à disposition du chercheur. Parallèlement, il faut penser à anticiper le poids des fichiers de données de façon à choisir le lieu de stockage le plus adéquat. Un vieil ordinateur personnel dont la mémoire est presque pleine n’est peut-être pas l’endroit le plus indiqué pour stocker et sauvegarder ses données.

SAUVEGARDE 3-2-1

Penser à sauvegarder les données en plusieurs endroits.
La technique de la sauvegarde 3-2-1 préconise :

  • de faire 3 copies de ses données
  • de les sauvegarder sur 2 supports différents (ordinateur, clé USB, disque dur externe, cloud)
  • de mettre 1 copie à distance, à un autre endroit physique.

Sources & ressources



Citer ce billet
Équipe EVEille (2023, 24 juin). Les méthodes de collecte des données. Eveille. Consulté le 20 avril 2024, à l’adresse https://doi.org/10.58079/omnk

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.