{"id":2218,"date":"2026-08-18T07:03:18","date_gmt":"2026-08-18T07:03:18","guid":{"rendered":"https:\/\/www.vpascode.com\/fr\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/"},"modified":"2026-08-18T07:03:18","modified_gmt":"2026-08-18T07:03:18","slug":"building-a-hotel-management-erd-with-plantuml-and-vpascode","status":"publish","type":"post","link":"https:\/\/www.vpascode.com\/fr\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/","title":{"rendered":"Cr\u00e9ation d&#8217;un MCD de gestion h\u00f4teli\u00e8re avec PlantUML et VPasCode"},"content":{"rendered":"<p><img loading=\"lazy\" alt='A YouTube thumbnail-style graphic featuring the bold text \"BUILD PROFESSIONAL DATABASE DIAGRAMS\" in large uppercase letters, with a pointing finger icon on the right and a rendered Entity Relationship Diagram displayed in the background.' class=\"alignnone size-full wp-image-2717\" decoding=\"async\" height=\"768\" loading=\"lazy\" sizes=\"auto, (max-width: 1376px) 100vw, 1376px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/build-professional-database-diagrams-thumbnail.jpg\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/build-professional-database-diagrams-thumbnail.jpg 1376w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/build-professional-database-diagrams-thumbnail-300x167.jpg 300w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/build-professional-database-diagrams-thumbnail-1024x572.jpg 1024w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/build-professional-database-diagrams-thumbnail-768x429.jpg 768w\" width=\"1376\"\/><\/p>\n<p>Lors de la conception d&#8217;architectures de bases de donn\u00e9es robustes pour des domaines complexes comme l&#8217;h\u00f4tellerie, la visualisation claire des relations est essentielle. Que vous cartographiez des profils clients, suiviez les stocks de chambres ou g\u00e9riez la facturation, un sch\u00e9ma entit\u00e9-association (MCD) bien structur\u00e9 fait gagner des heures de d\u00e9veloppement. Dans ce masterclass, je vous expliquerai comment j&#8217;ai construit de z\u00e9ro un MCD complet de gestion h\u00f4teli\u00e8re en utilisant PlantUML dans le <a href=\"https:\/\/www.vpascode.com\/editor\/\">\u00e9diteur PlantUML gratuit<\/a>, <a href=\"https:\/\/vpascode.com\/\">VPasCode<\/a>.<\/p>\n<p id=\"LzlMgfr\"><img loading=\"lazy\" alt=\"Hotel Management ERD diagram showing relationships between Customer, Room, Reservation, Payment, and Staff entities.\" class=\"alignnone size-full wp-image-2661\" decoding=\"async\" height=\"738\" loading=\"lazy\" sizes=\"auto, (max-width: 1508px) 100vw, 1508px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83fec0372f7.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83fec0372f7.png 1508w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83fec0372f7-300x147.png 300w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83fec0372f7-1024x501.png 1024w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83fec0372f7-768x376.png 768w\" width=\"1508\"\/><\/p>\n<h2>1. Initialisation de l&#8217;environnement PlantUML<\/h2>\n<p>Je commence par mettre en place la structure de base du script. Lorsqu&#8217;on travaille avec des sch\u00e9mas complexes contenant de nombreux attributs, la lisibilit\u00e9 de la mise en page est primordiale. Je configure PlantUML pour masquer les \u00e9l\u00e9ments inutiles et optimiser la direction de la disposition du diagramme :<\/p>\n<pre><code class=\"language-plantuml\">\r\n@startuml \r\ntitre MCD de gestion h\u00f4teli\u00e8re\r\n\r\nhide circle\r\ndirection de gauche \u00e0 droite\r\n    <\/code><\/pre>\n<p><strong>Pourquoi cette approche ?<\/strong> Masquer les cercles d&#8217;attributs par d\u00e9faut garde les bo\u00eetes d&#8217;entit\u00e9s propres et modernes. D\u00e9finir la direction sur <code>direction de gauche \u00e0 droite<\/code> aide \u00e0 \u00e9viter que les MCD larges ne deviennent verticalement ing\u00e9rables, en r\u00e9partissant logiquement les relations multi-tables.<\/p>\n<h2>2. D\u00e9finition des entit\u00e9s et attributs principaux<\/h2>\n<p>Ensuite, je dois d\u00e9finir les entit\u00e9s principales repr\u00e9sentant notre domaine m\u00e9tier. Je structure chaque entit\u00e9 avec ses cl\u00e9s primaires, ses contraintes d&#8217;unicit\u00e9 et ses attributs typ\u00e9s. Voyons comment j&#8217;ai configur\u00e9 les entit\u00e9s principales <code>Client<\/code> et <code>Type de chambre<\/code> :<\/p>\n<pre><code class=\"language-plantuml\">\r\nentit\u00e9 \"Client\" as client {\r\n  * customer_id : UUID &lt;&lt;PK&gt;&gt;\r\n  --\r\n  first_name : VARCHAR(50)\r\n  last_name : VARCHAR(50)\r\n  email : VARCHAR(100) &lt;&lt;UK&gt;&gt;\r\n  phone : VARCHAR(20)\r\n  address : TEXT\r\n  loyalty_points : INTEGER\r\n  total_stays : INTEGER\r\n  date_registered : TIMESTAMP\r\n  date_of_birth : DATE\r\n  nationality : VARCHAR(50)\r\n}\r\n\r\nentit\u00e9 \"Type de chambre\" as typechambre {\r\n  * room_type_id : UUID &lt;&lt;PK&gt;&gt;\r\n  --\r\n  type_name : VARCHAR(50) &lt;&lt;UK&gt;&gt;\r\n  description : TEXT\r\n  standard_capacity : INTEGER\r\n  base_price : DECIMAL(10,2)\r\n  extra_bed_charge : DECIMAL(10,2)\r\n  has_kitchenette : BOOLEAN\r\n  has_balcony : BOOLEAN\r\n}\r\n    <\/code><\/pre>\n<p>En d\u00e9finissant des marqueurs explicites comme <code>&lt;&lt;PK&gt;&gt;<\/code> et <code>&lt;&lt;UK&gt;&gt;<\/code>, toute personne examinant le code comprend instantan\u00e9ment les r\u00e8gles d&#8217;indexation et d&#8217;unicit\u00e9 avant m\u00eame que les scripts de migration de la base de donn\u00e9es ne soient \u00e9crits.<\/p>\n<h2>3. Cartographie des entit\u00e9s op\u00e9rationnelles (Chambres, R\u00e9servations et Personnel)<\/h2>\n<p>Une fois nos donn\u00e9es de r\u00e9f\u00e9rence en place, je passe au c\u0153ur transactionnel du syst\u00e8me de gestion h\u00f4teli\u00e8re : les chambres, les r\u00e9servations et les flux de travail du personnel. Chaque entit\u00e9 se lie aux tables de base \u00e0 l&#8217;aide de cl\u00e9s \u00e9trang\u00e8res :<\/p>\n<pre><code class=\"language-plantuml\">\r\nentit\u00e9 \"Chambre\" as chambre {\r\n  * room_id : UUID &lt;&lt;PK&gt;&gt;\r\n  --\r\n  room_number : VARCHAR(10) &lt;&lt;UK&gt;&gt;\r\n  floor_number : INTEGER\r\n  room_type_id : UUID &lt;&lt;FK&gt;&gt;\r\n  capacity : INTEGER\r\n  base_price : DECIMAL(10,2)\r\n  is_available : BOOLEAN\r\n  has_view : BOOLEAN\r\n  square_feet : INTEGER\r\n  last_renovated : DATE\r\n}\r\n\r\nentit\u00e9 \"R\u00e9servation\" as reservation {\r\n  * reservation_id : UUID &lt;&lt;PK&gt;&gt;\r\n  --\r\n  customer_id : UUID &lt;&lt;FK&gt;&gt;\r\n  room_id : UUID &lt;&lt;FK&gt;&gt;\r\n  check_in_date : DATE\r\n  check_out_date : DATE\r\n  number_of_guests : INTEGER\r\n  total_amount : DECIMAL(10,2)\r\n  status : VARCHAR(20)\r\n  special_requests : TEXT\r\n  created_at : TIMESTAMP\r\n  updated_at : TIMESTAMP\r\n  confirmation_code : VARCHAR(20) &lt;&lt;UK&gt;&gt;\r\n}\r\n    <\/code><\/pre>\n<h2>4. \u00c9tablissement des relations financi\u00e8res et de service<\/h2>\n<p>Pour conclure l&#8217;architecture, je cartographie les enregistrements de facturation (Paiements et Factures) ainsi que les services auxiliaires comme le service en chambre g\u00e9r\u00e9 par le personnel de l&#8217;h\u00f4tel. Pour tout relier, je d\u00e9finis explicitement la cardinalit\u00e9 en utilisant la notation standard de PlantUML :<\/p>\n<pre><code class=\"language-plantuml\">\r\n' Relations\r\ncustomer ||--o{ reservation : \"effectue\"\r\nroom ||--o{ reservation : \"attribu\u00e9 \u00e0\"\r\nreservation ||--|| payment : \"poss\u00e8de\"\r\nreservation ||--|| invoice : \"g\u00e9n\u00e8re\"\r\nreservation ||--o{ roomservice : \"demande\"\r\nstaff ||--o{ roomservice : \"ex\u00e9cute\"\r\nroomtype ||--o{ room : \"cat\u00e9gorise\"\r\n\r\n@enduml\r\n    <\/code><\/pre>\n<p><strong>Choix de conception :<\/strong> L&#8217;utilisation d&#8217;une notation pr\u00e9cise en forme de patte de corbeau (telle que &#8220;<code>||--o{<\/code> pour les relations un-\u00e0-plusieurs obligatoires vers optionnelles) garantit que les r\u00e8gles de logique m\u00e9tier \u2014 comme une r\u00e9servation n\u00e9cessitant un client, mais un client pouvant avoir plusieurs ou z\u00e9ro r\u00e9servations actives \u2014 sont mod\u00e9lis\u00e9es avec pr\u00e9cision.<\/p>\n<section class=\"post-section\">\u00a0<\/section>\n<hr \/>\n<h2>Le script PlantUML complet<\/h2>\n<p>Voici le code source complet et assembl\u00e9 pour notre MCD de gestion h\u00f4teli\u00e8re. Vous pouvez copier et coller ce code directement dans votre \u00e9diteur PlantUML pr\u00e9f\u00e9r\u00e9 <strong>\u00e9diteur PlantUML gratuit<\/strong> pour modifier ou g\u00e9n\u00e9rer des graphiques vectoriels :<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:nPRVRzis4CVV3VX_8FAojLY0BCDUWcAe5nkhWQOj77VO6t6MJXOHYbJ9arklwV--8sKfaYKLQ5xs8eZy7dzzxex7rvx0KLLeCP_DPwH8etXZ2RMu0mDxBD2GM6sMGSrLYY9HBj4udsdCI90LJkrp4gboc92o9jZz99QOAOE2nofIwCLdHRa08gTs5Q6Vpw9o51UtbITReBiGu4LoQeYlyvaGBzksLAcu4Hy_hfVYrHz1khmCtqmvJz90WQp-lTZSlbbiVlxzwaNGD4nAM83IdUvVhwvUdEOjSskw8wxh4P2c3hrdORlwPnkdjqVGT9IbLOQ2i7wtNVsrsWIDB86MZFLu9gH0A1tkbITq68wqNT-jxhUBkm-jR3EvKuvXtOZbOhiA_GO2Lz21rzbXlWNQ3SgDjKN4wFYdGHZ-9_15oLJ5Ze5tQJGmCcsjUpBe72IEf6E9WvaJA26fDzgntu57MJgL1BRBrUtwRl6M5_hbEj9LNiA1NG8x7VG_txz_krgy2qeENXuKVkxt-ayLE9GP8lMNYJvtQEo1IQOjmG6aBU-y1HMEqOCrUgwQM9I6GNMoIT4dJfN1MPr8uJWmARXKFWSDVY47SeSyEWUt7xK9a1uK9JaQ91eXk0ETM7Fi2dqawD4TOf3LL9xQBPYdhWaqawaw6e2ysUH1AYD3p7T2lUwt5PqBTHI6xDXNwCSp3WfR6Hf3n3wWoW_psfUOA1xfy5CpQ-Esn6488WbqdgPLcKueJ9clfAB6bDZqx2Q9P--H_m37SBr6wcNztn0_DQTIzpl-cCRGp7bYszjxenL8kKqx6_-jHiLnQ3maJoiEut-ACXS6vBIGbTCTm0wpogIJJkjnMfk3vGo9d5Jztt0wDP_1gHavk06lsnCfxolsz5aifXMUT_bg5sDmZ3h1bz6Ov8s5vQSJ-tbHtGDtJv1b4PiFVmsqsFY_Ywgp6eTnblCxOa0NDBZZA89SPIGzNnjffKTs5KeBn-m1foy_lfxkQrUq9U7acfRMoLC_7cBZd9lvOkKPR7cyYfnkA4cgmE6rKvGQumR6vAcqd2Wwt-e7t0PrF1CJBlcvrhxC7XylB-tNNesu4HS5FA2_cC_YosFS1BnNUyDbcMmmx8Z1_l6nlG3PbglMk4sJ_6opvtBdE4x6BCFg7J-oTNF3it6T2UDcMQKpfNLpbEYXZcKmINZDlNNgtxZoVFOQJSglv_y0\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Modifier PlantUML dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:nPRVRzis4CVV3VX_8FAojLY0BCDUWcAe5nkhWQOj77VO6t6MJXOHYbJ9arklwV--8sKfaYKLQ5xs8eZy7dzzxex7rvx0KLLeCP_DPwH8etXZ2RMu0mDxBD2GM6sMGSrLYY9HBj4udsdCI90LJkrp4gboc92o9jZz99QOAOE2nofIwCLdHRa08gTs5Q6Vpw9o51UtbITReBiGu4LoQeYlyvaGBzksLAcu4Hy_hfVYrHz1khmCtqmvJz90WQp-lTZSlbbiVlxzwaNGD4nAM83IdUvVhwvUdEOjSskw8wxh4P2c3hrdORlwPnkdjqVGT9IbLOQ2i7wtNVsrsWIDB86MZFLu9gH0A1tkbITq68wqNT-jxhUBkm-jR3EvKuvXtOZbOhiA_GO2Lz21rzbXlWNQ3SgDjKN4wFYdGHZ-9_15oLJ5Ze5tQJGmCcsjUpBe72IEf6E9WvaJA26fDzgntu57MJgL1BRBrUtwRl6M5_hbEj9LNiA1NG8x7VG_txz_krgy2qeENXuKVkxt-ayLE9GP8lMNYJvtQEo1IQOjmG6aBU-y1HMEqOCrUgwQM9I6GNMoIT4dJfN1MPr8uJWmARXKFWSDVY47SeSyEWUt7xK9a1uK9JaQ91eXk0ETM7Fi2dqawD4TOf3LL9xQBPYdhWaqawaw6e2ysUH1AYD3p7T2lUwt5PqBTHI6xDXNwCSp3WfR6Hf3n3wWoW_psfUOA1xfy5CpQ-Esn6488WbqdgPLcKueJ9clfAB6bDZqx2Q9P--H_m37SBr6wcNztn0_DQTIzpl-cCRGp7bYszjxenL8kKqx6_-jHiLnQ3maJoiEut-ACXS6vBIGbTCTm0wpogIJJkjnMfk3vGo9d5Jztt0wDP_1gHavk06lsnCfxolsz5aifXMUT_bg5sDmZ3h1bz6Ov8s5vQSJ-tbHtGDtJv1b4PiFVmsqsFY_Ywgp6eTnblCxOa0NDBZZA89SPIGzNnjffKTs5KeBn-m1foy_lfxkQrUq9U7acfRMoLC_7cBZd9lvOkKPR7cyYfnkA4cgmE6rKvGQumR6vAcqd2Wwt-e7t0PrF1CJBlcvrhxC7XylB-tNNesu4HS5FA2_cC_YosFS1BnNUyDbcMmmx8Z1_l6nlG3PbglMk4sJ_6opvtBdE4x6BCFg7J-oTNF3it6T2UDcMQKpfNLpbEYXZcKmINZDlNNgtxZoVFOQJSglv_y0\" rel=\"noopener noreferrer\" target=\"_blank\">\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\n<span>Modifier PlantUML dans VPasCode<\/span>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">PlantUML<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:nPRBZjis58Rt1lmEn6pQ51rWEaKtGL747Rlj09aaS9mWEu4YZomY5AdmuewHoRjq6U_x1dgn7bANaIofG6VJZM7oFwJ8xrnuNbX7ZVE59Cl5Sk64Cq3kRjQ40zc3TK8habT_Ev2Y-ceWsEG2DIOCapZamW2BLX8oHvmcHknp5-o-8Ulgb0ab36gMWCBDgvCbz00CPxp1lyuPaNfdbuie7yd5ZHJuzu9GIvYtJXTWoEVbWf3lkd4YE7bEthsxNPEVVmdIvMNupOInBb6q05JVhxOtVwost_vqzIneaivAK50XUzC_N5qzQ_OjSwtwAwxh5PHp0zQYiDjysCNjzP5ATqnABPGBmkshtURtpJPeJZig4wHyF1CuTP0Os0lhm42uqkxsRlDsjxfxqyawIr9XN8xYUhNRX7b50sug0wspotm9s3kGEIrI0v6aqRfeAOR_CmIZf7oH8lC-a9P79hKsZmQzkyILxbZ2Q6T6Iyhgi_RiKseXAOrW0UzwStDxjtg97_h-EW8MDg47z0fDPT1_VVtwvMRrAYWvjSb1m9_3MVl9KmD91k26dubkDw3q0M7o3kA0qmvF7QATdV4AjnamcxnU3IvAu_1gR3XOPaGPi-GnPZ0Y5AU69qyX1FVEq2G5N9rJiv-q2Qm-2iToKE3S1CYKIgRLiIyCo6mnMy4SOhpLMA0RTsGUfsROp6RjP23YQTd7HAWaX7ylwkjvxTsvK4TZI9IzntercNoqq5wvAKRe1EVjECLj2KpWIWEVsbrRlp438PWIwiuprfTyHa7CM9sA6XFJ_AoenBiFqB-X0egs3fRq6Fwto9lXN0x_YqFcERHxDd07Xs-r0bokUU_aFzQiC1ALfUpnY-CCcCECRmTWOYJUo1vX0vbNVDPh0r2_uOTzaxL27NJ8buPJCtm2ftRbg1HUTpSIrdfqzLamSW_dKzQdCGYdg3jwFncKUB3m-VdKVbfO3oCCZDLAWOpeS46MjU3YuFz-P8sMC8wr7DkD4M4ggJbEOiX5vXABjODxEN6gyCvWt1vWjWI-hLs1pSleVMYyr45hdFRVesqQTxjVV8P69vz-KffgbJXHmBW45QM4U80fUIv3PrwWBtM3jmKPxuJzMzUiFJnSNkhFWxVYERc0BCC-qSF5SX6RaMchfX-iJgJwArZsrB3WuQ6hXMXSQckhhnoc3TjYW8RxwgH2ypfX68xGyoKQSmnL5JUjSsBQ2kwh4_EklKvqKiyoc32AtUvU6s63rNBn0XJ7DliV\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"language-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml \r\n\r\ntitre MCD de gestion h\u00f4teli\u00e8re\r\n\r\nhide circle\r\ndirection left to right\r\n\r\n' D\u00e9finir les entit\u00e9s avec leurs attributs\r\nentity \"Client\" as customer {\r\n  * customer_id : UUID &lt;&gt;\r\n  --\r\n  first_name : VARCHAR(50)\r\n  last_name : VARCHAR(50)\r\n  email : VARCHAR(100) &lt;&gt;\r\n  phone : VARCHAR(20)\r\n  address : TEXT\r\n  loyalty_points : INTEGER\r\n  total_stays : INTEGER\r\n  date_registered : TIMESTAMP\r\n  date_of_birth : DATE\r\n  nationality : VARCHAR(50)\r\n}\r\n\r\nentity \"Chambre\" as room {\r\n  * room_id : UUID &lt;&gt;\r\n  --\r\n  room_number : VARCHAR(10) &lt;&gt;\r\n  floor_number : INTEGER\r\n  room_type_id : UUID &lt;&gt;\r\n  capacity : INTEGER\r\n  base_price : DECIMAL(10,2)\r\n  is_available : BOOLEAN\r\n  has_view : BOOLEAN\r\n  square_feet : INTEGER\r\n  last_renovated : DATE\r\n}\r\n\r\nentity \"Type de chambre\" as roomtype {\r\n  * room_type_id : UUID &lt;&gt;\r\n  --\r\n  type_name : VARCHAR(50) &lt;&gt;\r\n  description : TEXT\r\n  standard_capacity : INTEGER\r\n  base_price : DECIMAL(10,2)\r\n  extra_bed_charge : DECIMAL(10,2)\r\n  has_kitchenette : BOOLEAN\r\n  has_balcony : BOOLEAN\r\n}\r\n\r\nentity \"R\u00e9servation\" as reservation {\r\n  * reservation_id : UUID &lt;&gt;\r\n  --\r\n  customer_id : UUID &lt;&gt;\r\n  room_id : UUID &lt;&gt;\r\n  check_in_date : DATE\r\n  check_out_date : DATE\r\n  number_of_guests : INTEGER\r\n  total_amount : DECIMAL(10,2)\r\n  status : VARCHAR(20)\r\n  special_requests : TEXT\r\n  created_at : TIMESTAMP\r\n  updated_at : TIMESTAMP\r\n  confirmation_code : VARCHAR(20) &lt;&gt;\r\n}\r\n\r\nentity \"Paiement\" as payment {\r\n  * payment_id : UUID &lt;&gt;\r\n  --\r\n  reservation_id : UUID &lt;&gt;\r\n  amount : DECIMAL(10,2)\r\n  payment_date : TIMESTAMP\r\n  payment_method : VARCHAR(30)\r\n  transaction_id : VARCHAR(50) &lt;&gt;\r\n  status : VARCHAR(20)\r\n  receipt_url : TEXT\r\n  refund_amount : DECIMAL(10,2)\r\n}\r\n\r\nentity \"Facture\" as invoice {\r\n  * invoice_id : UUID &lt;&gt;\r\n  --\r\n  reservation_id : UUID &lt;&gt;\r\n  invoice_number : VARCHAR(20) &lt;&gt;\r\n  issued_date : DATE\r\n  due_date : DATE\r\n  subtotal : DECIMAL(10,2)\r\n  tax : DECIMAL(10,2)\r\n  service_charge : DECIMAL(10,2)\r\n  total_amount : DECIMAL(10,2)\r\n  status : VARCHAR(20)\r\n}\r\n\r\nentity \"Personnel\" as staff {\r\n  * staff_id : UUID &lt;&gt;\r\n  --\r\n  first_name : VARCHAR(50)\r\n  last_name : VARCHAR(50)\r\n  email : VARCHAR(100) &lt;&gt;\r\n  phone : VARCHAR(20)\r\n  role : VARCHAR(30)\r\n  hire_date : DATE\r\n  salary : DECIMAL(10,2)\r\n  shift_schedule : VARCHAR(50)\r\n  is_active : BOOLEAN\r\n}\r\n\r\nentity \"Service en chambre\" as roomservice {\r\n  * service_id : UUID &lt;&gt;\r\n  --\r\n  reservation_id : UUID &lt;&gt;\r\n  staff_id : UUID &lt;&gt;\r\n  service_type : VARCHAR(50)\r\n  description : TEXT\r\n  request_time : TIMESTAMP\r\n  completion_time : TIMESTAMP\r\n  status : VARCHAR(20)\r\n  price : DECIMAL(10,2)\r\n}\r\n\r\n' Relations\r\ncustomer ||--o{ reservation : \"effectue\"\r\nroom ||--o{ reservation : \"attribu\u00e9 \u00e0\"\r\nreservation ||--|| payment : \"poss\u00e8de\"\r\nreservation ||--|| invoice : \"g\u00e9n\u00e8re\"\r\nreservation ||--o{ roomservice : \"demande\"\r\nstaff ||--o{ roomservice : \"ex\u00e9cute\"\r\nroomtype ||--o{ room : \"cat\u00e9gorise\"\r\n\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:nPRBZjis58Rt1lmEn6pQ51rWEaKtGL747Rlj09aaS9mWEu4YZomY5AdmuewHoRjq6U_x1dgn7bANaIofG6VJZM7oFwJ8xrnuNbX7ZVE59Cl5Sk64Cq3kRjQ40zc3TK8habT_Ev2Y-ceWsEG2DIOCapZamW2BLX8oHvmcHknp5-o-8Ulgb0ab36gMWCBDgvCbz00CPxp1lyuPaNfdbuie7yd5ZHJuzu9GIvYtJXTWoEVbWf3lkd4YE7bEthsxNPEVVmdIvMNupOInBb6q05JVhxOtVwost_vqzIneaivAK50XUzC_N5qzQ_OjSwtwAwxh5PHp0zQYiDjysCNjzP5ATqnABPGBmkshtURtpJPeJZig4wHyF1CuTP0Os0lhm42uqkxsRlDsjxfxqyawIr9XN8xYUhNRX7b50sug0wspotm9s3kGEIrI0v6aqRfeAOR_CmIZf7oH8lC-a9P79hKsZmQzkyILxbZ2Q6T6Iyhgi_RiKseXAOrW0UzwStDxjtg97_h-EW8MDg47z0fDPT1_VVtwvMRrAYWvjSb1m9_3MVl9KmD91k26dubkDw3q0M7o3kA0qmvF7QATdV4AjnamcxnU3IvAu_1gR3XOPaGPi-GnPZ0Y5AU69qyX1FVEq2G5N9rJiv-q2Qm-2iToKE3S1CYKIgRLiIyCo6mnMy4SOhpLMA0RTsGUfsROp6RjP23YQTd7HAWaX7ylwkjvxTsvK4TZI9IzntercNoqq5wvAKRe1EVjECLj2KpWIWEVsbrRlp438PWIwiuprfTyHa7CM9sA6XFJ_AoenBiFqB-X0egs3fRq6Fwto9lXN0x_YqFcERHxDd07Xs-r0bokUU_aFzQiC1ALfUpnY-CCcCECRmTWOYJUo1vX0vbNVDPh0r2_uOTzaxL27NJ8buPJCtm2ftRbg1HUTpSIrdfqzLamSW_dKzQdCGYdg3jwFncKUB3m-VdKVbfO3oCCZDLAWOpeS46MjU3YuFz-P8sMC8wr7DkD4M4ggJbEOiX5vXABjODxEN6gyCvWt1vWjWI-hLs1pSleVMYyr45hdFRVesqQTxjVV8P69vz-KffgbJXHmBW45QM4U80fUIv3PrwWBtM3jmKPxuJzMzUiFJnSNkhFWxVYERc0BCC-qSF5SX6RaMchfX-iJgJwArZsrB3WuQ6hXMXSQckhhnoc3TjYW8RxwgH2ypfX68xGyoKQSmnL5JUjSsBQ2kwh4_EklKvqKiyoc32AtUvU6s63rNBn0XJ7DliV\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n             <\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:nPRVRzis4CVV3VX_8FAojLY0BCDUWcAe5nkhWQOj77VO6t6MJXOHYbJ9arklwV--8sKfaYKLQ5xs8eZy7dzzxex7rvx0KLLeCP_DPwH8etXZ2RMu0mDxBD2GM6sMGSrLYY9HBj4udsdCI90LJkrp4gboc92o9jZz99QOAOE2nofIwCLdHRa08gTs5Q6Vpw9o51UtbITReBiGu4LoQeYlyvaGBzksLAcu4Hy_hfVYrHz1khmCtqmvJz90WQp-lTZSlbbiVlxzwaNGD4nAM83IdUvVhwvUdEOjSskw8wxh4P2c3hrdORlwPnkdjqVGT9IbLOQ2i7wtNVsrsWIDB86MZFLu9gH0A1tkbITq68wqNT-jxhUBkm-jR3EvKuvXtOZbOhiA_GO2Lz21rzbXlWNQ3SgDjKN4wFYdGHZ-9_15oLJ5Ze5tQJGmCcsjUpBe72IEf6E9WvaJA26fDzgntu57MJgL1BRBrUtwRl6M5_hbEj9LNiA1NG8x7VG_txz_krgy2qeENXuKVkxt-ayLE9GP8lMNYJvtQEo1IQOjmG6aBU-y1HMEqOCrUgwQM9I6GNMoIT4dJfN1MPr8uJWmARXKFWSDVY47SeSyEWUt7xK9a1uK9JaQ91eXk0ETM7Fi2dqawD4TOf3LL9xQBPYdhWaqawaw6e2ysUH1AYD3p7T2lUwt5PqBTHI6xDXNwCSp3WfR6Hf3n3wWoW_psfUOA1xfy5CpQ-Esn6488WbqdgPLcKueJ9clfAB6bDZqx2Q9P--H_m37SBr6wcNztn0_DQTIzpl-cCRGp7bYszjxenL8kKqx6_-jHiLnQ3maJoiEut-ACXS6vBIGbTCTm0wpogIJJkjnMfk3vGo9d5Jztt0wDP_1gHavk06lsnCfxolsz5aifXMUT_bg5sDmZ3h1bz6Ov8s5vQSJ-tbHtGDtJv1b4PiFVmsqsFY_Ywgp6eTnblCxOa0NDBZZA89SPIGzNnjffKTs5KeBn-m1foy_lfxkQrUq9U7acfRMoLC_7cBZd9lvOkKPR7cyYfnkA4cgmE6rKvGQumR6vAcqd2Wwt-e7t0PrF1CJBlcvrhxC7XylB-tNNesu4HS5FA2_cC_YosFS1BnNUyDbcMmmx8Z1_l6nlG3PbglMk4sJ_6opvtBdE4x6BCFg7J-oTNF3it6T2UDcMQKpfNLpbEYXZcKmINZDlNNgtxZoVFOQJSglv_y0\" rel=\"noopener noreferrer\" target=\"_blank\">\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\n<span>Modifier PlantUML dans VPasCode<\/span>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:nPRVRzis4CVV3VX_8FAojLY0BCDUWcAe5nkhWQOj77VO6t6MJXOHYbJ9arklwV--8sKfaYKLQ5xs8eZy7dzzxex7rvx0KLLeCP_DPwH8etXZ2RMu0mDxBD2GM6sMGSrLYY9HBj4udsdCI90LJkrp4gboc92o9jZz99QOAOE2nofIwCLdHRa08gTs5Q6Vpw9o51UtbITReBiGu4LoQeYlyvaGBzksLAcu4Hy_hfVYrHz1khmCtqmvJz90WQp-lTZSlbbiVlxzwaNGD4nAM83IdUvVhwvUdEOjSskw8wxh4P2c3hrdORlwPnkdjqVGT9IbLOQ2i7wtNVsrsWIDB86MZFLu9gH0A1tkbITq68wqNT-jxhUBkm-jR3EvKuvXtOZbOhiA_GO2Lz21rzbXlWNQ3SgDjKN4wFYdGHZ-9_15oLJ5Ze5tQJGmCcsjUpBe72IEf6E9WvaJA26fDzgntu57MJgL1BRBrUtwRl6M5_hbEj9LNiA1NG8x7VG_txz_krgy2qeENXuKVkxt-ayLE9GP8lMNYJvtQEo1IQOjmG6aBU-y1HMEqOCrUgwQM9I6GNMoIT4dJfN1MPr8uJWmARXKFWSDVY47SeSyEWUt7xK9a1uK9JaQ91eXk0ETM7Fi2dqawD4TOf3LL9xQBPYdhWaqawaw6e2ysUH1AYD3p7T2lUwt5PqBTHI6xDXNwCSp3WfR6Hf3n3wWoW_psfUOA1xfy5CpQ-Esn6488WbqdgPLcKueJ9clfAB6bDZqx2Q9P--H_m37SBr6wcNztn0_DQTIzpl-cCRGp7bYszjxenL8kKqx6_-jHiLnQ3maJoiEut-ACXS6vBIGbTCTm0wpogIJJkjnMfk3vGo9d5Jztt0wDP_1gHavk06lsnCfxolsz5aifXMUT_bg5sDmZ3h1bz6Ov8s5vQSJ-tbHtGDtJv1b4PiFVmsqsFY_Ywgp6eTnblCxOa0NDBZZA89SPIGzNnjffKTs5KeBn-m1foy_lfxkQrUq9U7acfRMoLC_7cBZd9lvOkKPR7cyYfnkA4cgmE6rKvGQumR6vAcqd2Wwt-e7t0PrF1CJBlcvrhxC7XylB-tNNesu4HS5FA2_cC_YosFS1BnNUyDbcMmmx8Z1_l6nlG3PbglMk4sJ_6opvtBdE4x6BCFg7J-oTNF3it6T2UDcMQKpfNLpbEYXZcKmINZDlNNgtxZoVFOQJSglv_y0\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Modifier PlantUML dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"ANJCSUi\"><img loading=\"lazy\" alt=\"Editing a ERD in Visual Paradigm VPasCode\" class=\"alignnone wp-image-2662 size-full\" decoding=\"async\" height=\"856\" loading=\"lazy\" sizes=\"auto, (max-width: 1311px) 100vw, 1311px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83ff8445766.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83ff8445766.png 1311w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83ff8445766-300x196.png 300w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83ff8445766-1024x669.png 1024w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83ff8445766-768x501.png 768w\" width=\"1311\"\/><\/p>\n<hr \/>\n<section class=\"post-section\"><span style=\"font-size: 1.7em; font-weight: bold;\">Donnez vie \u00e0 vos conceptions de base de donn\u00e9es avec VPasCode<\/span><\/section>\n<p>Construire des mod\u00e8les de base de donn\u00e9es complexes ne signifie pas n\u00e9cessairement lutter avec des interfaces utilisateur de glisser-d\u00e9poser maladroites. En adoptant une approche diagramme-as-code, votre architecture reste versionn\u00e9e, propre et facilement maintenable.<\/p>\n<p>Pr\u00eat \u00e0 essayer de cr\u00e9er vos propres architectures de syst\u00e8me ? Rendez-vous sur <a href=\"https:\/\/www.vpascode.com\/editor\/\">VPasCode<\/a> pour d\u00e9couvrir le rendu en temps r\u00e9el, la d\u00e9tection automatique de format et les exports fluides pour votre documentation technique d\u00e8s aujourd&#8217;hui !<\/p>\n","protected":false},"excerpt":{"rendered":"Lors de la conception d&#8217;architectures de bases de donn\u00e9es robustes pour des domaines complexes comme l&#8217;h\u00f4tellerie, la visualisation claire des relations est essentielle. Que vous cartographiez des profils clients, suiviez les stocks de chambres ou g\u00e9riez la facturation, un sch\u00e9ma&#8230;","protected":false},"author":4,"featured_media":2219,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"Build a Hotel Management ERD Using PlantUML & VPasCode","_yoast_wpseo_metadesc":"Learn how to create a comprehensive Hotel Management Entity Relationship Diagram (ERD) from scratch using PlantUML and the free VPasCode editor.","inline_featured_image":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"source_url":"","source_h1_title":"","fifu_image_url":"","fifu_image_alt":"","_fifu_image_alt":"","fifu_alt":"","_fifu_alt":"","fifu_image_title":"","_fifu_image_title":"","fifu_input_alt":"","vp_image_hash":"","footnotes":""},"categories":[19],"tags":[],"asset-category":[],"class_list":["post-2218","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials-guides"],"source_url":"","source_h1_title":"","fifu_image_url":"","fifu_image_alt":"","vp_image_hash":"","yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Build a Hotel Management ERD Using PlantUML &amp; VPasCode<\/title>\n<meta name=\"description\" content=\"Learn how to create a comprehensive Hotel Management Entity Relationship Diagram (ERD) from scratch using PlantUML and the free VPasCode editor.\" \/>\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.vpascode.com\/fr\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Build a Hotel Management ERD Using PlantUML &amp; VPasCode\" \/>\n<meta property=\"og:description\" content=\"Learn how to create a comprehensive Hotel Management Entity Relationship Diagram (ERD) from scratch using PlantUML and the free VPasCode editor.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vpascode.com\/fr\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/\" \/>\n<meta property=\"og:site_name\" content=\"VPasCode\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-18T07:03:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.vpascode.com\/fr\/wp-content\/uploads\/sites\/6\/2026\/08\/build-professional-database-diagrams-thumbnail-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1376\" \/>\n\t<meta property=\"og:image:height\" content=\"768\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"jick\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/\"},\"author\":{\"name\":\"jick\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/#\\\/schema\\\/person\\\/cd8aa8455bd8bc6827b3efdfa79ad3a6\"},\"headline\":\"Cr\u00e9ation d&#8217;un MCD de gestion h\u00f4teli\u00e8re avec PlantUML et VPasCode\",\"datePublished\":\"2026-08-18T07:03:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/\"},\"wordCount\":630,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/wp-content\\\/uploads\\\/sites\\\/6\\\/2026\\\/08\\\/build-professional-database-diagrams-thumbnail-1.jpg\",\"articleSection\":[\"Tutorials &amp; Guides\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/\",\"name\":\"Build a Hotel Management ERD Using PlantUML & VPasCode\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/wp-content\\\/uploads\\\/sites\\\/6\\\/2026\\\/08\\\/build-professional-database-diagrams-thumbnail-1.jpg\",\"datePublished\":\"2026-08-18T07:03:18+00:00\",\"description\":\"Learn how to create a comprehensive Hotel Management Entity Relationship Diagram (ERD) from scratch using PlantUML and the free VPasCode editor.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/wp-content\\\/uploads\\\/sites\\\/6\\\/2026\\\/08\\\/build-professional-database-diagrams-thumbnail-1.jpg\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/wp-content\\\/uploads\\\/sites\\\/6\\\/2026\\\/08\\\/build-professional-database-diagrams-thumbnail-1.jpg\",\"width\":1376,\"height\":768},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cr\u00e9ation d&#8217;un MCD de gestion h\u00f4teli\u00e8re avec PlantUML et VPasCode\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/#website\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/\",\"name\":\"VPasCode\",\"description\":\"by Visual Paradigm\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/#organization\",\"name\":\"VPasCode\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/wp-content\\\/uploads\\\/sites\\\/6\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/wp-content\\\/uploads\\\/sites\\\/6\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"width\":128,\"height\":138,\"caption\":\"VPasCode\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/#\\\/schema\\\/person\\\/cd8aa8455bd8bc6827b3efdfa79ad3a6\",\"name\":\"jick\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0c89451a99649a6ebefa14a9167db0960c327e8c33ea79fdb68fc38aa18d768a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0c89451a99649a6ebefa14a9167db0960c327e8c33ea79fdb68fc38aa18d768a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0c89451a99649a6ebefa14a9167db0960c327e8c33ea79fdb68fc38aa18d768a?s=96&d=mm&r=g\",\"caption\":\"jick\"},\"url\":\"https:\\\/\\\/www.vpascode.com\\\/fr\\\/author\\\/jick\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Build a Hotel Management ERD Using PlantUML & VPasCode","description":"Learn how to create a comprehensive Hotel Management Entity Relationship Diagram (ERD) from scratch using PlantUML and the free VPasCode editor.","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.vpascode.com\/fr\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/","og_locale":"fr_FR","og_type":"article","og_title":"Build a Hotel Management ERD Using PlantUML & VPasCode","og_description":"Learn how to create a comprehensive Hotel Management Entity Relationship Diagram (ERD) from scratch using PlantUML and the free VPasCode editor.","og_url":"https:\/\/www.vpascode.com\/fr\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/","og_site_name":"VPasCode","article_published_time":"2026-08-18T07:03:18+00:00","og_image":[{"width":1376,"height":768,"url":"https:\/\/www.vpascode.com\/fr\/wp-content\/uploads\/sites\/6\/2026\/08\/build-professional-database-diagrams-thumbnail-1.jpg","type":"image\/jpeg"}],"author":"jick","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":false,"Dur\u00e9e de lecture estim\u00e9e":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.vpascode.com\/fr\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#article","isPartOf":{"@id":"https:\/\/www.vpascode.com\/fr\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/"},"author":{"name":"jick","@id":"https:\/\/www.vpascode.com\/fr\/#\/schema\/person\/cd8aa8455bd8bc6827b3efdfa79ad3a6"},"headline":"Cr\u00e9ation d&#8217;un MCD de gestion h\u00f4teli\u00e8re avec PlantUML et VPasCode","datePublished":"2026-08-18T07:03:18+00:00","mainEntityOfPage":{"@id":"https:\/\/www.vpascode.com\/fr\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/"},"wordCount":630,"commentCount":0,"publisher":{"@id":"https:\/\/www.vpascode.com\/fr\/#organization"},"image":{"@id":"https:\/\/www.vpascode.com\/fr\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vpascode.com\/fr\/wp-content\/uploads\/sites\/6\/2026\/08\/build-professional-database-diagrams-thumbnail-1.jpg","articleSection":["Tutorials &amp; Guides"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.vpascode.com\/fr\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.vpascode.com\/fr\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/","url":"https:\/\/www.vpascode.com\/fr\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/","name":"Build a Hotel Management ERD Using PlantUML & VPasCode","isPartOf":{"@id":"https:\/\/www.vpascode.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.vpascode.com\/fr\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#primaryimage"},"image":{"@id":"https:\/\/www.vpascode.com\/fr\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vpascode.com\/fr\/wp-content\/uploads\/sites\/6\/2026\/08\/build-professional-database-diagrams-thumbnail-1.jpg","datePublished":"2026-08-18T07:03:18+00:00","description":"Learn how to create a comprehensive Hotel Management Entity Relationship Diagram (ERD) from scratch using PlantUML and the free VPasCode editor.","breadcrumb":{"@id":"https:\/\/www.vpascode.com\/fr\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vpascode.com\/fr\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.vpascode.com\/fr\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#primaryimage","url":"https:\/\/www.vpascode.com\/fr\/wp-content\/uploads\/sites\/6\/2026\/08\/build-professional-database-diagrams-thumbnail-1.jpg","contentUrl":"https:\/\/www.vpascode.com\/fr\/wp-content\/uploads\/sites\/6\/2026\/08\/build-professional-database-diagrams-thumbnail-1.jpg","width":1376,"height":768},{"@type":"BreadcrumbList","@id":"https:\/\/www.vpascode.com\/fr\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vpascode.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Cr\u00e9ation d&#8217;un MCD de gestion h\u00f4teli\u00e8re avec PlantUML et VPasCode"}]},{"@type":"WebSite","@id":"https:\/\/www.vpascode.com\/fr\/#website","url":"https:\/\/www.vpascode.com\/fr\/","name":"VPasCode","description":"by Visual Paradigm","publisher":{"@id":"https:\/\/www.vpascode.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vpascode.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.vpascode.com\/fr\/#organization","name":"VPasCode","url":"https:\/\/www.vpascode.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.vpascode.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/www.vpascode.com\/fr\/wp-content\/uploads\/sites\/6\/2026\/06\/cropped-vp-online-logo-v1.png","contentUrl":"https:\/\/www.vpascode.com\/fr\/wp-content\/uploads\/sites\/6\/2026\/06\/cropped-vp-online-logo-v1.png","width":128,"height":138,"caption":"VPasCode"},"image":{"@id":"https:\/\/www.vpascode.com\/fr\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.vpascode.com\/fr\/#\/schema\/person\/cd8aa8455bd8bc6827b3efdfa79ad3a6","name":"jick","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/0c89451a99649a6ebefa14a9167db0960c327e8c33ea79fdb68fc38aa18d768a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/0c89451a99649a6ebefa14a9167db0960c327e8c33ea79fdb68fc38aa18d768a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0c89451a99649a6ebefa14a9167db0960c327e8c33ea79fdb68fc38aa18d768a?s=96&d=mm&r=g","caption":"jick"},"url":"https:\/\/www.vpascode.com\/fr\/author\/jick\/"}]}},"_links":{"self":[{"href":"https:\/\/www.vpascode.com\/fr\/wp-json\/wp\/v2\/posts\/2218","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vpascode.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.vpascode.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/fr\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/fr\/wp-json\/wp\/v2\/comments?post=2218"}],"version-history":[{"count":0,"href":"https:\/\/www.vpascode.com\/fr\/wp-json\/wp\/v2\/posts\/2218\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/fr\/wp-json\/wp\/v2\/media\/2219"}],"wp:attachment":[{"href":"https:\/\/www.vpascode.com\/fr\/wp-json\/wp\/v2\/media?parent=2218"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vpascode.com\/fr\/wp-json\/wp\/v2\/categories?post=2218"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vpascode.com\/fr\/wp-json\/wp\/v2\/tags?post=2218"},{"taxonomy":"asset-category","embeddable":true,"href":"https:\/\/www.vpascode.com\/fr\/wp-json\/wp\/v2\/asset-category?post=2218"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}