[[https://d2lang.com/|D2]] permet de créer des schémas via un fichier texte, tel que l'ancêtre [[https://graphviz.org/|Graphviz]] ou [[https://mermaid.js.org/|Mermaid]]. Je l'aime bien, car je le trouve simple, et il fait des schémas assez propre.. ====== Exemple de schéma ====== ===== Schema en couche ===== {{:l_atelier:couch_diagram.png|}} ---- grid-rows: 6 grid-gap: 20 style.fill: black NixOS: { width: 400 style.fill: "#5277C3" style.stroke: "#7c9ee8" style.font-color: white } Firewall: { width: 400 style.fill: "#DC143C" style.stroke: "#ff4757" style.font-color: white } Kernel: { style.fill: "#E74C3C" style.stroke: "#ec7063" style.font-color: white } SSH: { style.fill: "#2C3E50" style.stroke: "#34495E" style.font-color: white } Nginx: { style.fill: "#009639" style.stroke: "#00b347" style.font-color: white } "Journald & Files": { width: 400 style.fill: "#6C757D" style.stroke: "#95a5a6" style.font-color: white } Vector: { width: 400 style.fill: "#FF6B35" style.stroke: "#ff8c61" style.font-color: white } Reaction: { style.fill: "#9B59B6" style.stroke: "#b37fd6" style.font-color: white } VictoriaMetrics: { style.fill: "#F39C12" style.stroke: "#f5b041" style.font-color: white } ===== Diagramme réseaux ===== {{:l_atelier:network_diagram.png|}} ---- direction: right vars: { d2-config: { layout-engine: elk } } style.fill: "#222222" title: homelab network { shape: text near: top-center style: { font-size: 55 } } internet: internet internet.shape: cloud box: SFR Box\n internet -- box: {style.stroke: red} # vlan-adm mikrotik254: { eth01 eth02 eth03 eth04 } mikrotik253: { eth02 eth03 eth04 eth05 eth09 eth10 } mikrotik252: { eth02 eth03 eth04 eth05 } # Mikrotik254 box -- mikrotik254.eth01 -- mikrotik254.bridge: {style.stroke: red} mikrotik254.bridge -- mikrotik254.eth02: tagged VLAN WAR(2) {style.stroke: red} mikrotik254.bridge -- mikrotik254.eth02: tagged VLAN DMZ(32) {style.stroke: orange} mikrotik254.bridge -- mikrotik254.eth02: tagged VLAN ADM(240) {style.stroke: purple} mikrotik254.bridge -- mikrotik254.eth02: tagged VLAN LAN(254) {style.stroke: green} mikrotik254.bridge -- mikrotik254.eth03: tagged VLAN WAR(2) {style.stroke: red} mikrotik254.bridge -- mikrotik254.eth03: tagged VLAN DMZ(32) {style.stroke: orange} mikrotik254.bridge -- mikrotik254.eth03: tagged VLAN ADM(240) {style.stroke: purple} mikrotik254.bridge -- mikrotik254.eth03: tagged VLAN LAN(254) {style.stroke: green} mikrotik254.bridge -- mikrotik254.eth04: LAN {style.stroke: green} mikrotik254.bridge -- mikrotik254.eth10: ADM {style.stroke: purple} mikrotik254.eth02 -- mikrotik253.eth02: Trunk: { style.stroke-width: 8 style.font-color: white } mikrotik254.eth03 -- mikrotik252.eth02: Trunk: { style.stroke-width: 8 style.font-color: white } mikrotik254.eth04 -- android tv: LAN { style.stroke: green style.font-color: white } # mikrotik253 mikrotik253.eth02 -- mikrotik253.router: Trunk: {style.stroke-width: 8} mikrotik253.router -- mikrotik253.eth03: LAN {style.stroke: green} mikrotik253.router -- mikrotik253.eth05: LAN {style.stroke: green} mikrotik253.router -- mikrotik253.eth09: tagged VLAN DMZ(32) {style.stroke: orange} mikrotik253.router -- mikrotik253.eth09: tagged VLAN ADM(240) {style.stroke: purple} mikrotik253.router -- mikrotik253.eth10: ADM {style.stroke: purple} mikrotik253.eth03 -- laptop: LAN { style.stroke: green style.font-color: white } mikrotik253.eth05 -- philips hue: LAN { style.stroke: green style.font-color: white } mikrotik253.eth09 -- hype10: Trunk: { style.stroke-width: 8 style.font-color: white } # mikrotik252 mikrotik252.eth02 -- mikrotik252.router: Trunk: {style.stroke-width: 8} mikrotik252.router -- mikrotik252.eth03: LAN {style.stroke: green} mikrotik252.router -- mikrotik252.eth04: LAN {style.stroke: green} mikrotik252.router -- mikrotik252.eth05: LAN {style.stroke: green}