7 Connexion à des données distantes
7.1 Stockage S3
7.1.1 Description
Le stockage S3 est une solution de stockage objet, similaire à celle utilisée par Nextcloud. Cette option est idéale pour le stockage de fichiers et documents.
7.1.2 Mise en place
Création du bucket
- Faites une demande de création de bucket S3 INRAE
- Accédez à votre espace via https://cloud.inrae.fr/
Configuration de la connexion
Utilisez le package
aws.s3
dans R pour interagir avec votre bucket :library("aws.s3") # Configuration des variables d'environnement Sys.setenv( "AWS_ACCESS_KEY_ID" = "<VOTRE_ID_KEY>", "AWS_SECRET_ACCESS_KEY" = "<VOTRE_SECRET_KEY>", "AWS_DEFAULT_REGION" = "s3-tls", # Voir note ci-dessous "AWS_S3_ENDPOINT" = "stockage.inra.fr" ) # Liste des buckets disponibles bucketlist()
Note importante : La région (
AWS_DEFAULT_REGION
) doit correspondre au début de l’adresse S3 visible dans le menu “Accès API” de votre projet sur cloud.inrae.fr.
7.2 Bases de données DSI INRAE
7.2.1 Options disponibles
- Bases de données gérées par la DSI
- Demande de création via Ariane
- Supports : PostgreSQL, MySQL, etc.
- Bases sur machine virtuelle
- Demande de VM via Ariane
- Installation et gestion de votre propre serveur de bases de données
7.2.2 Configuration requise
- Ouverture des ports
- Faire une demande d’ouverture de ports pour le datacenter/VM
- Configuration des règles de pare-feu nécessaires
- Autorisation d’accès
- Ajouter l’IP SK8 dans les règles d’accès de la base de données
- Contacter l’équipe SK8 pour obtenir l’IP
- Connexion depuis R
Utiliser le package
DBI
et le driver approprié pour votre SGBDExemple avec PostgreSQL :
library(DBI) library(RPostgres) <- dbConnect( con Postgres(), host = "xxx", port = 5432, dbname = "ma_base", user = Sys.getenv("DB_USER"), password = Sys.getenv("DB_PASSWORD") )
7.3 Serveurs locaux (SGBD ou SFTP)
7.3.1 Configuration requise
- Côté serveur local
- Demander l’ouverture des ports nécessaires
- Configurer le pare-feu pour autoriser l’accès depuis l’IP SK8
- Configuration de l’application
- Utiliser les packages appropriés pour la connexion
- Gérer les identifiants de manière sécurisée
7.4 Sécurité des identifiants
⚠️ Important : Les identifiants d’accès (clés API, mots de passe, etc.) ne doivent jamais être écrits en clair dans le code.
Pour une gestion sécurisée de vos identifiants :
- Consultez la section sur la gestion des variables secrètes
- Utilisez des variables d’environnement
- Dans SK8, utilisez les variables CI/CD sécurisées