Présentation du SSP Cloud

Et comment utiliser Git dessus

Lino Galiana

Le SSP Cloud, c’est quoi ?

Un environnement idéal pour la formation

  • Plateforme disponible depuis https://datalab.sspcloud.fr/
    • Pour découvrir et expérimenter…
    • Seulement avec des données en open data
  • Une plateforme pour l’administration :
    • Ouverte aux agents de l’Etat et à des formations en data science (ENSAE…)
    • Des serveurs hébergés à l’Insee

Important

Plateforme recommandée pour cet événement

  • Signalez-nous si vous ne pouvez créer de compte !

Un environnement idéal pour l’analyse de données

En plus, le SSP Cloud, c’est wahou ! 😍

https://datalab.sspcloud.fr

Principe de la plateforme

Une plateforme pour la reproductibilité et la liberté

  • Vous passez un contrat avec le SSP Cloud pour créer un RStudio ou Jupyter
    • Celui-ci tourne sur des serveurs distants auxquels vous accédez via le navigateur
  • Environnement initialement standardisé :
    • Tout le monde part du même socle minimal
    • Liberté d’installer des packages ou librairies Linux

Une plateforme pour les bonnes pratiques

Dans un environnement différent

Source: https://ensae-reproductibilite.github.io
  • Environnements temporaires donc:
    • Stocker le code dans un endroit pérenne: Github, Gitlab
    • Stocker les données dans un endroit pérenne: MinIO
Dans le cadre du Funathon
Pour ceux voulant aller (vraiment) plus loin

Source: https://ensae-reproductibilite.github.io

Note

Les services durent plusieurs jours mais n’ont pas vocation à persister

Des services standardisés pour les gouverner tous

Un système de stockage pérenne pour les données

Quand R ou Python ne suffisent plus

Des technologies spéciales pour les bases de données

Quand R ou Python ne suffisent plus

Des technologies adaptées aux données volumineuses

Bonus

Les statisticiens ayant découvert le SSPCloud, quand ils doivent revenir à leur infra habituelle

Onboarding

Checklist

  • Créer un compte
  • Se connecter
  • Trouver de l’aide
  • Lancer un service de data science (R, Jupyter…)
  • Utiliser Git
  • Utiliser le stockage objet MinIO

Créer un compte

  • Aller sur https://datalab.sspcloud.fr puis Connexion et Créer un compte
    • Utiliser une adresse mail d’un domaine autorisé (@insee.fr, @..gouv.fr…)
    • Domaines @gmail.com, @yahoo.fr… non admis
    • Seuls les domaines institutionnels sont autorisés (universités, écoles, administrations…)
  • Si besoin, demandez-nous pour rajouter un domaine

Se connecter

Trouver de l’aide

Lancer un service de data science

https://docs.sspcloud.fr/onyxia-guide/premiere-utilisation

  • Chaque service possède un README, lisez-le 😉
  • Chaque service est protégé par un mot de passe, copiez-le
  • Les services sont éphémères
    • Utilisez Git (avec Github ou Gitlab) pour sauvegarder vos notebooks et codes
    • Utilisez MinIO pour sauvegarder vos données
    • sinon vous pourriez perdre votre travail

Utiliser Git

https://docs.sspcloud.fr/onyxia-guide/controle-de-version

  • Obligatoire pour ne pas perdre de travail (notebooks et codes)
  • Indispensable pour collaborer
  • Compatible avec la forge de votre choix (GitHub, GitLab…)

Utiliser le stockage objet MinIO

https://docs.sspcloud.fr/onyxia-guide/stockage-de-donnees

  • Pour déposer ses données comme si on avait un service de fichier local
  • Chaque utilisateur a un bucket personnel
  • Possibilité de rendre des données publiques
  • Librairies Python (Boto3 ou S3Fs) ou R (aws.s3)

Utiliser le stockage objet MinIO

Lancer un service prêt-à-l’emploi

Git: quelques concepts

Pourquoi faire du contrôle de version ?

  • Construire et naviguer à travers l’historique de son projet
  • La collaboration rendue simple et efficace
  • Améliorer la reproductibilité de ses projets
  • Améliorer la visibilité de ses projets

Note

Plus d’éléments dans la formation officielle

Gymnastique

  • Par défaut, le dépôt distant porte l’alias origin

Ressources supplémentaires

Illustration par la pratique avec RStudio 🚀

Objectif

  • Découvrir S3
  • Découvrir Git à travers l’interface RStudio
  • Découvrir l’interaction entre Git, RStudio et Gitlab
  • Se familiariser avec quelques concepts de Git
  • Méthode préconisée pour Git:
    • On propose de travailler sur la même branche…
    • … mais des fichiers séparés.
    • Evite l’utilisation de branches tout en limitant les conflits.

Démonstration 🚀

Exemple à partir du sujet 2

Aide-mémoire S3

Exemples issus d’utilitR
bucket <- "donnees-insee"
aws.s3::get_bucket(bucket, region = "")
df <- 
  aws.s3::s3read_using(
    FUN = data.table::fread,
    # Mettre les options de FUN ici
    object = "diffusion/FILOSOFI/2016/FILOSOFI_COM.csv",
    bucket = "donnees-insee",
    opts = list("region" = "")
  )
aws.s3::s3write_using(
  df,
  FUN = data.table::fwrite,
  # Les options de fread sont ici
  sep = " ;",
  col.names = TRUE,
  object = "data/filosofi2016_example.csv",
  bucket = "MON_BUCKET_A_REMPLACER",
  opts = list("region" = "")
)
Exemples additionnels liés au Funathon
bucket <- "donnees-funathon"
aws.s3::get_bucket(bucket, region = "", prefix = "2023/sujet2/diffusion")

Illustration par la pratique avec Jupyter 🚀

Démonstration 🚀

Exemple à partir du sujet 4

Aide-mémoire S3

Voir https://pythonds.linogaliana.fr/reads3/

Git

Voir https://pythonds.linogaliana.fr/exogit/

Questions