Cloud9
| 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.