Notebook et programmation lettrée
  • Code source
  • Ouvrir une issue
  1. Pratique individuelle
  2. Introduction
  3. Environnement
  • Pratique individuelle
    • Introduction
      • Présentation
      • Environnement
      • Données
    • Notebook
      • Opt1 - Quarto + R
      • Opt2 - Jupyter + Python
    • Forge logicielle
      • Création dépôt
      • CI/CD
      • .gitignore
  • Pratique collective
    • Présentation
    • Environnement
    • Exercice
  • Pour aller plus loin…
    • CI/CD avancé
    • Environnements virtuels
  1. Pratique individuelle
  2. Introduction
  3. Environnement

Environnement nécessaire

  • Pour Quarto & R
  • Pour Jupyter et Python

Logiciels

  • Installation de R : https://cran.r-project.org/
  • Installation de Rstudio : https://posit.co/download/rstudio-desktop/
  • Installation de Git : https://git-scm.com/downloads
Rstudio, Quarto, Rmarkdown… = Posit !

Rstudio et Quarto sont développés par la même entreprise (Posit). Pour cette raison, Quarto est un outil complétement intégrée à l’interface Rstudio. Cette IDE est ainsi parfaitement optimisée pour le développement et la publication de documents computationnels Quarto.

Il est possible d’installer Quarto en dehors de Rstudio (https://quarto.org/docs/download/). Dans cette configuration, il vous sera nécessaire d’installer le package rmarkdown (automatiquement installé avec Rstudio) pour compiler un document Quarto


Packages R

install.packages("sf")
install.packages("tidygeocoder")
install.packages("mapview")
install.packages("osrm")
install.packages("DT")

### Pour utiliser Quarto en dehors de l'IDE Rstudio
# install.packages("rmarkdown")

Logiciels

Windows / Python

Pour installer Python, téléchargez le fichier proposé sur la page https://www.python.org/downloads/windows/ dans la catégorie Stable Releases en sélectionnant la version “Windows installer” correspondant à votre machine (32-bits, 64-bits ou ARM64).

Lors de l’installation, assurez-vous de cocher la case Add Python 3.13 to PATH pour faciliter son usage en ligne de commande par la suite.

Vérifiez également dans Customize installation que la case Pip est bien coché, nous en auront besoin pour télécharger des paquets.

Ouvrir PowerShell en tant qu’administrateur
(Menu démarrer > PowerShell > clic droit > Run as administrator)

python --version

Windows / Npm

Ensuite il est nécessaire d’installer nodejs en allant sur la page https://nodejs.org/en/download et choisissez l’option windows installer msi, installez le sans changer les options.

Ouvrir ensuite PowerShell en tant qu’administrateur et vérifier la version de Npm installée
(Menu démarrer > PowerShell > clic droit > Run as administrator)

npm --version

Bibliothèques Python

Windows / pip

Comme nous ne connaissons le contexte d’installation nous créons un environnement de travail isolé avec Virtualenv:

pip install virtualenv

Un environnement virtuel permet d’obtenir une instance de l’interpréteur de Python et une liste de dépendances qui soit spécifique à un projet et indépendant de l’interpréteur et des packages qu’on a déjà téléchargés sur son ordinateur. La création de ces environnements virtuels facilite l’échange de logiciels reproductibles, dans la mesure où sur des machines différentes et dans un temps différent, sous certaines conditions (les logiciels sont exécutés sur des systèmes d’exploitation identiques ou comparables), le logiciel fonctionnera de la même manière. ((Chazallet2023?))

Pour créer cet environnement, il faut lui donner un dossier, par exemple l’emplacement de votre futur projet.

Par exemple : C:\Users\xxx\Documents\SOSHS avec xxx à remplacer par votre répertoire user correspondant dans C:\Users\.

cd C:\Users\reyseb\Documents\SOSHS
virtualenv venv
.\venv\Scripts\activate

Vous êtes dans un environnement isolé à présent, ce qui va nous permettre d’installer les paquets nécessaires à la fois pour Myst et Jupyter Book

Mise en garde

Si vous avez une erreur de Policy qui s’affiche en rouge dans Powershell, vous pouvez executer (en administrateur) la commande Set-ExecutionPolicy Unrestricted

pip install jupyter-book>=2.0.0a3
pip install jupyterlab
pip install numpy

Nous installons un Kernel Python si il n’est pas déjà installé.

pip install ipykernel
python -m ipykernel install --user --name python3
jupyter kernelspec list

Pour tester, vous pouvez remplir un fichier test.md avec le contenu suivant :

---
kernelspec:
  name: python3
  display_name: 'Python 3'
---

```{code-cell} python
print("hello world")
a = 21
b = 2
print(a*b)

```

Pour lancer un serveur qui affiche votre code test.md avec les résultats dans le navigateur à l’adresse localhost:3000, vous pouvez lancer :

jupyter book start --execute

Pour installer les autre packages nécessaire au TP, il va nous falloir installer des paquets qui incluent des dépendances systèmes pour la partie géospatiale. Pour faciliter l’installation de ces packages nous allons utiliser des wheel Python pré-compilées par Christoph Gohlke et disponible sur ce dépôt. Merci Mathieu V. pour l’information :)

Heureusement ces fichiers whl peuvent être automatiquement récupéré et installé avec la commande pip install et l’url d’un dépôt :

pip install gdal --index-url https://nathanjmcdougall.github.io/geospatial-wheels-index/
pip install pyproj --index-url https://nathanjmcdougall.github.io/geospatial-wheels-index/
pip install pygeos --index-url https://nathanjmcdougall.github.io/geospatial-wheels-index/
pip install shapely --index-url https://nathanjmcdougall.github.io/geospatial-wheels-index/

Ensuite nous installons les packages métiers qui eux sont disponibles sur Pip:

pip install geopandas[all]
pip install polyline
pip install session-info

Linux / pip

Pour installer Jupyter Book v2, vous devez d’abord installer python avec les instructions précentes.

Tout dépend de votre distribution de Linux, les version de nodejs installables via Apt (debian) sont parfois assez anciennes, Jupyter Book demande :

  • node >= 18.0.0
  • npm >=8.6.0
npm -v
node -v

Si vos versions sont trop vieilles, il est nécessaire d’installer nodejs en allant sur la page https://nodejs.org/en/download et choisissez l’option NodeJS V22.16.0 (LTS) for Linux Using nvm with npm

Cela vous donne un script bash à copier coller, attention cela nécessite que la dépendance système curl soit installé avec apt-get.

Pour la suite, comme nous ne connaissons le contexte d’installation nous créons un environnement de travail isolé avec Virtualenv:

pip install virtualenv

Pour créer cet environnement, il faut lui donner un dossier, par exemple l’emplacement de votre futur projet.

Par exemple : /home/xxx/SOSHS avec xxx à remplacer par votre répertoire user correspondant.

cd /home/xxx/SOSHS
virtualenv venv
source venv/bin/activate

Vous êtes dans un environnement isolé à présent, ce qui va nous permettre d’installer les paquets nécessaires pour Myst et Jupyter Lab

pip install jupyter-book>=2.0.0a3
pip install jupyterlab
python -m ipykernel install --user --name python3

Pour tester, vous pouvez remplir un fichier test.md avec le contenu suivant :

---
kernelspec:
  name: python3
  display_name: 'Python 3'
---

```{code-cell} python
print("hello world")
a = 21
b = 2
print(a*b)

```

Pour lancer un serveur Jupyter Book qui affiche votre code test.md avec les résultats dans le navigateur à l’adresse localhost:3000, vous pouvez lancer la commande suivante dans votre Powershell :

jupyter book start --execute


Forge logicielle

Dans le cadre de cette école, nous utiliserons l’instance Gitlab mise à disposition par l’UAR GRICAD :

https://gricad-gitlab.univ-grenoble-alpes.fr/


Mais cet exercice peut également être reproduit sur l’instance GitLab d’HumaNum:

https://gitlab.huma-num.fr/
 

Produit par le GT Notebook avec Quarto - 2025