Vous venez de terminer un simple site Web de portefeuille 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 très bien les aspects techniques impliqués.
Ce guide vous aidera à travailler tout au long du processus d'hébergement de votre site Web Python gratuitement sur Heroku, d'une 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 de plate-forme en tant que service (PaaS) qui gère 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 créer 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 que Amazon Web Services et PythonAnywhere. Mais le processus d'hébergement sur Heroku est facile, surtout pour les personnes sans connaissance préalable du déploiement.
Lorsque vous hébergez un site Web gratuitement sur Heroku, vous n'avez pas nécessairement besoin d'un nom de domaine. Tout ce dont vous avez besoin est de spécifier le nom de votre application sur la plate-forme d'hébergement. Heroku crée alors un app.herokuapp.com localisateur pour vous. Lorsque vous êtes sur ce service gratuit, votre site fonctionne sur Heroku Dynos.
Si vous décidez plus tard de passer à l'échelle 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 à la 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 permettant d'installer Git sur tous les systèmes d'exploitation sont expliquées ici.
Après avoir installé Git, vous devez également créer un compte avec Heroku au Page d'inscription Heroku si vous n'en avez pas déjà.
Ensuite, téléchargez et installez le CLI Heroku sur le 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éer 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:
Nous examinons les meilleures façons de créer et de gérer vos environnements virtuels Python.
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 nom_app
N'oubliez pas de remplacer nom du projet et nom de l'application avec vos noms préférés.
Vous avez besoin du gunicorn module pour cela, vous devez donc également exécuter pip installer gunicorn. Puis ajouter gunicorn à la liste des applications installées dans settings.py, comme indiqué ci-dessous:
Ceci est juste une introduction en surface à la création 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 migrer pour créer votre base de données.
Vous devriez maintenant avoir une application Python exécutée dans votre framework Django. Nous allons maintenant plonger dans notre objectif principal.
Déployer votre application sur Heroku
Pour réussir le déploiement de votre application sur Heroku, vous devez configurer un requirements.txt déposer. Pour le configurer, exécutez ce qui suit sur votre CMD:
pip freeze> requirements.txt
Cette ligne crée un .SMS fichier contenant tous les packages utilisés pour servir votre projet. Heroku examine ce fichier pendant le 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 fichier Procfile sous Windows, ouvrez le dossier dans l'Explorateur de fichiers, cliquez sur Vue dans la barre d'outils supérieure et vérifiez le Extensions de nom de fichier boîte. Vous verrez alors les extensions pour tous les fichiers, y compris le .SMS extension pour Procfile. Faites un clic droit sur Procfile et choisissez Renommer, puis retirez simplement le .SMS extension et frapper Entrer.
Ensuite, ouvrez le Procfile et ajoutez la ligne suivante, en remplaçant nom du projet avec le nom qui s'applique à votre projet:
web: gunicorn nom_projet.wsgi
En option, vous pouvez également créer un runtime.txt déposer. 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 à la page de connexion Heroku, où vous pouvez fournir vos informations de connexion.
Pour créer une application sur Heroku, tapez la ligne suivante:
heroku créer ademosapp2
Remplacer ademosapp2 avec le nom de votre application préférée. Si le nom de votre application sélectionnée est en cours d'utilisation, vous verrez un message vous invitant à 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.
Ensuite, ouvrez votre éditeur de texte préféré à l'emplacement de votre projet et accédez à settings.py. Dans le settings.py fichier, changez le Hôte autorisé à [*]cela rend votre application accessible à n'importe quel hôte mondial.
Maintenant, allez dans votre tableau de bord Heroku et cliquez sur l'application nouvellement créée, suivi de réglages. Dans les paramètres, faites défiler vers le bas et cliquez sur Ajouter un buildpack. Ensuite, sélectionnez Python comme buildpack et cliquez sur Sauvegarder les modifications.
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:
pip freeze> requirements.txt
Ensuite, ouvrez votre projet settings.py fichier et type:
importer django_heroku
Aussi, sur la dernière ligne de settings.py, Activer django-heroku en ajoutant:
django_heroku.settings (locaux ())
# assurez-vous que vous commentez cette ligne après le déploiement
Une fois cela fait, lancez un référentiel distant en tapant 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 #replace ademosapp2 avec le nom de votre application
Pour vérifier les fichiers à valider, exécutez:
état de 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" peut utiliser n'importe quel nom que vous aimez.
Ensuite, vous devez désactiver collectionner en utilisant ce qui suit:
configuration heroku: définissez DISABLE_COLLECTSTATIC = 1
Sinon, vous risquez de rencontrer des problèmes pendant le processus de déploiement.
Pour enfin pousser vos fichiers vers votre référentiel Heroku, utilisez la commande:
git push heroku master
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 nom de l'application avec le nom de votre application.
Heroku peut-il héberger une application qui ne fonctionne pas sur Python?
Vous pouvez héberger une variété de versions d'applications sur Heroku; les mêmes processus Git que nous avons abordés ici fonctionnent pour d'autres langages que Python. Il vous suffit d'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 comporte certaines limitations. Cependant, si vous ne vous attendez pas à ce que votre site Web reçoive beaucoup de trafic, l'hébergement Heroku gratuit pourrait être une bonne option.
Vous voulez apprendre la programmation mais vous ne savez pas par où commencer? Ces projets et didacticiels de programmation pour débutants vous permettront de démarrer.
- Programmation
- Hébergement Web
- Programmation
- Python
Idowu est passionné par tout ce qui concerne les technologies intelligentes et la productivité. Pendant son temps libre, il joue avec le codage et passe à l'échiquier quand il s'ennuie, mais il aime aussi rompre avec la routine de temps en temps. Sa passion pour montrer aux gens le chemin de la technologie moderne le motive à écrire davantage.
Abonnez-vous à notre newsletter
Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives!
Un pas de plus…!
Veuillez confirmer votre adresse e-mail dans l'e-mail que nous venons de vous envoyer.