PURE SPACE NETT
Dashboard Opérationnel v1.0
Chargement...
Config
Non connecté

Vue d'ensemble

Site Web
purespacenett.com
Contacts Brevo
Total liste
Campagnes
Email envoyées
DNS Records
Enregistrements actifs

Workflow Automatisation Prospection

Formulaire Site
purespacenett.com
Make.com
Webhook trigger
Brevo
Ajout liste + séquence
Google Sheets
Log suivi RDV
Confirmation
Email client auto

Statut des Services

Cloudflare
Vérification...
Brevo API
Vérification...
Make.com Webhook
Non configuré
Site purespacenett.com
Vérification...

Cloudflare — Site & Infrastructure

Zone DNS

Cliquez sur "Charger" pour récupérer les données.

Certificats SSL

Cliquez sur "Charger" pour récupérer les données.

Enregistrements DNS

Cliquez sur "Charger" pour récupérer les données.

Pages / Déploiements

Cliquez sur "Charger" pour récupérer les projets.

Brevo — Email Marketing

Compte Brevo

Chargement...

Listes de Contacts

Chargement...

Contacts Récents

Chargement...

Campagnes Email

Chargement...

Templates Email

Chargement...

Make.com — Automatisations

Scénarios Recommandés à Recréer

1
Lead Site → Brevo + Sheets
Webhook de réception formulaire site → Ajout contact Brevo (liste Prospects) → Log Google Sheets (colonne Date, Nom, Email, Tel, Service) → Email confirmation client automatique (template Brevo)
Webhook HTTP Brevo Google Sheets Email
2
Suivi RDV → Relance Automatique
Scheduler hebdomadaire → Lecture Google Sheets (RDV sans suite >7j) → Envoi relance email Brevo personnalisée → Mise à jour statut Sheets
Scheduler Google Sheets Brevo Email
3
Devis Accepté → Onboarding Client
Trigger Sheets (statut "Accepté") → Déplacer contact vers liste "Clients Actifs" Brevo → Séquence email bienvenue → Notification interne (email/SMS)
Google Sheets Watch Brevo Notification

Tester Webhook Make.com

Template JSON Scénario Make.com #1

Importez ce JSON directement dans Make.com (Créer un scénario → Importer un Blueprint)

{
  "name": "PSN - Lead Site → Brevo + Sheets",
  "flow": [
    {
      "id": 1,
      "module": "gateway:CustomWebHook",
      "version": 1,
      "parameters": {
        "hook": 76543,
        "maxResults": 1
      },
      "metadata": {
        "designer": {
          "x": 0,
          "y": 0
        }
      }
    },
    {
      "id": 2,
      "module": "http:ActionSendData",
      "version": 3,
      "parameters": {
        "method": "POST",
        "url": "https://api.brevo.com/v3/contacts",
        "headers": [
          {
            "name": "api-key",
            "value": "{{BREVO_API_KEY}}"
          },
          {
            "name": "Content-Type",
            "value": "application/json"
          }
        ],
        "body": {
          "email": "{{1.email}}",
          "firstName": "{{1.firstName}}",
          "lastName": "{{1.lastName}}",
          "attributes": {
            "PHONE": "{{1.phone}}",
            "TYPE_SERVICE": "{{1.serviceType}}"
          },
          "listIds": [
            "{{BREVO_PROSPECT_LIST_ID}}"
          ],
          "updateEnabled": true
        }
      },
      "metadata": {
        "designer": {
          "x": 300,
          "y": 0
        }
      }
    },
    {
      "id": 3,
      "module": "google-sheets:addRow",
      "version": 2,
      "parameters": {
        "spreadsheetId": "{{GOOGLE_SHEETS_ID}}",
        "sheetId": "Leads",
        "rowData": {
          "Date": "{{formatDate(now; 'DD/MM/YYYY')}}",
          "Prénom": "{{1.firstName}}",
          "Nom": "{{1.lastName}}",
          "Email": "{{1.email}}",
          "Téléphone": "{{1.phone}}",
          "Service": "{{1.serviceType}}",
          "Statut": "Nouveau",
          "Source": "Formulaire site"
        }
      },
      "metadata": {
        "designer": {
          "x": 600,
          "y": 0
        }
      }
    },
    {
      "id": 4,
      "module": "http:ActionSendData",
      "version": 3,
      "parameters": {
        "method": "POST",
        "url": "https://api.brevo.com/v3/smtp/email",
        "headers": [
          {
            "name": "api-key",
            "value": "{{BREVO_API_KEY}}"
          }
        ],
        "body": {
          "to": [
            {
              "email": "{{1.email}}",
              "name": "{{1.firstName}} {{1.lastName}}"
            }
          ],
          "templateId": 1,
          "params": {
            "PRENOM": "{{1.firstName}}",
            "SERVICE": "{{1.serviceType}}"
          }
        }
      },
      "metadata": {
        "designer": {
          "x": 900,
          "y": 0
        }
      }
    }
  ],
  "metadata": {
    "instant": true,
    "version": 1,
    "scenario": {
      "roundtrips": 1,
      "maxErrors": 3,
      "autoCommit": true
    }
  }
}

Ajouter un Nouveau Lead

Ajoute directement un lead dans Brevo ET déclenche le workflow Make.com (log Sheets + email confirmation).

Monitoring — Uptime & Alertes

État en Temps Réel

Cliquez sur "Vérifier maintenant" pour lancer une vérification.

Configuration Alertes

📧 Uptime Robot (Recommandé - Gratuit)
Configurez uptimerobot.com pour surveiller purespacenett.com toutes les 5 minutes. Alertes email/SMS en cas de panne.
🔔 Cloudflare Notifications
Activez les alertes dans Cloudflare Dashboard → Notifications → Créer une notification (Health Checks, SSL expiry, DDoS).
📊 Make.com Monitoring
Activez les alertes d'erreurs dans Make.com → Paramètres d'équipe → Notifications pour être alerté si un scénario échoue.

Audit Trail — Journal des Actions

Actions récentes

Chargement du journal...

Credentials & Configuration

Sécurité — Variables d'Environnement Requises

Ces variables doivent être configurées comme secrets Cloudflare Workers (jamais en clair dans le code). Utilisez le script de reconnexion pour les définir automatiquement.

CLOUDFLARE_API_TOKEN Token API Cloudflare (permissions : Zone Read, DNS Edit, Cache Purge, Pages Read) Requis
CLOUDFLARE_ZONE_ID Zone ID depuis Cloudflare Dashboard → purespacenett.com → Overview (colonne droite) Requis
CLOUDFLARE_ACCOUNT_ID Account ID depuis Cloudflare Dashboard → Overview (colonne droite) Requis
BREVO_API_KEY Brevo → Paramètres → Clés API → Générer une clé Requis
MAKE_WEBHOOK_URL Make.com → Scénario → Webhook module → Copier l'URL (https://hook.eu1.make.com/xxx) Optionnel
GOOGLE_SHEETS_ID Google Sheets URL → docs.google.com/spreadsheets/d/CECI/edit Optionnel
ADMIN_TOKEN Token secret pour protéger ce dashboard (générez un UUID aléatoire) Recommandé

Exporter la Configuration

Téléchargez le fichier JSON de configuration (sans les secrets). Complétez-le localement puis importez via le script de reconnexion.

Script de Reconnexion Rapide

Script Bash — Setup en 1 commande < 5 min

Exécutez ce script dans votre terminal pour reconnecter tous les services automatiquement. Adaptez les valeurs entre guillemets.

#!/bin/bash
# ═══════════════════════════════════════════════════════════════════════
# PURE SPACE NETT — Script de Reconnexion Rapide
# Objectif : Reconfigurer tous les services en < 5 minutes
# ═══════════════════════════════════════════════════════════════════════

set -e

echo "🚀 PURE SPACE NETT — Reconnexion des services..."

# ── 1. VARIABLES À REMPLIR ─────────────────────────────────────────────
CF_API_TOKEN="votre-cloudflare-api-token"
CF_ZONE_ID="votre-zone-id"
CF_ACCOUNT_ID="votre-account-id"
BREVO_API_KEY="votre-brevo-api-key-v3"
MAKE_WEBHOOK_URL="https://hook.eu1.make.com/votre-webhook-id"
GOOGLE_SHEETS_ID="votre-google-sheets-id"
ADMIN_TOKEN=$(openssl rand -hex 32)
PROJECT_NAME="psn-ops-dashboard"

# ── 2. VÉRIFICATION CLOUDFLARE ─────────────────────────────────────────
echo ""
echo "📡 Vérification Cloudflare..."
CF_CHECK=$(curl -s -o /dev/null -w "%{http_code}" \
  -H "Authorization: Bearer $CF_API_TOKEN" \
  "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID")

if [ "$CF_CHECK" = "200" ]; then
  echo "✅ Cloudflare API OK — Zone ID valide"
else
  echo "❌ Erreur Cloudflare (HTTP $CF_CHECK) — Vérifiez CF_API_TOKEN et CF_ZONE_ID"
  exit 1
fi

# ── 3. VÉRIFICATION BREVO ──────────────────────────────────────────────
echo ""
echo "📧 Vérification Brevo..."
BREVO_CHECK=$(curl -s -o /dev/null -w "%{http_code}" \
  -H "api-key: $BREVO_API_KEY" \
  "https://api.brevo.com/v3/account")

if [ "$BREVO_CHECK" = "200" ]; then
  echo "✅ Brevo API OK"
else
  echo "❌ Erreur Brevo (HTTP $BREVO_CHECK) — Vérifiez BREVO_API_KEY"
  exit 1
fi

# ── 4. BUILD DU PROJET ─────────────────────────────────────────────────
echo ""
echo "🔨 Build du dashboard..."
npm run build
echo "✅ Build réussi"

# ── 5. DÉPLOIEMENT CLOUDFLARE PAGES ────────────────────────────────────
echo ""
echo "🚀 Déploiement sur Cloudflare Pages..."
npx wrangler pages project create $PROJECT_NAME \
  --production-branch main 2>/dev/null || echo "(projet existant)"

npx wrangler pages deploy dist --project-name $PROJECT_NAME
echo "✅ Déploiement réussi"

# ── 6. CONFIGURATION DES SECRETS ──────────────────────────────────────
echo ""
echo "🔐 Configuration des secrets..."

echo "$CF_API_TOKEN" | npx wrangler pages secret put CLOUDFLARE_API_TOKEN \
  --project-name $PROJECT_NAME
echo "$CF_ZONE_ID" | npx wrangler pages secret put CLOUDFLARE_ZONE_ID \
  --project-name $PROJECT_NAME
echo "$CF_ACCOUNT_ID" | npx wrangler pages secret put CLOUDFLARE_ACCOUNT_ID \
  --project-name $PROJECT_NAME
echo "$BREVO_API_KEY" | npx wrangler pages secret put BREVO_API_KEY \
  --project-name $PROJECT_NAME
echo "$MAKE_WEBHOOK_URL" | npx wrangler pages secret put MAKE_WEBHOOK_URL \
  --project-name $PROJECT_NAME
echo "$GOOGLE_SHEETS_ID" | npx wrangler pages secret put GOOGLE_SHEETS_ID \
  --project-name $PROJECT_NAME
echo "$ADMIN_TOKEN" | npx wrangler pages secret put ADMIN_TOKEN \
  --project-name $PROJECT_NAME

echo "✅ Secrets configurés"

# ── 7. SAUVEGARDE TOKEN ADMIN ──────────────────────────────────────────
echo ""
echo "💾 Sauvegarde du token admin..."
echo "ADMIN_TOKEN=$ADMIN_TOKEN" >> .env.local
echo "⚠️  Token admin sauvegardé dans .env.local — NE PAS COMMITER"

# ── 8. TEST FINAL ──────────────────────────────────────────────────────
echo ""
echo "🧪 Test final..."
sleep 5  # Attendre propagation
DASHBOARD_URL="https://$PROJECT_NAME.pages.dev"
STATUS=$(curl -s -o /dev/null -w "%{http_code}" "$DASHBOARD_URL")

if [ "$STATUS" = "200" ]; then
  echo "✅ Dashboard accessible : $DASHBOARD_URL"
else
  echo "⚠️  Dashboard HTTP $STATUS — Attendez quelques secondes et réessayez"
fi

echo ""
echo "═══════════════════════════════════════════════════════════════"
echo "✅ RECONNEXION TERMINÉE"
echo "📊 Dashboard : $DASHBOARD_URL"
echo "🔑 Token admin : $ADMIN_TOKEN"
echo "═══════════════════════════════════════════════════════════════"

Checklist Reconnexion — Étapes Manuelles

Cloudflare
  • Récupérer Zone ID (Dashboard → purespacenett.com → Overview → droite)
  • Récupérer Account ID (Dashboard → sidebar droite)
  • Créer API Token : Mon profil → Tokens → Template "Edit zone DNS"
  • Ajouter permissions : Cache Purge, Cloudflare Pages (Read)
Brevo
  • Connexion app.brevo.com
  • Paramètres → Clés API SMTP → Générer clé v3
  • Contacts → Listes → Créer liste "Prospects PSN" + noter l'ID
  • Templates → Créer template "Confirmation devis" (template ID 1)
Make.com
  • Créer scénario "PSN Lead → Brevo + Sheets"
  • Module 1 : Custom Webhook → copier URL
  • Module 2 : HTTP POST vers api.brevo.com/v3/contacts
  • Module 3 : Google Sheets → Add Row (créer feuille "Leads")
  • Module 4 : HTTP POST email confirmation Brevo
  • Activer le scénario
Google Sheets
  • Créer fichier "PSN - Suivi Leads"
  • Créer onglet "Leads" avec colonnes : Date, Prénom, Nom, Email, Tel, Service, Statut, Source, Notes
  • Partager avec le compte email de Make.com
  • Copier l'ID du fichier dans l'URL
Dashboard
  • Exécuter le script de reconnexion Bash
  • Vérifier tous les services dans Vue d'ensemble
  • Tester l'ajout d'un lead
  • Tester le workflow complet

Fichier JSON Centralisé

Format JSON complet de référence pour tous vos services. Ne stockez jamais ce fichier avec les clés en clair sur GitHub.

{
  "project": "pure-space-nett",
  "version": "1.0.0",
  "created": "1970-01-01",
  "services": {
    "cloudflare": {
      "dashboard": "https://dash.cloudflare.com",
      "zone_url": "https://dash.cloudflare.com/?to=/:account/purespacenett.com",
      "api_base": "https://api.cloudflare.com/client/v4",
      "env_vars": [
        "CLOUDFLARE_API_TOKEN",
        "CLOUDFLARE_ZONE_ID",
        "CLOUDFLARE_ACCOUNT_ID"
      ],
      "token_permissions": [
        "Zone:Read",
        "DNS:Edit",
        "Cache Purge:Purge",
        "Pages:Read"
      ]
    },
    "brevo": {
      "dashboard": "https://app.brevo.com",
      "api_base": "https://api.brevo.com/v3",
      "env_vars": [
        "BREVO_API_KEY"
      ],
      "lists": {
        "prospects": "ID_LISTE_PROSPECTS",
        "clients": "ID_LISTE_CLIENTS"
      },
      "templates": {
        "confirmation_devis": 1,
        "relance": 2,
        "bienvenue_client": 3
      }
    },
    "make": {
      "dashboard": "https://www.make.com",
      "env_vars": [
        "MAKE_WEBHOOK_URL"
      ],
      "scenarios": [
        {
          "name": "PSN Lead → Brevo + Sheets",
          "trigger": "webhook",
          "status": "a_recreer"
        },
        {
          "name": "Suivi RDV → Relance",
          "trigger": "scheduler",
          "status": "a_recreer"
        }
      ]
    },
    "google": {
      "sheets_url": "https://docs.google.com/spreadsheets",
      "env_vars": [
        "GOOGLE_SHEETS_ID"
      ],
      "tabs": [
        "Leads",
        "Clients",
        "RDV",
        "Stats"
      ]
    }
  },
  "site": {
    "url": "https://www.purespacenett.com",
    "platform": "WordPress / Cloudflare Pages",
    "admin": "https://www.purespacenett.com/wp-admin"
  },
  "security": {
    "note": "Ne jamais stocker les valeurs réelles dans ce fichier sur Git",
    "use": "Variables d'environnement Cloudflare Pages Secrets"
  }
}