diff --git a/docs/homelab-actuel/index.md b/docs/homelab-actuel/index.md index ce96488..a61edbc 100644 --- a/docs/homelab-actuel/index.md +++ b/docs/homelab-actuel/index.md @@ -26,6 +26,8 @@ Le diagramme illustre l'architecture complète de mon homelab actuel, incluant : ![Schéma d'architecture du homelab actuel](/img/diagrams/homelab-actuel-infra.png) +[📥 Télécharger le PDF](/img/diagrams/homelab-actuel-infra.pdf) + ### Infrastructure physique/virtuelle - Serveur dédié Ubuntu Server - Réseau local sécurisé avec DNS local (dnsmasq) diff --git a/docs/homelab-futur/premiere-version-ha-monomachine.md b/docs/homelab-futur/premiere-version-ha-monomachine.md index da37073..df2cffc 100644 --- a/docs/homelab-futur/premiere-version-ha-monomachine.md +++ b/docs/homelab-futur/premiere-version-ha-monomachine.md @@ -55,6 +55,8 @@ Le schéma illustre l'architecture réseau de cette première version : ![Schéma réseau du homelab futur](/img/diagrams/homelab-futur-network.png) +[📥 Télécharger le PDF](/img/diagrams/homelab-futur-network.pdf) + ### Composants de l'architecture **Infrastructure physique/virtuelle** : diff --git a/docusaurus.config.ts b/docusaurus.config.ts index f5325ca..9e63b47 100644 --- a/docusaurus.config.ts +++ b/docusaurus.config.ts @@ -21,6 +21,10 @@ const config: Config = { ], ], + plugins: [ + 'docusaurus-plugin-image-zoom', + ], + title: 'TellServ Tech Blog', tagline: 'Recherches et réflexions sur les défis techniques', favicon: 'img/favicon.png', @@ -185,6 +189,16 @@ const config: Config = { minHeadingLevel: 2, maxHeadingLevel: 5, }, + zoom: { + selector: '.markdown :not(em) > img', + background: { + light: 'rgb(255, 255, 255)', + dark: 'rgb(50, 50, 50)' + }, + config: { + // options from medium-zoom: https://github.com/francoischalifour/medium-zoom#options + } + }, } satisfies Preset.ThemeConfig, }; diff --git a/i18n/en/docusaurus-plugin-content-docs/current/homelab-actuel/index.md b/i18n/en/docusaurus-plugin-content-docs/current/homelab-actuel/index.md index 3c60ce4..014edc9 100644 --- a/i18n/en/docusaurus-plugin-content-docs/current/homelab-actuel/index.md +++ b/i18n/en/docusaurus-plugin-content-docs/current/homelab-actuel/index.md @@ -26,6 +26,8 @@ The diagram illustrates the complete architecture of my current homelab, includi ![Current homelab architecture diagram](/img/diagrams/homelab-actuel-infra.png) +[📥 Download PDF](/img/diagrams/homelab-actuel-infra.pdf) + ### Physical/Virtual Infrastructure - Ubuntu Server dedicated server - Secure local network with local DNS (dnsmasq) diff --git a/i18n/en/docusaurus-plugin-content-docs/current/homelab-futur/premiere-version-ha-monomachine.md b/i18n/en/docusaurus-plugin-content-docs/current/homelab-futur/premiere-version-ha-monomachine.md index 768b99d..6c15c9a 100644 --- a/i18n/en/docusaurus-plugin-content-docs/current/homelab-futur/premiere-version-ha-monomachine.md +++ b/i18n/en/docusaurus-plugin-content-docs/current/homelab-futur/premiere-version-ha-monomachine.md @@ -28,6 +28,8 @@ This single-machine infrastructure allows acquiring hands-on experience with: ![Future homelab network diagram](/img/diagrams/homelab-futur-network.png) +[📥 Download PDF](/img/diagrams/homelab-futur-network.pdf) + ## What Can Be Learned This single-machine infrastructure allows acquiring essential skills: diff --git a/package-lock.json b/package-lock.json index e59850a..fa7828a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,6 +13,7 @@ "@docusaurus/preset-classic": "^3.9.2", "@easyops-cn/docusaurus-search-local": "^0.52.1", "clsx": "^2.1.1", + "docusaurus-plugin-image-zoom": "^3.0.1", "react": "^18.3.1", "react-dom": "^18.3.1" }, @@ -7863,6 +7864,19 @@ "node": ">=6" } }, + "node_modules/docusaurus-plugin-image-zoom": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/docusaurus-plugin-image-zoom/-/docusaurus-plugin-image-zoom-3.0.1.tgz", + "integrity": "sha512-mQrqA99VpoMQJNbi02qkWAMVNC4+kwc6zLLMNzraHAJlwn+HrlUmZSEDcTwgn+H4herYNxHKxveE2WsYy73eGw==", + "license": "MIT", + "dependencies": { + "medium-zoom": "^1.1.0", + "validate-peer-dependencies": "^2.2.0" + }, + "peerDependencies": { + "@docusaurus/theme-classic": ">=3.0.0" + } + }, "node_modules/dom-converter": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", @@ -11057,6 +11071,12 @@ "node": ">= 0.6" } }, + "node_modules/medium-zoom": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/medium-zoom/-/medium-zoom-1.1.0.tgz", + "integrity": "sha512-ewyDsp7k4InCUp3jRmwHBRFGyjBimKps/AJLjRSox+2q/2H4p/PNpQf+pwONWlJiOudkBXtbdmVbFjqyybfTmQ==", + "license": "MIT" + }, "node_modules/memfs": { "version": "4.51.0", "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.51.0.tgz", @@ -13649,6 +13669,27 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "license": "MIT" }, + "node_modules/path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", + "license": "MIT", + "dependencies": { + "path-root-regex": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/path-to-regexp": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz", @@ -16065,6 +16106,18 @@ "node": ">=4" } }, + "node_modules/resolve-package-path": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/resolve-package-path/-/resolve-package-path-4.0.3.tgz", + "integrity": "sha512-SRpNAPW4kewOaNUt8VPqhJ0UMxawMwzJD8V7m1cJfdSTK9ieZwS6K7Dabsm4bmLFM96Z5Y/UznrpG5kt1im8yA==", + "license": "MIT", + "dependencies": { + "path-root": "^0.1.1" + }, + "engines": { + "node": ">= 12" + } + }, "node_modules/resolve-pathname": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", @@ -17813,6 +17866,19 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/validate-peer-dependencies": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/validate-peer-dependencies/-/validate-peer-dependencies-2.2.0.tgz", + "integrity": "sha512-8X1OWlERjiUY6P6tdeU9E0EwO8RA3bahoOVG7ulOZT5MqgNDUO/BQoVjYiHPcNe+v8glsboZRIw9iToMAA2zAA==", + "license": "MIT", + "dependencies": { + "resolve-package-path": "^4.0.3", + "semver": "^7.3.8" + }, + "engines": { + "node": ">= 12" + } + }, "node_modules/value-equal": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", diff --git a/package.json b/package.json index 6404928..0ed169a 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "@docusaurus/preset-classic": "^3.9.2", "@easyops-cn/docusaurus-search-local": "^0.52.1", "clsx": "^2.1.1", + "docusaurus-plugin-image-zoom": "^3.0.1", "react": "^18.3.1", "react-dom": "^18.3.1" }, diff --git a/static/img/diagrams/homelab-actuel-infra.pdf b/static/img/diagrams/homelab-actuel-infra.pdf new file mode 100644 index 0000000..e23b2e0 Binary files /dev/null and b/static/img/diagrams/homelab-actuel-infra.pdf differ diff --git a/static/img/diagrams/homelab-futur-network.pdf b/static/img/diagrams/homelab-futur-network.pdf new file mode 100644 index 0000000..c84fd07 Binary files /dev/null and b/static/img/diagrams/homelab-futur-network.pdf differ