Session 02 : Différence entre versions

De Design numérique
Aller à : navigation, rechercher
(Bases de données relationnelles)
Ligne 5 : Ligne 5 :
 
Cette session porte sur la récupération, l'archivage, l'analyse de données numériques. Il s'agira pour chacun.e de développer une ou plusieurs méthodologie(s) permettant de mener un travail d'enquête et de mise(s) en forme(s) à partir d'un corpus choisi. Durant cette session, nous nous intéresserons à ce qui délimite un corpus, ce qui définit un spécimen, ce qui le transforme en document. Nous aborderons ensuite différents paradigmes de bases de données et les types de d'opérations (et les requêtes) possibles pour chacun d'eux. Enfin, il sera question d'accessibilité à la fois des documents et du processus de travail (quoi partager et comment?).
 
Cette session porte sur la récupération, l'archivage, l'analyse de données numériques. Il s'agira pour chacun.e de développer une ou plusieurs méthodologie(s) permettant de mener un travail d'enquête et de mise(s) en forme(s) à partir d'un corpus choisi. Durant cette session, nous nous intéresserons à ce qui délimite un corpus, ce qui définit un spécimen, ce qui le transforme en document. Nous aborderons ensuite différents paradigmes de bases de données et les types de d'opérations (et les requêtes) possibles pour chacun d'eux. Enfin, il sera question d'accessibilité à la fois des documents et du processus de travail (quoi partager et comment?).
  
==Bases de données relationnelles==
+
==Structures de données: intro==
 
Exemple de source: https://www.thispersondoesnotexist.com
 
Exemple de source: https://www.thispersondoesnotexist.com
 
Un script bash qui permet de télécharger les images de cette source:
 
Un script bash qui permet de télécharger les images de cette source:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
i=0; while true; do file=$(printf "%04d" $i); wget -O Documents/WORK/images/deepf$file.jpeg https://www.thispersondoesnotexist.com; i=$((i+1)); sleep 1; done;
+
i=0; while true; do file=$(printf "%04d" $i); wget -O Documents/WORK/images/deepf$file.jpeg https://www.thispersondoesnotexist.com; i=$((i+1)); sleep 1; done;
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Ligne 17 : Ligne 17 :
 
* Pour chaque champ, quels types de valeurs?
 
* Pour chaque champ, quels types de valeurs?
 
* Quelles relations entre les entités?
 
* Quelles relations entre les entités?
** Types de relations possibles: 1:1, 1:n, n:n
+
** Types de relations possibles: 1:1, 1:n, n:n
 
 
Avantage d
 
 
 
  
 +
===Stocker des données sans base de données===
 +
* Utiliser les noms de fichiers
 +
* Utiliser des formats de données type json ou xml
  
 +
===Les bases de données relationnelles===
 +
* Langage de requête: Pouvoir écrire le ''quoi'' sans spécifier le ''comment''
 +
* SQL avec mySQL, MariaDB, PostgreSQL
 +
* Des tables qui contiennent des enregistrements
  
===Stocker des données sans base de données===
+
===Les bases de données noSQL (orientées documents)===
De
+
* Une structure (champs) qui n'est pas prédéfinie, une base de données qui peut être distribuée
 +
* javascript avec MongoDB
 +
* Des collections qui contiennent des documents
  
 
==Étapes du projet==
 
==Étapes du projet==

Version du 19 février 2019 à 13:22

Session #02: bases de données

20141104-bastashevski-nothing personal.jpg

Introduction

Cette session porte sur la récupération, l'archivage, l'analyse de données numériques. Il s'agira pour chacun.e de développer une ou plusieurs méthodologie(s) permettant de mener un travail d'enquête et de mise(s) en forme(s) à partir d'un corpus choisi. Durant cette session, nous nous intéresserons à ce qui délimite un corpus, ce qui définit un spécimen, ce qui le transforme en document. Nous aborderons ensuite différents paradigmes de bases de données et les types de d'opérations (et les requêtes) possibles pour chacun d'eux. Enfin, il sera question d'accessibilité à la fois des documents et du processus de travail (quoi partager et comment?).

Structures de données: intro

Exemple de source: https://www.thispersondoesnotexist.com Un script bash qui permet de télécharger les images de cette source:

i=0; while true; do file=$(printf "%04d" $i); wget -O Documents/WORK/images/deepf$file.jpeg https://www.thispersondoesnotexist.com; i=$((i+1)); sleep 1; done;

Pour définir une structure de données:

  • Quelles entités?
  • Quels champs?
  • Pour chaque champ, quels types de valeurs?
  • Quelles relations entre les entités?
    • Types de relations possibles: 1:1, 1:n, n:n

Stocker des données sans base de données

  • Utiliser les noms de fichiers
  • Utiliser des formats de données type json ou xml

Les bases de données relationnelles

  • Langage de requête: Pouvoir écrire le quoi sans spécifier le comment
  • SQL avec mySQL, MariaDB, PostgreSQL
  • Des tables qui contiennent des enregistrements

Les bases de données noSQL (orientées documents)

  • Une structure (champs) qui n'est pas prédéfinie, une base de données qui peut être distribuée
  • javascript avec MongoDB
  • Des collections qui contiennent des documents

Étapes du projet

  1. choisir une source de données numériques.
    1. les données peuvent être de n'importe quel type de média (texte, vidéo, image, son)
    2. types de sources possibles: un site web / un blog / un journal en ligne / un catalogue / une base de données de textes / de vidéos / de sons, etc.
    3. exemples: http://wikileaks.org, https://www.gutenberg.org/, https://freesound.org/, http://youtube.com, http://maps.google.com, http://patents.google.com
  2. définir un corpus. Il s'agit d'appliquer des limites à la source choisie pour ne s'intéresser qu'à une partie des données diffusées.
    1. types de limites: temporelles, géographiques, thématiques, liées à un groupe, liées à une personne, liées à un type de média, etc.
    2. exemples: une fuite de wikileaks, une rubrique d'un site, un auteur sur le projet Gutenberg, une recherche Youtube, le rayoon d'une bibliothèque etc.
  3. extraire des spécimens. Il s'agit d'extraire du corpus une sélection limitée d'éléments, donc de définir les limites propres à ces éléments, avant de les analyser.
    1. exemples: un post, une image, une frame de vidéo, une séquence sonore, un paragraphe, une fiche, etc.
    2. des spécimens de types différents peuvent être extraits du même corpus
  4. pour chaque spécimen, créer une fiche descriptive. Quelles propriétés des spécimens peuvent être intéressantes?
    1. exemples: dates, occurrences de mots, couleur, dimensions, fréquence sonore, position d'un objet dans une image, etc.
  5. choisir un type de base de données et définir une structure permettant d'encoder les fiches définies à l'étape précédente
    1. exemples: tableur, base de données mysql, dossier contenant des fichiers
    2. cela implique de créer une schéma de la base de données (type de relations, type de requêtes) signifiant sa structure (et donc sa cohérence et sa faisabilité, son niveau de complexité).
  6. définir une méthode d'encodage des spécimens dans la base de données
    1. soit automatiquement soit manuellement soit un mélange des deux
    2. définir la fréquence, la vitesse, les étapes propres à l'encodage
  7. encoder tout ou une partie du corpus
  8. expérimenter des requêtes à envoyer à la base de données
    1. exemples: sélectionner tous les chapitres qui contiennent le mot "guerre", sélectionner tous les auteurs qui ont répondu par un smiley à un message, sélectionner tous les éléments ordonnés selon un certain champs, etc.

Et tout le long: comment rendre accessible chaque étape du projet? Quelle mise en forme, quel accès?

Les projets

Charlotte Ecker - INES

Simon Bouvier -

Jade Rouanet

Laura Conant

À voir, à lire

https://www.maribastashevski.com/nothing-personal-extract

https://mishkahenner.com/Dutch-Landscapes

http://elahi.umd.edu/track/

https://cloud.editionsdevisscher.be/apps/gallery/s/ke4D8S6r8AysJLJ

Les bibliothèques de l'ombre: alexiadevisscher.be/piratelibraries.html

La Trilogie d’On Kawara se compose d’I GOT UP, I WENT et I MET, 36 volumes (13690 pages au total) permettant des croisements d'informations: https://www.youtube.com/watch?v=YxOynktWnMw

De 1993 à 2015, la Néerlandaise Dana Lixenberg a photographié les habitants d’Imperial Courts, qui fut l’épicentre des émeutes de 1991. 3 types d'infos (noms, années de prises de vue et liens de parenté) permettent de multiples navigations au sein du site Web et du livre qui documentent ce projet.