Usage avancé du Datalab

Script
Secrets
Docker
Author

Ludovic Deneuville

🚧

1 Script d’initialisation

Il est possible d’exécuter un script après lancement d’un service, par exemple pour installer des packages, des extensions…

Dans les options avant de lancer le service, onglet Scripts d’initialisation puis rentrez l’URL du script.

Important
  • L’URL du script ne doit pas être dans un dépôt privé
  • Il est possible d’ajouter des arguments au script

Pour plus d’informations et avoir des exemples : sspcloud-init-scripts

Par exemple, le script suivant permet de :

  • installer pytest
  • ajouter l’extension VSCode Ruff
  • supprimer l’extension VSCode Flake8
example.sh
#!/bin/sh

# Install packages and VSCode extensions
# Expected parameters : None

pip install pytest

code-server --install-extension charliermarsh.ruff
code-server --uninstall-extension ms-python.flake8
Tip

Si vous avez besoin de lancer réguliérement votre service avec cette config :

  • Lorsque vous modifiez les paramètres de lancement, cliquez sur la petite disquette
  • Vous pourrez à tout moment relancer avec la même configuration avec un raccourci dans Mes services

2 Image Docker

🚧

Dans les paramètres de lancement vous pouvez également définir votre propre image Docker :

  • Créez votre image à partir de la dernière version du service
  • Taguez cette image, puis poussez-la sur DockerHub
  • Dans les paramètres de lancement, utilisez une image personnalisée

Par exemple :

Dockerfile
FROM inseefrlab/onyxia-vscode-python:py3.13.5-2025.07.21

# Install packages
RUN pip install pytest

# Modify VSCode extensions
RUN code-server --install-extension charliermarsh.ruff
RUN code-server --uninstall-extension ms-python.flake8

3 Secrets

ImportantEnigme du Père Fouras

Plus j’ai de gardiens, moins je suis gardé.

Moins j’ai de gardiens, plus je suis gardé.

Qui suis-je ?

Certains éléments ne doivent pas être diffusés dans votre code (jetons d’accès, mots de passe…).

Pour éviter d’avoir à nettoyer votre code à chaque fois que vous le poussez sur GitHub, le datalab propose de gérer vos secrets.

3.1 Créer un secret

    • Nom : PATATE_TOKEN
    • Valeur : 123456
    • Cliquez sur pour valider
    • Nom : PATATE_PORT
    • Valeur : 5236
    • Cliquez sur pour valider

3.2 Utiliser dans un service

Dans votre servives, les deux variables d’environnement ont été créées.

  • import os
    
    token = os.environ["PATATE_TOKEN"]
    print(token)
Note

Ce TP avait pour but de vous familiariser avec le Datalab. Vous pouvez l’utiliser pour faire du Python, du R, créer une base de données (prochain TP) ou utiliser de nombreux autres outils.

4 Surveiller son service

Vous arrivez sur la page de l’outil Grafana qui permet d’observer les métriques de votre service.