Comment héberger votre site Web Python gratuitement sur Heroku

Comment héberger votre site Web Python gratuitement 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 de Heroku, mais vous ne comprenez pas tout à fait les détails techniques impliqués.

Ce guide vous aidera à parcourir l'ensemble du processus d'hébergement gratuit de votre site Web Python 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 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 construire votre infrastructure Web.

Si vous ne pouvez pas vous permettre un hébergement payant mais que vous souhaitez mettre en place un portefeuille en ligne rapidement, 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 simple --- en particulier pour les personnes sans connaissance préalable du déploiement.

Lorsque vous hébergez un site web gratuitement sur Heroku, vous n'avez pas forcément besoin d'avoir 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 ensuite un localisateur app.herokuapp.com pour vous. Lorsque vous utilisez 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 à y repenser, mais cela en vaut la peine si vous êtes déterminé à investir davantage dans le projet.

Examinons maintenant comment héberger votre site Web Python gratuitement 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 Heroku CLI à 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 configuré de projet Django 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 install 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 project_name

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

python manage.py startapp app_name

Rappelez - vous de remplacer project_name et app_name avec vos noms préférés.

Vous avez besoin du module gunicorn 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 votre site Web Python gratuitement sur Heroku

Ceci n'est qu'une introduction superficielle à 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 migre 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 fichier requirements.txt . Pour le configurer, exécutez la commande suivante sur votre CMD :

pip freeze > requirements.txt

Cette ligne crée un fichier .txt 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 fichier 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 à 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 sous Windows, ouvrez le dossier dans l'Explorateur de fichiers, cliquez sur Afficher dans la barre d'outils supérieure et cochez la case Extensions de nom de fichier. Vous verrez alors les extensions de tous les fichiers, y compris l' extension .txt pour Procfile . Cliquez avec le bouton droit sur Procfile et choisissez Renommer , puis supprimez simplement l' extension .txt et appuyez sur Entrée .

Comment héberger votre site Web Python gratuitement sur Heroku

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

web: gunicorn project_name.wsgi

En option, vous pouvez également créer un fichier runtime.txt . 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 :

heroku login

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

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

heroku create ademosapp2

Remplacez ademosapp2 par 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.

Comment héberger votre site Web Python gratuitement sur Heroku

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

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

Comment héberger votre site Web Python gratuitement sur Heroku

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

pip install django-heroku

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

pip freeze > requirements.txt

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

import django_heroku

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

django_heroku.settings(locals()) #ensure that you comment this line out after deployment

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 with your app's name

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

git status

Ensuite, saisissez 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 collectstatic en utilisant ce qui suit :

heroku config:set DISABLE_COLLECTSTATIC=1

Sinon, vous pourriez 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 envoie 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 par le nom de votre application.

Comment héberger votre site Web Python gratuitement sur Heroku

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 traités 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 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 peut être une bonne option.


Comment utiliser Python comme calculatrice de ligne de commande

Comment utiliser Python comme calculatrice de ligne de commande

Bien que vous puissiez utiliser une calculatrice graphique sur votre ordinateur, l'interpréteur du langage de programmation Python peut également servir de calculatrice de bureau. C'est une blague si populaire dans la communauté Python qu'elle est mentionnée dans le didacticiel officiel. Voici comment vous pouvez utiliser Python comme calculatrice.

Les 8 meilleurs blogs Java pour les programmeurs

Les 8 meilleurs blogs Java pour les programmeurs

En tant que programmeur, vous devez relever des défis pour survivre et créer des merveilles dans le domaine du développement ou de la programmation. Par conséquent, si vous cherchez à apprendre un langage de programmation avancé pour améliorer vos compétences professionnelles, Java est l'une des meilleures perspectives.

7 commandes vitales pour démarrer avec Python pour les débutants

7 commandes vitales pour démarrer avec Python pour les débutants

Apprendre un nouveau langage de programmation comme Python devient facile si vous disposez d'une feuille de route complète détaillant les concepts à apprendre en tant que débutant et comment progresser davantage pour atteindre le prochain jalon. Même les programmeurs intermédiaires devraient fréquemment réviser leurs bases pour se construire une base solide.

Principes de conception de sites Web réactifs

Principes de conception de sites Web réactifs

De nos jours, il est courant de créer un site Web ou une application qui ajuste son interface utilisateur en fonction du navigateur ou de l'appareil. Il existe deux approches pour atteindre cet objectif. La première consiste à créer différentes versions de votre site Web ou de votre application pour différents appareils. Mais c'est inefficace et peut conduire à des erreurs imprévisibles.

Comment compter le nombre de chiffres dans un nombre à laide de C++, Python et JavaScript

Comment compter le nombre de chiffres dans un nombre à laide de C++, Python et JavaScript

Travailler avec des nombres fait partie intégrante de la programmation. Chaque langage de programmation prend en charge la manipulation des nombres de différentes manières. Dans cet article, vous apprendrez à trouver le nombre total de chiffres dans un entier à l'aide d'approches itératives, basées sur les journaux et basées sur les chaînes.

Les 9 meilleures alternatives Docker pour la gestion des conteneurs

Les 9 meilleures alternatives Docker pour la gestion des conteneurs

Les conteneurs sont très utiles pour le développement, le déploiement et la gestion de logiciels dans un environnement virtuel. Docker est utile dans le processus de conteneurisation, mais ce n'est pas la seule plate-forme disponible. Si vous recherchez des alternatives à Docker, ne cherchez pas plus loin. Cette liste présente des alternatives Docker riches en fonctionnalités et efficaces à utiliser dans votre prochain projet.

SQL vs NoSQL : quelle est la meilleure base de données pour votre prochain projet ?

SQL vs NoSQL : quelle est la meilleure base de données pour votre prochain projet ?

SQL vs NoSQL : quelle est la meilleure base de données pour votre prochain projet ?

Comment intégrer des tweets dans vos publications WordPress

Comment intégrer des tweets dans vos publications WordPress

L'intégration de services tiers dans vos publications WordPress est un moyen passionnant de captiver l'intérêt d'un visiteur. Le contenu intégré fournit également des repères visuels qui facilitent la numérisation. WordPress a facilité l'ajout de ce type de contenu.

Comment supprimer le dossier des modules de nœud avec npkill

Comment supprimer le dossier des modules de nœud avec npkill

Node.js est un environnement d'exécution JavaScript qui vous permet d'exécuter JavaScript en dehors des navigateurs Web, ce qui en fait un choix populaire pour développer toutes sortes d'applications. Une partie de sa popularité est due à la pléthore de packages NPM disponibles pour faciliter l'expérience des développeurs.

Comment écrire et compiler votre premier code de solidité

Comment écrire et compiler votre premier code de solidité

Solidity est le langage de programmation utilisé par les contrats intelligents sur la blockchain Ethereum. C'est un langage de programmation orienté objet de type statique.

Top 5 des badges qui vont booster votre dépôt GitHub

Top 5 des badges qui vont booster votre dépôt GitHub

Les badges GitHub peuvent améliorer la lisibilité d'un référentiel en offrant aux utilisateurs un moyen rapide de capturer les métriques du référentiel. Des badges peuvent être intégrés dans votre README.md pour clarifier l'importance et la nécessité de votre projet aux autres développeurs. En conséquence, les lecteurs se font une idée très rapide du référentiel en vérifiant les badges joints.

Quest-ce que la Journée internationale des programmeurs ? 3 façons de célébrer cette année

Quest-ce que la Journée internationale des programmeurs ? 3 façons de célébrer cette année

Les journées de célébration internationales sont un bon moyen de reconnaître les questions sociales, les journées historiques et les carrières respectives. La Journée internationale des programmeurs célèbre le rôle que les programmeurs jouent pour améliorer la vie quotidienne. Le monde civilisé dans lequel nous vivons est le produit du travail acharné des programmeurs.

Comment fonctionne la méthode Python String format() ? 10 exemples

Comment fonctionne la méthode Python String format() ? 10 exemples

Qu'il s'agisse d'une requête de base de données ou de résultats d'opérations mathématiques, la méthode de format de chaîne Python offre un moyen plus dynamique et attrayant de présenter les résultats à un utilisateur.

Visual Studio 2022 vs. 2019 : devriez-vous mettre à niveau maintenant ? Expliqué

Visual Studio 2022 vs. 2019 : devriez-vous mettre à niveau maintenant ? Expliqué

Plus tôt cette année, Microsoft a publié la version préliminaire de Visual Studio 2022 dans le monde de la programmation sauvage. C'est une bonne nouvelle! C'est un IDE extrêmement populaire, mais qui doit faire l'objet d'une mise au point ou peut-être même d'une refonte, étant donné le rythme des changements dans l'écosystème DevOps dans lequel il prospère.

Une introduction simple aux métriques logicielles

Une introduction simple aux métriques logicielles

Les métriques logicielles sont des mesures utilisées pour quantifier divers aspects de votre logiciel. Ces aspects peuvent aller du coût, de la qualité et de l'efficacité de l'équipe de développement.

Comment installer .NET Framework version 3.5 sur Windows 10

Comment installer .NET Framework version 3.5 sur Windows 10

En tant qu'utilisateur Windows, vous avez probablement au moins une fois rencontré les mots .NET Framework. Il s'agit d'un framework logiciel développé par Microsoft qui vous permet de créer et d'exécuter des programmes C#, C++, F# et Visual Basic. La dernière version de .NET est la 4.8, mais votre ordinateur peut avoir besoin d'une ancienne version de .NET (comme .NET 3.5) pour exécuter certaines applications.

Flask ou CherryPy : quel framework Python devriez-vous utiliser ?

Flask ou CherryPy : quel framework Python devriez-vous utiliser ?

Si vous êtes un développeur Python, vous pouvez grandement bénéficier de la gamme de frameworks disponibles. Alors que certains cadres sont mieux adaptés aux grands écosystèmes, d'autres se spécialisent dans la réalisation d'objectifs de développement spécifiques. Lisez la suite pour découvrir les fonctionnalités de base, les utilisations et les différences entre deux frameworks Python : Flask et CherryPy.

Comment trouver des cubes et des carrés parfaits à N-Digit à laide de Python, C++ et JavaScript

Comment trouver des cubes et des carrés parfaits à N-Digit à laide de Python, C++ et JavaScript

De nombreux programmeurs adorent résoudre des problèmes mathématiques délicats à l'aide de code. Il aide à aiguiser l'esprit et à améliorer les compétences en résolution de problèmes. Dans cet article, vous apprendrez à trouver les carrés et cubes parfaits à n chiffres les plus petits et les plus grands à l'aide de Python, C++ et JavaScript. Chaque exemple contient également un exemple de sortie pour plusieurs valeurs différentes.

Comment ajouter Python à la variable PATH de Windows

Comment ajouter Python à la variable PATH de Windows

L'exécution de Python à partir du terminal est souvent inévitable. Cependant, si vous venez d'installer Python sur Windows 10 pour la première fois, son exécution via le terminal Windows n'est possible que s'il est ajouté à la variable d'environnement Windows PATH.

Comment utiliser linstruction Python if

Comment utiliser linstruction Python if

L'instruction if est la force motrice de la programmation logique. En conséquence, une meilleure compréhension des Pythons est un ajout important à vos compétences en programmation Python.

Comment utiliser Python comme calculatrice de ligne de commande

Comment utiliser Python comme calculatrice de ligne de commande

Bien que vous puissiez utiliser une calculatrice graphique sur votre ordinateur, l'interpréteur du langage de programmation Python peut également servir de calculatrice de bureau. C'est une blague si populaire dans la communauté Python qu'elle est mentionnée dans le didacticiel officiel. Voici comment vous pouvez utiliser Python comme calculatrice.

Les 8 meilleurs blogs Java pour les programmeurs

Les 8 meilleurs blogs Java pour les programmeurs

En tant que programmeur, vous devez relever des défis pour survivre et créer des merveilles dans le domaine du développement ou de la programmation. Par conséquent, si vous cherchez à apprendre un langage de programmation avancé pour améliorer vos compétences professionnelles, Java est l'une des meilleures perspectives.

7 commandes vitales pour démarrer avec Python pour les débutants

7 commandes vitales pour démarrer avec Python pour les débutants

Apprendre un nouveau langage de programmation comme Python devient facile si vous disposez d'une feuille de route complète détaillant les concepts à apprendre en tant que débutant et comment progresser davantage pour atteindre le prochain jalon. Même les programmeurs intermédiaires devraient fréquemment réviser leurs bases pour se construire une base solide.

Principes de conception de sites Web réactifs

Principes de conception de sites Web réactifs

De nos jours, il est courant de créer un site Web ou une application qui ajuste son interface utilisateur en fonction du navigateur ou de l'appareil. Il existe deux approches pour atteindre cet objectif. La première consiste à créer différentes versions de votre site Web ou de votre application pour différents appareils. Mais c'est inefficace et peut conduire à des erreurs imprévisibles.

Comment compter le nombre de chiffres dans un nombre à laide de C++, Python et JavaScript

Comment compter le nombre de chiffres dans un nombre à laide de C++, Python et JavaScript

Travailler avec des nombres fait partie intégrante de la programmation. Chaque langage de programmation prend en charge la manipulation des nombres de différentes manières. Dans cet article, vous apprendrez à trouver le nombre total de chiffres dans un entier à l'aide d'approches itératives, basées sur les journaux et basées sur les chaînes.

Les 9 meilleures alternatives Docker pour la gestion des conteneurs

Les 9 meilleures alternatives Docker pour la gestion des conteneurs

Les conteneurs sont très utiles pour le développement, le déploiement et la gestion de logiciels dans un environnement virtuel. Docker est utile dans le processus de conteneurisation, mais ce n'est pas la seule plate-forme disponible. Si vous recherchez des alternatives à Docker, ne cherchez pas plus loin. Cette liste présente des alternatives Docker riches en fonctionnalités et efficaces à utiliser dans votre prochain projet.

SQL vs NoSQL : quelle est la meilleure base de données pour votre prochain projet ?

SQL vs NoSQL : quelle est la meilleure base de données pour votre prochain projet ?

SQL vs NoSQL : quelle est la meilleure base de données pour votre prochain projet ?

Comment intégrer des tweets dans vos publications WordPress

Comment intégrer des tweets dans vos publications WordPress

L'intégration de services tiers dans vos publications WordPress est un moyen passionnant de captiver l'intérêt d'un visiteur. Le contenu intégré fournit également des repères visuels qui facilitent la numérisation. WordPress a facilité l'ajout de ce type de contenu.

Comment supprimer le dossier des modules de nœud avec npkill

Comment supprimer le dossier des modules de nœud avec npkill

Node.js est un environnement d'exécution JavaScript qui vous permet d'exécuter JavaScript en dehors des navigateurs Web, ce qui en fait un choix populaire pour développer toutes sortes d'applications. Une partie de sa popularité est due à la pléthore de packages NPM disponibles pour faciliter l'expérience des développeurs.

Comment écrire et compiler votre premier code de solidité

Comment écrire et compiler votre premier code de solidité

Solidity est le langage de programmation utilisé par les contrats intelligents sur la blockchain Ethereum. C'est un langage de programmation orienté objet de type statique.