(écu en gascon) Un logiciel qui fait le pont entre Canaille et un système de paiement pour gérer des abonnements.
  • CSS 57%
  • JavaScript 39.7%
  • Python 2.2%
  • HTML 1.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Éloi Rivard debdf58263
All checks were successful
CI / lint (push) Successful in 1m56s
CI / python-tests (push) Successful in 1m19s
Merge pull request 'chore(deps): update dependency pytest to v9 [security]' (#85) from renovate/pypi-pytest-vulnerability into main
Reviewed-on: #85
2026-08-04 08:35:29 +02:00
.forgejo/workflows fix: pin setup-uv to an existing tag 2026-08-01 12:42:36 +02:00
ansible chore: move ansible files at the top level 2023-12-22 15:17:43 +01:00
data fix: update canaille port to 8000 2026-03-18 16:17:56 +01:00
docs chore: project renamed to "escut" 2025-04-23 14:39:32 +02:00
tests fix: unit tests 2026-08-01 14:29:11 +02:00
web chore: align the ruff configuration 2026-08-01 13:41:25 +02:00
.env.dist feat: adding Stripe API for customer deletion 2025-09-05 11:35:34 +02:00
.gitignore chore: attempt to use diff-cover 2025-07-08 17:01:59 +02:00
.gitmodules chore: add nubla theme to canaille 2023-12-22 18:12:37 +01:00
ansible.sample.cfg chore: do not version ansible.cfg 2023-08-29 14:13:27 +02:00
compose.yml chore: update canaille version 2026-03-24 15:43:56 +01:00
dev.toml feat: make payment provider optional 2025-07-08 11:28:00 +02:00
Dockerfile feat: docker container now autoreloads when changing code 2025-05-12 16:33:40 +02:00
Dockerfile-prod chore: adds dockerfile template for production 2025-11-25 17:23:46 +01:00
prek.toml chore: dependency update 2026-08-03 16:16:30 +02:00
Procfile fix: local canaille config 2026-03-25 16:04:51 +01:00
pyproject.toml chore(deps): update dependency pytest to v9 [security] 2026-08-02 04:02:55 +00:00
README.md doc: update readme dev instructions 2026-03-18 16:18:53 +01:00
renovate.json Add renovate.json 2026-07-31 13:42:43 +00:00
uv.lock Merge pull request 'chore(deps): update dependency pytest to v9 [security]' (#85) from renovate/pypi-pytest-vulnerability into main 2026-08-04 08:35:29 +02:00

Escut

Gestion des abonnements et paiements pour des services intégrant le protocole SCIM.

Installation

Pour installer lenvironnement de développement, il est nécessaire davoir installé Docker, Docker Compose, git, uv et prek sur sa machine. Puis :

  • Installer les dépendances du projet :

    uv sync --all-extras --all-groups
    
  • Installer les crochets de prek :

    prek install
    

Environnement de développement

  • Générer un fichier .env :
    cp .env.dist .env
    
  • Générer un fichier vide pour stocker la BDD Canaille :
    touch canaille.sqlite
    
  • Démarrer les containers :
    docker compose up
    
  • Créer un compte administrateur dans Canaille
    docker exec escut-canaille-1 sh -c "canaille create user --user-name admin --password admin --formatted-name 'George Abitbol' --emails admin@mydomain.example --given-name George --family-name Abitbol"
    
  • (Optionnel) Lier Lago à Stripe :
    • Décommenter l'entrée STRIPE_INTEGRATION_CODE dans votre fichier .env
    • Accéder à l'interface de Lago sur http://localhost
    • Se connecter avec l'email "admin@test.com" et le mot de passe "password"
    • Aller dans le menu "Settings" -> "Integrations"
    • Ajouter une intégration Stripe avec la clef API Stripe de test dans le Keepass. Le "connection code" doit correspondre à l'entrée STRIPE_INTEGRATION_CODE dans le fichier .env (par défaut, "sandbox")
    • renseigner la clé dans STRIPE_API_KEY du .env

L'application est accessible sur http://escut.localhost:4000

Documentation

  • Pour générer la documentation :
uv run playwright install firefox
cd docs
make html

Mettre à jour l'image docker

docker build -t yaalcoop/escut:0.1.X -f ./Dockerfile-prod .
docker image push yaalcoop/escut:0.1.X

En remplaçant le X par la dernière version (il faut incrémenter à chaque mise à jour de l'image).