Outils informatiques appliqués aux géosciences II

3ème année Bachelor, Département des Sciences de la Terre, UNIGE

Auteur·rice
Affiliation

Sébastien Biass

Département des Sciences de la Terre, Université de Genève

Cette page rassemble le matériel du cours Outils informatiques pour les géosciences II, destiné aux étudiant·es de 3ème année Bachelor en Sciences de la Terre à l’Université de Genève.

Objectifs et philosophie du cours

Le cours vise à renforcer l’autonomie avec Python pour l’analyse de données scientifiques en géosciences. Le but n’est pas de devenir programmeur ou programmeuse, mais d’apprendre, à partir de jeux de données réels, à formuler une question de recherche, extraire de l’information de la masse de données disponible et répondre à cette question. En faisant cela, nous allons aussi développer les bases de la pensée statistique: comment décrire et quantifier des données, puis comment inférer si les données peuvent nous apprendre quelque chose sur les mécanismes qui nous intéressent.

Chaque cours est articulé autour d’un jeu de données existant. Bien qu’en réalité la démarche scientifique suive souvent une logique formulation d’une question → recherche de données → analyse, ici nous partirons de données pour apprendre à formuler des questions de recherche. Nous utiliserons des jeux de données sur des volcans, des glissements ayant déclenché un tsunami et des propriétés de grès afin d’entraîner notre capacité à poser de nouvelles questions scientifiques. Chaque cours suivra la même structure:

  1. Une introduction théorique sur les données et les méthodes que nous allons utiliser dans l’exercice;
  2. Une exploration initiale des données;
  3. La formulation d’une question de recherche basée sur ces données;
  4. Une analyse pour y répondre.

Structure du cours

Le cours se déroule sur 11 semaines:

  • Horaire: Vendredi après-midi, 13h15-15h00
  • Lieu: Salle 0013, Sciences III
Date Semaine Bloc Contenu
9/10/2026 Semaine 1 Introduction, configuration de Python
16/10/2026 Semaine 2 Intro aux données tabulaires Lire et interroger des données avec pandas
23/10/2026 Semaine 3 Statistiques univariées Du catalogue à l’échantillon analysable
30/10/2026 Semaine 4 Statistiques univariées Visualiser et décrire une distribution
6/11/2026 Semaine 5 Statistiques univariées De l’échantillon à la population
13/11/2026 Semaine 6 Statistiques bivariées Visualiser et quantifier une association
20/11/2026 Semaine 7 Statistiques bivariées Décrire une relation par une régression linéaire
27/11/2026 Semaine 8 Statistiques bivariées Diagnostiquer et évaluer un modèle
4/12/2026 Semaine 9 Projet personnel
11/12/2026 Semaine 10 Présentations
18/12/2026 Semaine 11 Résumé et questions

Déroulement du cours

Le cours est structuré en deux parties: une première donne une introduction rapide sur les données utilisées ce jour, sur la théorie “scientifique” et sur les bibliothèques que nous utiliserons ce jour-là pour formuler et répondre aux questions de recherche. Une deuxième consiste en un exercice guidé qui, au fur et à mesure des semaines, renforcera votre autonomie pour analyser toute donnée scientifique. Les exercices ne sont pas seulement des exercices de syntaxe. Ils sont conçus pour apprendre à passer d’une question géoscientifique à un choix de données défendable, puis à une analyse reproductible, une figure claire et une interprétation critique.

Pour chaque exercice, il faut:

  1. Créer un nouveau Jupyter notebook;
  2. Copier, exécuter et expérimenter les blocs de code décrits dans l’exercice;
  3. Résoudre les questions posées dans l’exercice.

Il est impératif d’apprendre à documenter son code. Dans le contexte de Jupyter notebooks, Markdown est un langage simple, efficace et élégant pour formater du texte.

Examen

Chaque cours est articulé autour d’un fil rouge de questions de recherche, et de nouvelles questions seront identifiées à la fin de chaque cours. Le but de l’examen n’est pas de tester votre capacité à apprendre par cœur des fonctions Python, mais votre capacité à identifier et répondre à des questions de recherche basées sur les méthodes que nous aurons survolées pendant ce cours.

La note finale consistera en une recherche personnelle consistant à:

  • Identifier une question basée sur votre intérêt
  • Trouver un jeu de données
  • Effectuer une analyse basée sur le contenu du cours

Cette recherche devra être accompagnée:

  • D’un notebook Jupyter documentant votre analyse et qui devra suivre un raisonnement scientifique suivant la logique:
    1. Introduction: Description de l’hypothèse et de la question de recherche
    2. Données: Introduction aux données
    3. Méthode: Traitement et analyse des données
    4. Résultats: Visualisation et quantification de l’analyse
    5. Discussion & conclusion: Dans quelle mesure l’analyse répond-elle à la question initiale?
  • D’une présentation en Semaine 10 à toute la classe. La présentation suivra la même logique que le notebook

La note sera composée de notes attribuées au notebook et à la présentation à parts égales. Une session de travail dédiée au projet est prévue en Semaine 9.

Support du cours

Ce site constitue le manuel du cours, où chaque exercice fait office de support théorique. Le site utilise Hypothesis, qui est une plateforme gratuite permettant de surligner, commenter et poser des questions. Vous êtes encouragé-e à créer un compte, ce qui vous permettra d’utiliser les fonctionnalités Hypothesis soit pour usage personnel, soit pour l’ensemble des participants du cours en rejoignant le groupe dédié.

Références

Livres

Plusieurs livres de référence offrent une bonne introduction à Python pour les géosciences, tous consultables à la bibliothèque ou ici:

  • Petrelli (2021): Introduction to Python in Earth Science Data Analysis: From Descriptive Statistics to Machine Learning. Springer International Publishing
  • Trauth (2022): Trauth MH (2022) Python Recipes for Earth Sciences. Springer International Publishing

Cheat sheets

Plusieurs cheat sheets existent pour les bibliothèques que nous allons utiliser. Choisissez votre préférée, et n’hésitez pas à la consulter durant le cours.

Pandas cheat sheets

Matplotlib cheat sheets

Seaborn cheat sheets

Documentation

Des versions simplifiées des documentations des diverses bibliothèques utilisées dans le cours sont disponibles:

Informations pratiques

Une note sur l’utilisation des grands modèles de langage

Nous savons que vous utiliserez tôt ou tard des grands modèles de langage (Large Language Models, ou LLM) pour programmer — et peut-être déjà pendant ce cours. Il serait hypocrite de prétendre que nous ne les utilisons jamais nous-mêmes. La différence essentielle se situe entre utiliser un LLM pour gagner du temps et l’utiliser pour obtenir une réponse sans la comprendre.

Gagner du temps suppose que vous puissiez lire le code produit, en expliquer le fonctionnement, l’exécuter avec discernement et le réviser de manière critique. À l’inverse, accepter une réponse provenant d’une boîte noire empêche de vérifier si le code répond réellement à la question scientifique.

Python est utilisé dans de nombreux domaines — analyse scientifique, développement web, cybersécurité, finance ou développement logiciel — qui possèdent chacun leurs propres bibliothèques. Une même tâche peut donc être réalisée de plusieurs façons. Des bibliothèques issues d’un même écosystème sont généralement conçues pour fonctionner ensemble; combiner aveuglément des outils provenant de contextes différents peut produire un code inutilement complexe ou incohérent.

Pour ce cours, limitez l’usage des LLM tant que vous ne vous sentez pas capable de lire et d’évaluer le code proposé. Si vous les utilisez, transformez chaque réponse en occasion d’enquête:

  • quelles fonctions sont utilisées?
  • quels sont leurs arguments?
  • que représente chaque variable?
  • pourquoi cette approche répond-elle à la question scientifique?
  • comment pouvez-vous vérifier le résultat?

Nous discuterons volontiers en classe des usages utiles, des limites et des désaccords possibles autour de ces outils.

Réutilisation

Sauf indication contraire, le matériel pédagogique original est publié sous licence Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International, et les scripts sous licence GNU GPL v3. Ces licences ne couvrent pas le matériel référencé, dont la licence appartient aux auteurs.