En parlant d'infrastructure, celle de Heroku repose sur AWS, accessible avec Git et Toolbelt.
Comme exemple, comme je viens de tester une application codée en Flask que j'ai nommé Ciné'hui , je vais parler d'une application web codée en Python et pour les commandes systèmes je vais utiliser Debian/Ubuntu .
Installez tout d'abord : python, virtualenv, python-pip, git et gunicorn avec apt-get ou aptitude, ensuite installez heroku toolbelt :
wget -qO- https://toolbelt.heroku.com/install-ubuntu.sh | shPour commencer créez un compte gratuit sur le cloud heroku .
Une fois les paquet en dessus installés et le compte est crée, authentifiez-vous :
heroku loginCréez le dossier de l'application :
mkdir myApp
cd myAppet créez votre environnement virtuel qu'on va nommer venv:
virtualenv venv --distributeactivez-le ensuite avec :
source venv/bin/activateSupposons que le fichier qui va lancer votre application (myFile.py) est dans le dossier ./myApp et que c'est une application web (Django, Webpy, Flask ..etc)
Dans ce cas là, créez le fichier Procfile et ajoutez cette ligne au début du fichier :
web: gunicorn myApp/myFile:appCréez maintenant votre application sur heroku avec :
heroku create myAppPour être sûr du bon fonctionnement du Procfile, tapez :
foreman startL'étape suivante est indispensable pour le fonctionnement de votre application sur Heroku :
pip freeze > requirements.txtpip va générer la liste des dépendances aux modules python que vous avez utilisé dans votre environnement virtuel "venv", qui sera ensuite utilisé par Heroku .
Maintenant nous avons besoin de stocker l'application sur un dépôt Git, et pour cela commençons par créez le fichier .gitignore et y ajouter les lignes :
venvInitialisez le git :
*.pyc
git initAjoutez tous vos fichiers au dépôt, et faites un commit suivi d'un push :
git initPour visualiser votre application sur un navigateur :
git add .
git commit -m "init"
git push heroku master
heroku openGénéralement, en programmation rien ne marche dès la première fois, vous en aurez surement besoin de ça :
heroku logsPour ouvrir python en CLI, tapez :
heroku run pythonPareil pour commencer une session Bash :
heroku run bash
Enfin, c'était la méthode basique pour installer une application web codée en Python (Flask, Django ou autre framework) sur le cloud Heroku. Le principe est presque le même pour les autres technologies. Si vous avez aimé cet article n'hésitez pas à partager sur Twitter, Facebook et Google+ .
Crédit photo