From f83eb53cf4f6f493a16f8f26e1a0288ee3ca0c60 Mon Sep 17 00:00:00 2001 From: LathanDevers Date: Tue, 28 Jul 2026 11:10:36 +0200 Subject: [PATCH] first test commit --- .gitea/workflows/deploy-test.yml | 61 ++++ package-lock.json | 58 ++++ package.json | 1 + src/App.css | 1 - src/App.tsx | 27 +- src/components/ScrollToTop.tsx | 13 + src/hooks/useTheme.ts | 27 ++ src/index.css | 22 ++ src/pages/ConditionsGenerales.tsx | 98 ++++++ src/pages/GiseLandingPage.tsx | 302 ++++++++++++++++ src/pages/LandingPage.tsx | 459 ------------------------- src/pages/MentionsLegales.tsx | 142 ++++++++ src/pages/PolitiqueConfidentialite.tsx | 141 ++++++++ src/pages/PolitiqueCookies.tsx | 111 ++++++ 14 files changed, 996 insertions(+), 467 deletions(-) create mode 100644 .gitea/workflows/deploy-test.yml create mode 100644 src/components/ScrollToTop.tsx create mode 100644 src/hooks/useTheme.ts create mode 100644 src/pages/ConditionsGenerales.tsx create mode 100644 src/pages/GiseLandingPage.tsx delete mode 100644 src/pages/LandingPage.tsx create mode 100644 src/pages/MentionsLegales.tsx create mode 100644 src/pages/PolitiqueConfidentialite.tsx create mode 100644 src/pages/PolitiqueCookies.tsx diff --git a/.gitea/workflows/deploy-test.yml b/.gitea/workflows/deploy-test.yml new file mode 100644 index 0000000..27e4910 --- /dev/null +++ b/.gitea/workflows/deploy-test.yml @@ -0,0 +1,61 @@ +name: Deploy GISE landing page test + +on: + push: + branches: + - test # Branche principale confirmée + +jobs: + build-and-deploy: + runs-on: ubuntu-latest + + # 1. On désactive la vérification SSL pour tout le conteneur du job (Node.js et Git) + env: + GIT_SSL_NO_VERIFY: "true" + NODE_TLS_REJECT_UNAUTHORIZED: "0" + + steps: + - name: Patch DNS local pour Gitea Runner + run: sudo echo "10.10.40.31 git.bunker.lan" | sudo tee -a /etc/hosts + + # 2. On force l'exécutable Git interne à ignorer la vérification de l'autorité locale + - name: Configuration de Git pour SSL + run: git config --global http.sslVerify false + + - name: Récupération du code + uses: actions/checkout@v4 + + - name: Configuration de Node.js + uses: actions/setup-node@v4 + with: + node-version: 22 + + - name: Installation des dépendances (React/Vite) + run: npm ci + + - name: Compilation de la Build + run: npm run build + + - name: Installation de lftp + run: sudo apt-get update && sudo apt-get install -y lftp + + - name: Déploiement FTP (10.10.40.12) + env: + FTP_USER: ${{ secrets.FTP_USER_TEST }} # Le compte FTP enfermé dans aegis.gise.be + FTP_PASSWORD: ${{ secrets.FTP_PASSWORD_TEST }} + FTP_SERVER: ${{ secrets.FTP_SERVER }} # Doit contenir : 10.10.40.12 + run: | + cat << EOF > script.lftp + set ftp:passive-mode true + set ftp:ssl-allow no + set ssl:verify-certificate no + set net:timeout 5 + set net:max-retries 2 + set dns:fatal-timeout 2 + open -u "${FTP_USER}","${FTP_PASSWORD}" "${FTP_SERVER}" + cd home/${FTP_USER} + mirror -R --delete --verbose dist/ ./ + quit + EOF + + lftp -f script.lftp \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index ec0dcbf..b360c4b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,7 @@ "lucide-react": "^1.27.0", "react": "^19.2.7", "react-dom": "^19.2.7", + "react-router-dom": "^7.11.0", "tailwindcss": "^4.3.3" }, "devDependencies": { @@ -1788,6 +1789,19 @@ "dev": true, "license": "MIT" }, + "node_modules/cookie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", + "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -2879,6 +2893,44 @@ "react": "^19.2.8" } }, + "node_modules/react-router": { + "version": "7.18.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.18.1.tgz", + "integrity": "sha512-GDLgg3i3uM0aeJO3Fm+TCS+sDQ7gu12T6x0qdTEzcwqEfleci7JwugVNIF3U//0FWKnJT7ptG+20B2jfDqnZAg==", + "license": "MIT", + "dependencies": { + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/react-router-dom": { + "version": "7.18.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.18.1.tgz", + "integrity": "sha512-KaZh+X/6UtEp28x51AUYZDMg9NGoz2ja3dNHa+ta/tk40vCzKhQ/RypCWBMLbmDr6//E24Vv5uPsrqXFozdkAg==", + "license": "MIT", + "dependencies": { + "react-router": "7.18.1" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, "node_modules/rolldown": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.1.5.tgz", @@ -2928,6 +2980,12 @@ "semver": "bin/semver.js" } }, + "node_modules/set-cookie-parser": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz", + "integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==", + "license": "MIT" + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", diff --git a/package.json b/package.json index 5fbe8ad..db02715 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "lucide-react": "^1.27.0", "react": "^19.2.7", "react-dom": "^19.2.7", + "react-router-dom": "^7.11.0", "tailwindcss": "^4.3.3" }, "devDependencies": { diff --git a/src/App.css b/src/App.css index a461c50..e69de29 100644 --- a/src/App.css +++ b/src/App.css @@ -1 +0,0 @@ -@import "tailwindcss"; \ No newline at end of file diff --git a/src/App.tsx b/src/App.tsx index 664f450..49370ce 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,10 +1,23 @@ -import GiseLandingPage from './pages/LandingPage'; -import './App.css'; +import { BrowserRouter, Routes, Route } from 'react-router-dom'; +import GiseLandingPage from './pages/GiseLandingPage'; +import MentionsLegales from './pages/MentionsLegales'; +import PolitiqueConfidentialite from './pages/PolitiqueConfidentialite'; +import PolitiqueCookies from './pages/PolitiqueCookies'; +import ConditionsGenerales from './pages/ConditionsGenerales'; +import ScrollToTop from './components/ScrollToTop'; -function App() { +export default function App() { return ( - + + + + + } /> + } /> + } /> + } /> + } /> + + ); -} - -export default App; \ No newline at end of file +} \ No newline at end of file diff --git a/src/components/ScrollToTop.tsx b/src/components/ScrollToTop.tsx new file mode 100644 index 0000000..a33de8f --- /dev/null +++ b/src/components/ScrollToTop.tsx @@ -0,0 +1,13 @@ +import { useEffect } from 'react'; +import { useLocation } from 'react-router-dom'; + +export default function ScrollToTop() { + const { pathname } = useLocation(); + + useEffect(() => { + // Dès que le "pathname" (l'URL) change, on remonte instantanément tout en haut + window.scrollTo(0, 0); + }, [pathname]); + + return null; // Ce composant est invisible, il ne rend rien à l'écran +} \ No newline at end of file diff --git a/src/hooks/useTheme.ts b/src/hooks/useTheme.ts new file mode 100644 index 0000000..fc2577e --- /dev/null +++ b/src/hooks/useTheme.ts @@ -0,0 +1,27 @@ +import { useState, useEffect } from 'react'; + +export function useTheme() { + const [isDark, setIsDark] = useState(() => { + if (typeof window !== 'undefined') { + const savedTheme = localStorage.getItem('theme'); + if (savedTheme === 'dark') return true; + if (savedTheme === 'light') return false; + return window.matchMedia('(prefers-color-scheme: dark)').matches; + } + return true; + }); + + useEffect(() => { + if (isDark) { + document.documentElement.classList.add('dark'); + localStorage.setItem('theme', 'dark'); + } else { + document.documentElement.classList.remove('dark'); + localStorage.setItem('theme', 'light'); + } + }, [isDark]); + + const toggleTheme = () => setIsDark(!isDark); + + return { isDark, toggleTheme }; +} \ No newline at end of file diff --git a/src/index.css b/src/index.css index e69de29..7fdd436 100644 --- a/src/index.css +++ b/src/index.css @@ -0,0 +1,22 @@ +@import "tailwindcss"; + +/* Configuration pour forcer le mode sombre via une classe .dark */ +@custom-variant dark (&:where(.dark, .dark *)); + +@theme { + --color-gise-accent: #2563eb; + --color-gise-accentHover: #1d4ed8; +} + +/* Le fond par défaut s'adapte automatiquement (clair/sombre) */ +html { + scroll-behavior: smooth; +} + +body { + @apply bg-slate-50 text-slate-900 transition-colors duration-300; +} + +.dark body { + @apply bg-slate-950 text-slate-50; +} \ No newline at end of file diff --git a/src/pages/ConditionsGenerales.tsx b/src/pages/ConditionsGenerales.tsx new file mode 100644 index 0000000..bf1a2d4 --- /dev/null +++ b/src/pages/ConditionsGenerales.tsx @@ -0,0 +1,98 @@ +import { Shield, ArrowLeft, FileText, Briefcase, Lock, Scale, Moon, Sun } from 'lucide-react'; +import { Link } from 'react-router-dom'; +import { useTheme } from '../hooks/useTheme'; + +export default function ConditionsGenerales() { + const { isDark, toggleTheme } = useTheme(); + return ( +
+ + {/* HEADER DE NAVIGATION */} +
+
+ + + Retour à l'accueil + + +
+ {/* BOUTON THEME */} + + + {/* LOGO */} +
+ + GISE +
+
+
+
+ + {/* CONTENU */} +
+ +
+

Conditions Générales de Services (CGS)

+

+ Dernière mise à jour : {new Date().toLocaleDateString('fr-BE')} +

+
+ +
+ +
+

+ + 1. Objet +

+

+ Les présentes CGS ont pour objet de définir les conditions dans lesquelles GISE fournit au Client ses services informatiques d'audit, d'infogérance et de cybersécurité. +

+
+ +
+

+ + 2. Obligation de moyens +

+

+ Dans le domaine de la cybersécurité, GISE est tenue à une obligation de moyens et non de résultat concernant la protection contre les cyberattaques. +

+
+ +
+

+ + 3. Secret professionnel et Confidentialité +

+

+ GISE s'engage à la plus stricte confidentialité concernant toutes les informations et données confidentielles auxquelles elle pourrait avoir accès lors de l'exécution de ses Services. +

+
+ +
+

+ + 4. Droit applicable +

+

+ Les présentes Conditions Générales sont régies exclusivement par le droit belge. Les tribunaux de l'arrondissement judiciaire de Bruxelles seront seuls compétents en cas de litige. +

+
+ +
+
+ + {/* FOOTER */} +
+

© {new Date().getFullYear()} GISE. Tous droits réservés.

+
+
+ ); +} \ No newline at end of file diff --git a/src/pages/GiseLandingPage.tsx b/src/pages/GiseLandingPage.tsx new file mode 100644 index 0000000..d367117 --- /dev/null +++ b/src/pages/GiseLandingPage.tsx @@ -0,0 +1,302 @@ +import React, { useState, useEffect } from 'react'; +import { Shield, Server, Lock, ChevronRight, Activity, Network, Briefcase, Stethoscope, FileText, CheckCircle, Moon, Sun } from 'lucide-react'; +import { Link } from 'react-router-dom'; +import { useTheme } from '../hooks/useTheme'; + +export default function GiseLandingPage() { + const [cookieConsent, setCookieConsent] = useState(null); + const [formStatus, setFormStatus] = useState<'idle' | 'submitting' | 'success'>('idle'); + + // --- GESTION DU MODE CLAIR/SOMBRE --- + const { isDark, toggleTheme } = useTheme(); + // ------------------------------------- + + // --- LOGIQUE DES COOKIES --- + useEffect(() => { + const getCookie = (name: string) => { + const value = `; ${document.cookie}`; + const parts = value.split(`; ${name}=`); + if (parts.length === 2) return parts.pop()?.split(';').shift(); + return null; + }; + const existingConsent = getCookie('gise_cookie_consent'); + if (existingConsent === 'true') setCookieConsent(true); + else if (existingConsent === 'false') setCookieConsent(false); + }, []); + + const handleAcceptCookies = () => { + const date = new Date(); + date.setTime(date.getTime() + (365 * 24 * 60 * 60 * 1000)); + document.cookie = `gise_cookie_consent=true;expires=${date.toUTCString()};path=/;Secure;SameSite=Strict`; + setCookieConsent(true); + }; + + const handleRefuseCookies = () => { + const date = new Date(); + date.setTime(date.getTime() + (365 * 24 * 60 * 60 * 1000)); + document.cookie = `gise_cookie_consent=false;expires=${date.toUTCString()};path=/;Secure;SameSite=Strict`; + setCookieConsent(false); + }; + + const handleResetCookies = () => { + document.cookie = "gise_cookie_consent=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;"; + setCookieConsent(null); + }; + // --------------------------- + + const handleContactSubmit = (e: React.SubmitEvent) => { + e.preventDefault(); + setFormStatus('submitting'); + setTimeout(() => setFormStatus('success'), 1500); + }; + + return ( +
+ + {/* NAVIGATION */} + + + {/* HERO SECTION */} +
+
+ + Cabinet d'Expertise en Cybersécurité B2B +
+ +

+ Protégez votre patrimoine numérique
avec une exigence absolue. +

+ +

+ Nous concevons, infogérons et sécurisons les infrastructures informatiques des cabinets d'avocats, cliniques privées et fiduciaires. Hébergement souverain et confidentialité totale de vos données. +

+ + +
+ + {/* EXPERTISE */} +
+
+
+

Notre Expertise Fondamentale

+

Le socle de votre tranquillité d'esprit numérique.

+
+
+ {[ + { icon: Activity, title: "Audit & Cartographie", desc: "Diagnostic approfondi de votre architecture, analyse des vulnérabilités de surface et rapport d'impact stratégique." }, + { icon: Server, title: "Refonte Cloud Privé", desc: "Migration de vos serveurs vétustes vers nos hyperviseurs Bare-Metal souverains, infogérés en circuit fermé." }, + { icon: Lock, title: "Infogérance & Monitoring", desc: "Supervision 24/7 de vos nœuds de calcul, support premium et réponse aux incidents en temps réel." } + ].map((item, i) => ( +
+ +

{item.title}

+

{item.desc}

+
+ ))} +
+
+
+ + {/* SOLUTIONS */} +
+
+ +
+
+

Des Solutions Technologiques Sur-Mesure

+

Au-delà du conseil, nous déployons pour vous des environnements numériques ultra-sécurisés, vous garantissant un contrôle absolu sur vos données et vos communications.

+
+ +
+ {/* Portail VIP */} +
+
+
+ +

Espace Client & Coffre-Fort

+
+

Un portail privé dédié à la réassurance et à la gestion de vos actifs les plus sensibles.

+
    +
  • Tableau de bord de suivi en temps réel de la santé de vos serveurs (Uptime, Charge).
  • +
  • Stockage chiffré de bout en bout pour vos mots de passe et documents confidentiels.
  • +
  • Canal de communication direct et hermétique avec votre ingénieur dédié.
  • +
+
+
+ + {/* Réseau */} +
+
+
+ +

Architecture Réseau Zero-Trust

+
+

L'interconnexion inviolable de vos différentes succursales et infrastructures.

+
    +
  • Réseau segmenté interdisant par défaut toute connexion non authentifiée (Zero-Trust).
  • +
  • Tunnels VPN privés (WireGuard) rendant vos flux invisibles sur internet.
  • +
  • Filtrage de flux applicatif et pare-feu d'entreprise de dernière génération.
  • +
+
+
+
+
+
+ + {/* INDUSTRIES */} +
+
+

Des solutions pensées pour les données critiques

+
+
+ +

Cabinets d'Avocats

+

Secret professionnel garanti par des environnements de stockage étanches.

+
+
+ +

Cliniques Privées

+

Protection absolue et souveraineté des données de santé à caractère personnel.

+
+
+ +

Fiduciaires & Comptables

+

Continuité de service et intégrité totale des flux financiers de vos clients.

+
+
+
+
+ + {/* CONTACT */} +
+
+
+

Entrons en contact

+

Pour un audit de sécurité ou une urgence, notre équipe vous répond sous 2 heures.

+
+ + {formStatus === 'success' ? ( +
+ +

Message Envoyé

+

Nos experts ont bien reçu votre demande et vous recontacteront dans les plus brefs délais.

+ +
+ ) : ( +
+
+
+ + +
+
+ + +
+
+
+ + +
+
+ + +
+ +
+ )} +
+
+ + {/* FOOTER */} +
+
+
+
+ + GISE +
+
+ Mentions Légales + Politique de Confidentialité + Politique des Cookies + + Conditions Générales (CGS) +
+
+
+

+ + Infrastructure souveraine hébergée en Belgique (UE). +

+

© {new Date().getFullYear()} GISE Cybersecurity. Tous droits réservés.

+
+
+
+ + {/* COOKIE BANNER */} + {cookieConsent === null && ( +
+
+
+

Gestion de vos données (RGPD)

+

+ GISE utilise uniquement des cookies strictement nécessaires au fonctionnement du site et à la sécurité de votre navigation. Aucun traceur publicitaire ou de revente de données n'est déployé sur nos environnements. + + Lire notre politique + . +

+
+
+ + +
+
+
+ )} +
+ ); +} \ No newline at end of file diff --git a/src/pages/LandingPage.tsx b/src/pages/LandingPage.tsx deleted file mode 100644 index c3d489a..0000000 --- a/src/pages/LandingPage.tsx +++ /dev/null @@ -1,459 +0,0 @@ -import React, { useState } from 'react'; -import { - Shield, - Server, - Lock, - Activity, - CheckCircle2, - ArrowRight, - FileText, - Building2, - ChevronRight, - Menu, - X, - Database, - Clock, - ExternalLink, - Users, - ShieldCheck, - HardDrive -} from 'lucide-react'; - -export const GiseLandingPage: React.FC = () => { - const [isMobileMenuOpen, setIsMobileMenuOpen] = useState(false); - const [activeTab, setActiveTab] = useState<'sovereignty' | 'cyber' | 'vciso'>('sovereignty'); - - return ( -
- - {/* 1. NAVBAR */} - - - {/* 2. HERO SECTION */} -
- {/* Glow background */} -
-
- -
-
- - {/* Badge */} -
- - Conformité NIS2 & RGPD • Cloud 100% Souverain Belge -
- - {/* Main Headline */} -

- L'Infogérance Souveraine & la Cyber-Résilience pour PME -

- - {/* Subtitle */} -

- GISE protège et gère l'infrastructure des cabinets d'avocats, cliniques et professionnels exigeants. Reprenez le contrôle de vos données sans dépendre des géants américains. -

- - {/* CTAs */} - - - {/* Feature Badges */} -
-
- 100% -

Hébergé en Belgique (Bare-Metal)

-
-
- < 4h -

Garantie de Redémarrage (PRA)

-
-
- Zero Trust -

Architecture Réseau Étanche

-
-
- vCISO -

Accompagnement Réglementaire

-
-
- -
-
-
- - {/* 3. PLATFORM PREVIEW (AEGIS) */} -
-
- -
-

Espace Privé Dirigeant

-

AEGIS : Votre tableau de bord de réassurance en temps réel

-

- Fini l'informatique "boîte noire". visualisez vos nœuds de calcul, la preuve de vos sauvegardes immuables et les menaces neutralisées. -

-
- - {/* UI Mockup Card */} -
- {/* Window bar */} -
-
-
-
-
- https://aegis.gise.be/trust-center -
-
- - Infrastructures Opérationnelles (100% SLA) -
-
- - {/* Mock Widgets Grid */} -
- - {/* Widget 1 */} -
-
- Supervision Cluster - -
-
-
- Proxmox Bare-Metal #01 - 99.98% -
-
-
-
-
-
- - {/* Widget 2 */} -
-
- Sauvegardes Immuables (PBS) - -
-
-

Dernier Check : Réussi

-

PRA garanti < 4 heures • Restauration testée

-
-
- - {/* Widget 3 */} -
-
- Posture de Sécurité (30j) - -
-
-

1 420 Menaces Bloquées

-

Pare-feu OPNsense & Active DNS Active

-
-
- -
-
- -
-
- - {/* 4. NOS SERVICES (3 POLES) */} -
-
-

Offre Globale

-

Une couverture complète de votre système d'information

-
- -
- - {/* Card 1 */} -
-
- -
-

1. Socle Souverain & Infogérance

-

- Assainissement et migration de votre matériel vers un Cloud Privé local (Proxmox), protégé par pare-feu OPNsense et VPN WireGuard. -

-
    -
  • Migration Cloud Privé Souverain
  • -
  • Segmentation réseau Zero-Trust
  • -
  • Support ITSM & Helpdesk VIP
  • -
-
- - {/* Card 2 */} -
-
- -
-

2. Continuité & Anti-Ransomware

-

- Protection contre les arrêts d'activité. Vos sauvegardes sont chiffrées hors-site avec engagement de restauration en moins de 4h. -

-
    -
  • Guarantee PRA < 4 heures
  • -
  • Sauvegardes immuables PBS
  • -
  • SOC Passif & Filtrage DNS
  • -
-
- - {/* Card 3 */} -
-
- -
-

3. vCISO & Conformité NIS2

-

- Mise en conformité avec les réglementations belges (CyFun/CCB) et européennes (NIS2, RGPD) pilotée par un directeur sécurité dédié. -

-
    -
  • Direction Sécurité Virtualisée
  • -
  • Rédaction de PSSI & Audits
  • -
  • Simulation Phishing collaborateurs
  • -
-
- -
-
- - {/* 5. SECTEURS CIBLES */} -
-
-
-
-

Cibles Privilégiées

-

Conçu pour les structures qui ne peuvent pas se permettre une fuite de données

-

- Les obligations réglementaires et les cyberattaques ciblent aujourd'hui en priorité les PME détenant des données confidentielles ou financières. -

- -
-
- -
-

Cabinets d'Avocats & Notaires

-

Protection absolue du secret professionnel et des pièces confidentielles.

-
-
- -
- -
-

Fiduciaires & Bureaux Comptables

-

Garantie zéro interruption durant les clôtures fiscales critiques.

-
-
- -
- -
-

Cliniques Privées & Santé

-

Hébergement sécurisé des données médicales conforme au cadre CyFun.

-
-
-
-
- - {/* Interactive Tab Box */} -
-

Pourquoi choisir GISE plutôt qu'un MSP classique ?

- -
-
- Indépendance vis-à-vis des GAFAM : -

Vos données ne sont pas stockées chez des acteurs américains soumis au Cloud Act.

-
- -
- Engagement contractuel clair : -

Nous vendons une garantie de restauration sous 4h, pas des heures de maintenance floues.

-
- -
- Transparence totale via AEGIS : -

Vous disposez d'un tableau de bord de réassurance accessible 24/7 pour votre direction.

-
-
-
- -
-
-
- - {/* 6. FORMULAIRE D'AUDIT / CONTACT */} -
-
- -
-

Demandez votre audit de sécurité initial

-

- Analyse sans engagement de votre réseau, de vos sauvegardes et de votre exposition aux menaces. -

-
- -
e.preventDefault()}> -
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- - -
- -
- -
-
- -
-
- - {/* 7. FOOTER */} -
-
-
-
- G -
- GISE SRL - — Infogérance Souveraine & Cyber-Résilience -
- -
- Bruxelles • Wallonie • Flandre - Hébergé 100% en Belgique - © {new Date().getFullYear()} GISE. Tous droits réservés. -
-
-
- -
- ); -}; - -export default GiseLandingPage; \ No newline at end of file diff --git a/src/pages/MentionsLegales.tsx b/src/pages/MentionsLegales.tsx new file mode 100644 index 0000000..2825838 --- /dev/null +++ b/src/pages/MentionsLegales.tsx @@ -0,0 +1,142 @@ +import { Shield, ArrowLeft, Building, Mail, Phone, Server, FileCheck, Moon, Sun } from 'lucide-react'; +import { Link } from 'react-router-dom'; +import { useTheme } from '../hooks/useTheme'; + +export default function MentionsLegales() { + const { isDark, toggleTheme } = useTheme(); + return ( +
+ + {/* HEADER DE NAVIGATION */} +
+
+ + + Retour à l'accueil + + +
+ {/* BOUTON THEME */} + + + {/* LOGO */} +
+ + GISE +
+
+
+
+ + {/* CONTENU PRINCIPAL */} +
+ + {/* Titre */} +
+

Mentions Légales

+

+ Informations légales obligatoires relatives à l'éditeur et à l'hébergeur du site web GISE, conformément au Code de droit économique belge. +

+
+ +
+ + {/* SECTION 1 */} +
+

+ + 1. Éditeur du site +

+
+
+

Dénomination sociale

+

GISE SRL

+
+
+

Forme juridique

+

Société à Responsabilité Limitée

+
+
+

Siège social

+

Rue Exemple 123, 1000 Bruxelles, Belgique

+
+
+

Numéro d'entreprise (BCE)

+

0123.456.789

+
+
+

Numéro de TVA

+

BE 0123.456.789

+
+
+

Éditeur responsable

+

Direction GISE

+
+
+
+ + {/* SECTION 2 */} +
+

+ + 2. Coordonnées de contact +

+

+ Pour toute question concernant nos services ou le fonctionnement de ce site web, vous pouvez nous contacter : +

+
    +
  • + + E-mail : contact@gise.be +
  • +
  • + + Téléphone : +32 (0)2 123 45 67 +
  • +
+
+ + {/* SECTION 3 */} +
+

+ + 3. Hébergement du site +

+

+ Conformément à nos engagements de souveraineté numérique et de protection des données B2B : +

+
+

Hébergeur : Infrastructure privée GISE (Bare-Metal Proxmox)

+

Localisation des serveurs : Centre de données sécurisé situé en Belgique (Union Européenne)

+

Protection réseau : Cloudflare & Pare-feu d'entreprise OPNsense

+
+
+ + {/* SECTION 4 */} +
+

+ + 4. Propriété intellectuelle +

+

+ L'ensemble du contenu présent sur le site web GISE (textes, graphismes, logos, icônes, éléments visuels, structure du site) est la propriété exclusive de GISE SRL, sauf mention contraire. +

+
+ +
+
+ + {/* FOOTER */} +
+

© {new Date().getFullYear()} GISE. Tous droits réservés.

+
+ +
+ ); +} \ No newline at end of file diff --git a/src/pages/PolitiqueConfidentialite.tsx b/src/pages/PolitiqueConfidentialite.tsx new file mode 100644 index 0000000..b8753f7 --- /dev/null +++ b/src/pages/PolitiqueConfidentialite.tsx @@ -0,0 +1,141 @@ +import { Shield, ArrowLeft, Lock, Database, UserCheck, Scale, Server, Moon, Sun } from 'lucide-react'; +import { Link } from 'react-router-dom'; +import { useTheme } from '../hooks/useTheme'; + +export default function PolitiqueConfidentialite() { + const { isDark, toggleTheme } = useTheme(); + return ( +
+ + {/* HEADER DE NAVIGATION */} +
+
+ + + Retour à l'accueil + + +
+ {/* BOUTON THEME */} + + + {/* LOGO */} +
+ + GISE +
+
+
+
+ + {/* CONTENU */} +
+ +
+

Politique de Confidentialité

+

+ Dernière mise à jour : {new Date().toLocaleDateString('fr-BE')} +

+

+ En tant que cabinet d'expertise en cybersécurité, la protection de vos données personnelles n'est pas seulement une obligation légale (RGPD), c'est le cœur de notre métier et de notre engagement envers vous. +

+
+ +
+ + {/* SECTION 1 */} +
+

+ + 1. Responsable du traitement +

+
+

GISE SRL

+

Rue Exemple 123, 1000 Bruxelles, Belgique

+

BCE : 0123.456.789

+

E-mail : privacy@gise.be

+
+
+ + {/* SECTION 2 */} +
+

+ + 2. Données collectées et finalités +

+
+
+

A. Formulaire de contact et demandes d'audit

+
    +
  • Données : Nom, e-mail professionnel, entreprise, contenu du message.
  • +
  • Finalité : Répondre à vos demandes ou établir un devis.
  • +
+
+
+

B. Sécurité du site et infrastructure

+
    +
  • Données : Adresse IP, logs de connexion, agent utilisateur.
  • +
  • Finalité : Détecter et prévenir les cyberattaques.
  • +
+
+
+
+ + {/* SECTION 3 */} +
+

+ + 3. Hébergement et partage des données +

+

+ Vos données ne sont jamais vendues, louées ou cédées à des tiers à des fins commerciales. +

+

+ Toutes les données collectées via ce site sont hébergées sur nos propres serveurs physiques (Bare-Metal) localisés en Belgique. +

+
+ + {/* SECTION 4 */} +
+

+ + 4. Vos droits (Conformité RGPD) +

+
    +
  • Droit d'accès : Obtenir une copie de vos données.
  • +
  • Droit de rectification : Corriger des données inexactes.
  • +
+

+ Pour exercer ces droits, contactez notre DPO : privacy@gise.be. +

+
+ + {/* SECTION 5 */} +
+

+ + 5. Réclamation auprès de l'autorité de contrôle +

+
+ Autorité de protection des données (Belgique)
+ Rue de la Presse, 35, 1000 Bruxelles
+ Site web : www.autoriteprotectiondonnees.be +
+
+ +
+
+ + {/* FOOTER */} +
+

© {new Date().getFullYear()} GISE. Tous droits réservés.

+
+
+ ); +} \ No newline at end of file diff --git a/src/pages/PolitiqueCookies.tsx b/src/pages/PolitiqueCookies.tsx new file mode 100644 index 0000000..c8b5e7f --- /dev/null +++ b/src/pages/PolitiqueCookies.tsx @@ -0,0 +1,111 @@ +import { Shield, ArrowLeft, Cookie, Info, CheckCircle, Moon, Sun } from 'lucide-react'; +import { Link } from 'react-router-dom'; +import { useTheme } from '../hooks/useTheme'; + +export default function PolitiqueCookies() { + const { isDark, toggleTheme } = useTheme(); + return ( +
+ + {/* HEADER DE NAVIGATION */} +
+
+ + + Retour à l'accueil + + +
+ {/* BOUTON THEME */} + + + {/* LOGO */} +
+ + GISE +
+
+
+
+ + {/* CONTENU */} +
+ +
+

+ + Politique des Cookies +

+

+ Dernière mise à jour : {new Date().toLocaleDateString('fr-BE')} +

+
+ +
+ +
+

+ + 1. Qu'est-ce qu'un cookie ? +

+

+ Un cookie est un petit fichier texte déposé sur votre terminal lors de la visite d'un site web. Il permet au site de mémoriser vos préférences d'affichage. +

+
+ +
+

+ + 2. Notre engagement "Zéro Traceur Commercial" +

+

+ Conformément à notre éthique de cybersécurité, nous n'utilisons aucun cookie publicitaire et ne revendons aucune donnée à des tiers. +

+
+ +
+

+ + 3. Les cookies que nous utilisons +

+
+ + + + + + + + + + + + + + + + + + + + +
Nom du cookieFinalitéDurée
gise_cookie_consentMémorise votre choix d'accepter ou de refuser le bandeau.1 an
themeMémorise votre choix de mode clair/sombre.Indéfinie
+
+
+ +
+
+ + {/* FOOTER */} + +
+ ); +} \ No newline at end of file