Bonjour,
Je ne suis pas sure d'être sur le bon forum, merci de déplacer si besoin.

J'ai créé une application Saas comprenant divers modules et bien-sure une base de données mySql, le fonctionnement de l'application aujourd'hui est le suivant:

  • Basée sur le système Single-Tenant.
  • Un sous-domaine par client
  • une base de données par client
  • un e-mail par client pour l'envoi des messages via l'application


Comme vous l'aurez compris, avec plus d'une centaine de clients cela devient difficile à maintenir et surtout cela demande une interaction lors de l'inscription d'un nouveau client (même lorsqu'il s'agit d'un essai) pour préparer l'application.

Je souhaiterais maintenant passer sur un système Multi-Tenant avec une seule application et une base de données centralisée, voici deux pistes sur lesquelles je réfléchis actuellement pour la prochaine version.

  1. App.monapp.com
  2. Fichiers de l'application
  3. Dossier clients avec préfixe dans un répertoire clients situé dans la structure de fichiers de l'application (clients/ClientA)
  4. Une base de données centralisée avec ID client sur toutes les lignes dans les différentes tables


Cette première approche, me pose un certains nombre de problèmes, notamment en raison de diverses tables qui peuvent être personnalisées par les clients. ou encore la numérotation des factures envoyées...

  1. Idem que dans la première version mais avec une structure de tables complète pour chaque client avec préfixe soit clientA_table1 etc...


Je suis bien conscient que les deux approches sont fonctionnelles, mais à long terme avec l'augmentation des clients je n'en suis pas sure...

D'avance je vous remercie de donner une piste à suivre selon vos propres expériences.
Meilleures salutations