{"id":12668,"date":"2026-09-29T14:31:52","date_gmt":"2026-09-29T06:31:52","guid":{"rendered":"https:\/\/www.cybermedian.com\/fr\/sysml-requirement-diagram-a-comprehensive-guide\/"},"modified":"2026-10-12T13:50:48","modified_gmt":"2026-10-12T05:50:48","slug":"sysml-requirement-diagram-a-comprehensive-guide","status":"publish","type":"post","link":"https:\/\/www.cybermedian.com\/fr\/sysml-requirement-diagram-a-comprehensive-guide\/","title":{"rendered":"VPasCode (Diagram en code) pour le diagramme de exigences SysML \u2014 Un guide complet"},"content":{"rendered":"<h2>1. Qu&#8217;est-ce qu&#8217;un diagramme d&#8217;exigences ?<\/h2>\n<p>Un <strong>diagramme d&#8217;exigences<\/strong> est un type de diagramme SysML dont le seul objectif est de <strong>capturer les exigences comme des \u00e9l\u00e9ments de mod\u00e8le de premi\u00e8re classe et rendre leurs relations explicites et tra\u00e7ables<\/strong>. Contrairement \u00e0 un document d&#8217;exigences (qui n&#8217;est qu&#8217;une liste), un diagramme d&#8217;exigences est un <em>graphe<\/em>: les exigences sont des n\u0153uds, et les relations entre elles \u2014 containment, d\u00e9rivation, satisfaction, v\u00e9rification et tra\u00e7abilit\u00e9 \u2014 sont des ar\u00eates.<\/p>\n<p><img alt=\"Diagramme de requ\u00eate SysML visualisant la tra\u00e7abilit\u00e9 depuis le besoin du partie prenante jusqu'\u00e0 la v\u00e9rification, en contraste avec les documents plats et les mod\u00e8les v\u00e9rifiables.\" class=\"alignnone size-full wp-image-21277\" decoding=\"async\" height=\"1024\" loading=\"lazy\" sizes=\"auto, (max-width: 1536px) 100vw, 1536px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb59a6aaa21.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb59a6aaa21.png 1536w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb59a6aaa21-300x200.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb59a6aaa21-1024x683.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb59a6aaa21-768x512.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb59a6aaa21-120x80.png 120w\" width=\"1536\"\/><\/p>\n<p>L&#8217;id\u00e9e fondamentale est la <strong>tra\u00e7abilit\u00e9<\/strong>. Dans un syst\u00e8me informatique, une exigence ne vit pas en isolation. Un besoin d&#8217;un acteur cl\u00e9 pousse une exigence du syst\u00e8me ; cette exigence est satisfaite par un bloc architectural ; un cas de test la v\u00e9rifie ; et elle peut \u00eatre affin\u00e9e en sous-exigences. Le diagramme d&#8217;exigences rend chaque lien visible et v\u00e9rifiable. C&#8217;est ce qui transforme un tableau plat en un mod\u00e8le.<\/p>\n<h3>Pourquoi l&#8217;utiliser pour les syst\u00e8mes informatiques ?<\/h3>\n<p>Les projets informatiques sont notoirement connus pour <strong>d\u00e9rive des exigences<\/strong> \u2014 d\u00e9rive de port\u00e9e, changements non ma\u00eetris\u00e9s, et le probl\u00e8me \u00ab nous l&#8217;avons construit mais personne ne l&#8217;avait demand\u00e9 \u00bb. Un diagramme d&#8217;exigences aide car il vous permet de :<\/p>\n<p><img alt=\"Diagramme montrant la tra\u00e7abilit\u00e9 des requ\u00eates SysML, reliant les besoins m\u00e9tiers aux composants et aux cas de test pour \u00e9viter le d\u00e9bordement de port\u00e9e et v\u00e9rifier la couverture.\" class=\"alignnone size-full wp-image-21284\" decoding=\"async\" height=\"1122\" loading=\"lazy\" sizes=\"auto, (max-width: 1402px) 100vw, 1402px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb5c1236fd8.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb5c1236fd8.png 1402w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb5c1236fd8-300x240.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb5c1236fd8-1024x819.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb5c1236fd8-768x615.png 768w\" width=\"1402\"\/><\/p>\n<ul>\n<li><strong>Remonter la tra\u00e7abilit\u00e9<\/strong> \u2014 \u00ab Pourquoi ce composant existe-t-il ? \u00bb \u2192 suivre les liens <code data-backticks=\"1\">satisfaire<\/code>jusqu&#8217;\u00e0 l&#8217;exigence, et <code data-backticks=\"1\">d\u00e9riv\u00e9<\/code> se connecte au besoin m\u00e9tier.<\/li>\n<li><strong>Tra\u00e7abilit\u00e9 vers l&#8217;avant<\/strong> \u2014 \u00ab Ce besoin est-il v\u00e9rifi\u00e9 ? \u00bb \u2192 suivre<code data-backticks=\"1\">v\u00e9rifier<\/code> se connecte aux cas de test.<\/li>\n<li><strong>\u00c9valuer l&#8217;impact des modifications<\/strong> \u2014 \u00ab Si ce besoin change, qu&#8217;est-ce qui est affect\u00e9 ? \u00bb \u2192 suivre chaque ar\u00eate entrante et sortante.<\/li>\n<li><strong>Prouver la couverture<\/strong> \u2014 chaque besoin doit \u00eatre satisfait par<em>quelque chose<\/em> et v\u00e9rifi\u00e9 par<em>quelque chose<\/em>. Les besoins orphelins sont imm\u00e9diatement visibles.<\/li>\n<\/ul>\n<hr\/>\n<h2>2. Concepts cl\u00e9s et notation<\/h2>\n<h3>2.1 L&#8217;\u00e9l\u00e9ment de besoin<\/h3>\n<p>Un besoin est repr\u00e9sent\u00e9 par un rectangle avec un<strong>nom<\/strong>, un<strong>ID unique<\/strong>(typiquement hi\u00e9rarchique, comme <code data-backticks=\"1\">1.2.3<\/code>), et <strong>texte de exigence<\/strong>. Le st\u00e9r\u00e9otype est <code data-backticks=\"1\">\u00abexigence\u00bb<\/code>.<\/p>\n<p><img alt=\"\u00c9l\u00e9ment de diagramme de requ\u00eate SysML affichant le st\u00e9r\u00e9otype, le nom, l'ID, le texte et les propri\u00e9t\u00e9s formelles telles que la source, le risque, la priorit\u00e9, l'\u00e9tat et la m\u00e9thode de v\u00e9rification.\" class=\"alignnone size-full wp-image-21279\" decoding=\"async\" height=\"1086\" loading=\"lazy\" sizes=\"auto, (max-width: 1448px) 100vw, 1448px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb59ff9dde0.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb59ff9dde0.png 1448w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb59ff9dde0-300x225.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb59ff9dde0-1024x768.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb59ff9dde0-768x576.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb59ff9dde0-880x660.png 880w\" width=\"1448\"\/>Les exigences peuvent contenir <strong>propri\u00e9t\u00e9s<\/strong> \u2014 attributs formellement mod\u00e9lis\u00e9s tels que <code data-backticks=\"1\">source<\/code>, <code data-backticks=\"1\">risque<\/code>, <code data-backticks=\"1\">priorit\u00e9<\/code>, <code data-backticks=\"1\">\u00e9tat<\/code>, ou <code data-backticks=\"1\">m\u00e9thode de v\u00e9rification<\/code>. Cela rend une exigence <em>mesurable<\/em> plut\u00f4t que vague.<\/p>\n<h3>2.2 Les relations (le c\u0153ur du sch\u00e9ma)<\/h3>\n<p><img alt=\"Graphique des relations de requ\u00eate SysML montrant la notation pour la contenance, la d\u00e9rivation et la satisfaction, ainsi que les r\u00e8gles reliant aux alias.\" class=\"alignnone size-full wp-image-21281\" decoding=\"async\" height=\"1122\" loading=\"lazy\" sizes=\"auto, (max-width: 1402px) 100vw, 1402px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb5b3787be7.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb5b3787be7.png 1402w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb5b3787be7-300x240.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb5b3787be7-1024x819.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb5b3787be7-768x615.png 768w\" width=\"1402\"\/><\/p>\n<table>\n<thead>\n<tr>\n<th>Relation<\/th>\n<th>Notation<\/th>\n<th>Direction et signification<\/th>\n<th>Utilisation typique en informatique<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Contenance<\/strong><\/td>\n<td><code data-backticks=\"1\">\u00abcontient\u00bb<\/code><\/td>\n<td>Parent <strong>contient<\/strong> enfant. Organise l&#8217;arbre des exigences.<\/td>\n<td><code data-backticks=\"1\">Exigence de s\u00e9curit\u00e9<\/code> contient <code data-backticks=\"1\">Exigence de connexion<\/code>, <code data-backticks=\"1\">Exigence de chiffrement<\/code><\/td>\n<\/tr>\n<tr>\n<td><strong>D\u00e9duction<\/strong><\/td>\n<td><code data-backticks=\"1\">\u00abd\u00e9river\u00bb<\/code><\/td>\n<td>L&#8217;enfant est <strong>d\u00e9riv\u00e9 de<\/strong> parent (g\u00e9n\u00e9ralement une reformulation plus concr\u00e8te).<\/td>\n<td><code data-backticks=\"1\">Exigence syst\u00e8me<\/code> d\u00e9rive en <code data-backticks=\"1\">Exigence sous-syst\u00e8me<\/code><\/td>\n<\/tr>\n<tr>\n<td><strong>Satisfaction<\/strong><\/td>\n<td><code data-backticks=\"1\">\u00absatisfaire\u00bb<\/code><\/td>\n<td>Un \u00e9l\u00e9ment de conception (bloc\/composant) <strong>satisfait<\/strong> une exigence.<\/td>\n<td><code data-backticks=\"1\">AuthService<\/code> satisfait <code data-backticks=\"1\">Exigence de connexion<\/code><\/td>\n<\/tr>\n<tr>\n<td><strong>V\u00e9rification<\/strong><\/td>\n<td><code data-backticks=\"1\">\u00abv\u00e9rifier\u00bb<\/code><\/td>\n<td>Un cas de test <strong>v\u00e9rifie<\/strong> une exigence.<\/td>\n<td><code data-backticks=\"1\">LoginTest<\/code> v\u00e9rifie <code data-backticks=\"1\">Demande de connexion<\/code><\/td>\n<\/tr>\n<tr>\n<td><strong>Affinement<\/strong><\/td>\n<td><code data-backticks=\"1\">\u00abaffiner\u00bb<\/code><\/td>\n<td>Un \u00e9l\u00e9ment de mod\u00e8le <strong>affine<\/strong> une exigence (ajoute des d\u00e9tails).<\/td>\n<td>Un cas d&#8217;utilisation ou un diagramme d&#8217;activit\u00e9 affine une exigence<\/td>\n<\/tr>\n<tr>\n<td><strong>Tra\u00e7abilit\u00e9<\/strong><\/td>\n<td><code data-backticks=\"1\">\u00abtra\u00e7abilit\u00e9\u00bb<\/code><\/td>\n<td>Un lien g\u00e9n\u00e9ral, non sp\u00e9cifique <strong>tra\u00e7abilit\u00e9<\/strong> lien.<\/td>\n<td>Tout lien \u00ab ceci est li\u00e9 \u00e0 cela \u00bb que vous ne pouvez pas nommer autrement<\/td>\n<\/tr>\n<tr>\n<td><strong>Copie<\/strong><\/td>\n<td><code data-backticks=\"1\">\u00abcopie\u00bb<\/code><\/td>\n<td>Une exigence est une <strong>copie<\/strong> d&#8217;une autre (r\u00e9utilisation entre projets).<\/td>\n<td>NFR partag\u00e9e copi\u00e9e dans deux projets<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>La r\u00e8gle essentielle :<\/strong> Une relation n&#8217;est jamais trac\u00e9e vers le besoin dont elle d\u00e9rive <em>Cha\u00eene d&#8217;identification<\/em> \u2014 elle est trac\u00e9e vers l&#8217;\u00e9l\u00e9ment dont elle d\u00e9rive <em>alias<\/em>. Et si le besoin A <strong>contient<\/strong> le besoin B, vous devez <strong>ne pas<\/strong> \u00e9galement tracer une <code data-backticks=\"1\">\u00abd\u00e9river\u00bb<\/code> entre eux dans n&#8217;importe quel sens ; la contenance et la d\u00e9rivation sont mutuellement exclusives pour la m\u00eame paire.<\/p>\n<h3>2.3 Blocs, cas de test et sources de raffinement<\/h3>\n<ul>\n<li><strong>Bloc<\/strong> (<code data-backticks=\"1\">\u00abbloc\u00bb<\/code>): l&#8217;\u00e9l\u00e9ment de conception qui satisfait les exigences. Dans un contexte informatique, il s&#8217;agit de votre composant architectural \u2014 un service, un module ou une API.<\/li>\n<li><strong>Cas de test<\/strong> (<code data-backticks=\"1\">\u00abcasDeTest\u00bb<\/code>): l&#8217;unit\u00e9 de v\u00e9rification.<\/li>\n<li><strong>Sources de raffinement<\/strong>: cas d&#8217;utilisation, activit\u00e9s ou tout \u00e9l\u00e9ment de mod\u00e8le qui pr\u00e9cise une exigence.<\/li>\n<\/ul>\n<blockquote>\n<p><strong>Note de notation :<\/strong> les fl\u00e8ches de relation ont des t\u00eates sp\u00e9cifiques (la <code data-backticks=\"1\">\u00absatisfait\u00bb<\/code> fl\u00e8che, par exemple, s&#8217;ouvre vers l&#8217;exigence \u00e0 satisfaire). Lorsqu&#8217;on \u00e9crit \u00e0 leur sujet dans un texte, il faut toujours citer le st\u00e9r\u00e9otype \u2014 \u00e9crire <code data-backticks=\"2\">`\u00absatisfait\u00bb`<\/code> \u2014 afin qu&#8217;elle ne soit pas interpr\u00e9t\u00e9e par le parseur Markdown du lecteur.<\/p>\n<\/blockquote>\n<hr\/>\n<h2>3. Exemples de diagrammes<\/h2>\n<h3>Exemple 1 \u2014 Une hi\u00e9rarchie fondamentale des exigences<\/h3>\n<p>Cet exemple montre la containment et la d\u00e9rivation, le squelette avec lequel commence tout diagramme d&#8217;exigences. Une exigence de performance de niveau sup\u00e9rieur se d\u00e9compose en sous-exigences mesurables.<\/p>\n<p id=\"ExyUEYD\"><img alt=\"Interface VPasCode affichant le code hi\u00e9rarchique des requ\u00eates SysML et le diagramme pour la performance du v\u00e9hicule, montrant les relations de contenance et de d\u00e9rivation.\" class=\"alignnone size-full wp-image-21273\" decoding=\"async\" height=\"872\" loading=\"lazy\" sizes=\"auto, (max-width: 1919px) 100vw, 1919px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb58fbccd91.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb58fbccd91.png 1919w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb58fbccd91-300x136.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb58fbccd91-1024x465.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb58fbccd91-768x349.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb58fbccd91-1536x698.png 1536w\" width=\"1919\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:ZPHDRzGm48RlbVeVXeK3bRhV1I5EvQlYYEYAksjFDgFw8zYJYF3h6JjPkYrPqLmYZz_nyywCa-l4AdBhxFdP2_BQjWQXPcxI--LIjfZqegFKAZjlL5I6zcwXWrisLlcSDKziBDqjKvza4V5dIn4TUfuRKlketA8fPv-VfNlo-GW7NVDvsDlr3SBtXvmnVAmrMAdMyatmV4k_4TPN9tO_1HiYlDoMvrXZoIDdK8XSX-o4YIt23wn9o_iRnYf4fxn-v0M-4aOLTTtdb5T7bRsUJQJEBdFok97Zbp1RIt2sgn6wKPzgPIquH0QMS6fGKqLee3do8EFO8oTelS48FZZooa8GYGp3xq47RuWf-BIONJnrza5hj4KP_62fHBAPnGaxwf22KCNWO0KSOBrQmRrRra1-DF8M4cRq57KN6hXj4Cs0b6LP5UfccXfHwHeKEFMBNEjoBwGFeGB5O54bXirci331-nYLZ7S_qCP5WMsdOOd5O2dktxgsxsGWZ351y61Y3utg2cQ2UzEYXIzLHPhGwtxWvs21NvtgRqtOuKDXwpVPWisyV0laQxgJAsf0zv9KgCALLhCYNxXFBzPXgXV_rnr6yGpfsCTdA7F5MIRjemubK5H_v_0uGuJNw8ty1Fu0\" 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:ZPJDJXin4CVlIBp3DAr4aI0XX5PLJ_I3g8SUgeAuEzv9Tee_5diSaJvDZsnVmo_MyIRGD0qAUrZjUFwU_syyrfv7Le6JDVjxByXfaog4chc9xmS3IJ7f_fnYKkQuKK5LDBDzxUsWCSgLNSUHAqEJGLn42GBU9WfeqV5nHMeMbEqtNUtzlNX3hfImC6y-BtDNYmPXzMtnuevcw3J6TMs5KvKCZxtZI_g9C3nx8ll96n_WvQXxrZM6778nye5hNqYOs21yeTm65NHDA7KYu8EzHD1WcFfWbSHG9PZdjYQT39RjhzQwVDtxzeIoTmJVyVOQ9J9OH4VG6yfYxol-5K7bYK4n8xag81XnzvCVg9cc_t749hUQfe8jAULYHwszguZ9b_00xneZ1LM9mPLzKh3VEzna_g1rRarfloYNfBA6fZ3sdw1iL8mO2jG9v5ymF3c16pke0HrOJnqEl8M8XMYhwpKnIWcmweuAsTBtoZUN3MBLMP_kEg3a9BbHHnfNQSLmUhgasc8_3b93pLQs7uEI6pBhN4VRNUE12Y7_PcbQ-fNBnDIrlxNpqJkm-Pw3Z2Icq77gMgKOSokJo_UwnYrC5zCfQQM9SmkvTHXckMMwJIl8SLgDv6pNkJmUmF1DOJCTXCZqGfUtjnDokUq8X456n8fSnx1vIH-kmk5ktSFedY5T7VSpbANd8gimq1nbeLCzZklV7I8yHrV97-OF\" \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!include https:\/\/static.visual-paradigm.com\/plantuml-stdlib\/sysml-requirement-diagram.puml\r\n\r\nskinparam vpDiagramType DiagrammeExigences\r\nskinparam defaultFontSize 14\r\nskinparam defaultFontColor #333333\r\nskinparam linetype ortho\r\n\r\ntitle Hi\u00e9rarchie des exigences de performance du v\u00e9hicule\r\n\r\n$requirement(\"Performance du v\u00e9hicule\", ReqVehiclePerf, \"1\", \"Le v\u00e9hicule doit atteindre les objectifs de performance sp\u00e9cifi\u00e9s dans des conditions d'exploitation normales.\")\r\n$requirement(\"Acc\u00e9l\u00e9ration\", ReqAccel, \"1.1\", \"Le v\u00e9hicule doit passer de 0 \u00e0 100 km\/h en moins de 6 secondes.\")\r\n$requirement(\"Vitesse maximale\", ReqTopSpeed, \"1.2\", \"Le v\u00e9hicule doit atteindre une vitesse maximale d'au moins 220 km\/h.\")\r\n$requirement(\"Freinage\", ReqBraking, \"1.3\", \"Le v\u00e9hicule doit s'arr\u00eater \u00e0 partir de 100 km\/h en moins de 38 m\u00e8tres sur une chauss\u00e9e s\u00e8che.\")\r\n$requirement(\"Efficacit\u00e9 \u00e9nerg\u00e9tique\", ReqFuel, \"1.4\", \"Le v\u00e9hicule doit atteindre au moins 15 km\/l sur le cycle combin\u00e9.\")\r\n\r\n$containment(ReqVehiclePerf, ReqAccel)\r\n$containment(ReqVehiclePerf, ReqTopSpeed)\r\n$containment(ReqVehiclePerf, ReqBraking)\r\n$containment(ReqVehiclePerf, ReqFuel)\r\n$deriveReqt(ReqBraking, ReqVehiclePerf)\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:ZPJDJXin4CVlIBp3DAr4aI0XX5PLJ_I3g8SUgeAuEzv9Tee_5diSaJvDZsnVmo_MyIRGD0qAUrZjUFwU_syyrfv7Le6JDVjxByXfaog4chc9xmS3IJ7f_fnYKkQuKK5LDBDzxUsWCSgLNSUHAqEJGLn42GBU9WfeqV5nHMeMbEqtNUtzlNX3hfImC6y-BtDNYmPXzMtnuevcw3J6TMs5KvKCZxtZI_g9C3nx8ll96n_WvQXxrZM6778nye5hNqYOs21yeTm65NHDA7KYu8EzHD1WcFfWbSHG9PZdjYQT39RjhzQwVDtxzeIoTmJVyVOQ9J9OH4VG6yfYxol-5K7bYK4n8xag81XnzvCVg9cc_t749hUQfe8jAULYHwszguZ9b_00xneZ1LM9mPLzKh3VEzna_g1rRarfloYNfBA6fZ3sdw1iL8mO2jG9v5ymF3c16pke0HrOJnqEl8M8XMYhwpKnIWcmweuAsTBtoZUN3MBLMP_kEg3a9BbHHnfNQSLmUhgasc8_3b93pLQs7uEI6pBhN4VRNUE12Y7_PcbQ-fNBnDIrlxNpqJkm-Pw3Z2Icq77gMgKOSokJo_UwnYrC5zCfQQM9SmkvTHXckMMwJIl8SLgDv6pNkJmUmF1DOJCTXCZqGfUtjnDokUq8X456n8fSnx1vIH-kmk5ktSFedY5T7VSpbANd8gimq1nbeLCzZklV7I8yHrV97-OF\" \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:ZPHDRzGm48RlbVeVXeK3bRhV1I5EvQlYYEYAksjFDgFw8zYJYF3h6JjPkYrPqLmYZz_nyywCa-l4AdBhxFdP2_BQjWQXPcxI--LIjfZqegFKAZjlL5I6zcwXWrisLlcSDKziBDqjKvza4V5dIn4TUfuRKlketA8fPv-VfNlo-GW7NVDvsDlr3SBtXvmnVAmrMAdMyatmV4k_4TPN9tO_1HiYlDoMvrXZoIDdK8XSX-o4YIt23wn9o_iRnYf4fxn-v0M-4aOLTTtdb5T7bRsUJQJEBdFok97Zbp1RIt2sgn6wKPzgPIquH0QMS6fGKqLee3do8EFO8oTelS48FZZooa8GYGp3xq47RuWf-BIONJnrza5hj4KP_62fHBAPnGaxwf22KCNWO0KSOBrQmRrRra1-DF8M4cRq57KN6hXj4Cs0b6LP5UfccXfHwHeKEFMBNEjoBwGFeGB5O54bXirci331-nYLZ7S_qCP5WMsdOOd5O2dktxgsxsGWZ351y61Y3utg2cQ2UzEYXIzLHPhGwtxWvs21NvtgRqtOuKDXwpVPWisyV0laQxgJAsf0zv9KgCALLhCYNxXFBzPXgXV_rnr6yGpfsCTdA7F5MIRjemubK5H_v_0uGuJNw8ty1Fu0\" 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><strong>Lecture :<\/strong> <code data-backticks=\"1\">Acc\u00e9l\u00e9ration<\/code>, <code data-backticks=\"1\">Vitesse maximale<\/code>, <code data-backticks=\"1\">Freinage<\/code>, et <code data-backticks=\"1\">Efficacit\u00e9 du carburant<\/code> sont tous <em>des parties de<\/em> la exigence globale <code data-backticks=\"1\">Performance du v\u00e9hicule<\/code> exigence (contenement). <code data-backticks=\"1\">Freinage<\/code> est \u00e9galement <em>d\u00e9riv\u00e9 de<\/em> lui, ce qui signifie qu&#8217;il a \u00e9t\u00e9 d\u00e9compos\u00e9 en un objectif concret et mesurable.<\/p>\n<hr\/>\n<h3>Exemple 2 \u2014 Satisfaction et v\u00e9rification (le design r\u00e9pond aux exigences)<\/h3>\n<p>Cela ajoute le c\u00f4t\u00e9 conception. Les composants architecturaux <strong>satisfont<\/strong>les exigences, et les cas de test <strong>v\u00e9rifient<\/strong>celles-ci. C&#8217;est le diagramme que vous montrez lors d&#8217;une revue de conception.<\/p>\n<p id=\"fWpsKgE\"><img alt=\"Diagramme SysML VPasCode montrant les blocs PaymentService et VaultService satisfaisant des requ\u00eates, avec des cas de test les v\u00e9rifiant via des relations de satisfaction et de v\u00e9rification.\" class=\"alignnone size-full wp-image-21274\" decoding=\"async\" height=\"874\" loading=\"lazy\" sizes=\"auto, (max-width: 1914px) 100vw, 1914px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb5922db7b3.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb5922db7b3.png 1914w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb5922db7b3-300x137.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb5922db7b3-1024x468.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb5922db7b3-768x351.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb5922db7b3-1536x701.png 1536w\" width=\"1914\"\/><\/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:TLF1Rjim3BqNw3zmsGu9q2JeijDE7L8CAB13C0UzCn8J4vKbJw8pUATznBvmNp99TXe5Qt8ooKS-lYVc8GXwwHfpU_EEhJAT9gX5sl1vkOmbORKuSkZGp5lqgFdGB9Hhbgr1cxhcGRJXtJBq8GQUVdJigI4hSyruyDWisZpxzYQyi4qZ6ZYsZqDjsxS4tyyzOxh4QjfZP-IhirBnBuBxJrUgQsUSX_Uh_2inXYr98d9UQfSs4HP3iC4-SKBL1w46_lx-0rMK6_QeX9q5j1gUoVEU5QP4wlnG29nEDkkd-MDLmTerhM6qYYPtISv6yHrCLZ6OR6k2C1246eq1wmI2E4-Wq6iu5WHmHDDHoCG3cApoVIiPMZkZoOD6GK01Jq4Mazb_AtcdA8IJk74VxDC-Y_itDy8kskAJjmYgYxiraQOTpVd9KhE55GHIpkhm1kMJfgPraj3h6lrXD26bC-l7gpver-qCpLNkAjcZ5vx4zvajyksCKozHtB1KHVx8sUlBnEoCV4vNSSQLuJ1Hedrh39GV4RvqcfDNs_mnkwX_moXDzR2DcGGPuqlGgmS5CEK6ikYS8Djir-ayXcUPNQ-UsqE-odvwgROSSKAKEa-NECp8TzPF1u55wRKmoYgddah3IvvNUY2hut_w7m00\" 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:VLHBRjim4Dq7o1rOjK1j8BQHkgkkKZWe422Be3AwPyYHFGX5gkHGgBhg8Ng8-Xo-IK_I8MLRSf3K6vFpUnyET1D8UegrkRnuWrQPg45iYPhmQR7W5A6QjnYYDBD6UgbnKy-LgnUDaJPrpG9fWu-Bq0M-UFWUqKCDbcOQvSRBUjxasPSNuGbj6b6BjhdjS-kk0N4urt0BNrDxG0hZQWsLZ8Q-E4ib_WHn_V6LxCePvyNRPVwDQmnQe0JbF6rTua981aJP1Th_gO67Y4PYfYt-_lejIfOTAga8dHL0ejtlF5QeP0ga_dSZePDYvMpbV8sqtuc7rTtijYoBAy5Y7XHUYMB9b-8UH3Z2MKPqI8mPH22ddi0B0q6qqa3q8T4vGqm1nOy4YKlkL5kiAdzeqyxQ_IuTec1XqKXcDlJ8A3mqBioBwNFYQo-HyfIJ_WDnsINYy-ldr3EwZEGy1cwCTZ1E6Kn_MjgGudg_OoA9nb84KCvgU8d2QYlz1WHgg1j778AUmHq7CeKF_tCllL5CFcY8FqJbC4CVc02VP7RJ9tk2n8pF31uDcpufM6KYKO9lKINSyy1qgFoMTcoe6r_xYGI1LZB0fFWSDPFZDU2wTRvCp_9hFYLEHhBQF6rzdu_TItNlJyRqfScM7f4T9OasktXSjVxbfgzdX_QGLxoRd4iUZpXMZCKUjxgVqGBlQ3VfLOvIfyH1s7ZgCTM_xq3f1gpc3yK_\" \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!include https:\/\/static.visual-paradigm.com\/plantuml-stdlib\/sysml-requirement-diagram.puml\r\n\r\nskinparam vpDiagramType DiagrammeDeRequisits\r\nskinparam defaultFontSize 14\r\nskinparam defaultFontColor #333333\r\nskinparam linetype ortho\r\n\r\ntitle Syst\u00e8me de paiement \u2014 Satisfaction et v\u00e9rification\r\n\r\n$requirement(\"Conformit\u00e9 PCI-DSS\", ReqPci, \"3\", \"Le syst\u00e8me ne doit pas stocker les valeurs de v\u00e9rification de carte et doit chiffrer les donn\u00e9es du titulaire de carte au repos.\")\r\n$requirement(\"Traiter le paiement\", ReqPay, \"3.1\", \"Le syst\u00e8me doit autoriser un paiement client dans un d\u00e9lai de 3 secondes.\")\r\n$requirement(\"Charge idempotente\", ReqIdem, \"3.2\", \"Le syst\u00e8me ne doit pas facturer deux fois un client en cas de r\u00e9essai.\")\r\n\r\n$block(\"PaymentService\", PaymentService)\r\n$block(\"VaultService\", VaultService)\r\n\r\n$testCase(\"Audit PCI\", TAudit)\r\n$testCase(\"Test de latence\", TLatency)\r\n$testCase(\"Test d'idempotence\", TIdem)\r\n\r\n$containment(ReqPci, ReqPay)\r\n$containment(ReqPci, ReqIdem)\r\n\r\n$satisfy(PaymentService, ReqPay)\r\n$satisfy(VaultService, ReqPci)\r\n\r\n$verify(TAudit, ReqPci)\r\n$verify(TLatency, ReqPay)\r\n$verify(TIdem, ReqIdem)\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:VLHBRjim4Dq7o1rOjK1j8BQHkgkkKZWe422Be3AwPyYHFGX5gkHGgBhg8Ng8-Xo-IK_I8MLRSf3K6vFpUnyET1D8UegrkRnuWrQPg45iYPhmQR7W5A6QjnYYDBD6UgbnKy-LgnUDaJPrpG9fWu-Bq0M-UFWUqKCDbcOQvSRBUjxasPSNuGbj6b6BjhdjS-kk0N4urt0BNrDxG0hZQWsLZ8Q-E4ib_WHn_V6LxCePvyNRPVwDQmnQe0JbF6rTua981aJP1Th_gO67Y4PYfYt-_lejIfOTAga8dHL0ejtlF5QeP0ga_dSZePDYvMpbV8sqtuc7rTtijYoBAy5Y7XHUYMB9b-8UH3Z2MKPqI8mPH22ddi0B0q6qqa3q8T4vGqm1nOy4YKlkL5kiAdzeqyxQ_IuTec1XqKXcDlJ8A3mqBioBwNFYQo-HyfIJ_WDnsINYy-ldr3EwZEGy1cwCTZ1E6Kn_MjgGudg_OoA9nb84KCvgU8d2QYlz1WHgg1j778AUmHq7CeKF_tCllL5CFcY8FqJbC4CVc02VP7RJ9tk2n8pF31uDcpufM6KYKO9lKINSyy1qgFoMTcoe6r_xYGI1LZB0fFWSDPFZDU2wTRvCp_9hFYLEHhBQF6rzdu_TItNlJyRqfScM7f4T9OasktXSjVxbfgzdX_QGLxoRd4iUZpXMZCKUjxgVqGBlQ3VfLOvIfyH1s7ZgCTM_xq3f1gpc3yK_\" \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:TLF1Rjim3BqNw3zmsGu9q2JeijDE7L8CAB13C0UzCn8J4vKbJw8pUATznBvmNp99TXe5Qt8ooKS-lYVc8GXwwHfpU_EEhJAT9gX5sl1vkOmbORKuSkZGp5lqgFdGB9Hhbgr1cxhcGRJXtJBq8GQUVdJigI4hSyruyDWisZpxzYQyi4qZ6ZYsZqDjsxS4tyyzOxh4QjfZP-IhirBnBuBxJrUgQsUSX_Uh_2inXYr98d9UQfSs4HP3iC4-SKBL1w46_lx-0rMK6_QeX9q5j1gUoVEU5QP4wlnG29nEDkkd-MDLmTerhM6qYYPtISv6yHrCLZ6OR6k2C1246eq1wmI2E4-Wq6iu5WHmHDDHoCG3cApoVIiPMZkZoOD6GK01Jq4Mazb_AtcdA8IJk74VxDC-Y_itDy8kskAJjmYgYxiraQOTpVd9KhE55GHIpkhm1kMJfgPraj3h6lrXD26bC-l7gpver-qCpLNkAjcZ5vx4zvajyksCKozHtB1KHVx8sUlBnEoCV4vNSSQLuJ1Hedrh39GV4RvqcfDNs_mnkwX_moXDzR2DcGGPuqlGgmS5CEK6ikYS8Djir-ayXcUPNQ-UsqE-odvwgROSSKAKEa-NECp8TzPF1u55wRKmoYgddah3IvvNUY2hut_w7m00\" 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 PlantUML dans VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p><strong>En le lisant :<\/strong> <code data-backticks=\"1\">PaymentService<\/code> <em>satisfait<\/em> la exigence de traitement des paiements, tandis que <code data-backticks=\"1\">VaultService<\/code> <em>satisfait<\/em> l&#8217;exigence plus large PCI-DSS. Chaque exigence est <em>v\u00e9rifi\u00e9e<\/em> par un cas de test. Remarquez les directions des fl\u00e8ches :<code data-backticks=\"2\">`\u00absatisfait\u00bb`<\/code> pointe du bloc vers l&#8217;exigence qu&#8217;il remplit ;<code data-backticks=\"2\">`\u00abv\u00e9rifie\u00bb`<\/code> pointe du cas de test vers l&#8217;exigence qu&#8217;il prouve.<\/p>\n<hr\/>\n<h3>Exemple 3 \u2014 Cha\u00eene compl\u00e8te de tra\u00e7abilit\u00e9 du syst\u00e8me informatique<\/h3>\n<p>C&#8217;est le diagramme que vous utiliseriez pour suivre une <strong>n\u00e9cessit\u00e9 m\u00e9tier jusqu&#8217;\u00e0 la v\u00e9rification<\/strong> \u2014 la question classique \u00ab pourquoi ce code existe-t-il ? \u00bb.<\/p>\n<p id=\"pjvkaai\"><img alt=\"Diagramme VPasCode montrant la tra\u00e7abilit\u00e9 des requ\u00eates SysML depuis le besoin m\u00e9tier B1 jusqu'aux exigences syst\u00e8me S1, S2 et \u00e0 la contrainte S3.\" class=\"alignnone size-full wp-image-21275\" decoding=\"async\" height=\"873\" loading=\"lazy\" sizes=\"auto, (max-width: 1918px) 100vw, 1918px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb5945c3fe8.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb5945c3fe8.png 1918w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb5945c3fe8-300x137.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb5945c3fe8-1024x466.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb5945c3fe8-768x350.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb5945c3fe8-1536x699.png 1536w\" width=\"1918\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:TPJFJXin4CRlIBp3D6sbH2A9AEN22R8KgQTAJIBrwdY7h1MllTZZfCkf3z4dx9DqlFyJ0X92dlbcVf_7mzvx4ev2hYylFYWZTKWHCgB2tytdd28bPtlbWz3JGZYHgcq-apQV5rgOM3Nrb6grcVlIyy7XIr0ESpGqJPNOEf7FYghtvONVAHDRvB0l7klSgYmGVlOrJNYeJV5P14rFrj1IlI9SVtqdcrXj7NoygNw66gqCKWHPHvcDJaYHHlWsJMoUevC8oz8Jvl3lpz-X6rWv8L5ib5PKnhfFW-kDHulWkRFtTroJ1kwIy1pXOIDCQasKZAvYjuLwlOBHuffFerM6i6dAm6T2Qt1rhOoreg-5JGdNjv_Xe2XJ1kXWuIMm1fsVZIQdLf8CvSu6WlMl6hh-pRHbn_Jr_MeY_ze32DW6z0HaWP-pq4Xiect3n61IT70BN5YSG_umE4sqaZl6MSVQ6jmS8ltBMJg3cEsGWZFAR446JvPVWKDL9ISBmRwAu6GcF4OlrY08ISgQCqOU1GacUvMYaMNheZb67pTdVJ3LyGwiUmDfRDJCc-CEjmoihyxCZRPorqzw_PsxzeT9hsWci4ItLn8hFyF0aJ8IX8utgEnKufDOJIT-geIdCNZgf_YAAuvprQgDJewq3RbJDUTJKJChU0YfQdHDg8PB_kyIgbhBSRlGrOvDtayEKFn7xP5ZbI1kPgrxc-kMfnEmnFCdo3-NutxO0tgRF9xngODUTJBSusMfUNksnDfkf0DQcnhw763wTBTzRzjJ_AQCZtUqk-uzcfI_bly1\" 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:ZPLBRXf148Rtbdo72aaKa0p8SRpnoZOuagKi8i07QBeBA7ccUz8F15xb43b0TWddc9la9Adk6M2miH8sz51_LNtrwE7QUM5zoBFJapUaPHOKmiBxmbtr-spo97jBSa5atK9OeMYUzwJ9-qKcTFJgEgyoclRTsl63nM-1BEQeVLUHc5kHzueK-_J4FPAE8N9O5iFADbaN2FKvno6EehiZxvfgXJCHCl_PQ3-c9uJpJwzO1oOp5jvUf4zJav567rCPwnScidZo6S9uxNpvEqUuwmuC0rY9yEVx3vXOKVuIKyh8bnlEu01ND4SjqKNdTuqgswsRsKpm0rp1gDoe-3jax548JMWTYAdGocXTRbph3BZ0MtewWzRjEJ-rldpW41OBImv16V9W_n63QU3y4jw34jebaSAmWi8QkH34FtbBEJeEwdgjpdFMkrLHRYp5IY1uhiy9Zy622foBagY2V5WntRXYH73RFYN40csEdZD0-HE21jBBkaym8oquA5ecsqK4r92RoCQAIoWtNXH7wRX_ek1AUDs8gzqvSmwPaQp8HcYiGXlnFluN7hl6EDnO6QoDHyRW9o4Nw9cK9NmK7dYVKtEu7oaf1yR0TGZf6USuhoELcXbtf9eGkYrdPLj7qekZfCuR-PXwjNTEaIfathfW3GyCkNKYC0tfP6RuEHCrxBhk9nDECmxQRjrhhcqc97xTptMmGFbeWd-ux-o5OxHBadYizwcGrErQr72x5Oxlwx2c7bL48iFaKvs7mWikqM85vdah1-pLRatu55Tkbl7cAcoktcJBs3dYKOtj2EManZnqkWcAjbxrd2fjFPWAI_ABWozEckZsTgOBq7dTs4Z7NxICxwqaYDUcqhsqxHPt9s09tpzoitLxFvf6zgtnS0ZF2VQgPsq_NCCgtvAHMBjhSoFRrjJaRAJPctTx_JAyjxnnxSFjtvLxZLhnNy5V\" \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!include https:\/\/static.visual-paradigm.com\/plantuml-stdlib\/sysml-requirement-diagram.puml\r\n\r\nskinparam vpDiagramType DiagrammeDeRequisits\r\nskinparam defaultFontSize 14\r\nskinparam defaultFontColor #333333\r\nskinparam linetype ortho\r\n\r\ntitle Syst\u00e8me E-Commerce \u2014 Tra\u00e7abilit\u00e9 des exigences\r\n\r\n$requirement(\"Affaire : R\u00e9duire les paniers abandonn\u00e9s\", ReqBiz, \"B1\", \"L'entreprise doit r\u00e9duire les paniers abandonn\u00e9s de 15 % dans les deux prochains trimestres.\")\r\n$requirement(\"Exp\u00e9rience utilisateur du paiement\", ReqUx, \"S1\", \"Le syst\u00e8me doit permettre \u00e0 un invit\u00e9 de finaliser le paiement en moins de 5 \u00e9tapes.\")\r\n$requirement(\"R\u00e9approvisionnement en un clic\", ReqReorder, \"S2\", \"Le syst\u00e8me doit permettre \u00e0 un client r\u00e9current de r\u00e9acheter un achat ant\u00e9rieur en une seule action.\")\r\n$requirement(\"R\u00e9sidence des donn\u00e9es\", ReqResidency, \"S3\", \"Le syst\u00e8me doit stocker les donn\u00e9es des clients europ\u00e9ens au sein des r\u00e9gions europ\u00e9ennes.\")\r\n\r\n$block(\"InterfacePaiement\", CheckoutUI)\r\n$block(\"ServiceR\u00e9approvisionnement\", ReorderService)\r\n$block(\"BaseDeDonn\u00e9esR\u00e9gionale\", RegionalDatastore)\r\n\r\n$testCase(\"Test du flux de paiement\", TCheckout)\r\n$testCase(\"Test de r\u00e9approvisionnement\", TReorder)\r\n$testCase(\"Audit de r\u00e9sidence\", TResidency)\r\n\r\n$containment(ReqBiz, ReqUx)\r\n$containment(ReqBiz, ReqReorder)\r\n$deriveReqt(ReqUx, ReqBiz)\r\n$deriveReqt(ReqReorder, ReqBiz)\r\n\r\n$satisfy(CheckoutUI, ReqUx)\r\n$satisfy(ReorderService, ReqReorder)\r\n$satisfy(RegionalDatastore, ReqResidency)\r\n\r\n$verify(TCheckout, ReqUx)\r\n$verify(TReorder, ReqReorder)\r\n$verify(TResidency, ReqResidency)\r\n\r\n$trace(ReqResidency, ReqBiz)\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:ZPLBRXf148Rtbdo72aaKa0p8SRpnoZOuagKi8i07QBeBA7ccUz8F15xb43b0TWddc9la9Adk6M2miH8sz51_LNtrwE7QUM5zoBFJapUaPHOKmiBxmbtr-spo97jBSa5atK9OeMYUzwJ9-qKcTFJgEgyoclRTsl63nM-1BEQeVLUHc5kHzueK-_J4FPAE8N9O5iFADbaN2FKvno6EehiZxvfgXJCHCl_PQ3-c9uJpJwzO1oOp5jvUf4zJav567rCPwnScidZo6S9uxNpvEqUuwmuC0rY9yEVx3vXOKVuIKyh8bnlEu01ND4SjqKNdTuqgswsRsKpm0rp1gDoe-3jax548JMWTYAdGocXTRbph3BZ0MtewWzRjEJ-rldpW41OBImv16V9W_n63QU3y4jw34jebaSAmWi8QkH34FtbBEJeEwdgjpdFMkrLHRYp5IY1uhiy9Zy622foBagY2V5WntRXYH73RFYN40csEdZD0-HE21jBBkaym8oquA5ecsqK4r92RoCQAIoWtNXH7wRX_ek1AUDs8gzqvSmwPaQp8HcYiGXlnFluN7hl6EDnO6QoDHyRW9o4Nw9cK9NmK7dYVKtEu7oaf1yR0TGZf6USuhoELcXbtf9eGkYrdPLj7qekZfCuR-PXwjNTEaIfathfW3GyCkNKYC0tfP6RuEHCrxBhk9nDECmxQRjrhhcqc97xTptMmGFbeWd-ux-o5OxHBadYizwcGrErQr72x5Oxlwx2c7bL48iFaKvs7mWikqM85vdah1-pLRatu55Tkbl7cAcoktcJBs3dYKOtj2EManZnqkWcAjbxrd2fjFPWAI_ABWozEckZsTgOBq7dTs4Z7NxICxwqaYDUcqhsqxHPt9s09tpzoitLxFvf6zgtnS0ZF2VQgPsq_NCCgtvAHMBjhSoFRrjJaRAJPctTx_JAyjxnnxSFjtvLxZLhnNy5V\" \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:TPJFJXin4CRlIBp3D6sbH2A9AEN22R8KgQTAJIBrwdY7h1MllTZZfCkf3z4dx9DqlFyJ0X92dlbcVf_7mzvx4ev2hYylFYWZTKWHCgB2tytdd28bPtlbWz3JGZYHgcq-apQV5rgOM3Nrb6grcVlIyy7XIr0ESpGqJPNOEf7FYghtvONVAHDRvB0l7klSgYmGVlOrJNYeJV5P14rFrj1IlI9SVtqdcrXj7NoygNw66gqCKWHPHvcDJaYHHlWsJMoUevC8oz8Jvl3lpz-X6rWv8L5ib5PKnhfFW-kDHulWkRFtTroJ1kwIy1pXOIDCQasKZAvYjuLwlOBHuffFerM6i6dAm6T2Qt1rhOoreg-5JGdNjv_Xe2XJ1kXWuIMm1fsVZIQdLf8CvSu6WlMl6hh-pRHbn_Jr_MeY_ze32DW6z0HaWP-pq4Xiect3n61IT70BN5YSG_umE4sqaZl6MSVQ6jmS8ltBMJg3cEsGWZFAR446JvPVWKDL9ISBmRwAu6GcF4OlrY08ISgQCqOU1GacUvMYaMNheZb67pTdVJ3LyGwiUmDfRDJCc-CEjmoihyxCZRPorqzw_PsxzeT9hsWci4ItLn8hFyF0aJ8IX8utgEnKufDOJIT-geIdCNZgf_YAAuvprQgDJewq3RbJDUTJKJChU0YfQdHDg8PB_kyIgbhBSRlGrOvDtayEKFn7xP5ZbI1kPgrxc-kMfnEmnFCdo3-NutxO0tgRF9xngODUTJBSusMfUNksnDfkf0DQcnhw763wTBTzRzjJ_AQCZtUqk-uzcfI_bly1\" 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><strong>En le lisant :<\/strong> L&#8217;exigence m\u00e9tier <code data-backticks=\"1\">B1<\/code> ancre tout le reste. Les exigences syst\u00e8me <code data-backticks=\"1\">S1<\/code> et <code data-backticks=\"1\">S2<\/code> sont <em>d\u00e9riv\u00e9es de<\/em> elle (le \u00ab pourquoi \u00bb), tandis que <code data-backticks=\"1\">S3<\/code> (r\u00e9sidence des donn\u00e9es) est une <em>tra\u00e7able<\/em> contrainte li\u00e9e uniquement par <code data-backticks=\"2\">`\u00abtrace\u00bb`<\/code>. Chaque exigence syst\u00e8me est <em>satisfaite<\/em> par un composant et <em>v\u00e9rifi\u00e9<\/em> par un test. Si <code data-backticks=\"1\">B1<\/code>change, ce diagramme vous indique instantan\u00e9ment quels composants et tests sont concern\u00e9s.<\/p>\n<hr\/>\n<h2>4. Comment en construire un (flux de travail pratique)<\/h2>\n<ol>\n<li><strong>Commencez par le besoin de niveau sup\u00e9rieur.<\/strong> Normalement une exigence m\u00e9tier ou d&#8217;un intervenant. Donnez-lui un espace d&#8217;identification clair (par exemple <code data-backticks=\"1\">B*<\/code> pour les affaires, <code data-backticks=\"1\">S*<\/code> pour le syst\u00e8me).<\/li>\n<li><strong>D\u00e9composez vers le bas avec une containment.<\/strong> Divisez les grandes exigences en exigences plus petites, <em>mesurables<\/em>des exigences. Un bon texte d&#8217;exigence contient un nombre (\u00ab en moins de 3 secondes \u00bb, \u00ab 15 % \u00bb, \u00ab dans les r\u00e9gions de l&#8217;UE \u00bb).<\/li>\n<li><strong>Ajoutez des liens de d\u00e9rivation l\u00e0 o\u00f9 un enfant est une reformulation concr\u00e8te<\/strong>, et non pas simplement une partie. Souvenez-vous : une paire peut \u00eatre reli\u00e9e par une containment <em>ou<\/em>ou par d\u00e9rivation, jamais les deux \u00e0 la fois.<\/li>\n<li><strong>Mapper la conception aux exigences avec <code data-backticks=\"1\">satisfaire<\/code>.<\/strong> Chaque bloc architectural doit satisfaire au moins une exigence. Les blocs qui ne satisfont rien sont des candidats \u00e0 la suppression ; les exigences satisfaites par rien sont des lacunes de couverture.<\/li>\n<li><strong>Mapper les tests avec <code data-backticks=\"1\">v\u00e9rifier<\/code>.<\/strong> Chaque exigence n\u00e9cessite un chemin de v\u00e9rification. Les exigences v\u00e9rifi\u00e9es par rien sont non testables \u2014 un signal d&#8217;alerte rouge.<\/li>\n<li><strong>Utilisez <code data-backticks=\"1\">tra\u00e7age<\/code> uniquement lorsque rien d&#8217;autre ne convient.<\/strong> C&#8217;est la porte de sortie pour les associations floues ; son usage excessif r\u00e9duit sa valeur.<\/li>\n<li><strong>Gardez-le sous environ 24 \u00e9l\u00e9ments.<\/strong> Les grands diagrammes deviennent illisibles. Divisez-les par sous-syst\u00e8me ou par cat\u00e9gorie d&#8217;exigence (s\u00e9curit\u00e9, performance, fonctionnelle).<\/li>\n<\/ol>\n<h3>Les trois questions de couverture<\/h3>\n<p>Appliquez cette liste de v\u00e9rification \u00e0 chaque diagramme d&#8217;exigence :<\/p>\n<ul>\n<li><strong>Chaque exigence est-elle satisfaite ?<\/strong> (si c&#8217;est une exigence syst\u00e8me, quelque chose doit la r\u00e9aliser)<\/li>\n<li><strong>Chaque exigence est-elle v\u00e9rifi\u00e9e ?<\/strong> (quelque chose doit la prouver)<\/li>\n<li><strong>Chaque exigence remonte jusqu&#8217;\u00e0 un besoin ?<\/strong> (pas d&#8217;exigences orphelines flottant sans justification m\u00e9tier)<\/li>\n<\/ul>\n<p>Tout \u00ab non \u00bb est une constatation.<\/p>\n<hr\/>\n<h2>5. Application aux syst\u00e8mes informatiques \u2014 Mod\u00e8les et pi\u00e8ges<\/h2>\n<h3>Bonnes pratiques<\/h3>\n<ul>\n<li><strong>Exigence distincte <em>types<\/em> visuellement.<\/strong> Vous pouvez st\u00e9r\u00e9otyper les exigences (<code data-backticks=\"1\">\u00abfonctionnel\u00bb<\/code>, <code data-backticks=\"1\">\u00abperformance\u00bb<\/code>, <code data-backticks=\"1\">\u00abs\u00e9curit\u00e9\u00bb<\/code>, <code data-backticks=\"1\">\u00abergonomie\u00bb<\/code>) afin que les exigences non fonctionnelles se distinguent des exigences fonctionnelles.<\/li>\n<li><strong>Gardez la hi\u00e9rarchie des identifiants significative.<\/strong> <code data-backticks=\"1\">2.3.4<\/code> doit indiquer \u00e0 un lecteur que cette exigence se trouve sous le module 2, la fonctionnalit\u00e9 3, la sous-fonctionnalit\u00e9 4. La coh\u00e9rence entre les diagrammes et votre outil ALM est importante.<\/li>\n<li><strong>Mod\u00e9lisez la source.<\/strong> Ajoutez une <code data-backticks=\"1\">source<\/code> propri\u00e9t\u00e9 (r\u00e9glementaire, nom du partie prenante, document des exigences du march\u00e9). Tra\u00e7abilit\u00e9 vers <em>origine<\/em> est souvent plus important que la tra\u00e7abilit\u00e9 vers la conception.<\/li>\n<li><strong>Un diagramme, une pr\u00e9occupation.<\/strong> Un diagramme de satisfaction (revue de conception) et un diagramme de v\u00e9rification (revue de test) ont des publics diff\u00e9rents. N&#8217;essayez pas de tout regrouper dans une seule image, y compris les deux et toute la hi\u00e9rarchie.<\/li>\n<\/ul>\n<h3>P\u00e9ch\u00e9s courants<\/h3>\n<ul>\n<li><strong>Confusion entre d\u00e9rivation et containment.<\/strong> Ils ont l&#8217;air similaires mais signifient des choses diff\u00e9rentes. Le containment est <em>d\u00e9composition structurelle<\/em>; la d\u00e9rivation est <em>\u00e9volution logique<\/em> de l&#8217;intention. Les m\u00e9langer (ou les dessiner tous deux entre une paire) rend le mod\u00e8le invalide.<\/li>\n<li><strong>R\u00e9f\u00e9rence par ID au lieu de l&#8217;alias.<\/strong> Dans l&#8217;outil, les relations sont li\u00e9es \u00e0 l&#8217;\u00e9l\u00e9ment <em>alias<\/em>, et non aux cha\u00eenes d&#8217;ID lisibles par l&#8217;humain. Obtenez l&#8217;alias correct, sinon la relation cible silencieusement rien.<\/li>\n<li><strong>Traiter <code data-backticks=\"1\">tra\u00e7age<\/code> comme <code data-backticks=\"1\">satisfaire<\/code>.<\/strong> Un lien de tra\u00e7age ne pr\u00e9tend pas que la cible remplisse quoi que ce soit. Si vous voulez dire \u00ab ce composant impl\u00e9mente cette exigence \u00bb, utilisez <code data-backticks=\"2\">`\u00absatisfaire\u00bb`<\/code>.<\/li>\n<li><strong>Exigences sans num\u00e9ro.<\/strong> \u00ab Le syst\u00e8me doit \u00eatre rapide \u00bb ne peut pas \u00eatre v\u00e9rifi\u00e9. Une exigence sans seuil mesurable est un souhait, pas une exigence.<\/li>\n<li><strong>Laisser le diagramme devenir la sp\u00e9cification.<\/strong> Le diagramme montre <em>relations<\/em>; l&#8217;exigence <em>texte et propri\u00e9t\u00e9s<\/em> portent les d\u00e9tails. Gardez le texte pr\u00e9cis et attachez des propri\u00e9t\u00e9s (\u00e9tat, priorit\u00e9, risque) afin que le mod\u00e8le soit interrogeable.<\/li>\n<\/ul>\n<hr\/>\n<h2>6. Outils<\/h2>\n<p>Vous pouvez rendre ces diagrammes directement \u00e0 partir de la source PlantUML indiqu\u00e9e ci-dessus en utilisant <strong><a href=\"https:\/\/www.vpascode.com\/\">VPasCode<\/a><\/strong> \u2014 collez le code, et le diagramme s&#8217;affiche imm\u00e9diatement. \u00c0 partir de l\u00e0, vous pouvez \u00e9galement l&#8217;exporter ou le modifier.<\/p>\n<h3>R\u00e9f\u00e9rence rapide : macros d&#8217;\u00e9l\u00e9ments et de relations<\/h3>\n<p id=\"jyvwuSu\"><img alt=\"Interface VPasCode affichant les macros de diagramme de requ\u00eate SysML avec leurs \u00e9l\u00e9ments visuels rendus et leurs relations.\" class=\"alignnone size-full wp-image-21272\" decoding=\"async\" height=\"869\" loading=\"lazy\" sizes=\"auto, (max-width: 1917px) 100vw, 1917px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb5894df87b.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb5894df87b.png 1917w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb5894df87b-300x136.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb5894df87b-1024x464.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb5894df87b-768x348.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb5894df87b-1536x696.png 1536w\" width=\"1917\"\/><\/p>\n<pre class=\"lang-plantuml-snippet\"><code data-language=\"plantuml-snippet\">$requirement(\"Nom\", alias, \"id\", \"Texte de la exigence\")\r\n$block(\"NomBloc\", alias)\r\n$testCase(\"NomCasTest\", alias)\r\n\r\n$containment(aliasParent, aliasEnfant)\r\n$deriveReqt(aliasEnfant, aliasParent)\r\n$satisfy(aliasBloc, aliasExigence)\r\n$verify(aliasCasTest, aliasExigence)\r\n$refine(aliasMod\u00e8le, aliasExigence)\r\n$trace(aliasSource, aliasCible)\r\n$copy(aliasSource, aliasCible)\r\n<\/code><\/pre>\n<hr\/>\n<h2>R\u00e9sum\u00e9<\/h2>\n<p class=\"\">Un diagramme d&#8217;exigences est le <strong>c\u0153ur de tra\u00e7abilit\u00e9<\/strong> d&#8217;un mod\u00e8le. Pour les syst\u00e8mes informatiques, il r\u00e9pond aux trois questions pos\u00e9es \u00e0 chaque audit, revue de conception ou demande de modification : <em>Pourquoi cela existe-t-il ? Qu&#8217;est-ce qui l&#8217;impl\u00e9mente ? Qu&#8217;est-ce qui le prouve ?<\/em> Utilis\u00e9 correctement \u2014 avec des textes d&#8217;exigences mesurables, des s\u00e9mantiques de relations correctes et des v\u00e9rifications rigoureuses de couverture \u2014 il transforme les exigences d&#8217;un document statique en un mod\u00e8le vivant et interrogeable, qui maintient la conception, le code et les tests align\u00e9s sur l&#8217;intention m\u00e9tier.<\/p>\n<h2>R\u00e9f\u00e9rence<\/h2>\n<ol>\n<li><a href=\"https:\/\/guides.visual-paradigm.com\/vpascode-ai-assisted-diagram-as-code-with-plantuml-mermaid-and-graphviz\/\"><strong>VPasCode : G\u00e9n\u00e9ration de diagrammes assist\u00e9e par IA au format Diagramme-en-Code avec PlantUML, Mermaid et Graphviz<\/strong><\/a>: Guide officiel couvrant la g\u00e9n\u00e9ration de diagrammes assist\u00e9e par IA, les flux de modification et le support multi-DSL incluant PlantUML, Mermaid et Graphviz.<\/li>\n<li><a href=\"https:\/\/blog.visual-paradigm.com\/visual-paradigm-vpascode-comprehensive-guide\/\"><strong>Visual Paradigm VPasCode : Guide complet<\/strong><\/a>: Aper\u00e7u d\u00e9taill\u00e9 des fonctionnalit\u00e9s de VPasCode, des utilisateurs cibl\u00e9s (d\u00e9veloppeurs, architectes, analystes) et de son r\u00f4le dans les flux de documentation Agile.<\/li>\n<li><a href=\"https:\/\/www.vpascode.com\/docs\/vpascode-docs\/introduction-getting-started\/welcome-to-vpascode\/\"><strong>Bienvenue sur Visual Paradigm VPasCode : Le passage au Diagramme-en-Code (DaC)<\/strong><\/a>: Introduction \u00e0 la plateforme unifi\u00e9e, expliquant les avantages des flux de travail texte-vers-diagramme et de l&#8217;ing\u00e9nierie automatique des mises en page.<\/li>\n<li><a href=\"https:\/\/www.vpascode.com\/docs\/vpascode-docs\/introduction-getting-started\/60-second-vpascode-quickstart-guide\/\"><strong>Guide de d\u00e9marrage rapide en 60 secondes | Guide VPasCode : Texte vers diagramme<\/strong><\/a>: Parcours \u00e9tape par \u00e9tape pour cr\u00e9er, personnaliser et exporter des diagrammes \u00e0 l&#8217;aide de l&#8217;\u00e9diteur bas\u00e9 sur navigateur avec aper\u00e7u en temps r\u00e9el.<\/li>\n<li><a href=\"https:\/\/updates.visual-paradigm.com\/releases\/new-in-vpascode-ai-uml-profile-diagram-generator\/\"><strong>Nouveau dans VPasCode : G\u00e9n\u00e9rateur de diagrammes de profil UML par IA<\/strong><\/a>: Mise \u00e0 jour produit pr\u00e9sentant la g\u00e9n\u00e9ration de diagrammes de profil UML par IA \u00e0 l&#8217;aide de prompts en anglais courant, avec un exemple pour la conformit\u00e9 \u00e0 la confidentialit\u00e9 des donn\u00e9es de sant\u00e9.<\/li>\n<li><a href=\"https:\/\/www.vpascode.com\/revolutionize-your-workflow-introducing-native-ai-diagram-generation-in-vpascode\/\"><strong>G\u00e9n\u00e9ration native de diagrammes par IA dans Visual Paradigm VPasCode<\/strong><\/a>: Annonce des capacit\u00e9s int\u00e9gr\u00e9es d&#8217;IA pour g\u00e9n\u00e9rer, modifier et corriger des diagrammes via des prompts en langage naturel directement dans l&#8217;\u00e9diteur.<\/li>\n<li><a href=\"https:\/\/www.vpascode.com\/features\/vpascode-integrations\/\"><strong>G\u00e9n\u00e9rateur de diagrammes et outils de productivit\u00e9 aliment\u00e9s par l&#8217;IA | VPasCode<\/strong><\/a>: Aper\u00e7u des int\u00e9grations de VPasCode avec les chatbots IA, Visual Paradigm Desktop et OpenDocs pour des pipelines de documentation optimis\u00e9s.<\/li>\n<li><a href=\"https:\/\/www.vpascode.com\/what-is-the-best-plantuml-alternative-and-why-developers-are-switching\/\"><strong>Meilleurs alternatives \u00e0 PlantUML et \u00e9diteurs gratuits de diagrammes en code<\/strong><\/a>: Matrice de comparaison des alternatives \u00e0 PlantUML, mettant en \u00e9vidence le support multi-DSL de VPasCode, ses fonctionnalit\u00e9s IA et son approche sans configuration bas\u00e9e sur navigateur.<\/li>\n<li><a href=\"https:\/\/www.vpascode.com\/features\/diagram-as-code-editor\/\"><strong>\u00c9diteur de diagrammes en code : transformez du texte en diagramme instantan\u00e9ment<\/strong><\/a>: Aper\u00e7u des fonctionnalit\u00e9s couvrant la d\u00e9tection automatique du format, le rendu en temps r\u00e9el et les options d&#8217;exportation multi-format (SVG, PNG, PDF).<\/li>\n<li><a href=\"https:\/\/blog.visual-paradigm.com\/guide-to-the-visual-paradigm-ecosystem\/\"><strong>Guide de l&#8217;\u00e9cosyst\u00e8me Visual Paradigm<\/strong><\/a>: Explique quand utiliser VPasCode plut\u00f4t que VP Desktop, avec des conseils sur la maintenance des diagrammes sous contr\u00f4le de version et l&#8217;int\u00e9gration avec la documentation vivante.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>1. Qu&#8217;est-ce qu&#8217;un diagramme d&#8217;exigences ? Un diagramme d&#8217;exigences est un type de diagramme SysML dont le seul objectif est<\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","source_url":"","source_h1_title":"","fifu_image_url":"","fifu_image_alt":"","_fifu_image_alt":"","fifu_alt":"","_fifu_alt":"","fifu_image_title":"","_fifu_image_title":"","fifu_input_alt":"","vp_image_hash":"","footnotes":""},"categories":[3,117],"tags":[],"asset-category":[],"class_list":["post-12668","post","type-post","status-publish","format-standard","hentry","category-unified-modeling-language","category-vpascode"],"source_url":"","source_h1_title":"","fifu_image_url":"","fifu_image_alt":"","vp_image_hash":"","yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>VPasCode (Diagram en code) pour le diagramme de exigences SysML \u2014 Un guide complet - Cyberm\u00e9diane<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.cybermedian.com\/fr\/sysml-requirement-diagram-a-comprehensive-guide\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"VPasCode (Diagram en code) pour le diagramme de exigences SysML \u2014 Un guide complet - Cyberm\u00e9diane\" \/>\n<meta property=\"og:description\" content=\"1. Qu&#8217;est-ce qu&#8217;un diagramme d&#8217;exigences ? Un diagramme d&#8217;exigences est un type de diagramme SysML dont le seul objectif est\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cybermedian.com\/fr\/sysml-requirement-diagram-a-comprehensive-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"Cyberm\u00e9diane\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-29T06:31:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-12T05:50:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb59a6aaa21.png\" \/>\n<meta name=\"author\" content=\"curtis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"curtis\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.cybermedian.com\/fr\/sysml-requirement-diagram-a-comprehensive-guide\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.cybermedian.com\/fr\/sysml-requirement-diagram-a-comprehensive-guide\/\"},\"author\":{\"name\":\"curtis\",\"@id\":\"https:\/\/www.cybermedian.com\/fr\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d\"},\"headline\":\"VPasCode (Diagram en code) pour le diagramme de exigences SysML \u2014 Un guide complet\",\"datePublished\":\"2026-09-29T06:31:52+00:00\",\"dateModified\":\"2026-10-12T05:50:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.cybermedian.com\/fr\/sysml-requirement-diagram-a-comprehensive-guide\/\"},\"wordCount\":2198,\"image\":{\"@id\":\"https:\/\/www.cybermedian.com\/fr\/sysml-requirement-diagram-a-comprehensive-guide\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb59a6aaa21.png\",\"articleSection\":[\"Unified Modeling Language\",\"VPasCode\"],\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.cybermedian.com\/fr\/sysml-requirement-diagram-a-comprehensive-guide\/\",\"url\":\"https:\/\/www.cybermedian.com\/fr\/sysml-requirement-diagram-a-comprehensive-guide\/\",\"name\":\"VPasCode (Diagram en code) pour le diagramme de exigences SysML \u2014 Un guide complet - Cyberm\u00e9diane\",\"isPartOf\":{\"@id\":\"https:\/\/www.cybermedian.com\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.cybermedian.com\/fr\/sysml-requirement-diagram-a-comprehensive-guide\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.cybermedian.com\/fr\/sysml-requirement-diagram-a-comprehensive-guide\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb59a6aaa21.png\",\"datePublished\":\"2026-09-29T06:31:52+00:00\",\"dateModified\":\"2026-10-12T05:50:48+00:00\",\"author\":{\"@id\":\"https:\/\/www.cybermedian.com\/fr\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.cybermedian.com\/fr\/sysml-requirement-diagram-a-comprehensive-guide\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.cybermedian.com\/fr\/sysml-requirement-diagram-a-comprehensive-guide\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.cybermedian.com\/fr\/sysml-requirement-diagram-a-comprehensive-guide\/#primaryimage\",\"url\":\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb59a6aaa21.png\",\"contentUrl\":\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb59a6aaa21.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.cybermedian.com\/fr\/sysml-requirement-diagram-a-comprehensive-guide\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.cybermedian.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"VPasCode (Diagram en code) pour le diagramme de exigences SysML \u2014 Un guide complet\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.cybermedian.com\/fr\/#website\",\"url\":\"https:\/\/www.cybermedian.com\/fr\/\",\"name\":\"Cyberm\u00e9diane\",\"description\":\"Apprendre une nouvelle chose tous les jours\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.cybermedian.com\/fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.cybermedian.com\/fr\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d\",\"name\":\"curtis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.cybermedian.com\/fr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g\",\"caption\":\"curtis\"},\"url\":\"https:\/\/www.cybermedian.com\/fr\/author\/curtis\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"VPasCode (Diagram en code) pour le diagramme de exigences SysML \u2014 Un guide complet - Cyberm\u00e9diane","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.cybermedian.com\/fr\/sysml-requirement-diagram-a-comprehensive-guide\/","og_locale":"fr_FR","og_type":"article","og_title":"VPasCode (Diagram en code) pour le diagramme de exigences SysML \u2014 Un guide complet - Cyberm\u00e9diane","og_description":"1. Qu&#8217;est-ce qu&#8217;un diagramme d&#8217;exigences ? Un diagramme d&#8217;exigences est un type de diagramme SysML dont le seul objectif est","og_url":"https:\/\/www.cybermedian.com\/fr\/sysml-requirement-diagram-a-comprehensive-guide\/","og_site_name":"Cyberm\u00e9diane","article_published_time":"2026-09-29T06:31:52+00:00","article_modified_time":"2026-10-12T05:50:48+00:00","og_image":[{"url":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb59a6aaa21.png","type":"","width":"","height":""}],"author":"curtis","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"curtis","Dur\u00e9e de lecture estim\u00e9e":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.cybermedian.com\/fr\/sysml-requirement-diagram-a-comprehensive-guide\/#article","isPartOf":{"@id":"https:\/\/www.cybermedian.com\/fr\/sysml-requirement-diagram-a-comprehensive-guide\/"},"author":{"name":"curtis","@id":"https:\/\/www.cybermedian.com\/fr\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d"},"headline":"VPasCode (Diagram en code) pour le diagramme de exigences SysML \u2014 Un guide complet","datePublished":"2026-09-29T06:31:52+00:00","dateModified":"2026-10-12T05:50:48+00:00","mainEntityOfPage":{"@id":"https:\/\/www.cybermedian.com\/fr\/sysml-requirement-diagram-a-comprehensive-guide\/"},"wordCount":2198,"image":{"@id":"https:\/\/www.cybermedian.com\/fr\/sysml-requirement-diagram-a-comprehensive-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb59a6aaa21.png","articleSection":["Unified Modeling Language","VPasCode"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/www.cybermedian.com\/fr\/sysml-requirement-diagram-a-comprehensive-guide\/","url":"https:\/\/www.cybermedian.com\/fr\/sysml-requirement-diagram-a-comprehensive-guide\/","name":"VPasCode (Diagram en code) pour le diagramme de exigences SysML \u2014 Un guide complet - Cyberm\u00e9diane","isPartOf":{"@id":"https:\/\/www.cybermedian.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.cybermedian.com\/fr\/sysml-requirement-diagram-a-comprehensive-guide\/#primaryimage"},"image":{"@id":"https:\/\/www.cybermedian.com\/fr\/sysml-requirement-diagram-a-comprehensive-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb59a6aaa21.png","datePublished":"2026-09-29T06:31:52+00:00","dateModified":"2026-10-12T05:50:48+00:00","author":{"@id":"https:\/\/www.cybermedian.com\/fr\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d"},"breadcrumb":{"@id":"https:\/\/www.cybermedian.com\/fr\/sysml-requirement-diagram-a-comprehensive-guide\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cybermedian.com\/fr\/sysml-requirement-diagram-a-comprehensive-guide\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.cybermedian.com\/fr\/sysml-requirement-diagram-a-comprehensive-guide\/#primaryimage","url":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb59a6aaa21.png","contentUrl":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/09\/img_6abb59a6aaa21.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.cybermedian.com\/fr\/sysml-requirement-diagram-a-comprehensive-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.cybermedian.com\/fr\/"},{"@type":"ListItem","position":2,"name":"VPasCode (Diagram en code) pour le diagramme de exigences SysML \u2014 Un guide complet"}]},{"@type":"WebSite","@id":"https:\/\/www.cybermedian.com\/fr\/#website","url":"https:\/\/www.cybermedian.com\/fr\/","name":"Cyberm\u00e9diane","description":"Apprendre une nouvelle chose tous les jours","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.cybermedian.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/www.cybermedian.com\/fr\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d","name":"curtis","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.cybermedian.com\/fr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g","caption":"curtis"},"url":"https:\/\/www.cybermedian.com\/fr\/author\/curtis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.cybermedian.com\/fr\/wp-json\/wp\/v2\/posts\/12668","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cybermedian.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cybermedian.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/fr\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/fr\/wp-json\/wp\/v2\/comments?post=12668"}],"version-history":[{"count":0,"href":"https:\/\/www.cybermedian.com\/fr\/wp-json\/wp\/v2\/posts\/12668\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.cybermedian.com\/fr\/wp-json\/wp\/v2\/media?parent=12668"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cybermedian.com\/fr\/wp-json\/wp\/v2\/categories?post=12668"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cybermedian.com\/fr\/wp-json\/wp\/v2\/tags?post=12668"},{"taxonomy":"asset-category","embeddable":true,"href":"https:\/\/www.cybermedian.com\/fr\/wp-json\/wp\/v2\/asset-category?post=12668"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}