FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

Comment héberger gratuitement votre site Web Python sur Heroku

Vous venez donc de terminer un site Web de portefeuille simple avec Python et vous souhaitez le mettre en place en utilisant un hébergement gratuit. Vous avez entendu parler de l'hébergement gratuit d'Heroku, mais vous ne comprenez pas tout à fait les détails techniques impliqués.

Ce guide vous aidera à parcourir tout le processus d'hébergement gratuit de votre site Web Python sur Heroku, de manière beaucoup plus simple. Nous supposons que vous avez une connaissance de base de Python et d'au moins un de ses frameworks --- de préférence Django.

Pourquoi choisir Heroku ?

Heroku est un fournisseur d'hébergement Web Platform as a Service (PaaS) qui exécute son infrastructure sur quelque chose qu'il appelle Dynos. Il vous permet de rester concentré sur le déploiement, tout en prenant en charge la difficulté de maintenir et de développer votre infrastructure Web.

Si vous ne pouvez pas vous permettre un hébergement payant mais que vous souhaitez mettre en place rapidement un portefeuille en ligne, vous pouvez envisager de l'héberger sur Heroku. En plus d'être gratuit, il est assez rapide de mettre en place votre site Web sur Heroku.

Bien sûr, il existe d'autres plates-formes sur lesquelles vous pouvez héberger gratuitement votre site Web Python, telles qu'Amazon Web Services et PythonAnywhere. Mais le processus d'hébergement sur Heroku est simple, en particulier pour les personnes n'ayant aucune connaissance préalable du déploiement.

Lorsque vous hébergez un site Web gratuitement sur Heroku, vous n'avez pas nécessairement besoin d'avoir un nom de domaine. Il vous suffit de spécifier le nom de votre application sur la plate-forme d'hébergement. Heroku crée ensuite un app.herokuapp.com localisateur pour vous. Lorsque vous utilisez ce service gratuit, votre site fonctionne sur Heroku Dynos.

Si vous décidez plus tard d'évoluer et d'obtenir un nom de domaine, c'est tout aussi simple et rapide, mais vous devez payer pour cela. Le coût écrasant de la maintenance de la mise à niveau peut vous amener à y repenser, mais cela en vaut la peine si vous êtes déterminé à investir davantage dans le projet.

Voyons maintenant comment héberger gratuitement votre site Web Python sur Heroku. Notez que ceci est basé sur Python version 3.7 et Django version 2.1.7.

Configurer Git et Heroku

Pour commencer, téléchargez Git depuis le site Web git-scm. Les différentes commandes et astuces pour installer Git sur tous les systèmes d'exploitation y sont expliquées.

Après avoir installé Git, vous devez également créer un compte avec Heroku sur la page d'inscription Heroku si vous n'en avez pas déjà un.

Ensuite, téléchargez et installez la CLI Heroku à partir du site Web Heroku. La CLI Heroku vous permet de communiquer avec votre référentiel chaque fois que vous devez valider des modifications dans votre application.

Si vous n'êtes pas déjà familiarisé avec les commandes Git, vous devriez jeter un œil à notre introduction au contrôle de version avec Git.

Configurer un projet Django

Si vous n'avez pas de projet Django configuré et que vous souhaitez l'essayer avec ce tutoriel, ouvrez la ligne de commande et créez un environnement virtuel si vous n'en avez pas encore. Une fois l'environnement virtuel prêt, utilisez cette commande pour installer le framework Django :

pip installer django==2.1.7 

Une fois Django installé dans l'environnement virtuel, exécutez la commande suivante pour démarrer un nouveau projet Django :

django-admin.py startproject nom_projet 

Ensuite, créez une nouvelle application Python. Pour ce faire, migrez vers le dossier racine de votre projet sur le CMD et exécutez :

python manage.py startapp app_name 

N'oubliez pas de remplacer project_name et app_name avec vos noms préférés.

Vous avez besoin du gunicorne module pour cela, vous devez donc également exécuter pip install gunicorn . Ajoutez ensuite gunicorn à la liste des applications installées dans settings.py , comme indiqué ci-dessous :

Comment héberger gratuitement votre site Web Python sur Heroku

Ceci n'est qu'une introduction superficielle à la construction d'une application Django. Cependant, que votre application soit prête ou que vous en construisiez une, assurez-vous que votre exécution python manage.py migrate pour créer votre base de données.

Vous devriez maintenant avoir une application Python en cours d'exécution dans votre framework Django. Nous allons maintenant plonger dans notre objectif principal.

Déploiement de votre application sur Heroku

Pour réussir le déploiement de votre application sur Heroku, vous devez configurer un requirements.txt fichier. Pour le configurer, exécutez ce qui suit sur votre CMD :

gel de pip>
 requirements.txt 

Cette ligne crée un .txt fichier qui contient tous les packages utilisés pour servir votre projet. Heroku examine ce fichier lors du déploiement et installe ces packages automatiquement.

Un autre fichier important que vous devez spécifier est le Procfile . Cela indique à Heroku les commandes à exécuter lors de l'initialisation de l'application. Cependant, vous devez créer ce fichier en créant explicitement un nouveau fichier texte nommé Procfile dans la racine de votre projet. Assurez-vous que ce fichier n'a pas d'extension de fichier ; sinon, cela ne fonctionnera pas.

Pour supprimer l'extension de fichier du Procfile dans Windows, ouvrez le dossier dans l'Explorateur de fichiers, cliquez sur Afficher dans la barre d'outils supérieure, et cochez les Extensions de nom de fichier boîte. Vous verrez alors les extensions de tous les fichiers, y compris le .txt extension pour Procfile . Faites un clic droit sur Procfile et choisissez Renommer , puis supprimez simplement le .txt extension et appuyez sur Entrée .

Comment héberger gratuitement votre site Web Python sur Heroku

Ensuite, ouvrez le Procfile et ajoutez la ligne suivante, en remplaçant project_name avec le nom qui s'applique à votre projet :

web :gunicorn project_name.wsgi 

En option, vous pouvez également créer un runtime.txt fichier. Ouvrez le fichier et spécifiez la version Python comme suit :

python-3.7.6 

C'est ainsi que vous indiquez à Heroku la version Python sur laquelle votre application s'exécute. Si vous ne spécifiez pas ce fichier, Heroku utilise simplement la dernière version de Python par défaut.

Ensuite, dans l'invite de commande, connectez-vous à votre compte Heroku en exécutant cette commande :

connexion heroku 

Cette commande ouvre votre navigateur par défaut sur la page de connexion Heroku, où vous pouvez fournir vos identifiants de connexion.

Pour créer une application sur Heroku, saisissez la ligne suivante :

heroku crée ademosapp2 

Remplacer ademosapp2 avec le nom de votre application préférée. Si le nom de l'application sélectionnée est en cours d'utilisation, un message vous invite à choisir un nouveau nom.

Sur la page de connexion, cliquez sur le logo Heroku pour vous connecter à votre tableau de bord Heroku. Vous devriez maintenant voir l'application que vous venez de créer.

Comment héberger gratuitement votre site Web Python sur Heroku

Ensuite, ouvrez votre éditeur de texte préféré à l'emplacement de votre projet et accédez au settings.py de votre projet . Dans settings.py fichier, modifiez l'hôte autorisé à [*] --- cela rend votre application accessible à n'importe quel hôte mondial.

Allez maintenant dans votre tableau de bord Heroku et cliquez sur l'application nouvellement créée, puis sur paramètres . Dans les paramètres, faites défiler vers le bas et cliquez sur Ajouter un buildpack . Sélectionnez ensuite Python comme buildpack et cliquez sur Enregistrer les modifications .

Comment héberger gratuitement votre site Web Python sur Heroku

Ensuite, revenez à votre CMD et exécutez le code suivant pour installer Heroku dans votre projet :

pip installer django-heroku 

Maintenant, ajoutez le package nouvellement installé au requirements.txt fichier en exécutant :

gel de pip>
 requirements.txt 

Ensuite, ouvrez le fichier settings.py de votre projet fichier et tapez :

importer django_heroku 

Aussi, sur la dernière ligne de settings.py , activez django-heroku en ajoutant :

django_heroku.settings(locals()) 
#assurez-vous de commenter cette ligne après le déploiement

Une fois cela fait, lancez un référentiel distant en saisissant ce qui suit dans votre ligne de commande :

heroku init 

Ensuite, créez un référentiel d'applications Heroku en exécutant :

heroku git:remote -a ademosapp2 #remplacez ademosapp2 par le nom de votre application 

Pour vérifier les fichiers qui doivent être validés, exécutez :

statut git 

Ensuite, tapez la commande suivante pour ajouter toutes les modifications à votre référentiel :

git add --all 

Une fois les modifications ajoutées, validez vos modifications dans Heroku en exécutant la commande :

git commit -m "initial-commit" 

Notez que "initial-commit" pouvez utiliser le nom de votre choix.

Ensuite, vous devez désactiver collectstatic en utilisant ce qui suit :

heroku config:set DISABLE_COLLECTSTATIC=1 

Sinon, vous risquez de rencontrer des problèmes lors du processus de déploiement.

Pour enfin pousser vos fichiers vers votre référentiel Heroku, utilisez la commande :

maître git push heroku 

Cela pousse tous vos fichiers vers Heroku et rend l'application accessible de n'importe où. Pour voir votre application nouvellement déployée, accédez à https://app_name.herokuapp.com dans votre navigateur, en remplaçant app_name avec le nom de votre application.

Comment héberger gratuitement votre site Web Python sur Heroku

Heroku peut-il héberger une application qui ne s'exécute pas sur Python ?

Vous pouvez héberger une variété de versions d'applications sur Heroku ; les mêmes processus Git que nous avons couverts ici fonctionnent pour d'autres langages que Python. Vous n'avez qu'à apporter de petites modifications, telles que la réinitialisation de votre pack de construction.

Bien que Heroku vous propose un hébergement gratuit, nous savons tous que le contenu gratuit est assorti de certaines limitations. Cependant, si vous ne vous attendez pas à ce que votre site Web reçoive beaucoup de trafic, l'hébergement Heroku gratuit peut être une bonne option.


[]