Archives par étiquette : cloud

Il est ou ton environnement de travail ? Dans ton cloud!

Dans de précédents articles (IDE rails la suiteAptana, finalement pas) , nous avons abordé différents IDE pour faire du développement rails sous Windows. Le choix d’outils en fonction de l’environnement est incontournable pour tout développeur. L’installation de l’IDE et la configuration de votre environnement n’est plus une fatalité, il existe une alternative: le cloud !

Je vous propose de découvrir deux outils  Koding et Cloud9 IDE online. Ce sont tous deux des environnements de développement intégrés utilisables directement dans votre navigateur favori.

Koding

C’est une plateforme de développement orientée réseau social. Quand vous vous connectez, vous tombez sur l’activité de tous les usagers. Sachant qu’à l’heure ou j’écris cet article, il y a 44 144 utilisateurs (d’après leur page membres), ça pollue passablement votre flux. Mais n’ayez crainte, vous pouvez configurer tout ça.

Coté développement, il y a de quoi s’amuser un peu. Il s’agit d’une VM avec un CentOS et des éléments de base: un terminal pour manipuler la vm, un éditeur de texte avec une coloration syntaxique et quelques applications.

J’ai testé un créateur de projet rails qui semble fonctionner sans problème. J’avoue avoir été un peu perdu une fois le projet créé, j’ai cherché comment l’utiliser car le viewer ne le permet pas.  Après plusieurs tentatives infructueuses et un peu de googling, je suis tombé sur la marche à suivre : http://kwiki.koding.com/wiki/RoR. Bon c’est un peu basique mais ça fonctionne ;). J’ai également récupéré mes projets depuis mon compte github sans aucun soucis.

Conclusion

Le message est clair, c’est une beta avec pas mal de « coming soon », de choses assez basiques  et de plantages réguliers (ralentissements, impossibilité d’utiliser la console). Cependant, on peut s’en sortir avec quelques recherches sur google et la lecture des documents proposés par les utilisateurs. L’orientation application  à la façon market encourage la communauté dans l’amélioration des services de la plateforme. On peut toutefois se demander sous quelle forme ce service sera monétisé et dans quelle mesure on pourra utiliser son compte « gratuit ».

Cloud9

Plus ancien, il est aussi plus abouti et bien documenté. La version gratuite permet une utilisation « basique » avec des espaces de travail publiques et alloue un espace de 123M. La version payante (12$/mois) permet, entre autre, 6 espaces privés, votre propre VM et un nombre illimité de collaborateurs. Pour mon test, je me suis connecté sur mon compte github et j’ai récupérer quelques projets. Pour le projet rails, j’ai suivi cette documentation. L’utilisation m’a parue plus simple que Koding et l’environnement moins « fouillis ». On comprend rapidement comment lancer son application.

Conclusion

Cloud9 propose un environnement efficace et clair. Il est plus mature, possède également une formule payante plus complète. Je n’ai pas eu de soucis particulier, ces quelques heures d’utilisation m’ont convaincue. Je pense continuer dans mon exploration, voir développer un ou deux petits projets avec, histoire d’en voir un peu plus. La version gratuite me suffit car je n’ai que peu de projets et ils sont tous open-source. Un passage à la version payante se justifierait avec un projet non open source ou des besoins plus importants (plus d’informations).

Le mot de la fin

A mon sens, Koding est clairement plus orienté plateforme communautaire alors que Cloud9 propose un environnement développement pur et dur. Les deux permettent de développer une application en gardant un œil sur le résultat et une console ouverte pour l’exécution des commandes et autres scripts.

Dans les deux cas, l’avantage de ne pas avoir à installer son environnement de travail est incontestable  Vous pouvez développer de n’importe où, il vous suffit d’un navigateur. L’inconvénient est bien-sur le besoin d’une connexion internet et l’ouverture vers l’extérieur qui peut soulever des problèmes de sécurité.

N’hésitez pas à partager vos expériences sur ces outils ou d’autres environnements. Il me reste deux invitations pour Koding si ça tente quelqu’un 😉

@bientôt

site officiel d'Heroku

Pibou dans les nuages avec Heroku

site officiel d'HerokuDans l’article précédent, Pibou – Partage ton code, nous avons ajouté les sources du projet sur Github via Git. Nous allons maintenant déployer le projet sur Heroku.

A quoi ça sert Heroku ?

Heroku est un service en ligne qui permet de déployer des applications dans « le cloud ». Concrètement ça permet :

  • De ne pas se soucier de l’infrastructure serveur
  • D’adapter les ressources en fonction de ses besoins (puissance/budget)
  • De profiter de git pour envoyer ses sources dans les nuages

Comment ça marche ?

Heroku utilise Git pour déployer l’application. Il s’agit en fait d’un nouveau dépôt de sources. Quand on pousse ses sources vers Heroku, il s’occupe de tout. Il faut quand même faire un peu de configuration. Pour aller plus loin -> http://www.heroku.com/how.

Mise en route

La documentation est bien faite, nous allons en profiter -> https://devcenter.heroku.com/articles/rails3.

Installation

Installer les outils ->  https://toolbelt.herokuapp.com/

Avoir un compte Heroku

  • Pour utiliser le service, il faut un compte. 😉 Ça se passe par ici -> https://api.heroku.com/signup Une fois l’enregistrement terminé, nous pouvons nous connecter via une commande lancée dans le Shell à la racine du projet : $heroku login
  • Lors de votre connexion au service, si on ne vous propose pas l’ajout de votre clé publique, vous pouvez le faire via la commande : $heroku keys:add
    Pour plus de détails -> https://devcenter.heroku.com/articles/keys

Configurer la base de données

Par défaut, nous avons des bases sqlite pour les tests, le développement et la production. Heroku demande une base en PostgreSQL. Nous allons donc :

  • Installer PostgreSQL sur son poste. Si vous rencontrez cette erreur https://gist.github.com/2400759, il suffit d’installer  la lib libpq-dev.
  • Mettre à jour le Gemfile pour prendre en compte la dépendance vers la gem ‘pg’ en environnement de production. Concrètement,  on modifie le fichier /pibou/Gemfile avec ces lignes :
group :test, :development do
  gem 'sqlite3'
end

# for heroku environment
group :production do
  gem 'pg'
end

  • Mettre à jour ces dépendances via la commande lancée à la racine du projet : $bundle install

Synchronisation des sources avec le dépôt Heroku

Le déploiement d’un projet sur Heroku se fait via l’envoie des sources sur un dépôt Git. Nous allons donc rajouter les fichiers que nous avons modifiés puis les envoyer sur nos dépôts :

Ajout des sources en local
$git add Gemfile Gemfile.lock config/database.yml
$git commit -m « Updated the dependencies »

Envoie des sources sur notre dépôt GitHub
$git push origin master

Déploiement Heroku
$git push heroku master

Mise à jour de la base de donnée distante

Tout se résume en une simple commande lancée à la racine du projet:
$heroku run rake db:migrate

Où est l’application ?

Si vous regardez votre Shell attentivement, vous verrez l’url de déploiement, pour moi -> http://pibou.herokuapp.com

En bref

Ce que nous avons réalisé :

Et après ?

Maintenant que nous avons une application déployée et un code partagé, nous allons pouvoir développer notre application de gestion de films. Mais pour bien faire, nous avons besoin de mettre en place des tests, ce sera le sujet suivant.

@bientôt