gip-inclusion / itou-communaute-django

Site de la Communauté de l'Inclusion (version en Django)
https://communaute.inclusion.beta.gouv.fr/
GNU Affero General Public License v3.0
3 stars 1 forks source link
forum

La communauté de l'inclusion

Initial dev setup

Installer l'environnement virtuel et les dépendances :

$ poetry install

Copier le fichier .env.template en .env et le modifier en fonction de vos besoins.

$ cp .env.template .env

Accéder à l'environnement virtuel :

$ poetry shell

Démarrer les instances

Démarer la base de données et le bucket S3

$ docker-compose up -d

Démarrer le service web

$ python manage.py runserver_plus

NB : pour démarrer la stack complète sous docker-compose

$ docker-compose --profile django up

Préparer l'environnement de données

$ python manage.py migrate
$ python manage.py populate
$ python manage.py configure_bucket

NB : accéder au bash du conteneur commu_django pour exécuter ces commandes

$ docker exec -it commu_django bash

restaurer une base de données

Mises à jour

Ajouter d'une dépendance :

$ poetry add django-anymail

Ajouter d'une dépendance de développement :

$ poetry add --group dev poethepoet

Mettre à jour des dépendances :

$ poetry update;poetry lock

Générer les fichiers requirements

$ poetry run poe export;poetry run poe export_dev

Développement

Déboguer pas à pas

Le débogueur démarre par défaut avec debugpy.

Il vous reste juste à configurer votre IDE pour qu'il s'y attache. Dans VSCode, il suffit de créer le fichier launch.json dans le répertoire .vscode comme suit :

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python Django with venv",
            "type": "python",
            "request": "launch",
            "program": "${workspaceFolder}/manage.py",
            "args": [
                "runserver"
            ],
            "django": true,
            "justMyCode": true
        }
    ]
}

Vous pourrez dès lors placer des points d'arrêt dans le code en survolant le numéro de ligne dans la colonne à gauche et de lancer le débogueur (qui ne fera que s'attacher au serveur de deboguage qui tourne dans votre conteneur).

Lancer les tests en distribué

pytest --numprocesses=logical --create-db

Déploiement sur Clever Cloud

Ajouter les secrets suivants dans le repo git

Créer et lier les addons

Créer les variables d'environnement suivantes dans le configuration provider

pour le déploiment des recettes jetables

Créer et lier les addons (différents de ceux de production ^^)

Ajouter les secrets suivants dans le repo git