Si vous avez construit un portfolio ou un prototype d’application avec Django, l’héberger gratuitement sur Vercel n’est plus qu’à quelques clics et un petit morceau de code. Heroku était une bouée de sauvetage, mais il a cessé de proposer un hébergement gratuit en 2022.


En utilisant Vercel, vous pouvez déployer votre application directement depuis GitHub gratuitement, et tout le monde peut y accéder de n’importe où. Voici comment procéder.

Configurer votre application Django pour Vercel

Vous devrez configurer quelques aspects de votre projet Django avant de pouvoir le déployer sur Vercel.

Configurer le fichier vercel.json

Tout d’abord, vous devez créer un fichier vercel.json dans le dossier racine de votre projet pour diriger Vercel vers l’interface gateway du serveur web (WSGI) de votre application :

 {
    "builds": [
      {
        "src": "django_app_name/wsgi.py",
        "use": "@vercel/python"
      }
    ],
    "routes": [
      {
        "src": "/(.*)",
        "dest": "django_app_name/wsgi.py"
      }
    ]
}

Remplacer django_app_name avec le nom de votre application Django (le même que le dossier qui contient le fichier settings.py file).

Lire  Que sont les nouveaux jetons BRC-20 de Bitcoin et à quoi servent-ils ?

Refonte du fichier wsgi.py

Vercel ne reconnaît pas l’option application dans le fichier wsgi.py. Heureusement, la seule modification que vous devrez apporter pour résoudre ce problème est de passer la variable application variable en Vercel en tant que app.

Donc, refactorisez le code de votre application wsgi.py comme indiqué :

 import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "django_blog.settings")
application = get_wsgi_application()
app = application

Connexion à une base de données distante

Si votre application a besoin d’un support de base de données, utilisez la provision de Vercel ou créez une instance de base de données externe quelque part. Heureusement, il existe de nombreuses options de bases de données PostgreSQL gratuites en ligne. Vous pouvez également vous connecter à un cluster MongoDB si vous préférez une base de données NoSQL.

Cependant, nous nous en tiendrons ici au cluster de base de données PostgreSQL de Railway, car il offre un crédit de démarrage et est facile à configurer.

Pour configurer une instance PostgreSQL sur Railway :

  1. Visitez le site web de Railway pour créer un compte.
  2. Cliquez sur Démarrer un nouveau projet.
    Page d'accueil de Railway PostgreSQL

  3. Sélectionnez Provisionner PostgreSQL.
    Options de la base de données ferroviaire

  4. Cliquez sur le bouton Postgres bannière pour voir les variables de votre base de données et les chaînes de connexion.
    Bannière PostgreSQL

  5. Allez sur le site Variables onglet. Ensuite, copiez et collez le DATABASE_URL dans un éditeur de texte pour la mettre en forme. Assurez-vous de remplacer les caractères de remplacement dans la chaîne DATABASE_URL avec les valeurs de variables appropriées.
    Variables de connexion ferroviaire

  6. Copiez les variables restantes et configurez votre base de données dans votre environnement Django. settings.py comme indiqué ci-dessous. N’oubliez pas de remplacer les noms de variables par les valeurs appropriées fournies par Railway.
     DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql',
            'URL': 'DATABASE_URL',
            'NAME': 'PGDATABASE',
            'USER': 'PGUSER',
            'PASSWORD': 'PGPASSWORD',
            'HOST': 'PGHOST',
            'PORT': PGPORT,
        }
    }

Pensez à masquer ces variables secrètes en utilisant un .env pour renforcer la sécurité de votre application Django. De plus, Vercel vous permet de lister vos variables d’environnement lors du déploiement.

Donc, une fois que vous utilisez la fonction os.getenv Python va chercher la variable spécifiée dans l’environnement d’hébergement Vercel. Ainsi, la configuration de votre base de données devient :

 DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'URL': os.getenv('POSTGRES_URL'),
        'NAME': os.getenv('PGNAME'),
        'USER': os.getenv('PGUSER'),
        'PASSWORD': os.getenv('POSTGRES_PASSWORD'),
        'HOST': os.getenv('PGHOST'),
        'PORT': os.getenv('PGPORT),
    }
}

Déployer votre dépôt GitHub sur Vercel

La deuxième partie de ce processus consiste à faire pointer Vercel vers votre dépôt sur GitHub. Une fois que vous l’avez fait, votre application sera en ligne et tout le monde pourra accéder à votre site Web à une URL que Vercel génère.

Créer un fichier d’exigences

Vercel essaie de trouver et d’installer les dépendances de votre projet à l’intérieur du fichier requirements.txt pendant le déploiement. Toutefois, n’oubliez pas que l’écriture des dépendances d’un environnement virtuel dans le fichier exigences.txt est toujours plus facile que celle de l’espace global.

Créez un fichier requirements.txt dans le dossier racine de votre projet en utilisant la commande suivante via le terminal :

 pip freeze > requirements.txt

Connecter votre référentiel à Vercel

Vercel fonctionne en suivant les changements dans un référentiel. La première étape du déploiement est donc de pousser votre code vers GitHub ou tout autre système de contrôle de version qui fonctionne le mieux pour vous. Ignorez cette étape si votre code est déjà sur GitHub.

Pour commencer sur Vercel :

  1. Inscrivez-vous sur le site Web de Vercel en utilisant votre compte GitHub. Suivez les instructions à l’écran pour terminer l’enregistrement du compte et commencer à travailler.
  2. Ensuite, sélectionnez l’option de compte Hobby pour utiliser Vercel gratuitement.
    Inscription à Vercel

  3. Une fois connecté, cliquez sur Ajouter un nouveau. Cliquez ensuite sur Projet.
    Tableau de bord du Vercel

  4. Ensuite, cliquez sur Ajouter un compte GitHub de la Importer le dépôt Git section. Ou vous pouvez cliquer Changer de fournisseur Git si vous utilisez un autre contrôle de version que GitHub.
    Tableau de bord d'installation de GitHub

  5. Cliquez sur Tous les dépôts. Cliquez ensuite sur Installer.
    Importation du compte GitHub

  6. Sélectionnez votre compte GitHub dans la liste.
    Tableau de bord Vercel avec les comptes GitHub

  7. Vercel détectera automatiquement vos dépôts. Cliquez sur Importer à droite de celui portant votre projet Django.
    Tableau de bord Vercel avec dépôts

  8. Cliquez sur le bouton Variables d’environnement pour lister vos variables d’environnement sur Vercel. Celles-ci peuvent inclure la clé secrète de votre application et les chaînes de connexion à la base de données. Remplissez le Nom avec le nom de la variable. Saisissez ensuite sa valeur dans le champ Valeur champ.
  9. Cliquez sur Ajouter pour créer un nouveau champ et ajouter d’autres variables d’environnement.
    Tableau de bord du déploiement de Vercel

  10. Enfin, cliquez sur Déployer. Votre application devrait être en ligne dans quelques instants. Cliquez sur l’URL à droite de l’icône web pour visiter votre nouveau site web.
    Tableau de bord du déploiement des applications sur Vercel

Une fois déployé, Vercel suit les changements ultérieurs poussés vers la branche principale pour les refléter dans la version active. Ainsi, il vous suffit de déployer vos modifications sur GitHub pour mettre à jour votre application en temps réel.

Alors que Vercel génère automatiquement une URL pour votre site web Django, vous pouvez également déployer en utilisant un nom de domaine personnalisé. Pensez donc à acheter un nom de domaine auprès d’un registraire si vous en avez besoin.

Hébergez votre site Web Django sans frais

Parfois, il faut plus qu’un dépôt GitHub pour impressionner les employeurs et les clients potentiels. Si un référentiel solide et cohérent témoigne de votre compétence, l’affichage d’une version en direct de votre portfolio ou du prototype de votre projet vous présente comme un battant.

Héberger un projet qui ne génère pas de revenus est souvent décourageant. Mais heureusement, Vercel est l’un des rares services d’hébergement gratuit. Et vous avez vu comment déployer gratuitement votre projet Django sur la plateforme. Bien que l’URL générée semble peu soignée, vous pouvez la coller dans le ReadMe de votre projet sur GitHub pour montrer aux gens comment fonctionne votre création.