logo oujood
🔍

Django : créer un projet

Dans ce chapitre, vous allez créer votre premier projet Django avec la commande startproject, découvrir les fichiers générés et lancer le serveur de développement intégré pour voir votre application tourner en local.

OUJOOD.COM

Créer le projet avec django-admin

L'environnement virtuel est actif ? Placez-vous dans le dossier où vous voulez stocker votre code, puis lancez :

  📋 Copier le code

django-admin startproject monmonde

Remplacez monmonde par le nom de votre choix. Django crée immédiatement un dossier avec cette structure :

  📋 Copier le code

monmonde/
    manage.py
    monmonde/
        __init__.py
        asgi.py
        settings.py
        urls.py
        wsgi.py

Deux niveaux portent le même nom, ce qui surprend souvent au début. Le dossier externe est juste un conteneur — vous pouvez le renommer librement. Le dossier interne monmonde/ est le vrai paquet Python de votre projet : ne le renommez pas sans mettre à jour les références.

À quoi sert chaque fichier ?

Inutile de tous les maîtriser dès maintenant, mais un tour rapide évite les surprises.

manage.py — c'est votre outil de travail quotidien. Presque toutes les commandes Django passent par lui : démarrer le serveur, créer des migrations, créer un super-utilisateur, lancer les tests. Vous ne le modifiez jamais, mais vous l'utilisez constamment.

settings.py — le fichier de configuration central du projet. Il contient la connexion à la base de données, les applications installées, les fichiers statiques, la clé secrète, le fuseau horaire, et bien d'autres paramètres. Vous y reviendrez souvent.

urls.py — la table de routage principale. C'est ici que Django sait quelle vue appeler selon l'URL demandée. Au départ, il ne contient que l'URL vers l'interface d'administration.

wsgi.py — le point d'entrée pour les serveurs web compatibles WSGI (Gunicorn, uWSGI). Utile uniquement en production, vous n'avez pas à le toucher en développement.

asgi.py — identique à wsgi.py, mais pour les serveurs ASGI qui supportent les connexions asynchrones et WebSockets. Introduit dans Django 3.0.

__init__.py — fichier vide qui indique à Python que ce dossier est un module importable. Ne pas supprimer.

Démarrer le serveur de développement

Django intègre un serveur de développement léger — pas besoin d'Apache ou Nginx pour travailler en local. Avant de l'utiliser, deux choses à vérifier : l'environnement virtuel doit être actif, et vous devez être dans le dossier du projet (celui qui contient manage.py).

Procédure complète sur Windows

  📋 Copier le code

# 1. Activer l'environnement virtuel
cd env_site\Scripts
activate

# 2. Revenir à la racine et entrer dans le projet
cd ..\..
cd monmonde

# 3. Lancer le serveur
python manage.py runserver

Procédure sur macOS / Linux

  📋 Copier le code

# 1. Activer l'environnement virtuel
source env_site/bin/activate

# 2. Entrer dans le projet
cd monmonde

# 3. Lancer le serveur
python manage.py runserver

Le terminal affiche quelque chose comme :

  📋 Copier le code

Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
May 05, 2025 - 10:22:14
Django version 5.1, using settings 'monmonde.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

Ouvrez votre navigateur et allez à http://127.0.0.1:8000/ ou http://localhost:8000/. La page d'accueil Django s'affiche — un fond vert avec un message de succès. Votre projet tourne.

Remarque : le serveur de développement surveille automatiquement vos fichiers. Si vous modifiez du code, il redémarre tout seul. Pas besoin de le relancer manuellement à chaque changement.

Pour arrêter le serveur : Ctrl+C dans le terminal. Pour le redémarrer, réactivez l'environnement virtuel et relancez python manage.py runserver depuis le dossier du projet.

Par carabde | Mis à jour le 05 mai 2025