(é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 2ba8a87270
All checks were successful
CI / lint (push) Successful in 20s
CI / python-tests (3.14) (push) Successful in 1m38s
CI / python-tests (3.13) (push) Successful in 1m45s
CI / python-tests (3.12) (push) Successful in 2m3s
CI / python-tests (3.11) (push) Successful in 2m12s
Merge pull request 'chore(deps): update dependency authlib to v1.9.1 [security]' (#98) from renovate/pypi-authlib-vulnerability into main
Reviewed-on: #98
2026-11-04 10:08:38 +01:00
.forgejo/workflows Merge pull request 'chore(deps): update https://github.com/astral-sh/setup-uv action to v10.3.3' (#100) from renovate/https-github.com-astral-sh-setup-uv-10.x into main 2026-11-03 11:53:30 +01: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
.pre-commit-config.yaml chore(deps): update pre-commit hook astral-sh/ruff-pre-commit to v0.17.3 2026-11-02 04:04:05 +00:00
ansible.sample.cfg chore: do not version ansible.cfg 2023-08-29 14:13:27 +02:00
compose.yml chore(deps): update yaalcoop/canaille docker tag to v0.2.7 2026-09-21 04:02:15 +00:00
dev.toml feat: make payment provider optional 2025-07-08 11:28:00 +02:00
Dockerfile feat: support for python 3.14 2026-08-10 08:34:06 +02:00
Dockerfile-prod feat: support for python 3.14 2026-08-10 08:34:06 +02:00
Procfile fix: local canaille config 2026-03-25 16:04:51 +01:00
pyproject.toml Merge pull request 'chore(deps): update dependency pytest-cov to v7' (#90) from renovate/pytest-cov-7.x into main 2026-08-10 08:34:42 +02: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 chore(deps): update dependency authlib to v1.9.1 [security] 2026-11-04 04:08:56 +00:00

Escut

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

Installation

Pour installer l’environnement de développement, il est nécessaire d’avoir 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).