Création d’une application Django avec déploiement sur Google Cloud Platform :

ÉTAPE 1 création de l’application ‘Hello world’

Ce tutoriel décrit étape par étape la conception d’une application web minimale ‘Hello world’ en utilisant le framework Django.

Cela nécessite aussi les prérequis suivants :

Création du projet Django

Créez un dossier hello_world pour votre projet puis ouvrez un terminal dans ce dossier afin d’y créer un environement virtuel local Python avec les commandes suivantes

pyenv virtualenv 3.10.6 hellowordl_project
    pyenv local hellowordl_project                               [🐍 hellowordl_project]

Il faut ensuite installer Django :

pip install django

Ensuite créez le projet Django :

django-admin startproject myproject

Cela créera un dossier appelé myproject avec la structure de base d'un projet Django. (Un projet Django peut contenir plusieurs applications).

Entrez ensuite dans le dossier du projet.

cd myproject

Création de l’application Django ‘myapp’

python manage.py startapp myapp

Cela créera un dossier myapp contenant les fichiers de votre application.

Configuration l'application dans le fichier settings.py

Le fichier settings.py est le fichier de configuration de votre projet Django. C’est dans ce fichier que nous allons renseigner les espaces de stockage, les bases de données et différentes applications présentes dans le projet. Dans le fichier myproject/settings.py, ajouter 'myapp' à la liste INSTALLED_APPS et ajouter 'CSRF_TRUSTED_ORIGINS' avec la liste suivante (A MODIFIER LORSQUE L’URL sera donné par Google CLoud Run).

INSTALLED_APPS = [
        # ...
        'myapp',
    ]
    
    CSRF_TRUSTED_ORIGINS = [
            'https://localhost',
            'https://127.0.0.1'
    ]

Création de la première vue

Il s’agit de la partie ‘backend’ de l’application. Dans le fichier myapp/views.py, créez une vue simple "Hello World":

from django.http import HttpResponse
    
    def hello_world(request):
        return HttpResponse("Hello, World!")

Configuration de l'URL

Ce fichier permet de gérer les urls de notre application. Dans le fichier myapp/urls.py, configurez l'URL pour la vue "Hello World":

from django.urls import path
    from .views import hello_world
    
    urlpatterns = [
        path('hello/', hello_world, name='hello_world'),
    ]

Configuration des URLs globales

Ce fichier permet de gérer les urls de notre projet. Dans le fichier myproject/urls.py, inclure les URLs de votre application:

from django.contrib import admin
    from django.urls import include, path
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('myapp/', include('myapp.urls')),
    ]

Création des migrations

Il s’agit d’une étape importante qui permet d’appliquer des changements au projet. On parle de migrations. On utilisera à nouveau cette ligne de commande quand on abordera la base de données.

python manage.py migrate

Création d’un superutilisateur (optionnel)

python manage.py createsuperuser
    Username (leave blank to use 'utilisateur'): user_name
    Email address: [my_email@email.com](mailto:my_email@email.com)
    
    Mot de passe : user_password

Test du serveur de développement

Cette ligne de commande permet de tester localement l’application :

python manage.py runserver

Rendez-vous sur http://127.0.0.1:8000/myapp/hello/ dans votre navigateur, et vous devriez voir la page "Hello, World!"

Prochaine étape : création d’un container Docker et premier déploiement sur GCP