Découverte du Datalab SSPCloud
Pour une utilisation simple, vous aurez besoin de :
- Lancer des services (RStudio, VSCode, PostreSQL…)
- Importer / Exporter des données (fichiers parquet, csv, json…)
- Sauvegarder votre code
1 Lancer un service
Ici, vous pouvez modifier de nombreux paramètres (Ressources, etc.).
Attendez quelques secondes, le temps que le service se lance.
-
- Si l’on vous demande votre nom d’utilisateur : onyxia
Un nouvel onglet s’ouvre et c’est parti ! 🏄
2 S3
S3 : Simple Storage System.
Inventé par Amazon, ce système de stockage est devenu l’outil standard du marché pour le stockage en ligne.
MinIO est une solution alternative de stockage d’objets open-source qui permet de déployer facilement un stockage évolutif et performant. Elle est compatible avec l’API S3 d’Amazon, ce qui facilite l’intégration avec les applications existantes.
Pour faire simple, vous pouvez vous dire que c’est comme si vous allez stocker vos fichiers dans un Drive.
Lorsque l’on travaille dans le cloud, il est essentiel de séparer les données des programmes pour :
- mieux gérer les ressources
- renforcer la sécurité en limitant les accès et les permissions
- permettre une scalabilité indépendante des composants
MinIO offre :
- une haute disponibilité
- une sécurité renforcée grâce au chiffrement des données et des contrôles d’accès
- des performances élevées, particulièrement adaptées aux environnements nécessitant un accès rapide aux données, comme le Big Data et l’intelligence artificielle
Vos données seront stockées dans un bucket.
2.1 Votre bucket
Un bucket est un conteneur de stockage utilisé pour regrouper des objets (fichiers et métadonnées) dans des systèmes de stockage de type cloud. Il facilite l’organisation, la gestion des permissions et l’accès aux données dans un espace de stockage structuré.
Lors de votre création de compte, un bucket est créé avec votre nom d’utilisateur. Dans ce bucket, vous pouvez :
- créer / supprimer des dossiers
- importer / supprimer des fichiers
Vous avez plusieurs possibilités pour gérer votre stockage :
- Une interface dans le Datalab, onglet Stockage de données
- Depuis le terminal d’un service
Quelques commandes :
$ aws s3 ls s3://ludo2ne # Lister les fichiers d'un dossier
$ aws s3 cp README.md s3://ludo2ne # Copier S3 -> Service
upload: ./README.md to s3://ludo2ne/README.md
$ aws s3 mv s3://ludo2ne/README.md s3://ludo2ne/READ.txt # Renommer dans S3
move: s3://ludo2ne/README.md to s3://ludo2ne/READ.txt
$ aws s3 cp s3://ludo2ne/READ.txt . # Copier Service -> S3
download: s3://ludo2ne/READ.txt to ./READ.txt2.2 Accéder à vos données depuis un service
Sur la page d’accueil du Datalab :
Vous trouverez ici des informations pour vous connecter au stockage selon le language que vous utilisez : Python, R…
D’ailleurs pour chaque langage, il y a même plusieurs packages qui font le job. Par exemple s3fs ou boto3 pour Python.
🚧 Scripts faciles R & Python pour accéder aux données
2.3 Données d’autres utilisateurs
Si vous créez un dossier nommé diffusion à la racine de votre bucket, celui-ci sera accessible en lecture à tous les utilisateurs du Datalab.
De même vous pouvez accéder en lecture à tout fichier du dossier diffusion d’un autre utilisateur.
Enfin, en parcourant le stockage, vous noterez la présence de données INSEE.
2.4 Exportez vos résultats vers MinIO
🚧
3 Git
Sur le datalab, vos services ont une durée de vie limitée.
Pour sauvegarder vos programmes, la bonne pratique est d’envoyer son code vers un dépôt git (ici nous utiliserons GitHub).
Pour suivre la démarche, il faut disposer d’un compte GitHub.
Il est possible de suivre une démarche similaire avec GitLab.
3.1 Token : principe
Vous travaillez actuellement sur votre service du Datalab (votre dépôt local) et vous souhaitez envoyer vos modifications vers GitHub (le dépôt distant).
Dès que vous tentez d’envoyer votre code, GitHub va vous dire :
- “✋ Halte là ! Qui êtes-vous ?”
- “Identifiez-vous avec nom d’utilisateur et mot de passe !”
Vous pouvez renseigner ces informations manuellement à chaque fois, mais c’est lourd et répétitif.
Pour éviter ces contrôles incessants, la solution est d’utiliser un Token GitHub. Considérez-le comme un badge d’accès permanent qui valide votre identité en une seule fois.
Remarque : lorsque le Token est expiré, il faudra en regénérer un nouveau !
La marche à suivre pour l’utiliser :
- Générez votre Token directement sur votre interface GitHub.
- Déclarez ce Token sur votre environnement Datalab.
- Clonez le dépôt en intégrant ce token dans l’URL ou la configuration.
3.2 Créer un Token
-
- Renseignez :
- nom du token : Datalab GENES
- date d’expiration ➡️ Custom ➡️ 1 an
- ✅ Cochez repo et workflow
- Cliquez sur
- Renseignez :
- Ce jeton ne sera visible qu’une seule fois
- si vous le perdez ou s’il est expiré, il faut en générer un nouveau
3.3 Déclarer le Token
GitHub vous a fournit un jeton. Il faut maintenant le déclarer sur le Datalab :
-
- nom d’utilisateur Git
- mail (celui utilisé pour votre compte GitHub)
3.4 Utiliser le Token
Avoir déclaré son Token GitHub au datalab ≠ Avoir créé un clone en utilisant le Token.
C’est super d’avoir un token, encore faut-il savoir comment l’utiliser. Deux possibilités :
3.4.1 La méthode simple
Au moment de lancer un service, vous allez déclarer le dépôt git sur lequel vous allez travailler.
Une fois le service lancé, le dépôt sera déjà cloné en utilisant le token.
-
- Normalement sont déjà renseignés : Name, Email et Token
-
- vous la trouvez sur la page GitHub du dépôt en cliquant sur
- exemple d’url :
https://github.com/ludo2ne/ENSAI-tools.git
Votre service se lance et le dépôt est cloné 🎉
3.4.2 La méthode pas compliquée
Vous avez par exemple oublié de renseigner l’url du dépôt git au lancement du service ?
Pas de panique 😱, vous pouvez faire la même chose manuellement :
-
- Insérer
$GIT_PERSONAL_ACCESS_TOKEN@jsute après https:// - exemple :
git clone https://$GIT_PERSONAL_ACCESS_TOKEN@github.com/ludo2ne/ENSAI-tools.git
- Insérer
Vous l’avez peut-être noté lorsque vous avez déclaré le Token sur le datalab, celui-ci est stoké dans une variable d’environnement nommée GIT_PERSONAL_ACCESS_TOKEN.
Les variables d’environnement sont un système de stockage clé-valeur. Ainsi lorsque vous écrivez $GIT_PERSONAL_ACCESS_TOKEN dans le terminal, cela récupère la valeur de la variable i.e. le Token (ghp_dadadada)
Pour voir si la valeur de votre Token est bien injectée dans le service : env | grep GIT (liste les variables d’environnement, puis n’affiche que celles contenant GIT).
3.4.3 Vérifier ses branchements
Vous êtes du genre à vérifier cinq fois que votre porte est bien fermée à clé ? Pas de soucis, voici comment vérifier que vous avez bien utilisé le Token pour cloner.
-
git remote -v
Normalement cela affiche deux lignes, par exemple :
origin https://ghp_dadadadadadadada@github.com/ludo2ne/ENSAI-tools.git (fetch)
origin https://ghp_dadadadadadadada@github.com/ludo2ne/ENSAI-tools.git (push)Si le Token apparait tout est ok, sinon pour modifier l’url du dépôt distant :
-
- exemple :
git remote set-url origin https://$GIT_PERSONAL_ACCESS_TOKEN@github.com/ludo2ne/ENSAI-tools.git
- exemple :