Ce qu'un SaaS B2B doit avoir sous le capot.
Isolation des tenants, internationalisation, chaîne logicielle et contrôles de sécurité : chaque article explique un sujet et montre comment le socle saas-core le met en place.
-
Coolify, Traefik et Docker Compose : livrer sans l'UI
Garder Coolify pour son proxy Traefik et ses certificats, livrer par un script versionné avec docker compose et revenir en arrière par étiquette.
-
Cosign keyless et SLSA : signer ses images Docker
Signer des images de conteneur avec Cosign keyless depuis GitHub Actions, attacher provenance SLSA et VEX, puis vérifier l'identité avant de déployer.
-
Dependency-Track : suivre ses SBOM et leurs failles
Ce que fait OWASP Dependency-Track d'un SBOM CycloneDX : réévaluation continue, politiques, alertes, VEX, et une installation locale réaliste.
-
Gitleaks : scanner tout l'historique git en CI
Ce que Gitleaks détecte, pourquoi scanner tout l'historique plutôt que le diff, comment régler les exceptions, et que faire quand un secret a fuité.
-
ICU MessageFormat : pluriels et erreurs d'un SaaS
Écrire des pluriels ICU MessageFormat corrects, rendre les erreurs d'API par identifiant et résoudre la locale par requête, avec un seul catalogue partagé.
-
Journal d'audit PostgreSQL en ajout seul, par la base
Un journal d'audit PostgreSQL que l'application ne peut pas réécrire : droits SELECT et INSERT seuls, même transaction, purge bornée, méta-test.
-
OSV-Scanner et pnpm audit : gates et exceptions VEX
Bloquer la CI sur les dépendances vulnérables avec pnpm audit et OSV-Scanner, et traiter un avis frais par override, montée minimale ou VEX daté.
-
Pipeline CI/CD SaaS : la chaîne GitHub Actions
Les workflows GitHub Actions d'un SaaS B2B, de la PR à la mise en ligne : tests, sécurité, SBOM, images signées, porte de livraison et retour arrière.
-
PostgreSQL RLS multi-tenant : isoler chaque client
Isoler les tenants d'une base partagée avec la RLS PostgreSQL : ENABLE et FORCE, rôle sans BYPASSRLS, SET LOCAL par transaction et méta-test en CI.
-
SBOM CycloneDX : cdxgen pour le code, syft pour l'image
Produire un SBOM CycloneDX du code avec cdxgen et des images avec syft, les scanner avec grype, et savoir quoi en faire après la CI.
-
Semgrep CI : analyse statique du code TypeScript
Lancer Semgrep OSS en CI avec les règles p/typescript, p/nodejs et p/secrets, échouer au premier résultat et traiter les faux positifs proprement.
-
Testcontainers PostgreSQL : tester sur une vraie base
Tester un SaaS contre un vrai PostgreSQL avec Testcontainers, vérifier les gardes par une vraie requête, puis ajouter méta-tests, E2E et charge.
-
Tolgee auto-hébergé : traduire un SaaS hors du runtime
Déployer Tolgee auto-hébergé avec Docker Compose, garder le dépôt comme source de vérité et donner du contexte aux traducteurs sans SDK en production.