Archives du blog

Cloud9, Coding node.js in the cloud

Coder du javascript, ca n’est pas forcément simple, et on a toujours besoin d’un bon outil. C’est pourquoi je veux vous parler d’un IDE que j’ai utilisé récemment, et qui change un peu d’Eclipse et d’IntelliJ : Cloud9.

Cloud9 est un IDE un peu particulier : comme son nom le laisse supposer c’est un environnement de développement web-based, open source, écrit en javascript pour faire du javascript. Le back-end est d’ailleurs écrit en node.js, le front est html5 et le tout utilise massivement les websockets, que du hype! Votre code est donc accessible depuis n’importe quel poste de travail, pour peu que vous ayez une connection web, évidemment.

Pour tester rendez vous sur c9.io ou installez le directement dans votre navigateur si vous utilisez Chrome (si vraiment vous n’aimez pas votre navigateur, vous pouvez également récupérer les sources et lancer l’IDE en local). Une fois installé, il faut se connecter : pour cela vous pouvez utiliser votre compte Github ou Bitbucket, ou encore créer un compte cloud9. Le projet utilisé pour cette série d’article étant hébergé sur Github, j’utiliserais donc cette option.

Une fois connecté vous arrivez sur une page d’accueil qui liste les projets de votre compte Github. Pour commencer à travailler, il faut créer ou cloner un projet. La création permet d’héberger son projet directement sur Github, Bitbucket ou un ftp (bientôt sur Dropbox également). Cloud9 adopte un modèle de fonctionnement à la Github : si votre projet est public, l’utilisation est gratuite, si vous voulez faire un projet privé, il faut payer (15$ par mois).

L’IDE permet également de créer des contextes : en haut à gauche, cliquez sur ‘Active context’. Ces contextes permettent de changer rapidement entre vos projets et également de gérer l’aspect collaboratif : il est possible d’ajouter des membres aux différents projets et de travailler à plusieurs (avec modifications temps réel et chat intégré).

Pour faire simple, nous allons cloner le projet du précédent article, pour cela, cliquez sur le ‘+’ à côté de ‘My project’ puis choisissez ‘clone from url’. Entrez alors l’adresse du projet shares : git://github.com/cexbrayat/shares.git. Une fois que Cloud9 a terminé de cloner le projet, on peut commencer à coder en cliquant sur ‘Start editing’ !

La fenêtre qui apparaît ressemble à un IDE traditionnel avec barre de menu, explorateur de fichier et zone d’edition. En bas la zone de saisie sert de console. Si l’on ouvre le fichier app.js, on voit que la coloration syntaxique est présente et agréable. La complétion est elle aussi disponible (et très pratique, mais si elle n’est pas exempte de quelques errements). Le code est également analysé en fond, et des indications vous sont données pendant l’édition. On peut voir par exemple qu’un point virgule est manquant sur la ligne 42 avec un petit warning dans la marge. Beaucoup de raccourcis clavier traditionnels sont disponibles, le debug, l’inspection des variables, bref tout ce dont nous avons besoin. Il est même possible d’ajouter des extensions (et d’en créer) ou de modifier les thèmes (IdleFinger ou Monokai sont assez sympas).

La où Cloud9 se distingue c’est qu’il est réellement pensé pour créer du code et le tester depuis n’importe quelle machine, et particulièrement pour du code node.js. L’intégration de différents composants vont en faire l’un de vos nouveaux amis :

- Github : la ligne de commande (zone de saisie tout en bas de l’écran) vous permet de saisir vos commandes git, avec une autocomplétion bien pratique. Vous pouvez donc directement commiter vos modifications, créer vos branches etc…

- NPM : le gestionnaire de dépendances de node est déjà installé ! Le projet utilisant les modules express et jade, il faut donc les récupérer, pour cela entrez dans la ligne de commande ‘npm install’ et voilà le projet prêt à être lancé.

- Node : évidemment node.js est déjà installé, vous pouvez donc lancer votre projet directement depuis votre navigateur en cliquant sur ‘run’ et en indiquant le fichier principal ‘app.js’. Le projet démarre alors et une url s’affiche en console (pour moi http://shares.cexbrayat.cloud9ide.com/) et me permet d’accéder au projet (ainsi qu’à n’importe qui, voilà qui va simplifier les démos!). La seule modification qu’il soit nécessaire de faire pour lancer le projet est de modifier le port de lancement de l’application par la variable d’environnement process.env.C9_PORT

- Le déploiement : une fois votre application prête pour le monde, vous pouvez la déployer directement depuis cloud9 vers une instance joyent ou heroku.

Les seuls reproches que je lui ferais sont le manque d’outils pour le refactoring et quelques rares plantages (pas beaucoup plus qu’un Eclipse traditionnel cependant. Un troll, où ça ?).

Vous voilà à deux clics de commencer à coder votre première application node.js, sans avoir besoin d’installer moults outils : vous n’avez plus d’excuse pour ne pas essayer !

Suivre

Recevez les nouvelles publications par mail.

Rejoignez 994 autres abonnés