{"id":1599,"date":"2026-03-27T02:32:50","date_gmt":"2026-03-27T02:32:50","guid":{"rendered":"https:\/\/www.go-diagram.com\/fr\/multi-tenant-database-erd-approaches\/"},"modified":"2026-03-27T02:32:50","modified_gmt":"2026-03-27T02:32:50","slug":"multi-tenant-database-erd-approaches","status":"publish","type":"post","link":"https:\/\/www.go-diagram.com\/fr\/multi-tenant-database-erd-approaches\/","title":{"rendered":"Conception de base de donn\u00e9es multi-locataires : approches de diagrammes entit\u00e9-relations pour les syst\u00e8mes partag\u00e9s"},"content":{"rendered":"<p>Concevoir une architecture de base de donn\u00e9es dans un environnement multi-locataires exige une r\u00e9flexion attentive sur l&#8217;isolation des donn\u00e9es, la scalabilit\u00e9 et la charge de maintenance. Le diagramme Entit\u00e9-Relation (ERD) sert de plan directeur pour ces d\u00e9cisions, d\u00e9terminant la mani\u00e8re dont les donn\u00e9es sont structur\u00e9es entre les locataires. Le choix de la bonne approche influence les performances, la s\u00e9curit\u00e9 et la capacit\u00e9 \u00e0 \u00e9voluer le syst\u00e8me au fil du temps. Ce guide explore les principaux mod\u00e8les architecturaux, leurs implications sur l&#8217;ERD et les compromis inh\u00e9rents \u00e0 chaque strat\u00e9gie.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img alt=\"Whimsical infographic illustrating four multi-tenant database design strategies: Database Per Tenant (separate cottages on islands), Schema Per Tenant (apartment building with colored floors), Shared Schema (co-working space with tenant_id name tags), and Hybrid Model (modular castle), with visual comparisons of isolation, cost, and maintenance trade-offs for SaaS architecture planning\" decoding=\"async\" src=\"https:\/\/www.go-diagram.com\/wp-content\/uploads\/2026\/03\/multi-tenant-database-erd-approaches-infographic-whimsical.jpg\"\/><\/figure>\n<\/div>\n<h2>\ud83d\udd0d Comprendre le multi-locataire dans la mod\u00e9lisation des donn\u00e9es<\/h2>\n<p>Le multi-locataire permet \u00e0 une seule instance de logiciel de servir plusieurs clients, souvent appel\u00e9s locataires. Dans le cadre de la conception de bases de donn\u00e9es, le d\u00e9fi principal consiste \u00e0 d\u00e9terminer comment s\u00e9parer les donn\u00e9es des locataires tout en maintenant une efficacit\u00e9 optimale. L&#8217;ERD doit refl\u00e9ter clairement ces limites de s\u00e9paration.<\/p>\n<ul>\n<li><strong>Locataire :<\/strong> Un client individuel ou une organisation utilisant le syst\u00e8me.<\/li>\n<li><strong>Syst\u00e8me partag\u00e9 :<\/strong> La logique de l&#8217;application et \u00e9ventuellement l&#8217;infrastructure sous-jacente.<\/li>\n<li><strong>Isolation des donn\u00e9es :<\/strong> Assurer qu&#8217;un locataire ne puisse pas acc\u00e9der aux donn\u00e9es d&#8217;un autre.<\/li>\n<\/ul>\n<p>Les choix de conception portent principalement sur l&#8217;emplacement de la fronti\u00e8re d&#8217;isolation. Existe-t-elle au niveau de la base de donn\u00e9es, au niveau du sch\u00e9ma ou au niveau des lignes ? Chaque choix exige une structure d&#8217;ERD sp\u00e9cifique.<\/p>\n<h2>\ud83c\udfd7\ufe0f Strat\u00e9gie 1 : Base de donn\u00e9es par locataire<\/h2>\n<p>Dans ce mod\u00e8le, chaque locataire re\u00e7oit une instance de base de donn\u00e9es d\u00e9di\u00e9e. Cela assure le plus haut niveau d&#8217;isolation et de s\u00e9curit\u00e9. Du point de vue de l&#8217;ERD, le sch\u00e9ma reste identique dans toutes les bases de donn\u00e9es, mais la s\u00e9paration physique est absolue.<\/p>\n<h3>\ud83d\udcca Structure de l&#8217;ERD<\/h3>\n<p>Le diagramme ERD pour une base de donn\u00e9es \u00e0 un seul locataire est identique \u00e0 une conception standard \u00e0 un seul locataire. Il n&#8217;est pas n\u00e9cessaire d&#8217;avoir une colonne <code>tenant_id<\/code> car la fronti\u00e8re de la base de donn\u00e9es agit elle-m\u00eame comme filtre.<\/p>\n<ul>\n<li><strong>Structure des tables :<\/strong> Les tables contiennent uniquement les donn\u00e9es pertinentes pour le locataire sp\u00e9cifique.<\/li>\n<li><strong>Cl\u00e9s \u00e9trang\u00e8res :<\/strong> L&#8217;int\u00e9grit\u00e9 r\u00e9f\u00e9rentielle standard s&#8217;applique sans prise en compte du locataire.<\/li>\n<li><strong>Index :<\/strong> Optimis\u00e9s pour le volume sp\u00e9cifique de donn\u00e9es de ce locataire.<\/li>\n<\/ul>\n<h3>\u2705 Avantages<\/h3>\n<ul>\n<li><strong>Isolation compl\u00e8te :<\/strong> Une faille dans une base de donn\u00e9es n&#8217;affecte pas les autres.<\/li>\n<li><strong>Personnalisation :<\/strong> Les modifications de sch\u00e9ma peuvent \u00eatre appliqu\u00e9es \u00e0 des locataires sp\u00e9cifiques sans affecter les autres.<\/li>\n<li><strong>Performance :<\/strong> Aucune contention provenant d&#8217;autres locataires sur le m\u00eame pool de connexions ou sur les E\/S disque.<\/li>\n<\/ul>\n<h3>\u274c Inconv\u00e9nients<\/h3>\n<ul>\n<li><strong>Co\u00fbt :<\/strong> Co\u00fbt \u00e9lev\u00e9 de l&#8217;infrastructure en raison de plusieurs instances.<\/li>\n<li><strong>Maintenance :<\/strong> Les mises \u00e0 jour du sch\u00e9ma n\u00e9cessitent un d\u00e9ploiement sur chaque instance de base de donn\u00e9es.<\/li>\n<li><strong>Complexit\u00e9 :<\/strong> La gestion des connexions et de l&#8217;orchestration devient difficile \u00e0 grande \u00e9chelle.<\/li>\n<\/ul>\n<h2>\ud83c\udfd7\ufe0f Strat\u00e9gie 2 : Sch\u00e9ma par locataire<\/h2>\n<p>Cette approche se situe entre les deux pr\u00e9c\u00e9dentes. Chaque locataire re\u00e7oit un sch\u00e9ma d\u00e9di\u00e9 au sein du m\u00eame serveur de base de donn\u00e9es. Cela r\u00e9duit la charge li\u00e9e \u00e0 la gestion de plusieurs connexions \u00e0 la base de donn\u00e9es tout en maintenant une s\u00e9paration logique.<\/p>\n<h3>\ud83d\udcca Structure du sch\u00e9ma ERD<\/h3>\n<p>Le sch\u00e9ma ERD reste coh\u00e9rent avec un mod\u00e8le mono-locataire, mais l&#8217;espace de noms change. Les tables existent dans un espace de noms de sch\u00e9ma sp\u00e9cifique plut\u00f4t que dans l&#8217;espace de noms public.<\/p>\n<ul>\n<li><strong>Noms des tables :<\/strong> Conventions de nommage standard (par exemple, <code>utilisateurs<\/code>, <code>commandes<\/code>).<\/li>\n<li><strong>Noms des sch\u00e9mas :<\/strong> Identifiants uniques (par exemple, <code>sch\u00e9ma_locataire_a<\/code>, <code>sch\u00e9ma_locataire_b<\/code>).<\/li>\n<li><strong>Connectivit\u00e9 :<\/strong> L&#8217;application se connecte au sch\u00e9ma sp\u00e9cifique du locataire actif.<\/li>\n<\/ul>\n<h3>\u2705 Avantages<\/h3>\n<ul>\n<li><strong>Isolation :<\/strong> Une isolation plus forte que les mod\u00e8les de sch\u00e9ma partag\u00e9.<\/li>\n<li><strong>Gestion :<\/strong> Plus facile \u00e0 g\u00e9rer que des instances de base de donn\u00e9es s\u00e9par\u00e9es.<\/li>\n<li><strong>Sauvegarde\u00a0:<\/strong> Peut restaurer ou sauvegarder des sch\u00e9mas individuels de mani\u00e8re ind\u00e9pendante.<\/li>\n<\/ul>\n<h3>\u274c Inconv\u00e9nients<\/h3>\n<ul>\n<li><strong>Utilisation des ressources\u00a0:<\/strong> Consomme encore plus de ressources qu&#8217;un mod\u00e8le enti\u00e8rement partag\u00e9.<\/li>\n<li><strong>Complexit\u00e9 des requ\u00eates\u00a0:<\/strong> L&#8217;agr\u00e9gation des donn\u00e9es entre les locataires n\u00e9cessite un changement dynamique de sch\u00e9ma.<\/li>\n<li><strong>D\u00e9calage de sch\u00e9ma\u00a0:<\/strong> Maintenir les sch\u00e9mas synchronis\u00e9s sur de nombreux locataires est une t\u00e2che fastidieuse.<\/li>\n<\/ul>\n<h2>\ud83c\udfd7\ufe0f Strat\u00e9gie 3\u00a0: base de donn\u00e9es partag\u00e9e, sch\u00e9ma partag\u00e9<\/h2>\n<p>C&#8217;est l&#8217;approche la plus courante pour les applications SaaS. Tous les locataires partagent la m\u00eame base de donn\u00e9es et les m\u00eames tables. La s\u00e9paration des donn\u00e9es est r\u00e9alis\u00e9e logiquement gr\u00e2ce \u00e0 une colonne d&#8217;identifiant unique.<\/p>\n<h3>\ud83d\udcca Structure du sch\u00e9ma ERD<\/h3>\n<p>Le sch\u00e9ma ERD doit inclure explicitement une <code>tenant_id<\/code> colonne dans chaque table qui stocke des donn\u00e9es sp\u00e9cifiques au locataire. Cette colonne agit comme cl\u00e9 de partition.<\/p>\n<ul>\n<li><strong>Tables principales\u00a0:<\/strong> <code>utilisateurs<\/code>, <code>commandes<\/code>, <code>produits<\/code> toutes contiennent une <code>tenant_id<\/code>.<\/li>\n<li><strong>Tables partag\u00e9es\u00a0:<\/strong> Des tables telles que <code>r\u00f4les<\/code> ou <code>autorisations<\/code> pourraient \u00eatre partag\u00e9es par tous les locataires.<\/li>\n<li><strong>Contraintes :<\/strong> Les cl\u00e9s \u00e9trang\u00e8res peuvent n\u00e9cessiter un encadrement pour garantir que l&#8217;int\u00e9grit\u00e9 r\u00e9f\u00e9rentielle soit maintenue dans le contexte du locataire.<\/li>\n<\/ul>\n<h3>\u2705 Avantages<\/h3>\n<ul>\n<li><strong>Efficacit\u00e9 des co\u00fbts :<\/strong> Co\u00fbt d&#8217;infrastructure le plus faible.<\/li>\n<li><strong>Maintenance :<\/strong> Les modifications du sch\u00e9ma s&#8217;appliquent instantan\u00e9ment \u00e0 tous les locataires.<\/li>\n<li><strong>Analytiques :<\/strong> Plus facile d&#8217;agr\u00e9ger les donn\u00e9es pour des rapports \u00e0 l&#8217;\u00e9chelle du syst\u00e8me.<\/li>\n<\/ul>\n<h3>\u274c Inconv\u00e9nients<\/h3>\n<ul>\n<li><strong>Requ\u00eates complexes :<\/strong> Chaque requ\u00eate n\u00e9cessite un filtrage par <code>tenant_id<\/code>.<\/li>\n<li><strong>Performance :<\/strong> Risques \u00e9lev\u00e9s de contention si un locataire consomme des ressources excessives.<\/li>\n<li><strong>S\u00e9curit\u00e9 :<\/strong> Risque accru d&#8217;erreurs logiques entra\u00eenant une fuite de donn\u00e9es.<\/li>\n<\/ul>\n<h2>\ud83c\udfd7\ufe0f Strat\u00e9gie 4 : Mod\u00e8le hybride<\/h2>\n<p>Une approche hybride combine des \u00e9l\u00e9ments des strat\u00e9gies ci-dessus. Par exemple, un sch\u00e9ma partag\u00e9 pour les donn\u00e9es standard, mais un sch\u00e9ma d\u00e9di\u00e9 pour les niveaux premium ou des locataires sp\u00e9cifiques \u00e0 forte valeur.<\/p>\n<h3>\ud83d\udcca Structure du sch\u00e9ma ERD<\/h3>\n<p>Le sch\u00e9ma ERD devient plus complexe, en distinguant les tables partag\u00e9es des tables sp\u00e9cifiques au locataire.<\/p>\n<ul>\n<li><strong>Tables globales :<\/strong> Stocker la configuration ou les m\u00e9tadonn\u00e9es partag\u00e9es.<\/li>\n<li><strong>Tables de locataires :<\/strong> Stocker les donn\u00e9es utilisateur avec un <code>tenant_id<\/code> ou dans des sch\u00e9mas s\u00e9par\u00e9s.<\/li>\n<li><strong>Liens :<\/strong> Les op\u00e9rations de jointure doivent tenir compte de la port\u00e9e des donn\u00e9es.<\/li>\n<\/ul>\n<h2>\ud83d\udee1\ufe0f Isolation des donn\u00e9es et consid\u00e9rations sur la s\u00e9curit\u00e9<\/h2>\n<p>Quelle que soit la strat\u00e9gie choisie, l&#8217;isolation des donn\u00e9es est primordiale. Le mod\u00e8le conceptuel des donn\u00e9es doit supporter des m\u00e9canismes qui emp\u00eachent l&#8217;acc\u00e8s accidentel aux donn\u00e9es.<\/p>\n<h3>\ud83d\udd12 S\u00e9curit\u00e9 au niveau des lignes<\/h3>\n<p>Dans un mod\u00e8le de sch\u00e9ma partag\u00e9, des politiques de s\u00e9curit\u00e9 au niveau des lignes (RLS) peuvent \u00eatre d\u00e9finies. Le moteur de base de donn\u00e9es restreint l&#8217;acc\u00e8s aux lignes o\u00f9 le <code>identifiant_locataire<\/code> correspond au contexte authentifi\u00e9.<\/p>\n<ul>\n<li><strong>Mise en \u0153uvre :<\/strong>Les politiques imposent des v\u00e9rifications \u00e0 chaque <code>S\u00c9LECTIONNER<\/code>, <code>METTRE \u00c0 JOUR<\/code>, et <code>SUPPRIMER<\/code> op\u00e9ration.<\/li>\n<li><strong>Avantage :<\/strong> Emp\u00eache les erreurs au niveau de l&#8217;application de provoquer des fuites de donn\u00e9es.<\/li>\n<li><strong>Impact sur le mod\u00e8le conceptuel des donn\u00e9es :<\/strong> Exige des colonnes explicites <code>identifiant_locataire<\/code> sur toutes les tables pertinentes.<\/li>\n<\/ul>\n<h3>\ud83d\udd12 Contraintes de cl\u00e9 \u00e9trang\u00e8re<\/h3>\n<p>Assurer l&#8217;int\u00e9grit\u00e9 r\u00e9f\u00e9rentielle entre les locataires peut \u00eatre d\u00e9licat dans les mod\u00e8les partag\u00e9s. Une cl\u00e9 \u00e9trang\u00e8re ne devrait id\u00e9alement pas pointer vers une table qui s&#8217;\u00e9tend sur plusieurs locataires, sauf si la relation est explicitement globale.<\/p>\n<ul>\n<li><strong>R\u00e9f\u00e9rence r\u00e9cursive :<\/strong> Si une table se r\u00e9f\u00e8re \u00e0 elle-m\u00eame (par exemple, <code>identifiant_parent<\/code>), le <code>identifiant_locataire<\/code> doit correspondre des deux c\u00f4t\u00e9s.<\/li>\n<li><strong>R\u00e9f\u00e9rences globales :<\/strong> Tables telles que <code>cat\u00e9gories<\/code> peut \u00eatre global, ce qui permet de le r\u00e9f\u00e9rencer par tout locataire.<\/li>\n<\/ul>\n<h2>\u26a1 Strat\u00e9gies de performance et de mise \u00e0 l&#8217;\u00e9chelle<\/h2>\n<p>\u00c0 mesure que le nombre de locataires augmente, la performance devient une pr\u00e9occupation majeure. La conception du sch\u00e9ma ER influence directement la capacit\u00e9 du syst\u00e8me \u00e0 \u00e9voluer.<\/p>\n<h3>\ud83d\udcc8 Strat\u00e9gies d&#8217;indexation<\/h3>\n<p>Les index sont essentiels pour les performances des requ\u00eates. Dans un sch\u00e9ma partag\u00e9, la colonne<code>tenant_id<\/code>doit faire partie de la cl\u00e9 primaire composite ou \u00eatre fortement index\u00e9e.<\/p>\n<ul>\n<li><strong>Index compos\u00e9s :<\/strong> <code>(tenant_id, created_at)<\/code>permet un filtrage efficace par locataire et par date.<\/li>\n<li><strong>Index partiels :<\/strong>Les index peuvent \u00eatre cr\u00e9\u00e9s uniquement pour des conditions sp\u00e9cifiques, ce qui r\u00e9duit leur taille.<\/li>\n<li><strong>\u00c9viter :<\/strong>Indexer des colonnes qui n&#8217;aident pas au filtrage par locataire.<\/li>\n<\/ul>\n<h3>\ud83d\udce6 Partitionnement<\/h3>\n<p>Le partitionnement de table peut aider \u00e0 g\u00e9rer de grandes quantit\u00e9s de donn\u00e9es. Les donn\u00e9es peuvent \u00eatre partitionn\u00e9es par<code>tenant_id<\/code>ou par des plages de dates au sein d&#8217;un locataire.<\/p>\n<ul>\n<li><strong>Partitionnement par plage :<\/strong>S\u00e9pare les donn\u00e9es en fonction des plages de dates.<\/li>\n<li><strong>Partitionnement par liste :<\/strong>S\u00e9pare les donn\u00e9es en fonction d&#8217;identifiants de locataires sp\u00e9cifiques.<\/li>\n<li><strong>Gestion :<\/strong>Les partitions peuvent \u00eatre d\u00e9tach\u00e9es ou archiv\u00e9es pour am\u00e9liorer les performances.<\/li>\n<\/ul>\n<h2>\ud83d\udd27 Maintenance et \u00e9volution du sch\u00e9ma<\/h2>\n<p>Le logiciel \u00e9volue. Des tables doivent \u00eatre ajout\u00e9es, des colonnes modifi\u00e9es ou des types chang\u00e9s. L&#8217;architecture choisie d\u00e9termine l&#8217;effort requis pour ces modifications.<\/p>\n<h3>\ud83d\udd04 Mises \u00e0 jour du sch\u00e9ma<\/h3>\n<ul>\n<li><strong>Sch\u00e9ma partag\u00e9 :<\/strong>Un seul script de migration met \u00e0 jour le sch\u00e9ma pour tous les locataires. C&#8217;est le chemin le plus simple.<\/li>\n<li><strong>Base de donn\u00e9es par locataire :<\/strong> Le script de migration doit \u00eatre ex\u00e9cut\u00e9 sur chaque instance de base de donn\u00e9es. Une automatisation est requise.<\/li>\n<li><strong>Sch\u00e9mas par locataire :<\/strong> Similaire \u00e0 la base de donn\u00e9es par locataire, mais g\u00e9r\u00e9 au sein de la m\u00eame instance.<\/li>\n<\/ul>\n<h3>\ud83d\udcddCompatibilit\u00e9 descendante<\/h3>\n<p>Lors de la modification du MCD, assurez-vous de la compatibilit\u00e9 descendante afin d&#8217;\u00e9viter les temps d&#8217;arr\u00eat.<\/p>\n<ul>\n<li><strong>Ajouter des colonnes :<\/strong> Utilisez d&#8217;abord des colonnes acceptant les valeurs nulles, puis remplissez les donn\u00e9es, puis rendez-les non nulles.<\/li>\n<li><strong>Supprimer des colonnes :<\/strong> Renommez les colonnes avant de les supprimer afin d&#8217;\u00e9viter les modifications qui cassent les fonctionnalit\u00e9s.<\/li>\n<li><strong>Versioning :<\/strong> Pensez au versioning du sch\u00e9ma lui-m\u00eame si les locataires peuvent opter pour ne pas recevoir les mises \u00e0 jour.<\/li>\n<\/ul>\n<h2>\ud83d\udccb Comparaison des approches architecturales<\/h2>\n<table>\n<thead>\n<tr>\n<th>Fonctionnalit\u00e9<\/th>\n<th>Base de donn\u00e9es par locataire<\/th>\n<th>Sch\u00e9ma par locataire<\/th>\n<th>Sch\u00e9ma partag\u00e9<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Isolation<\/td>\n<td>\u00c9lev\u00e9<\/td>\n<td>Moyen<\/td>\n<td>Faible<\/td>\n<\/tr>\n<tr>\n<td>Co\u00fbt<\/td>\n<td>\u00c9lev\u00e9<\/td>\n<td>Moyen<\/td>\n<td>Faible<\/td>\n<\/tr>\n<tr>\n<td>Maintenance<\/td>\n<td>Complexe<\/td>\n<td>Moyen<\/td>\n<td>Simple<\/td>\n<\/tr>\n<tr>\n<td>Performance des requ\u00eates<\/td>\n<td>\u00c9lev\u00e9 (sans filtrage)<\/td>\n<td>Moyen<\/td>\n<td>Variable (filtrage requis)<\/td>\n<\/tr>\n<tr>\n<td>Complexit\u00e9 du sch\u00e9ma ERD<\/td>\n<td>Simple (par base de donn\u00e9es)<\/td>\n<td>Simple (par sch\u00e9ma)<\/td>\n<td>Complexe (tenant_id requis)<\/td>\n<\/tr>\n<tr>\n<td>\u00c9volutivit\u00e9<\/td>\n<td>Horizontal<\/td>\n<td>Vertical<\/td>\n<td>Vertical\/Horizontal<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>\u2705 Liste de contr\u00f4le des meilleures pratiques<\/h2>\n<p>Avant de finaliser le sch\u00e9ma ERD pour un syst\u00e8me multi-locataire, assurez-vous que les crit\u00e8res suivants sont respect\u00e9s.<\/p>\n<ul>\n<li><strong>D\u00e9finir la port\u00e9e du locataire :<\/strong> Identifiez clairement quelles donn\u00e9es appartiennent \u00e0 un locataire et lesquelles sont globales.<\/li>\n<li><strong>Normaliser les noms :<\/strong> Utilisez des conventions de nommage coh\u00e9rentes pour <code>tenant_id<\/code> les colonnes dans toutes les tables.<\/li>\n<li><strong>Imposer des contraintes :<\/strong> Utilisez des contraintes de base de donn\u00e9es pour emp\u00eacher l&#8217;acc\u00e8s crois\u00e9 aux donn\u00e9es des locataires lorsque cela est possible.<\/li>\n<li><strong>Pr\u00e9voir le d\u00e9part des locataires :<\/strong> Concevez pour l&#8217;inscription et le d\u00e9part des locataires (suppression ou archivage des donn\u00e9es).<\/li>\n<li><strong>Tester l&#8217;isolation :<\/strong> Testez r\u00e9guli\u00e8rement pour vous assurer qu&#8217;un locataire ne peut pas interroger les donn\u00e9es d&#8217;un autre locataire.<\/li>\n<li><strong>Documenter les relations :<\/strong> Documentez clairement les relations de cl\u00e9s \u00e9trang\u00e8res dans la documentation du sch\u00e9ma ERD.<\/li>\n<li><strong>Surveiller les performances :<\/strong> Configurez des alertes pour les requ\u00eates lentes qui pourraient indiquer des goulets d&#8217;\u00e9tranglement sp\u00e9cifiques aux locataires.<\/li>\n<\/ul>\n<h2>\ud83e\udde9 Gestion des cas limites<\/h2>\n<p>Les sc\u00e9narios du monde r\u00e9el introduisent souvent des complexit\u00e9s que les mod\u00e8les ER standard ne couvrent pas imm\u00e9diatement.<\/p>\n<h3>\ud83d\udd04 Fusion de locataires<\/h3>\n<p>Parfois, deux locataires se fusionnent en un seul. Dans un sch\u00e9ma partag\u00e9, cela n\u00e9cessite de d\u00e9placer les lignes d&#8217;un <code>tenant_id<\/code> \u00e0 un autre. Dans un mod\u00e8le base de donn\u00e9es par locataire, cela implique la fusion de deux bases de donn\u00e9es enti\u00e8res.<\/p>\n<ul>\n<li><strong>Consistance des donn\u00e9es :<\/strong> Assurez-vous qu&#8217;aucune donn\u00e9e n&#8217;est perdue lors de la fusion.<\/li>\n<li><strong>D\u00e9duplication :<\/strong> G\u00e9rez les enregistrements en double qui pourraient surgir de la fusion.<\/li>\n<\/ul>\n<h3>\ud83d\udcc9 Churn des locataires<\/h3>\n<p>Les locataires partent. Le choix de supprimer les donn\u00e9es ou de les archiver affecte le mod\u00e8le ER.<\/p>\n<ul>\n<li><strong>Suppressions douces :<\/strong> Ajoutez un <code>is_deleted<\/code> indicateur pour pr\u00e9server les donn\u00e9es aux fins de conformit\u00e9.<\/li>\n<li><strong>Suppressions rigides :<\/strong> Supprimez les lignes enti\u00e8rement. Assurez-vous que les suppressions en cascade sont correctement configur\u00e9es pour \u00e9viter les enregistrements orphelins.<\/li>\n<li><strong>Archivage :<\/strong> D\u00e9placez les anciennes donn\u00e9es des locataires vers des tables de stockage froid tout en maintenant le sch\u00e9ma intact.<\/li>\n<\/ul>\n<h2>\ud83d\udd17 Int\u00e9gration avec la logique de l&#8217;application<\/h2>\n<p>Le mod\u00e8le ER n&#8217;est pas une \u00eele. Il doit s&#8217;int\u00e9grer sans heurt au niveau de l&#8217;application.<\/p>\n<ul>\n<li><strong>Middlewares :<\/strong> Utilisez des middlewares au niveau de l&#8217;application pour injecter <code>tenant_id<\/code> dans chaque requ\u00eate automatiquement.<\/li>\n<li><strong>Configuration de l&#8217;ORM :<\/strong> Configurez les outils de mappage objet-relationnel pour g\u00e9rer le filtrage par locataire.<\/li>\n<li><strong>Conception d&#8217;API :<\/strong> Assurez-vous que les points de terminaison d&#8217;API valident le contexte du locataire avant de retourner les donn\u00e9es.<\/li>\n<\/ul>\n<h2>\ud83c\udfaf R\u00e9flexions finales sur la conception<\/h2>\n<p>Choisir la conception de base de donn\u00e9es appropri\u00e9e pour un environnement multi-locataire est un \u00e9quilibre entre l&#8217;isolation et l&#8217;efficacit\u00e9. Le sch\u00e9ma ERD agit comme un contrat qui d\u00e9finit ces limites. Il n&#8217;existe pas de solution parfaite unique ; le choix d\u00e9pend des exigences sp\u00e9cifiques en mati\u00e8re de s\u00e9curit\u00e9, de co\u00fbt et d&#8217;\u00e9chelle. En comprenant les implications de chaque strat\u00e9gie, les architectes peuvent concevoir des syst\u00e8mes robustes, \u00e9volutifs et s\u00e9curis\u00e9s.<\/p>\n<p>Se concentrer sur des pratiques claires de mod\u00e9lisation des donn\u00e9es garantit que le syst\u00e8me reste maintenable \u00e0 mesure que le nombre de locataires augmente. Des revues r\u00e9guli\u00e8res du sch\u00e9ma ERD par rapport aux mod\u00e8les d&#8217;utilisation du monde r\u00e9el aident \u00e0 identifier les goulets d&#8217;\u00e9tranglement ou les failles de s\u00e9curit\u00e9 avant qu&#8217;elles ne deviennent des probl\u00e8mes critiques.<\/p>\n<p>En fin de compte, l&#8217;objectif est une conception qui soutient l&#8217;activit\u00e9 sans compromettre l&#8217;int\u00e9grit\u00e9 des donn\u00e9es. Une planification soigneuse \u00e0 l&#8217;\u00e9tape du sch\u00e9ma ERD \u00e9vite des refacturations co\u00fbteuses ult\u00e9rieurement.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Concevoir une architecture de base de donn\u00e9es dans un environnement multi-locataires exige une r\u00e9flexion attentive sur l&#8217;isolation des donn\u00e9es, la scalabilit\u00e9 et la charge de maintenance. Le diagramme Entit\u00e9-Relation (ERD)&hellip;<\/p>\n","protected":false},"author":1,"featured_media":1600,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"Conception de base de donn\u00e9es multi-locataire : explication des approches ERD","_yoast_wpseo_metadesc":"Explorez les strat\u00e9gies ERD pour les syst\u00e8mes multi-locataires. Comparez les sch\u00e9mas partag\u00e9s, les bases de donn\u00e9es par locataire et les mod\u00e8les hybrides en termes d'isolation et d'\u00e9volutivit\u00e9.","fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[86],"tags":[82,85],"class_list":["post-1599","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-erd","tag-academic","tag-erd"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Conception de base de donn\u00e9es multi-locataire : explication des approches ERD<\/title>\n<meta name=\"description\" content=\"Explorez les strat\u00e9gies ERD pour les syst\u00e8mes multi-locataires. Comparez les sch\u00e9mas partag\u00e9s, les bases de donn\u00e9es par locataire et les mod\u00e8les hybrides en termes d&#039;isolation et d&#039;\u00e9volutivit\u00e9.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.go-diagram.com\/fr\/multi-tenant-database-erd-approaches\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Conception de base de donn\u00e9es multi-locataire : explication des approches ERD\" \/>\n<meta property=\"og:description\" content=\"Explorez les strat\u00e9gies ERD pour les syst\u00e8mes multi-locataires. Comparez les sch\u00e9mas partag\u00e9s, les bases de donn\u00e9es par locataire et les mod\u00e8les hybrides en termes d&#039;isolation et d&#039;\u00e9volutivit\u00e9.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.go-diagram.com\/fr\/multi-tenant-database-erd-approaches\/\" \/>\n<meta property=\"og:site_name\" content=\"Go Diagram French - Proven AI Workflows &amp; Modern Tech Methods\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-27T02:32:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.go-diagram.com\/fr\/wp-content\/uploads\/sites\/6\/2026\/03\/multi-tenant-database-erd-approaches-infographic-whimsical.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1664\" \/>\n\t<meta property=\"og:image:height\" content=\"928\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"vpadmin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"vpadmin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.go-diagram.com\/fr\/multi-tenant-database-erd-approaches\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.go-diagram.com\/fr\/multi-tenant-database-erd-approaches\/\"},\"author\":{\"name\":\"vpadmin\",\"@id\":\"https:\/\/www.go-diagram.com\/fr\/#\/schema\/person\/05a897b07530dd5607bd8a29719b1d6c\"},\"headline\":\"Conception de base de donn\u00e9es multi-locataires : approches de diagrammes entit\u00e9-relations pour les syst\u00e8mes partag\u00e9s\",\"datePublished\":\"2026-03-27T02:32:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.go-diagram.com\/fr\/multi-tenant-database-erd-approaches\/\"},\"wordCount\":2449,\"publisher\":{\"@id\":\"https:\/\/www.go-diagram.com\/fr\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.go-diagram.com\/fr\/multi-tenant-database-erd-approaches\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.go-diagram.com\/fr\/wp-content\/uploads\/sites\/6\/2026\/03\/multi-tenant-database-erd-approaches-infographic-whimsical.jpg\",\"keywords\":[\"academic\",\"erd\"],\"articleSection\":[\"ERD\"],\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.go-diagram.com\/fr\/multi-tenant-database-erd-approaches\/\",\"url\":\"https:\/\/www.go-diagram.com\/fr\/multi-tenant-database-erd-approaches\/\",\"name\":\"Conception de base de donn\u00e9es multi-locataire : explication des approches ERD\",\"isPartOf\":{\"@id\":\"https:\/\/www.go-diagram.com\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.go-diagram.com\/fr\/multi-tenant-database-erd-approaches\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.go-diagram.com\/fr\/multi-tenant-database-erd-approaches\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.go-diagram.com\/fr\/wp-content\/uploads\/sites\/6\/2026\/03\/multi-tenant-database-erd-approaches-infographic-whimsical.jpg\",\"datePublished\":\"2026-03-27T02:32:50+00:00\",\"description\":\"Explorez les strat\u00e9gies ERD pour les syst\u00e8mes multi-locataires. Comparez les sch\u00e9mas partag\u00e9s, les bases de donn\u00e9es par locataire et les mod\u00e8les hybrides en termes d'isolation et d'\u00e9volutivit\u00e9.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.go-diagram.com\/fr\/multi-tenant-database-erd-approaches\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.go-diagram.com\/fr\/multi-tenant-database-erd-approaches\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.go-diagram.com\/fr\/multi-tenant-database-erd-approaches\/#primaryimage\",\"url\":\"https:\/\/www.go-diagram.com\/fr\/wp-content\/uploads\/sites\/6\/2026\/03\/multi-tenant-database-erd-approaches-infographic-whimsical.jpg\",\"contentUrl\":\"https:\/\/www.go-diagram.com\/fr\/wp-content\/uploads\/sites\/6\/2026\/03\/multi-tenant-database-erd-approaches-infographic-whimsical.jpg\",\"width\":1664,\"height\":928},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.go-diagram.com\/fr\/multi-tenant-database-erd-approaches\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.go-diagram.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Conception de base de donn\u00e9es multi-locataires : approches de diagrammes entit\u00e9-relations pour les syst\u00e8mes partag\u00e9s\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.go-diagram.com\/fr\/#website\",\"url\":\"https:\/\/www.go-diagram.com\/fr\/\",\"name\":\"Go Diagram French - Proven AI Workflows &amp; Modern Tech Methods\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.go-diagram.com\/fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.go-diagram.com\/fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.go-diagram.com\/fr\/#organization\",\"name\":\"Go Diagram French - Proven AI Workflows &amp; Modern Tech Methods\",\"url\":\"https:\/\/www.go-diagram.com\/fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.go-diagram.com\/fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.go-diagram.com\/fr\/wp-content\/uploads\/sites\/6\/2025\/03\/go-diagram-logo.png\",\"contentUrl\":\"https:\/\/www.go-diagram.com\/fr\/wp-content\/uploads\/sites\/6\/2025\/03\/go-diagram-logo.png\",\"width\":340,\"height\":62,\"caption\":\"Go Diagram French - Proven AI Workflows &amp; Modern Tech Methods\"},\"image\":{\"@id\":\"https:\/\/www.go-diagram.com\/fr\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.go-diagram.com\/fr\/#\/schema\/person\/05a897b07530dd5607bd8a29719b1d6c\",\"name\":\"vpadmin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.go-diagram.com\/fr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/56e0eb902506d9cea7c7e209205383146b8e81c0ef2eff693d9d5e0276b3d7e3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/56e0eb902506d9cea7c7e209205383146b8e81c0ef2eff693d9d5e0276b3d7e3?s=96&d=mm&r=g\",\"caption\":\"vpadmin\"},\"sameAs\":[\"https:\/\/www.go-diagram.com\"],\"url\":\"https:\/\/www.go-diagram.com\/fr\/author\/vpadmin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Conception de base de donn\u00e9es multi-locataire : explication des approches ERD","description":"Explorez les strat\u00e9gies ERD pour les syst\u00e8mes multi-locataires. Comparez les sch\u00e9mas partag\u00e9s, les bases de donn\u00e9es par locataire et les mod\u00e8les hybrides en termes d'isolation et d'\u00e9volutivit\u00e9.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.go-diagram.com\/fr\/multi-tenant-database-erd-approaches\/","og_locale":"fr_FR","og_type":"article","og_title":"Conception de base de donn\u00e9es multi-locataire : explication des approches ERD","og_description":"Explorez les strat\u00e9gies ERD pour les syst\u00e8mes multi-locataires. Comparez les sch\u00e9mas partag\u00e9s, les bases de donn\u00e9es par locataire et les mod\u00e8les hybrides en termes d'isolation et d'\u00e9volutivit\u00e9.","og_url":"https:\/\/www.go-diagram.com\/fr\/multi-tenant-database-erd-approaches\/","og_site_name":"Go Diagram French - Proven AI Workflows &amp; Modern Tech Methods","article_published_time":"2026-03-27T02:32:50+00:00","og_image":[{"width":1664,"height":928,"url":"https:\/\/www.go-diagram.com\/fr\/wp-content\/uploads\/sites\/6\/2026\/03\/multi-tenant-database-erd-approaches-infographic-whimsical.jpg","type":"image\/jpeg"}],"author":"vpadmin","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"vpadmin","Dur\u00e9e de lecture estim\u00e9e":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.go-diagram.com\/fr\/multi-tenant-database-erd-approaches\/#article","isPartOf":{"@id":"https:\/\/www.go-diagram.com\/fr\/multi-tenant-database-erd-approaches\/"},"author":{"name":"vpadmin","@id":"https:\/\/www.go-diagram.com\/fr\/#\/schema\/person\/05a897b07530dd5607bd8a29719b1d6c"},"headline":"Conception de base de donn\u00e9es multi-locataires : approches de diagrammes entit\u00e9-relations pour les syst\u00e8mes partag\u00e9s","datePublished":"2026-03-27T02:32:50+00:00","mainEntityOfPage":{"@id":"https:\/\/www.go-diagram.com\/fr\/multi-tenant-database-erd-approaches\/"},"wordCount":2449,"publisher":{"@id":"https:\/\/www.go-diagram.com\/fr\/#organization"},"image":{"@id":"https:\/\/www.go-diagram.com\/fr\/multi-tenant-database-erd-approaches\/#primaryimage"},"thumbnailUrl":"https:\/\/www.go-diagram.com\/fr\/wp-content\/uploads\/sites\/6\/2026\/03\/multi-tenant-database-erd-approaches-infographic-whimsical.jpg","keywords":["academic","erd"],"articleSection":["ERD"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/www.go-diagram.com\/fr\/multi-tenant-database-erd-approaches\/","url":"https:\/\/www.go-diagram.com\/fr\/multi-tenant-database-erd-approaches\/","name":"Conception de base de donn\u00e9es multi-locataire : explication des approches ERD","isPartOf":{"@id":"https:\/\/www.go-diagram.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.go-diagram.com\/fr\/multi-tenant-database-erd-approaches\/#primaryimage"},"image":{"@id":"https:\/\/www.go-diagram.com\/fr\/multi-tenant-database-erd-approaches\/#primaryimage"},"thumbnailUrl":"https:\/\/www.go-diagram.com\/fr\/wp-content\/uploads\/sites\/6\/2026\/03\/multi-tenant-database-erd-approaches-infographic-whimsical.jpg","datePublished":"2026-03-27T02:32:50+00:00","description":"Explorez les strat\u00e9gies ERD pour les syst\u00e8mes multi-locataires. Comparez les sch\u00e9mas partag\u00e9s, les bases de donn\u00e9es par locataire et les mod\u00e8les hybrides en termes d'isolation et d'\u00e9volutivit\u00e9.","breadcrumb":{"@id":"https:\/\/www.go-diagram.com\/fr\/multi-tenant-database-erd-approaches\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.go-diagram.com\/fr\/multi-tenant-database-erd-approaches\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.go-diagram.com\/fr\/multi-tenant-database-erd-approaches\/#primaryimage","url":"https:\/\/www.go-diagram.com\/fr\/wp-content\/uploads\/sites\/6\/2026\/03\/multi-tenant-database-erd-approaches-infographic-whimsical.jpg","contentUrl":"https:\/\/www.go-diagram.com\/fr\/wp-content\/uploads\/sites\/6\/2026\/03\/multi-tenant-database-erd-approaches-infographic-whimsical.jpg","width":1664,"height":928},{"@type":"BreadcrumbList","@id":"https:\/\/www.go-diagram.com\/fr\/multi-tenant-database-erd-approaches\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.go-diagram.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Conception de base de donn\u00e9es multi-locataires : approches de diagrammes entit\u00e9-relations pour les syst\u00e8mes partag\u00e9s"}]},{"@type":"WebSite","@id":"https:\/\/www.go-diagram.com\/fr\/#website","url":"https:\/\/www.go-diagram.com\/fr\/","name":"Go Diagram French - Proven AI Workflows &amp; Modern Tech Methods","description":"","publisher":{"@id":"https:\/\/www.go-diagram.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.go-diagram.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.go-diagram.com\/fr\/#organization","name":"Go Diagram French - Proven AI Workflows &amp; Modern Tech Methods","url":"https:\/\/www.go-diagram.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.go-diagram.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/www.go-diagram.com\/fr\/wp-content\/uploads\/sites\/6\/2025\/03\/go-diagram-logo.png","contentUrl":"https:\/\/www.go-diagram.com\/fr\/wp-content\/uploads\/sites\/6\/2025\/03\/go-diagram-logo.png","width":340,"height":62,"caption":"Go Diagram French - Proven AI Workflows &amp; Modern Tech Methods"},"image":{"@id":"https:\/\/www.go-diagram.com\/fr\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.go-diagram.com\/fr\/#\/schema\/person\/05a897b07530dd5607bd8a29719b1d6c","name":"vpadmin","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.go-diagram.com\/fr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/56e0eb902506d9cea7c7e209205383146b8e81c0ef2eff693d9d5e0276b3d7e3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/56e0eb902506d9cea7c7e209205383146b8e81c0ef2eff693d9d5e0276b3d7e3?s=96&d=mm&r=g","caption":"vpadmin"},"sameAs":["https:\/\/www.go-diagram.com"],"url":"https:\/\/www.go-diagram.com\/fr\/author\/vpadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.go-diagram.com\/fr\/wp-json\/wp\/v2\/posts\/1599","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.go-diagram.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.go-diagram.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.go-diagram.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.go-diagram.com\/fr\/wp-json\/wp\/v2\/comments?post=1599"}],"version-history":[{"count":0,"href":"https:\/\/www.go-diagram.com\/fr\/wp-json\/wp\/v2\/posts\/1599\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.go-diagram.com\/fr\/wp-json\/wp\/v2\/media\/1600"}],"wp:attachment":[{"href":"https:\/\/www.go-diagram.com\/fr\/wp-json\/wp\/v2\/media?parent=1599"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.go-diagram.com\/fr\/wp-json\/wp\/v2\/categories?post=1599"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.go-diagram.com\/fr\/wp-json\/wp\/v2\/tags?post=1599"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}