• 20 hours
  • Medium

Free online content available in this course.

course.header.alt.is_video

course.header.alt.is_certifying

Got it!

Last updated on 12/12/19

Créez un nouveau projet

Log in or subscribe for free to enjoy all this course has to offer!

Dans ce chapitre vous découvrirez comment poser les fondations d'un projet utilisant Django. Mais commencez par l'installer !

Installer Django

Créez un nouveau projet puis, si ce n'est déjà fait, initialisez un environnement virtuel.

$ mkdir disquaire
$ cd disquaire
$ virtualenv env -p python3
$ . env/bin/activate

Puis installez Django via PyPI :

$ pip install django

Quand l'installation est terminée, vérifiez que la librairie est bien disponible en tapant la commande suivante qui renvoie la version de Django :

$ python -m django --version
1.11.3

Utilisez la commande django-admin startproject projectname_project pour créer la structure du projet :

$ django-admin startproject disquaire_project

Rien ne s'affiche mais c'est normal ! Si vous listez vos fichiers, vous verrez qu'un nouveau dossier a fait son apparition : disquaire_project.

En voici le contenu :

disquaire_project/
manage.py
disquaire_project/
__init__.py
settings.py
urls.py
wsgi.py

Nous découvrirons le détail de ces fichiers un peu plus tard dans ce chapitre.

Travailler avec une base de données PostgreSQL

Dans ce cours nous utiliserons PostgreSQL, un système de gestion de bases de données relationnelles gratuit. De nombreux sites l'utilisent à la fois dans la phase de développement et lorsque le site est en ligne.

Petite astuce : tapez la commande psql dans votre terminal pour savoir si vous l'avez déjà installé ! ;-)

Installer la librairie psycopg2

Afin d'utiliser une base PostgreSQL dans un projet Django, il faut installer la librairie Psycopg2 :

$ pip install psycopg2

L'étape suivante est de créer une nouvelle base. Si PostgreSQL n'est pas installé sur votre ordinateur, lisez-le paragraphe suivant. Sinon vous pouvez aller directement à la partie "Lancer le serveur" !

Installer PostgreSQL

Rendez-vous sur le site officiel de PostgreSQL et suivez les instructions relatives à votre système d'exploitation. Je ne peux malheureusement pas détailler l'installation car elle diffère en fonction des systèmes.

Vérifiez que l'installation s'est bien effectuée en tapant la commande psql dans un terminal. Celle-ci ouvre une console PostgreSQL dans laquelle vous pouvez interagir avec les différentes bases du système, de la même manière que la commande python ouvre une console dans laquelle écrire du code en Python !

Pour en sortir, tapez la commande \q (pensez bien à l'antislash !).

Dans la suite de ce chapitre je vous montre comment utiliser PostgreSQL en ligne de commande. Si vous souhaitez utiliser une interface graphique, autrement dit un logiciel pour visualiser les tables, installez pgAdmin.

Pourquoi utiliser les lignes de commande ? Pour plusieurs raisons. Avant tout, c'est plus simple et plus rapide quand on connaît les commandes essentielles ! Mais surtout cela vous permet d'interagir avec une base en SSH, autrement dit d'interroger une base de données en ligne de commande via un accès sécurisé.

Lancer le serveur

PostgreSQL est un système de gestion de bases de données (SGBD) fonctionnant en mode client-serveur. Le serveur joue le rôle du SGBD et le client permet d'envoyer des requêtes au serveur (comme des requêtes SQL par exemple). Cela est très semblable à l'interaction entre un ordinateur connecté à internet et un site (Google, par exemple). Nous appelons l'ordinateur un client qui envoie des requêtes à un serveur (Google).

Un serveur est, de manière très basique, un logiciel qui reçoit des requêtes et y répond. Comme tout logiciel, il doit être démarré afin de fonctionner !

Pour interagir avec une base PostgreSQL, il faut donc au préalable démarrer les serveurs. Tapez la commande suivante :

$ postgres -D /usr/local/pgsql/data

Créer une base de données

Bien ! Les serveurs sont lancés et PostgreSQL attend vos instructions ! Commencez par créer une nouvelle base de données grâce à la commande createdb -O yourusername dbname :

$ createdb -O celinems disquaire

Rien ne s'affiche ? C'est normal ! Vérifions tout de suite que la base a bien été créée en interrogeant directement PostgreSQL :

$ psql
psql (9.6.3)
Type "help" for help.
celinems=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-------------------------+----------+----------+-------------+-------------+-----------------------
disquaire | celinems | UTF8 | fr_FR.UTF-8 | fr_FR.UTF-8 |

Que venons-nous de faire ? Détaillons les commandes :

  • psql lance la console PostgreSQL

  • \l liste les bases présentes dans notre ordinateur

Déclarer une base de données dans un projet Django

La dernière étape est d'informer Django que nous souhaitons utiliser la base de données que nous venons juste de créer. Après tout, il ne le sait pas encore !

Ouvrez le fichier disquaire_project/settings.py. Remplacez le contenu de la constante DATABASES par les lignes suivantes :

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql', # on utilise l'adaptateur postgresql
'NAME': 'disquaire', # le nom de notre base de donnees creee precedemment
'USER': 'celinems', # attention : remplacez par votre nom d'utilisateur
'PASSWORD': '',
'HOST': '',
'PORT': '5432',
}
}

Puis lancez le serveur de Django en tapant la commande suivante :

$ ./manage.py runserver
Performing system checks...
System check identified no issues (0 silenced).
You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
July 29, 2017 - 19:55:45
Django version 1.11.3, using settings 'disquaire_project.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

Django vous informe que le projet ne fonctionnera peut-être pas correctement sans les migrations. Tapez ctrl + c pour arrêter le serveur. Puis tapez la commande suivante :

$ ./manage.py migrate

Ouvrez un navigateur et tapez l'URL contenue dans le message ci-dessus. Vous devriez voir apparaître cette belle page :

Tout fonctionne ! Bravo !

Organisation d'un projet Django

Le répertoire disquaire_project rassemble tous les réglages de notre projet. Pour l'instant, il contient les quatre fichiers suivants :

  • __init__.py : Déclare ce répertoire comme étant un module. Cela vous permettra d'importer les réglages ailleurs.

  • settings.py : Les réglages généraux du projet. Nous détaillerons ce fichier juste après.

  • urls.py : Les routes utilisées dans votre projet. Nous expliciterons ce concept plus tard dans le cours mais retenez que tous les "chemins" que vous entrez dans votre navigateur pour accéder à une page de votre application sont regroupés ici.

  • wsgi.py : Réglages du serveur web.

Ouvrez le fichier settings.py et lisez-le attentivement. Parmi les réglages qui y sont listés, j'aimerais attirer votre attention sur ceux-ci :

  • DEBUG = True : si votre application rencontre une erreur, le navigateur n'affichera pas une page blanche mais des informations sur le bug rencontré. C'est extrêmement pratique en développement !

  • LANGUAGE_CODE = "en-us" : La langue utilisée dans le projet, notamment dans l'interface d'administration. Remplacez-la dès maintenant par fr.

  • TIME_ZONE = 'UTC' : le fuseau horaire que doit suivre votre projet. Remplacez 'UTC' par 'Europe/Paris'. Pour en savoir plus, consultez la liste des fuseaux horaires.

Bravo, tout est en ordre ! Voyons dans le prochain chapitre comment créer l'application responsable des réservations de notre disquaire. A tout de suite !

Code du chapitre

Retrouvez l'intégralité du code de ce chapitre à cette adresse.

Example of certificate of achievement
Example of certificate of achievement