(é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
Félix Rohrlich 1340fda152
Some checks failed
ci/woodpecker/push/lint Pipeline was successful
ci/woodpecker/push/tests Pipeline failed
chore: update scim2-client version
2026-03-18 16:55:01 +01:00
.woodpecker chore: move from pre-commit to prek 2025-08-26 09:21:39 +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: account for datetimes with or without microseconds 2026-02-04 16:00:01 +01:00
web fix: url scheme on webhook for production and dev 2026-02-25 15:30:12 +01: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: pre-commit update 2025-08-21 10:25:48 +02:00
ansible.sample.cfg chore: do not version ansible.cfg 2023-08-29 14:13:27 +02:00
compose.yml fix: update canaille port to 8000 2026-03-18 16:17: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
Procfile feat: Lago now must be launched before main application, for various reasons 2025-04-18 16:01:14 +02:00
pyproject.toml chore: update scim2-client version 2026-03-18 16:55:01 +01:00
README.md doc: update readme dev instructions 2026-03-18 16:18:53 +01:00
uv.lock chore: update scim2-client version 2026-03-18 16:55:01 +01: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).