{"id":500,"date":"2026-08-17T10:20:02","date_gmt":"2026-08-17T10:20:02","guid":{"rendered":"https:\/\/www.ai-diagrams.com\/fr\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/"},"modified":"2026-08-17T10:20:02","modified_gmt":"2026-08-17T10:20:02","slug":"stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots","status":"publish","type":"post","link":"https:\/\/www.ai-diagrams.com\/fr\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/","title":{"rendered":"Arr\u00eatez de faire glisser des bo\u00eetes : G\u00e9n\u00e9ration de diagrammes C4 via VPasCode et chatbots IA"},"content":{"rendered":"<h2 data-nodeid=\"11107\">Le probl\u00e8me de l&#8217;architecture centr\u00e9e sur l&#8217;interface graphique<\/h2>\n<p data-nodeid=\"11108\">Pendant des ann\u00e9es, la mod\u00e9lisation C4 est rest\u00e9e prise dans un paradoxe : nous pr\u00f4nons l&#8217;\u00ab architecture en tant que code \u00bb, mais la plupart des \u00e9quipes continuent de cr\u00e9er leurs diagrammes C4 en faisant glisser des bo\u00eetes dans une interface graphique. Cela entra\u00eene une documentation obsol\u00e8te, des conflits de fusion dans les fichiers binaires et une d\u00e9connexion entre le diagramme et le syst\u00e8me r\u00e9el.<\/p>\n<p data-nodeid=\"11109\">Les \u00e9quipes de d\u00e9veloppement modernes ont besoin d&#8217;un flux de travail o\u00f9<strong data-nodeid=\"11220\">la conversation inspire la conception<\/strong>et<strong data-nodeid=\"11221\">le code le soutient<\/strong>. En combinant l&#8217;outil<strong data-nodeid=\"11222\">Chatbot IA<\/strong>de Visual Paradigm avec<strong data-nodeid=\"11223\">VPasCode<\/strong>, vous pouvez passer de prompts en langage naturel \u00e0 du C4 PlantUML pr\u00eat pour la production en quelques minutes, sans jamais toucher \u00e0 une souris.<\/p>\n<p id=\"iFGCRTH\"><img fetchpriority=\"high\" alt=\"Conversion-Driven C4 Modeling | Visual Paradigm\" class=\"alignnone wp-image-1149 size-full\" decoding=\"async\" fetchpriority=\"high\" height=\"572\" sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e01435401.png\" srcset=\"https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e01435401.png 1024w, https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e01435401-300x168.png 300w, https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e01435401-768x429.png 768w\" width=\"1024\"\/><\/p>\n<p data-nodeid=\"11110\">Ce guide illustre ce flux de travail \u00e0 l&#8217;aide d&#8217;exemples concrets de PlantUML.<\/p>\n<hr data-nodeid=\"11111\"\/>\n<h2 data-nodeid=\"11112\">Phase 1 : Conception conversationnelle avec le chatbot IA<\/h2>\n<p data-nodeid=\"11113\">Le chatbot IA de Visual Paradigm agit comme votre copilote architectural. Au lieu de commencer par une toile vierge, vous commencez par une intention.<\/p>\n<h3 data-nodeid=\"11114\">\u2705 Strat\u00e9gie efficace de formulation des prompts<\/h3>\n<p data-nodeid=\"11115\">Ne demandez pas \u00e0 l&#8217;IA de \u00ab dessiner un diagramme \u00bb. Demandez-lui de<strong data-nodeid=\"11237\">mod\u00e9liser un syst\u00e8me en utilisant la s\u00e9mantique C4<\/strong>. Soyez pr\u00e9cis sur les limites, les technologies et les flux de donn\u00e9es.<\/p>\n<blockquote data-nodeid=\"11116\">\n<p data-nodeid=\"11117\"><strong data-nodeid=\"11249\">\ud83d\udcac Exemple de prompt pour le chatbot IA :<\/strong><br \/>\n\u00ab Agissez en tant qu&#8217;architecte logiciel. Cr\u00e9ez un diagramme de conteneurs C4 pour un \u00ab Syst\u00e8me de banque en ligne \u00bb. Incluez une application Web (React), une application mobile (Flutter), une passerelle API (Kong), un service bancaire central (.NET) et une base de donn\u00e9es PostgreSQL. Montrez le flux d&#8217;authentification via OAuth2 et les requ\u00eates de solde de compte. Produisez du code C4-PlantUML valide en utilisant les macros officielles. \u00bb<\/p>\n<\/blockquote>\n<h3 data-nodeid=\"11118\">\ud83e\udd16 Sortie attendue de l&#8217;IA (raffin\u00e9e)<\/h3>\n<p data-nodeid=\"11119\">L&#8217;IA g\u00e9n\u00e9rera un premier jet du mod\u00e8le PlantUML. Examinez-le de mani\u00e8re critique : l&#8217;IA est excellente pour la structure, mais peut inventer des relations. Utilisez des prompts de suivi dans le chat pour affiner :<em data-nodeid=\"11263\">&#8220;Ajoutez un cache Redis entre la passerelle API et le service bancaire central pour la gestion des sessions&#8221;<\/em>ou<em data-nodeid=\"11264\">&#8220;Marquez la base de donn\u00e9es PostgreSQL comme obsol\u00e8te et ajoutez un nouveau cluster MongoDB.&#8221;<\/em><\/p>\n<hr data-nodeid=\"11120\"\/>\n<h2 data-nodeid=\"11121\">Phase 2 : Mod\u00e9lisation d\u00e9terministe avec VPasCode et PlantUML<\/h2>\n<p data-nodeid=\"11122\">Une fois que l&#8217;IA a g\u00e9n\u00e9r\u00e9 un brouillon viable,<strong data-nodeid=\"11275\">arr\u00eatez de discuter et commencez \u00e0 coder<\/strong>. Copiez le PlantUML raffin\u00e9 dans un<code data-backticks=\"1\" data-nodeid=\"11273\">.puml<\/code>fichier g\u00e9r\u00e9 par VPasCode. C&#8217;est votre source de v\u00e9rit\u00e9 unique.<\/p>\n<p data-nodeid=\"11123\">Voici des exemples C4 PlantUML pr\u00eats pour la production g\u00e9n\u00e9r\u00e9s gr\u00e2ce \u00e0 ce flux de travail. Assurez-vous que votre projet Visual Paradigm inclut la\u00a0<a data-nodeid=\"11279\" href=\"https:\/\/github.com\/plantuml-stdlib\/C4-PlantUML\">biblioth\u00e8que C4-PlantUML<\/a>.<\/p>\n<h3 data-nodeid=\"11124\">Exemple 1 : Diagramme de contexte du syst\u00e8me (Niveau 1)<\/h3>\n<p data-nodeid=\"11125\">Ceci d\u00e9finit la limite de votre syst\u00e8me et ses acteurs externes.<\/p>\n<p data-nodeid=\"11125\"><img decoding=\"async\" src=\"https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e0d8e22d9.png\"\/><\/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:TPF1Rk9038RlIBo3oubAb4YhFVLKDelKIaL4X6wFbJDnOCHa1iquKDv-FKc0ijMUel7u_sp_dZm5HizDRM1fZRRq2-rEsyr7wYpJ9my7TzegqvG4M-PzU4mIZyVfHlEsAPf0NiKyorFbwcHlq4RKG-3Iw299VpvaCVIsU4rg34nUGcVoT2-Pmy5mm9eDGNwI-nhwoyU-6-ZR0U5mvNmT1HdvuEnODO5TJNu2evW5QNyUIU2FfcC0LCerbiC4sACDbUYWQcmfWJsU0XJQc32wln2nhBLjSMe7owhIYc0MOn6vG8iR2X275a3jh6Odm1QDYhMpBMiuw4OP5rth8ltFB96QUNVGfM2rpEqjCVGoa387QI30GICSgG2qfLILdkbhcO_v9u-Ly_HA6rGdGQPokDHQeBQLnvhwOW8CTDlq1BREb06w3O6XSYCctjyKe1gr4S8yVY7lMel8dCHEi8wrk8KjhsrKNfLevM64VqWE6zv6JsRo_G7z_EtIdaLeeXMbw3IVMb1CZySEtas-8lDb-rUVtsIq5hHUPtdoJaNkr8uuYgAaN-yrlr_fHN9El6JS-BeYB4FoxZLtajKyNoVvSfPzavtTwin1GvvRHRvOPyaiU_acE9iokmxRrLY-_4wxcP-49J_CNm00\" 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\">\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:VLFDJjj04Bv7oZjiSmb814jLJvn8KzeY4IN2GJsYzNeSHbdlkhkp0HwXRmBFaHVhZ4rCQAIUR7yxty_Ch2yZwK2fjchXB3hugjq6tVf-vXt14mq7dz0PcqfG3qHDlCYoe1_FrqWFgKWHWf4wH-V6rrbZjHEfIQJIOf7DlaoM0jtDRx9QHuB0q5xvlE7AuM0u82GBwWq5LIOLdoFjNcfG5uhv19KF_C4H2kr-9r3WbCMr0s4l8KJlJaoAv6i8PseqiyY1fDPe330IoBkOB8jRY8gJDWJnJ57GBbQxbo3QKLNUbOms6hkwIXjA0UBej7VHPOsEzQRonCW212b8v4ARpSHN5PhMy4UhAYg9q69iwrWyfh05jBOxQmEm2t8ySHaESkuSwfEYMm8B_RT_SVhkKt18RGUyZYq7Y7tliIzLMzJigHwXK43oLli2BHpQtbyzqOdn0MvWhSqpYyyrkYhe6df5PNYsGLknNWMDTDm93xPT07ki6Iuvm9Q9JU2BX0rJJpyOGgtHibhUXLVb6DpMepmdSXJ5wagWRatE4_AOTUiblGWOmC9sznh_qVOwqKC_f1XbMOifOvyFbZJ6akCYxLxRoOo58y3Uf1lHBTY3I_Q-eBjsl-qgVgvMoppx1KNkpGP8UC9wkpJlbDQt9-pB-lCF6xX1odP_J40ImkrLlihonNHvHDfFyM1GsaBWUowyVBvQPjFbzH5jFw1fttCRR77zRTQrVGckvF_qBm00\" \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=\"lang-plantuml\" data-nodeid=\"11126\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml OnlineBanking_Context\r\n!include https:\/\/raw.githubusercontent.com\/plantuml-stdlib\/C4-PlantUML\/master\/C4_Context.puml\r\n\r\ntitle Contexte du syst\u00e8me : Plateforme de banque en ligne\r\n\r\nPerson(customer, \"Client bancaire\", \"Consulte les comptes, transf\u00e8re des fonds, paie les factures\")\r\nPerson(admin, \"Administrateur du back-office\", \"G\u00e8re les utilisateurs, surveille les transactions\")\r\n\r\nSystem(banking, \"Plateforme de banque en ligne\", \"Fournit des services bancaires en ligne via le web et le mobile\")\r\n\r\nSystem_Ext(coreLegacy, \"Mainframe bancaire central\", \"Traite les transactions, tient le grand livre principal\")\r\nSystem_Ext(email, \"Service d'envoi d'e-mails\", \"Envoie des notifications et des relev\u00e9s\")\r\nSystem_Ext(oauth, \"Fournisseur OAuth2\", \"G\u00e8re l'identit\u00e9 et l'authentification\")\r\n\r\nRel(customer, banking, \"Utilise\", \"HTTPS\/WebSocket\")\r\nRel(admin, banking, \"G\u00e8re\", \"HTTPS\")\r\nRel(banking, coreLegacy, \"Lit\/\u00c9crit\", \"REST\/SOAP\")\r\nRel(banking, email, \"Envoie des alertes\", \"SMTP\/API\")\r\nRel(banking, oauth, \"Authentifie\", \"OIDC\")\r\n\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:VLFDJjj04Bv7oZjiSmb814jLJvn8KzeY4IN2GJsYzNeSHbdlkhkp0HwXRmBFaHVhZ4rCQAIUR7yxty_Ch2yZwK2fjchXB3hugjq6tVf-vXt14mq7dz0PcqfG3qHDlCYoe1_FrqWFgKWHWf4wH-V6rrbZjHEfIQJIOf7DlaoM0jtDRx9QHuB0q5xvlE7AuM0u82GBwWq5LIOLdoFjNcfG5uhv19KF_C4H2kr-9r3WbCMr0s4l8KJlJaoAv6i8PseqiyY1fDPe330IoBkOB8jRY8gJDWJnJ57GBbQxbo3QKLNUbOms6hkwIXjA0UBej7VHPOsEzQRonCW212b8v4ARpSHN5PhMy4UhAYg9q69iwrWyfh05jBOxQmEm2t8ySHaESkuSwfEYMm8B_RT_SVhkKt18RGUyZYq7Y7tliIzLMzJigHwXK43oLli2BHpQtbyzqOdn0MvWhSqpYyyrkYhe6df5PNYsGLknNWMDTDm93xPT07ki6Iuvm9Q9JU2BX0rJJpyOGgtHibhUXLVb6DpMepmdSXJ5wagWRatE4_AOTUiblGWOmC9sznh_qVOwqKC_f1XbMOifOvyFbZJ6akCYxLxRoOo58y3Uf1lHBTY3I_Q-eBjsl-qgVgvMoppx1KNkpGP8UC9wkpJlbDQt9-pB-lCF6xX1odP_J40ImkrLlihonNHvHDfFyM1GsaBWUowyVBvQPjFbzH5jFw1fttCRR77zRTQrVGckvF_qBm00\" \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            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:TPF1Rk9038RlIBo3oubAb4YhFVLKDelKIaL4X6wFbJDnOCHa1iquKDv-FKc0ijMUel7u_sp_dZm5HizDRM1fZRRq2-rEsyr7wYpJ9my7TzegqvG4M-PzU4mIZyVfHlEsAPf0NiKyorFbwcHlq4RKG-3Iw299VpvaCVIsU4rg34nUGcVoT2-Pmy5mm9eDGNwI-nhwoyU-6-ZR0U5mvNmT1HdvuEnODO5TJNu2evW5QNyUIU2FfcC0LCerbiC4sACDbUYWQcmfWJsU0XJQc32wln2nhBLjSMe7owhIYc0MOn6vG8iR2X275a3jh6Odm1QDYhMpBMiuw4OP5rth8ltFB96QUNVGfM2rpEqjCVGoa387QI30GICSgG2qfLILdkbhcO_v9u-Ly_HA6rGdGQPokDHQeBQLnvhwOW8CTDlq1BREb06w3O6XSYCctjyKe1gr4S8yVY7lMel8dCHEi8wrk8KjhsrKNfLevM64VqWE6zv6JsRo_G7z_EtIdaLeeXMbw3IVMb1CZySEtas-8lDb-rUVtsIq5hHUPtdoJaNkr8uuYgAaN-yrlr_fHN9El6JS-BeYB4FoxZLtajKyNoVvSfPzavtTwin1GvvRHRvOPyaiU_acE9iokmxRrLY-_4wxcP-49J_CNm00\" 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<h3 data-nodeid=\"11127\">Exemple 2 : Diagramme de conteneurs (Niveau 2)<\/h3>\n<p data-nodeid=\"11128\">D\u00e9compose le syst\u00e8me en conteneurs d&#8217;ex\u00e9cution. Notez l&#8217;utilisation de\u00a0<code data-backticks=\"1\" data-nodeid=\"11285\">ContainerDb<\/code>,\u00a0<code data-backticks=\"1\" data-nodeid=\"11287\">ContainerQueue<\/code>, et des balises technologiques \u2014 essentielles pour les syst\u00e8mes modernes natifs du cloud.<\/p>\n<p data-nodeid=\"11128\"><img decoding=\"async\" src=\"https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e0eed06f8.png\"\/><\/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:XLJ1Rjf04BqZyGzJ3XLH2PQg7ggSuW1jauPWOj8SexKzCTkiTztTDGHL_VVEsCOX8bMvi3kyUVDsvWtdpWlhgqB1GYkfyKBe9wdpXudHNj3TkdxldTIfgZA4jVUbEmi2AxRZNFfrbLGERKfGr7wScY8ebT3CTkfyfcGIJ3wTHXowcry7XN0UBOLUoCSbOVkzVizBhn2wE4oboAqepbfLqCe28lEFnXQS4v4ueuTfvRmfq8vWm2YOjFV12OFY7HKj7YvCfJDXTyEa8IBmFvW79_2xtmFwT6g6Mqn4MLBEFIOGbgMIgV3Iw065Rb6a7Zx0ZSbm_DDnA8v282f8hDbIVquJuJ23jZBBUirUc4GgfBnvVU02pF95LPxwnKUvY8DGPzR833HLtY3WSubMeaxnc52KafB2w1A-2ezRiMEExuPgirvJUNHWyLU5phiHMCA0aeNqTLz4vTUm4KfcpHEFsEb56vcotZ1DgQqUuYR2xEERsGe-y-cYSWHt3fJ9PLhtGpHu1--f6UIA5DqnVIhIDPF7b4lrOSBtfj6PRDhhZQKNNDslm9idrCpdMZIvsHztP9eCi-H0y5HumKDXjiWudrkCbzTysvkdqphgf8x0Mw4TJPiA7GjVLbZX43TO9mrcV01gGYrT98dqyoMVGxVJwI4LQEFbO-keclVFWN5dptveU2Ris92-Fq9apKPcZS4FK0fpaUxu3TIUpjPp4lT8cuJDEjoYEbYOpjTtr3yMzssrYc96liPr3dqJjsTfR3SHIZMFdiMhu2fUtEnnUvR_uUhVzs_-qJYHvbtFcXCMbzF9A-oB8rjpUyEu_3RgS1raRozQsym5zrOoldKF9wqcqL5ExHsQB-rROy3bTV0MhXj-L2LAkdM33kVBOsWth9ZSG3k2MTwiUhm8esPKvwWp-dVy2m00\" 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\">\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:XLJDRXCn4BvNwZkON0YYP2N40VNKD2sYq3RRRagFbTSxtHYyzcAFKoh40_0euJNoOioiapHj-CabpkJpDz_CVEE3WD9ZR8mOMwCj74hxHTlwPkGiIlhjm-xECssLYHM8AM8RzhFCoxj1hN4QonZ0AuA2nO5oJTOQQPdjLS3Aw38RlNcLS-Zgx3HhP43m57eW7xI4tTtPtK6D1iIHbhMNJGE2aYLQY3w8VK4a2BVEfxzAQRz64625qRK59iX9gRDz5GEw1loUw8sC9bMCLL9xwBrWM75F6fgRGnTj9Vrzlqpb4loV6NelnFVT7K6VjVJ-7PIoRUdci6sDLXAri-8QoXw5Ba4g52_5kQjWy3bmgCY7edNH2oDNxAKCYpc8G44hPxec0T6ppiU96bTg0qyIfI0JlpCHgQzyFFxMBkQUobP0ZAXd8FIuo8QsyavNsyoorLov33H5C3I0ONx2F1-ThRioN4GG1eBmy3KkVY64FMf8ep69gAAe5lDIuvwOIQEhPPIkF9SHfzH-VRiKl9sSSiwquhgAT4f3RrhioXgS7q_4MpwTkbfpkvh573NuPHT9L0870IY2CnM4xIHAgYcd6F4t9mWG0ilfXbJfD1fqwakgypEWiq5yk9umgtbEAILktdkQuQZiLoLn7ChGyLVEMXfgU2YcIv6xWBM7ukAKVusMmbLdKUffahydq4iRo3gKQRkOYmWH-Z1BLtg7aPAGmDbYRg7XO5UKB6aUPnTyFdSF_Uy4RT8B6UwjcdfdKzz-RAp7yJViEvuWsukwRJKvX9e-7bBiDQCtW0PggUu9UKOgRsbzORrpGf4iBqtQlKim6_kvNfyhr4Q7RkRl9vEyOF1Zw7e1_WPTSIK_qvgmcRjk71UJx4CnFbyXLrJ_HtQ8LHC-iRlP8SaWV65ySZHwX7tmSrgR6Rr83AmlypLmZLdvybHZjlYfl4P-5pRCEHdbMvSwevtGg-YzgplLvAViJyYrIV9OaiSOEZoxsCQjPrSilK3TvIhf5ROLRVhCfpJZOPvcU02seYVxDm00\" \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=\"lang-plantuml\" data-nodeid=\"11129\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml OnlineBanking_Containers\r\n!include https:\/\/raw.githubusercontent.com\/plantuml-stdlib\/C4-PlantUML\/master\/C4_Container.puml\r\n\r\ntitle Diagramme de conteneurs : Plateforme de banque en ligne\r\n\r\nPerson(customer, \"Client bancaire\")\r\n\r\nSystem_Boundary(banking, \"Plateforme de banque en ligne\") {\r\n    Container(webapp, \"Application Web\", \"React + Node.js\", \"SPA pour la banque bas\u00e9e sur navigateur\")\r\n    Container(mobile, \"Application mobile\", \"Flutter\", \"Exp\u00e9rience native iOS\/Android\")\r\n    Container(api, \"Passerelle API\", \"Kong\", \"Route les requ\u00eates, limitation du d\u00e9bit, validation de l'authentification\")\r\n    Container(service, \"Service de compte\", \".NET 8\", \"Logique m\u00e9tier pour les comptes et soldes\")\r\n    Container(cache, \"Cache de session\", \"Redis\", \"Stocke les jetons JWT et l'\u00e9tat de session\")\r\n    ContainerDb(db, \"Base de donn\u00e9es de comptes\", \"PostgreSQL\", \"Comptes clients, soldes, transactions\")\r\n    ContainerQueue(events, \"Bus d'\u00e9v\u00e9nements\", \"RabbitMQ\", \"Notifications de transactions asynchrones\")\r\n}\r\n\r\nSystem_Ext(oauth, \"Fournisseur OAuth2\")\r\nSystem_Ext(legacy, \"Mainframe bancaire central\")\r\n\r\nRel(customer, webapp, \"Utilise\", \"HTTPS\")\r\nRel(customer, mobile, \"Utilise\", \"HTTPS\")\r\nRel(webapp, api, \"Appelle\", \"REST\/JSON\")\r\nRel(mobile, api, \"Appelle\", \"REST\/JSON\")\r\nRel(api, oauth, \"Valide le jeton\", \"OIDC\")\r\nRel(api, service, \"Route vers\", \"gRPC\")\r\nRel(service, cache, \"Lit\/\u00c9crit la session\", \"TCP\")\r\nRel(service, db, \"Interroge\", \"SQL\/TCP\")\r\nRel(service, events, \"Publie\", \"AMQP\")\r\nRel(service, legacy, \"Synchronise le grand livre\", \"SOAP\")\r\n\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:XLJDRXCn4BvNwZkON0YYP2N40VNKD2sYq3RRRagFbTSxtHYyzcAFKoh40_0euJNoOioiapHj-CabpkJpDz_CVEE3WD9ZR8mOMwCj74hxHTlwPkGiIlhjm-xECssLYHM8AM8RzhFCoxj1hN4QonZ0AuA2nO5oJTOQQPdjLS3Aw38RlNcLS-Zgx3HhP43m57eW7xI4tTtPtK6D1iIHbhMNJGE2aYLQY3w8VK4a2BVEfxzAQRz64625qRK59iX9gRDz5GEw1loUw8sC9bMCLL9xwBrWM75F6fgRGnTj9Vrzlqpb4loV6NelnFVT7K6VjVJ-7PIoRUdci6sDLXAri-8QoXw5Ba4g52_5kQjWy3bmgCY7edNH2oDNxAKCYpc8G44hPxec0T6ppiU96bTg0qyIfI0JlpCHgQzyFFxMBkQUobP0ZAXd8FIuo8QsyavNsyoorLov33H5C3I0ONx2F1-ThRioN4GG1eBmy3KkVY64FMf8ep69gAAe5lDIuvwOIQEhPPIkF9SHfzH-VRiKl9sSSiwquhgAT4f3RrhioXgS7q_4MpwTkbfpkvh573NuPHT9L0870IY2CnM4xIHAgYcd6F4t9mWG0ilfXbJfD1fqwakgypEWiq5yk9umgtbEAILktdkQuQZiLoLn7ChGyLVEMXfgU2YcIv6xWBM7ukAKVusMmbLdKUffahydq4iRo3gKQRkOYmWH-Z1BLtg7aPAGmDbYRg7XO5UKB6aUPnTyFdSF_Uy4RT8B6UwjcdfdKzz-RAp7yJViEvuWsukwRJKvX9e-7bBiDQCtW0PggUu9UKOgRsbzORrpGf4iBqtQlKim6_kvNfyhr4Q7RkRl9vEyOF1Zw7e1_WPTSIK_qvgmcRjk71UJx4CnFbyXLrJ_HtQ8LHC-iRlP8SaWV65ySZHwX7tmSrgR6Rr83AmlypLmZLdvybHZjlYfl4P-5pRCEHdbMvSwevtGg-YzgplLvAViJyYrIV9OaiSOEZoxsCQjPrSilK3TvIhf5ROLRVhCfpJZOPvcU02seYVxDm00\" \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            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:XLJ1Rjf04BqZyGzJ3XLH2PQg7ggSuW1jauPWOj8SexKzCTkiTztTDGHL_VVEsCOX8bMvi3kyUVDsvWtdpWlhgqB1GYkfyKBe9wdpXudHNj3TkdxldTIfgZA4jVUbEmi2AxRZNFfrbLGERKfGr7wScY8ebT3CTkfyfcGIJ3wTHXowcry7XN0UBOLUoCSbOVkzVizBhn2wE4oboAqepbfLqCe28lEFnXQS4v4ueuTfvRmfq8vWm2YOjFV12OFY7HKj7YvCfJDXTyEa8IBmFvW79_2xtmFwT6g6Mqn4MLBEFIOGbgMIgV3Iw065Rb6a7Zx0ZSbm_DDnA8v282f8hDbIVquJuJ23jZBBUirUc4GgfBnvVU02pF95LPxwnKUvY8DGPzR833HLtY3WSubMeaxnc52KafB2w1A-2ezRiMEExuPgirvJUNHWyLU5phiHMCA0aeNqTLz4vTUm4KfcpHEFsEb56vcotZ1DgQqUuYR2xEERsGe-y-cYSWHt3fJ9PLhtGpHu1--f6UIA5DqnVIhIDPF7b4lrOSBtfj6PRDhhZQKNNDslm9idrCpdMZIvsHztP9eCi-H0y5HumKDXjiWudrkCbzTysvkdqphgf8x0Mw4TJPiA7GjVLbZX43TO9mrcV01gGYrT98dqyoMVGxVJwI4LQEFbO-keclVFWN5dptveU2Ris92-Fq9apKPcZS4FK0fpaUxu3TIUpjPp4lT8cuJDEjoYEbYOpjTtr3yMzssrYc96liPr3dqJjsTfR3SHIZMFdiMhu2fUtEnnUvR_uUhVzs_-qJYHvbtFcXCMbzF9A-oB8rjpUyEu_3RgS1raRozQsym5zrOoldKF9wqcqL5ExHsQB-rROy3bTV0MhXj-L2LAkdM33kVBOsWth9ZSG3k2MTwiUhm8esPKvwWp-dVy2m00\" 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<h3 data-nodeid=\"11130\">Exemple 3 : Diagramme de composants (Niveau 3) \u2013 Service de compte<\/h3>\n<p data-nodeid=\"11131\">Zoom sur un seul conteneur. C&#8217;est ici que VPasCode brille : les composants correspondent directement aux modules de code.<\/p>\n<p data-nodeid=\"11131\"><img decoding=\"async\" src=\"https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e1166edd6.png\"\/><\/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:NLFBRjim4BmRy3zitOi3EDQbXoAdEB9TfBKB-T7sM53InbwK4bLowJZz-Yuf-PMJnENiS3YpV7IiBFjAmwGeZAzvW_P01VvEJTMO6cjs_Tu7gWljIuGzS-CUaiIgr_6EUEzpxz0MfcO1ZWjJ9OrMTQ2xTrngofFqqtqMIZ-MYwHIZj5AwK8-RWJRx_LxJAmHpdMOajfPLJsSP46d2uRZxxCjVBuBJQaShAX6ErGDZM0moPxXYs9yLMy3MNupzMvmTmMRviCo3xYES_eKO9bnlBEuMIrkm2kF7eTu21O8QXP-uCcxqB9MUKwyN0qw6PtgeVAy3_poWIMLfHOf5aF7P9D5uNFIua6e_5IQIX7huEklxGZmo5OLx20u2j7I8xU2JkoXQ8tMQ2ztIC-rwrF4Y2Xpjja2rcLZI2u1ByP2eje-TqjTcaekVQ6TndNdUQ1AFqAgbNEmeDmg6_rzKfAiH58eNOn0vDVkHRHRh_4TlSN6NCZNidB4fcMPpINsrgIfOWKY49qu_jUZVGFJC5NqJp6P-fQpyRacjuzcn72oKo5GBKNhDYWYZXbtUmvYKOmMli2baR64DkKspJNgTfowC3DXaZwB8iZ5H28YRjuaCZTMqYvTR1G-AbJWVjTutN9s_Ra-c3zoY3md6JrnMPiT5QUM4wnpKGRJ4heaG-l8jR83hDsE0puxOk73Q7L3VSrourj5CXVjpfK90Nu5Ex-1iujnrfQhh7NiKKPCdl5_\" 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\">\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:NLHBRjim4Dq7o1rOTn47SEnD5qLMIHm7I1iNYkssouAM9lO05AcGGySzGcyIzngwM6SesPQxaZIVzuRl3NKJI7kAfL6tUUwYfJdu3URmQ-pAobcm5CxFFg3DJIn0hOcgS3qQUVqsN26jup86yBcpn8N3t9MZocWhS5U12eFBqVZJLIQXxzEdKQa3WUVG4NnOSUtvsVaP8HbGzwXNNfSbA2RBfIXmRr3NgXrh7oTG_U6toK9zlfJkCK-WqOBlwme7gfVfm7E1OSZRxB77aQ_EhdgNdShxPRzOSk9EXuHQE6lh7OGZGv2-p0LQUPW_FvrqFqU8q8UDw2CWaVikwjsctbae9IYzCxrS8asVU-sCxPdxEjAQqrCi2WDlsZFvXSGuXo-OQq9dfVy13N7oTfx9KINoGnla-GoF-UNdOg1WIruZSK0b4xQiIoGq63H1zCt8Urgfy8uryOpKkZq-n0IUjUgoPGv5V2Pasqgq6eEpQZQPBrJbebSZtO24Kvx2bQpHaUC-VRS62kuTBWqwMjVlhx5nr8XVGOq_IdgiJHuDnuCApl1Ze7pzlZADDtnW6rx0qocfXyeTAMVy5P2S_os0amSrTZvHSxv-3qh7xS7mWN8LOIcIiUw9riDhhF_A1fnmL97d3kkatqIip_O1WPxo6HOo758IJtADLTszKAb4vy8bo0O8YcP1Pc2QzMtt8osnClemZfIbefG_iJEXba3TSdNSAJxdlhdRTd3gqMwSUC7TngrGNijwHmX-txOlRNL-v6NptgrWb84F68x3DGNfQasszIwFF4XxUxeuNIthFp9vyRzIwL9AzG6xqtIuUetEoTlfSzOeUGEsuF_AFm00\" \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=\"lang-plantuml\" data-nodeid=\"11132\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml AccountService_Components\r\n!include https:\/\/raw.githubusercontent.com\/plantuml-stdlib\/C4-PlantUML\/master\/C4_Component.puml\r\n\r\ntitle Diagramme de composants : Service de compte (.NET 8)\r\n\r\nContainer(api, \"Passerelle API\", \"Kong\")\r\nContainerDb(db, \"Base de donn\u00e9es de comptes\", \"PostgreSQL\")\r\nContainerQueue(events, \"Bus d'\u00e9v\u00e9nements\", \"RabbitMQ\")\r\n\r\nComponent(auth, \"Middleware d'authentification\", \"Filtre ASP.NET\", \"Valide les JWT, extrait le contexte utilisateur\")\r\nComponent(controller, \"AccountController\", \"API ASP.NET\", \"Points de terminaison REST pour \/accounts\")\r\nComponent(domain, \"AccountDomainService\", \"Biblioth\u00e8que de classes C#\", \"Calcul des soldes, r\u00e8gles de transfert\")\r\nComponent(repo, \"AccountRepository\", \"EF Core\", \"Acc\u00e8s aux donn\u00e9es, optimisation des requ\u00eates\")\r\nComponent(publisher, \"EventPublisher\", \"MassTransit\", \"Publie les \u00e9v\u00e9nements TransactionCompleted\")\r\n\r\nRel(api, auth, \"Passe la requ\u00eate\")\r\nRel(auth, controller, \"Transmet la requ\u00eate authentifi\u00e9e\")\r\nRel(controller, domain, \"Invoque la logique m\u00e9tier\")\r\nRel(domain, repo, \"Interroge\/Persiste\")\r\nRel(repo, db, \"Ex\u00e9cute SQL\")\r\nRel(domain, publisher, \"\u00c9met des \u00e9v\u00e9nements de domaine\")\r\nRel(publisher, events, \"Publie\", \"AMQP\")\r\n\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:NLHBRjim4Dq7o1rOTn47SEnD5qLMIHm7I1iNYkssouAM9lO05AcGGySzGcyIzngwM6SesPQxaZIVzuRl3NKJI7kAfL6tUUwYfJdu3URmQ-pAobcm5CxFFg3DJIn0hOcgS3qQUVqsN26jup86yBcpn8N3t9MZocWhS5U12eFBqVZJLIQXxzEdKQa3WUVG4NnOSUtvsVaP8HbGzwXNNfSbA2RBfIXmRr3NgXrh7oTG_U6toK9zlfJkCK-WqOBlwme7gfVfm7E1OSZRxB77aQ_EhdgNdShxPRzOSk9EXuHQE6lh7OGZGv2-p0LQUPW_FvrqFqU8q8UDw2CWaVikwjsctbae9IYzCxrS8asVU-sCxPdxEjAQqrCi2WDlsZFvXSGuXo-OQq9dfVy13N7oTfx9KINoGnla-GoF-UNdOg1WIruZSK0b4xQiIoGq63H1zCt8Urgfy8uryOpKkZq-n0IUjUgoPGv5V2Pasqgq6eEpQZQPBrJbebSZtO24Kvx2bQpHaUC-VRS62kuTBWqwMjVlhx5nr8XVGOq_IdgiJHuDnuCApl1Ze7pzlZADDtnW6rx0qocfXyeTAMVy5P2S_os0amSrTZvHSxv-3qh7xS7mWN8LOIcIiUw9riDhhF_A1fnmL97d3kkatqIip_O1WPxo6HOo758IJtADLTszKAb4vy8bo0O8YcP1Pc2QzMtt8osnClemZfIbefG_iJEXba3TSdNSAJxdlhdRTd3gqMwSUC7TngrGNijwHmX-txOlRNL-v6NptgrWb84F68x3DGNfQasszIwFF4XxUxeuNIthFp9vyRzIwL9AzG6xqtIuUetEoTlfSzOeUGEsuF_AFm00\" \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            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:NLFBRjim4BmRy3zitOi3EDQbXoAdEB9TfBKB-T7sM53InbwK4bLowJZz-Yuf-PMJnENiS3YpV7IiBFjAmwGeZAzvW_P01VvEJTMO6cjs_Tu7gWljIuGzS-CUaiIgr_6EUEzpxz0MfcO1ZWjJ9OrMTQ2xTrngofFqqtqMIZ-MYwHIZj5AwK8-RWJRx_LxJAmHpdMOajfPLJsSP46d2uRZxxCjVBuBJQaShAX6ErGDZM0moPxXYs9yLMy3MNupzMvmTmMRviCo3xYES_eKO9bnlBEuMIrkm2kF7eTu21O8QXP-uCcxqB9MUKwyN0qw6PtgeVAy3_poWIMLfHOf5aF7P9D5uNFIua6e_5IQIX7huEklxGZmo5OLx20u2j7I8xU2JkoXQ8tMQ2ztIC-rwrF4Y2Xpjja2rcLZI2u1ByP2eje-TqjTcaekVQ6TndNdUQ1AFqAgbNEmeDmg6_rzKfAiH58eNOn0vDVkHRHRh_4TlSN6NCZNidB4fcMPpINsrgIfOWKY49qu_jUZVGFJC5NqJp6P-fQpyRacjuzcn72oKo5GBKNhDYWYZXbtUmvYKOmMli2baR64DkKspJNgTfowC3DXaZwB8iZ5H28YRjuaCZTMqYvTR1G-AbJWVjTutN9s_Ra-c3zoY3md6JrnMPiT5QUM4wnpKGRJ4heaG-l8jR83hDsE0puxOk73Q7L3VSrourj5CXVjpfK90Nu5Ex-1iujnrfQhh7NiKKPCdl5_\" 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<hr data-nodeid=\"11133\"\/>\n<h2 data-nodeid=\"11134\">Phase 3 : Int\u00e9gration de VPasCode dans votre flux de travail de d\u00e9veloppement<\/h2>\n<p data-nodeid=\"11135\">G\u00e9n\u00e9rer du PlantUML ne repr\u00e9sente que la moiti\u00e9 du combat. Voici comment l&#8217;int\u00e9grer durablement dans une \u00e9quipe moderne :<\/p>\n<h3 data-nodeid=\"11136\">Versionnez tout<\/h3>\n<p data-nodeid=\"11137\">Stockez tous les <code data-backticks=\"1\" data-nodeid=\"11295\">.puml<\/code>fichiers aux c\u00f4t\u00e9s de votre code d&#8217;application dans le m\u00eame d\u00e9p\u00f4t. Traitez les diagrammes comme de l&#8217;infrastructure-as-code :<\/p>\n<pre class=\"lang-text\" data-nodeid=\"11138\"><code data-language=\"text\">\/docs\/architecture\/c4\/\r\n\u251c\u2500\u2500 01-context.puml\r\n\u251c\u2500\u2500 02-containers.puml\r\n\u251c\u2500\u2500 03-account-service-components.puml\r\n\u2514\u2500\u2500 README.md\r\n<\/code><\/pre>\n<h3 data-nodeid=\"11139\">Automatiser le rendu dans CI\/CD<\/h3>\n<p data-nodeid=\"11140\">Utilisez la CLI de Visual Paradigm ou une action GitHub pour g\u00e9n\u00e9rer des PNG\/SVG \u00e0 chaque PR. Ne jamais valider manuellement des images rendues.<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">YAML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#yaml:eNp1yz0LwjAUheG90P9wwE2IWTp1ExU7O7vE21gD+SK5tyj441U6CXqmM7zPCoe7CdlbHB0PcsGW2KWIGl3OlttGIZpge5xsHG3BrsPemamYUNsGKBJ7PD8PmLMi71CWUDmMiao2hW6OLbEUq6nT602W4HFezPdU+mGScBbWf8QVdZ6gFHXKm8e7hRFOL1CMPnY=\" 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 le YAML dans VPasCode<\/span><br \/>\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\">YAML<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#yaml:eNpti00KwjAUBveF3uEDF4IQs+mqW5F6jZg8ayB\/pC+lghfqOXoxI66EzmoWMwdcF\/LJEcyRFs7KcjWl2caAwfKt3NtGIChPPYZtDduaKcPRBGPVmJX3VS9d2wC5hB7vrwFzEtpZZAqm5sLCRD1JlfXTMmkumaTu5Omcinf4Lf+IuLPEwqmw3B8emOYRQuhOOPWqKVTh+AGlnkPC\" \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 YAML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-yaml\" data-nodeid=\"11141\"><code class=\"language-yaml\" data-language=\"yaml\" class=\"language-yaml\"># Exemple d'extrait d'action GitHub\r\n- name: G\u00e9n\u00e9rer les diagrammes C4\r\n  run: |\r\n    vp-cli render -i docs\/architecture\/c4\/*.puml \r\n                  -o docs\/architecture\/output\/ \r\n                  -f svg --c4-layout auto\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#yaml:eNpti00KwjAUBveF3uEDF4IQs+mqW5F6jZg8ayB\/pC+lghfqOXoxI66EzmoWMwdcF\/LJEcyRFs7KcjWl2caAwfKt3NtGIChPPYZtDduaKcPRBGPVmJX3VS9d2wC5hB7vrwFzEtpZZAqm5sLCRD1JlfXTMmkumaTu5Omcinf4Lf+IuLPEwqmw3B8emOYRQuhOOPWqKVTh+AGlnkPC\" \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 YAML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#yaml:eNp1yz0LwjAUheG90P9wwE2IWTp1ExU7O7vE21gD+SK5tyj441U6CXqmM7zPCoe7CdlbHB0PcsGW2KWIGl3OlttGIZpge5xsHG3BrsPemamYUNsGKBJ7PD8PmLMi71CWUDmMiao2hW6OLbEUq6nT602W4HFezPdU+mGScBbWf8QVdZ6gFHXKm8e7hRFOL1CMPnY=\" 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 le YAML dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3 data-nodeid=\"11142\">Synchronisation bidirectionnelle avec VPasCode<\/h3>\n<p data-nodeid=\"11143\">VPasCode n&#8217;est pas seulement un g\u00e9n\u00e9rateur ; c&#8217;est un <strong data-nodeid=\"11305\">moteur de synchronisation de mod\u00e8les<\/strong>. Lorsque vous mettez \u00e0 jour PlantUML :<\/p>\n<ul data-nodeid=\"11144\">\n<li data-nodeid=\"11145\">\n<p data-nodeid=\"11146\">Le mod\u00e8le central de Visual Paradigm se met \u00e0 jour automatiquement<\/p>\n<\/li>\n<li data-nodeid=\"11147\">\n<p data-nodeid=\"11148\">Les r\u00e9f\u00e9rences crois\u00e9es (par exemple, lier un composant \u00e0 une \u00e9pop\u00e9e Jira ou un d\u00e9p\u00f4t Git) restent intactes<\/p>\n<\/li>\n<li data-nodeid=\"11149\">\n<p data-nodeid=\"11150\">Les membres de l&#8217;\u00e9quipe utilisant l&#8217;interface graphique voient les changements refl\u00e9t\u00e9s en temps r\u00e9el<\/p>\n<\/li>\n<li data-nodeid=\"11151\">\n<p data-nodeid=\"11152\">Les conversations du chatbot IA peuvent faire r\u00e9f\u00e9rence \u00e0 l&#8217; <em data-nodeid=\"11314\">actuel<\/em>\u00e9tat du mod\u00e8le, et non \u00e0 une capture obsol\u00e8te<\/p>\n<\/li>\n<\/ul>\n<blockquote data-nodeid=\"11153\">\n<p data-nodeid=\"11154\">\u26a0\ufe0f\u00a0<strong data-nodeid=\"11320\">Avertissement critique :<\/strong>Ne laissez jamais le PlantUML g\u00e9n\u00e9r\u00e9 par l&#8217;IA contourner la revue humaine. L&#8217;IA invente fr\u00e9quemment des API inexistantes, attribue de mauvaises \u00e9tiquettes aux protocoles ou omet des limites de s\u00e9curit\u00e9 critiques. Validez toujours le code g\u00e9n\u00e9r\u00e9 par rapport \u00e0 votre base de code r\u00e9elle et \u00e0 votre mod\u00e8le de menaces avant de valider.<\/p>\n<\/blockquote>\n<hr data-nodeid=\"11155\"\/>\n<h2 data-nodeid=\"11156\">Liste de v\u00e9rification d&#8217;adoption pour les \u00e9quipes modernes<\/h2>\n<table data-nodeid=\"11158\">\n<thead data-nodeid=\"11159\">\n<tr data-nodeid=\"11160\">\n<th align=\"left\" data-nodeid=\"11162\">\u00c9tape<\/th>\n<th align=\"left\" data-nodeid=\"11163\">Action<\/th>\n<th align=\"left\" data-nodeid=\"11164\">Outil<\/th>\n<\/tr>\n<\/thead>\n<tbody data-nodeid=\"11168\">\n<tr data-nodeid=\"11169\">\n<td align=\"left\" data-nodeid=\"11170\">1<\/td>\n<td align=\"left\" data-nodeid=\"11171\">Initialiser le mod\u00e8le C4 de base via des invites conversationnelles<\/td>\n<td align=\"left\" data-nodeid=\"11172\">Chatbot IA<\/td>\n<\/tr>\n<tr data-nodeid=\"11173\">\n<td align=\"left\" data-nodeid=\"11174\">2<\/td>\n<td align=\"left\" data-nodeid=\"11175\">Affinez et corrigez les sorties de l&#8217;IA par le biais d&#8217;un chat it\u00e9ratif<\/td>\n<td align=\"left\" data-nodeid=\"11176\">Chatbot IA<\/td>\n<\/tr>\n<tr data-nodeid=\"11177\">\n<td align=\"left\" data-nodeid=\"11178\">3<\/td>\n<td align=\"left\" data-nodeid=\"11179\">Exportez le PlantUML valid\u00e9 vers un r\u00e9f\u00e9rentiel sous contr\u00f4le de version<\/td>\n<td align=\"left\" data-nodeid=\"11180\">VPasCode<\/td>\n<\/tr>\n<tr data-nodeid=\"11181\">\n<td align=\"left\" data-nodeid=\"11182\">4<\/td>\n<td align=\"left\" data-nodeid=\"11183\">Configurez un pipeline CI pour un rendu automatique lors des PR<\/td>\n<td align=\"left\" data-nodeid=\"11184\">VPasCode CLI<\/td>\n<\/tr>\n<tr data-nodeid=\"11185\">\n<td align=\"left\" data-nodeid=\"11186\">5<\/td>\n<td align=\"left\" data-nodeid=\"11187\">Liez les \u00e9l\u00e9ments C4 aux d\u00e9p\u00f4ts de code, aux tickets et aux documents<\/td>\n<td align=\"left\" data-nodeid=\"11188\">Visual Paradigm<\/td>\n<\/tr>\n<tr data-nodeid=\"11189\">\n<td align=\"left\" data-nodeid=\"11190\">6<\/td>\n<td align=\"left\" data-nodeid=\"11191\">Planifiez des revues trimestrielles d&#8217;\u00ab hygi\u00e8ne des mod\u00e8les \u00bb en utilisant les critiques de l&#8217;IA<\/td>\n<td align=\"left\" data-nodeid=\"11192\">Chatbot IA<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 data-nodeid=\"11193\">Derni\u00e8re pens\u00e9e<\/h2>\n<p class=\"\" data-nodeid=\"11194\">La mod\u00e9lisation C4 ne devrait pas \u00eatre une taxe sur la v\u00e9locit\u00e9 de votre \u00e9quipe. En traitant l&#8217;IA comme le <strong data-nodeid=\"11361\">\u00e9tincelle cr\u00e9ative<\/strong> et VPasCode comme le <strong data-nodeid=\"11362\">ancre d\u00e9terministe<\/strong>, vous obtenez le meilleur des deux mondes : une exploration rapide <em data-nodeid=\"11363\">et<\/em> une documentation durable. Arr\u00eatez de faire glisser des bo\u00eetes. Commencez \u00e0 concevoir \u00e0 la vitesse de la conversation.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Le probl\u00e8me de l&#8217;architecture centr\u00e9e sur l&#8217;interface graphique Pendant des ann\u00e9es, la mod\u00e9lisation C4 est rest\u00e9e prise dans un paradoxe : nous pr\u00f4nons l&#8217;\u00ab architecture en tant que code \u00bb,&hellip;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","inline_featured_image":false,"source_url":"","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":[24,12,22],"tags":[],"asset-category":[],"class_list":["post-500","post","type-post","status-publish","format-standard","hentry","category-ai-chatbot","category-c4-model","category-vsascode"],"source_url":"","fifu_image_url":"","fifu_image_alt":"","vp_image_hash":"","yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Arr\u00eatez de faire glisser des bo\u00eetes : G\u00e9n\u00e9ration de diagrammes C4 via VPasCode et chatbots IA - AI Diagrams Fran\u00e7ais\u2013 Explore Artificial Intelligence Trends &amp; News<\/title>\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.ai-diagrams.com\/fr\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Arr\u00eatez de faire glisser des bo\u00eetes : G\u00e9n\u00e9ration de diagrammes C4 via VPasCode et chatbots IA - AI Diagrams Fran\u00e7ais\u2013 Explore Artificial Intelligence Trends &amp; News\" \/>\n<meta property=\"og:description\" content=\"Le probl\u00e8me de l&#8217;architecture centr\u00e9e sur l&#8217;interface graphique Pendant des ann\u00e9es, la mod\u00e9lisation C4 est rest\u00e9e prise dans un paradoxe : nous pr\u00f4nons l&#8217;\u00ab architecture en tant que code \u00bb,&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.ai-diagrams.com\/fr\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/\" \/>\n<meta property=\"og:site_name\" content=\"AI Diagrams Fran\u00e7ais\u2013 Explore Artificial Intelligence Trends &amp; News\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-17T10:20:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e01435401.png\" \/>\n<meta name=\"author\" content=\"curtis\" \/>\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=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.ai-diagrams.com\/fr\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.ai-diagrams.com\/fr\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/\"},\"author\":{\"name\":\"curtis\",\"@id\":\"https:\/\/www.ai-diagrams.com\/fr\/#\/schema\/person\/7799982e6b83f10fb8a41071b61608d1\"},\"headline\":\"Arr\u00eatez de faire glisser des bo\u00eetes : G\u00e9n\u00e9ration de diagrammes C4 via VPasCode et chatbots IA\",\"datePublished\":\"2026-08-17T10:20:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.ai-diagrams.com\/fr\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/\"},\"wordCount\":1039,\"publisher\":{\"@id\":\"https:\/\/www.ai-diagrams.com\/fr\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.ai-diagrams.com\/fr\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e01435401.png\",\"articleSection\":[\"AI Chatbot\",\"C4 Model\",\"VSasCode\"],\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.ai-diagrams.com\/fr\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/\",\"url\":\"https:\/\/www.ai-diagrams.com\/fr\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/\",\"name\":\"Arr\u00eatez de faire glisser des bo\u00eetes : G\u00e9n\u00e9ration de diagrammes C4 via VPasCode et chatbots IA - AI Diagrams Fran\u00e7ais\u2013 Explore Artificial Intelligence Trends &amp; News\",\"isPartOf\":{\"@id\":\"https:\/\/www.ai-diagrams.com\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.ai-diagrams.com\/fr\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.ai-diagrams.com\/fr\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e01435401.png\",\"datePublished\":\"2026-08-17T10:20:02+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.ai-diagrams.com\/fr\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.ai-diagrams.com\/fr\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.ai-diagrams.com\/fr\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/#primaryimage\",\"url\":\"https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e01435401.png\",\"contentUrl\":\"https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e01435401.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.ai-diagrams.com\/fr\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.ai-diagrams.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Arr\u00eatez de faire glisser des bo\u00eetes : G\u00e9n\u00e9ration de diagrammes C4 via VPasCode et chatbots IA\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.ai-diagrams.com\/fr\/#website\",\"url\":\"https:\/\/www.ai-diagrams.com\/fr\/\",\"name\":\"AI Diagrams Fran\u00e7ais\u2013 Explore Artificial Intelligence Trends &amp; News\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.ai-diagrams.com\/fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.ai-diagrams.com\/fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.ai-diagrams.com\/fr\/#organization\",\"name\":\"AI Diagrams Fran\u00e7ais\u2013 Explore Artificial Intelligence Trends &amp; News\",\"url\":\"https:\/\/www.ai-diagrams.com\/fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.ai-diagrams.com\/fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.ai-diagrams.com\/fr\/wp-content\/uploads\/sites\/18\/2026\/03\/ai-diagram-logo.png\",\"contentUrl\":\"https:\/\/www.ai-diagrams.com\/fr\/wp-content\/uploads\/sites\/18\/2026\/03\/ai-diagram-logo.png\",\"width\":648,\"height\":648,\"caption\":\"AI Diagrams Fran\u00e7ais\u2013 Explore Artificial Intelligence Trends &amp; News\"},\"image\":{\"@id\":\"https:\/\/www.ai-diagrams.com\/fr\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.ai-diagrams.com\/fr\/#\/schema\/person\/7799982e6b83f10fb8a41071b61608d1\",\"name\":\"curtis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.ai-diagrams.com\/fr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g\",\"caption\":\"curtis\"},\"url\":\"https:\/\/www.ai-diagrams.com\/fr\/author\/curtis\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Arr\u00eatez de faire glisser des bo\u00eetes : G\u00e9n\u00e9ration de diagrammes C4 via VPasCode et chatbots IA - AI Diagrams Fran\u00e7ais\u2013 Explore Artificial Intelligence Trends &amp; News","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.ai-diagrams.com\/fr\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/","og_locale":"fr_FR","og_type":"article","og_title":"Arr\u00eatez de faire glisser des bo\u00eetes : G\u00e9n\u00e9ration de diagrammes C4 via VPasCode et chatbots IA - AI Diagrams Fran\u00e7ais\u2013 Explore Artificial Intelligence Trends &amp; News","og_description":"Le probl\u00e8me de l&#8217;architecture centr\u00e9e sur l&#8217;interface graphique Pendant des ann\u00e9es, la mod\u00e9lisation C4 est rest\u00e9e prise dans un paradoxe : nous pr\u00f4nons l&#8217;\u00ab architecture en tant que code \u00bb,&hellip;","og_url":"https:\/\/www.ai-diagrams.com\/fr\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/","og_site_name":"AI Diagrams Fran\u00e7ais\u2013 Explore Artificial Intelligence Trends &amp; News","article_published_time":"2026-08-17T10:20:02+00:00","og_image":[{"url":"https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e01435401.png","type":"","width":"","height":""}],"author":"curtis","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":false,"Dur\u00e9e de lecture estim\u00e9e":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.ai-diagrams.com\/fr\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/#article","isPartOf":{"@id":"https:\/\/www.ai-diagrams.com\/fr\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/"},"author":{"name":"curtis","@id":"https:\/\/www.ai-diagrams.com\/fr\/#\/schema\/person\/7799982e6b83f10fb8a41071b61608d1"},"headline":"Arr\u00eatez de faire glisser des bo\u00eetes : G\u00e9n\u00e9ration de diagrammes C4 via VPasCode et chatbots IA","datePublished":"2026-08-17T10:20:02+00:00","mainEntityOfPage":{"@id":"https:\/\/www.ai-diagrams.com\/fr\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/"},"wordCount":1039,"publisher":{"@id":"https:\/\/www.ai-diagrams.com\/fr\/#organization"},"image":{"@id":"https:\/\/www.ai-diagrams.com\/fr\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/#primaryimage"},"thumbnailUrl":"https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e01435401.png","articleSection":["AI Chatbot","C4 Model","VSasCode"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/www.ai-diagrams.com\/fr\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/","url":"https:\/\/www.ai-diagrams.com\/fr\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/","name":"Arr\u00eatez de faire glisser des bo\u00eetes : G\u00e9n\u00e9ration de diagrammes C4 via VPasCode et chatbots IA - AI Diagrams Fran\u00e7ais\u2013 Explore Artificial Intelligence Trends &amp; News","isPartOf":{"@id":"https:\/\/www.ai-diagrams.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.ai-diagrams.com\/fr\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/#primaryimage"},"image":{"@id":"https:\/\/www.ai-diagrams.com\/fr\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/#primaryimage"},"thumbnailUrl":"https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e01435401.png","datePublished":"2026-08-17T10:20:02+00:00","breadcrumb":{"@id":"https:\/\/www.ai-diagrams.com\/fr\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.ai-diagrams.com\/fr\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.ai-diagrams.com\/fr\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/#primaryimage","url":"https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e01435401.png","contentUrl":"https:\/\/www.ai-diagrams.com\/wp-content\/uploads\/2026\/08\/img_6a82e01435401.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.ai-diagrams.com\/fr\/stop-dragging-boxes-generating-c4-diagrams-via-vpascode-and-ai-chatbots\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.ai-diagrams.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Arr\u00eatez de faire glisser des bo\u00eetes : G\u00e9n\u00e9ration de diagrammes C4 via VPasCode et chatbots IA"}]},{"@type":"WebSite","@id":"https:\/\/www.ai-diagrams.com\/fr\/#website","url":"https:\/\/www.ai-diagrams.com\/fr\/","name":"AI Diagrams Fran\u00e7ais\u2013 Explore Artificial Intelligence Trends &amp; News","description":"","publisher":{"@id":"https:\/\/www.ai-diagrams.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.ai-diagrams.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.ai-diagrams.com\/fr\/#organization","name":"AI Diagrams Fran\u00e7ais\u2013 Explore Artificial Intelligence Trends &amp; News","url":"https:\/\/www.ai-diagrams.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.ai-diagrams.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/www.ai-diagrams.com\/fr\/wp-content\/uploads\/sites\/18\/2026\/03\/ai-diagram-logo.png","contentUrl":"https:\/\/www.ai-diagrams.com\/fr\/wp-content\/uploads\/sites\/18\/2026\/03\/ai-diagram-logo.png","width":648,"height":648,"caption":"AI Diagrams Fran\u00e7ais\u2013 Explore Artificial Intelligence Trends &amp; News"},"image":{"@id":"https:\/\/www.ai-diagrams.com\/fr\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.ai-diagrams.com\/fr\/#\/schema\/person\/7799982e6b83f10fb8a41071b61608d1","name":"curtis","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.ai-diagrams.com\/fr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g","caption":"curtis"},"url":"https:\/\/www.ai-diagrams.com\/fr\/author\/curtis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.ai-diagrams.com\/fr\/wp-json\/wp\/v2\/posts\/500","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ai-diagrams.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ai-diagrams.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ai-diagrams.com\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ai-diagrams.com\/fr\/wp-json\/wp\/v2\/comments?post=500"}],"version-history":[{"count":0,"href":"https:\/\/www.ai-diagrams.com\/fr\/wp-json\/wp\/v2\/posts\/500\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.ai-diagrams.com\/fr\/wp-json\/wp\/v2\/media?parent=500"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ai-diagrams.com\/fr\/wp-json\/wp\/v2\/categories?post=500"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ai-diagrams.com\/fr\/wp-json\/wp\/v2\/tags?post=500"},{"taxonomy":"asset-category","embeddable":true,"href":"https:\/\/www.ai-diagrams.com\/fr\/wp-json\/wp\/v2\/asset-category?post=500"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}