Aller au contenu

Installation

Outil Version Rôle
Python 3.12 ou plus Application Django
Node.js 20 ou plus Compilation du CSS Tailwind uniquement
gettext toute version récente Compilation des traductions (msgfmt)
PostgreSQL 16 (recommandé) Base de données. SQLite suffit en local
Docker + Compose facultatif Environnement complet en conteneurs

Sous Debian/Ubuntu : sudo apt install python3-venv gettext nodejs npm.

Fenêtre de terminal
git clone https://github.com/Aziguy/fleaMarketOnline.git
cd fleaMarketOnline
python3 -m venv .venv
source .venv/bin/activate
Fenêtre de terminal
make install
Fenêtre de terminal
make css
python manage.py compilemessages --ignore=node_modules
python manage.py migrate
python manage.py seed_demo
python manage.py createsuperuser
make run

Le site est disponible sur http://localhost:8000 et l’administration sur http://localhost:8000/admin/.

Sans fichier .env, le projet utilise config.settings.dev et une base SQLite (db.sqlite3). Pour utiliser PostgreSQL, définir DATABASE_URL (voir Configuration).

L’administration exige une double authentification forte. À la première visite de /admin/, vous êtes redirigé vers Sécurité du compte : activez une application d’authentification (Google Authenticator, Authy…) ou une clé d’accès, puis revenez sur /admin/.

Pour un environnement de développement jetable, vous pouvez désactiver cette exigence dans .env :

Fenêtre de terminal
MFA_REQUIRED_FOR_STAFF=False

Ne jamais le faire en production.

Fenêtre de terminal
docker compose up --build

Ce fichier lance trois services :

  • db : PostgreSQL 16 (données dans le volume pgdata) ;
  • web : Django en mode développement, code monté en volume, rechargement automatique ;
  • css : Tailwind en mode watch.

Dans un autre terminal :

Fenêtre de terminal
docker compose exec web python manage.py seed_demo
Fenêtre de terminal
docker compose exec web python manage.py createsuperuser

seed_demo crée six boutiques validées avec produits et prestations, 30 jours de ventes (pour les statistiques) et quelques avis clients. Relancer la commande ne crée pas de doublons.

Rôle Identifiant Mot de passe
Client 670000000 demo12345
Commerçants 650000001 à 650000006 demo12345

Ne jamais exécuter seed_demo en production.