Outils pour utilisateurs

Outils du site


ujusum:1-implantation:16-multisites

Table des matières

Sprint 15 — Multi-sites, Marque Blanche & Réseau d'Agences

Objectif du Sprint

Transformer la plateforme en solution SaaS multi-marques capable de gérer :

  • Plusieurs agences
  • Plusieurs enseignes
  • Plusieurs sites web
  • Plusieurs domaines
  • Plusieurs catalogues
  • Plusieurs chartes graphiques

depuis une infrastructure unique.

À l'issue du Sprint 15 :

  • Une agence peut exploiter plusieurs sites web
  • Chaque site dispose de son identité graphique
  • Les domaines personnalisés sont supportés
  • Les réseaux d'agences sont gérés nativement
  • Les biens peuvent être mutualisés
  • Les réservations inter-agences sont possibles

Ce sprint marque le passage d'un SaaS mono-agence à une plateforme multi-enseignes.


Vision Architecture

Architecture cible

Plateforme SaaS

├── Réseau A
│   ├── Agence A1
│   ├── Agence A2
│   └── Agence A3
│
├── Réseau B
│   ├── Agence B1
│   └── Agence B2
│
└── Réseau C

Exploitation

Chaque agence peut disposer :

Site Web

Logo

Couleurs

Domaine

Catalogue

Pages CMS

Emails

Périmètre

Modules concernés

MultiSiteModule

WhiteLabelModule

BrandingModule

AgencyNetworkModule

DomainManagementModule

CatalogSharingModule

User Stories

US-1501 : Créer un site

En tant qu'administrateur réseau

Je souhaite créer un site

Afin de publier une nouvelle marque.


Endpoint

POST /sites

Informations

Nom

Code

Langue

Agence

Domaine principal

US-1502 : Configurer un domaine

Endpoint

POST /sites/{id}/domains

Exemple

www.agence-a.fr

locations.agence-a.fr

booking.agence-a.fr

Vérifications

DNS

SSL

Redirections

US-1503 : Gérer plusieurs domaines

Cas d'usage

1 Site

↓

N Domaines

Marque Blanche

US-1504 : Personnaliser l'identité visuelle

Paramètres

Logo

Couleurs

Typographie

Favicon

Images

Endpoint

PUT /sites/{id}/branding

US-1505 : Personnaliser les emails

Éléments

Expéditeur

Logo

Couleurs

Signature

Thèmes

US-1506 : Gérer les thèmes

Endpoint

GET /themes
 
POST /themes

Composants configurables

Header

Footer

Cartes biens

Pages recherche

Pages détail

Structure

Theme

↓

Tokens

↓

Composants

↓

Pages

Réseau d'agences

US-1507 : Créer un réseau

Endpoint

POST /agency-networks

Informations

Nom

Code

Description

US-1508 : Associer une agence

Endpoint

POST /agency-networks/{id}/agencies

Mutualisation

US-1509 : Mutualiser les biens

Objectif

Partager des biens entre agences.


Exemple

Agence Montpellier

↓

Bien visible

↓

Agence Nîmes

↓

Bien visible

Endpoint

POST /properties/{id}/sharing

US-1510 : Définir les règles de partage

Règles

Visible

Réservable

Commissionnable

Réservations inter-agences

US-1511 : Réserver un bien partagé

Workflow

Agence A

↓

Réservation

↓

Bien Agence B

↓

Commission

US-1512 : Calcul des commissions

Données

Agence source

Agence propriétaire

Montant

Pourcentage

Calcul

:contentReference[oaicite:0]{index=0}


Catalogue multi-sites

US-1513 : Affecter un bien à plusieurs sites

Endpoint

POST /properties/{id}/sites

Exemple

Bien

↓

Site A

Site B

Site C

US-1514 : Gérer la visibilité

Modes

PUBLIC

PRIVATE

NETWORK

AGENCY_ONLY

CMS léger

US-1515 : Gérer les pages

Endpoint

GET /sites/{id}/pages
 
POST /sites/{id}/pages

Pages

Accueil

À propos

Services

Contact

Mentions légales

US-1516 : Gérer les menus

Configuration

Navigation

Footer

Liens externes

Modèle Prisma

Site

model Site {
 
  id              String @id @default(uuid())
 
  tenantId        String
 
  code            String @unique
 
  name            String
 
  active          Boolean
 
  createdAt       DateTime @default(now())
}

SiteDomain

model SiteDomain {
 
  id              String @id @default(uuid())
 
  siteId          String
 
  domain          String
 
  isPrimary       Boolean
}

Branding

model Branding {
 
  id              String @id @default(uuid())
 
  siteId          String
 
  logoUrl         String?
 
  primaryColor    String?
 
  secondaryColor  String?
}

AgencyNetwork

model AgencyNetwork {
 
  id              String @id @default(uuid())
 
  code            String @unique
 
  name            String
}

PropertySharing

model PropertySharing {
 
  id              String @id @default(uuid())
 
  propertyId      String
 
  agencyId        String
 
  visibility      String
}

Architecture Backend

src/modules/network

├── sites
│
├── branding
│
├── domains
│
├── networks
│
├── sharing
│
└── cms

Domain Services

SiteService

BrandingService

DomainService

AgencyNetworkService

PropertySharingService

CmsService

Événements métier

SiteCreated

SiteCreated

DomainValidated

DomainValidated

PropertyShared

PropertyShared

Frontend

Back Office

Pages :

/admin/sites

/admin/sites/[id]

/admin/branding

/admin/networks

/admin/sharing

/admin/cms

Front Office

Génération dynamique :

www.agence-a.fr

www.agence-b.fr

www.agence-c.fr

Composants

ThemeEditor

BrandingManager

DomainManager

NetworkExplorer

SharingRulesEditor

CmsPageEditor

Swagger

Tags

Sites

Branding

Domains

Networks

Sharing

CMS

Volume API

Environ :

50 endpoints

Tests

Unitaires

SiteService

BrandingService

DomainService

AgencyNetworkService

Intégration

Création site

↓

Branding

↓

Domaine

↓

Publication

E2E

Création réseau

↓

Création agence

↓

Création site

↓

Publication bien

↓

Réservation inter-agence

Définition de terminé

Le Sprint 15 est terminé lorsque :

  • Multi-sites opérationnel
  • Marque blanche opérationnelle
  • Domaines personnalisés opérationnels
  • Réseaux d'agences opérationnels
  • Mutualisation opérationnelle
  • Réservations inter-agences opérationnelles
  • CMS opérationnel
  • Swagger à jour
  • Tests verts
  • CI verte

Livrables

  • MultiSiteModule
  • WhiteLabelModule
  • BrandingModule
  • AgencyNetworkModule
  • DomainManagementModule
  • CatalogSharingModule
  • CMSModule
  • DTO
  • Swagger
  • Tests
  • Migrations Prisma

Bilan Release 3.1

À l'issue du Sprint 15 :

  • SaaS multi-tenant avancé
  • Réseaux d'agences
  • Multi-sites
  • Marque blanche
  • Mutualisation des catalogues
  • Réservations inter-agences

La plateforme devient commercialisable auprès de groupes immobiliers, franchises, réseaux de conciergeries et opérateurs multi-marques.


Sprint suivant

Sprint 16 — Mobile, PWA & Expérience Terrain

Objectif :

Permettre aux utilisateurs, propriétaires et équipes terrain d'utiliser la plateforme depuis mobile avec ou sans connexion.

Modules concernés :

MobileModule

PWAModule

OfflineModule

CheckInModule

CheckOutModule

FieldOperationsModule

Fonctionnalités :

  • Progressive Web App
  • Mode hors ligne
  • Check-in mobile
  • Check-out mobile
  • États des lieux numériques
  • Signature sur mobile
  • Photos terrain
  • Synchronisation différée

À l'issue du Sprint 16, la plateforme sera pleinement exploitable sur le terrain.

ujusum/1-implantation/16-multisites.txt · Dernière modification : 2026/06/06 03:33 de 91.170.108.99

DokuWiki Appliance - Powered by TurnKey Linux