From 3b80b36ed6acb536dcc1a614604dfe03b4dd8309 Mon Sep 17 00:00:00 2001 From: Sli Date: Mon, 17 Feb 2025 16:20:33 +0100 Subject: [PATCH] Update doc --- docs/tutorial/install-advanced.md | 24 ++++++++++++++++ docs/tutorial/install.md | 13 ++++----- docs/tutorial/structure.md | 47 ++++++++++++++++++------------- sith/settings.py | 3 +- 4 files changed, 57 insertions(+), 30 deletions(-) diff --git a/docs/tutorial/install-advanced.md b/docs/tutorial/install-advanced.md index 7b4fe493..a46cbd6e 100644 --- a/docs/tutorial/install-advanced.md +++ b/docs/tutorial/install-advanced.md @@ -77,6 +77,30 @@ uv sync --group prod C'est parce que ces dépendances compilent certains modules à l'installation. +## Configurer Redis + +Redis est installé comme dépendance mais pas lancé par défaut. + +En mode développement, le sith se charge de le démarrer mais +pas en production ! + +Il faut donc lancer le service comme ceci: + +```bash +sudo systemctl start redis +sudo systemctl enable redis # si vous voulez que redis démarre automatiquement au boot +``` + +Puis modifiez votre `.env` pour y configurer le bon port redis. +Le port du fichier d'exemple est un port non standard pour éviter +les conflits avec les instances de redis déjà en fonctionnement. + +```dotenv +REDIS_PORT=6379 +CACHE_URL=redis://127.0.0.1:${REDIS_PORT}/0 +``` + + ## Configurer PostgreSQL PostgreSQL est utilisé comme base de données. diff --git a/docs/tutorial/install.md b/docs/tutorial/install.md index 0a621587..a4635c02 100644 --- a/docs/tutorial/install.md +++ b/docs/tutorial/install.md @@ -100,14 +100,6 @@ cd /mnt//vos/fichiers/comme/dhab Python ne fait pas parti des dépendances puisqu'il est automatiquement installé par uv. -Parmi les dépendances installées se trouve redis (que nous utilisons comme cache). -Redis est un service qui doit être activé pour être utilisé. -Pour cela, effectuez les commandes : - -```bash -sudo systemctl start redis -sudo systemctl enable redis # si vous voulez que redis démarre automatiquement au boot -``` ## Finaliser l'installation @@ -179,6 +171,11 @@ uv run ./manage.py runserver [http://localhost:8000](http://localhost:8000) ou bien [http://127.0.0.1:8000/](http://127.0.0.1:8000/). +!!!note + + Le serveur de développement se charge de lancer redis + et les autres services nécessaires au bon fonctionnement du site. + !!!tip Vous trouverez également, à l'adresse diff --git a/docs/tutorial/structure.md b/docs/tutorial/structure.md index 4ba0077e..6ab36c6c 100644 --- a/docs/tutorial/structure.md +++ b/docs/tutorial/structure.md @@ -66,21 +66,24 @@ sith/ │ └── ... ├── staticfiles/ (23) │ └── ... +├── processes/ (24) +│ └── ... │ -├── .coveragerc (24) -├── .envrc (25) +├── .coveragerc (25) +├── .envrc (26) ├── .gitattributes ├── .gitignore ├── .mailmap -├── .env (26) -├── .env.example (27) -├── manage.py (28) -├── mkdocs.yml (29) +├── .env (27) +├── .env.example (28) +├── manage.py (29) +├── mkdocs.yml (30) ├── uv.lock -├── pyproject.toml (30) -├── .venv/ (31) -├── .python-version (32) -├── Procfile (33) +├── pyproject.toml (31) +├── .venv/ (32) +├── .python-version (33) +├── Procfile.dev (34) +├── Procfile.pytest (35) └── README.md ``` @@ -122,23 +125,27 @@ sith/ 23. Gestion des statics du site. Override le système de statics de Django. Ajoute l'intégration du scss et du bundler js de manière transparente pour l'utilisateur. -24. Fichier de configuration de coverage. -25. Fichier de configuration de direnv. -26. Contient les variables d'environnement, qui sont susceptibles +24. Module de gestion des services externes. + Offre une API simple pour utiliser les fichiers `Procfile.*`. +25. Fichier de configuration de coverage. +26. Fichier de configuration de direnv. +27. Contient les variables d'environnement, qui sont susceptibles de varier d'une machine à l'autre. -27. Contient des valeurs par défaut pour le `.env` +28. Contient des valeurs par défaut pour le `.env` pouvant convenir à un environnment de développement local -28. Fichier généré automatiquement par Django. C'est lui +29. Fichier généré automatiquement par Django. C'est lui qui permet d'appeler des commandes de gestion du projet avec la syntaxe `python ./manage.py ` -29. Le fichier de configuration de la documentation, +30. Le fichier de configuration de la documentation, avec ses plugins et sa table des matières. -30. Le fichier où sont déclarés les dépendances et la configuration +31. Le fichier où sont déclarés les dépendances et la configuration de certaines d'entre elles. -31. Dossier d'environnement virtuel généré par uv -32. Fichier qui contrôle quelle version de python utiliser pour le projet -33. Fichier qui contrôle les services additionnels à lancer +32. Dossier d'environnement virtuel généré par uv +33. Fichier qui contrôle quelle version de python utiliser pour le projet +34. Fichier qui contrôle les services additionnels à lancer avec le serveur de développement +35. Fichier qui contrôle les services additionnels à lancer + avec pytest ## L'application principale diff --git a/sith/settings.py b/sith/settings.py index 22ccf09e..b283c3e6 100644 --- a/sith/settings.py +++ b/sith/settings.py @@ -216,8 +216,7 @@ DATABASES = { "default": env.dj_db_url("DATABASE_URL", conn_max_age=None, conn_health_checks=True) } -if "CACHE_URL" in os.environ: - CACHES = {"default": env.dj_cache_url("CACHE_URL")} +CACHES = {"default": env.dj_cache_url("CACHE_URL")} SESSION_ENGINE = "django.contrib.sessions.backends.cached_db"