Ce dépôt contient tous les éléments associés à la formation et sera mis à jour au cours de celle-ci.
Cette formation propose une initiation à la programmation Python pour des doctorants•es en sciences humaines et sociales (SHS), pensée pour les usages en SHS.
Lien vers le formulaire d'inscription
Python est un langage de programmation simple, libre, multi-plateforme, pédagogique, bénéficiant d'une communauté d'utilisateurs•rices croissante tant dans le domaine universitaire que le secteur privé.
Avec la multiplication des données numériques dans les sciences humaines et sociales (SHS), le traitement des données devient incontournable tant pour la collecte, la mise en forme, ou la production de résultats. Si une partie de ces traitements sont intégrés dans des logiciels dédiés, la programmation scientifique en général et le langage Python en particulier permet d’introduire de la souplesse, de l’adaptation et de la créativité dans le traitement des données tout en permettant d’intégrer les nombreuses solutions existantes développées par les communautés scientifiques.
Concrètement, la programmation scientifique permet ainsi à la fois de réaliser les traitements statistiques habituels des SHS tout en ouvrant aux nouveaux usages liés à l'automatisation des tâches informatiques, le traitement des grands corpus des humanités numériques ou encore la collecte de données sur les réseaux sociaux. Cette formation insiste sur l’usage du langage Python comme un outil pour le script scientifique. En effet, il permet facilement de jouer une fonction de « liant » (ou de « colle ») pour traiter les données et faire le lien entre des logiciels déjà existants.
Par ailleurs, l’apprentissage des bases de Python permet non seulement de renforcer sa culture informatique, ouvrant ce faisant la voie à de nouvelles stratégies d’analyses, mais aussi d’envisager différemment le rapport aux données, la conceptualisation mais aussi la collaboration avec le partage du code et les enjeux de reproductibilité des analyses. Python participe, aux côtés d’autres logiciels et langages, à la construction du code libre et d’une recherche ouverte et reproductible.
Objectifs de la formation
• Comprendre les forces de Python pour le script scientifique en SHS
• Maîtriser les bases du langage Python et la présentation du Notebook Jupyter
• Acquérir les bonnes pratiques du traitement de données (format de fichier, etc.)
• Connecter les traitements avec des sources de données externes (API) et des logiciels.
• Produire des documents finalisés : visualisations, tableaux, etc.
• Manipuler des formats de données différentes : textes, images, etc.
• Identifier les usages avancés : apprentissage automatique, traitement lexicométrique, analyse de réseaux.
• Développer l’autonomie dans l’apprentissage
• Echanger sur les usages possibles pour des recherches en cours ou à venir
Prérequis pour la première séance : installation du logiciel Anaconda qui installe les outils nécessaires (Python ainsi que les autres interfaces) : https://www.anaconda.com/products/individual
Cette séance sera l'occasion de faire un petit tour du langage Python et de l'univers qui l'entoure, pour identifier les principaux usages en SHS.
- Tour de table
- Python pour les SHS : pourquoi ? comment ?
- Exécuter un script : comment faire ?
- Les usages possibles
Cette séance présentera les principaux ingrédients du langage Python, sa syntaxe et les blocs qui constituent un script : boucle, condition, ouverture d'un fichier, etc. La question des bonnes pratiques de programmation seront abordées.
Algorithme – Syntaxe - Fonctions – Bonnes pratiques
Python désigne à la fois le langage et les outils développés à partir de celui-ci. Les bibliothèques regroupent des outils déjà constitués pour réaliser des traitements plus avancés. Nous verrons comment se repérer dans l’univers de l’open source, identifier une bibliothèque, l'installer et l'utiliser pour collecter des données.
Bibliothèques – Scipy – Open source – Collecte de données
Une bibliothèque s’est imposée pour le traitement des données sous forme de tableaux : Pandas. Entre Excel et une base de données, elle permet d’automatiser de nombreux traitements. Cela nous amènera à charger des fichiers, à manipuler les colonnes en recodant certaines informations et à calculer des statistiques descriptives.
Pandas – tableaux – base de données – recodage
Cette séance présente les traitements statistiques possibles sur les données ainsi que les usages en termes de visualisation, de vues exploratoires des données à la production de graphiques finalisés pour la publication. Un focus sera fait sur la visualisation de données géographiques
Visualisation – Statistiques – Matplotlib - Cartes
Dans cette séance, nous aborderons à travers des exemples les usages plus avancés. Nous prendrons en particulier l’exemple des étapes nécessaires pour réaliser le traitement de données non structurées textuelles, allant des approches rapides à mettre en œuvre aux analyses plus spécifiques du langage. Usages avancés – analyse textuelle – données non structurées - automatisation
Emilien Schultz est postdoctorant en sociologie des sciences et de la santé
Matthias Bussonnier est développeur Python chez Quantsight
Ils sont co-auteurs du manuel Python pour les SHS - Introduction à la programmation pour le traitement de données aux Presses Universitaires de Rennes.
emilien.schultz [at] gmail.com