Certaines personnes qui programment doivent souvent travailler un peu partout mais n’ont pas un accès régulier à leur plateforme de code installée sur leur ordinateur. Ainsi, ils vont chercher à utiliser des systèmes de révisions en ligne où elles peuvent entreposer leur code pour y travailler n’importe où même sans plateforme (Git: GitHub, GitLab ; SVN: Tortoise).

Cependant, il y a quelque temps, une nouvelle plateforme a fait son entrée pour rendre accessible la programmation partout dans un navigateur, avec plusieurs outils intégrés: R-Studio (RStudio Server).

Interface de RStudio: console et terminal à gauche, gestionnaire de fichiers et packages avec les plots et l’aide à droite en bas, et les datasets + Git à droite en haut.

R-Studio est un outil en ligne qui comprend plusieurs outils dont la console R (peut être changé pour Python ou peut être configuré pour accepter toutes les langues en mode exécution), le terminal, un IDE compatible avec plusieurs langages, Git/SVN, la gestion de packages, Shiny Server, R-MarkDown, pour pouvoir programmer à distance et pouvoir tester ses programmes à distance.

Ceci s’avère particulièrement utile dans les ordinateurs d’étrangers où on peut être forcé de travailler dessus et que les outils ne sont pas les mêmes.

R-Studio a besoin de quelques pré-requis avant de fonctionner:

  • Un serveur tournant sur Linux
  • Un accès SSH ou terminal
  • Pour y accéder en ligne, un uplink avec l’Internet
  • Des comptes différents de root et un avec sudo.
  • Avoir installé Make.

Donc une fois les pré-requis complétés, quelques commandes suffisent à le faire tourner:

$ sudo apt-get install r-base
$ sudo apt-get install gdebi-core
$ wget https://download2.rstudio.org/rstudio-server-1.1.456-amd64.deb
$ sudo gdebi rstudio-server-1.1.456-amd64.deb

Changez amd64 pour i386 pour 32-bits.

Le serveur tournera en local et il sera nécessaire de faire un proxy inverse Nginx ou Apache. Le port reste le même et voici une configuration pour Nginx:

upstream backend{
	server 127.0.0.1:8787;
}
map $http_upgrade $connection_upgrade {
	default upgrade;
	'' close;
}

server {
	server_name code.DOMAINE.com;
	listen 443 ssl;
	ssl on;
	ssl_certificate /var/ssl/DOMAINE.com/certificate.crt;
	ssl_certificate_key /var/ssl/DOMAINE.com/private.key;
	add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
	location / {
		proxy_pass http://127.0.0.1:8787;
		proxy_http_version 1.1;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header Host $host;
		#proxy_set_header X-Real-IP $remote-addr;
		#proxy_set_header Host X-NginX-Proxy true;
		proxy_set_header Upgrade $http_upgrade;
		#proxy_set_header Connection $connection_upgrade;
		proxy_max_temp_file_size 0;
		proxy_redirect off;
		proxy_read_timeout 120s;
		rewrite /127\.0\.0\.1/.replace("code.DOMAINE.com") break;
	}	
}

Remplacez juste DOMAINE.com par votre site et faites ensuite les changements DNS chez votre gestionnaire DNS ou registrar.

Maintenant votre instance R Studio doit marcher. Connectez-vous avec n’importe quel compte sur votre système (RStudio reprend les logins du système normal) SAUF ROOT. Vous aurez ainsi accès à la plateforme complète.

N’oubliez pas de désactiver WebSockets pour ne pas à avoir à vérifier les permissions pour démarrer le terminal. Ne bloquez pas Internet pour R Studio car la suite se met à jour automatiquement ainsi que les packages pour R.

Vous pouvez essayer d’installer Reticulate pour Python ou les autres consoles.


Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

%d blogueurs aiment cette page :