{"id":4261,"date":"2026-06-02T16:13:49","date_gmt":"2026-06-02T08:13:49","guid":{"rendered":"https:\/\/www.go2posts.com\/fr\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/"},"modified":"2026-06-02T16:13:49","modified_gmt":"2026-06-02T08:13:49","slug":"mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams","status":"publish","type":"post","link":"https:\/\/www.go2posts.com\/fr\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/","title":{"rendered":"Ma\u00eetriser le Diagramme-as-Code : Un tutoriel complet VPasCode pour les \u00e9quipes de d\u00e9veloppement modernes"},"content":{"rendered":"<h2>Introduction : La r\u00e9volution de la documentation commence ici<\/h2>\n<p>Dans le monde effr\u00e9n\u00e9 du d\u00e9veloppement logiciel, il existe une v\u00e9rit\u00e9 inconfortable que nous affrontons tous :<strong>notre documentation est presque toujours obsol\u00e8te<\/strong>. Nous avons pass\u00e9 d&#8217;innombrables heures \u00e0 lutter avec des outils de diagrammes par glisser-d\u00e9poser, alignant m\u00e9ticuleusement des bo\u00eetes et des fl\u00e8ches, pour seulement voir nos visuels soigneusement con\u00e7us devenir obsol\u00e8tes d\u00e8s que le code change.<br \/>\nMais et si la documentation pouvait suivre le rythme du d\u00e9veloppement ? Et si la cr\u00e9ation de diagrammes d&#8217;architecture professionnels \u00e9tait aussi simple que d&#8217;\u00e9crire une fonction ?<br \/>\nBienvenue dans la r\u00e9volution du Diagramme-as-Code. Ce tutoriel vous guidera \u00e0 travers<strong>VPasCode<\/strong>, la plateforme bas\u00e9e sur le navigateur de Visual Paradigm qui transforme la fa\u00e7on dont les \u00e9quipes cr\u00e9ent, partagent et maintiennent les diagrammes d&#8217;architecture syst\u00e8me. En traitant les diagrammes comme du code, vous d\u00e9couvrirez comment produire des visuels de qualit\u00e9 publication en quelques minutes, pas en heures, tout en assurant que votre documentation \u00e9volue de mani\u00e8re transparente avec vos syst\u00e8mes.<br \/>\nQue vous soyez un d\u00e9veloppeur documentant des microservices, un architecte pr\u00e9sentant \u00e0 des parties prenantes, ou un ing\u00e9nieur DevOps cartographiant l&#8217;infrastructure, ce guide complet vous dotera des comp\u00e9tences pour ma\u00eetriser VPasCode et am\u00e9liorer le niveau de documentation de votre \u00e9quipe.<\/p>\n<hr\/>\n<h2>1. Premiers pas : Votre premier diagramme en 5 minutes {#getting-started}<\/h2>\n<h3>Aucune installation, aucune configuration, juste du code<\/h3>\n<p>L&#8217;une des fonctionnalit\u00e9s les plus puissantes de VPasCode est son int\u00e9gration sans friction. Rien \u00e0 installer, aucun compte \u00e0 cr\u00e9er, aucune configuration complexe. Cr\u00e9ons votre premier diagramme d\u00e8s maintenant.<br \/>\n<strong>D\u00e9marrage rapide \u00e9tape par \u00e9tape :<\/strong><\/p>\n<ol>\n<li>\n<p><strong>Acc\u00e9dez \u00e0 VPasCode<\/strong>: Ouvrez votre navigateur et visitez<a href=\"https:\/\/www.vpascode.com\/editor\/\">https:\/\/www.vpascode.com\/editor\/<\/a><\/p>\n<\/li>\n<li>\n<p><strong>Choisissez votre moteur<\/strong>: S\u00e9lectionnez dans le menu d\u00e9roulant :<\/p>\n<ul>\n<li>\n<p><strong>Mermaid<\/strong> \u2013 Id\u00e9al pour les organigrammes et la documentation moderne<\/p>\n<\/li>\n<li>\n<p><strong>PlantUML<\/strong> \u2013 Id\u00e9al pour les diagrammes UML et l&#8217;architecture d&#8217;entreprise<\/p>\n<\/li>\n<li>\n<p><strong>Graphviz<\/strong> \u2013 Parfait pour les topologies de r\u00e9seau complexes<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Chargez un mod\u00e8le<\/strong>: Cliquez sur \u00ab Exemples \u00bb et s\u00e9lectionnez un mod\u00e8le de d\u00e9marrage<\/p>\n<\/li>\n<li>\n<p><strong>\u00c9ditez et pr\u00e9visualisez<\/strong>: Modifiez le code dans le panneau de gauche ; regardez votre diagramme se mettre \u00e0 jour instantan\u00e9ment \u00e0 droite<\/p>\n<\/li>\n<li>\n<p><strong>Exportez ou partagez<\/strong>: T\u00e9l\u00e9chargez en SVG\/PNG ou copiez l&#8217;URL partageable<\/p>\n<\/li>\n<\/ol>\n<p><img alt=\"VPasCode : Documentation de l'architecture syst\u00e8me via le Diagramme-en-Code\" decoding=\"async\" src=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e86c394c18.png\"\/><br \/>\n<em>Figure 1 : VPasCode transforme instantan\u00e9ment le code bas\u00e9 sur du texte en diagrammes d&#8217;architecture professionnels<\/em><\/p>\n<hr\/>\n<h2>2. Comprendre l&#8217;interface VPasCode {#interface}<\/h2>\n<p>Avant de plonger en profondeur dans la syntaxe, familiarisons-nous avec l&#8217;espace de travail.<br \/>\n<img alt=\"L'interface utilisateur de VPasCode - Un \u00e9diteur tout-en-un de texte vers diagramme (ou diagramme-en-code)\" decoding=\"async\" src=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a17bfb3eef7d.png\"\/><br \/>\n<em>Figure 2 : L&#8217;interface \u00e0 deux panneaux de VPasCode \u2014 code \u00e0 gauche, aper\u00e7u en direct \u00e0 droite<\/em><\/p>\n<h3>D\u00e9tail des composants de l&#8217;interface :<\/h3>\n<p><strong>Panneau gauche (\u00e9diteur de code) :<\/strong><\/p>\n<ul>\n<li>\n<p>\u00c9diteur de texte avec mise en \u00e9vidence de la syntaxe<\/p>\n<\/li>\n<li>\n<p>Num\u00e9ros de ligne pour une r\u00e9f\u00e9rence facile<\/p>\n<\/li>\n<li>\n<p>Prise en charge de l&#8217;auto-compl\u00e9tion<\/p>\n<\/li>\n<li>\n<p>Mise en \u00e9vidence des erreurs en temps r\u00e9el<\/p>\n<\/li>\n<\/ul>\n<p><strong>Panneau droit (aper\u00e7u en direct) :<\/strong><\/p>\n<ul>\n<li>\n<p>Rendu visuel instantan\u00e9<\/p>\n<\/li>\n<li>\n<p>Contr\u00f4les de d\u00e9placement et de zoom<\/p>\n<\/li>\n<li>\n<p>Affichage vectoriel (net \u00e0 tout niveau de zoom)<\/p>\n<\/li>\n<li>\n<p>Cliquez pour inspecter les \u00e9l\u00e9ments<\/p>\n<\/li>\n<\/ul>\n<p><strong>Barre d&#8217;outils sup\u00e9rieure :<\/strong><\/p>\n<ul>\n<li>\n<p>S\u00e9lecteur de moteur (Mermaid\/PlantUML\/Graphviz)<\/p>\n<\/li>\n<li>\n<p>Galerie de mod\u00e8les<\/p>\n<\/li>\n<li>\n<p>Options d&#8217;exportation (SVG, PNG, PDF)<\/p>\n<\/li>\n<li>\n<p>Bouton de partage (g\u00e9n\u00e8re une URL permanente)<\/p>\n<\/li>\n<li>\n<p>Param\u00e8tres et pr\u00e9f\u00e9rences<\/p>\n<\/li>\n<\/ul>\n<p><strong>Barre d&#8217;\u00e9tat inf\u00e9rieure :<\/strong><\/p>\n<ul>\n<li>\n<p>Statut de validation de la syntaxe<\/p>\n<\/li>\n<li>\n<p>Compteur de caract\u00e8res<\/p>\n<\/li>\n<li>\n<p>Horodatage de la derni\u00e8re sauvegarde<\/p>\n<\/li>\n<li>\n<p>R\u00e9f\u00e9rence des raccourcis clavier<\/p>\n<\/li>\n<\/ul>\n<h3>Principe fondamental du flux de travail :<\/h3>\n<pre><code>\u00c9crire du code \u2192 Voir l'aper\u00e7u instantan\u00e9 \u2192 Affiner \u2192 Exporter\/Partager\r\n<\/code><\/pre>\n<p>Cette boucle de r\u00e9troaction imm\u00e9diate est ce qui rend VPasCode si puissant. Il n&#8217;y a pas de bouton \u00ab rendre \u00bb \u00e0 cliquer, pas d&#8217;attente de compilation \u2014 juste un retour visuel pur et instantan\u00e9 pendant que vous tapez.<\/p>\n<hr\/>\n<h2>3. Ma\u00eetriser Mermaid.js : Diagrammes de flux et au-del\u00e0 {#mermaid-tutorial}<\/h2>\n<p>Mermaid.js est devenu la norme de facto pour la cr\u00e9ation de diagrammes adapt\u00e9e aux d\u00e9veloppeurs. Sa syntaxe est intuitive, lisible et parfaite pour la documentation qui vit aux c\u00f4t\u00e9s du code.<\/p>\n<h3>Tutoriel 1 : Cr\u00e9ation d&#8217;un flux d&#8217;authentification utilisateur<\/h3>\n<p>Cr\u00e9ons un diagramme de flux d&#8217;authentification pratique que vous pourriez utiliser lors de votre prochaine planification de sprint.<br \/>\n<strong>Code exemple :<\/strong><\/p>\n<p><img alt=\"Diagramme de flux d'authentification utilisateur montrant la validation des identifiants, la g\u00e9n\u00e9ration de jetons JWT et la redirection vers le tableau de bord avec des boucles de gestion d'erreurs.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8b6724da1.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpNj99rwkAMgN8H+x8Cvk7QrVXxYaP2hzrYBlY3RvHh1kvXw+5OcnHD6f731bZK8xAI+ZIv+SSxzWEZXF9BGV6yskgQakay4BNK1KxEYdfQ7d7D5PAqCiUhMvQl+OGvHpqcesdncwQ\/iXPzAxUkWBkNIZGhdZt7R3uEIIlRS2AD3o5ziJG+VYoN51cury6CqggPrVvgSXCan+3hxR4lC+QdaXB6fVhpUW42pH5Rrttk5Z8mU9RIghEe35awNBvUDTWthLMkZkNYd0BpmDFvX3SxB9+YjTqfOqvgeSmWijDl00eBsPmHEXTWRu136mx5XyB4kKmiGHewn7lZdmOZStm40+sNBmnaBucNKB2UUlzA25EYOm4bjBowG8lhC5Tpneu4\/12qjr4=\" 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 Mermaid dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpNj99rwkAMgN8H+x8Cvk7QrVXxYaP2hzrYBlY3RvHh1kvXw+5OcnHD6f731bZK8xAI+ZIv+SSxzWEZXF9BGV6yskgQakay4BNK1KxEYdfQ7d7D5PAqCiUhMvQl+OGvHpqcesdncwQ\/iXPzAxUkWBkNIZGhdZt7R3uEIIlRS2AD3o5ziJG+VYoN51cury6CqggPrVvgSXCan+3hxR4lC+QdaXB6fVhpUW42pH5Rrttk5Z8mU9RIghEe35awNBvUDTWthLMkZkNYd0BpmDFvX3SxB9+YjTqfOqvgeSmWijDl00eBsPmHEXTWRu136mx5XyB4kKmiGHewn7lZdmOZStm40+sNBmnaBucNKB2UUlzA25EYOm4bjBowG8lhC5Tpneu4\/12qjr4=\" 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 Mermaid 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\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpdkMtOAjEUhvcmvsNJWLiRBHS4hIVmuAxgjCSKcTFhUdozUKktaTuTEPCBeA5ezDOX6MQuml6+75y\/3Vi238JyfH0FNML43UslHfOYWkDtLYJDB1LQWiaSae9W0Gw+wPAYGfvFPGRM0S08fpcVhvnt6cXoE4ziMEkk36KFVCOgtXlRYguFeWn0qi4tUnmCcTzRmTmQw1JqbTPJEcQNS\/22jMDr4qjIEpabcbGZHJ\/\/BQZuqLXbG50fNqVyv2knf2mj+BW9Sa2m1kGrDXRIEbyx0l3Oqzpe5JzG08tZX862eB18kqvh6WNZkdMiyyx+84bvCFFYIYJplwvcmJ1EmHm\/X2h1qLRZoc0pipBWbkjM0Lrc9mytkL6Evm9trKj4qP7+cnb+QHgIiVRq0MB20kmSW+et2eGg0Wp1u5zXwXkFigCFYL\/gXZ\/1gk4djCow6YteDRT8vhN0fgBIVLRP\" \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 Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">graph TD\r\n    A[Utilisateur entre ses identifiants] --&gt; B{Format valide ?}\r\n    B --&gt;|Non| C[Afficher une erreur de validation]\r\n    B --&gt;|Oui| D[Envoyer au service d'authentification]\r\n    C --&gt; A\r\n    D --&gt; E{Les identifiants correspondent-ils ?}\r\n    E --&gt;|Non| F[Retourner 401 Non autoris\u00e9]\r\n    E --&gt;|Oui| G[G\u00e9n\u00e9rer un jeton JWT]\r\n    G --&gt; H[Stocker le jeton dans un cookie HttpOnly]\r\n    H --&gt; I[Rediriger vers le tableau de bord]\r\n    F --&gt; A\r\n    \r\n    style A fill:#e1f5ff,stroke:#0066cc\r\n    style I fill:#d4edda,stroke:#28a745\r\n    style F fill:#f8d7da,stroke:#dc3545\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpdkMtOAjEUhvcmvsNJWLiRBHS4hIVmuAxgjCSKcTFhUdozUKktaTuTEPCBeA5ezDOX6MQuml6+75y\/3Vi238JyfH0FNML43UslHfOYWkDtLYJDB1LQWiaSae9W0Gw+wPAYGfvFPGRM0S08fpcVhvnt6cXoE4ziMEkk36KFVCOgtXlRYguFeWn0qi4tUnmCcTzRmTmQw1JqbTPJEcQNS\/22jMDr4qjIEpabcbGZHJ\/\/BQZuqLXbG50fNqVyv2knf2mj+BW9Sa2m1kGrDXRIEbyx0l3Oqzpe5JzG08tZX862eB18kqvh6WNZkdMiyyx+84bvCFFYIYJplwvcmJ1EmHm\/X2h1qLRZoc0pipBWbkjM0Lrc9mytkL6Evm9trKj4qP7+cnb+QHgIiVRq0MB20kmSW+et2eGg0Wp1u5zXwXkFigCFYL\/gXZ\/1gk4djCow6YteDRT8vhN0fgBIVLRP\" \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 Mermaid 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\/#mermaid:eNpNj99rwkAMgN8H+x8Cvk7QrVXxYaP2hzrYBlY3RvHh1kvXw+5OcnHD6f731bZK8xAI+ZIv+SSxzWEZXF9BGV6yskgQakay4BNK1KxEYdfQ7d7D5PAqCiUhMvQl+OGvHpqcesdncwQ\/iXPzAxUkWBkNIZGhdZt7R3uEIIlRS2AD3o5ziJG+VYoN51cury6CqggPrVvgSXCan+3hxR4lC+QdaXB6fVhpUW42pH5Rrttk5Z8mU9RIghEe35awNBvUDTWthLMkZkNYd0BpmDFvX3SxB9+YjTqfOqvgeSmWijDl00eBsPmHEXTWRu136mx5XyB4kKmiGHewn7lZdmOZStm40+sNBmnaBucNKB2UUlzA25EYOm4bjBowG8lhC5Tpneu4\/12qjr4=\" 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 Mermaid dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpNj99rwkAMgN8H+x8Cvk7QrVXxYaP2hzrYBlY3RvHh1kvXw+5OcnHD6f731bZK8xAI+ZIv+SSxzWEZXF9BGV6yskgQakay4BNK1KxEYdfQ7d7D5PAqCiUhMvQl+OGvHpqcesdncwQ\/iXPzAxUkWBkNIZGhdZt7R3uEIIlRS2AD3o5ziJG+VYoN51cury6CqggPrVvgSXCan+3hxR4lC+QdaXB6fVhpUW42pH5Rrttk5Z8mU9RIghEe35awNBvUDTWthLMkZkNYd0BpmDFvX3SxB9+YjTqfOqvgeSmWijDl00eBsPmHEXTWRu136mx5XyB4kKmiGHewn7lZdmOZStm40+sNBmnaBucNKB2UUlzA25EYOm4bjBowG8lhC5Tpneu4\/12qjr4=\" 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 Mermaid dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p><strong>Ce que cela d\u00e9montre :<\/strong><\/p>\n<ul>\n<li>\n<p>N\u0153uds de d\u00e9cision (losanges avec <code data-backticks=\"1\">{?}<\/code>)<\/p>\n<\/li>\n<li>\n<p>Flux directionnel (<code data-backticks=\"1\">TD<\/code> = Haut-Bas)<\/p>\n<\/li>\n<li>\n<p>Style personnalis\u00e9 avec des couleurs<\/p>\n<\/li>\n<li>\n<p>Boucles auto-r\u00e9f\u00e9rentielles<\/p>\n<\/li>\n<li>\n<p>\u00c9tiquetage clair<\/p>\n<\/li>\n<\/ul>\n<h3>Tutoriel 2 : Diagramme d&#8217;architecture de microservices<\/h3>\n<p>Cr\u00e9ons maintenant une architecture syst\u00e8me plus complexe montrant les relations entre les services.<br \/>\n<strong>Code exemple :<\/strong><\/p>\n<p><img alt=\"Diagramme d'architecture de microservices montrant la couche Client, la passerelle API, les services m\u00e9tier et la couche de donn\u00e9es avec des connexions PostgreSQL, MongoDB et Redis.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8b8990079.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNUt9rwjAQfh\/sfwj1RUGZiHNOhmAtG2OOucrYQ9hDml41rFpJ0on\/\/ZpfXWndZqCX5rvvkvvubs3JfoMW4eUFKpbIo7UG5imDncSe2dGCHIF7H4ak1jtEuPjQbL+\/i\/jVNARCZcX\/nEUsBWy2knWf5lICtzzYxean9vZs+Yi9wqAHIuFAjtV3LYTRU7ZbuxOqEGa53GBl0Ar4F6NQ8YUFHSuDFmzL\/k\/E3iCw5+eC7UCIEqrm9CaAY2VOPPnC48Kp7QnvkmdxTiW2+ykGOW5VI+xeY\/yWeEAkwZ6yzc6pRAMft3XCga\/7ssyEXHNYvS469dwV1aRvuc9F4bPA7zRlKKpT8ufFc0I3gNshxEyYQ+e0IDVhvd7U9dmAdqYauBsG5VAD0ERV6w2qh0BBqgo1SKutYVaWQXXlXHDg10Ctx2CmbuWdjvoD264a2JWu8p6LcN1vXGX7Lo9FQZzShKXppJUko2gUdYXk2SdMWvR2QAakS7M045PDhrlCmFAjxEYOgcZ0WEb2xzfJdVRl2wzOpZdazg3QFSxlwGgUl+SkP6b9\/jc5B1T5\" 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 Mermaid dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNUt9rwjAQfh\/sfwj1RUGZiHNOhmAtG2OOucrYQ9hDml41rFpJ0on\/\/ZpfXWndZqCX5rvvkvvubs3JfoMW4eUFKpbIo7UG5imDncSe2dGCHIF7H4ak1jtEuPjQbL+\/i\/jVNARCZcX\/nEUsBWy2knWf5lICtzzYxean9vZs+Yi9wqAHIuFAjtV3LYTRU7ZbuxOqEGa53GBl0Ar4F6NQ8YUFHSuDFmzL\/k\/E3iCw5+eC7UCIEqrm9CaAY2VOPPnC48Kp7QnvkmdxTiW2+ykGOW5VI+xeY\/yWeEAkwZ6yzc6pRAMft3XCga\/7ssyEXHNYvS469dwV1aRvuc9F4bPA7zRlKKpT8ufFc0I3gNshxEyYQ+e0IDVhvd7U9dmAdqYauBsG5VAD0ERV6w2qh0BBqgo1SKutYVaWQXXlXHDg10Ctx2CmbuWdjvoD264a2JWu8p6LcN1vXGX7Lo9FQZzShKXppJUko2gUdYXk2SdMWvR2QAakS7M045PDhrlCmFAjxEYOgcZ0WEb2xzfJdVRl2wzOpZdazg3QFSxlwGgUl+SkP6b9\/jc5B1T5\" 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 Mermaid 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\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNUttqGzEQfS\/0H4Tz0BgSakLqpKYEfCGl1KEbh5AH0QetNGuLaFeLpG3wJ\/k7\/GPVbTfKOm2il9WcPWdmzmjWitQbtFx9\/IDs0U2+9sBccKgMHsxlQzcQw8HvwHLnAXI8rWvBKTFcVi7+lqvPVysg1CS8G5lzAS+oAfLsa9EYAyryoWLh0mtmmv3Ag4xoDQqEABenrXwnBp7IFqOE8lNWa5Rwpo3Z4DtQfzgFxD4RG1pDvIg9JcyVzYaXvOQGGoWYZe93OTdvtBhTazxob6jc7wwHlXZ6b9vrumgMF1wTVyah\/FIs4djyVJYlqRgknExJ1lDTsWoX83TqGdmW7v2SPDXh4LA3jCyIId2zO\/eyqvY70H0bixk+nhH9gpNa8s+bSW3WCu5ul8O+xVf1iV2vv7GvKBez4aH3f8njKP5TfU6sM3zsP2gFjOvh6yOxG41OT6\/a9Qpg2N1DPAb+h9u1Q9TtVUDdzUNujj3Iz6aHRcsBdZpOvJj1QO8qYD7Tc86W+gzHHQlwrJHWaxWRd5gqbo7Z2oG0TgsuxOSoKMb5OD\/RRslHmBzRr2fkjJxQKaSaPG14O4ggDUai8hwoo+edcnR5UXzJU3bs4L30zst7BWEvWhswHrOOXIwu6Wj0F59oifs=\" \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 Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">graph LR\r\n    subgraph Client[\"Couche Client\"]\r\n        Web[Application Web&lt;br\/&gt;React]\r\n        Mobile[Application Mobile&lt;br\/&gt;Flutter]\r\n    end\r\n    \r\n    subgraph API[\"Passerelle API\"]\r\n        Gateway[ Passerelle Kong ]\r\n        Auth[Service d'authentification]\r\n        Rate[Limiteur de d\u00e9bit]\r\n    end\r\n    \r\n    subgraph Services[\"Services m\u00e9tier\"]\r\n        User[Service utilisateur]\r\n        Order[Service de commande]\r\n        Product[Service produit]\r\n        Payment[Service de paiement]\r\n    end\r\n    \r\n    subgraph Data[\"Couche de donn\u00e9es\"]\r\n        UserDB[(Base de donn\u00e9es utilisateur&lt;br\/&gt;PostgreSQL)]\r\n        OrderDB[(Base de donn\u00e9es de commande&lt;br\/&gt;MongoDB)]\r\n        ProductDB[(Base de donn\u00e9es de produit&lt;br\/&gt;PostgreSQL)]\r\n        Cache[(Cache Redis)]\r\n    end\r\n    \r\n    Web --&gt; Gateway\r\n    Mobile --&gt; Gateway\r\n    Gateway --&gt; Auth\r\n    Gateway --&gt; Rate\r\n    Rate --&gt; User\r\n    Rate --&gt; Order\r\n    Rate --&gt; Product\r\n    User --&gt; UserDB\r\n    User --&gt; Cache\r\n    Order --&gt; OrderDB\r\n    Order --&gt; Payment\r\n    Product --&gt; ProductDB\r\n    Payment --&gt; OrderDB\r\n    \r\n    style Gateway fill:#ff6b6b,stroke:#c92a2a,color:white\r\n    style UserDB fill:#4ecdc4,stroke:#087f5b\r\n    style OrderDB fill:#4ecdc4,stroke:#087f5b\r\n    style ProductDB fill:#4ecdc4,stroke:#087f5b\r\n    style Cache fill:#ffe66d,stroke:#f08c00\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNUttqGzEQfS\/0H4Tz0BgSakLqpKYEfCGl1KEbh5AH0QetNGuLaFeLpG3wJ\/k7\/GPVbTfKOm2il9WcPWdmzmjWitQbtFx9\/IDs0U2+9sBccKgMHsxlQzcQw8HvwHLnAXI8rWvBKTFcVi7+lqvPVysg1CS8G5lzAS+oAfLsa9EYAyryoWLh0mtmmv3Ag4xoDQqEABenrXwnBp7IFqOE8lNWa5Rwpo3Z4DtQfzgFxD4RG1pDvIg9JcyVzYaXvOQGGoWYZe93OTdvtBhTazxob6jc7wwHlXZ6b9vrumgMF1wTVyah\/FIs4djyVJYlqRgknExJ1lDTsWoX83TqGdmW7v2SPDXh4LA3jCyIId2zO\/eyqvY70H0bixk+nhH9gpNa8s+bSW3WCu5ul8O+xVf1iV2vv7GvKBez4aH3f8njKP5TfU6sM3zsP2gFjOvh6yOxG41OT6\/a9Qpg2N1DPAb+h9u1Q9TtVUDdzUNujj3Iz6aHRcsBdZpOvJj1QO8qYD7Tc86W+gzHHQlwrJHWaxWRd5gqbo7Z2oG0TgsuxOSoKMb5OD\/RRslHmBzRr2fkjJxQKaSaPG14O4ggDUai8hwoo+edcnR5UXzJU3bs4L30zst7BWEvWhswHrOOXIwu6Wj0F59oifs=\" \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 Mermaid 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\/#mermaid:eNqNUt9rwjAQfh\/sfwj1RUGZiHNOhmAtG2OOucrYQ9hDml41rFpJ0on\/\/ZpfXWndZqCX5rvvkvvubs3JfoMW4eUFKpbIo7UG5imDncSe2dGCHIF7H4ak1jtEuPjQbL+\/i\/jVNARCZcX\/nEUsBWy2knWf5lICtzzYxean9vZs+Yi9wqAHIuFAjtV3LYTRU7ZbuxOqEGa53GBl0Ar4F6NQ8YUFHSuDFmzL\/k\/E3iCw5+eC7UCIEqrm9CaAY2VOPPnC48Kp7QnvkmdxTiW2+ykGOW5VI+xeY\/yWeEAkwZ6yzc6pRAMft3XCga\/7ssyEXHNYvS469dwV1aRvuc9F4bPA7zRlKKpT8ufFc0I3gNshxEyYQ+e0IDVhvd7U9dmAdqYauBsG5VAD0ERV6w2qh0BBqgo1SKutYVaWQXXlXHDg10Ctx2CmbuWdjvoD264a2JWu8p6LcN1vXGX7Lo9FQZzShKXppJUko2gUdYXk2SdMWvR2QAakS7M045PDhrlCmFAjxEYOgcZ0WEb2xzfJdVRl2wzOpZdazg3QFSxlwGgUl+SkP6b9\/jc5B1T5\" 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 Mermaid dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNUt9rwjAQfh\/sfwj1RUGZiHNOhmAtG2OOucrYQ9hDml41rFpJ0on\/\/ZpfXWndZqCX5rvvkvvubs3JfoMW4eUFKpbIo7UG5imDncSe2dGCHIF7H4ak1jtEuPjQbL+\/i\/jVNARCZcX\/nEUsBWy2knWf5lICtzzYxean9vZs+Yi9wqAHIuFAjtV3LYTRU7ZbuxOqEGa53GBl0Ar4F6NQ8YUFHSuDFmzL\/k\/E3iCw5+eC7UCIEqrm9CaAY2VOPPnC48Kp7QnvkmdxTiW2+ykGOW5VI+xeY\/yWeEAkwZ6yzc6pRAMft3XCga\/7ssyEXHNYvS469dwV1aRvuc9F4bPA7zRlKKpT8ufFc0I3gNshxEyYQ+e0IDVhvd7U9dmAdqYauBsG5VAD0ERV6w2qh0BBqgo1SKutYVaWQXXlXHDg10Ctx2CmbuWdjvoD264a2JWu8p6LcN1vXGX7Lo9FQZzShKXppJUko2gUdYXk2SdMWvR2QAakS7M045PDhrlCmFAjxEYOgcZ0WEb2xzfJdVRl2wzOpZdazg3QFSxlwGgUl+SkP6b9\/jc5B1T5\" 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 Mermaid dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p><strong>Concepts cl\u00e9s :<\/strong><\/p>\n<ul>\n<li>\n<p><code data-backticks=\"1\">subgraph<\/code> pour un regroupement logique<\/p>\n<\/li>\n<li>\n<p><code data-backticks=\"1\">LR<\/code> pour une disposition de gauche \u00e0 droite<\/p>\n<\/li>\n<li>\n<p>\u00c9tiquettes multi-lignes avec <code data-backticks=\"1\">&lt;br\/&gt;<\/code><\/p>\n<\/li>\n<li>\n<p>Notation de cylindre de base de donn\u00e9es avec <code data-backticks=\"1\">[( )]<\/code><\/p>\n<\/li>\n<li>\n<p>Routage et relations complexes<\/p>\n<\/li>\n<\/ul>\n<h3>Tutoriel 3 : Diagramme de s\u00e9quence pour le traitement des commandes<\/h3>\n<p>Les diagrammes de s\u00e9quence sont essentiels pour comprendre les interactions temporelles entre les composants.<br \/>\n<strong>Code exemple :<\/strong><\/p>\n<p><img alt=\"Diagramme de s\u00e9quence illustrant le flux de traitement des commandes entre le Client, l'application Web, le service de commande, le service de paiement, le service d'inventaire et le service de notification.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8bb593914.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp1klFrgzAUhd8H+w+XPm3Qrl0fZRSK3YMvKuugzzHeaqgmLokdpfS\/78YorrQVEeN3cu+5Jxr8aVFy3AhWaFY\/PwFdrLVKtnWG2q8bpq3gomHSQgjMQNgaq+p7eOfwDjNYN80tTRxNdI4atqiPguOtJnWalJ1qpMVDVeRUkTySSOnTY13sdLGyYi84s0LJa6l\/hrPVahfAOs9BWKwNWAWcilzRsBL8AJOwRH5QrZ14uCOYBJAm22+YKzeZgXNXZAqmFE0jZHHx0oSkUQBfaMgBghjMexrNfCWPvVWu5F7oGvOxQEq9tOJoDI3ZZeRZ2m8fgjMtd6J9W417CYcamUXojIJGTi8jjwMKR+Y97Zt3Trwmdj3CAD5rJqo7PJn5pJaL975RDueuWJRfhrh8iW2pfgePNEhxdRx0XGTxSB6Saeo8CzpOVoFB7pp9ZHq+qukPhAzBaiYN676zflQay4IuMvayXCym0D3c\/bZ89YJ\/WYYl0wW6w85HNmT5PdaGaOM55fMHOQD0Aw==\" 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 Mermaid dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp1klFrgzAUhd8H+w+XPm3Qrl0fZRSK3YMvKuugzzHeaqgmLokdpfS\/78YorrQVEeN3cu+5Jxr8aVFy3AhWaFY\/PwFdrLVKtnWG2q8bpq3gomHSQgjMQNgaq+p7eOfwDjNYN80tTRxNdI4atqiPguOtJnWalJ1qpMVDVeRUkTySSOnTY13sdLGyYi84s0LJa6l\/hrPVahfAOs9BWKwNWAWcilzRsBL8AJOwRH5QrZ14uCOYBJAm22+YKzeZgXNXZAqmFE0jZHHx0oSkUQBfaMgBghjMexrNfCWPvVWu5F7oGvOxQEq9tOJoDI3ZZeRZ2m8fgjMtd6J9W417CYcamUXojIJGTi8jjwMKR+Y97Zt3Trwmdj3CAD5rJqo7PJn5pJaL975RDueuWJRfhrh8iW2pfgePNEhxdRx0XGTxSB6Saeo8CzpOVoFB7pp9ZHq+qukPhAzBaiYN676zflQay4IuMvayXCym0D3c\/bZ89YJ\/WYYl0wW6w85HNmT5PdaGaOM55fMHOQD0Aw==\" 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 Mermaid 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\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNptkcFq20AQhu+FvsOQS1qwG9dHUQxG6UEXS9QBn9ersTJF2nVnV4YQ8j51X0Mv1lmthBU7xgjZ882\/\/\/6\/wz8tGo2PpCpWzedPIB\/VemvaZo8cfx8Ve9J0VMZDCspBWhMafzvcheH6eKxJK0\/WwA73t1QeqC3yiTRCiZDaplGmxFuyuCILRdh8eHL2jrzPzEkwRfyB6OZKdGM9HQbDkY7PdL5a7RJY\/7atRxbSQa9Sh5dWJA2NAQ2oxCJpMriW4a5QL8h3cb6TeZ5AkW+f4MFyiezgdRSbQU0nVuSseYt4LniWwK\/u7MSmCNb3dHWhbB4lByamra05EDfdGS86RQJPIh5uUKOYngZYDCJjrMDduXWOLtsyTOVPWW4NoGGsyHmOsESn3zUXFjYJ\/DQn+9Jv4Ogo2rtZ2ITzUzliSklVgPNGUT2qxnCXi+\/iBZXHEl77DLPybYw36qwP0uNzuKkSmapv17Vad3\/dtFgpHMGGXPOZxLNFHdNj8qG\/H3t+WJWWPHT\/5K7gWRmnesZgXQ\/eWbaAq736slwsZtA\/wvfb8msEJgWkz4qraEtL63gBxgayx+B1clJE0JT\/AYmeIF4=\" \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 Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">sequenceDiagram\r\n    autonumber\r\n    participant C as Client\r\n    participant W as Application Web\r\n    participant O as Service de Commande\r\n    participant P as Service de Paiement\r\n    participant I as Service d'Inventaire\r\n    participant N as Service de Notification\r\n    \r\n    C-&gt;&gt;W: Ajouter des articles au panier\r\n    C-&gt;&gt;W: Cliquer sur \"Payer\"\r\n    W-&gt;&gt;O: POST \/orders {articles, livraison}\r\n    O-&gt;&gt;I: R\u00e9server l'inventaire\r\n    I--&gt;&gt;O: R\u00e9servation confirm\u00e9e\r\n    O-&gt;&gt;P: Traiter le paiement\r\n    P--&gt;&gt;O: Paiement r\u00e9ussi\r\n    O-&gt;&gt;O: Cr\u00e9er un enregistrement de commande\r\n    O-&gt;&gt;N: Envoyer une confirmation de commande\r\n    N--&gt;&gt;C: Confirmation par e-mail\r\n    O--&gt;&gt;W: 201 Created {orderId}\r\n    W--&gt;&gt;C: Afficher la page de succ\u00e8s\r\n    \r\n    Note over O,P: Section critique&lt;br\/&gt;doit \u00eatre transactionnelle\r\n    rect rgba(200, 200, 0, 0.2)\r\n        O-&gt;&gt;P: Charger la carte\r\n        P--&gt;&gt;O: ID de transaction\r\n    end\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNptkcFq20AQhu+FvsOQS1qwG9dHUQxG6UEXS9QBn9ersTJF2nVnV4YQ8j51X0Mv1lmthBU7xgjZ882\/\/\/6\/wz8tGo2PpCpWzedPIB\/VemvaZo8cfx8Ve9J0VMZDCspBWhMafzvcheH6eKxJK0\/WwA73t1QeqC3yiTRCiZDaplGmxFuyuCILRdh8eHL2jrzPzEkwRfyB6OZKdGM9HQbDkY7PdL5a7RJY\/7atRxbSQa9Sh5dWJA2NAQ2oxCJpMriW4a5QL8h3cb6TeZ5AkW+f4MFyiezgdRSbQU0nVuSseYt4LniWwK\/u7MSmCNb3dHWhbB4lByamra05EDfdGS86RQJPIh5uUKOYngZYDCJjrMDduXWOLtsyTOVPWW4NoGGsyHmOsESn3zUXFjYJ\/DQn+9Jv4Ogo2rtZ2ITzUzliSklVgPNGUT2qxnCXi+\/iBZXHEl77DLPybYw36qwP0uNzuKkSmapv17Vad3\/dtFgpHMGGXPOZxLNFHdNj8qG\/H3t+WJWWPHT\/5K7gWRmnesZgXQ\/eWbaAq736slwsZtA\/wvfb8msEJgWkz4qraEtL63gBxgayx+B1clJE0JT\/AYmeIF4=\" \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 Mermaid 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\/#mermaid:eNp1klFrgzAUhd8H+w+XPm3Qrl0fZRSK3YMvKuugzzHeaqgmLokdpfS\/78YorrQVEeN3cu+5Jxr8aVFy3AhWaFY\/PwFdrLVKtnWG2q8bpq3gomHSQgjMQNgaq+p7eOfwDjNYN80tTRxNdI4atqiPguOtJnWalJ1qpMVDVeRUkTySSOnTY13sdLGyYi84s0LJa6l\/hrPVahfAOs9BWKwNWAWcilzRsBL8AJOwRH5QrZ14uCOYBJAm22+YKzeZgXNXZAqmFE0jZHHx0oSkUQBfaMgBghjMexrNfCWPvVWu5F7oGvOxQEq9tOJoDI3ZZeRZ2m8fgjMtd6J9W417CYcamUXojIJGTi8jjwMKR+Y97Zt3Trwmdj3CAD5rJqo7PJn5pJaL975RDueuWJRfhrh8iW2pfgePNEhxdRx0XGTxSB6Saeo8CzpOVoFB7pp9ZHq+qukPhAzBaiYN676zflQay4IuMvayXCym0D3c\/bZ89YJ\/WYYl0wW6w85HNmT5PdaGaOM55fMHOQD0Aw==\" 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 Mermaid dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp1klFrgzAUhd8H+w+XPm3Qrl0fZRSK3YMvKuugzzHeaqgmLokdpfS\/78YorrQVEeN3cu+5Jxr8aVFy3AhWaFY\/PwFdrLVKtnWG2q8bpq3gomHSQgjMQNgaq+p7eOfwDjNYN80tTRxNdI4atqiPguOtJnWalJ1qpMVDVeRUkTySSOnTY13sdLGyYi84s0LJa6l\/hrPVahfAOs9BWKwNWAWcilzRsBL8AJOwRH5QrZ14uCOYBJAm22+YKzeZgXNXZAqmFE0jZHHx0oSkUQBfaMgBghjMexrNfCWPvVWu5F7oGvOxQEq9tOJoDI3ZZeRZ2m8fgjMtd6J9W417CYcamUXojIJGTi8jjwMKR+Y97Zt3Trwmdj3CAD5rJqo7PJn5pJaL975RDueuWJRfhrh8iW2pfgePNEhxdRx0XGTxSB6Saeo8CzpOVoFB7pp9ZHq+qukPhAzBaiYN676zflQay4IuMvayXCym0D3c\/bZ89YJ\/WYYl0wW6w85HNmT5PdaGaOM55fMHOQD0Aw==\" 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 Mermaid dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p><strong>Fonctionnalit\u00e9s du diagramme de s\u00e9quence :<\/strong><\/p>\n<ul>\n<li>\n<p><code data-backticks=\"1\">autonumber<\/code> pour une num\u00e9rotation automatique des \u00e9tapes<\/p>\n<\/li>\n<li>\n<p><code data-backticks=\"1\">participant<\/code> d\u00e9clarations<\/p>\n<\/li>\n<li>\n<p><code data-backticks=\"1\">-&gt;&gt;<\/code> pour les appels synchrones<\/p>\n<\/li>\n<li>\n<p><code data-backticks=\"1\">--&gt;&gt;<\/code> pour les r\u00e9ponses<\/p>\n<\/li>\n<li>\n<p><code data-backticks=\"1\">Note au-dessus<\/code> pour les annotations<\/p>\n<\/li>\n<li>\n<p><code data-backticks=\"1\">rect<\/code> pour mettre en \u00e9vidence des sections<\/p>\n<\/li>\n<\/ul>\n<h3>Tutoriel 4 : Diagramme de Gantt pour la planification de sprint<\/h3>\n<p>Mermaid prend \u00e9galement en charge la visualisation des chronologies de projet.<br \/>\n<strong>Code exemple :<\/strong><\/p>\n<p><img alt=\"Diagramme de Gantt du sprint 24 pour le module d'authentification, montrant les t\u00e2ches chronologiques pour les \u00e9quipes Backend, Frontend et Int\u00e9gration du 1er au 17 juin.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8bd9463b2.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqFkUFrwzAMhe+D\/QddemtY64QdettoCx0rFNoxdvQSNROr7eIoZfv3U+IkTaBhOhhj5XvSe8m1Zb6\/AykmPiHsz54sg0oggqeSv9AypZrJWdi6rDxh+DjTjGvnjWaAD6lou42Wy9DTP1S0vYl5mGThOZwFprXYs06\/0TatJRaUW3jabSB1lr1OuYBQi8xZnNYjsZhPQc1UEs0eo1l1b\/CNOZ\/QyKbw8n6QCf5CKTa4SNGlEhBc9fB4CnE7XbP+1AWCodwHq20tupvggugjo2+lGvzNEgNjwWRzGNSATnp0fKWHqay92O9ieXU5WUnEnCUDcXdL+VgR89vGDk4iBqOtzkM8Y7xqd+vUGoWddyyrYQbeleJxVCEeKKgxfxtx12QcGtUvp+vjTYtUr9SFl1zFV2r1X\/LUcxeE2nT2mJae+Bd0mRGPwXEPrm39ASby08A=\" 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 Mermaid dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqFkUFrwzAMhe+D\/QddemtY64QdettoCx0rFNoxdvQSNROr7eIoZfv3U+IkTaBhOhhj5XvSe8m1Zb6\/AykmPiHsz54sg0oggqeSv9AypZrJWdi6rDxh+DjTjGvnjWaAD6lou42Wy9DTP1S0vYl5mGThOZwFprXYs06\/0TatJRaUW3jabSB1lr1OuYBQi8xZnNYjsZhPQc1UEs0eo1l1b\/CNOZ\/QyKbw8n6QCf5CKTa4SNGlEhBc9fB4CnE7XbP+1AWCodwHq20tupvggugjo2+lGvzNEgNjwWRzGNSATnp0fKWHqay92O9ieXU5WUnEnCUDcXdL+VgR89vGDk4iBqOtzkM8Y7xqd+vUGoWddyyrYQbeleJxVCEeKKgxfxtx12QcGtUvp+vjTYtUr9SFl1zFV2r1X\/LUcxeE2nT2mJae+Bd0mRGPwXEPrm39ASby08A=\" 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 Mermaid 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\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp1kk1OwzAQhfdI3GE2FZtEtEnEortCCypSJASVEEuTOMWlsSN7gnokco5cjHF+Wqc0s4gc2\/PNmzfeMol4fQUUKFBzeCu0kAhBBD7EKi33HNIbVuIXlygykTAUSrYJmdI5wyVDDvBB4cexv1y6Z4sDHU3y20na7rZfwxMLgXuWfHPZHT0omfCi2U+5gURJ1AwNLF7W0MYcuc6FrCvP\/tGlmQfBNIj86Z0\/tetdS1rnxb6uctLLWlxJFfWPSDg8v286FiMJmddgAgcTehB2mFhsdQfgsGfwyQy3y1RJ0kAS+5gfVwQjACt0\/Wt6ckfbcEPNlFIgE9pJ\/k+IXEJ4Igy9e9RkkGNeXihDo7QCyTrJD\/bSpQqZTZxdbvmJRPYD2HFU0owSgqPKI7CDvKoSKb\/QCutqO3DqHBIOIcFYs2tpUdp5eu6O80SGNUSj62RmdD6OVbAaG4RwW2xBvUuLMhWN0aauklILUjKGCF1E094fPAv03w==\" \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 Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">gantt\r\n    titre Sprint 24 - Module d'authentification\r\n    formatDate  YYYY-MM-DD\r\n    formatAxe  %m\/%d\r\n    \r\n    section Backend\r\n    Conception des contrats API       :termin\u00e9,    des1, 2024-06-01, 2j\r\n    Impl\u00e9mentation du service JWT      :actif,  des2, 2024-06-03, 3j\r\n    Migration de la base de donn\u00e9es         :         des3, apr\u00e8s des2, 2j\r\n    Tests unitaires              :         des4, apr\u00e8s des3, 2j\r\n    \r\n    section Frontend\r\n    Composant de connexion           :         front1, 2024-06-03, 3j\r\n    Gestion des jetons          :         front2, apr\u00e8s front1, 2j\r\n    Routes prot\u00e9g\u00e9es          :         front3, apr\u00e8s front2, 2j\r\n    \r\n    section Int\u00e9gration\r\n    Int\u00e9gration API           :         int1, apr\u00e8s des4, 2j\r\n    Tests E2E              :         int2, apr\u00e8s int1, 3j\r\n    Audit de s\u00e9curit\u00e9           :         int3, apr\u00e8s int2, 2j\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNp1kk1OwzAQhfdI3GE2FZtEtEnEortCCypSJASVEEuTOMWlsSN7gnokco5cjHF+Wqc0s4gc2\/PNmzfeMol4fQUUKFBzeCu0kAhBBD7EKi33HNIbVuIXlygykTAUSrYJmdI5wyVDDvBB4cexv1y6Z4sDHU3y20na7rZfwxMLgXuWfHPZHT0omfCi2U+5gURJ1AwNLF7W0MYcuc6FrCvP\/tGlmQfBNIj86Z0\/tetdS1rnxb6uctLLWlxJFfWPSDg8v286FiMJmddgAgcTehB2mFhsdQfgsGfwyQy3y1RJ0kAS+5gfVwQjACt0\/Wt6ckfbcEPNlFIgE9pJ\/k+IXEJ4Igy9e9RkkGNeXihDo7QCyTrJD\/bSpQqZTZxdbvmJRPYD2HFU0owSgqPKI7CDvKoSKb\/QCutqO3DqHBIOIcFYs2tpUdp5eu6O80SGNUSj62RmdD6OVbAaG4RwW2xBvUuLMhWN0aauklILUjKGCF1E094fPAv03w==\" \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 Mermaid 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\/#mermaid:eNqFkUFrwzAMhe+D\/QddemtY64QdettoCx0rFNoxdvQSNROr7eIoZfv3U+IkTaBhOhhj5XvSe8m1Zb6\/AykmPiHsz54sg0oggqeSv9AypZrJWdi6rDxh+DjTjGvnjWaAD6lou42Wy9DTP1S0vYl5mGThOZwFprXYs06\/0TatJRaUW3jabSB1lr1OuYBQi8xZnNYjsZhPQc1UEs0eo1l1b\/CNOZ\/QyKbw8n6QCf5CKTa4SNGlEhBc9fB4CnE7XbP+1AWCodwHq20tupvggugjo2+lGvzNEgNjwWRzGNSATnp0fKWHqay92O9ieXU5WUnEnCUDcXdL+VgR89vGDk4iBqOtzkM8Y7xqd+vUGoWddyyrYQbeleJxVCEeKKgxfxtx12QcGtUvp+vjTYtUr9SFl1zFV2r1X\/LUcxeE2nT2mJae+Bd0mRGPwXEPrm39ASby08A=\" 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 Mermaid dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqFkUFrwzAMhe+D\/QddemtY64QdettoCx0rFNoxdvQSNROr7eIoZfv3U+IkTaBhOhhj5XvSe8m1Zb6\/AykmPiHsz54sg0oggqeSv9AypZrJWdi6rDxh+DjTjGvnjWaAD6lou42Wy9DTP1S0vYl5mGThOZwFprXYs06\/0TatJRaUW3jabSB1lr1OuYBQi8xZnNYjsZhPQc1UEs0eo1l1b\/CNOZ\/QyKbw8n6QCf5CKTa4SNGlEhBc9fB4CnE7XbP+1AWCodwHq20tupvggugjo2+lGvzNEgNjwWRzGNSATnp0fKWHqay92O9ieXU5WUnEnCUDcXdL+VgR89vGDk4iBqOtzkM8Y7xqd+vUGoWddyyrYQbeleJxVCEeKKgxfxtx12QcGtUvp+vjTYtUr9SFl1zFV2r1X\/LUcxeE2nT2mJae+Bd0mRGPwXEPrm39ASby08A=\" 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 Mermaid dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<hr\/>\n<h2>4. Plong\u00e9e profonde dans PlantUML : Architecture d&#8217;entreprise {#plantuml-tutoriel}<\/h2>\n<p>PlantUML excelle dans la cr\u00e9ation de diagrammes UML formels et de documentation d&#8217;architecture d&#8217;entreprise. Explorons des exemples pratiques.<\/p>\n<h3>Tutoriel 1 : Diagramme de composants pour une plateforme de commerce \u00e9lectronique<\/h3>\n<p><strong>Code exemple :<\/strong><\/p>\n<p><img alt=\"Diagramme d'architecture en couches pour une plateforme de commerce \u00e9lectronique, d\u00e9taillant les couches de pr\u00e9sentation, d'API, de services m\u00e9tier et de donn\u00e9es.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8bf0e526c.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:VLHBRzGm4BvRydyOblFsm953rNrGXDI5BIl40VNW9DEDrTWEVXH5YF_Es76UIFZa-RvlFC_apdbXVL0DPszyZGgXROJKdBaNgLjXXO92b2zNQuAk3gOn5jxUfpENb4QrHgFs5zyr2FJSEyuuyzAJjVcmFHYbq9O8vqRuPsCLRE4m-C3EbhNqMFfWSHFzMeeehkHvjkX88Rmq6Xv4XtO3lpa3EZ--Om7trcYFkde2uO20J9rC8IdmhcqJqPkPsrLAQZWALnT6sDupOPpzMSJUdJ-jGqRee_3uItJ9Bzy7Db03jPTbIhT_cA3CVYKjF4X5XTh4HI3Pwy3xuAH6v-22zbMMwAO43iABnbm79hsJiQpuOYkq2puXcJsBJiMEp_cCPSMbbcqhzJB406RDP-FbSovpeKj4jwxdI0ckEbaHL0YN9cogK7euxZSf6JAF-xMeBofBal6lvfkR9F4-A7u634IVgA4ncyTe9j7fCISQ5scxlPsccTTdWVLhiu0uozS4zwEU8xC1p-5nNdCm3ucpljG8ZNEPe6aE4pRqdBDXEP9pxkEa6ziM4qt8q2NEXhMukRcbji1xQ4FHI5S3lXBiE1ktObIuKBZIoW97JP_8_nIStT6tIZ-7lm00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Modifier PlantUML dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:VLHBRzGm4BvRydyOblFsm953rNrGXDI5BIl40VNW9DEDrTWEVXH5YF_Es76UIFZa-RvlFC_apdbXVL0DPszyZGgXROJKdBaNgLjXXO92b2zNQuAk3gOn5jxUfpENb4QrHgFs5zyr2FJSEyuuyzAJjVcmFHYbq9O8vqRuPsCLRE4m-C3EbhNqMFfWSHFzMeeehkHvjkX88Rmq6Xv4XtO3lpa3EZ--Om7trcYFkde2uO20J9rC8IdmhcqJqPkPsrLAQZWALnT6sDupOPpzMSJUdJ-jGqRee_3uItJ9Bzy7Db03jPTbIhT_cA3CVYKjF4X5XTh4HI3Pwy3xuAH6v-22zbMMwAO43iABnbm79hsJiQpuOYkq2puXcJsBJiMEp_cCPSMbbcqhzJB406RDP-FbSovpeKj4jwxdI0ckEbaHL0YN9cogK7euxZSf6JAF-xMeBofBal6lvfkR9F4-A7u634IVgA4ncyTe9j7fCISQ5scxlPsccTTdWVLhiu0uozS4zwEU8xC1p-5nNdCm3ucpljG8ZNEPe6aE4pRqdBDXEP9pxkEa6ziM4qt8q2NEXhMukRcbji1xQ4FHI5S3lXBiE1ktObIuKBZIoW97JP_8_nIStT6tIZ-7lm00\" 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:bLJDRXCn6Bolv7SmuT1JUk38eMeQ58H48H0GXuh3jxjkygbUs_YdD48yq3x7lXYVVv9DGf3ANh8UZyVZyMIldGVhGoTPzS9lH2UuaO2ALUu1bG4B7Q-XULXR7LGxrr9R_dAHdaDAepkZbL1-vRTIS99xnIfMUVGqcYmbU76lBOct8d8xOHl1XrwAnbkjy4SGVCfdjjcW9oZOI7HPrO7oRXBL3Fc0DUdDTMWsISlOeNUqBNZKQi9_iOhJSxSWKIzKox-9-Zi75t_BrCmOYKtYyqxNA4KYtARNmla2jHGGuWQrjYs7jaE5pbiwHh29FuiGgtwVypLRlXkjBC4vOOMK2KzhtvBCJzZk30MANNcyBwwoF85b_Zrs6BUDRjgXhz4dncSIILEd9bR2Fc93wNL3xr7OqKgPINS07gHUXtpuUHwTeT5LWMepwwDjXVsROm2fDIgxMi8slf-oBiIJ6VeMz-TRRT0OL6UsLFeaYWyHsFuZwfY9LcheXTkVimPtDC4dDwU8iReDIBLAdcdmvkRPQqinKovP80Npdmh1eqIN-fH5lhfHuvwgIA61fmvxEkpYU4nQdN2ESiXBRp-LTAZbV3gz6WkMMtsCfUOUGwmghmdEtJj43hfs2EzhSmYMbh0glIHeNueH6kz_n7ONpQeYd1UNsnbv-xYZqOJiicDLsOfVNbvHBFmrDw6Mz2T8cG_zuz2hL5R7gfs5aUikeAOx8ZQ4fnDsDlSyBgkkwTj3ty0_\" \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\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n!theme plain\r\nskinparam backgroundColor #FFFFFF\r\nskinparam componentStyle uml2\r\n\r\ntitle \"Plateforme de commerce \u00e9lectronique - Architecture des composants\"\r\n\r\npackage \"Couche de pr\u00e9sentation\" {\r\n    [Frontend Web] as Web\r\n    [Application mobile] as Mobile\r\n    [Tableau de bord administrateur] as Admin\r\n}\r\n\r\npackage \"Couche API\" {\r\n    [Passerelle API] as Gateway\r\n    [Authentification] as Auth\r\n    [Limiteur de d\u00e9bit] as RateLimit\r\n}\r\n\r\npackage \"Services m\u00e9tier\" {\r\n    [Service de catalogue] as Catalog\r\n    [Service de commande] as Order\r\n    [Service de paiement] as Payment\r\n    [Service d'exp\u00e9dition] as Shipping\r\n    [Service de notification] as Notify\r\n}\r\n\r\npackage \"Couche de donn\u00e9es\" {\r\n    base de donn\u00e9es \"Base de donn\u00e9es produits\" as ProdDB\r\n    base de donn\u00e9es \"Base de donn\u00e9es des commandes\" as OrderDB\r\n    base de donn\u00e9es \"Base de donn\u00e9es des utilisateurs\" as UserDB\r\n    file d'attente \"File d'attente de messages\" as MQ\r\n}\r\n\r\nWeb --&gt; Gateway\r\nMobile --&gt; Gateway\r\nAdmin --&gt; Gateway\r\n\r\nGateway --&gt; Auth\r\nGateway --&gt; RateLimit\r\nGateway --&gt; Catalog\r\nGateway --&gt; Order\r\n\r\nOrder --&gt; Payment\r\nOrder --&gt; Shipping\r\nOrder --&gt; Notify\r\n\r\nCatalog --&gt; ProdDB\r\nOrder --&gt; OrderDB\r\nAuth --&gt; UserDB\r\n\r\nPayment ..&gt; MQ : publier des \u00e9v\u00e9nements\r\nShipping ..&gt; MQ : s'abonner aux \u00e9v\u00e9nements\r\nNotify ..&gt; MQ : s'abonner aux \u00e9v\u00e9nements\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:bLJDRXCn6Bolv7SmuT1JUk38eMeQ58H48H0GXuh3jxjkygbUs_YdD48yq3x7lXYVVv9DGf3ANh8UZyVZyMIldGVhGoTPzS9lH2UuaO2ALUu1bG4B7Q-XULXR7LGxrr9R_dAHdaDAepkZbL1-vRTIS99xnIfMUVGqcYmbU76lBOct8d8xOHl1XrwAnbkjy4SGVCfdjjcW9oZOI7HPrO7oRXBL3Fc0DUdDTMWsISlOeNUqBNZKQi9_iOhJSxSWKIzKox-9-Zi75t_BrCmOYKtYyqxNA4KYtARNmla2jHGGuWQrjYs7jaE5pbiwHh29FuiGgtwVypLRlXkjBC4vOOMK2KzhtvBCJzZk30MANNcyBwwoF85b_Zrs6BUDRjgXhz4dncSIILEd9bR2Fc93wNL3xr7OqKgPINS07gHUXtpuUHwTeT5LWMepwwDjXVsROm2fDIgxMi8slf-oBiIJ6VeMz-TRRT0OL6UsLFeaYWyHsFuZwfY9LcheXTkVimPtDC4dDwU8iReDIBLAdcdmvkRPQqinKovP80Npdmh1eqIN-fH5lhfHuvwgIA61fmvxEkpYU4nQdN2ESiXBRp-LTAZbV3gz6WkMMtsCfUOUGwmghmdEtJj43hfs2EzhSmYMbh0glIHeNueH6kz_n7ONpQeYd1UNsnbv-xYZqOJiicDLsOfVNbvHBFmrDw6Mz2T8cG_zuz2hL5R7gfs5aUikeAOx8ZQ4fnDsDlSyBgkkwTj3ty0_\" \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:VLHBRzGm4BvRydyOblFsm953rNrGXDI5BIl40VNW9DEDrTWEVXH5YF_Es76UIFZa-RvlFC_apdbXVL0DPszyZGgXROJKdBaNgLjXXO92b2zNQuAk3gOn5jxUfpENb4QrHgFs5zyr2FJSEyuuyzAJjVcmFHYbq9O8vqRuPsCLRE4m-C3EbhNqMFfWSHFzMeeehkHvjkX88Rmq6Xv4XtO3lpa3EZ--Om7trcYFkde2uO20J9rC8IdmhcqJqPkPsrLAQZWALnT6sDupOPpzMSJUdJ-jGqRee_3uItJ9Bzy7Db03jPTbIhT_cA3CVYKjF4X5XTh4HI3Pwy3xuAH6v-22zbMMwAO43iABnbm79hsJiQpuOYkq2puXcJsBJiMEp_cCPSMbbcqhzJB406RDP-FbSovpeKj4jwxdI0ckEbaHL0YN9cogK7euxZSf6JAF-xMeBofBal6lvfkR9F4-A7u634IVgA4ncyTe9j7fCISQ5scxlPsccTTdWVLhiu0uozS4zwEU8xC1p-5nNdCm3ucpljG8ZNEPe6aE4pRqdBDXEP9pxkEa6ziM4qt8q2NEXhMukRcbji1xQ4FHI5S3lXBiE1ktObIuKBZIoW97JP_8_nIStT6tIZ-7lm00\" 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<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:VLHBRzGm4BvRydyOblFsm953rNrGXDI5BIl40VNW9DEDrTWEVXH5YF_Es76UIFZa-RvlFC_apdbXVL0DPszyZGgXROJKdBaNgLjXXO92b2zNQuAk3gOn5jxUfpENb4QrHgFs5zyr2FJSEyuuyzAJjVcmFHYbq9O8vqRuPsCLRE4m-C3EbhNqMFfWSHFzMeeehkHvjkX88Rmq6Xv4XtO3lpa3EZ--Om7trcYFkde2uO20J9rC8IdmhcqJqPkPsrLAQZWALnT6sDupOPpzMSJUdJ-jGqRee_3uItJ9Bzy7Db03jPTbIhT_cA3CVYKjF4X5XTh4HI3Pwy3xuAH6v-22zbMMwAO43iABnbm79hsJiQpuOYkq2puXcJsBJiMEp_cCPSMbbcqhzJB406RDP-FbSovpeKj4jwxdI0ckEbaHL0YN9cogK7euxZSf6JAF-xMeBofBal6lvfkR9F4-A7u634IVgA4ncyTe9j7fCISQ5scxlPsccTTdWVLhiu0uozS4zwEU8xC1p-5nNdCm3ucpljG8ZNEPe6aE4pRqdBDXEP9pxkEa6ziM4qt8q2NEXhMukRcbji1xQ4FHI5S3lXBiE1ktObIuKBZIoW97JP_8_nIStT6tIZ-7lm00\" 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><img alt=\"Diagramme de composants PlantUML\" decoding=\"async\" src=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e8451e511f.png\"\/><br \/>\n<em>Figure 3 : Diagramme de composants PlantUML montrant une architecture en couches<\/em><\/p>\n<h3>Tutoriel 2 : Diagramme de d\u00e9ploiement pour l&#8217;infrastructure cloud<\/h3>\n<p><strong>Code exemple :<\/strong><\/p>\n<h3>Tutoriel 3 : Mod\u00e8le C4 \u2013 Diagramme de conteneurs<\/h3>\n<p>Le mod\u00e8le C4 est excellent pour communiquer l&#8217;architecture logicielle \u00e0 plusieurs niveaux d&#8217;abstraction.<br \/>\n<strong>Code d&#8217;exemple :<\/strong><\/p>\n<p><img alt=\"Diagramme de conteneurs du mod\u00e8le C4 montrant l'architecture de d\u00e9ploiement cloud AWS avec des sous-r\u00e9seaux publics et priv\u00e9s, des serveurs web, des serveurs API et des composants de stockage.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8cec25f51.png\"\/><br \/>\n@startuml<br \/>\n!define AWS_COLOR FF9900<br \/>\n!define DOCKER_COLOR 0DB7ED<br \/>\nskinparam componentStyle uml2<br \/>\nskinparam backgroundColor #FAFAFA<br \/>\ntitle &#8220;Architecture de d\u00e9ploiement cloud&#8221;<br \/>\npackage &#8220;R\u00e9gion AWS : us-east-1&#8221; {<br \/>\npackage &#8220;Sous-r\u00e9seau public&#8221; {<br \/>\n[CloudFront CDN] as CDN<br \/>\n[\u00c9quilibreur de charge d&#8217;application] as ALB #AWS_COLOR<br \/>\n}<br \/>\npackage &#8220;Sous-r\u00e9seau priv\u00e9 1&#8221; {<br \/>\n[Serveur Web 1] as Web1 #DOCKER_COLOR<br \/>\n[Serveur Web 2] as Web2 #DOCKER_COLOR<br \/>\n}<br \/>\npackage &#8220;Sous-r\u00e9seau priv\u00e9 2&#8221; {<br \/>\n[Serveur API 1] as API1 #DOCKER_COLOR<br \/>\n[Serveur API 2] as API2 #DOCKER_COLOR<br \/>\n}<br \/>\npackage &#8220;Niveau de donn\u00e9es&#8221; {<br \/>\ndatabase &#8220;RDS Primaire&#8221; as RDS1 #AWS_COLOR<br \/>\ndatabase &#8220;RDS R\u00e9plique&#8221; as RDS2 #AWS_COLOR<br \/>\n[ElastiCache Redis] as Cache #AWS_COLOR<br \/>\n}<br \/>\npackage &#8220;Stockage&#8221; {<br \/>\n[Bac S3] as S3 #AWS_COLOR<br \/>\n[Stockage partag\u00e9 EFS] as EFS #AWS_COLOR<br \/>\n}<br \/>\n}<br \/>\nInternet \u2013&gt; CDN<br \/>\nCDN \u2013&gt; ALB<br \/>\nALB \u2013&gt; Web1<br \/>\nALB \u2013&gt; Web2<br \/>\nWeb1 \u2013&gt; API1<br \/>\nWeb1 \u2013&gt; API2<br \/>\nWeb2 \u2013&gt; API1<br \/>\nWeb2 \u2013&gt; API2<br \/>\nAPI1 \u2013&gt; RDS1<br \/>\nAPI2 \u2013&gt; RDS1<br \/>\nRDS1 -[dashed]&gt; RDS2<br \/>\nAPI1 \u2013&gt; Cache<br \/>\nAPI2 \u2013&gt; Cache<br \/>\nAPI1 \u2013&gt; S3<br \/>\nAPI2 \u2013&gt; S3<br \/>\nWeb1 \u2013&gt; EFS<br \/>\nWeb2 \u2013&gt; EFS<br \/>\n@enduml<\/p>\n<h3>Tutoriel 4 : Diagramme d&#8217;activit\u00e9 pour le flux de travail<\/h3>\n<p><strong>Code exemple :<\/strong><\/p>\n<p><img alt=\"Diagramme d'activit\u00e9 de flux de travail montrant les interactions client et syst\u00e8me pour une commande en ligne, y compris la validation, le paiement et les t\u00e2ches en arri\u00e8re-plan.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8d19bd807.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:XL9DJ-Gm3BrNwd-mE0r_eNFWengXMMa1RPVTSqXT6aqQLuupg8Bzx-ka349muEXd-_czbrn6CInfydNrsgOeD26_rbL1wwgvPdgE2FTCVR8IjmfTzJq8GQi3kTIMHLoX4Us1KeQLhLkYuAHSpH_ZNMy4omxi5Ir4hV4s-Op_9Z5U8JV0fhJXwcYSDuyUByv1HWomMJ2UrnL0ymiZyX5X7uuOX7ZHHVGgSXDedUX6UeQx9403T4BsiCsmUfjrClHkAFe-k6rsGP2X6zqyk_04Qf4n5f4TUhG2zsQPz1hyH1cf_somP13ZQUhDoMcdIpPtX-I_ccaPSm1tt2DlL_6g45eAW-F9YAC0kqcpM9iFSydn6-kdmpjcMbbx56F73-wRxFNzx8ctr1gPaPJDhudLrQpFvegKisjZ3qzCIJN-eCTu1Y_bx0q6v3Tbv2okQcz9tB30NyCuKeeP_PVvBbM6_hZ_\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Modifier PlantUML dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:XL9DJ-Gm3BrNwd-mE0r_eNFWengXMMa1RPVTSqXT6aqQLuupg8Bzx-ka349muEXd-_czbrn6CInfydNrsgOeD26_rbL1wwgvPdgE2FTCVR8IjmfTzJq8GQi3kTIMHLoX4Us1KeQLhLkYuAHSpH_ZNMy4omxi5Ir4hV4s-Op_9Z5U8JV0fhJXwcYSDuyUByv1HWomMJ2UrnL0ymiZyX5X7uuOX7ZHHVGgSXDedUX6UeQx9403T4BsiCsmUfjrClHkAFe-k6rsGP2X6zqyk_04Qf4n5f4TUhG2zsQPz1hyH1cf_somP13ZQUhDoMcdIpPtX-I_ccaPSm1tt2DlL_6g45eAW-F9YAC0kqcpM9iFSydn6-kdmpjcMbbx56F73-wRxFNzx8ctr1gPaPJDhudLrQpFvegKisjZ3qzCIJN-eCTu1Y_bx0q6v3Tbv2okQcz9tB30NyCuKeeP_PVvBbM6_hZ_\" 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:bLCnJXqn4ErNsZkCQFWKN60fuEiBKO5GGFJ3UbOCyjgMFVuA2Zb0RX6bOfKsNJfyiOnt0_e4cZIhyVZDc_Tcl2T9C4eURTiyRYoJayUsCMMwpT8stIN6tkV84Imb2D6Rp9BWIA_MzpuBHS0C0HrhT3GNfAHX-GuMeKVMKyqh-TL3al8qaj9tDsZPq4AgtRclWNb3j47RPpjZGBoWhTd4i5g_uZa5x_YsniS7WDR712kV-Q1j0BfFPL8bsygmpswhnf0ZBIpEErZfPq6kXu7xEmK-_uJoBMHEPOBdtnKAaCI7jXdO9PvjlCweEtKIPtOqaQfFGs1v6zMqqbSFLsMor0jxvnOZepSpB23Jg3GVZEPQwsL1xwAgyykNSonJJfhvmFL6xsgr3j-F8pf3YmrLk_KFUfCTqE68RAkEthk1uuXLub_SEOdQgWlK_Vx7xB8Ze1X9Q_un29eGxEzsfjYTVWvbClnUwRl-f1j0oJ9FTnVRB9jfcr1VqEnWxxhyK349oEcpYboU8Xq6YsuFlingpyhaoXINjWFsakFBV2wyy30BsgUws51-gVhcQ-rmGixe7_87\" \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\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n|Client|\r\nd\u00e9but\r\n:Parcourir les produits ;\r\n:Ajouter au panier ;\r\n:Passer \u00e0 la caisse ;\r\n\r\n|Syst\u00e8me|\r\n:Valider les articles du panier ;\r\n:Calculer le total ;\r\nsi (Articles disponibles ?) alors (oui)\r\n  :R\u00e9server l'inventaire ;\r\nsinon (non)\r\n  :Afficher \u00ab \u00c9puis\u00e9 \u00bb ;\r\n  stop\r\nfinsi\r\n\r\n|Client|\r\n:Entrer l'adresse de livraison ;\r\n:S\u00e9lectionner le mode de paiement ;\r\n\r\n|Syst\u00e8me|\r\n:Traiter le paiement ;\r\nsi (Paiement r\u00e9ussi ?) alors (oui)\r\n  :Cr\u00e9er la commande ;\r\n  :Envoyer un e-mail de confirmation ;\r\n  :Mettre \u00e0 jour l'inventaire ;\r\nsinon (non)\r\n  :Afficher une erreur de paiement ;\r\n  detach\r\nfinsi\r\n\r\n:Exp\u00e9dier la commande ;\r\n:Mettre \u00e0 jour le statut de la commande ;\nstop\r\n\r\npartition \"T\u00e2ches en arri\u00e8re-plan\" {\r\n  :G\u00e9n\u00e9rer la facture ;\r\n  :Notifier l'entrep\u00f4t ;\n}\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:bLCnJXqn4ErNsZkCQFWKN60fuEiBKO5GGFJ3UbOCyjgMFVuA2Zb0RX6bOfKsNJfyiOnt0_e4cZIhyVZDc_Tcl2T9C4eURTiyRYoJayUsCMMwpT8stIN6tkV84Imb2D6Rp9BWIA_MzpuBHS0C0HrhT3GNfAHX-GuMeKVMKyqh-TL3al8qaj9tDsZPq4AgtRclWNb3j47RPpjZGBoWhTd4i5g_uZa5x_YsniS7WDR712kV-Q1j0BfFPL8bsygmpswhnf0ZBIpEErZfPq6kXu7xEmK-_uJoBMHEPOBdtnKAaCI7jXdO9PvjlCweEtKIPtOqaQfFGs1v6zMqqbSFLsMor0jxvnOZepSpB23Jg3GVZEPQwsL1xwAgyykNSonJJfhvmFL6xsgr3j-F8pf3YmrLk_KFUfCTqE68RAkEthk1uuXLub_SEOdQgWlK_Vx7xB8Ze1X9Q_un29eGxEzsfjYTVWvbClnUwRl-f1j0oJ9FTnVRB9jfcr1VqEnWxxhyK349oEcpYboU8Xq6YsuFlingpyhaoXINjWFsakFBV2wyy30BsgUws51-gVhcQ-rmGixe7_87\" \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:XL9DJ-Gm3BrNwd-mE0r_eNFWengXMMa1RPVTSqXT6aqQLuupg8Bzx-ka349muEXd-_czbrn6CInfydNrsgOeD26_rbL1wwgvPdgE2FTCVR8IjmfTzJq8GQi3kTIMHLoX4Us1KeQLhLkYuAHSpH_ZNMy4omxi5Ir4hV4s-Op_9Z5U8JV0fhJXwcYSDuyUByv1HWomMJ2UrnL0ymiZyX5X7uuOX7ZHHVGgSXDedUX6UeQx9403T4BsiCsmUfjrClHkAFe-k6rsGP2X6zqyk_04Qf4n5f4TUhG2zsQPz1hyH1cf_somP13ZQUhDoMcdIpPtX-I_ccaPSm1tt2DlL_6g45eAW-F9YAC0kqcpM9iFSydn6-kdmpjcMbbx56F73-wRxFNzx8ctr1gPaPJDhudLrQpFvegKisjZ3qzCIJN-eCTu1Y_bx0q6v3Tbv2okQcz9tB30NyCuKeeP_PVvBbM6_hZ_\" 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<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:XL9DJ-Gm3BrNwd-mE0r_eNFWengXMMa1RPVTSqXT6aqQLuupg8Bzx-ka349muEXd-_czbrn6CInfydNrsgOeD26_rbL1wwgvPdgE2FTCVR8IjmfTzJq8GQi3kTIMHLoX4Us1KeQLhLkYuAHSpH_ZNMy4omxi5Ir4hV4s-Op_9Z5U8JV0fhJXwcYSDuyUByv1HWomMJ2UrnL0ymiZyX5X7uuOX7ZHHVGgSXDedUX6UeQx9403T4BsiCsmUfjrClHkAFe-k6rsGP2X6zqyk_04Qf4n5f4TUhG2zsQPz1hyH1cf_somP13ZQUhDoMcdIpPtX-I_ccaPSm1tt2DlL_6g45eAW-F9YAC0kqcpM9iFSydn6-kdmpjcMbbx56F73-wRxFNzx8ctr1gPaPJDhudLrQpFvegKisjZ3qzCIJN-eCTu1Y_bx0q6v3Tbv2okQcz9tB30NyCuKeeP_PVvBbM6_hZ_\" 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\/>\n<h2>5. Fondamentaux de Graphviz : Visualisation de r\u00e9seaux complexes {#graphviz-tutorial}<\/h2>\n<p>Graphviz (langage DOT) excelle dans la visualisation de relations complexes et de topologies de r\u00e9seaux o\u00f9 les algorithmes de mise en page sont d\u00e9terminants.<\/p>\n<h3>Tutoriel 1 : Diagramme de d\u00e9pendance des microservices<\/h3>\n<p><strong>Code d&#8217;exemple :<\/strong><\/p>\n<p><img alt=\"Diagramme de graphe de d\u00e9pendance de microservices montrant la passerelle API, le maillage de services et les services connect\u00e9s avec des bases de donn\u00e9es et des passerelles externes.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8d4a5db75.png\"\/><br \/>\n<em>Figure 4 : Visualisation Graphviz montrant les d\u00e9pendances et le flux de donn\u00e9es des microservices<\/em><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">DOT<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqVVU1vEzEQvSPxH6zlGlRoKaKqFqklFeohJSJwqnJw7HF2xMZe2U7bBfW\/11lnP2J7A+xhpZ15Ox\/Pbzwc15pWBZkh08qAfkAGZgoVSA6SIRjy5\/Ur4h5N5S+OOv9xfekNUnEg96agFeQr9TQhxtYl5JlWW\/cvnwgsS+DZhAglraQb57rSSMtsuQ8AfO0ChF6PN\/gb8vfvWqh\/n5yQu11SDgIlWlTSkEe0BWGqVNoMy9olb6x59gbOxKngXdrsan5LvlILj7TODpFCMM5Pe+TC80FmYIoIKi7Yhywq8IvSQFoe92F+um+yj5V1VWxd4aHxm+YJ6JzWG5A2st\/KB2dWuo48d8qiQEZ3HMWZJS1ri8yEnq6JKbV0RQ2Y+KRZXaI7Xu2OacAG+wQf2UVPXNPx9Droa2CYa8W3zA5NfVm9savo5smCdoCA2kiDB0d0BufiPOuEyakpel0uQ3ZbSbT2mw3FMiJvMVuM0vYdyoZxU2BlUmJ7+znQVFpoO1hSMzEsqaIYltZVjBtTWowc1V5K831Hw\/Melp5EHFY9aOQ4ZnwsEuB\/ny0Pj3UbRjgIG4oqOZjNH2m5jeMTQkxMthfJ6GSlGEmnvPdD5GdoebT3\/wjQjc5iu2r2kHG3vyZrt0MqlGvv3i+gdgnlxm2Ly96WHJXRK\/Z5mPhvkZNjc+xKPn4tu9zPL0KfHeo=\" 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 DOT dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">DOT<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqVVU1vEzEQvSPxH6zlGlRoKaKqFqklFeohJSJwqnJw7HF2xMZe2U7bBfW\/11lnP2J7A+xhpZ15Ox\/Pbzwc15pWBZkh08qAfkAGZgoVSA6SIRjy5\/Ur4h5N5S+OOv9xfekNUnEg96agFeQr9TQhxtYl5JlWW\/cvnwgsS+DZhAglraQb57rSSMtsuQ8AfO0ChF6PN\/gb8vfvWqh\/n5yQu11SDgIlWlTSkEe0BWGqVNoMy9olb6x59gbOxKngXdrsan5LvlILj7TODpFCMM5Pe+TC80FmYIoIKi7Yhywq8IvSQFoe92F+um+yj5V1VWxd4aHxm+YJ6JzWG5A2st\/KB2dWuo48d8qiQEZ3HMWZJS1ri8yEnq6JKbV0RQ2Y+KRZXaI7Xu2OacAG+wQf2UVPXNPx9Droa2CYa8W3zA5NfVm9savo5smCdoCA2kiDB0d0BufiPOuEyakpel0uQ3ZbSbT2mw3FMiJvMVuM0vYdyoZxU2BlUmJ7+znQVFpoO1hSMzEsqaIYltZVjBtTWowc1V5K831Hw\/Melp5EHFY9aOQ4ZnwsEuB\/ny0Pj3UbRjgIG4oqOZjNH2m5jeMTQkxMthfJ6GSlGEmnvPdD5GdoebT3\/wjQjc5iu2r2kHG3vyZrt0MqlGvv3i+gdgnlxm2Ly96WHJXRK\/Z5mPhvkZNjc+xKPn4tu9zPL0KfHeo=\" 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 DOT 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\">DOT<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqNVUtu2zAQ3QfoHQh16yBt0hQNDBWI4aLIwq1RN6vAC4YcWkRpUiAl12rgU\/QUOUfQe5WSrB9JGfFCgGfeDGfevCEp32icJmjBiVYG9I4TMHNIQVKQhINBT2\/OkP1pLH9RruOfs2ltkIoCejAJTiF+VPsJMlkhII60ym0snTAuBNBogpiSmcRb67rVHItofUwAdGMTuN4ab\/gfiN+\/W08rZPW5uEDzl2fGJc+4kgZRW5v89zenBuEdEERULiDXpldcWQJRQuk4egtX7JLR6Jgxul3eoa84g9+4iIZAxgilly1wVXOCFmASD8luyIfIKfIYYFCquWUwxfm+znRv6W28UVNGniWu7bumPnCJiy3IzDXfyZ21Kl24jm8q44wTXHLlHSqxKDJOjONoOphhAyW\/iCopX57BePMmheB2yNoOq8cH+QQfyU3LXNXvfDZsq\/u\/1IrmJOtZurpam0cq7DPQMlBSJcHBdK7gml1HrS4pNkkny7XDa6OFo\/nLFnPh8rZarEYY+wGiYtoExHX+2RFRUFglKiQQHxWSjI8KisiHjcjKB44JLSDtrpfeaPtFhwDDenstnISMyj+AffUG1WhPnW78IKkjn+D2VQFBYY3DfckFtreWxcjyhKgIn\/dQL0q9J+tTXb8+vt1flZvz6qUpL0aVayQAadjYxyKF8oAK+FR9m9cmNvZZmLam0HqM3aGH7vDTOUNrcuK+PXnnHs4O\/wGjZSfD\" \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 DOT in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-dot\"><code class=\"language-dot\" data-language=\"dot\" class=\"language-dot\">digraph MicroservicesDependencies {\r\n    rankdir=TB;\r\n    node [shape=box, style=\"rounded,filled\", fontname=\"Arial\"];\r\n    edge [fontname=\"Arial\", fontsize=10];\n    \n    \/\/ D\u00e9finitions des n\u0153uds avec couleurs\n    node [fillcolor=\"#e3f2fd\"];\n    \"API Gateway\" [fillcolor=\"#ffcdd2\"];\n    \"Service Mesh\" [fillcolor=\"#fff9c4\"];\n    \n    \/\/ Services principaux\n    \"User Service\";\n    \"Auth Service\";\n    \"Order Service\";\n    \"Payment Service\";\n    \"Inventory Service\";\n    \"Notification Service\";\n    \"Analytics Service\";\n    \n    \/\/ Bases de donn\u00e9es\n    node [shape=cylinder, fillcolor=\"#c8e6c9\"];\n    \"User DB\";\n    \"Order DB\";\n    \"Product DB\";\n    \"Analytics DB\";\n    \n    \/\/ Services externes\n    node [shape=box, fillcolor=\"#f3e5f5\", style=\"dashed,filled\"];\n    \"Payment Gateway\";\n    \"Email Service\";\n    \"SMS Service\";\n    \n    \/\/ Relations\n    \"API Gateway\" -&gt; \"Service Mesh\";\n    \"Service Mesh\" -&gt; \"User Service\";\n    \"Service Mesh\" -&gt; \"Auth Service\";\n    \"Service Mesh\" -&gt; \"Order Service\";\n    \"Service Mesh\" -&gt; \"Payment Service\";\n    \"Service Mesh\" -&gt; \"Inventory Service\";\n    \n    \"User Service\" -&gt; \"User DB\";\n    \"Auth Service\" -&gt; \"User DB\";\n    \"Order Service\" -&gt; \"Order DB\";\n    \"Order Service\" -&gt; \"Inventory Service\";\n    \"Order Service\" -&gt; \"Payment Service\";\n    \"Inventory Service\" -&gt; \"Product DB\";\n    \"Payment Service\" -&gt; \"Payment Gateway\";\n    \"Notification Service\" -&gt; \"Email Service\";\n    \"Notification Service\" -&gt; \"SMS Service\";\n    \"Analytics Service\" -&gt; \"Analytics DB\";\n    \n    \"Order Service\" -&gt; \"Notification Service\" [style=dashed];\n    \"Payment Service\" -&gt; \"Notification Service\" [style=dashed];\n    \n    \/\/ Sous-graphes pour le regroupement\n    {\n        rank=same;\n        \"User Service\";\n        \"Auth Service\";\n    }\n    \n    {\n        rank=same;\n        \"Order Service\";\n        \"Payment Service\";\n        \"Inventory Service\";\n    }\n}<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqNVUtu2zAQ3QfoHQh16yBt0hQNDBWI4aLIwq1RN6vAC4YcWkRpUiAl12rgU\/QUOUfQe5WSrB9JGfFCgGfeDGfevCEp32icJmjBiVYG9I4TMHNIQVKQhINBT2\/OkP1pLH9RruOfs2ltkIoCejAJTiF+VPsJMlkhII60ym0snTAuBNBogpiSmcRb67rVHItofUwAdGMTuN4ab\/gfiN+\/W08rZPW5uEDzl2fGJc+4kgZRW5v89zenBuEdEERULiDXpldcWQJRQuk4egtX7JLR6Jgxul3eoa84g9+4iIZAxgilly1wVXOCFmASD8luyIfIKfIYYFCquWUwxfm+znRv6W28UVNGniWu7bumPnCJiy3IzDXfyZ21Kl24jm8q44wTXHLlHSqxKDJOjONoOphhAyW\/iCopX57BePMmheB2yNoOq8cH+QQfyU3LXNXvfDZsq\/u\/1IrmJOtZurpam0cq7DPQMlBSJcHBdK7gml1HrS4pNkkny7XDa6OFo\/nLFnPh8rZarEYY+wGiYtoExHX+2RFRUFglKiQQHxWSjI8KisiHjcjKB44JLSDtrpfeaPtFhwDDenstnISMyj+AffUG1WhPnW78IKkjn+D2VQFBYY3DfckFtreWxcjyhKgIn\/dQL0q9J+tTXb8+vt1flZvz6qUpL0aVayQAadjYxyKF8oAK+FR9m9cmNvZZmLam0HqM3aGH7vDTOUNrcuK+PXnnHs4O\/wGjZSfD\" \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 DOT 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\/#graphviz:eNqVVU1vEzEQvSPxH6zlGlRoKaKqFqklFeohJSJwqnJw7HF2xMZe2U7bBfW\/11lnP2J7A+xhpZ15Ox\/Pbzwc15pWBZkh08qAfkAGZgoVSA6SIRjy5\/Ur4h5N5S+OOv9xfekNUnEg96agFeQr9TQhxtYl5JlWW\/cvnwgsS+DZhAglraQb57rSSMtsuQ8AfO0ChF6PN\/gb8vfvWqh\/n5yQu11SDgIlWlTSkEe0BWGqVNoMy9olb6x59gbOxKngXdrsan5LvlILj7TODpFCMM5Pe+TC80FmYIoIKi7Yhywq8IvSQFoe92F+um+yj5V1VWxd4aHxm+YJ6JzWG5A2st\/KB2dWuo48d8qiQEZ3HMWZJS1ri8yEnq6JKbV0RQ2Y+KRZXaI7Xu2OacAG+wQf2UVPXNPx9Droa2CYa8W3zA5NfVm9savo5smCdoCA2kiDB0d0BufiPOuEyakpel0uQ3ZbSbT2mw3FMiJvMVuM0vYdyoZxU2BlUmJ7+znQVFpoO1hSMzEsqaIYltZVjBtTWowc1V5K831Hw\/Melp5EHFY9aOQ4ZnwsEuB\/ny0Pj3UbRjgIG4oqOZjNH2m5jeMTQkxMthfJ6GSlGEmnvPdD5GdoebT3\/wjQjc5iu2r2kHG3vyZrt0MqlGvv3i+gdgnlxm2Ly96WHJXRK\/Z5mPhvkZNjc+xKPn4tu9zPL0KfHeo=\" 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 DOT dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqVVU1vEzEQvSPxH6zlGlRoKaKqFqklFeohJSJwqnJw7HF2xMZe2U7bBfW\/11lnP2J7A+xhpZ15Ox\/Pbzwc15pWBZkh08qAfkAGZgoVSA6SIRjy5\/Ur4h5N5S+OOv9xfekNUnEg96agFeQr9TQhxtYl5JlWW\/cvnwgsS+DZhAglraQb57rSSMtsuQ8AfO0ChF6PN\/gb8vfvWqh\/n5yQu11SDgIlWlTSkEe0BWGqVNoMy9olb6x59gbOxKngXdrsan5LvlILj7TODpFCMM5Pe+TC80FmYIoIKi7Yhywq8IvSQFoe92F+um+yj5V1VWxd4aHxm+YJ6JzWG5A2st\/KB2dWuo48d8qiQEZ3HMWZJS1ri8yEnq6JKbV0RQ2Y+KRZXaI7Xu2OacAG+wQf2UVPXNPx9Droa2CYa8W3zA5NfVm9savo5smCdoCA2kiDB0d0BufiPOuEyakpel0uQ3ZbSbT2mw3FMiJvMVuM0vYdyoZxU2BlUmJ7+znQVFpoO1hSMzEsqaIYltZVjBtTWowc1V5K831Hw\/Melp5EHFY9aOQ4ZnwsEuB\/ny0Pj3UbRjgIG4oqOZjNH2m5jeMTQkxMthfJ6GSlGEmnvPdD5GdoebT3\/wjQjc5iu2r2kHG3vyZrt0MqlGvv3i+gdgnlxm2Ly96WHJXRK\/Z5mPhvkZNjc+xKPn4tu9zPL0KfHeo=\" 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 DOT dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3>Tutoriel 2 : Hi\u00e9rarchie organisationnelle<\/h3>\n<p><strong>Code d&#8217;exemple :<\/strong><\/p>\n<p><img alt=\"Diagramme de hi\u00e9rarchie organisationnelle montrant le PDG John Smith, l'\u00e9quipe de direction, le VP Produit et le VP Ing\u00e9nierie dirigeant les \u00e9quipes Backend, Frontend, QA et DevOps.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8d92f09cf.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">DOT<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqVVtFu2jAUfZ+0f7Cyl02iK4UCrSomtbRomoZIV9Q9tFPlxDeJVWMjO9B2U\/99duMkTkg2MBIK1znH99x7bENoLPEqQXMZTxIsU\/Tn\/Tukh8T8kVA5XlycZQEuCKA7leAVjAPx3EEqfWEw9qRYcwKkE1HGgHgdFAmecrzUU1+BbSClIfZ+WRIgsSZpeqODsJTiSdHfMO5+HuWA7PvwEF09Q7hO6QYQgw2wLD65mqM7hgNgY08\/3\/NvIuHoZknTxCSiMwoFE3LsfTg6HQ1Jz2Zng08JTcHbWmly8L1cQa2DrD4hW6sU5APoPPIamWFXL9NbAF56Z+ULWZkIVgkQJ5wndtoNcXTqAsqnycKRt9DybrDECTIileA1hcc9PIgGhZw3\/NTBTzV+RsMEA0MXutK74OcOfq7xV0vKXtAl3lC1A9p30L5GGxxBPyn7b\/Kv9ebzmHIASXnc1hYeN3WlxG23JDNsQ0ugH\/Ui0tySW\/9Bkxa6bn03t5qo4XEwiIaVmjg5NCh4SLV3lKvD0WJ8pdykHHOJNK0oqS5lxgUOH4GTIvH8t2G95x+PegisDvWpJiMICERBRYYZU6l3kktZBCznyd6Ul7CZr1RBaH9ausHedNfnBZV+tDTDvWhem\/3oS0HWYdrixVU22+BHi9vDi1EU9aHb6kVL6PoxX6OqLYqC0TGpaPNnRwUu55lhjmOQ99xnOI2EXG7RhOFJt0bTa6eZiYAy2IWk305yzjF70ZeE+jdPvUk\/QGuggquErlR5Xxx8MefqWTUwrQfm9YA\/r9wT5mjW4ew4sDP2bNBhu7u24vkW2ZrIrL4Vvj6vLurni9oalYC8aHpa97Ul3muJ9+tX4OXbgYKY3idK35jS2FF3R8i3gmavGfuUUvU\/A+co6hT+HQ3Mp+iRMYtTh51R\/f2Wev0L4Dlwzw==\" 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 DOT dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">DOT<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqVVtFu2jAUfZ+0f7Cyl02iK4UCrSomtbRomoZIV9Q9tFPlxDeJVWMjO9B2U\/99duMkTkg2MBIK1znH99x7bENoLPEqQXMZTxIsU\/Tn\/Tukh8T8kVA5XlycZQEuCKA7leAVjAPx3EEqfWEw9qRYcwKkE1HGgHgdFAmecrzUU1+BbSClIfZ+WRIgsSZpeqODsJTiSdHfMO5+HuWA7PvwEF09Q7hO6QYQgw2wLD65mqM7hgNgY08\/3\/NvIuHoZknTxCSiMwoFE3LsfTg6HQ1Jz2Zng08JTcHbWmly8L1cQa2DrD4hW6sU5APoPPIamWFXL9NbAF56Z+ULWZkIVgkQJ5wndtoNcXTqAsqnycKRt9DybrDECTIileA1hcc9PIgGhZw3\/NTBTzV+RsMEA0MXutK74OcOfq7xV0vKXtAl3lC1A9p30L5GGxxBPyn7b\/Kv9ebzmHIASXnc1hYeN3WlxG23JDNsQ0ugH\/Ui0tySW\/9Bkxa6bn03t5qo4XEwiIaVmjg5NCh4SLV3lKvD0WJ8pdykHHOJNK0oqS5lxgUOH4GTIvH8t2G95x+PegisDvWpJiMICERBRYYZU6l3kktZBCznyd6Ul7CZr1RBaH9ausHedNfnBZV+tDTDvWhem\/3oS0HWYdrixVU22+BHi9vDi1EU9aHb6kVL6PoxX6OqLYqC0TGpaPNnRwUu55lhjmOQ99xnOI2EXG7RhOFJt0bTa6eZiYAy2IWk305yzjF70ZeE+jdPvUk\/QGuggquErlR5Xxx8MefqWTUwrQfm9YA\/r9wT5mjW4ew4sDP2bNBhu7u24vkW2ZrIrL4Vvj6vLurni9oalYC8aHpa97Ul3muJ9+tX4OXbgYKY3idK35jS2FF3R8i3gmavGfuUUvU\/A+co6hT+HQ3Mp+iRMYtTh51R\/f2Wev0L4Dlwzw==\" 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 DOT 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\">DOT<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqVVd1O2zAYvUfaO1jdTSeVUVraglAnlUK1TbCEgdgFmpATf24sXLs4ToEhHmCPwnP0xeb8tW6SjtaVqvjY3\/n+jm3CxgpPA+So8TDASqOXDzvIDIXFPWGqf31ynMyFJIBuwwBPoe\/JpwYK9TOHfk3JSBAgDco4B1JrICqFFnhilr4Cn4FmPq79TjmAjA1H1YYGwkrJx5D9gX7zcy\/bn\/zt7aEfbAY4QvA0f\/MjzWiCD88cdMuxB7xfM9\/iuwwEupowHcRBmGh8yaXq1z7uH\/W6pJVFloGPAdNQq3Yz3D2HGfAEDSMvLY\/Po1CDuoMn8NFLshaPzP\/870PEprCIcAa148WetFAEhwGQJZpHd9T0MT2yti8+htdWgteOuMIKByhOM5SikONBC3doJ08osR5Z1iNHXDA\/wMDRiSnzBtaOZe044mzC+DM6xTMWvm\/rWrauI2Irgn4x\/l7Yryvd+CbG8zfBQDFY0woxLnfCsiq1IJVouQXQpi1Kqlpw496dGS95NjeuHVUhl+6B16FduxBL9xWh32nAk9BKoCyn0ArJEpLU2s5ixVM8TrB\/D4Isos7FmeGivt9CLEsjUuGnQh6eR4B6dh7xGClzeKpY8wVRP9ye9RRmzjQscaawqHe2Z7wclNguB6Le3Y7ptUKPrpIkYrpai9N40ddlPWZWG2uRUtqG5hotupkXS485\/2pGlHq9A2Jn5F7sLw9lABSZ23ya2gqXYw1UqgmUaHz\/sLlK01pLcyE9xjehaK+lGAjMnzV7iP5Ps9qYn2DiZ1KEi2dh90t8eR6vzEeFuVOYu471GMRXrwHT45\/i2VVg0OwcFeH8IBTxVMxF9HJgu3Nzd1mHF7vzjptV08FquFUNt1cft3M2FhCiqWRCm8LO35JJpIxQY\/GZhkiVlHEnl8syVfPuW1dPYyHWXif+5V2JtWHVYVOj9laOXv8BhMmE1Q==\" \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 DOT in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-dot\"><code class=\"language-dot\" data-language=\"dot\" class=\"language-dot\">digraph OrgChart {\r\n    rankdir=TB;\n    node [shape=box, style=\"rounded,filled\", fontname=\"Helvetica\"];\n    edge [fontname=\"Helvetica\", arrowsize=0.7];\n    \n    \/\/ Niveau ex\u00e9cutif\n    CEO [label=\"CEOnJohn Smith\", fillcolor=\"#1976d2\", fontcolor=\"white\"];\n    \n    \/\/ Niveau C-Level\n    subgraph cluster_exec {\n        label=\"\u00c9quipe ex\u00e9cutive\";\n        style=dashed;\n        color=\"#90caf9\";\n        \n        CTO [label=\"CTOnSarah Johnson\", fillcolor=\"#42a5f5\"];\n        CFO [label=\"CFOnMichael Brown\", fillcolor=\"#42a5f5\"];\n        COO [label=\"COOnEmily Davis\", fillcolor=\"#42a5f5\"];\n        CPO [label=\"CPOnDavid Wilson\", fillcolor=\"#42a5f5\"];\n    }\n    \n    \/\/ Ing\u00e9nierie\n    subgraph cluster_eng {\n        label=\"Ing\u00e9nierie\";\n        style=filled;\n        color=\"#e3f2fd\";\n        \n        VP_Eng [label=\"VP Ing\u00e9nierie\", fillcolor=\"#64b5f6\"];\n        \n        subgraph cluster_eng_teams {\n            label=\"\u00c9quipes\";\n            style=dotted;\n            \n            Backend [label=\"\u00c9quipe Backendn(12 ing\u00e9nieurs)\", fillcolor=\"#bbdefb\"];\n            Frontend [label=\"\u00c9quipe Frontendn(8 ing\u00e9nieurs)\", fillcolor=\"#bbdefb\"];\n            DevOps [label=\"\u00c9quipe DevOpsn(5 ing\u00e9nieurs)\", fillcolor=\"#bbdefb\"];\n            QA [label=\"\u00c9quipe QAn(6 ing\u00e9nieurs)\", fillcolor=\"#bbdefb\"];\n        }\n    }\n    \n    \/\/ Produit\n    subgraph cluster_product {\n        label=\"Produit\";\n        style=filled;\n        color=\"#fff3e0\";\n        \n        VP_Product [label=\"VP Produit\", fillcolor=\"#ffb74d\"];\n        PM1 [label=\"Chef de produitnPlateforme\", fillcolor=\"#ffcc80\"];\n        PM2 [label=\"Chef de produitnMobile\", fillcolor=\"#ffcc80\"];\n        PM3 [label=\"Chef de produitnAnalytique\", fillcolor=\"#ffcc80\"];\n    }\n    \n    \/\/ Relations\n    CEO -&gt; CTO;\n    CEO -&gt; CFO;\n    CEO -&gt; COO;\n    CEO -&gt; CPO;\n    \n    CTO -&gt; VP_Eng;\n    VP_Eng -&gt; Backend;\n    VP_Eng -&gt; Frontend;\n    VP_Eng -&gt; DevOps;\n    VP_Eng -&gt; QA;\n    \n    CPO -&gt; VP_Product;\n    VP_Product -&gt; PM1;\n    VP_Product -&gt; PM2;\n    VP_Product -&gt; PM3;\n    \n    \/\/ Lignes pointill\u00e9es pour la collaboration\n    PM1 -&gt; Backend [style=dotted, color=\"#757575\"];\n    PM2 -&gt; Frontend [style=dotted, color=\"#757575\"];\n    PM3 -&gt; Backend [style=dotted, color=\"#757575\"];\n}<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqVVd1O2zAYvUfaO1jdTSeVUVraglAnlUK1TbCEgdgFmpATf24sXLs4ToEhHmCPwnP0xeb8tW6SjtaVqvjY3\/n+jm3CxgpPA+So8TDASqOXDzvIDIXFPWGqf31ynMyFJIBuwwBPoe\/JpwYK9TOHfk3JSBAgDco4B1JrICqFFnhilr4Cn4FmPq79TjmAjA1H1YYGwkrJx5D9gX7zcy\/bn\/zt7aEfbAY4QvA0f\/MjzWiCD88cdMuxB7xfM9\/iuwwEupowHcRBmGh8yaXq1z7uH\/W6pJVFloGPAdNQq3Yz3D2HGfAEDSMvLY\/Po1CDuoMn8NFLshaPzP\/870PEprCIcAa148WetFAEhwGQJZpHd9T0MT2yti8+htdWgteOuMIKByhOM5SikONBC3doJ08osR5Z1iNHXDA\/wMDRiSnzBtaOZe044mzC+DM6xTMWvm\/rWrauI2Irgn4x\/l7Yryvd+CbG8zfBQDFY0woxLnfCsiq1IJVouQXQpi1Kqlpw496dGS95NjeuHVUhl+6B16FduxBL9xWh32nAk9BKoCyn0ArJEpLU2s5ixVM8TrB\/D4Isos7FmeGivt9CLEsjUuGnQh6eR4B6dh7xGClzeKpY8wVRP9ye9RRmzjQscaawqHe2Z7wclNguB6Le3Y7ptUKPrpIkYrpai9N40ddlPWZWG2uRUtqG5hotupkXS485\/2pGlHq9A2Jn5F7sLw9lABSZ23ya2gqXYw1UqgmUaHz\/sLlK01pLcyE9xjehaK+lGAjMnzV7iP5Ps9qYn2DiZ1KEi2dh90t8eR6vzEeFuVOYu471GMRXrwHT45\/i2VVg0OwcFeH8IBTxVMxF9HJgu3Nzd1mHF7vzjptV08FquFUNt1cft3M2FhCiqWRCm8LO35JJpIxQY\/GZhkiVlHEnl8syVfPuW1dPYyHWXif+5V2JtWHVYVOj9laOXv8BhMmE1Q==\" \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 DOT 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\/#graphviz:eNqVVtFu2jAUfZ+0f7Cyl02iK4UCrSomtbRomoZIV9Q9tFPlxDeJVWMjO9B2U\/99duMkTkg2MBIK1znH99x7bENoLPEqQXMZTxIsU\/Tn\/Tukh8T8kVA5XlycZQEuCKA7leAVjAPx3EEqfWEw9qRYcwKkE1HGgHgdFAmecrzUU1+BbSClIfZ+WRIgsSZpeqODsJTiSdHfMO5+HuWA7PvwEF09Q7hO6QYQgw2wLD65mqM7hgNgY08\/3\/NvIuHoZknTxCSiMwoFE3LsfTg6HQ1Jz2Zng08JTcHbWmly8L1cQa2DrD4hW6sU5APoPPIamWFXL9NbAF56Z+ULWZkIVgkQJ5wndtoNcXTqAsqnycKRt9DybrDECTIileA1hcc9PIgGhZw3\/NTBTzV+RsMEA0MXutK74OcOfq7xV0vKXtAl3lC1A9p30L5GGxxBPyn7b\/Kv9ebzmHIASXnc1hYeN3WlxG23JDNsQ0ugH\/Ui0tySW\/9Bkxa6bn03t5qo4XEwiIaVmjg5NCh4SLV3lKvD0WJ8pdykHHOJNK0oqS5lxgUOH4GTIvH8t2G95x+PegisDvWpJiMICERBRYYZU6l3kktZBCznyd6Ul7CZr1RBaH9ausHedNfnBZV+tDTDvWhem\/3oS0HWYdrixVU22+BHi9vDi1EU9aHb6kVL6PoxX6OqLYqC0TGpaPNnRwUu55lhjmOQ99xnOI2EXG7RhOFJt0bTa6eZiYAy2IWk305yzjF70ZeE+jdPvUk\/QGuggquErlR5Xxx8MefqWTUwrQfm9YA\/r9wT5mjW4ew4sDP2bNBhu7u24vkW2ZrIrL4Vvj6vLurni9oalYC8aHpa97Ul3muJ9+tX4OXbgYKY3idK35jS2FF3R8i3gmavGfuUUvU\/A+co6hT+HQ3Mp+iRMYtTh51R\/f2Wev0L4Dlwzw==\" 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 DOT dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqVVtFu2jAUfZ+0f7Cyl02iK4UCrSomtbRomoZIV9Q9tFPlxDeJVWMjO9B2U\/99duMkTkg2MBIK1znH99x7bENoLPEqQXMZTxIsU\/Tn\/Tukh8T8kVA5XlycZQEuCKA7leAVjAPx3EEqfWEw9qRYcwKkE1HGgHgdFAmecrzUU1+BbSClIfZ+WRIgsSZpeqODsJTiSdHfMO5+HuWA7PvwEF09Q7hO6QYQgw2wLD65mqM7hgNgY08\/3\/NvIuHoZknTxCSiMwoFE3LsfTg6HQ1Jz2Zng08JTcHbWmly8L1cQa2DrD4hW6sU5APoPPIamWFXL9NbAF56Z+ULWZkIVgkQJ5wndtoNcXTqAsqnycKRt9DybrDECTIileA1hcc9PIgGhZw3\/NTBTzV+RsMEA0MXutK74OcOfq7xV0vKXtAl3lC1A9p30L5GGxxBPyn7b\/Kv9ebzmHIASXnc1hYeN3WlxG23JDNsQ0ugH\/Ui0tySW\/9Bkxa6bn03t5qo4XEwiIaVmjg5NCh4SLV3lKvD0WJ8pdykHHOJNK0oqS5lxgUOH4GTIvH8t2G95x+PegisDvWpJiMICERBRYYZU6l3kktZBCznyd6Ul7CZr1RBaH9ausHedNfnBZV+tDTDvWhem\/3oS0HWYdrixVU22+BHi9vDi1EU9aHb6kVL6PoxX6OqLYqC0TGpaPNnRwUu55lhjmOQ99xnOI2EXG7RhOFJt0bTa6eZiYAy2IWk305yzjF70ZeE+jdPvUk\/QGuggquErlR5Xxx8MefqWTUwrQfm9YA\/r9wT5mjW4ew4sDP2bNBhu7u24vkW2ZrIrL4Vvj6vLurni9oalYC8aHpa97Ul3muJ9+tX4OXbgYKY3idK35jS2FF3R8i3gmavGfuUUvU\/A+co6hT+HQ3Mp+iRMYtTh51R\/f2Wev0L4Dlwzw==\" 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 DOT dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3>Tutoriel 3 : Diagramme de flux de donn\u00e9es<\/h3>\n<p><strong>Code d&#8217;exemple :<\/strong><\/p>\n<p><img alt=\"Diagramme de flux de donn\u00e9es illustrant le flux de traitement des commandes reliant les syst\u00e8mes client, paiement, inventaire et facturation.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8da8555c4.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">DOT<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNp9VE2P0zAQvSPxH6xwZGEp\/RAVCtJuA6uVVlBtgcvCwbUnrVXXDrbb3YL479hx4zhOSw+V4nkzfvPmeShbKVytUYEN\/sTlI\/rz\/BmyP4XFhjKV392\/9wdCUtBQ5YPXb6IT9KDXuIIcOGeVhgukzYFDnpWMc6DZBSqlMAJv7dGVYphnP4\/JQFc2OY16vGa\/IZ82SP9\/eYk+PhlQAnMEwjDDQMc03IVEcqny7EVZErIktpjntpRPTa3ZThu5BYUeOF4Cz7PmIPD6DoLKNu4\/Q\/TaqhJi7oOJFVoctIFt1uM7V5KA1ud5kjHBMA08CVOEQ1NmPggXzTkmgL4oGvGcv23D\/h40x4etlaaFDAPkW0WxAXQr9hYg1aHFjALmBgSoI0oyAi1mHDCLNatSIpM2asVCn6VhJSPYMCn6mjibWY9I9R9V3sGETOPpDWlTp2hFqVloVFyHS4pWktBoJz7sjb0THsXpTgF0D0Qqqs+0UdrnohNfvfoQD67maKv82oGO5jJwsKiVhdMjldWDeiPsGdYDYzt4G6ACDGY8JW+BFt7xcZOQ8qxBp2vPpCiZ2naH7EtHrmvQix1xBk2ZDOsO2+IFEAVYA7J6kE1sY1d2lKh6pGCXTFJ2VJdt4Qu8P+HpGhV5txm5m+xJoskrqNzL70127JDJCgnoO\/edYCMGXxUm9T65FaVMKUwcuLe9OkrUw\/ghXqKm0Cnb6jVQxJkAbTetQpa+Cou0GCR93oDxrgxeavY7rQtFD6\/r+9kayAZd7W0OXjLOzOFc5jDJdFeGNmsh+ol\/\/wGp8e+9\" 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 DOT dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">DOT<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNp9VE2P0zAQvSPxH6xwZGEp\/RAVCtJuA6uVVlBtgcvCwbUnrVXXDrbb3YL479hx4zhOSw+V4nkzfvPmeShbKVytUYEN\/sTlI\/rz\/BmyP4XFhjKV392\/9wdCUtBQ5YPXb6IT9KDXuIIcOGeVhgukzYFDnpWMc6DZBSqlMAJv7dGVYphnP4\/JQFc2OY16vGa\/IZ82SP9\/eYk+PhlQAnMEwjDDQMc03IVEcqny7EVZErIktpjntpRPTa3ZThu5BYUeOF4Cz7PmIPD6DoLKNu4\/Q\/TaqhJi7oOJFVoctIFt1uM7V5KA1ud5kjHBMA08CVOEQ1NmPggXzTkmgL4oGvGcv23D\/h40x4etlaaFDAPkW0WxAXQr9hYg1aHFjALmBgSoI0oyAi1mHDCLNatSIpM2asVCn6VhJSPYMCn6mjibWY9I9R9V3sGETOPpDWlTp2hFqVloVFyHS4pWktBoJz7sjb0THsXpTgF0D0Qqqs+0UdrnohNfvfoQD67maKv82oGO5jJwsKiVhdMjldWDeiPsGdYDYzt4G6ACDGY8JW+BFt7xcZOQ8qxBp2vPpCiZ2naH7EtHrmvQix1xBk2ZDOsO2+IFEAVYA7J6kE1sY1d2lKh6pGCXTFJ2VJdt4Qu8P+HpGhV5txm5m+xJoskrqNzL70127JDJCgnoO\/edYCMGXxUm9T65FaVMKUwcuLe9OkrUw\/ghXqKm0Cnb6jVQxJkAbTetQpa+Cou0GCR93oDxrgxeavY7rQtFD6\/r+9kayAZd7W0OXjLOzOFc5jDJdFeGNmsh+ol\/\/wGp8e+9\" 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 DOT 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\">DOT<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqFVc1u1DAQviPxDtZy6IFC2e62okJBok2LkIqIKOql4uB1Jtuhjp3aTtkF8QC8BUeWM2+QF8Nx\/pykW\/aw2k2+mfnmm2\/sGJeKZtckpIaecfmVfH\/8iNiPouImRhWcf3zl\/gsZg4YsmD5\/0T0gV\/qaZhAA55hp2CXarDkEkwQ5h3iySxIpjKCpffRGIeWTz1UsxEsbO3xZwTV+g+CoBrqvvT1yKgyaYqMJrAwoAdqjUBZjkksVTJ4kCWMLZjNVvBZyVSc6ybWRKShyxekCeDA54QjCNIQuQcSye3kmcyVQa8hVgzi2erTvL9baFL9TIAsqGEUFkwHfSEkGWufbeLIDRuGo5clQMQ51jmja1omo5aBILoAwmaZUxG2laL9FfVIUrSqEA8koQur1Fc1a1HswRgEpfpEvtjvCd1DcWaTPPpq36LfFRhQbVRdPKDO5hztocaerrNjEWFanY46HHU7cyXWdTUiDCTJqUIqhcGGxyYq\/RhOrWCyF5bB11uwlHLIjf9azuM4WdhIeUw1+Mvtbt0R1Uz7cfyjgXrHC2X9qOIN1FeaeFgqWqO00ylG5ArXAeijHGc9XIylaLz977ZslBNdTCR8NYlpiPVU6CvcPrsJvNw\/U7fUDPE\/aOVq1uGtuaMrGvzait1VeA8MQh+tXOJEiQZU6F90XUhXwFiCqAUQVm1xr7NOZuY69BjBFkVdbZeVmN95KlXnnHpFKPKuiY2Tn1E89d6nn28QfLpeDe6sTekYcYH1CB2Mdd6DaTn\/RLM6iB+dd8dPgbW5n\/GCQx+mdSGStveOlc7wbCHpYhoyP3cHUGueJp+RilMMuwDku7WlPMon2BuDc6ZBVFtREwW1e\/DH1WoTTgQ4fFgYEVtDY86Nv+ObKiqm+hrg7DfqrdWmPQntkVfOKUWdS4AJ5eSVtyTAbZPC5YE+8vFmlUaIf\/wA7AGpD\" \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 DOT in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-dot\"><code class=\"language-dot\" data-language=\"dot\" class=\"language-dot\">digraph DataFlow {\r\n    rankdir=LR;\n    nodesep=1.0;\n    node [shape=ellipse, style=\"filled\", fontname=\"Arial\"];\n    edge [fontname=\"Arial\", fontsize=9];\n    \n    \/\/ Entit\u00e9s externes\n    node [fillcolor=\"#ffccbc\", shape=box];\n    Customer [label=\"Client\"];\n    Vendor [label=\"Fournisseur\"];\n    Bank [label=\"Syst\u00e8me bancaire\"];\n    \n    \/\/ Processus\n    node [fillcolor=\"#c5cae9\", shape=circle];\n    P1 [label=\"Passer une commande\"];\n    P2 [label=\"Traiter le paiement\"];\n    P3 [label=\"Mettre \u00e0 jour l'inventaire\"];\n    P4 [label=\"G\u00e9n\u00e9rer une facture\"];\n    P5 [label=\"Exp\u00e9dier la commande\"];\n    P6 [label=\"Envoyer une notification\"];\n    \n    \/\/ D\u00e9p\u00f4ts de donn\u00e9es\n    node [fillcolor=\"#c8e6c9\", shape=box3d];\n    D1 [label=\"Base de donn\u00e9es des commandes\"];\n    D2 [label=\"Base de donn\u00e9es de l'inventaire\"];\n    D3 [label=\"Base de donn\u00e9es des clients\"];\n    D4 [label=\"Enregistrements de factures\"];\n    \n    \/\/ Flux de donn\u00e9es\n    Customer -&gt; P1 [label=\"Demande de commande\"];\n    P1 -&gt; D1 [label=\"Enregistrer la commande\"];\n    P1 -&gt; D3 [label=\"Mettre \u00e0 jour le client\"];\n    P1 -&gt; P2 [label=\"D\u00e9tails de paiement\"];\n    \n    P2 -&gt; Bank [label=\"Demande de paiement\"];\n    Bank -&gt; P2 [label=\"Confirmation de paiement\"];\n    P2 -&gt; P3 [label=\"Paiement r\u00e9ussi\"];\n    \n    P3 -&gt; D2 [label=\"Diminuer le stock\"];\n    P3 -&gt; P4 [label=\"Commande confirm\u00e9e\"];\n    \n    P4 -&gt; D4 [label=\"Enregistrer la facture\"];\n    P4 -&gt; P6 [label=\"Donn\u00e9es de facture\"];\n    \n    P3 -&gt; P5 [label=\"Demande d'exp\u00e9dition\"];\n    P5 -&gt; Vendor [label=\"\u00c9tiquette d'exp\u00e9dition\"];\n    P5 -&gt; P6 [label=\"Informations de suivi\"];\n    \n    P6 -&gt; Customer [label=\"Confirmation de commanden+ Suivi\"];\n    \n    \/\/ Lignes pointill\u00e9es pour les requ\u00eates\n    D1 -&gt; P5 [label=\"Obtenir les d\u00e9tails de la commande\", style=dashed];\n    D2 -&gt; P1 [label=\"V\u00e9rifier la disponibilit\u00e9\", style=dashed];\n    D3 -&gt; P1 [label=\"Obtenir les informations du client\", style=dashed];\n}<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqFVc1u1DAQviPxDtZy6IFC2e62okJBok2LkIqIKOql4uB1Jtuhjp3aTtkF8QC8BUeWM2+QF8Nx\/pykW\/aw2k2+mfnmm2\/sGJeKZtckpIaecfmVfH\/8iNiPouImRhWcf3zl\/gsZg4YsmD5\/0T0gV\/qaZhAA55hp2CXarDkEkwQ5h3iySxIpjKCpffRGIeWTz1UsxEsbO3xZwTV+g+CoBrqvvT1yKgyaYqMJrAwoAdqjUBZjkksVTJ4kCWMLZjNVvBZyVSc6ybWRKShyxekCeDA54QjCNIQuQcSye3kmcyVQa8hVgzi2erTvL9baFL9TIAsqGEUFkwHfSEkGWufbeLIDRuGo5clQMQ51jmja1omo5aBILoAwmaZUxG2laL9FfVIUrSqEA8koQur1Fc1a1HswRgEpfpEvtjvCd1DcWaTPPpq36LfFRhQbVRdPKDO5hztocaerrNjEWFanY46HHU7cyXWdTUiDCTJqUIqhcGGxyYq\/RhOrWCyF5bB11uwlHLIjf9azuM4WdhIeUw1+Mvtbt0R1Uz7cfyjgXrHC2X9qOIN1FeaeFgqWqO00ylG5ArXAeijHGc9XIylaLz977ZslBNdTCR8NYlpiPVU6CvcPrsJvNw\/U7fUDPE\/aOVq1uGtuaMrGvzait1VeA8MQh+tXOJEiQZU6F90XUhXwFiCqAUQVm1xr7NOZuY69BjBFkVdbZeVmN95KlXnnHpFKPKuiY2Tn1E89d6nn28QfLpeDe6sTekYcYH1CB2Mdd6DaTn\/RLM6iB+dd8dPgbW5n\/GCQx+mdSGStveOlc7wbCHpYhoyP3cHUGueJp+RilMMuwDku7WlPMon2BuDc6ZBVFtREwW1e\/DH1WoTTgQ4fFgYEVtDY86Nv+ObKiqm+hrg7DfqrdWmPQntkVfOKUWdS4AJ5eSVtyTAbZPC5YE+8vFmlUaIf\/wA7AGpD\" \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 DOT 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\/#graphviz:eNp9VE2P0zAQvSPxH6xwZGEp\/RAVCtJuA6uVVlBtgcvCwbUnrVXXDrbb3YL479hx4zhOSw+V4nkzfvPmeShbKVytUYEN\/sTlI\/rz\/BmyP4XFhjKV392\/9wdCUtBQ5YPXb6IT9KDXuIIcOGeVhgukzYFDnpWMc6DZBSqlMAJv7dGVYphnP4\/JQFc2OY16vGa\/IZ82SP9\/eYk+PhlQAnMEwjDDQMc03IVEcqny7EVZErIktpjntpRPTa3ZThu5BYUeOF4Cz7PmIPD6DoLKNu4\/Q\/TaqhJi7oOJFVoctIFt1uM7V5KA1ud5kjHBMA08CVOEQ1NmPggXzTkmgL4oGvGcv23D\/h40x4etlaaFDAPkW0WxAXQr9hYg1aHFjALmBgSoI0oyAi1mHDCLNatSIpM2asVCn6VhJSPYMCn6mjibWY9I9R9V3sGETOPpDWlTp2hFqVloVFyHS4pWktBoJz7sjb0THsXpTgF0D0Qqqs+0UdrnohNfvfoQD67maKv82oGO5jJwsKiVhdMjldWDeiPsGdYDYzt4G6ACDGY8JW+BFt7xcZOQ8qxBp2vPpCiZ2naH7EtHrmvQix1xBk2ZDOsO2+IFEAVYA7J6kE1sY1d2lKh6pGCXTFJ2VJdt4Qu8P+HpGhV5txm5m+xJoskrqNzL70127JDJCgnoO\/edYCMGXxUm9T65FaVMKUwcuLe9OkrUw\/ghXqKm0Cnb6jVQxJkAbTetQpa+Cou0GCR93oDxrgxeavY7rQtFD6\/r+9kayAZd7W0OXjLOzOFc5jDJdFeGNmsh+ol\/\/wGp8e+9\" 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 DOT dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNp9VE2P0zAQvSPxH6xwZGEp\/RAVCtJuA6uVVlBtgcvCwbUnrVXXDrbb3YL479hx4zhOSw+V4nkzfvPmeShbKVytUYEN\/sTlI\/rz\/BmyP4XFhjKV392\/9wdCUtBQ5YPXb6IT9KDXuIIcOGeVhgukzYFDnpWMc6DZBSqlMAJv7dGVYphnP4\/JQFc2OY16vGa\/IZ82SP9\/eYk+PhlQAnMEwjDDQMc03IVEcqny7EVZErIktpjntpRPTa3ZThu5BYUeOF4Cz7PmIPD6DoLKNu4\/Q\/TaqhJi7oOJFVoctIFt1uM7V5KA1ud5kjHBMA08CVOEQ1NmPggXzTkmgL4oGvGcv23D\/h40x4etlaaFDAPkW0WxAXQr9hYg1aHFjALmBgSoI0oyAi1mHDCLNatSIpM2asVCn6VhJSPYMCn6mjibWY9I9R9V3sGETOPpDWlTp2hFqVloVFyHS4pWktBoJz7sjb0THsXpTgF0D0Qqqs+0UdrnohNfvfoQD67maKv82oGO5jJwsKiVhdMjldWDeiPsGdYDYzt4G6ACDGY8JW+BFt7xcZOQ8qxBp2vPpCiZ2naH7EtHrmvQix1xBk2ZDOsO2+IFEAVYA7J6kE1sY1d2lKh6pGCXTFJ2VJdt4Qu8P+HpGhV5txm5m+xJoskrqNzL70127JDJCgnoO\/edYCMGXxUm9T65FaVMKUwcuLe9OkrUw\/ghXqKm0Cnb6jVQxJkAbTetQpa+Cou0GCR93oDxrgxeavY7rQtFD6\/r+9kayAZd7W0OXjLOzOFc5jDJdFeGNmsh+ol\/\/wGp8e+9\" 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 DOT dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<hr\/>\n<h2>6. Mod\u00e8les d&#8217;impl\u00e9mentation en monde r\u00e9el {#implementation-patterns}<\/h2>\n<h3>Mod\u00e8le 1 : Documentation du pipeline CI\/CD<\/h3>\n<p><strong>Code d&#8217;exemple (Mermaid) :<\/strong><\/p>\n<p><img alt=\"Diagramme Mermaid illustrant un flux de travail de pipeline CI\/CD, du contr\u00f4le de version jusqu'\u00e0 l'int\u00e9gration continue, au d\u00e9ploiement et \u00e0 la surveillance.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8deb63fe2.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Sir\u00e8ne<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqFU9FKKzEQfb\/gP4T6qiBWUfogVCsqKJTW+xR8SJN0DcakJhNh\/\/7OZFbJeoVm2WTmnElmcma3S2r3Kh5XB38Ejlw2XQXWsSRt5YRXcRMDpOgnLxxG486BxPe+bMTK7mJ2EFPf8MuVXBbvkfwoNsPA2GDY+JHv5kFOKIkLJZYsHgJYJMDF0OZ8dAEkTS50DfyM58u\/wUG1csNcF+eNrLOYJ3BbpUf8Wqsg11aX5KCv3r46F6M6F3bnY\/9uA7RlLuynZEZAJK\/NCKqzDUv++Da3p7cS3\/\/uskzRNBvJLZoU2lPyUwzUGzkZDMw20jR2WeIk5l2XbKeaE2k8WUhOZzmsYqHy6yaqZJqYubcJsqwLni7WfQb7\/ntZ+MmI4+Mr\/DzYX66qS01lgKwK0f0ZIqtCtZGMcU8JpK4xRlaFUHJG0OAYUn0IIrOCKDJDpHatCSUdqkKL60J1fkCDEox+yUIEyzDqAfTe1itvnfezw+0JPUcZ\/6U3OzucTqdtXM3AgebMGqO+A08v1cXZ+ZGOPqbZxiv91u7jvF8pLs1Fs9Po6fl45z\/t1RpT\" 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 Mermaid dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Sir\u00e8ne<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqFU9FKKzEQfb\/gP4T6qiBWUfogVCsqKJTW+xR8SJN0DcakJhNh\/\/7OZFbJeoVm2WTmnElmcma3S2r3Kh5XB38Ejlw2XQXWsSRt5YRXcRMDpOgnLxxG486BxPe+bMTK7mJ2EFPf8MuVXBbvkfwoNsPA2GDY+JHv5kFOKIkLJZYsHgJYJMDF0OZ8dAEkTS50DfyM58u\/wUG1csNcF+eNrLOYJ3BbpUf8Wqsg11aX5KCv3r46F6M6F3bnY\/9uA7RlLuynZEZAJK\/NCKqzDUv++Da3p7cS3\/\/uskzRNBvJLZoU2lPyUwzUGzkZDMw20jR2WeIk5l2XbKeaE2k8WUhOZzmsYqHy6yaqZJqYubcJsqwLni7WfQb7\/ntZ+MmI4+Mr\/DzYX66qS01lgKwK0f0ZIqtCtZGMcU8JpK4xRlaFUHJG0OAYUn0IIrOCKDJDpHatCSUdqkKL60J1fkCDEox+yUIEyzDqAfTe1itvnfezw+0JPUcZ\/6U3OzucTqdtXM3AgebMGqO+A08v1cXZ+ZGOPqbZxiv91u7jvF8pLs1Fs9Po6fl45z\/t1RpT\" 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 Mermaid 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\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNU8tq4zAU3esrhLvopoGhaWnJopA2ZaaQQkm6E10osuKKKlKrRyB\/NNn3D\/xjc68UxzKEMg7YztGR7r3nHDeOf77T+YJQuLyNftQgor6ipEsbnZCserAmuPZbS1pL5ABYvaUNeP1Wgc3a\/Wf7HfD9T1z1ay8L9hK1pgsJ5\/mQF9bKpOepkg9PrHoyod0DFJQ1VEBtZWJZcK5MYHhTpunRVzif4Y1GowJXTvp+8T4qXbOpC2rNRfA4Bxzsg4sCq\/TEpeCGTQ3XO5+nbfciOgUN\/UfvM1ahENoquZEmdL0Xrc\/klg0oW+k8okUHgTfyBAnxwcCPl495XngpFHe2PrEb4XLWn+Z4tiCgdaxaRreVSmtuBobPbePZtHFgUvYIdNKA9YxnGZwSnr3ylZY8ImFlXQ1PTzftHhYxDj1\/qqULni13PrR\/NyD8OUdEnugVEkZHoztIFskBS\/8wDaTLRkJQGdLlIiEpA+SYhoSh3aTzPSHgBTk4lRloBzkakzAQnBwcyL2AuKQTP\/cDcgyRgySkkCfhefTCi7CD7wynXIPyk7P1L\/xdQFTth5ycjcfjgpZOz7z6StY1P\/Iub\/nN1fWFsNq6yUpz8VFsyzW7Arf1TbGxFuPr4cZ\/N8dDag==\" \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 Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">graph LR\n    sous-graphique Source[\"Contr\u00f4le de source\"]\n        Git[D\u00e9p\u00f4t GitHub]\n        PR[Pull Request]\n    fin\n    \n    sous-graphique CI[\"Int\u00e9gration continue\"]\n        Lint[Linting]\n        Test[Test unitaires]\n        Build[Artifacts de construction]\n        Scan[Analyse de s\u00e9curit\u00e9]\n    fin\n    \n    sous-graphique CD[\"D\u00e9ploiement continu\"]\n        Dev[D\u00e9ploiement vers Dev]\n        Stage[D\u00e9ploiement vers Staging]\n        E2E[Test E2E]\n        Prod[D\u00e9ploiement vers Production]\n    fin\n    \n    sous-graphique Monitor[\"Surveillance\"]\n        Logs[Agr\u00e9gation de logs]\n        Metrics[Tableau de bord des m\u00e9triques]\n        Alerts[Syst\u00e8me d'alerte]\n    fin\n    \n    Git --&gt; PR\n    PR --&gt; Lint\n    Lint --&gt; Test\n    Test --&gt; Build\n    Build --&gt; Scan\n    Scan --&gt; Dev\n    Dev --&gt; Stage\n    Stage --&gt; E2E\n    E2E --&gt; Prod\n    Prod --&gt; Logs\n    Prod --&gt; Metrics\n    Metrics --&gt; Alerts\n    \n    style Git fill:#f0f0f0,stroke:#333\n    style Prod fill:#d4edda,stroke:#28a745,color:black\n    style Alerts fill:#f8d7da,stroke:#dc3545,color:black\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqNU8tq4zAU3esrhLvopoGhaWnJopA2ZaaQQkm6E10osuKKKlKrRyB\/NNn3D\/xjc68UxzKEMg7YztGR7r3nHDeOf77T+YJQuLyNftQgor6ipEsbnZCserAmuPZbS1pL5ABYvaUNeP1Wgc3a\/Wf7HfD9T1z1ay8L9hK1pgsJ5\/mQF9bKpOepkg9PrHoyod0DFJQ1VEBtZWJZcK5MYHhTpunRVzif4Y1GowJXTvp+8T4qXbOpC2rNRfA4Bxzsg4sCq\/TEpeCGTQ3XO5+nbfciOgUN\/UfvM1ahENoquZEmdL0Xrc\/klg0oW+k8okUHgTfyBAnxwcCPl495XngpFHe2PrEb4XLWn+Z4tiCgdaxaRreVSmtuBobPbePZtHFgUvYIdNKA9YxnGZwSnr3ylZY8ImFlXQ1PTzftHhYxDj1\/qqULni13PrR\/NyD8OUdEnugVEkZHoztIFskBS\/8wDaTLRkJQGdLlIiEpA+SYhoSh3aTzPSHgBTk4lRloBzkakzAQnBwcyL2AuKQTP\/cDcgyRgySkkCfhefTCi7CD7wynXIPyk7P1L\/xdQFTth5ycjcfjgpZOz7z6StY1P\/Iub\/nN1fWFsNq6yUpz8VFsyzW7Arf1TbGxFuPr4cZ\/N8dDag==\" \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 Mermaid 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\/#mermaid:eNqFU9FKKzEQfb\/gP4T6qiBWUfogVCsqKJTW+xR8SJN0DcakJhNh\/\/7OZFbJeoVm2WTmnElmcma3S2r3Kh5XB38Ejlw2XQXWsSRt5YRXcRMDpOgnLxxG486BxPe+bMTK7mJ2EFPf8MuVXBbvkfwoNsPA2GDY+JHv5kFOKIkLJZYsHgJYJMDF0OZ8dAEkTS50DfyM58u\/wUG1csNcF+eNrLOYJ3BbpUf8Wqsg11aX5KCv3r46F6M6F3bnY\/9uA7RlLuynZEZAJK\/NCKqzDUv++Da3p7cS3\/\/uskzRNBvJLZoU2lPyUwzUGzkZDMw20jR2WeIk5l2XbKeaE2k8WUhOZzmsYqHy6yaqZJqYubcJsqwLni7WfQb7\/ntZ+MmI4+Mr\/DzYX66qS01lgKwK0f0ZIqtCtZGMcU8JpK4xRlaFUHJG0OAYUn0IIrOCKDJDpHatCSUdqkKL60J1fkCDEox+yUIEyzDqAfTe1itvnfezw+0JPUcZ\/6U3OzucTqdtXM3AgebMGqO+A08v1cXZ+ZGOPqbZxiv91u7jvF8pLs1Fs9Po6fl45z\/t1RpT\" 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 Mermaid dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqFU9FKKzEQfb\/gP4T6qiBWUfogVCsqKJTW+xR8SJN0DcakJhNh\/\/7OZFbJeoVm2WTmnElmcma3S2r3Kh5XB38Ejlw2XQXWsSRt5YRXcRMDpOgnLxxG486BxPe+bMTK7mJ2EFPf8MuVXBbvkfwoNsPA2GDY+JHv5kFOKIkLJZYsHgJYJMDF0OZ8dAEkTS50DfyM58u\/wUG1csNcF+eNrLOYJ3BbpUf8Wqsg11aX5KCv3r46F6M6F3bnY\/9uA7RlLuynZEZAJK\/NCKqzDUv++Da3p7cS3\/\/uskzRNBvJLZoU2lPyUwzUGzkZDMw20jR2WeIk5l2XbKeaE2k8WUhOZzmsYqHy6yaqZJqYubcJsqwLni7WfQb7\/ntZ+MmI4+Mr\/DzYX66qS01lgKwK0f0ZIqtCtZGMcU8JpK4xRlaFUHJG0OAYUn0IIrOCKDJDpHatCSUdqkKL60J1fkCDEox+yUIEyzDqAfTe1itvnfezw+0JPUcZ\/6U3OzucTqdtXM3AgebMGqO+A08v1cXZ+ZGOPqbZxiv91u7jvF8pLs1Fs9Po6fl45z\/t1RpT\" 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 Mermaid dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3>Mod\u00e8le 2 : Conception du sch\u00e9ma de base de donn\u00e9es<\/h3>\n<p><strong>Code exemple (PlantUML) :<\/strong><\/p>\n<p><img alt=\"Diagramme de relation d'entit\u00e9s PlantUML illustrant un sch\u00e9ma de base de donn\u00e9es e-commerce avec les tables Users, Orders, OrderItems, Products et Payments.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8e0682d4f.png\"\/><br \/>\n<em>Figure 5 : Diagramme entit\u00e9-relationship montrant le sch\u00e9ma de base de donn\u00e9es e-commerce<\/em><\/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:bLLTQzim57qt-3zex2M66j92NaefzRgOXJPTQDEnDwDAIYngIvuaqsP9__kkBDkn4sTGlmIT-w5pxprNkT46ArFccUzzeMp51KFBwDlzT2HmpWB4XE5cW-m1NLsXqVBiQnn7y0Ne-deVihWRlGVe7LmMTrqyRl6umdtF9N_MJEa0RNqFmGVH9G09fm6wHBE7fOF3qFso7FCC3B-YnziVqUFeOZ89dAN0Mhz9HPCKwtJGWoY63QC9Dc1UpkRJfsKqNpXRXhL9ChdcujW6NJ6b1dpwy3ptlOyzzOMIj2IcnxvmsAa2z6lP8JSPrzogfWwHfamJnGl3PSLi-hlELoXERCJtwUri7jsFpiTd5q73LvBNv4-9tRmw90ZKlvPg0-GQk5FDhRDorgkd4pDOq07py_6u7OW2nGnVzLFHWw5BYvow8nuMXOkXGF1uQ4OQd2KubwKmfzhK6si5fRmek5Wdc5B5j6uxVaXzPbZUeyy1-0_xmUhYas8Pcbqfk4bEJBqhIRp9eUrzIJhii_oQi9oPLD9Ueup2GcDYLUa6V2pSJxOUEa6WumFhMHLNFH9ejmj3kKLEFU1LP1Y2VAy6FcGOxhR8-LwY5vP9iTQ9aQs7JR2h4rGp13SYXS5SD6aSNANQeMR1mKsn5GD1L_UrSEsstnoRhpxyXLguw5qDt9lvMFQOq-HbOyiJ4ZIi-3erIAvS0ROjJqQ2314fOQLpfX0cn3Qric514IvDQbzbkDA-3x09sFSO66o-Dc_6LbLQHyJ6pg7UxWoXE08IiAOtRj9s3-3rWTPakf_q1Wxm9_4F\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Modifier PlantUML dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:bLLTQzim57qt-3zex2M66j92NaefzRgOXJPTQDEnDwDAIYngIvuaqsP9__kkBDkn4sTGlmIT-w5pxprNkT46ArFccUzzeMp51KFBwDlzT2HmpWB4XE5cW-m1NLsXqVBiQnn7y0Ne-deVihWRlGVe7LmMTrqyRl6umdtF9N_MJEa0RNqFmGVH9G09fm6wHBE7fOF3qFso7FCC3B-YnziVqUFeOZ89dAN0Mhz9HPCKwtJGWoY63QC9Dc1UpkRJfsKqNpXRXhL9ChdcujW6NJ6b1dpwy3ptlOyzzOMIj2IcnxvmsAa2z6lP8JSPrzogfWwHfamJnGl3PSLi-hlELoXERCJtwUri7jsFpiTd5q73LvBNv4-9tRmw90ZKlvPg0-GQk5FDhRDorgkd4pDOq07py_6u7OW2nGnVzLFHWw5BYvow8nuMXOkXGF1uQ4OQd2KubwKmfzhK6si5fRmek5Wdc5B5j6uxVaXzPbZUeyy1-0_xmUhYas8Pcbqfk4bEJBqhIRp9eUrzIJhii_oQi9oPLD9Ueup2GcDYLUa6V2pSJxOUEa6WumFhMHLNFH9ejmj3kKLEFU1LP1Y2VAy6FcGOxhR8-LwY5vP9iTQ9aQs7JR2h4rGp13SYXS5SD6aSNANQeMR1mKsn5GD1L_UrSEsstnoRhpxyXLguw5qDt9lvMFQOq-HbOyiJ4ZIi-3erIAvS0ROjJqQ2314fOQLpfX0cn3Qric514IvDQbzbkDA-3x09sFSO66o-Dc_6LbLQHyJ6pg7UxWoXE08IiAOtRj9s3-3rWTPakf_q1Wxm9_4F\" 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:bLJTRjem5BxFKtZQnOZKIBGIDrLLDME9XbewrD9fTv4RcyIgOsUsiy6W3yHpy68xZXCQIhWeDy7V-VlE-OvzemrMfYguzudG1HCKpSElTz50u8BwY0h3p6wBx0bTNQ71_Enp78Vmyz7rzJvaTZjO-cW97hFR3XpluTZ2dilyfAdIFbfx27uGMS4vOSH7bsXoFw_H8AW_jC2C0_mpV1X_3ny65wEHNnjAhFLVgKYIOvttEQIAOaD9WWrOvvDfz3WFfxFQnB4s2PSP4qSc68MfDC3H_TFKUsq9pvGaLMgwd4i7zTFMBrM7qsZeADKZxA5Ag4uLAmsJDQ7ebyjLAfPQ_s_HU38DxmRdmxCBls4fqvVaTuMjDgjE-HHQpgHQ0Qi6tRSmTYP6kqrq_7kwUCVtV3XiPwzWAtfg_53aK5XfWVxaSQ_iBe00hIDfZ3IO9xYGbJ0dfjBLhaPoLfPCP0acH56js-aU4fuOMdH9CpYVvDpNKNng6teKgWGpIR-oRzk6LmKC-63R7FGXMcrCGKqkINSkHc6XSMeNpgbuj98V6ZCqdy9qZoyRT5HVTRJP185S8xSVu59o315UStwLGR1P8-TwYPufboBJYP6jWmtVDE6rMk2LIc4m4qqIXzQ9DgYzhU2bw8B2ijfYUxJnUhiGDbjp-0TDCD6j2xHRFInnp4ZolF8y8M555SjoW-J2KOTPFDgBIH67dAaiIcE_dDbOC59J6uWKOhUrVxxWokJsVLqmg0zYUF1c8fkvoS_feaxlw42AI2YQCMqKjOJi2o5ILc8EJqXNLF34VsZgokssC2Tkoz5bkTiIzgxI3HK47l__\" \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\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\n!define TABLE(name) entit\u00e9 name &lt;&lt; (T,#FFAAAA) &gt;&gt;\n!define PK(x) x &lt;&lt;PK&gt;&gt;\n!define FK(x) x &lt;&lt;FK&gt;&gt;\n\nTABLE(Users) {\n    PK(user_id) : INT\n    --\n    email : VARCHAR(255)\n    password_hash : VARCHAR(255)\n    created_at : TIMESTAMP\n    last_login : TIMESTAMP\n    status : ENUM\n}\n\nTABLE(Products) {\n    PK(product_id) : INT\n    --\n    sku : VARCHAR(50)\n    name : VARCHAR(255)\n    description : TEXT\n    price : DECIMAL(10,2)\n    stock_quantity : INT\n    category_id : INT\n}\n\nTABLE(Categories) {\n    PK(category_id) : INT\n    --\n    name : VARCHAR(100)\n    parent_id : INT\n}\n\nTABLE(Orders) {\n    PK(order_id) : INT\n    --\n    FK(user_id) : INT\n    order_date : TIMESTAMP\n    total_amount : DECIMAL(10,2)\n    status : ENUM\n    shipping_address : TEXT\n}\n\nTABLE(OrderItems) {\n    PK(item_id) : INT\n    --\n    FK(order_id) : INT\n    FK(product_id) : INT\n    quantity : INT\n    unit_price : DECIMAL(10,2)\n}\n\nTABLE(Payments) {\n    PK(payment_id) : INT\n    --\n    FK(order_id) : INT\n    payment_method : ENUM\n    transaction_id : VARCHAR(255)\n    amount : DECIMAL(10,2)\n    status : ENUM\n    processed_at : TIMESTAMP\n}\n\nUsers ||--o{ Orders : places\nOrders }o--|{ Users : belongs_to\nOrders ||--|{ OrderItems : contains\nOrderItems }o--|| Products : references\nProducts }o--|| Categories : categorized_in\nOrders ||--o{ Payments : paid_by\n\nnote right of Users\n  Stocke les comptes clients\n  et les donn\u00e9es d'authentification\nfin note\n\nnote left of Orders\n  Enregistrement principal de transaction\n  avec les d\u00e9tails d'exp\u00e9dition\nfin note\n\n@enduml\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:bLJTRjem5BxFKtZQnOZKIBGIDrLLDME9XbewrD9fTv4RcyIgOsUsiy6W3yHpy68xZXCQIhWeDy7V-VlE-OvzemrMfYguzudG1HCKpSElTz50u8BwY0h3p6wBx0bTNQ71_Enp78Vmyz7rzJvaTZjO-cW97hFR3XpluTZ2dilyfAdIFbfx27uGMS4vOSH7bsXoFw_H8AW_jC2C0_mpV1X_3ny65wEHNnjAhFLVgKYIOvttEQIAOaD9WWrOvvDfz3WFfxFQnB4s2PSP4qSc68MfDC3H_TFKUsq9pvGaLMgwd4i7zTFMBrM7qsZeADKZxA5Ag4uLAmsJDQ7ebyjLAfPQ_s_HU38DxmRdmxCBls4fqvVaTuMjDgjE-HHQpgHQ0Qi6tRSmTYP6kqrq_7kwUCVtV3XiPwzWAtfg_53aK5XfWVxaSQ_iBe00hIDfZ3IO9xYGbJ0dfjBLhaPoLfPCP0acH56js-aU4fuOMdH9CpYVvDpNKNng6teKgWGpIR-oRzk6LmKC-63R7FGXMcrCGKqkINSkHc6XSMeNpgbuj98V6ZCqdy9qZoyRT5HVTRJP185S8xSVu59o315UStwLGR1P8-TwYPufboBJYP6jWmtVDE6rMk2LIc4m4qqIXzQ9DgYzhU2bw8B2ijfYUxJnUhiGDbjp-0TDCD6j2xHRFInnp4ZolF8y8M555SjoW-J2KOTPFDgBIH67dAaiIcE_dDbOC59J6uWKOhUrVxxWokJsVLqmg0zYUF1c8fkvoS_feaxlw42AI2YQCMqKjOJi2o5ILc8EJqXNLF34VsZgokssC2Tkoz5bkTiIzgxI3HK47l__\" \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:bLLTQzim57qt-3zex2M66j92NaefzRgOXJPTQDEnDwDAIYngIvuaqsP9__kkBDkn4sTGlmIT-w5pxprNkT46ArFccUzzeMp51KFBwDlzT2HmpWB4XE5cW-m1NLsXqVBiQnn7y0Ne-deVihWRlGVe7LmMTrqyRl6umdtF9N_MJEa0RNqFmGVH9G09fm6wHBE7fOF3qFso7FCC3B-YnziVqUFeOZ89dAN0Mhz9HPCKwtJGWoY63QC9Dc1UpkRJfsKqNpXRXhL9ChdcujW6NJ6b1dpwy3ptlOyzzOMIj2IcnxvmsAa2z6lP8JSPrzogfWwHfamJnGl3PSLi-hlELoXERCJtwUri7jsFpiTd5q73LvBNv4-9tRmw90ZKlvPg0-GQk5FDhRDorgkd4pDOq07py_6u7OW2nGnVzLFHWw5BYvow8nuMXOkXGF1uQ4OQd2KubwKmfzhK6si5fRmek5Wdc5B5j6uxVaXzPbZUeyy1-0_xmUhYas8Pcbqfk4bEJBqhIRp9eUrzIJhii_oQi9oPLD9Ueup2GcDYLUa6V2pSJxOUEa6WumFhMHLNFH9ejmj3kKLEFU1LP1Y2VAy6FcGOxhR8-LwY5vP9iTQ9aQs7JR2h4rGp13SYXS5SD6aSNANQeMR1mKsn5GD1L_UrSEsstnoRhpxyXLguw5qDt9lvMFQOq-HbOyiJ4ZIi-3erIAvS0ROjJqQ2314fOQLpfX0cn3Qric514IvDQbzbkDA-3x09sFSO66o-Dc_6LbLQHyJ6pg7UxWoXE08IiAOtRj9s3-3rWTPakf_q1Wxm9_4F\" 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<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:bLLTQzim57qt-3zex2M66j92NaefzRgOXJPTQDEnDwDAIYngIvuaqsP9__kkBDkn4sTGlmIT-w5pxprNkT46ArFccUzzeMp51KFBwDlzT2HmpWB4XE5cW-m1NLsXqVBiQnn7y0Ne-deVihWRlGVe7LmMTrqyRl6umdtF9N_MJEa0RNqFmGVH9G09fm6wHBE7fOF3qFso7FCC3B-YnziVqUFeOZ89dAN0Mhz9HPCKwtJGWoY63QC9Dc1UpkRJfsKqNpXRXhL9ChdcujW6NJ6b1dpwy3ptlOyzzOMIj2IcnxvmsAa2z6lP8JSPrzogfWwHfamJnGl3PSLi-hlELoXERCJtwUri7jsFpiTd5q73LvBNv4-9tRmw90ZKlvPg0-GQk5FDhRDorgkd4pDOq07py_6u7OW2nGnVzLFHWw5BYvow8nuMXOkXGF1uQ4OQd2KubwKmfzhK6si5fRmek5Wdc5B5j6uxVaXzPbZUeyy1-0_xmUhYas8Pcbqfk4bEJBqhIRp9eUrzIJhii_oQi9oPLD9Ueup2GcDYLUa6V2pSJxOUEa6WumFhMHLNFH9ejmj3kKLEFU1LP1Y2VAy6FcGOxhR8-LwY5vP9iTQ9aQs7JR2h4rGp13SYXS5SD6aSNANQeMR1mKsn5GD1L_UrSEsstnoRhpxyXLguw5qDt9lvMFQOq-HbOyiJ4ZIi-3erIAvS0ROjJqQ2314fOQLpfX0cn3Qric514IvDQbzbkDA-3x09sFSO66o-Dc_6LbLQHyJ6pg7UxWoXE08IiAOtRj9s3-3rWTPakf_q1Wxm9_4F\" 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>Mod\u00e8le 3 : Visualisation de l&#8217;Infrastructure as Code<\/h3>\n<p><strong>Code exemple (Mermaid) :<\/strong><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Sir\u00e8ne<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqVVV1vmzAUfZ+0\/2Cl0p6WtYnXNommSoSmWaQ06kI2pll9cMAhVhBGxizLv981UD4M6Tqjay6He8y5\/rgEksZ7tJm+f4egJek2yADLdUgPOmSHIvXRItpJmiiZeiqVrPecR+vmc8k8xUVUjqFb5ZUjrpg6CnngUUB6lV8fSrcfTzYBQ4OrT9l1ObgxIhZzlywixWTEFJpTxY70ZISsrA0BO\/O2+VTqe0q3IfdIL78jJ93CBxJTn27WckqsOIYomiW+FNRHUxrSyGOyI34KMwdxpLijryJRRhiL\/LeJlPw3JAUqc+c1mdVaxvGGMwnrWROtkS6WbjPbGRDo0IYmBzQ4HzWsoobno3AVhTuiWrm382+kc08VzfPR3quJrO8dAoaeYMYDyZxvyy9beXn3mIaK961f51jM5wmZhXq5bOrtWY68RXoDaDx0nAhHCUkDWMzCMbOAiXMwmqbeAVY4E24lCbjoA2wp75DGpqTZg0PAkLOnkvkv4z\/\/hyLmpZKrE0gqPFOTaz0QMLROQ2Z+3pmTFxqaS9HWt7AeCRhaiyb5X7IeRcQhl6x0VD5Mw1IEQUcRsV2SlS2XKm9vvPu5pieiC9vP\/rpVGpyVQ8DQSii+K05Kp9DSyfvvCWzHWeRnTvKM+v27vHA+SBEpUrnIvl8V49VAHQ6TmuN6djUAVSYHwMkAfSpbyLCF4LowzclewCkokWELwU3E5Ordb7IbGDYxY4QXUSW9BuAGYBBhNxvMOoKbiMG1XYNaA3ADyHtdKOpolk5HnO3mileNzybqFDL9+0I7HoaTi91YXx\/hnykObHKBMS78\/pH7aj8Zxn\/qRL2ABXE3Hl9dlUTPu6Xw6IlQyMlxzxWr07TmnDZkt3g7KmkD+tkfnaXpbVrwxtf0mt6UvNvdyBv5fwEtfO9m\" 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 Mermaid dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Sir\u00e8ne<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqVVV1vmzAUfZ+0\/2Cl0p6WtYnXNommSoSmWaQ06kI2pll9cMAhVhBGxizLv981UD4M6Tqjay6He8y5\/rgEksZ7tJm+f4egJek2yADLdUgPOmSHIvXRItpJmiiZeiqVrPecR+vmc8k8xUVUjqFb5ZUjrpg6CnngUUB6lV8fSrcfTzYBQ4OrT9l1ObgxIhZzlywixWTEFJpTxY70ZISsrA0BO\/O2+VTqe0q3IfdIL78jJ93CBxJTn27WckqsOIYomiW+FNRHUxrSyGOyI34KMwdxpLijryJRRhiL\/LeJlPw3JAUqc+c1mdVaxvGGMwnrWROtkS6WbjPbGRDo0IYmBzQ4HzWsoobno3AVhTuiWrm382+kc08VzfPR3quJrO8dAoaeYMYDyZxvyy9beXn3mIaK961f51jM5wmZhXq5bOrtWY68RXoDaDx0nAhHCUkDWMzCMbOAiXMwmqbeAVY4E24lCbjoA2wp75DGpqTZg0PAkLOnkvkv4z\/\/hyLmpZKrE0gqPFOTaz0QMLROQ2Z+3pmTFxqaS9HWt7AeCRhaiyb5X7IeRcQhl6x0VD5Mw1IEQUcRsV2SlS2XKm9vvPu5pieiC9vP\/rpVGpyVQ8DQSii+K05Kp9DSyfvvCWzHWeRnTvKM+v27vHA+SBEpUrnIvl8V49VAHQ6TmuN6djUAVSYHwMkAfSpbyLCF4LowzclewCkokWELwU3E5Ordb7IbGDYxY4QXUSW9BuAGYBBhNxvMOoKbiMG1XYNaA3ADyHtdKOpolk5HnO3mileNzybqFDL9+0I7HoaTi91YXx\/hnykObHKBMS78\/pH7aj8Zxn\/qRL2ABXE3Hl9dlUTPu6Xw6IlQyMlxzxWr07TmnDZkt3g7KmkD+tkfnaXpbVrwxtf0mt6UvNvdyBv5fwEtfO9m\" 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 Mermaid 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\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqVVc1y2jAQvvMUGnLopTQBNwkwncyA89PMJAzFpGSqyUGxhVHjsVz9kOR1eir3vIFfrCtjQBYwbeQBdj\/tt3xaaeVYkGyGxv0agiG5lo3YIOyXpqg3CXD9Op0KIpXQodKCojDhOjIz9YeCYkbEBA0V4+kqjxlrw0k6oOqZiyeWxrg+yheSEm2lMuP70MfwQc2jT8Vz2DypBlxfTfCQpwpdp4qKlKrq9KA3Xk6DUZ2pOI6uoX5MWIjrgYHFUtgLygpUOgrN6N30sT8jIqZaoAgKU9go+kCyDCjE1GOb1YdSwgT+mr8puvKqYVOW\/r9oweZE0S3VAIO9Q7W7w1k2ZlTg+oDNgYks7TvIZlz4QROP89\/hjBobNfeGteyw1t4wzw7ztsPccmyVZMeyzokilXVFPE3zBZV7FjU6DzB80JBLFQsafLv58igOz251olij92MPiUZM4ovE7KFPzAoK5N8rsH3b3tcxgeKCxGaTFQ+fwHJWASXs6\/CJKglmIbwH3TiViCokiZ7TmIiIOsIuLgO8yocyIhSJ84VBH96njYZaMPUK4vJFYeYLR96kd4lH+Z84odLYjvYrfCW4zqhpIblO4fR77xYyvJkEYL5P4C1PGdSvuG4CLeaUJQlJQ2qK85NrkZKEyV0H3p9g39x1E6LCWXXqfkReMVyB6L4BlrOgQYAHHMpftpE0yLbk1W\/xdSfhqN4pViiB60SaaejjB9RonKFCxaWACw1vTOSfD5ZZLcxEQ4VrZdULH66pWnldFb7pXxdouYC30WbiCxj6YwW0XMCrAA7PNIXDtCHPgarsUsqauvE926+S4BRXWRbgVYAqz59UaRvfs\/1aeWXYWKF\/K8ifLEUOrH+T6jWh5h0Hm5wk3YNpxzwf4Q3Ln2j3wPO80m48s0jNuq3sxeKZTSp5007n6GjNC8NTAm7IEy66zzOmqMUyYpesFj31HttrVpN8jtr7WOZYlrTOMTkmJ2va6bQdtqO\/MmAmMw==\" \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 Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">graph TB\n    sous-graphique AWS[\"Infrastructure cloud AWS\"]\n        direction TB\n        \n        sous-graphique Networking[\"R\u00e9seau\"]\n            VPC[VPC 10.0.0.0\/16]\n            IGW[Pont Internet]\n            NAT[Pont NAT]\n            \n            sous-graphique Public[\"Sous-r\u00e9seaux publics\"]\n                ALB[Chargeur de charge d'application]\n                Bastion[H\u00f4te Bastion]\n            fin\n            \n            sous-graphique Private[\"Sous-r\u00e9seaux priv\u00e9s\"]\n                sous-graphique AppTier[\"Niveau application\"]\n                    ECS1[T\u00e2che ECS 1]\n                    ECS2[T\u00e2che ECS 2]\n                    ECS3[T\u00e2che ECS 3]\n                fin\n                \n                sous-graphique DataTier[\"Niveau donn\u00e9es\"]\n                    RDS[RDS PostgreSQL&lt;br\/&gt;Multi-AZ]\n                    Redis[ElastiCache Redis]\n                fin\n            fin\n        fin\n        \n        sous-graphique Storage[\"Stockage\"]\n            S3[Buckets S3&lt;br\/&gt;Actifs et sauvegardes]\n            EFS[Stockage partag\u00e9 EFS]\n        fin\n        \n        sous-graphique Security[\"S\u00e9curit\u00e9\"]\n            WAF[R\u00e8gles WAF]\n            SG[Groupe de s\u00e9curit\u00e9]\n            IAM[R\u00f4les IAM]\n        fin\n        \n        sous-graphique Monitoring[\"Surveillance et journalisation\"]\n            CW[CloudWatch]\n            XRay[AWS X-Ray]\n            SNS[Notifications SNS]\n        fin\n    fin\n    \n    User[Utilisateurs finaux] --&gt; CloudFront[CloudFront CDN]\n    CloudFront --&gt; WAF\n    WAF --&gt; ALB\n    ALB --&gt; ECS1\n    ALB --&gt; ECS2\n    ALB --&gt; ECS3\n    \n    ECS1 --&gt; RDS\n    ECS2 --&gt; RDS\n    ECS3 --&gt; RDS\n    \n    ECS1 --&gt; Redis\n    ECS2 --&gt; Redis\n    ECS3 --&gt; Redis\n    \n    ECS1 --&gt; S3\n    ECS2 --&gt; S3\n    ECS3 --&gt; S3\n    \n    ECS1 --&gt; EFS\n    ECS2 --&gt; EFS\n    ECS3 --&gt; EFS\n    \n    ECS1 --&gt; CW\n    ECS2 --&gt; CW\n    ECS3 --&gt; CW\n    \n    RDS --&gt; CW\n    Redis --&gt; CW\n    \n    CW --&gt; SNS\n    \n    style VPC fill:#f9f9f9,stroke:#333,stroke-width:2px\n    style ALB fill:#ff9900,stroke:#cc7a00,color:white\n    style RDS fill:#2e73b8,stroke:#1a4d80,color:white\n    style User fill:#95a5a6,stroke:#7f8c8d\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqVVc1y2jAQvvMUGnLopTQBNwkwncyA89PMJAzFpGSqyUGxhVHjsVz9kOR1eir3vIFfrCtjQBYwbeQBdj\/tt3xaaeVYkGyGxv0agiG5lo3YIOyXpqg3CXD9Op0KIpXQodKCojDhOjIz9YeCYkbEBA0V4+kqjxlrw0k6oOqZiyeWxrg+yheSEm2lMuP70MfwQc2jT8Vz2DypBlxfTfCQpwpdp4qKlKrq9KA3Xk6DUZ2pOI6uoX5MWIjrgYHFUtgLygpUOgrN6N30sT8jIqZaoAgKU9go+kCyDCjE1GOb1YdSwgT+mr8puvKqYVOW\/r9oweZE0S3VAIO9Q7W7w1k2ZlTg+oDNgYks7TvIZlz4QROP89\/hjBobNfeGteyw1t4wzw7ztsPccmyVZMeyzokilXVFPE3zBZV7FjU6DzB80JBLFQsafLv58igOz251olij92MPiUZM4ovE7KFPzAoK5N8rsH3b3tcxgeKCxGaTFQ+fwHJWASXs6\/CJKglmIbwH3TiViCokiZ7TmIiIOsIuLgO8yocyIhSJ84VBH96njYZaMPUK4vJFYeYLR96kd4lH+Z84odLYjvYrfCW4zqhpIblO4fR77xYyvJkEYL5P4C1PGdSvuG4CLeaUJQlJQ2qK85NrkZKEyV0H3p9g39x1E6LCWXXqfkReMVyB6L4BlrOgQYAHHMpftpE0yLbk1W\/xdSfhqN4pViiB60SaaejjB9RonKFCxaWACw1vTOSfD5ZZLcxEQ4VrZdULH66pWnldFb7pXxdouYC30WbiCxj6YwW0XMCrAA7PNIXDtCHPgarsUsqauvE926+S4BRXWRbgVYAqz59UaRvfs\/1aeWXYWKF\/K8ifLEUOrH+T6jWh5h0Hm5wk3YNpxzwf4Q3Ln2j3wPO80m48s0jNuq3sxeKZTSp5007n6GjNC8NTAm7IEy66zzOmqMUyYpesFj31HttrVpN8jtr7WOZYlrTOMTkmJ2va6bQdtqO\/MmAmMw==\" \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 Mermaid 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\/#mermaid:eNqVVV1vmzAUfZ+0\/2Cl0p6WtYnXNommSoSmWaQ06kI2pll9cMAhVhBGxizLv981UD4M6Tqjay6He8y5\/rgEksZ7tJm+f4egJek2yADLdUgPOmSHIvXRItpJmiiZeiqVrPecR+vmc8k8xUVUjqFb5ZUjrpg6CnngUUB6lV8fSrcfTzYBQ4OrT9l1ObgxIhZzlywixWTEFJpTxY70ZISsrA0BO\/O2+VTqe0q3IfdIL78jJ93CBxJTn27WckqsOIYomiW+FNRHUxrSyGOyI34KMwdxpLijryJRRhiL\/LeJlPw3JAUqc+c1mdVaxvGGMwnrWROtkS6WbjPbGRDo0IYmBzQ4HzWsoobno3AVhTuiWrm382+kc08VzfPR3quJrO8dAoaeYMYDyZxvyy9beXn3mIaK961f51jM5wmZhXq5bOrtWY68RXoDaDx0nAhHCUkDWMzCMbOAiXMwmqbeAVY4E24lCbjoA2wp75DGpqTZg0PAkLOnkvkv4z\/\/hyLmpZKrE0gqPFOTaz0QMLROQ2Z+3pmTFxqaS9HWt7AeCRhaiyb5X7IeRcQhl6x0VD5Mw1IEQUcRsV2SlS2XKm9vvPu5pieiC9vP\/rpVGpyVQ8DQSii+K05Kp9DSyfvvCWzHWeRnTvKM+v27vHA+SBEpUrnIvl8V49VAHQ6TmuN6djUAVSYHwMkAfSpbyLCF4LowzclewCkokWELwU3E5Ordb7IbGDYxY4QXUSW9BuAGYBBhNxvMOoKbiMG1XYNaA3ADyHtdKOpolk5HnO3mileNzybqFDL9+0I7HoaTi91YXx\/hnykObHKBMS78\/pH7aj8Zxn\/qRL2ABXE3Hl9dlUTPu6Xw6IlQyMlxzxWr07TmnDZkt3g7KmkD+tkfnaXpbVrwxtf0mt6UvNvdyBv5fwEtfO9m\" 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 Mermaid dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNqVVV1vmzAUfZ+0\/2Cl0p6WtYnXNommSoSmWaQ06kI2pll9cMAhVhBGxizLv981UD4M6Tqjay6He8y5\/rgEksZ7tJm+f4egJek2yADLdUgPOmSHIvXRItpJmiiZeiqVrPecR+vmc8k8xUVUjqFb5ZUjrpg6CnngUUB6lV8fSrcfTzYBQ4OrT9l1ObgxIhZzlywixWTEFJpTxY70ZISsrA0BO\/O2+VTqe0q3IfdIL78jJ93CBxJTn27WckqsOIYomiW+FNRHUxrSyGOyI34KMwdxpLijryJRRhiL\/LeJlPw3JAUqc+c1mdVaxvGGMwnrWROtkS6WbjPbGRDo0IYmBzQ4HzWsoobno3AVhTuiWrm382+kc08VzfPR3quJrO8dAoaeYMYDyZxvyy9beXn3mIaK961f51jM5wmZhXq5bOrtWY68RXoDaDx0nAhHCUkDWMzCMbOAiXMwmqbeAVY4E24lCbjoA2wp75DGpqTZg0PAkLOnkvkv4z\/\/hyLmpZKrE0gqPFOTaz0QMLROQ2Z+3pmTFxqaS9HWt7AeCRhaiyb5X7IeRcQhl6x0VD5Mw1IEQUcRsV2SlS2XKm9vvPu5pieiC9vP\/rpVGpyVQ8DQSii+K05Kp9DSyfvvCWzHWeRnTvKM+v27vHA+SBEpUrnIvl8V49VAHQ6TmuN6djUAVSYHwMkAfSpbyLCF4LowzclewCkokWELwU3E5Ordb7IbGDYxY4QXUSW9BuAGYBBhNxvMOoKbiMG1XYNaA3ADyHtdKOpolk5HnO3mileNzybqFDL9+0I7HoaTi91YXx\/hnykObHKBMS78\/pH7aj8Zxn\/qRL2ABXE3Hl9dlUTPu6Xw6IlQyMlxzxWr07TmnDZkt3g7KmkD+tkfnaXpbVrwxtf0mt6UvNvdyBv5fwEtfO9m\" 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 Mermaid dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p><img alt=\"Architecture de l'infrastructure\" decoding=\"async\" src=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e8538cd989.png\"\/><br \/>\n<em>Figure 6 : Diagramme d&#8217;architecture de l&#8217;infrastructure cloud AWS<\/em><\/p>\n<hr\/>\n<h2>7. Techniques avanc\u00e9es : Style et personnalisation {#techniques-avancees}<\/h2>\n<h3>Style avanc\u00e9 Mermaid<\/h3>\n<p><strong>Personnalisation du th\u00e8me :<\/strong><\/p>\n<p><img alt=\"Organigramme d\u00e9montrant le style avanc\u00e9 de Mermaid avec des formes cod\u00e9es par couleur pour les \u00e9tats de d\u00e9part, de d\u00e9cision, de processus et d'arriv\u00e9e.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8e490dacf.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpdj11rgzAUhu8F\/0NAJDcWWrXaejFQYy7HYGVQpBfWHtcwa0oS2Ir636ez+LEEAud9njckplmziqkA1Vhd4QY4wOdMArbQMH9kgmXnEiTuFF1D3cJ3wW6ZeMS85KKLseHGId2usbXkB\/hRk1MUxX8h4uICYlKc3S5x4tEqWQUT9Lf9HqGEnFeXxSsojTdrfzQUCMUWQv8EXWvb1jR1Tdc+RXa\/ogMZ\/DB9V5lQJ7RavaCoJpAzyXjVDjTq4+YIskFx+iZ4DlKi8DSHr7xBZGTRk8V\/9yVpUl2eCRmSYRhOqR4loBAVrCwDw97sPepYUgn+BYGx2fsesa28\/0bwfWUK5qXkWaKu6zjeWCKOTW06L\/0CR6+G1w==\" 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 Mermaid dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Mermaid<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpdj11rgzAUhu8F\/0NAJDcWWrXaejFQYy7HYGVQpBfWHtcwa0oS2Ir636ez+LEEAud9njckplmziqkA1Vhd4QY4wOdMArbQMH9kgmXnEiTuFF1D3cJ3wW6ZeMS85KKLseHGId2usbXkB\/hRk1MUxX8h4uICYlKc3S5x4tEqWQUT9Lf9HqGEnFeXxSsojTdrfzQUCMUWQv8EXWvb1jR1Tdc+RXa\/ogMZ\/DB9V5lQJ7RavaCoJpAzyXjVDjTq4+YIskFx+iZ4DlKi8DSHr7xBZGTRk8V\/9yVpUl2eCRmSYRhOqR4loBAVrCwDw97sPepYUgn+BYGx2fsesa28\/0bwfWUK5qXkWaKu6zjeWCKOTW06L\/0CR6+G1w==\" 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 Mermaid 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\">Mermaid<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpdj91qgzAYhs8F7yEgkhMLVdvaejDwL4fbDspOpAdqP2eYNSVJ2Yr1gnYdu7HpFH+WQOB7n+cNia7XtKLSRTWWBVwAuzhNBGAD9fNbwmmSliBwq6gKahe+cnpJ+D1gJeNtjLVN4JHtGhtLfoQvOTl5nv8XfMbPwCfF3u8jOxitklYwQWfb7REKyFh1XryCkMBcO6MhgUu6ELonqErTNLquKqryzpNrgY5h73tx+POd3uQJrVZPyK\/bKaOCsqrpud\/lj5cbfaAgfuUsAyFuAnmnOX5m1QOFM+wPOPi7NYoJrYYk7JN+6E8h7yUgD+W0LF3NMg87YhtCcvYBrmYenF1oGVn3G\/ezoBLmpWgokc3GtndjKbQtYpF56RfIkYsL\" \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 Mermaid in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-mermaid\"><code class=\"language-mermaid\" data-language=\"mermaid\" class=\"language-mermaid\">%%{init: {'theme':'base', 'themeVariables': {\r\n    'primaryColor': '#4CAF50',\r\n    'primaryTextColor': '#fff',\r\n    'primaryBorderColor': '#388E3C',\r\n    'lineColor': '#757575',\r\n    'secondaryColor': '#FFC107',\r\n    'tertiaryColor': '#fff'\r\n}}}%%\r\n\r\ngraph TD\r\n    A[D\u00e9but] --&gt; B{D\u00e9cision}\r\n    B --&gt;|Oui| C[Processus A]\r\n    B --&gt;|Non| D[Processus B]\r\n    C --&gt; E[Fin]\r\n    D --&gt; E\r\n    \r\n    style A fill:#2196F3,stroke:#1976D2,color:white\r\n    style E fill:#F44336,stroke:#D32F2F,color:white\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpdj91qgzAYhs8F7yEgkhMLVdvaejDwL4fbDspOpAdqP2eYNSVJ2Yr1gnYdu7HpFH+WQOB7n+cNia7XtKLSRTWWBVwAuzhNBGAD9fNbwmmSliBwq6gKahe+cnpJ+D1gJeNtjLVN4JHtGhtLfoQvOTl5nv8XfMbPwCfF3u8jOxitklYwQWfb7REKyFh1XryCkMBcO6MhgUu6ELonqErTNLquKqryzpNrgY5h73tx+POd3uQJrVZPyK\/bKaOCsqrpud\/lj5cbfaAgfuUsAyFuAnmnOX5m1QOFM+wPOPi7NYoJrYYk7JN+6E8h7yUgD+W0LF3NMg87YhtCcvYBrmYenF1oGVn3G\/ezoBLmpWgokc3GtndjKbQtYpF56RfIkYsL\" \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 Mermaid 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\/#mermaid:eNpdj11rgzAUhu8F\/0NAJDcWWrXaejFQYy7HYGVQpBfWHtcwa0oS2Ir636ez+LEEAud9njckplmziqkA1Vhd4QY4wOdMArbQMH9kgmXnEiTuFF1D3cJ3wW6ZeMS85KKLseHGId2usbXkB\/hRk1MUxX8h4uICYlKc3S5x4tEqWQUT9Lf9HqGEnFeXxSsojTdrfzQUCMUWQv8EXWvb1jR1Tdc+RXa\/ogMZ\/DB9V5lQJ7RavaCoJpAzyXjVDjTq4+YIskFx+iZ4DlKi8DSHr7xBZGTRk8V\/9yVpUl2eCRmSYRhOqR4loBAVrCwDw97sPepYUgn+BYGx2fsesa28\/0bwfWUK5qXkWaKu6zjeWCKOTW06L\/0CR6+G1w==\" 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 Mermaid dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#mermaid:eNpdj11rgzAUhu8F\/0NAJDcWWrXaejFQYy7HYGVQpBfWHtcwa0oS2Ir636ez+LEEAud9njckplmziqkA1Vhd4QY4wOdMArbQMH9kgmXnEiTuFF1D3cJ3wW6ZeMS85KKLseHGId2usbXkB\/hRk1MUxX8h4uICYlKc3S5x4tEqWQUT9Lf9HqGEnFeXxSsojTdrfzQUCMUWQv8EXWvb1jR1Tdc+RXa\/ogMZ\/DB9V5lQJ7RavaCoJpAzyXjVDjTq4+YIskFx+iZ4DlKi8DSHr7xBZGTRk8V\/9yVpUl2eCRmSYRhOqR4loBAVrCwDw97sPepYUgn+BYGx2fsesa28\/0bwfWUK5qXkWaKu6zjeWCKOTW06L\/0CR6+G1w==\" 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 Mermaid dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3>Param\u00e8tres de peau PlantUML<\/h3>\n<p><strong>Style professionnel :<\/strong><\/p>\n<p><img alt=\"Flux de l'application React Frontend et du magasin Redux vers l'API Backend Node.js, le serveur Express et MongoDB, d\u00e9montrant la gestion centralis\u00e9e de l'\u00e9tat.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8e5b529f3.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:TPEnRjj038Pt0Ne78XqwfR2Yrh6N8euj5HqQ1FKOPA0bMbOZ7G-ySvEqwBkNikJOLkJRo9_7xpzIkd4UnM_hAWm-mhUALrY1ywzLQOemS4-biIXOmmgpfq9uQ_8vLopm8TsTunAtmPoVzHwiiN9qBEqkPYo61ABHiQ8Syg-MWCLlE0mQ5tEkBHioViX8zYR-3GFGSzjtbiJfLRheH9QSf1EYwVLuSTKACn5-xkN_jVXxROW53S5j9vr3wqJYP3I0JhzSpqUTaBBno_8FGVJvZNd7VX1eclnPMfHEaka0RJoPfl7aGElISJoUHad7t3_b8XMj89DVx3c72J_y9CmypAnz793oxGiiFGizzbisJizqlEESFlroCBl__hvdycA5d8CboM-IJi_HumeTmSCFDWKlRlUu8tTmUVcrR-aaR0jEuITXM_3EG3_JbXsCXC5kGr8M6m-yxdi0cEl312jTTwxxHQsjqUYGQiqt-beNupS46fP2WDPMPOQ-P1C6EiBT1z1WRZJGd_G_\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Modifier PlantUML dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:TPEnRjj038Pt0Ne78XqwfR2Yrh6N8euj5HqQ1FKOPA0bMbOZ7G-ySvEqwBkNikJOLkJRo9_7xpzIkd4UnM_hAWm-mhUALrY1ywzLQOemS4-biIXOmmgpfq9uQ_8vLopm8TsTunAtmPoVzHwiiN9qBEqkPYo61ABHiQ8Syg-MWCLlE0mQ5tEkBHioViX8zYR-3GFGSzjtbiJfLRheH9QSf1EYwVLuSTKACn5-xkN_jVXxROW53S5j9vr3wqJYP3I0JhzSpqUTaBBno_8FGVJvZNd7VX1eclnPMfHEaka0RJoPfl7aGElISJoUHad7t3_b8XMj89DVx3c72J_y9CmypAnz793oxGiiFGizzbisJizqlEESFlroCBl__hvdycA5d8CboM-IJi_HumeTmSCFDWKlRlUu8tTmUVcrR-aaR0jEuITXM_3EG3_JbXsCXC5kGr8M6m-yxdi0cEl312jTTwxxHQsjqUYGQiqt-beNupS46fP2WDPMPOQ-P1C6EiBT1z1WRZJGd_G_\" 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:TPFFKjj03CRldl4xQEY14vqOjo6vTFWJc-50fqEE30V55exBPhLermNQwGFn7BmOQySPnqwoDqdVwlT9QvzRX-AgbGg3OvYxDqLGA5wWZ-rJgGqAhc21sLCXNEdyYXKBV4cRiosnIypvfTG5FAAoj5rgBcOicWIYqNP5bPhSco5WSKiEWyv3JXOoNXcsg9tTljDaDMa7_y80_BaScalYz3ITjKMMdAGjHDEpyUnqNRWGuPT1_l_GWS7dYlfuusbOq46uNqkSZFR0q-zdLwEsaB9sy_8lGVHj3rMpenwpJXm6HkaacUu1ZYVJD9vqm3OTn-DfbBJOpJH7gNW5wVnem-dMV7zXZ2epT2Lhk2FCtCEEv8xowjMFm48FmzQruqETVzt0Jyxfws-xstDEyeSgWUJL2DcD84U72xG4zxUi2vvTRdXxRCB9oO-Xjrwu5lHTzCArODV9Jcejx2o5GVDeKXPB1_muT05mJRPnclbP1LLfFzxhrmTr_F7kqDKImnxWk79r5hlfmi2li_aeQiwv3_pl-ma0\" \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\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n' Style global\r\nskinparam backgroundColor #FFFFFF\r\nskinparam shadowing false\r\nskinparam roundcorner 10\r\nskinparam linetype ortho\r\n\r\n' Style des composants\r\nskinparam component {\r\n    BackgroundColor #E3F2FD\r\n    BorderColor #1976D2\r\n    ArrowColor #1976D2\r\n}\r\n\r\n' Style des paquets\r\nskinparam package {\r\n    BackgroundColor #FFF3E0\r\n    BorderColor #F57C00\r\n    FontSize 14\r\n}\r\n\r\n' Style des notes\r\nskinparam note {\r\n    BackgroundColor #F1F8E9\r\n    BorderColor #689F38\r\n    FontColor #33691E\r\n}\r\n\r\npackage \"Frontend\" {\r\n    component [Application React]\r\n    component [Redux Store]\r\n}\r\n\r\npackage \"Backend\" {\r\n    component [API Node.js]\r\n    component [Serveur Express]\r\n    database [MongoDB]\r\n}\r\n\r\n[Application React] --&gt; [Redux Store]\r\n[Redux Store] --&gt; [API Node.js]\r\n[API Node.js] --&gt; [Serveur Express]\r\n[Serveur Express] --&gt; [MongoDB]\r\n\r\nnote right of [Redux Store]\r\n  Gestion centralis\u00e9e de l'\u00e9tat\r\n  pour toute l'application\r\nend note\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:TPFFKjj03CRldl4xQEY14vqOjo6vTFWJc-50fqEE30V55exBPhLermNQwGFn7BmOQySPnqwoDqdVwlT9QvzRX-AgbGg3OvYxDqLGA5wWZ-rJgGqAhc21sLCXNEdyYXKBV4cRiosnIypvfTG5FAAoj5rgBcOicWIYqNP5bPhSco5WSKiEWyv3JXOoNXcsg9tTljDaDMa7_y80_BaScalYz3ITjKMMdAGjHDEpyUnqNRWGuPT1_l_GWS7dYlfuusbOq46uNqkSZFR0q-zdLwEsaB9sy_8lGVHj3rMpenwpJXm6HkaacUu1ZYVJD9vqm3OTn-DfbBJOpJH7gNW5wVnem-dMV7zXZ2epT2Lhk2FCtCEEv8xowjMFm48FmzQruqETVzt0Jyxfws-xstDEyeSgWUJL2DcD84U72xG4zxUi2vvTRdXxRCB9oO-Xjrwu5lHTzCArODV9Jcejx2o5GVDeKXPB1_muT05mJRPnclbP1LLfFzxhrmTr_F7kqDKImnxWk79r5hlfmi2li_aeQiwv3_pl-ma0\" \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:TPEnRjj038Pt0Ne78XqwfR2Yrh6N8euj5HqQ1FKOPA0bMbOZ7G-ySvEqwBkNikJOLkJRo9_7xpzIkd4UnM_hAWm-mhUALrY1ywzLQOemS4-biIXOmmgpfq9uQ_8vLopm8TsTunAtmPoVzHwiiN9qBEqkPYo61ABHiQ8Syg-MWCLlE0mQ5tEkBHioViX8zYR-3GFGSzjtbiJfLRheH9QSf1EYwVLuSTKACn5-xkN_jVXxROW53S5j9vr3wqJYP3I0JhzSpqUTaBBno_8FGVJvZNd7VX1eclnPMfHEaka0RJoPfl7aGElISJoUHad7t3_b8XMj89DVx3c72J_y9CmypAnz793oxGiiFGizzbisJizqlEESFlroCBl__hvdycA5d8CboM-IJi_HumeTmSCFDWKlRlUu8tTmUVcrR-aaR0jEuITXM_3EG3_JbXsCXC5kGr8M6m-yxdi0cEl312jTTwxxHQsjqUYGQiqt-beNupS46fP2WDPMPOQ-P1C6EiBT1z1WRZJGd_G_\" 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<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:TPEnRjj038Pt0Ne78XqwfR2Yrh6N8euj5HqQ1FKOPA0bMbOZ7G-ySvEqwBkNikJOLkJRo9_7xpzIkd4UnM_hAWm-mhUALrY1ywzLQOemS4-biIXOmmgpfq9uQ_8vLopm8TsTunAtmPoVzHwiiN9qBEqkPYo61ABHiQ8Syg-MWCLlE0mQ5tEkBHioViX8zYR-3GFGSzjtbiJfLRheH9QSf1EYwVLuSTKACn5-xkN_jVXxROW53S5j9vr3wqJYP3I0JhzSpqUTaBBno_8FGVJvZNd7VX1eclnPMfHEaka0RJoPfl7aGElISJoUHad7t3_b8XMj89DVx3c72J_y9CmypAnz793oxGiiFGizzbisJizqlEESFlroCBl__hvdycA5d8CboM-IJi_HumeTmSCFDWKlRlUu8tTmUVcrR-aaR0jEuITXM_3EG3_JbXsCXC5kGr8M6m-yxdi0cEl312jTTwxxHQsjqUYGQiqt-beNupS46fP2WDPMPOQ-P1C6EiBT1z1WRZJGd_G_\" 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>Attributs avanc\u00e9s Graphviz<\/h3>\n<p><strong>Diagramme de r\u00e9seau professionnel :<\/strong><\/p>\n<p><img alt=\"Diagramme d'architecture de syst\u00e8me d'entreprise montrant les couches Pr\u00e9sentation, Logique m\u00e9tier et Donn\u00e9es avec les composants Flutter, React, Node.js et PostgreSQL.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8e7dbd492.png\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">DOT<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqtVmtv2jAU\/T5p\/yHKvnbl1QRQl0q0Zd2kbmOlUj901eTYN+DV2JHtFLGq\/312HuQBdIu0IEF8rjn3+tyTC4QuJIqXzoQ8IY6BzPWGUb5wnt++cczV6ThXTISIOdk2pLWkYaJBZfEMvc8W9goXWDAhA\/ddNIrGEXLLUCS45mgFgfsJ2BNoiptRRX9D0PNLkKEQWOBOuQYZS6rAmW+UhpUzkXhJNWCdSPjBZ1KQBGsquDPlT1QKvgKu3QYPEzhwq2iMSNA99kpAIv6oIA56VZALAhnYzcCH0+xzq9AlRChhOt25o1AK3rdXoVeCyvTE7I8oY0COpEg4AVI9B\/A1JXoZ9P9SIJDFboEp2L7A8Z78Nd2QlGKdbu0ejw4U9tWKg1lieiqVs6Z66WCzEKv0zMaH2U6VhJnR8q0\/Y2lawjVKW\/6845dZNXyNNiDd06acmZoVuPAtDKJ+RKpfsGcuoj3P93C3Gi3v7iB07vMS7P0kjplRz1bxIZSdsxtAWDu9kXvk2OwFpX8SepFvwTLP2rrbfaik+SJCymDLny9NipT6I0u0EaY180u1ITsyh4miHJTaI\/F5EboWC4pbixxF0QC6h0QG3+t1D4g8mX3einAznd9aIJXAeun4l2pIEEXh8ITUJQgZwo81ca\/ssb9fb4mL9RXSsEab1pyvy0qQRnskvbRwa7eOIg\/Gh4Tsw5AM+vuFnEm6QnKzPXOxvjxP5ZwJpRcS5kaF3ok5q1qiGAJsn0oCsi4I8oiPhjVFbyD1ftkqQKQAW\/PjEfh4XOO\/QHgJFXZCVYal5BeZ0uahIdCO+6UxoaZmOr4ymexj\/v6sZspPt7ezecda02Tejo3x0Cf9umUKsEidP9L\/iy4vrWltA88FfgT9j3RHuQMJUksg9Qlu6zQpmk6yve7cSTtnyhyD0QgGuJEjBwvWnK\/e23RVIYq8ITbDoU60BfcVW0hgqPfa8htnm5aVZu\/FwfcQz7UEtLL\/pPKI\/RWoJBl69lUWLMz4Tgt++QMrEbZc\" 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 DOT dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">DOT<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqtVmtv2jAU\/T5p\/yHKvnbl1QRQl0q0Zd2kbmOlUj901eTYN+DV2JHtFLGq\/312HuQBdIu0IEF8rjn3+tyTC4QuJIqXzoQ8IY6BzPWGUb5wnt++cczV6ThXTISIOdk2pLWkYaJBZfEMvc8W9goXWDAhA\/ddNIrGEXLLUCS45mgFgfsJ2BNoiptRRX9D0PNLkKEQWOBOuQYZS6rAmW+UhpUzkXhJNWCdSPjBZ1KQBGsquDPlT1QKvgKu3QYPEzhwq2iMSNA99kpAIv6oIA56VZALAhnYzcCH0+xzq9AlRChhOt25o1AK3rdXoVeCyvTE7I8oY0COpEg4AVI9B\/A1JXoZ9P9SIJDFboEp2L7A8Z78Nd2QlGKdbu0ejw4U9tWKg1lieiqVs6Z66WCzEKv0zMaH2U6VhJnR8q0\/Y2lawjVKW\/6845dZNXyNNiDd06acmZoVuPAtDKJ+RKpfsGcuoj3P93C3Gi3v7iB07vMS7P0kjplRz1bxIZSdsxtAWDu9kXvk2OwFpX8SepFvwTLP2rrbfaik+SJCymDLny9NipT6I0u0EaY180u1ITsyh4miHJTaI\/F5EboWC4pbixxF0QC6h0QG3+t1D4g8mX3einAznd9aIJXAeun4l2pIEEXh8ITUJQgZwo81ca\/ssb9fb4mL9RXSsEab1pyvy0qQRnskvbRwa7eOIg\/Gh4Tsw5AM+vuFnEm6QnKzPXOxvjxP5ZwJpRcS5kaF3ok5q1qiGAJsn0oCsi4I8oiPhjVFbyD1ftkqQKQAW\/PjEfh4XOO\/QHgJFXZCVYal5BeZ0uahIdCO+6UxoaZmOr4ymexj\/v6sZspPt7ezecda02Tejo3x0Cf9umUKsEidP9L\/iy4vrWltA88FfgT9j3RHuQMJUksg9Qlu6zQpmk6yve7cSTtnyhyD0QgGuJEjBwvWnK\/e23RVIYq8ITbDoU60BfcVW0hgqPfa8htnm5aVZu\/FwfcQz7UEtLL\/pPKI\/RWoJBl69lUWLMz4Tgt++QMrEbZc\" 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 DOT 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\">DOT<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqtVd1u2zYYvS+wdyC0i92k8V\/kH3QqkBZdW6AdPDvALopioMiPNhuaVEkqaTr0AXq9l5j3GsLea6QoWZLrdHZRB4jlj9Q5R+c7\/ET5SuNsjS7pDZYE6NLeCS5X6M8fHiD36fXQpbWap7k1aCVUivMPiOaovAnCngDwJvzwn3RFlFA6iX5kUzZjOGqWmJJW4g0k0QsQN2A52V81\/CMkg3FTFDgFkUSXmqy5BWJzDV6BuTO2+Hvjrn8CaTVkmhuQz+QN10pK2LgiooAyrWhOLFcy2oMUiiSRbVUzTJP+edwUNJbXBrJk0C5KRSEU+6H49lH4PmCY45f\/\/pVTB60RLbYM5zZs8yhty471ZdAUjeuU28+4EEDPtMolBdp+HJC3nNp1MjxGZ6r0AZlAV98ic3ZARcdErLW6Lbf2z6f3yHvuYpVBY6JB+AZIeGwHq41rMxbcFNtwi8nTkEQicmNB\/5Fp1yhpsW9+nedWoJ6qnKwhZKTY7nZGj\/YtDg63ynW6YcSGjLZv8A7Uq4N4HJN+e7W5+h1S9KYOdpYJ52Op0tV\/TnXv8QIwsWgwjc6QZ68hxxdpzMa+2PDc+lMRvW3RvFYpdxYdwt+USyXFLyK3zqUTGEqCT+0ufWF5mhsuwZiv2i3Uir\/PAW2KreVOwfGGM8ZG0L\/PcBjHg\/49hl\/OXzaGuOvFs+VVacOv7iCevzN7NjCWTi5o14ZUYHLdMdondP3bqx3wHBsD2k0WqJdOgD3CXYot\/qqz1B2JYgvmlAxPWQyz+ywdwoSOhoctnWu+wfpu9\/RPsOmIcMeKS8IzXAVuroxdaVg6wwYXzgOzxhkkxL9uKOiuUTimYzzpmL2AMsY7ukWxdQWfI5BIhPfCyTxkCmMy6\/A8xd7MmiX8WgDlpgR\/7ed21Y9jsb\/srB++uvjHwv\/NND8nHj7upPfF1dV82fP5dfy7WTObjOmwG6y6WD9cNRa+F1wlbf8MuPJSkWuwR8KdVQGl2KyBdl8CXqej2A\/aq9DsXvGZaO6vWlSj6RRGZI+qKtbgFeyBRreAWDwhbph0gXbFQ5prJxz0flYrxchALk5VG\/7XHhwADwehGvDuLDCRf2hxTGL\/12hWbuo7zQ8+\/Qcv\/ejy\" \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 DOT in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-dot\"><code class=\"language-dot\" data-language=\"dot\" class=\"language-dot\">digraph AdvancedStyling {\r\n    \/\/ Attributs globaux du graphe\r\n    graph [\r\n        bgcolor=\"#f8f9fa\"\r\n        fontname=\"Helvetica\"\r\n        fontsize=16\r\n        label=\"Architecture du syst\u00e8me d'entreprisenEnvironnement de production\"\r\n        labelloc=\"t\"\r\n        pad=0.5\r\n        ranksep=1.5\r\n        nodesep=1.0\r\n    ];\r\n    \r\n    \/\/ Attributs de n\u0153ud par d\u00e9faut\r\n    node [\r\n        fontname=\"Helvetica\"\r\n        fontsize=11\r\n        style=\"filled,rounded\"\r\n        penwidth=2\r\n    ];\r\n    \r\n    \/\/ Attributs de bord par d\u00e9faut\r\n    edge [\r\n        fontname=\"Helvetica\"\r\n        fontsize=9\r\n        penwidth=1.5\r\n        arrowsize=0.8\r\n    ];\r\n    \r\n    \/\/ Grappes de n\u0153uds avec style personnalis\u00e9\r\n    subgraph cluster_presentation {\r\n        label=\"Couche de pr\u00e9sentation\";\r\n        style=filled;\r\n        color=\"#e3f2fd\";\r\n        fontcolor=\"#1565c0\";\r\n        \r\n        Web [label=\"Application Web&lt;br\/&gt;React 18\", fillcolor=\"#64b5f6\", fontcolor=\"white\"];\r\n        Mobile [label=\"Application mobile&lt;br\/&gt;Flutter\", fillcolor=\"#64b5f6\", fontcolor=\"white\"];\n    }\r\n    \r\n    subgraph cluster_business {\r\n        label=\"Couche de logique m\u00e9tier\";\r\n        style=filled;\r\n        color=\"#fff3e0\";\r\n        fontcolor=\"#e65100\";\r\n        \r\n        API [label=\"API REST&lt;br\/&gt;Node.js\", fillcolor=\"#ffb74d\", fontcolor=\"black\"];\r\n        GraphQL [label=\"Passerelle GraphQL\", fillcolor=\"#ffb74d\", fontcolor=\"black\"];\n    }\r\n    \r\n    subgraph cluster_data {\r\n        label=\"Couche de donn\u00e9es\";\r\n        style=filled;\r\n        color=\"#e8f5e9\";\r\n        fontcolor=\"#2e7d32\";\r\n        \r\n        Primary [label=\"Base de donn\u00e9es principale&lt;br\/&gt;PostgreSQL 14\", shape=cylinder, fillcolor=\"#a5d6a7\"];\r\n        Replica [label=\"R\u00e9plique en lecture&lt;br\/&gt;PostgreSQL 14\", shape=cylinder, fillcolor=\"#c8e6c9\"];\r\n        Cache [label=\"Cache Redis&lt;br\/&gt;Mode cluster\", shape=cylinder, fillcolor=\"#c8e6c9\"];\n    }\r\n    \r\n    \/\/ Ar\u00eates avec style personnalis\u00e9\r\n    Web -&gt; API [label=\"HTTPS\/REST\", color=\"#1976d2\", fontcolor=\"#1976d2\"];\r\n    Mobile -&gt; API [label=\"HTTPS\/REST\", color=\"#1976d2\", fontcolor=\"#1976d2\"];\r\n    Web -&gt; GraphQL [label=\"WebSocket\", color=\"#1976d2\", fontcolor=\"#1976d2\", style=dashed];\r\n    \r\n    API -&gt; Primary [label=\"Lecture\/\u00c9criture\", color=\"#388e3c\", fontcolor=\"#388e3c\"];\r\n    API -&gt; Cache [label=\"Cache\", color=\"#f57c00\", fontcolor=\"#f57c00\", style=dashed];\r\n    GraphQL -&gt; Replica [label=\"Lecture seule\", color=\"#388e3c\", fontcolor=\"#388e3c\"];\r\n    \r\n    Primary -&gt; Replica [label=\"R\u00e9plication en flux\", color=\"#757575\", style=dotted];\n}\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqtVd1u2zYYvS+wdyC0i92k8V\/kH3QqkBZdW6AdPDvALopioMiPNhuaVEkqaTr0AXq9l5j3GsLea6QoWZLrdHZRB4jlj9Q5R+c7\/ET5SuNsjS7pDZYE6NLeCS5X6M8fHiD36fXQpbWap7k1aCVUivMPiOaovAnCngDwJvzwn3RFlFA6iX5kUzZjOGqWmJJW4g0k0QsQN2A52V81\/CMkg3FTFDgFkUSXmqy5BWJzDV6BuTO2+Hvjrn8CaTVkmhuQz+QN10pK2LgiooAyrWhOLFcy2oMUiiSRbVUzTJP+edwUNJbXBrJk0C5KRSEU+6H49lH4PmCY45f\/\/pVTB60RLbYM5zZs8yhty471ZdAUjeuU28+4EEDPtMolBdp+HJC3nNp1MjxGZ6r0AZlAV98ic3ZARcdErLW6Lbf2z6f3yHvuYpVBY6JB+AZIeGwHq41rMxbcFNtwi8nTkEQicmNB\/5Fp1yhpsW9+nedWoJ6qnKwhZKTY7nZGj\/YtDg63ynW6YcSGjLZv8A7Uq4N4HJN+e7W5+h1S9KYOdpYJ52Op0tV\/TnXv8QIwsWgwjc6QZ68hxxdpzMa+2PDc+lMRvW3RvFYpdxYdwt+USyXFLyK3zqUTGEqCT+0ufWF5mhsuwZiv2i3Uir\/PAW2KreVOwfGGM8ZG0L\/PcBjHg\/49hl\/OXzaGuOvFs+VVacOv7iCevzN7NjCWTi5o14ZUYHLdMdondP3bqx3wHBsD2k0WqJdOgD3CXYot\/qqz1B2JYgvmlAxPWQyz+ywdwoSOhoctnWu+wfpu9\/RPsOmIcMeKS8IzXAVuroxdaVg6wwYXzgOzxhkkxL9uKOiuUTimYzzpmL2AMsY7ukWxdQWfI5BIhPfCyTxkCmMy6\/A8xd7MmiX8WgDlpgR\/7ed21Y9jsb\/srB++uvjHwv\/NND8nHj7upPfF1dV82fP5dfy7WTObjOmwG6y6WD9cNRa+F1wlbf8MuPJSkWuwR8KdVQGl2KyBdl8CXqej2A\/aq9DsXvGZaO6vWlSj6RRGZI+qKtbgFeyBRreAWDwhbph0gXbFQ5prJxz0flYrxchALk5VG\/7XHhwADwehGvDuLDCRf2hxTGL\/12hWbuo7zQ8+\/Qcv\/ejy\" \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 DOT 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\/#graphviz:eNqtVmtv2jAU\/T5p\/yHKvnbl1QRQl0q0Zd2kbmOlUj901eTYN+DV2JHtFLGq\/312HuQBdIu0IEF8rjn3+tyTC4QuJIqXzoQ8IY6BzPWGUb5wnt++cczV6ThXTISIOdk2pLWkYaJBZfEMvc8W9goXWDAhA\/ddNIrGEXLLUCS45mgFgfsJ2BNoiptRRX9D0PNLkKEQWOBOuQYZS6rAmW+UhpUzkXhJNWCdSPjBZ1KQBGsquDPlT1QKvgKu3QYPEzhwq2iMSNA99kpAIv6oIA56VZALAhnYzcCH0+xzq9AlRChhOt25o1AK3rdXoVeCyvTE7I8oY0COpEg4AVI9B\/A1JXoZ9P9SIJDFboEp2L7A8Z78Nd2QlGKdbu0ejw4U9tWKg1lieiqVs6Z66WCzEKv0zMaH2U6VhJnR8q0\/Y2lawjVKW\/6845dZNXyNNiDd06acmZoVuPAtDKJ+RKpfsGcuoj3P93C3Gi3v7iB07vMS7P0kjplRz1bxIZSdsxtAWDu9kXvk2OwFpX8SepFvwTLP2rrbfaik+SJCymDLny9NipT6I0u0EaY180u1ITsyh4miHJTaI\/F5EboWC4pbixxF0QC6h0QG3+t1D4g8mX3einAznd9aIJXAeun4l2pIEEXh8ITUJQgZwo81ca\/ssb9fb4mL9RXSsEab1pyvy0qQRnskvbRwa7eOIg\/Gh4Tsw5AM+vuFnEm6QnKzPXOxvjxP5ZwJpRcS5kaF3ok5q1qiGAJsn0oCsi4I8oiPhjVFbyD1ftkqQKQAW\/PjEfh4XOO\/QHgJFXZCVYal5BeZ0uahIdCO+6UxoaZmOr4ymexj\/v6sZspPt7ezecda02Tejo3x0Cf9umUKsEidP9L\/iy4vrWltA88FfgT9j3RHuQMJUksg9Qlu6zQpmk6yve7cSTtnyhyD0QgGuJEjBwvWnK\/e23RVIYq8ITbDoU60BfcVW0hgqPfa8htnm5aVZu\/FwfcQz7UEtLL\/pPKI\/RWoJBl69lUWLMz4Tgt++QMrEbZc\" 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 DOT dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#graphviz:eNqtVmtv2jAU\/T5p\/yHKvnbl1QRQl0q0Zd2kbmOlUj901eTYN+DV2JHtFLGq\/312HuQBdIu0IEF8rjn3+tyTC4QuJIqXzoQ8IY6BzPWGUb5wnt++cczV6ThXTISIOdk2pLWkYaJBZfEMvc8W9goXWDAhA\/ddNIrGEXLLUCS45mgFgfsJ2BNoiptRRX9D0PNLkKEQWOBOuQYZS6rAmW+UhpUzkXhJNWCdSPjBZ1KQBGsquDPlT1QKvgKu3QYPEzhwq2iMSNA99kpAIv6oIA56VZALAhnYzcCH0+xzq9AlRChhOt25o1AK3rdXoVeCyvTE7I8oY0COpEg4AVI9B\/A1JXoZ9P9SIJDFboEp2L7A8Z78Nd2QlGKdbu0ejw4U9tWKg1lieiqVs6Z66WCzEKv0zMaH2U6VhJnR8q0\/Y2lawjVKW\/6845dZNXyNNiDd06acmZoVuPAtDKJ+RKpfsGcuoj3P93C3Gi3v7iB07vMS7P0kjplRz1bxIZSdsxtAWDu9kXvk2OwFpX8SepFvwTLP2rrbfaik+SJCymDLny9NipT6I0u0EaY180u1ITsyh4miHJTaI\/F5EboWC4pbixxF0QC6h0QG3+t1D4g8mX3einAznd9aIJXAeun4l2pIEEXh8ITUJQgZwo81ca\/ssb9fb4mL9RXSsEab1pyvy0qQRnskvbRwa7eOIg\/Gh4Tsw5AM+vuFnEm6QnKzPXOxvjxP5ZwJpRcS5kaF3ok5q1qiGAJsn0oCsi4I8oiPhjVFbyD1ftkqQKQAW\/PjEfh4XOO\/QHgJFXZCVYal5BeZ0uahIdCO+6UxoaZmOr4ymexj\/v6sZspPt7ezecda02Tejo3x0Cf9umUKsEidP9L\/iy4vrWltA88FfgT9j3RHuQMJUksg9Qlu6zQpmk6yve7cSTtnyhyD0QgGuJEjBwvWnK\/e23RVIYq8ITbDoU60BfcVW0hgqPfa8htnm5aVZu\/FwfcQz7UEtLL\/pPKI\/RWoJBl69lUWLMz4Tgt++QMrEbZc\" 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 DOT dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<hr\/>\n<h2>8. Flux de travail de collaboration et de partage {#collaboration}<\/h2>\n<h3>Cr\u00e9ation de diagrammes partageables<\/h3>\n<p><strong>Partage \u00e9tape par \u00e9tape :<\/strong><\/p>\n<ol>\n<li>\n<p><strong>G\u00e9n\u00e9rer un lien de partage :<\/strong><\/p>\n<ul>\n<li>\n<p>Cliquez sur le bouton \u00ab Partager \u00bb dans VPasCode<\/p>\n<\/li>\n<li>\n<p>Copiez l&#8217;URL g\u00e9n\u00e9r\u00e9e<\/p>\n<\/li>\n<li>\n<p>Partagez par e-mail, Slack ou documentation<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Int\u00e9grer dans la documentation :<\/strong><\/p>\n<pre class=\"lang-markdown\"><code data-language=\"markdown\">## Architecture du syst\u00e8me\r\n\r\n![Diagramme d'architecture](https:\/\/www.vpascode.com\/share\/abc123xyz.svg)\r\n\r\nOu int\u00e9grez la version interactive :\r\n&lt;iframe src=\"https:\/\/www.vpascode.com\/embed\/abc123xyz\" width=\"100%\" height=\"600\"&gt;&lt;\/iframe&gt;\r\n\r\n<\/code><\/pre>\n<\/li>\n<li>\n<p><strong>Exporter pour les pr\u00e9sentations :<\/strong><\/p>\n<ul>\n<li>\n<p>SVG pour les graphiques web \u00e9volutifs<\/p>\n<\/li>\n<li>\n<p>PNG (300 DPI) pour PowerPoint\/Keynote<\/p>\n<\/li>\n<li>\n<p>PDF pour la documentation imprim\u00e9e<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h3>Int\u00e9gration au contr\u00f4le de version<\/h3>\n<p><strong>Stocker le code du diagramme dans Git :<\/strong><\/p>\n<pre><code>project-root\/\r\n\u251c\u2500\u2500 docs\/\r\n\u2502   \u251c\u2500\u2500 diagrams\/\r\n\u2502   \u2502   \u251c\u2500\u2500 architecture\/\r\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 system-overview.puml\r\n\u2502   \u2502   \u2502   \u251c\u2500\u2500 deployment-view.puml\r\n\u2502   \u2502   \u2502   \u2514\u2500\u2500 data-flow.mmd\r\n\u2502   \u2502   \u251c\u2500\u2500 processes\/\r\n\u2502   \u2502   \u2502   \u2514\u2500\u2500 user-journey.mmd\r\n\u2502   \u2502   \u2514\u2500\u2500 infrastructure\/\r\n\u2502   \u2502       \u2514\u2500\u2500 aws-architecture.dot\r\n\u2502   \u2514\u2500\u2500 README.md\r\n\u2514\u2500\u2500 src\/\r\n<\/code><\/pre>\n<p><strong>Exemple de flux de travail Git :<\/strong><\/p>\n<pre class=\"lang-bash\"><code data-language=\"bash\"># Cr\u00e9er le diagramme\r\necho '@startuml\r\ncomponent \"Passerelle API\"\r\n@enduml' &gt; docs\/diagrams\/architecture\/gateway.puml\r\n\r\n# Valider les modifications\r\ngit add docs\/diagrams\/architecture\/gateway.puml\r\ngit commit -m \"Ajout du diagramme d'architecture de la passerelle API\"\r\ngit push\r\n\r\n# Les membres de l'\u00e9quipe peuvent d\u00e9sormais visualiser dans VPasCode\r\n# en collant le code ou en le chargeant depuis une URL\r\n<\/code><\/pre>\n<h3>Mod\u00e8les de collaboration d&#8217;\u00e9quipe<\/h3>\n<p><strong>Mod\u00e8le 1 : Enregistrements de d\u00e9cisions d&#8217;architecture (ADRs)<\/strong><\/p>\n<pre class=\"lang-markdown\"><code data-language=\"markdown\"># ADR-007 : Mod\u00e8le de communication des microservices\r\n\r\n## Contexte\r\nNous devons standardiser la mani\u00e8re dont les microservices communiquent.\r\n\r\n## D\u00e9cision\r\nUtiliser la messagerie asynchrone via RabbitMQ pour la communication inter-services.\r\n\r\n## Diagramme d'architecture\r\n\r\n```mermaid\r\ngraph LR\r\n    A[Service A] --&gt;|Publier| B[(RabbitMQ)]\r\n    B --&gt;|S'abonner| C[Service B]\r\n    B --&gt;|S'abonner| D[Service C]\r\n<\/code><\/pre>\n<h2>Cons\u00e9quences<\/h2>\n<ul>\n<li>\n<p>D\u00e9couplage am\u00e9lior\u00e9<\/p>\n<\/li>\n<li>\n<p>Meilleure \u00e9volutivit\u00e9<\/p>\n<\/li>\n<li>\n<p>Complexit\u00e9 accrue dans la gestion des messages<\/p>\n<\/li>\n<\/ul>\n<pre><code>\r\n**Mod\u00e8le 2 : Documentation de la planification de sprint**\r\n\r\nCr\u00e9ez des diagrammes vivants qui \u00e9voluent avec votre sprint :\r\n<\/code><\/pre>\n<p><img alt=\"Tableau Kanban du Sprint 24 montrant les t\u00e2ches termin\u00e9es, en cours, \u00e0 faire et bloqu\u00e9es, telles que le module d'authentification utilisateur, le d\u00e9veloppement d'API et l'int\u00e9gration tierce.\" decoding=\"async\" src=\"https:\/\/www.go2posts.com\/wp-content\/uploads\/2026\/06\/img_6a1e8f5b49dbe.png\"\/><\/p>\n<pre><code><\/code><\/pre>\n<pre><code>graph TD\r\n    subgraph Sprint24[\"Sprint 24 - En cours\"]\r\n        Done[\u2705 T\u00e2ches termin\u00e9es]\r\n        InProgress[\ud83d\udd04 En cours]\r\n        ToDo[\ud83d\udccb \u00c0 faire]\r\n        Blocked[\u26d4 Bloqu\u00e9]\r\n    end\r\n    \r\n    Done --&gt; Task1[Module d'authentification utilisateur]\r\n    Done --&gt; Task2[Migration de la base de donn\u00e9es]\r\n    \r\n    InProgress --&gt; Task3[D\u00e9veloppement de l'API]\r\n    InProgress --&gt; Task4[Int\u00e9gration frontend]\r\n    \r\n    ToDo --&gt; Task5[Test unitaire]\r\n    ToDo --&gt; Task6[Documentation]\r\n    \r\n    Blocked --&gt; Task7[Int\u00e9gration tierce]\r\n    \r\n    style Done fill:#d4edda,stroke:#28a745\r\n    style InProgress fill:#fff3cd,stroke:#ffc107\r\n    style ToDo fill:#e2e3e5,stroke:#6c757d\r\n    style Blocked fill:#f8d7da,stroke:#dc3545\r\n<\/code><\/pre>\n<hr\/>\n<h2>Conclusion : Votre parcours vers l&#8217;excellence en documentation<\/h2>\n<p>F\u00e9licitations ! Vous avez maintenant termin\u00e9 un parcours complet \u00e0 travers VPasCode et la m\u00e9thodologie Diagramme-as-Code. R\u00e9fl\u00e9chissons \u00e0 ce que vous avez appris et tra\u00e7ons votre chemin vers l&#8217;avenir.<\/p>\n<h3>Ce que vous avez ma\u00eetris\u00e9<\/h3>\n<p>Au cours de ce tutoriel, vous avez d\u00e9couvert :<\/p>\n<ol>\n<li>\n<p><strong>La puissance des diagrammes bas\u00e9s sur du texte<\/strong>: Vous avez vu comment l&#8217;\u00e9criture de code pour cr\u00e9er des diagrammes \u00e9limine la friction du positionnement manuel, assure la coh\u00e9rence et rend la documentation maintenable.<\/p>\n<\/li>\n<li>\n<p><strong>Trois moteurs standards de l&#8217;industrie<\/strong>: Vous avez d\u00e9sormais des comp\u00e9tences pratiques dans :<\/p>\n<ul>\n<li>\n<p><strong>Mermaid.js<\/strong> pour des diagrammes de flux conviviaux aux d\u00e9veloppeurs et une documentation moderne<\/p>\n<\/li>\n<li>\n<p><strong>PlantUML<\/strong> pour des diagrammes UML et d&#8217;architecture de niveau entreprise<\/p>\n<\/li>\n<li>\n<p><strong>Graphviz<\/strong> pour des topologies de r\u00e9seaux complexes et des visualisations de relations<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Mod\u00e8les du monde r\u00e9el<\/strong>: De l&#8217;architecture de microservices aux sch\u00e9mas de bases de donn\u00e9es, des pipelines CI\/CD aux organigrammes organisationnels, vous avez appris \u00e0 visualiser pratiquement n&#8217;importe quel syst\u00e8me ou processus.<\/p>\n<\/li>\n<li>\n<p><strong>Flux de travail collaboratifs<\/strong>: Vous comprenez comment partager des diagrammes via des URL, les int\u00e9grer dans la documentation, les int\u00e9grer au contr\u00f4le de version et automatiser leur g\u00e9n\u00e9ration dans les pipelines CI\/CD.<\/p>\n<\/li>\n<li>\n<p><strong>Style professionnel<\/strong>: Vous pouvez cr\u00e9er des visuels de qualit\u00e9 \u00e9ditoriale avec des th\u00e8mes personnalis\u00e9s, une marque coh\u00e9rente et des niveaux de d\u00e9tail appropri\u00e9s pour diff\u00e9rents publics.<\/p>\n<\/li>\n<\/ol>\n<h3>La grande image<\/h3>\n<p>Ce qui rend VPasCode v\u00e9ritablement transformateur n&#8217;est pas seulement l&#8217;outil lui-m\u00eame, mais le changement de paradigme qu&#8217;il repr\u00e9sente. En traitant les diagrammes comme du code, vous :<\/p>\n<ul>\n<li>\n<p><strong>Combler le foss\u00e9<\/strong> entre l&#8217;impl\u00e9mentation et la documentation<\/p>\n<\/li>\n<li>\n<p><strong>D\u00e9mocratiser l&#8217;architecture<\/strong> en la rendant accessible \u00e0 tous les membres de l&#8217;\u00e9quipe<\/p>\n<\/li>\n<li>\n<p><strong>Pr\u00e9parer l&#8217;avenir des connaissances<\/strong> gr\u00e2ce \u00e0 des artefacts bas\u00e9s sur du texte et contr\u00f4l\u00e9s par version<\/p>\n<\/li>\n<li>\n<p><strong>Acc\u00e9l\u00e9rer l&#8217;int\u00e9gration<\/strong> gr\u00e2ce \u00e0 une documentation claire et ex\u00e9cutable<\/p>\n<\/li>\n<li>\n<p><strong>R\u00e9duire la dette technique<\/strong> en rendant les mises \u00e0 jour aussi simples que l&#8217;\u00e9dition de texte<\/p>\n<\/li>\n<\/ul>\n<h3>Vos prochaines \u00e9tapes<\/h3>\n<p><strong>Semaine 1 : Commencez petit<\/strong><\/p>\n<ul>\n<li>\n<p>Choisissez un diagramme existant dans votre organisation<\/p>\n<\/li>\n<li>\n<p>Recr\u00e9ez-le dans VPasCode en utilisant votre moteur pr\u00e9f\u00e9r\u00e9<\/p>\n<\/li>\n<li>\n<p>Partagez-le avec un coll\u00e8gue et recueillez des retours<\/p>\n<\/li>\n<li>\n<p>Stockez le code dans votre d\u00e9p\u00f4t de projet<\/p>\n<\/li>\n<\/ul>\n<p><strong>Semaines 2-3 : Cr\u00e9er de l&#8217;\u00e9lan<\/strong><\/p>\n<ul>\n<li>\n<p>Cr\u00e9er des mod\u00e8les pour les types de diagrammes courants de votre \u00e9quipe<\/p>\n<\/li>\n<li>\n<p>\u00c9tablir des conventions de d\u00e9nomination et des directives de style<\/p>\n<\/li>\n<li>\n<p>Int\u00e9grer les revues de diagrammes dans votre processus de revue de code<\/p>\n<\/li>\n<li>\n<p>Documenter votre flux de travail \u00ab Diagramme en tant que code \u00bb<\/p>\n<\/li>\n<\/ul>\n<p><strong>Mois 2 : Mettre \u00e0 l&#8217;\u00e9chelle et automatiser<\/strong><\/p>\n<ul>\n<li>\n<p>Mettre en place une int\u00e9gration CI\/CD pour la g\u00e9n\u00e9ration automatique de diagrammes<\/p>\n<\/li>\n<li>\n<p>Cr\u00e9er une biblioth\u00e8que de diagrammes pour votre organisation<\/p>\n<\/li>\n<li>\n<p>Former les membres de l&#8217;\u00e9quipe au flux de travail<\/p>\n<\/li>\n<li>\n<p>Mesurer le temps gagn\u00e9 et les am\u00e9liorations de la qualit\u00e9 de la documentation<\/p>\n<\/li>\n<\/ul>\n<p><strong>Mois 3+ : En faire une culture<\/strong><\/p>\n<ul>\n<li>\n<p>Promouvoir le diagramme en tant que code dans les d\u00e9cisions d&#8217;architecture<\/p>\n<\/li>\n<li>\n<p>Partager les succ\u00e8s avec la direction<\/p>\n<\/li>\n<li>\n<p>Contribuer des mod\u00e8les \u00e0 la communaut\u00e9<\/p>\n<\/li>\n<li>\n<p>Explorer des fonctionnalit\u00e9s avanc\u00e9es comme la g\u00e9n\u00e9ration de diagrammes assist\u00e9e par IA<\/p>\n<\/li>\n<\/ul>\n<h3>L&#8217;avantage concurrentiel<\/h3>\n<p>Les organisations qui ma\u00eetrisent le Diagramme en tant que code obtiennent des avantages significatifs :<br \/>\n\u2705\u00a0<strong>Prise de d\u00e9cision plus rapide<\/strong>: Des visuels clairs acc\u00e9l\u00e8rent la compr\u00e9hension et l&#8217;alignement<br \/>\n\u2705\u00a0<strong>Temps d&#8217;int\u00e9gration r\u00e9duit<\/strong>: Les nouveaux ing\u00e9nieurs comprennent les syst\u00e8mes plus rapidement gr\u00e2ce \u00e0 une documentation ex\u00e9cutable<br \/>\n\u2705\u00a0<strong>Meilleure communication avec les parties prenantes<\/strong>: Les diagrammes professionnels font le pont entre les perspectives techniques et commerciales<br \/>\n\u2705\u00a0<strong>Charge de maintenance r\u00e9duite<\/strong>: Mettre \u00e0 jour du texte est plus rapide que de redessiner des visuels<br \/>\n\u2705\u00a0<strong>Qualit\u00e9 de code am\u00e9lior\u00e9e<\/strong>: L&#8217;acte de diagrammer r\u00e9v\u00e8le les probl\u00e8mes d&#8217;architecture t\u00f4t<\/p>\n<h3>Rejoignez le mouvement<\/h3>\n<p>Vous faites d\u00e9sormais partie d&#8217;une communaut\u00e9 en croissance de d\u00e9veloppeurs, d&#8217;architectes et d&#8217;\u00e9quipes qui reconnaissent que la documentation n&#8217;a pas \u00e0 \u00eatre une charge. Avec VPasCode, vous avez les outils pour en faire un atout : une repr\u00e9sentation vivante et dynamique de votre syst\u00e8me qui \u00e9volue avec votre code.<\/p>\n<h3>Derni\u00e8re pens\u00e9e<\/h3>\n<p>Le meilleur moment pour commencer \u00e0 traiter les diagrammes comme du code \u00e9tait hier. Le deuxi\u00e8me meilleur moment est maintenant.<br \/>\nVotre futur vous-m\u00eame \u2014 et vos futurs coll\u00e8gues \u2014 vous remercieront pour la clart\u00e9, la coh\u00e9rence et la confiance qui d\u00e9coulent d&#8217;une documentation toujours \u00e0 jour, toujours accessible et toujours pr\u00e9cise.<br \/>\n<strong>Pr\u00eat \u00e0 commencer ?<\/strong>\u00a0Visitez\u00a0<a href=\"https:\/\/www.vpascode.com\/editor\/\">VPasCode<\/a>\u00a0d\u00e8s maintenant, collez votre premier code de diagramme, et regardez le texte se transformer en clart\u00e9. En moins de temps qu&#8217;il n&#8217;en a fallu pour lire cette conclusion, vous aurez cr\u00e9\u00e9 votre premier artefact Diagramme-en-Code.<br \/>\nL&#8217;avenir de la documentation technique est l\u00e0. Il est pilot\u00e9 par le code, bas\u00e9 sur le navigateur et enti\u00e8rement gratuit. Bienvenue dans la r\u00e9volution.<\/p>\n<hr\/>\n<p><strong>\u00c0 propos de ce tutoriel<\/strong><br \/>\n<em>Ce guide complet a \u00e9t\u00e9 cr\u00e9\u00e9 pour aider les \u00e9quipes de d\u00e9veloppement \u00e0 moderniser leurs pratiques de documentation gr\u00e2ce au Diagramme-en-Code. Construit sur les deux d\u00e9cennies d&#8217;expertise en architecture d&#8217;entreprise de Visual Paradigm, VPasCode repr\u00e9sente l&#8217;avenir de la communication technique \u2014 accessible, maintenable et gratuit.<\/em><br \/>\n<em>Derni\u00e8re mise \u00e0 jour : juin 2026<\/em><br \/>\n<em>Public cible : d\u00e9veloppeurs de logiciels, architectes de syst\u00e8mes, ing\u00e9nieurs DevOps, r\u00e9dacteurs techniques et \u00e9quipes de d\u00e9veloppement<\/em><br \/>\n<em>Pr\u00e9requis : Compr\u00e9hension de base des concepts d&#8217;architecture logicielle<\/em><br \/>\n<em>Temps de compl\u00e9tion estim\u00e9 : 2-3 heures pour le tutoriel complet, 15 minutes pour le d\u00e9marrage rapide<\/em><\/p>\n<hr\/>\n<p class=\"\"><strong>Bon diagrammage ! \ud83c\udfa8\ud83d\udcca<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction : La r\u00e9volution de la documentation commence ici Dans le monde effr\u00e9n\u00e9 du d\u00e9veloppement logiciel, il existe une v\u00e9rit\u00e9 inconfortable que nous affrontons tous :notre documentation est presque toujours&hellip;<\/p>\n","protected":false},"author":2,"featured_media":4262,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","fifu_image_url":"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e86c394c18.png","fifu_image_alt":"","footnotes":""},"categories":[118],"tags":[],"class_list":["post-4261","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-vpascode"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Ma\u00eetriser le Diagramme-as-Code : Un tutoriel complet VPasCode pour les \u00e9quipes de d\u00e9veloppement modernes - Go 2 Posts French | Breaking Digital News &amp; Software Trends<\/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.go2posts.com\/fr\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ma\u00eetriser le Diagramme-as-Code : Un tutoriel complet VPasCode pour les \u00e9quipes de d\u00e9veloppement modernes - Go 2 Posts French | Breaking Digital News &amp; Software Trends\" \/>\n<meta property=\"og:description\" content=\"Introduction : La r\u00e9volution de la documentation commence ici Dans le monde effr\u00e9n\u00e9 du d\u00e9veloppement logiciel, il existe une v\u00e9rit\u00e9 inconfortable que nous affrontons tous :notre documentation est presque toujours&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.go2posts.com\/fr\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/\" \/>\n<meta property=\"og:site_name\" content=\"Go 2 Posts French | Breaking Digital News &amp; Software Trends\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-02T08:13:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e86c394c18.png\" \/><meta property=\"og:image\" content=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e86c394c18.png\" \/>\n\t<meta property=\"og:image:width\" content=\"909\" \/>\n\t<meta property=\"og:image:height\" content=\"504\" \/>\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.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e86c394c18.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=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.go2posts.com\/fr\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.go2posts.com\/fr\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/\"},\"author\":{\"name\":\"curtis\",\"@id\":\"https:\/\/www.go2posts.com\/fr\/#\/schema\/person\/7d2ba976d99a3712085fad7b38500b83\"},\"headline\":\"Ma\u00eetriser le Diagramme-as-Code : Un tutoriel complet VPasCode pour les \u00e9quipes de d\u00e9veloppement modernes\",\"datePublished\":\"2026-06-02T08:13:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.go2posts.com\/fr\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/\"},\"wordCount\":2710,\"publisher\":{\"@id\":\"https:\/\/www.go2posts.com\/fr\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.go2posts.com\/fr\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.go2posts.com\/fr\/wp-content\/uploads\/sites\/18\/2026\/06\/img_6a1e86c394c18.png\",\"articleSection\":[\"VPasCode\"],\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.go2posts.com\/fr\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/\",\"url\":\"https:\/\/www.go2posts.com\/fr\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/\",\"name\":\"Ma\u00eetriser le Diagramme-as-Code : Un tutoriel complet VPasCode pour les \u00e9quipes de d\u00e9veloppement modernes - Go 2 Posts French | Breaking Digital News &amp; Software Trends\",\"isPartOf\":{\"@id\":\"https:\/\/www.go2posts.com\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.go2posts.com\/fr\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.go2posts.com\/fr\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.go2posts.com\/fr\/wp-content\/uploads\/sites\/18\/2026\/06\/img_6a1e86c394c18.png\",\"datePublished\":\"2026-06-02T08:13:49+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.go2posts.com\/fr\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.go2posts.com\/fr\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.go2posts.com\/fr\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#primaryimage\",\"url\":\"https:\/\/www.go2posts.com\/fr\/wp-content\/uploads\/sites\/18\/2026\/06\/img_6a1e86c394c18.png\",\"contentUrl\":\"https:\/\/www.go2posts.com\/fr\/wp-content\/uploads\/sites\/18\/2026\/06\/img_6a1e86c394c18.png\",\"width\":909,\"height\":504},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.go2posts.com\/fr\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.go2posts.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ma\u00eetriser le Diagramme-as-Code : Un tutoriel complet VPasCode pour les \u00e9quipes de d\u00e9veloppement modernes\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.go2posts.com\/fr\/#website\",\"url\":\"https:\/\/www.go2posts.com\/fr\/\",\"name\":\"Go 2 Posts French | Breaking Digital News &amp; Software Trends\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.go2posts.com\/fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.go2posts.com\/fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.go2posts.com\/fr\/#organization\",\"name\":\"Go 2 Posts French | Breaking Digital News &amp; Software Trends\",\"url\":\"https:\/\/www.go2posts.com\/fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.go2posts.com\/fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.go2posts.com\/fr\/wp-content\/uploads\/sites\/18\/2025\/01\/logo.png\",\"contentUrl\":\"https:\/\/www.go2posts.com\/fr\/wp-content\/uploads\/sites\/18\/2025\/01\/logo.png\",\"width\":341,\"height\":46,\"caption\":\"Go 2 Posts French | Breaking Digital News &amp; Software Trends\"},\"image\":{\"@id\":\"https:\/\/www.go2posts.com\/fr\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.go2posts.com\/fr\/#\/schema\/person\/7d2ba976d99a3712085fad7b38500b83\",\"name\":\"curtis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.go2posts.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.go2posts.com\/fr\/author\/curtis\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ma\u00eetriser le Diagramme-as-Code : Un tutoriel complet VPasCode pour les \u00e9quipes de d\u00e9veloppement modernes - Go 2 Posts French | Breaking Digital News &amp; Software Trends","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.go2posts.com\/fr\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/","og_locale":"fr_FR","og_type":"article","og_title":"Ma\u00eetriser le Diagramme-as-Code : Un tutoriel complet VPasCode pour les \u00e9quipes de d\u00e9veloppement modernes - Go 2 Posts French | Breaking Digital News &amp; Software Trends","og_description":"Introduction : La r\u00e9volution de la documentation commence ici Dans le monde effr\u00e9n\u00e9 du d\u00e9veloppement logiciel, il existe une v\u00e9rit\u00e9 inconfortable que nous affrontons tous :notre documentation est presque toujours&hellip;","og_url":"https:\/\/www.go2posts.com\/fr\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/","og_site_name":"Go 2 Posts French | Breaking Digital News &amp; Software Trends","article_published_time":"2026-06-02T08:13:49+00:00","og_image":[{"url":"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e86c394c18.png","type":"","width":"","height":""},{"width":909,"height":504,"url":"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e86c394c18.png","type":"image\/png"}],"author":"curtis","twitter_card":"summary_large_image","twitter_image":"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e86c394c18.png","twitter_misc":{"\u00c9crit par":"curtis","Dur\u00e9e de lecture estim\u00e9e":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.go2posts.com\/fr\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#article","isPartOf":{"@id":"https:\/\/www.go2posts.com\/fr\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/"},"author":{"name":"curtis","@id":"https:\/\/www.go2posts.com\/fr\/#\/schema\/person\/7d2ba976d99a3712085fad7b38500b83"},"headline":"Ma\u00eetriser le Diagramme-as-Code : Un tutoriel complet VPasCode pour les \u00e9quipes de d\u00e9veloppement modernes","datePublished":"2026-06-02T08:13:49+00:00","mainEntityOfPage":{"@id":"https:\/\/www.go2posts.com\/fr\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/"},"wordCount":2710,"publisher":{"@id":"https:\/\/www.go2posts.com\/fr\/#organization"},"image":{"@id":"https:\/\/www.go2posts.com\/fr\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#primaryimage"},"thumbnailUrl":"https:\/\/www.go2posts.com\/fr\/wp-content\/uploads\/sites\/18\/2026\/06\/img_6a1e86c394c18.png","articleSection":["VPasCode"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/www.go2posts.com\/fr\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/","url":"https:\/\/www.go2posts.com\/fr\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/","name":"Ma\u00eetriser le Diagramme-as-Code : Un tutoriel complet VPasCode pour les \u00e9quipes de d\u00e9veloppement modernes - Go 2 Posts French | Breaking Digital News &amp; Software Trends","isPartOf":{"@id":"https:\/\/www.go2posts.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.go2posts.com\/fr\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#primaryimage"},"image":{"@id":"https:\/\/www.go2posts.com\/fr\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#primaryimage"},"thumbnailUrl":"https:\/\/www.go2posts.com\/fr\/wp-content\/uploads\/sites\/18\/2026\/06\/img_6a1e86c394c18.png","datePublished":"2026-06-02T08:13:49+00:00","breadcrumb":{"@id":"https:\/\/www.go2posts.com\/fr\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.go2posts.com\/fr\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.go2posts.com\/fr\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#primaryimage","url":"https:\/\/www.go2posts.com\/fr\/wp-content\/uploads\/sites\/18\/2026\/06\/img_6a1e86c394c18.png","contentUrl":"https:\/\/www.go2posts.com\/fr\/wp-content\/uploads\/sites\/18\/2026\/06\/img_6a1e86c394c18.png","width":909,"height":504},{"@type":"BreadcrumbList","@id":"https:\/\/www.go2posts.com\/fr\/mastering-diagram-as-code-a-complete-vpascode-tutorial-for-modern-development-teams\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.go2posts.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Ma\u00eetriser le Diagramme-as-Code : Un tutoriel complet VPasCode pour les \u00e9quipes de d\u00e9veloppement modernes"}]},{"@type":"WebSite","@id":"https:\/\/www.go2posts.com\/fr\/#website","url":"https:\/\/www.go2posts.com\/fr\/","name":"Go 2 Posts French | Breaking Digital News &amp; Software Trends","description":"","publisher":{"@id":"https:\/\/www.go2posts.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.go2posts.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.go2posts.com\/fr\/#organization","name":"Go 2 Posts French | Breaking Digital News &amp; Software Trends","url":"https:\/\/www.go2posts.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.go2posts.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/www.go2posts.com\/fr\/wp-content\/uploads\/sites\/18\/2025\/01\/logo.png","contentUrl":"https:\/\/www.go2posts.com\/fr\/wp-content\/uploads\/sites\/18\/2025\/01\/logo.png","width":341,"height":46,"caption":"Go 2 Posts French | Breaking Digital News &amp; Software Trends"},"image":{"@id":"https:\/\/www.go2posts.com\/fr\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.go2posts.com\/fr\/#\/schema\/person\/7d2ba976d99a3712085fad7b38500b83","name":"curtis","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.go2posts.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.go2posts.com\/fr\/author\/curtis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.go2posts.com\/fr\/wp-json\/wp\/v2\/posts\/4261","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.go2posts.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.go2posts.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.go2posts.com\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.go2posts.com\/fr\/wp-json\/wp\/v2\/comments?post=4261"}],"version-history":[{"count":0,"href":"https:\/\/www.go2posts.com\/fr\/wp-json\/wp\/v2\/posts\/4261\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.go2posts.com\/fr\/wp-json\/wp\/v2\/media\/4262"}],"wp:attachment":[{"href":"https:\/\/www.go2posts.com\/fr\/wp-json\/wp\/v2\/media?parent=4261"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.go2posts.com\/fr\/wp-json\/wp\/v2\/categories?post=4261"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.go2posts.com\/fr\/wp-json\/wp\/v2\/tags?post=4261"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}