Il y a quelques mois, je développais encore en django1 pour des projets personnels (qui n’ont certes pas (encore) abouti, mais c’est une autre histoire), et avais fait une recherche pour comparer les différentes solutions d’hébergement en django.

C’est ce que je partage ici.

Mes critères

Je développais surtout pour découvrir django, et faire un premier projet. Ainsi, mes critères étaient assez basiques.

  1. Service gratuit
  2. Sans publicité
  3. Durée d’utilisation grande ou illimitée

Les hébergeurs testés

Après des recherches23, J’ai créé des comptes sur les sites suivants.

Différemment du précédent article qui traitait des hébergeurs PHP, les hébergeurs django nécessitent service particulier, à savoir un environnement fonctionnel en django. C’est pourquoi on parle souvent de PAAS (Platform as a service), où la plateforme sur laquelle peut-être lancé une application django est fournie en tant que service.

Heroku : un inconvéniant sur le déploiement

Heroku est probablement le site qui a la plus forte réputation sur les forums que j’avais visité (notamment stackoverflow ou reddit).

Le gros point fort de Heroku est sa documentation détaillée. et son interface ergonomique et soignée. Aussi le temps de réponse des serveurs est acceptable pour un service gratuit.

Ainsi Heroku propose un service gratuit presque complet. “Presque”, car il ne permet pas l’hébergement de fichiers utilisateurs. C’est-à-dire qu’à chaque mise à jour de l’application django, les fichiers média (images, vidéos, et autres) sont supprimés car le dossier de l’application est remplacé par le dossier contenant l’application à jour, vierge. Ce problème s’est retrouvé sur tous les autres services d’hébergement essayés.

La seule façon que j’ai trouvé de résoudre ce problème est d’utiliser un Content Delivery Network (CDN), dont le rôle est d’héberger les fichiers stockés par les utilisateurs de l’application web et de les servir (c’est-à-dire les envoyer à un utilisateur client lorsque celui-ci les demande.

Openshift, manque de documentation

Déçu des limitations inconvenantes de la version gratuite de Heroku, j’ai cherché d’autres solutions et ai tenté Openshift, maintenu par la société RedHat. J’ai obtenu approximativement le même service qu’avec Heroku, avec un bémol conséquent : le manque cruel de documentation. Pour exemple, des actions simples comme déployer une application django n’était pas documenté officiellement j’avais cherché des explications sur d’autres sites4.

J’en ai conclu que Openshift s’oriente principalement pour les entreprises et propose probablement un service gratuit bien en-deça de sa version intégrale.

Tout cela étant dit, mes pérégrinations remontent à presque un an maintenant, et depuis openshift a mis à disposition une nouvelle version de ses services. À tester donc…

Python Anywhere, inadapté

J’ai très peu utilisé PythonAnywhere relativement à Openshift et Heroku, et je m’étais créé un compte pour voir si les limites des deux autres seraient surmontées ici. Mais non, dommage.

En ce qui concerne le service en lui-même, ça a l’air tout a fait correct et avec une popularité auprès des utilisateurs de python, qui produisent une bonne quantité de vidéos tutoriels sur youtube.

Autres hébergeurs intéressants5

Le nouveau qui vaut le détour

Alors que je rédigeais cet article au calme, je fais une petite recherche, et tombe sur un nouveau site, répertorié par le wiki de python.org6. Son nom est HelioHost et voici sa description sur sa page d’accueil :

Nous sommes une organisation à but non lucratif officiellement classée 501(c)(3), alimentée par une communauté de passionnés, qui offre un service d’hébergement complet et gratuit. (Traduit de l’anglais)

Voilà qui annonce du lourd !

Références