Cloud9

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type IDE en ligne (édition de code dans le navigateur)
Statut Racheté par Amazon en 2016 (devenu AWS Cloud9) ; le service grand public c9.io a été fermé par la suite (à vérifier selon la date de lecture)
Voir aussi Aws · Cloud OVH

Cloud9 était un éditeur de code accessible depuis le navigateur, utilisable en ligne (service hébergé, c9.io) ou déployé soi-même à partir de son SDK open source.

Présentation

Racheté par Amazon en 2016, Cloud9 est devenu AWS Cloud9, intégré à la console AWS et provisionné automatiquement sur une instance EC2 ou en local. Le service public indépendant (c9.io) a cessé d'exister par la suite — les instructions ci-dessous, pour un déploiement auto-hébergé à partir du SDK open source, restent une référence historique à vérifier avant tout usage en production (dépôt à l'arrêt depuis plusieurs années).

Installation auto-hébergée (SDK, sur un VPS CentOS)

yum -y install ncurses-devel gcc gcc-c++ tmux nodejs glibc-static centos-release-scl npm
yum --disablerepo=* --enablerepo=extras install centos-release-scl.noarch
yum -y install python27 npm python-pip

git clone https://github.com/c9/core sdk
cd sdk
./scripts/install-sdk.sh

# écoute sur toutes les interfaces, sans authentification (labo uniquement)
node server.js -p 8181 -l 0.0.0.0 -a :

# avec authentification basique et écoute sur une IP précise
node server.js -p 8181 -l IP_SERVEUR -a utilisateur:motdepasse

L'IDE est ensuite accessible sur http://IP_SERVEUR:8181/ide.html. À réserver à un usage interne/labo : le mode d'authentification basique embarqué n'est pas un remplacement d'un accès chiffré (HTTPS) devant Internet — passer par un reverse proxy TLS pour toute exposition publique.

Service systemd (CentOS 7)

vi /etc/systemd/system/cloud9.service
[Unit]
Description=Cloud9 IDE
After=network.target iptables.service firewalld.service

[Service]
WorkingDirectory=/var/www/cloud9/sdk/
ExecStart=/usr/bin/node /var/www/cloud9/sdk/server.js -p 8181 -l IP_SERVEUR -a utilisateur:motdepasse
SyslogIdentifier=cloud9ide
Restart=on-failure

[Install]
WantedBy=multi-user.target
systemctl enable cloud9
systemctl start cloud9

Corrections apportées par rapport à un montage naïf : la ligne After= de la source dupliquait firewalld.service ; ExecStart utilisait nohup ... & dans un service systemd, ce qui est inutile (systemd gère déjà le détachement du processus) et empêchait la ligne de se terminer proprement — remplacé par un appel direct à node avec Restart=on-failure.

Voir aussi

  • Aws — AWS Cloud9 est aujourd'hui la continuation officielle du produit
  • Cloud OVH — hébergement possible du VPS support de l'installation auto-hébergée