Aller au contenu

Architecture des Services

Vue d'ensemble

Sigabill est une application déployée en mode SaaS (Software as a Service).

L'architecture repose sur l'interaction de trois services clés :

  1. Azure AD B2C (Identité) : C'est le gardien de la sécurité. Il gère l'authentification des utilisateurs et émet les jetons (tokens) nécessaires pour communiquer avec nos API.
  2. Tenant Manager (Routage) : Ce service est responsable de la gestion des locataires. Un locataire contiendra les données d'une entreprise. Ce service permettra de récupérer la liste des entreprises auxquelles un utilisateur a accès et fournit les informations nécessaires pour cibler le bon environnement de données.
  3. Sigabill API (Cœur) : Le service principal de facturation. Il est disponible en deux versions :
    • Production : La version officielle la plus à jour, pour les opérations réelles.
    • Beta : Une version d'avant-garde permettant de tester les nouvelles fonctionnalités avant leur déploiement général.

Environnements de développement

Le développement est disponible sous trois environnements isolés ;
- devtest : environnement pour les développements.
- staging : emplacement de pré-production et de déploiement pour tests automatisés et vérification de fix.
- production : là où les données clients se retrouvent.

Architecture du Rooting

Le chemin d'accès aux services se fait sous cette nomenclature :

https:[Nom Service][-env].siga.net/[Code Tenant]

où :
- Nom du service : représente le nom du service SAAS déployé
- -env : doit être remplacé par le nom de l'environnement, sauf pour la production où il est absent.
- Code Tenant : doit être remplacé par le code du tenant (entreprise) pour les services dont les données sont multi-tenants (séparées par entreprise).

Sous le chemin d'accès de base d'un service, vous retrouverez ensuite :

https://sigabill-devtest.siga.net/
├── /                       → Frontend Angular
├── /api/*                  → Backend API
├── /api-documentation/*    → Swagger UI
└── /docs/*                 → Documentation utilisateur