{"id":12629,"date":"2026-10-14T15:24:34","date_gmt":"2026-10-14T07:24:34","guid":{"rendered":"https:\/\/www.cybermedian.com\/fr\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/"},"modified":"2026-10-14T15:24:34","modified_gmt":"2026-10-14T07:24:34","slug":"mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode","status":"publish","type":"post","link":"https:\/\/www.cybermedian.com\/fr\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/","title":{"rendered":"Ma\u00eetriser les variables et les directives du pr\u00e9processeur dans PlantUML avec VPasCode"},"content":{"rendered":"<h2 data-nodeid=\"19796\">Introduction<\/h2>\n<p data-nodeid=\"19797\">Le moteur de pr\u00e9processeur de PlantUML transforme le code de diagramme statique en mod\u00e8les dynamiques et r\u00e9utilisables. Lorsqu&#8217;il est combin\u00e9 avec <strong data-nodeid=\"19910\">Visual Paradigm VPasCode<\/strong>\u2014un espace de travail bas\u00e9 sur le navigateur, enrichi par l&#8217;IA, pour le diagramme en tant que code\u2014vous gagnez la capacit\u00e9 d&#8217;\u00e9crire, tester et it\u00e9rer sur des architectures complexes sans installations locales. Ce guide couvre tout, de la syntaxe de base des variables aux mod\u00e8les modulaires avanc\u00e9s, optimis\u00e9 sp\u00e9cifiquement pour le flux de travail VPasCode.<\/p>\n<p><img alt=\"\" class=\"alignnone size-full wp-image-22010\" decoding=\"async\" height=\"1122\" loading=\"lazy\" sizes=\"auto, (max-width: 1402px) 100vw, 1402px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7.png 1402w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7-300x240.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7-1024x819.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7-768x615.png 768w\" width=\"1402\"\/><\/p>\n<hr data-nodeid=\"19798\"\/>\n<h2 data-nodeid=\"19799\">1. Pourquoi utiliser des variables dans PlantUML ?<\/h2>\n<p data-nodeid=\"19800\">La codification en dur des valeurs entra\u00eene des cauchemars de maintenance. Les variables vous permettent de :<\/p>\n<ul data-nodeid=\"19801\">\n<li data-nodeid=\"19802\">\n<p data-nodeid=\"19803\"><strong data-nodeid=\"19917\">Centraliser la configuration :<\/strong>Modifier un nom de base de donn\u00e9es ou une valeur de d\u00e9lai d&#8217;attente \u00e0 un seul endroit, et cela se met \u00e0 jour partout.<\/p>\n<\/li>\n<li data-nodeid=\"19804\">\n<p data-nodeid=\"19805\"><strong data-nodeid=\"19922\">Permettre la modularit\u00e9 :<\/strong>Cr\u00e9er des fichiers de mod\u00e8les partag\u00e9s qui s&#8217;adaptent en fonction du contexte (par exemple, D\u00e9veloppement vs. Production).<\/p>\n<\/li>\n<li data-nodeid=\"19806\">\n<p data-nodeid=\"19807\"><strong data-nodeid=\"19927\">R\u00e9duire la r\u00e9p\u00e9tition :<\/strong>Utiliser des boucles et des macros pour g\u00e9n\u00e9rer des structures r\u00e9p\u00e9titives comme des clusters de microservices ou des points de terminaison d&#8217;API.<\/p>\n<\/li>\n<\/ul>\n<p data-nodeid=\"19808\">Dans VPasCode, ces avantages sont amplifi\u00e9s par <strong data-nodeid=\"19933\">l&#8217;aper\u00e7u en direct<\/strong>, ce qui signifie que vous voyez l&#8217;impact de vos modifications de variables instantan\u00e9ment pendant que vous tapez.<\/p>\n<hr data-nodeid=\"19809\"\/>\n<h2 data-nodeid=\"19810\">2. Syntaxe et d\u00e9claration des variables<\/h2>\n<p data-nodeid=\"19811\">PlantUML moderne utilise le pr\u00e9fixe &#8221; pour les variables, offrant un meilleur balayage de port\u00e9e et une meilleure s\u00e9curit\u00e9 de type que l&#8217;approche h\u00e9rit\u00e9e &#8220;<code data-backticks=\"1\" data-nodeid=\"19936\">!$<\/code>PlantUML moderne utilise le pr\u00e9fixe &#8221; pour les variables, offrant un meilleur balayage de port\u00e9e et une meilleure s\u00e9curit\u00e9 de type que l&#8217;approche h\u00e9rit\u00e9e &#8220;<code data-backticks=\"1\" data-nodeid=\"19938\">!define<\/code> approche.<\/p>\n<h3 data-nodeid=\"19812\">Affectation de base (<code data-backticks=\"1\" data-nodeid=\"19941\">=<\/code>)<\/h3>\n<p data-nodeid=\"19813\">Utilisez &#8220;<code data-backticks=\"1\" data-nodeid=\"19944\">=<\/code> pour affecter ou r\u00e9affecter une valeur.<\/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:KrH9B2ZmIynDLR1LKF8lIaaj2aujAijCJbNYvL9KoKsi24ejASfCBGPAcm80\" 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:KrH9B2ZmIynDLR1LKF8lIaaj2aujAijCJbNYvL9KoKsi24ejASfCBGPAcm80\" \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=\"19814\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">!$appName = \"OrderService\"\r\n!$maxRetries = 5\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:KrH9B2ZmIynDLR1LKF8lIaaj2aujAijCJbNYvL9KoKsi24ejASfCBGPAcm80\" \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:KrH9B2ZmIynDLR1LKF8lIaaj2aujAijCJbNYvL9KoKsi24ejASfCBGPAcm80\" 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=\"19815\">Affectation conditionnelle (<code data-backticks=\"1\" data-nodeid=\"19947\">?=<\/code>)<\/h3>\n<p data-nodeid=\"19816\">Utiliser <code data-backticks=\"1\" data-nodeid=\"19950\">?=<\/code> pour d\u00e9finir une valeur par d\u00e9faut uniquement si la variable n&#8217;a pas encore \u00e9t\u00e9 d\u00e9finie. Cela est crucial pour cr\u00e9er des mod\u00e8les flexibles qui peuvent \u00eatre remplac\u00e9s par des fichiers inclus.<\/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:LSen3a1040NGNk8EtqOfzWIYKgYTODZ1n1fY5t5xMjLhNfOtUicnwSeQKLSmNQH9T3984slHZlYDcmB87qpkGU28_W4fH0T_EiOedWl4MGAyAECpBBBlxCeN\" 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:LSh13O9048NXEuazF0b70XKOJrH01PjbM9-1WIo3zNZTEgOnzUZj_vB_sWpwOjvq5JNSRwX72ucQQbogliT8_1q1avUdl-75lFmmKuazP9oAcV51oQ36vJnQH34JB4mgaCFmZIrxaUu3\" \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=\"19817\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">!$Environment ?= \"Staging\" \r\n\/\/ Si $Environment a d\u00e9j\u00e0 \u00e9t\u00e9 d\u00e9fini par un fichier inclus, cette ligne est ignor\u00e9e.\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:LSh13O9048NXEuazF0b70XKOJrH01PjbM9-1WIo3zNZTEgOnzUZj_vB_sWpwOjvq5JNSRwX72ucQQbogliT8_1q1avUdl-75lFmmKuazP9oAcV51oQ36vJnQH34JB4mgaCFmZIrxaUu3\" \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:LSen3a1040NGNk8EtqOfzWIYKgYTODZ1n1fY5t5xMjLhNfOtUicnwSeQKLSmNQH9T3984slHZlYDcmB87qpkGU28_W4fH0T_EiOedWl4MGAyAECpBBBlxCeN\" 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=\"19818\">R\u00e8gles de port\u00e9e<\/h3>\n<ul data-nodeid=\"19819\">\n<li data-nodeid=\"19820\">\n<p data-nodeid=\"19821\">Les variables d\u00e9clar\u00e9es au niveau sup\u00e9rieur sont globales dans le script.<\/p>\n<\/li>\n<li data-nodeid=\"19822\">\n<p data-nodeid=\"19823\">Les variables \u00e0 l&#8217;int\u00e9rieur de <code data-backticks=\"1\" data-nodeid=\"19955\">!function<\/code> ou <code data-backticks=\"1\" data-nodeid=\"19957\">!procedure<\/code> sont locales \u00e0 cette port\u00e9e sauf si elles sont explicitement g\u00e9r\u00e9es.<\/p>\n<\/li>\n<\/ul>\n<hr data-nodeid=\"19824\"\/>\n<h2 data-nodeid=\"19825\">3. Types de donn\u00e9es et gestion<\/h2>\n<p data-nodeid=\"19826\">PlantUML prend en charge trois types de donn\u00e9es principaux :<\/p>\n<table data-nodeid=\"19828\">\n<thead data-nodeid=\"19829\">\n<tr data-nodeid=\"19830\">\n<th align=\"left\" data-nodeid=\"19832\">Type<\/th>\n<th align=\"left\" data-nodeid=\"19833\">Description<\/th>\n<th align=\"left\" data-nodeid=\"19834\">Exemple<\/th>\n<\/tr>\n<\/thead>\n<tbody data-nodeid=\"19838\">\n<tr data-nodeid=\"19839\">\n<td align=\"left\" data-nodeid=\"19840\"><strong data-nodeid=\"19967\">Cha\u00eene de caract\u00e8res<\/strong><\/td>\n<td align=\"left\" data-nodeid=\"19841\">Texte entre guillemets.<\/td>\n<td align=\"left\" data-nodeid=\"19842\"><code data-backticks=\"1\" data-nodeid=\"19969\">!$host = \"api.example.com\"<\/code><\/td>\n<\/tr>\n<tr data-nodeid=\"19843\">\n<td align=\"left\" data-nodeid=\"19844\"><strong data-nodeid=\"19973\">Entier<\/strong><\/td>\n<td align=\"left\" data-nodeid=\"19845\">Nombres entiers pour les calculs\/les boucles.<\/td>\n<td align=\"left\" data-nodeid=\"19846\"><code data-backticks=\"1\" data-nodeid=\"19975\">!$port = 8080<\/code><\/td>\n<\/tr>\n<tr data-nodeid=\"19847\">\n<td align=\"left\" data-nodeid=\"19848\"><strong data-nodeid=\"19979\">JSON<\/strong><\/td>\n<td align=\"left\" data-nodeid=\"19849\">Donn\u00e9es structur\u00e9es pour des configurations complexes.<\/td>\n<td align=\"left\" data-nodeid=\"19850\"><code data-backticks=\"1\" data-nodeid=\"19981\">!$config = %str2json(\"{ 'debug': true }\")<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<blockquote data-nodeid=\"19851\">\n<p data-nodeid=\"19852\"><strong data-nodeid=\"19992\">Note sur les bool\u00e9ens :<\/strong> PlantUML traite <code data-backticks=\"1\" data-nodeid=\"19986\">0<\/code> comme faux et tout nombre non nul ou toute cha\u00eene non vide comme vrai. Utilisez <code data-backticks=\"1\" data-nodeid=\"19988\">%true()<\/code> et <code data-backticks=\"1\" data-nodeid=\"19990\">%false()<\/code> pour plus de clart\u00e9.<\/p>\n<\/blockquote>\n<hr data-nodeid=\"19853\"\/>\n<h2 data-nodeid=\"19854\">4. Impl\u00e9mentation pratique : Diagrammes de s\u00e9quence dynamiques<\/h2>\n<p data-nodeid=\"19855\">Les variables brillent lors de la d\u00e9finition des acteurs et des messages. Voici un exemple complet pr\u00eat pour VPasCode.<\/p>\n<p id=\"lbVEtrQ\"><img alt=\"\" class=\"alignnone size-full wp-image-22011\" decoding=\"async\" height=\"871\" loading=\"lazy\" sizes=\"auto, (max-width: 1919px) 100vw, 1919px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dda5a7cd.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dda5a7cd.png 1919w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dda5a7cd-300x136.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dda5a7cd-1024x465.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dda5a7cd-768x349.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dda5a7cd-1536x697.png 1536w\" width=\"1919\"\/><\/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:bP8nJyCm48NtIFaFrwe37Ie2Oee4QWS41Keh4bXHcfnI2ySNx4iG_7hif0d9m51lT_Uzv-UJbuOJpLKXVMyoIwL0nN0DqmtjXSHLMKvTFqyOlv9lDrZjrkztRTcCaeeF4UfQfDYCRRaHgIRJzXgcrCIKadJ0VHplelE7QFjiHxvdvQIgOe_QLLs0nGtqTuRmHBbGy8AV5Hg6izvkRkKfYzg2FTwuT59dCymNmbiYHURuc3vG3VK3hiabkOKx4kmPcIt68I-30BQFleVI8AnLVOhsAhY0L-K0qk87C-kYCfSYmty2_ZtHEHst5jeTcPAKmR5oi1f5jg55Vk0GRbKjDAd2IOK1WmnCC9aD-hwtj4div_W5\" 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:ZLBDIiD04Bu7yWxJKb0FnIgU0aeBYbhj3wPubJGPsv7DRjXiehwDrpv7NgmpILlJW-2Ioyptiry-TfYxoBeYLRxNwSMAK3kuXkx4B4dXACkwibz53Z-ZRm56yyUt-sQieQXmwn1jIJ7MC8yJYgt9crtDoQnn9ZPA20-BnJmy7uUpAKE-ntAZYtI9LgPzWFuD7EuCu1RJI2S8_CL6Q_mYe-7qu7h6Bh6Zala7LMssTn2tTim0NYD52LfG21_80TeEBMOTK3aO2mVAMkHxmEV8htySzt8mWDcJxw7ASISb_L_nrU02fgoGNYpbrOPzT2914lmZu-z_YjMkmG1UgarcT8x7obO_sl32qcejxESJr2LPgJSLFUOEachpJfgW-e5Exww11VIz8MVY9xC5\" \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=\"19856\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n!$client = \"MobileApp\"\r\n!$gateway = \"API_Gateway\"\r\n!$authService = \"AuthMicroservice\"\r\n!$protocol = \"HTTPS\/JSON\"\r\n\r\nautonumber\r\n\r\n$client -&gt; $gateway : Demande de connexion ($protocol)\r\nactivate $gateway\r\n\r\n$gateway -&gt; $authService : Valider le jeton\r\nactivate $authService\r\n\r\nalt Jeton valide\r\n    $authService --&gt; $gateway : 200 OK\r\nelse Jeton invalide\r\n    $authService --&gt; $gateway : 401 Non autoris\u00e9\r\nend\r\n\r\ndeactivate $authService\r\n$gateway --&gt; $client : R\u00e9ponse\r\ndeactivate $gateway\r\n\r\nnote right : L'environnement est d\u00e9fini \u00e0 !$Environment\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:ZLBDIiD04Bu7yWxJKb0FnIgU0aeBYbhj3wPubJGPsv7DRjXiehwDrpv7NgmpILlJW-2Ioyptiry-TfYxoBeYLRxNwSMAK3kuXkx4B4dXACkwibz53Z-ZRm56yyUt-sQieQXmwn1jIJ7MC8yJYgt9crtDoQnn9ZPA20-BnJmy7uUpAKE-ntAZYtI9LgPzWFuD7EuCu1RJI2S8_CL6Q_mYe-7qu7h6Bh6Zala7LMssTn2tTim0NYD52LfG21_80TeEBMOTK3aO2mVAMkHxmEV8htySzt8mWDcJxw7ASISb_L_nrU02fgoGNYpbrOPzT2914lmZu-z_YjMkmG1UgarcT8x7obO_sl32qcejxESJr2LPgJSLFUOEachpJfgW-e5Exww11VIz8MVY9xC5\" \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:bP8nJyCm48NtIFaFrwe37Ie2Oee4QWS41Keh4bXHcfnI2ySNx4iG_7hif0d9m51lT_Uzv-UJbuOJpLKXVMyoIwL0nN0DqmtjXSHLMKvTFqyOlv9lDrZjrkztRTcCaeeF4UfQfDYCRRaHgIRJzXgcrCIKadJ0VHplelE7QFjiHxvdvQIgOe_QLLs0nGtqTuRmHBbGy8AV5Hg6izvkRkKfYzg2FTwuT59dCymNmbiYHURuc3vG3VK3hiabkOKx4kmPcIt68I-30BQFleVI8AnLVOhsAhY0L-K0qk87C-kYCfSYmty2_ZtHEHst5jeTcPAKmR5oi1f5jg55Vk0GRbKjDAd2IOK1WmnCC9aD-hwtj4div_W5\" 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 data-nodeid=\"19857\"><strong data-nodeid=\"20003\">Astuce VPasCode :<\/strong> Alors que vous modifiez <code data-backticks=\"1\" data-nodeid=\"19999\">$client<\/code> en <code data-backticks=\"1\" data-nodeid=\"20001\">\"WebDashboard\"<\/code>, le diagramme se met \u00e0 jour en temps r\u00e9el, vous permettant de v\u00e9rifier imm\u00e9diatement les ajustements de mise en page.<\/p>\n<hr data-nodeid=\"19858\"\/>\n<h2 data-nodeid=\"19859\">5. Fonctionnalit\u00e9s avanc\u00e9es : Fonctions et fonctions int\u00e9gr\u00e9es<\/h2>\n<h3 data-nodeid=\"19860\">Fonctions personnalis\u00e9es (<code data-backticks=\"1\" data-nodeid=\"20006\">!function<\/code>)<\/h3>\n<p data-nodeid=\"19861\">Les fonctions vous permettent d&#8217;effectuer des calculs ou des manipulations de cha\u00eenes de caract\u00e8res et de renvoyer directement les r\u00e9sultats dans les \u00e9tiquettes du diagramme.<\/p>\n<p id=\"shmyjCy\"><img alt=\"\" class=\"alignnone size-full wp-image-22012\" decoding=\"async\" height=\"875\" loading=\"lazy\" sizes=\"auto, (max-width: 1918px) 100vw, 1918px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dfc6847f.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dfc6847f.png 1918w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dfc6847f-300x137.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dfc6847f-1024x467.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dfc6847f-768x350.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dfc6847f-1536x701.png 1536w\" width=\"1918\"\/><\/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:SoWkIImgAStDuULIJ2lDIox9pCzJK4dBByfDB0dEh4hLKCbDqkJbKb1GB4ejAIq2okKcAMWhA2duEYa1jQJcfS1qyNBnSZdcP2QdAkZQAJZb9obOAOGMvEGdfYZaPEPcbYXa5gEOQse0DDO1g1zeDm00\" 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:LOun3i8m40HxI_x39ae1GaWqD1GeeGuLBx2T2rZosP9pRlAZl2CVmmq5zMfsfb_4P2aSj6hc4ftu5D7DAREHbr_fqB4zQWKqcQJakh752IsUgQq8nUb7QQNL4BmZdEzu98iRHeFWsGjX8iY-XNrp7vFVn1G5jCYVwNgfehu-rfel\" \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=\"19862\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n!function $formatSize($mb)\r\n  !return $mb + \" Mo\"\r\n!endfunction\r\n\r\nAlice -&gt; Bob : La limite de t\u00e9l\u00e9chargement est $formatSize(50)\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:LOun3i8m40HxI_x39ae1GaWqD1GeeGuLBx2T2rZosP9pRlAZl2CVmmq5zMfsfb_4P2aSj6hc4ftu5D7DAREHbr_fqB4zQWKqcQJakh752IsUgQq8nUb7QQNL4BmZdEzu98iRHeFWsGjX8iY-XNrp7vFVn1G5jCYVwNgfehu-rfel\" \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:SoWkIImgAStDuULIJ2lDIox9pCzJK4dBByfDB0dEh4hLKCbDqkJbKb1GB4ejAIq2okKcAMWhA2duEYa1jQJcfS1qyNBnSZdcP2QdAkZQAJZb9obOAOGMvEGdfYZaPEPcbYXa5gEOQse0DDO1g1zeDm00\" 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=\"19863\">Fonctions int\u00e9gr\u00e9es utiles<\/h3>\n<ul data-nodeid=\"19864\">\n<li data-nodeid=\"19865\">\n<p data-nodeid=\"19866\"><code data-backticks=\"1\" data-nodeid=\"20010\">%variable_exists(\"$varName\")<\/code>: V\u00e9rifier si une variable est d\u00e9finie avant de l&#8217;utiliser pour \u00e9viter les erreurs.<\/p>\n<\/li>\n<li data-nodeid=\"19867\">\n<p data-nodeid=\"19868\"><code data-backticks=\"1\" data-nodeid=\"20012\">%get_variable_value(\"$varName\")<\/code>: R\u00e9cup\u00e9rer la valeur d&#8217;une variable de mani\u00e8re dynamique, utile pour le d\u00e9bogage.<\/p>\n<\/li>\n<li data-nodeid=\"19869\">\n<p data-nodeid=\"19870\"><code data-backticks=\"1\" data-nodeid=\"20014\">%strlen(\"$text\")<\/code>: Obtenir la longueur d&#8217;une cha\u00eene de caract\u00e8res pour un formatage conditionnel.<\/p>\n<\/li>\n<\/ul>\n<hr data-nodeid=\"19871\"\/>\n<h2 data-nodeid=\"19872\">6. Optimisation de votre flux de travail dans VPasCode<\/h2>\n<p data-nodeid=\"19873\">VPasCode fournit des outils sp\u00e9cifiques pour am\u00e9liorer l&#8217;exp\u00e9rience de d\u00e9veloppement ax\u00e9e sur les variables :<\/p>\n<h3 data-nodeid=\"19874\">1. Aper\u00e7u en direct et d\u00e9tection des erreurs<\/h3>\n<ul data-nodeid=\"19875\">\n<li data-nodeid=\"19876\">\n<p data-nodeid=\"19877\"><strong data-nodeid=\"20025\">Retour instantan\u00e9 :<\/strong> Modifiez la valeur d&#8217;une variable dans le panneau de l&#8217;\u00e9diteur et observez le diagramme se redessiner instantan\u00e9ment.<\/p>\n<\/li>\n<li data-nodeid=\"19878\">\n<p data-nodeid=\"19879\"><strong data-nodeid=\"20036\">D\u00e9bogage assist\u00e9 par IA :<\/strong> Si vous oubliez un <code data-backticks=\"1\" data-nodeid=\"20030\">$<\/code> pr\u00e9fixe ou si vous avez une erreur de port\u00e9e, utilisez le <strong data-nodeid=\"20037\">Correcteur de code par IA<\/strong> bouton. Il analyse la logique du pr\u00e9processeur et sugg\u00e8re automatiquement des corrections.<\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"19880\">2. Conception modulaire avec des inclus<\/h3>\n<p data-nodeid=\"19881\">Bien que VPasCode soit bas\u00e9 sur le navigateur, vous pouvez simuler la modularit\u00e9 en organisant votre code en blocs logiques. Pour les flux de travail locaux, vous utiliseriez <code data-backticks=\"1\" data-nodeid=\"20040\">!include<\/code>, mais dans VPasCode, vous pouvez conserver les variables partag\u00e9es en haut de votre script pour un acc\u00e8s facile.<\/p>\n<h3 data-nodeid=\"19882\">3. Exportation pour la documentation<\/h3>\n<p data-nodeid=\"19883\">Une fois votre diagramme dynamique finalis\u00e9 :<\/p>\n<ul data-nodeid=\"19884\">\n<li data-nodeid=\"19885\">\n<p data-nodeid=\"19886\"><strong data-nodeid=\"20048\">SVG :<\/strong> Id\u00e9al pour la documentation technique o\u00f9 l&#8217;\u00e9volutivit\u00e9 et la recherche de texte sont requises.<\/p>\n<\/li>\n<li data-nodeid=\"19887\">\n<p data-nodeid=\"19888\"><strong data-nodeid=\"20053\">PNG :<\/strong> Id\u00e9al pour un partage rapide dans Slack, Teams ou par e-mail.<\/p>\n<\/li>\n<\/ul>\n<hr data-nodeid=\"19889\"\/>\n<h2 data-nodeid=\"19890\">7. Bonnes pratiques pour un code maintenable<\/h2>\n<ol data-nodeid=\"19891\">\n<li data-nodeid=\"19892\">\n<p data-nodeid=\"19893\"><strong data-nodeid=\"20065\">Conventions de nommage :<\/strong> Utilisez camelCase ou snake_case de mani\u00e8re coh\u00e9rente (par exemple, &#8220;<code data-backticks=\"1\" data-nodeid=\"20061\">$dbName<\/code> ou &#8220;<code data-backticks=\"1\" data-nodeid=\"20063\">$db_name<\/code>).<\/p>\n<\/li>\n<li data-nodeid=\"19894\">\n<p data-nodeid=\"19895\"><strong data-nodeid=\"20072\">Valeurs par d\u00e9faut :<\/strong> Utilisez toujours &#8220;<code data-backticks=\"1\" data-nodeid=\"20070\">?=<\/code> pour les variables qui pourraient \u00eatre red\u00e9finies dans diff\u00e9rents environnements.<\/p>\n<\/li>\n<li data-nodeid=\"19896\">\n<p data-nodeid=\"19897\"><strong data-nodeid=\"20077\">Commentaires :<\/strong> Ajoutez des commentaires au-dessus des blocs de variables pour expliquer leur objectif, en particulier pour les configurations JSON.<\/p>\n<\/li>\n<li data-nodeid=\"19898\">\n<p data-nodeid=\"19899\"><strong data-nodeid=\"20082\">Gardez la logique simple :<\/strong> Bien que PlantUML prenne en charge les boucles et les conditions, une logique trop complexe peut rendre les diagrammes difficiles \u00e0 lire. Utilisez des variables pour la configuration, pas pour construire toute la logique de l&#8217;application.<\/p>\n<\/li>\n<\/ol>\n<hr data-nodeid=\"19900\"\/>\n<h2 data-nodeid=\"19901\">Conclusion<\/h2>\n<p class=\"\" data-nodeid=\"19902\">En ma\u00eetrisant les variables et les directives du pr\u00e9processeur dans PlantUML, vous transformez vos diagrammes d&#8217;images statiques en documentation vivante. L&#8217;utilisation de &#8220;<strong data-nodeid=\"20089\">VPasCode<\/strong> simplifie ce processus gr\u00e2ce \u00e0 ses capacit\u00e9s d&#8217;\u00e9dition am\u00e9lior\u00e9es par l&#8217;IA et d&#8217;aper\u00e7u en direct, vous permettant de vous concentrer sur l&#8217;architecture plut\u00f4t que sur la syntaxe. Commencez d\u00e8s aujourd&#8217;hui \u00e0 exp\u00e9rimenter les affectations conditionnelles et les fonctions personnalis\u00e9es pour cr\u00e9er des mod\u00e8les de diagrammes plus r\u00e9silients et r\u00e9utilisables.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Le moteur de pr\u00e9processeur de PlantUML transforme le code de diagramme statique en mod\u00e8les dynamiques et r\u00e9utilisables. Lorsqu&#8217;il est<\/p>\n","protected":false},"author":11,"featured_media":12630,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","source_url":"","source_h1_title":"","fifu_image_url":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7.png","fifu_image_alt":"","_fifu_image_alt":"","fifu_alt":"","_fifu_alt":"","fifu_image_title":"","_fifu_image_title":"","fifu_input_alt":"","vp_image_hash":"","footnotes":""},"categories":[81,120],"tags":[],"asset-category":[],"class_list":["post-12629","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai","category-vpascode-editor"],"source_url":"","source_h1_title":"","fifu_image_url":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7.png","fifu_image_alt":"","vp_image_hash":"","yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ma\u00eetriser les variables et les directives du pr\u00e9processeur dans PlantUML avec VPasCode - Cyberm\u00e9diane<\/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.cybermedian.com\/fr\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ma\u00eetriser les variables et les directives du pr\u00e9processeur dans PlantUML avec VPasCode - Cyberm\u00e9diane\" \/>\n<meta property=\"og:description\" content=\"Introduction Le moteur de pr\u00e9processeur de PlantUML transforme le code de diagramme statique en mod\u00e8les dynamiques et r\u00e9utilisables. Lorsqu&#8217;il est\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cybermedian.com\/fr\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/\" \/>\n<meta property=\"og:site_name\" content=\"Cyberm\u00e9diane\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-14T07:24:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7.png\" \/><meta property=\"og:image\" content=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1402\" \/>\n\t<meta property=\"og:image:height\" content=\"1122\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"curtis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7.png\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"curtis\" \/>\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.cybermedian.com\/fr\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.cybermedian.com\/fr\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/\"},\"author\":{\"name\":\"curtis\",\"@id\":\"https:\/\/www.cybermedian.com\/fr\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d\"},\"headline\":\"Ma\u00eetriser les variables et les directives du pr\u00e9processeur dans PlantUML avec VPasCode\",\"datePublished\":\"2026-10-14T07:24:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.cybermedian.com\/fr\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/\"},\"wordCount\":1047,\"image\":{\"@id\":\"https:\/\/www.cybermedian.com\/fr\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.cybermedian.com\/fr\/wp-content\/uploads\/sites\/10\/2026\/10\/img_6acf2d8d765e7.png\",\"articleSection\":[\"AI\",\"VPasCode Editor\"],\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.cybermedian.com\/fr\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/\",\"url\":\"https:\/\/www.cybermedian.com\/fr\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/\",\"name\":\"Ma\u00eetriser les variables et les directives du pr\u00e9processeur dans PlantUML avec VPasCode - Cyberm\u00e9diane\",\"isPartOf\":{\"@id\":\"https:\/\/www.cybermedian.com\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.cybermedian.com\/fr\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.cybermedian.com\/fr\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.cybermedian.com\/fr\/wp-content\/uploads\/sites\/10\/2026\/10\/img_6acf2d8d765e7.png\",\"datePublished\":\"2026-10-14T07:24:34+00:00\",\"author\":{\"@id\":\"https:\/\/www.cybermedian.com\/fr\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.cybermedian.com\/fr\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.cybermedian.com\/fr\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.cybermedian.com\/fr\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage\",\"url\":\"https:\/\/www.cybermedian.com\/fr\/wp-content\/uploads\/sites\/10\/2026\/10\/img_6acf2d8d765e7.png\",\"contentUrl\":\"https:\/\/www.cybermedian.com\/fr\/wp-content\/uploads\/sites\/10\/2026\/10\/img_6acf2d8d765e7.png\",\"width\":1402,\"height\":1122},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.cybermedian.com\/fr\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.cybermedian.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ma\u00eetriser les variables et les directives du pr\u00e9processeur dans PlantUML avec VPasCode\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.cybermedian.com\/fr\/#website\",\"url\":\"https:\/\/www.cybermedian.com\/fr\/\",\"name\":\"Cyberm\u00e9diane\",\"description\":\"Apprendre une nouvelle chose tous les jours\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.cybermedian.com\/fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.cybermedian.com\/fr\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d\",\"name\":\"curtis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.cybermedian.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.cybermedian.com\/fr\/author\/curtis\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ma\u00eetriser les variables et les directives du pr\u00e9processeur dans PlantUML avec VPasCode - Cyberm\u00e9diane","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.cybermedian.com\/fr\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/","og_locale":"fr_FR","og_type":"article","og_title":"Ma\u00eetriser les variables et les directives du pr\u00e9processeur dans PlantUML avec VPasCode - Cyberm\u00e9diane","og_description":"Introduction Le moteur de pr\u00e9processeur de PlantUML transforme le code de diagramme statique en mod\u00e8les dynamiques et r\u00e9utilisables. Lorsqu&#8217;il est","og_url":"https:\/\/www.cybermedian.com\/fr\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/","og_site_name":"Cyberm\u00e9diane","article_published_time":"2026-10-14T07:24:34+00:00","og_image":[{"url":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7.png","type":"","width":"","height":""},{"width":1402,"height":1122,"url":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7.png","type":"image\/png"}],"author":"curtis","twitter_card":"summary_large_image","twitter_image":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7.png","twitter_misc":{"\u00c9crit par":"curtis","Dur\u00e9e de lecture estim\u00e9e":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.cybermedian.com\/fr\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#article","isPartOf":{"@id":"https:\/\/www.cybermedian.com\/fr\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/"},"author":{"name":"curtis","@id":"https:\/\/www.cybermedian.com\/fr\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d"},"headline":"Ma\u00eetriser les variables et les directives du pr\u00e9processeur dans PlantUML avec VPasCode","datePublished":"2026-10-14T07:24:34+00:00","mainEntityOfPage":{"@id":"https:\/\/www.cybermedian.com\/fr\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/"},"wordCount":1047,"image":{"@id":"https:\/\/www.cybermedian.com\/fr\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cybermedian.com\/fr\/wp-content\/uploads\/sites\/10\/2026\/10\/img_6acf2d8d765e7.png","articleSection":["AI","VPasCode Editor"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/www.cybermedian.com\/fr\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/","url":"https:\/\/www.cybermedian.com\/fr\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/","name":"Ma\u00eetriser les variables et les directives du pr\u00e9processeur dans PlantUML avec VPasCode - Cyberm\u00e9diane","isPartOf":{"@id":"https:\/\/www.cybermedian.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.cybermedian.com\/fr\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage"},"image":{"@id":"https:\/\/www.cybermedian.com\/fr\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cybermedian.com\/fr\/wp-content\/uploads\/sites\/10\/2026\/10\/img_6acf2d8d765e7.png","datePublished":"2026-10-14T07:24:34+00:00","author":{"@id":"https:\/\/www.cybermedian.com\/fr\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d"},"breadcrumb":{"@id":"https:\/\/www.cybermedian.com\/fr\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cybermedian.com\/fr\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.cybermedian.com\/fr\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage","url":"https:\/\/www.cybermedian.com\/fr\/wp-content\/uploads\/sites\/10\/2026\/10\/img_6acf2d8d765e7.png","contentUrl":"https:\/\/www.cybermedian.com\/fr\/wp-content\/uploads\/sites\/10\/2026\/10\/img_6acf2d8d765e7.png","width":1402,"height":1122},{"@type":"BreadcrumbList","@id":"https:\/\/www.cybermedian.com\/fr\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.cybermedian.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Ma\u00eetriser les variables et les directives du pr\u00e9processeur dans PlantUML avec VPasCode"}]},{"@type":"WebSite","@id":"https:\/\/www.cybermedian.com\/fr\/#website","url":"https:\/\/www.cybermedian.com\/fr\/","name":"Cyberm\u00e9diane","description":"Apprendre une nouvelle chose tous les jours","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.cybermedian.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/www.cybermedian.com\/fr\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d","name":"curtis","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.cybermedian.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.cybermedian.com\/fr\/author\/curtis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.cybermedian.com\/fr\/wp-json\/wp\/v2\/posts\/12629","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cybermedian.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cybermedian.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/fr\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/fr\/wp-json\/wp\/v2\/comments?post=12629"}],"version-history":[{"count":0,"href":"https:\/\/www.cybermedian.com\/fr\/wp-json\/wp\/v2\/posts\/12629\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/fr\/wp-json\/wp\/v2\/media\/12630"}],"wp:attachment":[{"href":"https:\/\/www.cybermedian.com\/fr\/wp-json\/wp\/v2\/media?parent=12629"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cybermedian.com\/fr\/wp-json\/wp\/v2\/categories?post=12629"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cybermedian.com\/fr\/wp-json\/wp\/v2\/tags?post=12629"},{"taxonomy":"asset-category","embeddable":true,"href":"https:\/\/www.cybermedian.com\/fr\/wp-json\/wp\/v2\/asset-category?post=12629"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}