Découverte de CRBC Dataset (1)

Depuis le 16 avril 2020, une sélection de données produites sous la direction de chercheurs du Centre de recherche bretonne et celtique (CRBC) sont mises à la disposition de tous sur la nouvelle plateforme de données, CRBC Dataset.

Au 26 mai 2020, deux jeux de données sont disponibles selon la Licence Ouverte version 2.0 d’Etalab : Une première extraction d’une base de données des forçats du bagne de Brest et la base de données PRELIB (Projet de recherche en littérature de langue bretonne).

Découvrons dans ce premier billet le jeu de données des registres du bagne de Brest.

Les 988 premiers forçats arrivés au bagne de Brest, en mai 1749

La base de données des forçats du bagne de Brest est un projet de l’historien Philippe Jarnoux1. Elle est constituée à partir des registres conservés à la Division Nord-Ouest du Service historique de la Défense2.

Cette première mise en ligne de la base sur CRBC Dataset concerne les 988 forçats arrivés à l’ouverture du bagne, en mai 1749. Les données suivantes (actuellement sous la forme d’un fichier Microsoft Excel) seront mises en ligne progressivement. En attendant, vous pouvez consulter l’intégralité des registres de matricules des bagnards emprisonnés au bagne de Brest de son ouverture en 1749 à sa fermeture en 1858 sur la bibliothèque numérique du CRBC3.

Que contient ce jeu de données ?

Au 26 mai 2020, donc, le jeu de données des bagnards est un tableau de 95 colonnes et 988 lignes dans lequel chaque ligne correspond à une entrée du registre 2 O 7, comme indiqué dans la colonne « Registre ».

Par exemple, la toute première ligne correspond au matricule de Jean Gatté, que l’on peut trouver dans les premières pages du registre 2 O 7.

Enregistrement de Jean Gatté au bagne de Brest
Matricule du bagnard Jean Gatté dans le registre 2 O 7 du bagne de Brest

Un bagnard ayant pu s’évader puis être repris, il pourra apparaitre plusieurs fois dans le jeu de données complet (de 1749 à la fermeture du bagne en 1858).

Les informations saisies ont été commentées colonne par colonne par Philippe Jarnoux. Vous y trouvez par exemple la raison pour laquelle les numéros de matricules attribués à chaque condamné à son arrivée ne se suivent pas forcément ou pourquoi un bagnard a pu avoir plusieurs  numéros de matricules durant son séjour au bagne.

Pour les informations recodées, telles que la situation familiale, le code a été explicité (c = célibataire, m = marié , v = veuf).

Rechercher un bagnard par son nom

Le formulaire « Search » affiché au dessus du tableau permet de rechercher les bagnards par leur nom ou celui de leurs parents. Par exemple, la recherche sur « pierre audié » ou « Pierre Audié » ou « audie » affiche la ligne correspondant à Pierre Audié, n° de matricule 340, condamné à vie pour désertion le 3 aout 1723.

Recherche de Pierre Audié
Recherche de Pierre Audié

Filtres multicritères, les forgerons ayant commis des vols

Sous le moteur de recherche par nom de bagnards, un formulaire permet de filtrer les colonnes selon le critère de votre choix.

Par exemple pour trouver les forçats ayant exercé le métier de forgeron condamnés pour vol, vous pouvez chercher la chaine de caractère « forge » dans la colonne « Métier » et « vol » dans la colonne « crime ».

On obtient trois forçats : Pierre Guinet (originaire de Barjac), François Matthieu (originaire de Fréjus) et Antoine Salarvrier (originaire de Aumignac).

Les forgerons ayant commis des vols
Les forgerons ayant commis des vols

Le critère utilisé est « contains » au lieu de « = » auquel cas, vous n’obtiendrez que les lignes pour lesquelles la valeur saisie correspond exactement au critère. Or le mot « vol » est contenu dans des mentions telles que « les cas résultant du procès et suivant le rôle du Procureur Général pour vol » pour Antoine Salarvrier. De même si nous avions lancé une recherche selon le critère « = forgeron » au lieu de  » contains forge », nous n’aurions pas trouvé François Matthieu dont le métier a été saisi dans le registre comme « maréchal à forge ».

Les critères supérieur >, inférieur <, supérieur ou égal à ⩾, inférieur ou égal à ⩽ permettent de filtrer les données numériques. Par exemple le filtre « > 1789 » appliqué à la colonne « année_mort » permet l’affichage des bagnards décédés après la Révolution.

Bagnards décédés après la Révolution
Bagnards décédés après la Révolution

Les lieux

La plateforme permet d’afficher des cartes si le jeu de données contient des latitudes et des longitudes4 mais les noms des communes d’origine ou de résidence des bagnards étant parfois difficiles à identifier, cette information ne figure pas dans les données.

Portraits robots

L’appareil photographique n’existant pas encore, les registres contiennent des informations sur  des signes distinctifs permettant de dresser le portrait-robot du bagnard en cas d’évasion, en particulier dans les colonnes « cicatrice », « lieu_cicatrice » et « signes_particuliers » : cicatrices, couleur des sourcils, des cheveux, de la barbe, tâches de rousseur, verrues, infirmités…

Trier le contenu des colonnes

Pour trier le contenu des colonnes, cliquez sur leur titre.

Explorer, trier les données des colonnes avec les facettes

Pour visualiser toutes les informations saisies dans une colonne et leurs nombres d’occurrences, vous pouvez utiliser les facettes dont vous trouverez des suggestions au dessus des titres de colonnes.

Les suggestions de facettes
Les suggestions de facettes

Si vous cliquez par exemple sur la facette Prénom_2, la liste de tous les deuxièmes prénoms et de leur nombre d’occurrences est affichée.

Facette de la colonne Prénom_2
Facette de la colonne Prénom_2

Ce qui permet de constater que sur les 988 bagnards arrivés en mai 1749, 32 ont pour deuxième prénom « François ». Cliquer sur le prénom, affiche toutes les lignes correspondantes du tableau.

Les facettes sont cumulables. En cliquant sur la facette « situation-famille », puis sur le prénom François, vous obtenez parmi les 32 personnes ayant pour deuxième prénom François : 16 célibataires, 8 mariés et 8 pour lesquels l’information ne figure pas dans le registre.

Facette de la situation familiale des individus ayant pour deuxième prénom "François"
Facette de la situation familiale des individus ayant pour deuxième prénom « François »

Étant donné que le tableau comprend 95 colonnes, les 95 facettes correspondantes ne sont pas suggérées. Mais vous pouvez modifier l’URL (l’adresse web) qui s’affiche dans la barre d’adresse de votre navigateur pour afficher une facette absente des suggestions.  Par exemple, pour afficher la facette de la colonne « signes_particuliers », il faut modifier l’URL comme suit : http://crbc-dataset.huma-num.fr/bagnards/matricules?_facet=signes_particuliers. Pour rajouter une deuxième facette, il faut la séparer de la première par un & : http://crbc-dataset.huma-num.fr/bagnards/matricules?_facet=signes_particuliers&_facet=Emplacement_cicatrice.

Notez que ces paramètres d’URL, comme on les appelle, sont automatiquement renseignés lorsque vous modifiez l’affichage de la page en faisant une recherche, en cliquant sur une facette suggérée, en triant les colonnes, etc.

Les filtres et les facettes peuvent être cumulés. Afficher la facette de l’année de décès permet d’afficher les années de décès des bagnards décédés après la Révolution.

Années de décès des bagnards morts après la Révolution
Années de décès des bagnards morts après la Révolution

Graphiques

Sous les suggestions de facettes, le bouton « Show charting options » permet de choisir deux colonnes pour l’affichage d’un graphique. Vous avez le choix entre des diagrammes à barres (Bar), des lignes (Line) ou des nuages de points (Scatter).

Vos choix sont conservés dans nos fameux paramètres d’URL, ce qui vous permet de communiquer vos réglages à d’autres personnes. Par exemple en suivant ce lien vous pouvez consulter le nuage de points des prénoms en fonction du lieu d’origine.

Diagramme den barres des prénoms en fonction de la commune d'origine
Nuage de points des prénoms en fonction de la commune d’origine

Le bouton « Swap W and Y », sous le choix « Y column », permet d’inverser l’axe des abscisses avec celui des ordonnées.

« Color » permet de coloriser les barres, les lignes ou les points en fonction d’une colonne et « Size » d’afficher le diamètre des points d’un nuage de points en fonction d’une colonne contenant une valeur numérique. Ce qui permet, à titre d’exemple, de coloriser les points du graphique des prénoms avec le pays d’origine et d’afficher leur taille en fonction de l’âge du bagnard (voir le résultat sur CRBC Dataset).

Nuage de points des prénoms en fonction de la commune d'origine
Nuage de points des prénoms en fonction de la commune d’origine avec la couleur des points en fonction du pays d’origine et le diamètre des points en fonction de l’âge

La palette de couleurs étant limitée, il ne vaut mieux pas choisir une colonne avec un nombre élevé d’occurrences.

Pour enregistrer le graphique sous forme de fichier SVG (image vectorielle) ou PNG (image matricielle), déplacez votre souris en haut à droite du graphique pour faire apparaitre le menu correspondant.

Sauvegarder le graphique au format PNG ou SVG
Sauvegarder le graphique au format PNG ou SVG

Vous avez bien entendu la possibilité de représenter graphiquement le résultat d’un filtre multicritère ou d’une recherche.

Télécharger les données

Vous pouvez télécharger l’intégralité des données ou le résultat de vos filtrages ou de vos recherches en utilisant la fonction « This data as json, CSV » affiché au dessus des facettes.

Exporter les données
Exporter les données

Deux formats possibles : le CSV (comma-separated values), qui peut être exploité avec Microsoft Excel ou LibreOffice Calc ou le format JSON, qui conviendra plus à des informaticiens.

 

  1. https://www.univ-brest.fr/crbc/menu/Lab-members/Enseignants-chercheurs/Philippe_Jarnoux []
  2. Division Nord-Ouest du Service historique de la Défense – 4, rue du Commandant Malbert 29240 Brest []
  3. Les registres cotés de 2 O 1 à 2 O 39 ont été numérisés par la Division Nord-Ouest du Service historique de la Défense de 2015 à 2016 puis mis en ligne sur la bibliothèque numérique du CRBC. []
  4. L’affichage des cartes sera abordée dans un prochain billet sur le jeu de données du projet de recherche en littérature de langue bretonne []

Un clavier phonétique pour transcrire les parlers bretons

Présentation

Comment décrire les sons produits par l’homme ? À la manière du solfège pour décrire la musique, il existe un alphabet pour transcrire les sons produits par les humains lorsqu’ils parlent. Pour cela, on fait appel à un mode de transcription uniforme et identique pour toute les langues du monde.

C’est ce que propose depuis la fin du XIXème siècle, l’Association de Phonétique Internationale en mettant régulièrement à jour un Alphabet Phonétique International (API). Cet alphabet propose de séparer les sons en phonèmes, des segments phoniques qui ensemble produisent du sens. Outre les consonnes et les voyelles, l’alphabet prévoit des signes diacritiques pour montrer qu’une voyelle se nasalise comme dans « maman » /mamã/. On trouvera également des signes suprasegmentaux qui indiquent la position de l’accent, sa qualité, la longueur des voyelles et les pauses.

Tous les sons ne sont pas utilisés par tout le monde. Par exemple, les bretonnants n’utilisent pas les clics bilabiaux, que l’on retrouve uniquement dans certaines langues d’Afrique australe. On trouvera par contre des sons étrangers aux zones dialectales environnantes comme le [x], la consonne vélaire fricative sourde, que l’on entendra dans ar c’hi-dour /ar xi ˈduːr/ « la loutre ». Les parlers bretons varient suivant les localités ce qui pousse les linguistes les étudier sur des cartes. Ils observent les variations phonologiques dans l’espace et tentent de les comprendre. On parle alors de variation diatopique. La variation linguistique peut aussi s’étudier d’un point de vue sociologique, c’est-à-dire que l’on considère la variation suivant des critères sociaux (les jeunes, les vieux, les médecins, les forgerons, les curés). On parle alors de variation diastratique, qui varie selon la classe ou du groupe social. Un autre type de variation concerne le temps, c’est la variation diachronique. Certains sons étaient utilisés mais ne le sont plus actuellement.

Pour conserver la trace d’une manière de parler, pour la décrire et la comparer, on peut utiliser un alphabet phonétique. Néanmoins, ce travail devient assez fastidieux lorsqu’on le réalise sur un ordinateur. Il faut souvent faire appel aux caractères spéciaux qui sont difficilement identifiables dans une liste proposée par des logiciels de traitement de texte. Pour se faciliter la tache, il faut donc obtenir un clavier spécifique à la transcription en API, et c’est ce que nous proposons ici. Un clavier, adapté au breton, inspiré du clavier phonétique Unicode développé par l’UMR 7320 : Base, Corpus, Langage pour l’aire romane.

Il ne s’agit pas d’un clavier numérique que l’on utilise en cliquant sur des caractères proposés à l’écran mais une modification de la réponse du clavier physique de l’ordinateur. Cette modification permet de transcrire en API en tapant sur le clavier.

Procédure d’installation (10 étapes)

Sous Windows

  1. La première étape consiste à télécharger Microsoft Keyboard Layout Creator, ce logiciel permet de modifier le clavier de l’ordinateur sous Windows et de l’adapter en fonction des besoins. Pour l’installer suivez ce lien. Il vous amène sur la page de téléchargement du logiciel. Cliquez ensuite sur l’encadré Download en rouge.
  2. Si le logiciel ne s’ouvre pas directement, dans vos téléchargements, lancez le fichier MKLC.exe. Suivez ensuite la procédure d’installation du logiciel.
  3. Téléchargez ensuite le fichier clavier breton apibre ici et enregistrez le dans un dossier intitulé « Clavier phonétique ». Il faut extraire le fichier du dossier compressé et cliquer dessus pour le lire. Le logiciel va afficher un clavier virtuel phonétique adapté au breton. Les commandes sur la gauche « shift states » vous permettent de visualiser les différents modes : NORMAL / MAJUSCULE (shift) / ALT+CTRL / CTRL.
  4. Ensuite, toujours sur cette page, allez dans ProjectProperties ≥ Sélectionnez French (Français)OK.
  5. Sélectionnez un endroit ou vous allez enregistrer le clavier phonétique en breton en cliquant sur l’icône avez trois petits points. Par exemple, dans un dossier appelé « Clavier phonétique ».
  6. Ensuite, retournez dans ProjectBuild DDL and Setup Package. Cette étape crée automatiquement un dossier pour le clavier phonétique dans le dossier que vous avez indiqué.
  7. Allez dans ce dossier et cliquez sur le fichier setup.exe (il est possible que l’extension ne soit pas affichée, alors cliquez sur le seul fichier qui s’appelle « setup ».
  8. Le clavier est maintenant installé sur l’ordinateur. Vous devez néanmoins redémarrer votre appareil pour qu’il fasse les mises à
    jour. Une fois votre ordinateur redémarré, ouvrez un fichier texte (Word ou LibreOffice par exemple).
  9. Sélectionnez le clavier phonétique en bas à droite de votre écran.
  10. Vous pouvez maintenant utiliser le clavier phonétique et retourner  quand vous voulez au mode normal en sélectionnant le clavier FRA FR.

REMARQUE : Il faut utiliser ce clavier avec une police dite unicode, c’est-à-dire une police qui permet l’affichage de l’ensemble des caractères. Doulos SIL est une police unicode gratuite et spécifique à la saisie en phonétique. 

Questions

Comment utiliser le clavier phonétique ?

La touche o donne un [o] mais si vous faite o + majuscule, vous obtenez [ɔ].
e donne un [e] mais si vous faite e + majuscule, vous obtenez [ɛ]. i ≥ ɪ ; a ≥ ɑ ; y≥ ɯ. Voici se que produisent la position en majuscule de chaque touche du clavier ordinaire :

a-ɑ z-ʒ e-ɛ r-ʀ t-θ y-ɯ u-ʊ i-ɪ o-ɔ p-ɸ ø-oe
q-ʔ s-ʃ d-ð f-ɹ ɡ-ɣ h-ɦ j-ɟ k-χ l-ʎ m-ɱ ŋ-ɳ
w-ɥ x-χ c-ç v-ʌ b-β n-ɲ

Pour simplifier les choses les deux points : indiquent maintenant la longueur des voyelles [ː] et l’apostrophe indique l’accent tonique noté [ˈ].

Pour la nasalisation ex : õ on utilise o + la touche du trait d’union / ã (a + touche du trait d’union).

Voici le résultat des touches du clavier en différentes positions 1. Normal 2. Majuscule 3. Atl gr.

1. Le clavier en position normale
2. Le clavier avec la touche majuscule (shift)
3. Le clavier avec la touche atl gr

Comment modifier le clavier phonétique breton pour ajouter / enlever des caractères ?

1. Ouvrez le fichier apibre.klc. Le logiciel Keyboard Layout Creator va s’ouvrir.
2. Cliquez sur la touche que vous voulez modifier et remplacez la en insérant un nouveau caractère à la place. Pour trouverez les différents caractères de l’Alphabet Phonétique International voir ici.
3. À la fin de la modification allez dans FileSave source file et réinstallez le clavier en allant dans le dossier « Clavier phonétique » ≥ setup.exe. Vous devrez certainement redémarrer l’ordinateur pour mettre à jour vos modifications.

Créer une carte avec Wikidata, OpenRefine et uMap

A l’occasion de la Méridienne du CRBC du 13 décembre 2018, une carte des communes de Bretagne liées aux cylindres phonographiques conservés au CRBC a été créée sur uMap.

Les données nécessaires à la carte ont été construites en alignant avec Wikidata les noms des communes saisies dans l’inventaire Excel de Blanca Pérez González, stagiaire à la bibliothèque Yves-Le-Gallo, puis en récupérant sur Wikidata leurs coordonnées géographiques. Pour cela nous avons utilisé le logiciel libre OpenRefine (version 3.1). Dans ce tutoriel, nous détaillons toutes les opérations à effectuer pour créer la carte à partir de l’inventaire. Nous avons délibérément utilisé une version de l’inventaire où subsistent quelques erreurs pour montrer les capacités de OpenRefine en matière de nettoyage des données.

Mais avant toute chose, qu’est ce que Wikidata ? Wikidata est un projet de base de connaissances libre lancé en 2012 par la Wikimedia Foundation, l’organisme qui héberge Wikipédia. Les informations saisies dans Wikidata sont des données « brutes ». C’est à dire que l’on y saisi non pas des phrases telle que « Quimperlé [kɛ̃pɛʁle] est une commune française, située dans le département du Finistère en région Bretagne.  »1 mais des déclarations ou statements.

On trouve par exemple sur la page Wikidata de la ville de Quimperlé, ou plus précisément sur la page de l’élément Wikidata correspondant à Quimperlé, les déclarations comme quoi Quimperlé est une « commune of France », que sa population était de 11.978 habitants en 2013 et pour ce qui nous concerne aujourd’hui, que ses coordonnées géographiques sont 47°52’22″N, 3°32’59″W.

Si l’affichage de l’interface par défaut en anglais vous dérange, vous pouvez ouvrir une session sur Wikidata avec votre compte Wikipédia (en haut à droite, lien Log in) soit en créer un en déclarant le français comme langue par défaut.

Il existe plusieurs manières pour récupérer ces informations. L’une d’entre elle est le point d’accès SPARQL Wikidata Query Service (WQS) qui suppose d’avoir des notions élémentaires du langage SPARQL2. Mais WQS ne vous permettra pas de récupérer les coordonnées géographiques à partir de votre propre liste de noms de communes. Il faut un outil qui vous permettre de faire correspondre le nom d’une commune avec un élément Wikidata (« Quimperlé avec Q235382) puis d’interroger Wikidata pour récupérer la valeur de la propriété coordinate location de chaque élément. C’est exactement ce que permet le logiciel libre OpenRefine.

Commençons par créer un nouveau projet dans OpenRefine à partir du fichier Excel Inventaire des cylindres phonographiques du CRBC de Blanca et la commande Create Project > This computer.

La colonne Dublin Core Spatial Coverage des noms des communes est dans la feuille Catalogue du fichier Excel où chaque ligne correspond à un cylindre (la deuxième feuille, Inventaire, contient la liste des contenus intellectuels : chansons, interprétations musicales). Dans les paramètres d’importation du fichier Excel, cochons la case correspondant à la feuille Catalogue et cochons la case permettant de considérer la première ligne comme contenant les titres des colonnes (Parse next 1 line(s) as column headers).

Appliquons une facette textuelle sur la colonne Dublin Core Spatial Coverage (Depuis le menu de la colonne, commande Facet > Text facet).

La facette nous permet de constater qu’une des cellules du tableau contient au lieu d’une seule, deux noms de communes séparées par un point-virgule (Saint Avé et Morlaix).

Pour séparer ces deux communes sur deux lignes distinctes utilisons la commande Edit cells > Split multi-valued cells

… en précisant le point-virgule comme séparateur de valeur.

La facette est automatiquement mise à jour et on voit apparaitre de manière distincte Saint-Avé et Morlaix .

Par contre, petit problème, Saint-Avé (56206) apparait deux fois et Morlaix  (29151) apparait en premier dans la liste classée alphabétiquement. Le premier problème est dû au fait que Saint-Avé a été saisi une fois « Saint Avé » (sans tiret) et cinq fois « Saint-Avé » (avec un tiret). On corrige le problème en éditant directement le nom de la commune dans la facette.

Morlaix apparaît en début de liste car lors de l’étape de séparation de « Saint Avé (56206); Morlaix (29151) » sur deux lignes, nous aurions dû utiliser comme séparateur un point-virgule suivit d’un espace au lieu du point-virgule seul. Ce qui fait que nous avons laissé un espace avant « Morlaix (29151) ». Rien de bien grave. Nous pouvons supprimer l’espace en éditant la valeur dans la facette ou utiliser la commande Edit cells > Common transforms > Trim leading and trailling whitespace.

Dans cette colonne, Goelo correspond à une aire géographique et non pas à une commune. OpenRefine ne permet pas de supprimer des lignes mais cela n’a pas d’importance pour la suite des opérations.

Notez au passage que toutes les opérations que vous effectuez dans OpenRefine sont sauvegardées automatiquement. Vous pouvez également revenir aux étapes précédentes dans l’onglet Undo/Redo. Bon à savoir également : Le fichier Excel original reste intact puisque ses données ont été importées dans OpenRefine.

Le nom de la commune est suivit de son code commune entre parenthèses. Par exemple, Quiberon (56186). Nous pourrions lancer l’alignement avec Wikidata en utilisant les données telles quelles mais nous allons améliorer la réconciliation en répartissant ces deux informations dans des colonnes distinctes.

Une des manière de procéder est d’utiliser Edit column > Split into several columns en choisissant la parenthèse ouvrante précédée d’un espace comme séparateur.

On se retrouve avec une deuxième colonne Dublin Core Spatial Coverage 2 qui contient le code commune et la parenthèse fermante.

Pour supprimer la parenthèse fermante, on utilise la même commande que précédemment en choisissant cette fois la parenthèse fermante comme séparateur.

On lance la réconciliation avec Wikidata par la commande Reconcile > Start reconciliation sur la colonne Dublin Core Spatial Coverage 1 et on choisi la réconciliation avec Wikidata.

Le service de réconciliation devine que les données sont du type commune of France. Il aurait également été possible de préciser le type dans Reconcile against type. Pour renforcer la réconciliation, on précise que la colonne Dublin Core Spatial Coverage 2 contient des codes INSEE. Il suffit de commencer à taper « INSEE » pour afficher une liste de suggestions. On choisit INSEE municipality code.

Une fois la réconciliation terminée, deux nouvelles facettes sont affichées dont une qui permet d’afficher les lignes où l’alignement n’a pas pu se faire automatiquement.

Quand on clique sur none dans la facette,  les lignes correspondant à Landerneau et Goëlo s’affichent. Goëlo, comme nous l’avons vu n’est pas une commune mais un ancien pays de Bretagne. Nous n’allons donc pas l’afficher sur la carte. En ce qui concerne Landerneau (écrit Landernau dans l’inventaire), une lettre « e » a été omise mais cela n’aurait pas posé de problème au service de réconciliation de Wikidata si ce n’est que c’est le code postal qui a été saisi dans l’inventaire (29800) et non le code commune (29103).

Pour aligner à la main la commune avec Wikidata, on clique sur Search for match sous Landernau et dans le formulaire qui s’affiche on rajoute le e de Landerneau et on valide la commune proposée par Wikidata.

Pour récupérer les coordonnées géographiques de la commune, on commence par réinitialiser la facette de la réconciliation en cliquant sur reset.

On choisit ensuite depuis la colonne Dublin Core Spatial Coverage 1 la commande Edit Column > Add columns from reconcilied values.

On choisit dans le formulaire suivant la propriété Wikidata coordinate location.

Une fois la récupération des coordonnées géographiques terminée, on se retrouve avec une nouvelle colonne coordinate location contenant la latitude et la longitude de la commune séparées par une virgule. uMap a besoin de ces données séparément. On ventile la latitude et la longitude dans des colonnes distinctes avec la commande déjà utilisée Edit column > Split into several columns appliquée à la colonne coordinate location.

On se retrouve maintenant avec un tableau de données ou l’on a bien une ligne par commune (après la séparation de Saint-Avé et Morlaix qui se trouvaient dans la même cellule), où les erreurs ont été corrigées (Saint-Avé orthographié de deux manières différentes, Landerneau écrit Landernau), où l’on a récupéré la latitude et la longitude des communes dans des colonnes séparées. Comment extraire de ce tableau uniquement les communes et les coordonnées spatiales, sans doublons ?

Pour supprimer les doublons, il faut commencer par les rassembler. Nous pourrions pour cela appliquer un tri alphabétique sur le nom des communes. Mais bien que cet inventaire soit exempt de communes portant le même nom, il vaut mieux trier les lignes par codes communes par la commande Sort….

Pour rendre le tri permanent, on va dans Sort > Reorder rows permanently.

Assurez-vous ensuite que vous êtes bien dans le mode d’affichage des lignes (rows) et non pas des entrées (records).

On vide ensuite les noms des communes consécutives en utilisant dans le menu de la colonne des noms de communes, la commande Edit cells > Blank down (Editer les cellules > Vider des valeurs répétées dans des cellules consécutives).

Toujours sur la colonne des noms des communes, on applique une facette par ligne vide : Facet > Customized facets > Facet by blank (null or empty string).

On clique ensuite sur false dans la facette pour n’afficher que les lignes non-vides.

On obtient un tableau où ne figure plus que la liste des communes sans doublons :

Subsistent néanmoins les lignes correspondant à Goëlo qui peuvent être masquées par une deuxième facette « by blank ». Mais étant donné qu’elles sont à la fin de la liste, nous les supprimerons une fois les données exportées.

Dans le menu Export en haut à droite, il faut choisir Custom tabular exporter.

Dans l’onglet Content, on ne coche que les trois colonnes contenant le nom des communes, les latitudes et les longitudes. Notez que Matched entity’s name permet d’exporter les noms des communes tel qu’il ont été saisi dans Wikidata et non pas tels que saisis dans l’inventaire.

Dans l’onglet Download, on sélectionne le format CSV et on clique sur Download.

Le fichier CSV doit contenir les lignes suivantes :

Dublin Core Spatial Coverage 1,coordinate location 1,coordinate location 2
Morlaix,48.5775,-3.8277777777778
Plonévez-du-Faou,48.252222222222,-3.8247222222222
Trégourez,48.106111111111,-3.8630555555556
Landerneau,48.450833333333,-4.2494444444444
Arzon,47.548055555556,-2.8913888888889
Belz,47.675833333333,-3.17
Melrand,47.980277777778,-3.1116666666667
Plumergat,47.741944444444,-2.9172222222222
Quiberon,47.483333333333,-3.1205555555556
Saint-Avé,47.686666666667,-2.7344444444444
Saint-Nolff,47.703611111111,-2.6516666666667
Sainte-Anne-d'Auray,47.703611111111,-2.9538888888889
Goëlo,,
Goëlo,,
Goëlo,,
Goëlo [Q3112879],,

On supprime à la main les dernières lignes concernant Goëlo. On renomme les titres des colonnes correspondant à la latitude (à renommer lat) et à la longitude (à renommer lon), faute de quoi l’import dans uMap ne fonctionnera pas. On renomme également la colonne des noms de communes en name. Ce qui donne :

name,lat,lon
Morlaix,48.5775,-3.8277777777778
Plonévez-du-Faou,48.252222222222,-3.8247222222222
Trégourez,48.106111111111,-3.8630555555556
Landerneau,48.450833333333,-4.2494444444444
Arzon,47.548055555556,-2.8913888888889
Belz,47.675833333333,-3.17
Melrand,47.980277777778,-3.1116666666667
Plumergat,47.741944444444,-2.9172222222222
Quiberon,47.483333333333,-3.1205555555556
Saint-Avé,47.686666666667,-2.7344444444444
Saint-Nolff,47.703611111111,-2.6516666666667
Sainte-Anne-d'Auray,47.703611111111,-2.9538888888889

uMap est un service de création de cartes personnalisées du projet OpenStreetMap, concurrent libre de Google Maps. Vous pouvez utiliser uMap sans vous créer de compte. Mais créer un compte vous permettra de gérer vos cartes plus facilement et vous évitera de perdre vos cartes.

Pour importer les données dans uMap, on clique sur le lien Créer une carte en haut à gauche de la page d’accueil de uMap. Puis on clique sur l’outil rond avec une flèche vers le haut dans la barre d’outils, à droite de la carte.

Je vous conseille d’importer les données dans un nouveau calque. Si uMap ne vous permet de cliquer sur le bouton Importer, c’est que vous n’avez pas renommé les colonnes des cordonnées géographies en lat et lon.

Les points correspondants aux communes apparait sur la carte. uMp appelle ces points des marqueurs.

Pour afficher les noms des communes et modifier l’aspect des marqueurs, vous pouvez éditer les propriétés du calque en cliquant sur l’icône en forme de cylindre (Gérer les calques) puis sur l’icône en forme de crayon à côté du nom du calque.

La forme des marqueurs se paramètre dans Propriété de la forme.et l’affichage des étiquettes dans Options d’interaction > Afficher une étiquette. Si vous avez bien renommé la colonne du nom des communes en name, avant d’importer le fichier CSV, vous devez voir apparaitre le nom des communes.

Pour partager votre carte ou l’intégrer dans une page web, utilisez le bouton Exporter et partager la carte dans la barre d’outils en haut à gauche de la carte.

Pour en savoir plus sur OpenRefine, voir le cours et le TP de l’atelier OpenRefine de l’ANF « Sciences des données : un nouveau challenge pour les métiers liés aux bases de données » (5 au 7 novembre 2018, Sète). Ces documents sont inspirés de Nettoyer et préparer des données avec OpenRefine : atelier pour les journées du consortium MASA de Mathieu Saby. 

Pour les anglophiles, la documentation de OpenRefine, bien qu’un peu fouillis, reste la référence, notamment la page concernant la réconciliation des données.

Pour en savoir plus sur Wikidata, lire les publications de Markus Krötzsch, un chercheur de l’Université de Dresde qui a contribué à la conception de Wikidata. Notamment la publication Denny Vrandečić, Markus Krötzsch. Wikidata: A Free Collaborative Knowledgebase. In Communications of the ACM 57:10, pp. 78–85. ACM 2014

  1. source : la page Wikipédia en français de Quimperlé []
  2. Lecture conseillée pour s’initier au langage SPARQL : Wikidata:SPARQL tutorial. []

La collection de cylindres phonographiques du CRBC

Les méridiennes du CRBC

Le CRBC organise régulièrement dans ses locaux des rencontres ouvertes à tous à l’heure de la pause déjeuner pour faire découvrir les projets menés par les membres du laboratoire et de la bibliothèque de recherche.

Ce jeudi 13 décembre 2018 entre 12h30 et 13h30, Blanca Pérez González, stagiaire au CRBC et étudiante en master à l’Université d’Estrémadure (Espagne) présente son travail d’inventaire et de documentation de la collection de 178 cylindres phonographiques conservée au CRBC ainsi que notre phonographe, en état de fonctionner.

La carte ci-dessous permet de visualiser les communes bretonnes où les cylindres ont été probablement été enregistrés.


Cylindre cote CRBC 75 : Comin’ thro’ the rye  by the 48th Highlanders Band (The Kilties), Edison Gold Moulded Record: 12879
Cylindre cote CRBC 68 : The campbells are coming by Pipe major H. Forsyth, Edison Gold Moulded Record: 13648, édité en 1907
Cylindre cote CRBC 23 : Cylindre de la Maison de la Bonne Presse, contenu inconnu
Cylindre cote CRBC 30 :  Cylindre de la Maison de la Bonne Presse, contenu inconnu

Première séance du cycle de rencontres et d’échanges autour du traitement et de l’analyse de données quantitatives en Sciences Humaines et Sociales à Brest

Le cycle de rencontres et d’échanges autour du traitement et de l’analyse de données quantitatives en SHS à l’UBO reprend pour la saison 2015-2016.

Dans la continuité des précédentes années, ces rencontres s’inscrivent dans une démarche pluridisciplinaire (démographes, sociologues, psychologues, géographes, gestionnaires, économistes, etc.) et transversale car selon la discipline, les chercheurs ne traitent pas de la même manière leurs données quantitatives. Ils ont des approches différentes et utilisent des traitements et des logiciels spécifiques qui peuvent être complémentaires. L’objectif est de créer un espace d’analyses et de discussions scientifiques sur nos pratiques. Ce cycle d’échanges prendra en compte autant les dimensions épistémologiques que méthodologiques en partant de nos pratiques et usages mais aussi de nos outils.

La première séance « L’analyse de réseaux sociaux avec le logiciel QCA. Le conformisme dans le choix des téléphones portables chez des jeunes français » par Germain Barré, docteur en sociologie et membre du LABERS aura lieu le mardi 3 novembre 2015 de 14h à 16h salle C219 à l’UFR des Lettres et Sciences Humaines à Brest.

Cette séance sera suivie d’un temps de discussion collective autour des prochaines rencontres (dates, propositions, contenu…).

Contacts et inscription : laurent.mell@univ-brest.fr

Ce cycle est organisé en collaboration avec l’ IBSHS (Institut Brestois des Science de l’Homme et de la Société), le LABERS (LABoratoire d’Études et de Recherche en Sociologie), le CRBC (Centre de recherche bretonne et celtique) et l’école doctorale SHS (Sciences Humaines et Sociales) de l’UBO (Université de Bretagne Occidentale)

Quel environnement de travail pour l’analyse de données avec Python ?

Si R est un langage de programmation qui revient souvent dans les articles sur l’analyse de données en Sciences Humaines et Sociales, Python a pour l’instant ma préférence. En effet, dans une petite UMS (Unité Mixte de Service) comme le Centre de Recherche Bretonne et Celtique où l’on doit être au four et au moulin, de la mise en place d’interfaces pour la saisie et la consultation dans des bases de données au traitement, la visualisation et l’analyse des données, Python, langage à tout faire, est un choix judicieux.

Quand vous développez en Python (mais c’est valable dans d’autres langages), vous évitez de réinventer la roue et vous utilisez ce que l’on appelle des librairies, c’est à dire des morceaux de codes développés par des tiers pour des usages spécialisés. Pour le traitement et l’analyse de données, je m’intéresse actuellement à la librairie Pandas (je vous conseille d’ailleurs la lecture du livre Python for Data Analysis par l’auteur de la librairie). Or quand vous utilisez Pandas et les librairies dites « scientifiques » comme NumPy et SciPy, il est habituellement conseillé d’installer des logiciels qui fournissent un environnement de travail clé en main tels que Enthought Canopy ou Anaconda (la bonne version de Python, les librairies scientifiques et leurs dépendances, des outils de mise à jour des libraires, un IDE1, etc.).

J’utilisais jusqu’à présent Anaconda mais je rencontrais depuis quelques temps des problèmes à répétition avec son IDE Spyder. Anaconda installait également bon nombre de librairies dont je n’avais pas l’usage et il m’imposait d’anciennes versions de ces librairies pour des raisons de compatibilité. Je suis donc passé à une solution plus légère basée sur Miniconda (la version allégée d’Anaconda), la console IPython et la version gratuite de l’IDE PyCharm, que j’utilise par ailleurs pour la configuration de Django.

Pour configurer vous aussi cet environnement de travail sous Windows, commencez par installer Miniconda 32 bits (Même si vous avez un environnement en 64 bits, je ne suis pas sûr que cela vaille la peine d’utiliser la version 64 bits de Miniconda, sauf usage spécifique). Vous avez aussi le choix de télécharger Miniconda avec Python 2.x ou avec Python 3.x. Ce choix concerne la version de Python dans l’environnement Miniconda par défaut. Cela ne vous empêchera pas de créer des environnements basés sur l’une ou l’autre de ces versions de Python.

Lors du processus d’installation de Miniconda, cochez l’option « Add Anaconda to the system PATH environment variable » et ne tenez pas compte du message d’avertissement qui s’affiche en rouge. Si vous ne le faites pas, vous pourrez toujours utiliser Miniconda mais uniquement en passant par sa propre invite de commande, Miniconda ne pourra pas être lancé depuis cmd.exe2.

Mettez ensuite à jour l’application conda à jour : Lancez l’invite de commandes Windows cmd.exe en tapant « cmd » dans la recherche de programmes et de fichiers du menu Démarrer et cliquez sur cmd.exe.

Dans Cmd, tapez conda update conda et validez les éventuelles mises à jour.

conda update conda

Si la mise à jour est refusée pour des raison de droits insuffisants (Message ‘Accès refusé’), relancez cmd.exe en mode administrateur : Lancez Cmd en tapant « cmd«  dans la recherche de programmes et de fichiers du menu Démarrer puis cliquez avec le bouton droit de la souris sur l’icône de cmd.exe et choisissez Exécuter en tant qu’administrateur.

Si vous avez par la suite des problèmes de droits pour installer ou mettre à jour des librairies Python, pensez à exécuter Cmd en tant qu’administrateur.

Nous allons ensuite procéder à la création d’un environnement virtuel. En effet, quand on utilise Python pour divers usages, mieux vaut ne pas mettre tous ses œufs dans le même panier et créer un environnement de développement par usage, c’est à dire un environnement dans lequel seront uniquement installées les librairies nécessaires.

Pour créer l’environnement virtuel « pandas », tapez en ligne de commande conda create -n pandas python=3. Si vous souhaitez utiliser Python 2 remplacez le chiffre 3 par 2. Une fois l’environnement installé, activez-le avec la commande activate pandas. Installez ensuite Pandas et IPython par conda install pandas ipython.

Il est également possible d’installer la plupart des librairies avec la commande pip. Le problème, c’est que l’installation de certaines librairies Python nécessite la compilation de code C ou C++. Ce qui pose la plupart du temps des problèmes sous Windows. L’avantage de passer par conda, c’est de pouvoir récupérer des packages pré-compilés. L’inconvénient est que conda interroge par défaut un dépôt de librairies où elles ne sont pas toutes disponibles et si elles le sont, dans leur dernière version. Pour contourner le problème, il est toujours possible d’utiliser un autre dépôt compatible Miniconda (à trouver sur l’Anaconda Cloud puis à configurer selon la documentation de Miniconda), soit d’utiliser pip et des packages pré-compilés de Christoph Gohlke.

Installez ensuite la version Community de PyCharm. Après la création de votre premier projet dans PyCharm (menu File > New Project), allez dans le menu File > Settings puis dans Project:nom_de_votre_projet, puis cliquez sur Project Interpreter. Créez un nouvel interpréteur en cliquant sur la roue crantée puis sur Add ((La procédure et les captures d’écran sont susceptibles de changer avec la version de PyCharm. Les captures d’écran actuelles ont été faites avec la version 2018 de PyCharm.)).

Choisissez un environnement de type Conda Environment et cochez Exiting environment et Make available to all projects. Cliquez sur le bouton avec trois points (…) pour faire apparaitre la fenêtre de sélection du répertoire dans lequel se trouve l’environnement que vous avez créé précédemment.

Pour savoir où a été installé l’environnement, lancez la commande conda info --env dans Cmd. Dans mon cas, l’environnement pandas a été installé dans C:\ProgramData\Miniconda3\envs\pandas.

Sélectionnez le fichier python.exe dans le répertoire de l’environnement.

Normalement, PyCharm détecte automatiquement l’installation de IPython et propose ce  terminal amélioré quand vous lancez la console Python depuis le menu Tools > Python Console.

Pour installer des librairies complémentaires, vous pouvez utiliser PyCharm mais je vous déconseille de le faire car l’application utilise uniquement pip. Préférez plutôt une installation avec conda en ligne de commande comme vous l’avez fait pour installer Pandas.

Il ne vous reste plus qu’à vous lancer dans l’analyse de données avec Python.

Article mis à jour le 23 mai 2018

  1. Integrated Development Environment, voir http://fr.wikipedia.org/wiki/Environnement_de_d%C3%A9veloppement []
  2. Au sujet de cmd.exe, voir https://fr.wikipedia.org/wiki/Cmd. []

Bibliothèque Yves-Le-Gallo

Le carnet sera un moyen de partager l’actualité de la bibliothèque Yves-Le-Gallo (UMS 3554) : Entrée et inventaire de nouveaux fonds, participation à des événements culturels et scientifiques, publication de nouveaux ouvrages) en complément du site web et du compte Twitter de l’unité. La carnet sera également un moyen de partager l’expérience du personnel de la bibliothèque (succès et déboires) acquise durant nos projets d’inventaires, de numérisation, de création de bases de données scientifiques, d’analyse de données et tout ce qui concerne la vie d’une bibliothèque de recherche.