← Retour aux projets

Gouvernance

Audit-as-a-service · accès protégé

Plateforme d'« audit-as-a-service » — actuellement utilisée pour le projet Cyber Admin de Liora (audit de gouvernance SI DATASC.SEA). Elle réunit deux livrables d'ordinaire séparés : un dossier de conseil en gouvernance SI (audit, analyse de risques AMDEC, 4 architectures cibles chiffrées) et une application web « centre de commandement » qui le rend consultable, fidèle et sécurisé. Site statique Astro sur Cloudflare, recherche ⌘K Pagefind, diagrammes Mermaid, verrou PIN serveur. Zéro dépendance externe au runtime.

FR EN
76K Mots d'analyse
64 Risques AMDEC
4 Architectures cibles
29 Fiches Markdown
4 230 Lignes (site)
5 Livrables PDF

Pourquoi j'ai construit ça

Le projet Cyber Admin de Liora demandait un audit de gouvernance SI complet : analyse de risques, architecture cible, plan de continuité. Un dossier de conseil classique, ça reste un PDF que personne n'ouvre. J'en ai fait un produit : gouvernance.mindvisionstudio.com est une plateforme « audit-as-a-service » qui prend le dossier DATASC.SEA — 76 000 mots d'analyse, 64 risques AMDEC cotés, 4 architectures cibles chiffrées — et le rend consultable, interactif et sécurisé, sur desktop comme mobile. Site statique Astro servi par l'edge Cloudflare, recherche plein-texte ⌘K indexée au build, diagrammes Mermaid à la demande, et un verrou PIN serveur qui garantit la confidentialité du dossier. Le gabarit est réutilisable : un audit, un espace dédié.

Décisions techniques structurantes

01
Restituer un audit comme un produit

Le projet réunit deux livrables d'ordinaire séparés : le dossier de conseil en gouvernance SI (audit, AMDEC, architecture cible) et une application web « centre de commandement » qui le rend vivant. La valeur reste le travail d'analyse (~55 %) ; la couche logicielle (~45 %) le transforme en outil de pilotage interactif, réutilisable pour la soutenance comme pour un client réel.

02
Sélecteur d'architecture global, 4 scénarios chiffrés

Un sélecteur unique fait basculer tout le site (cartographie, dimensionnement, budget) sur l'une des 4 approches cibles, chacune durcie « contre-jury » avec CAPEX, OPEX et TCO sur 5 ans (de 372 k€ à 813 k€). L'audit et les risques sont communs aux 4 ; seule l'architecture varie — l'hybride souverain est retenu (~405 k€, 15 % sous la référence).

03
Verrou serveur, zéro dépendance externe au runtime

Aucune page de contenu n'est servie sans cookie valide (Worker Cloudflare). Cookie signé HMAC-SHA256 via Web Crypto (HttpOnly, expiry 30 j, auto-login), comparaison du PIN à temps constant (timingSafeEqual, pas de fuite par timing), anti-brute-force 10 échecs / 15 min par IP en KV, secrets hors code. Polices auto-hébergées, recherche et données calculées au build : rien à fetch en production.

04
Pipeline de contenu sur-mesure (6 plugins)

Le contenu Markdown (29 fiches + rapport) passe par 6 plugins remark/rehype maison : wikilinks Obsidian → liens internes, callouts → notes pédagogiques pilotées par le toggle Étude/Propre, coloration des IDs de risques / IP / scores, tables → cartes sur mobile. Le dashboard AMDEC est parsé au build depuis un TSV — pas de base de données applicative.

Le challenge non-trivial

Garantir la confidentialité du dossier sans base de données ni dépendance runtime

Un dossier d'audit de gouvernance contient des plans réseau, des IP, des vulnérabilités exploitables : il ne doit jamais fuiter. Le défi : verrouiller un site entièrement statique sans backend applicatif. Réponse : un Worker Cloudflare intercepte chaque requête et refuse toute page de contenu sans cookie valide. Le PIN est comparé à temps constant, le cookie est signé HMAC-SHA256 (Web Crypto), et un compteur KV bloque l'IP après 10 échecs en 15 min. Tout le reste est résolu au build (recherche Pagefind, dashboard AMDEC, polices auto-hébergées) — zéro service tiers appelé au runtime, surface d'attaque minimale.

Leçon retenue

Un livrable de conseil prend dix fois plus de valeur quand il devient un produit consultable et sécurisé. Le statique + edge n'interdit pas la confidentialité : un verrou serveur bien fait (cookie HMAC, PIN timing-safe, anti-brute-force KV) protège un site 100 % pré-rendu sans rien sacrifier à la vitesse ni au coût. Et le gabarit « audit-as-a-site » est réutilisable — un espace dédié par mission, le contenu change, l'ingénierie reste.

Fonctionnalités

🛰️
Explorateur de risques

Tri / filtre / recherche par sévérité & domaine sur les 64 lignes du tableau AMDEC (55 vulnérabilités cotées Risque /10 = Impact /5 + Probabilité /5)

🏗️
Sélecteur d'architecture global

Bascule l'ensemble du site (archi, dimensionnement, budget) sur l'une des 4 cibles chiffrées (hybride retenue, full on-prem, full cloud, budget Proxmox) — CAPEX / OPEX / TCO 5 ans

📚
29 fiches + double lecture

Base de connaissances numérotée chargée depuis la source Markdown, toggle Étude / Propre qui masque ou révèle les notes pédagogiques

Palette ⌘K · recherche statique

Recherche plein-texte 100 % statique indexée au build (Pagefind), aucun backend de recherche, nav latérale groupée + drawer mobile

🔐
Verrou PIN serveur

Aucune page de contenu n'est servie sans cookie valide — cookie signé HMAC-SHA256 (HttpOnly, expiry 30 j), comparaison à temps constant, anti-brute-force 10 échecs / 15 min par IP en KV

📄
Rapport complet + livrables

Rapport web fidèle à la source PDF + visionneuse des 5 livrables PDF (~5,6 Mo), exports CSV / TSV du tableau de risques

🗺️
Cartographie Mermaid

Architecture cible + Gantt rendus côté client à la demande (lazy), uniquement sur les pages à cartographie

📊
Dashboard parsé au build

Compteurs DIC, top 10 des risques et répartition par domaine calculés au build depuis le TSV AMDEC — pas de base de données applicative

Stack technique

Génération
Astro 5.7 (statique)View TransitionsTypeScript strict
Hébergement
Cloudflare PagesWorker (verrou)KV (anti-brute-force)
Recherche
Pagefind (statique)Palette ⌘K
Contenu
6 plugins remark/rehype maisonMarkdown / wikilinksMermaid (lazy)
Polices
@fontsource Inter · Space Grotesk · JetBrains Mono (auto-hébergées)
Sécurité
PIN serveurCookie HMAC-SHA256timingSafeEqualSecrets Cloudflare