maximus 0863b0a161
Deploy Nexus Portal to HestiaCP (FTP) / build-and-deploy (push) Successful in 31s
configuration du store
2026-06-15 11:24:52 +02:00
2026-06-12 11:03:10 +02:00
2026-06-12 11:52:12 +02:00
2026-06-15 11:24:52 +02:00
2026-06-12 21:22:07 +02:00
2026-06-12 23:35:47 +02:00
2026-06-04 12:51:39 +02:00
2026-06-12 11:52:12 +02:00
2026-06-15 11:24:52 +02:00
2026-06-15 11:24:52 +02:00
2026-06-12 11:27:25 +02:00
2026-06-12 16:15:02 +02:00

🛡️ GISE Nexus - Portail d'Infrastructure

Portail d'administration Headless et d'orchestration unifiée pour l'infrastructure GISE (Bunker).

Ce dépôt contient le code source Frontend (React/Vite) du portail central Nexus (console.gise.be). Il agit en tant qu'interface cliente et communique avec un orchestrateur backend (PHP) pour automatiser le déploiement des services clients sur une architecture "Bare-Metal" locale (HestiaCP).


🏗️ Architecture du Bunker

L'application repose sur un modèle "Headless" et un provisionnement en cascade :

  • Frontend : React + Vite (Interface utilisateur, formulaires d'inscription/connexion).
  • Orchestrateur (Backend) : Script PHP personnalisé hébergé sur HestiaCP.
  • Services Connectés :
    • 💳 FOSSBilling : Gestion client, facturation et authentification principale.
    • ⚙️ HestiaCP : Panneau de contrôle d'hébergement web (API Legacy via Access Keys).
    • ☁️ Nextcloud : Stockage cloud et espace de travail collaboratif.

Fonctionnalités Principales

  • Provisionnement Triple Unifié : Création simultanée et transparente d'un compte utilisateur sur FOSSBilling, HestiaCP et Nextcloud depuis un seul formulaire.
  • Sécurité Anti-Spam : Interfaçage avec le pare-feu applicatif de FOSSBilling (Rate Limiting).
  • Déploiement Continu (CI/CD) : Automatisation complète via Gitea Actions et transfert FTP chrooté.
  • Design "Terminal" : Interface utilisateur sombre, minimaliste et orientée SysAdmin.

🚀 Installation & Développement Local

Prérequis

  • Node.js (v20 ou supérieur)
  • Accès au réseau local "Bunker" (10.10.40.X) pour la communication API.

Démarrage

  1. Cloner le dépôt :

    git clone https://git.bunker.lan/gise/nexus-portal.git
    cd nexus-portal
    
  2. Installer les dépendances :

    npm install
    
  3. Lancer le serveur de développement :

    npm run dev
    

⚙️ Déploiement Automatisé (CI/CD)

Le projet intègre un pipeline de déploiement continu via Gitea Actions. À chaque git push sur la branche master, le runner Gitea compile le code source et le déploie directement sur le serveur HestiaCP de production.

Variables secrètes requises (Gitea Secrets)

Pour que le workflow .gitea/workflows/deploy.yml fonctionne, les secrets suivants doivent être configurés dans les paramètres du dépôt :

Secret Description Exemple
FTP_USER Utilisateur FTP (chrooté dans public_html) admin_nexus
FTP_PASSWORD Mot de passe de l'utilisateur FTP ********
FTP_SERVER IP locale du serveur HestiaCP cible 10.10.40.12

⚠️ Note SysAdmin : L'utilisateur FTP sur HestiaCP doit être configuré avec un chemin (Path) personnalisé pointant explicitement sur public_html pour éviter que le script lftp ne tente d'écraser les dossiers système du serveur.


🔒 Notes de Sécurité (SysAdmin)

  1. Bypass CSRF FOSSBilling : En raison de l'architecture Headless (React sur le port 5173, API sur port 80/443), la protection stricte CSRFPrevention de FOSSBilling est désactivée. La sécurité repose intégralement sur les cookies de session (credentials: 'include').
  2. Clés API HestiaCP : L'orchestrateur PHP utilise le format Hash (ACCESS_KEY_ID:SECRET_KEY) pour s'authentifier auprès de l'API Hestia. La clé est verrouillée par liste blanche IP (10.10.40.12, 127.0.0.1).

Maintenu par l'équipe d'Ingénierie GISE - 2026

S
Description
No description provided
Readme 247 KiB
Languages
JavaScript 93.6%
CSS 5.3%
HTML 1.1%