# IliaCloud — Site Marketing

> Specification complete du site vitrine pour presenter IliaCloud,
> convertir les visiteurs et afficher les informations legales.

---

## Architecture

```
iliacloud-site/               → Nouveau projet separe
├── src/
│   ├── pages/
│   │   ├── index.astro       → Landing page (hero, features, testimonials, CTA)
│   │   ├── pricing.astro     → Plans et tarifs (Free/Pro/Business)
│   │   ├── features.astro    → Detail de chaque fonctionnalite
│   │   ├── security.astro    → Securite et chiffrement
│   │   ├── cgu.astro         → Conditions generales d'utilisation
│   │   ├── privacy.astro     → Politique de confidentialite
│   │   ├── legal.astro       → Mentions legales
│   │   └── 404.astro         → Page 404
│   ├── components/
│   │   ├── Header.astro      → Navigation sticky
│   │   ├── Footer.astro      → Footer avec liens legaux
│   │   ├── Hero.astro        → Section hero avec CTA
│   │   ├── Features.astro    → Grille des fonctionnalites
│   │   ├── Pricing.astro     → Tableau de prix
│   │   ├── Comparison.astro  → Comparaison avec concurrents
│   │   ├── Security.astro    → Badges de securite
│   │   ├── FAQ.astro         → Questions frequentes
│   │   └── CTA.astro         → Call-to-action reutilisable
│   ├── layouts/
│   │   └── Base.astro        → Layout HTML avec SEO meta tags
│   └── styles/
│       └── global.css        → Tailwind CSS
├── public/
│   ├── favicon.ico
│   ├── og-image.png          → Image Open Graph (partage reseaux sociaux)
│   ├── logo.svg
│   └── screenshots/          → Captures d'ecran de l'app
├── astro.config.mjs
├── tailwind.config.js
├── package.json
└── Dockerfile
```

### Stack technique

| Technologie | Role |
|---|---|
| **Astro 4** | Framework SSG (HTML statique, zero JS par defaut) |
| **Tailwind CSS** | Styling |
| **Nginx Alpine** | Serveur de fichiers statiques |
| **Docker** | Deploiement sur le VPS |

### Pourquoi Astro ?

- HTML statique genere au build → score Lighthouse 100/100
- SEO parfait (meta tags, sitemap, structured data)
- Zero JavaScript envoye au client (sauf si explicitement demande)
- Tailwind CSS integre
- Build en < 2 secondes

---

## Domaines et DNS

| Domaine | Pointe vers |
|---|---|
| `app.iliacloud.com` | L'app (frontend React) |
| `api.iliacloud.com` | L'API (backend Node.js) |
| `www.iliacloud.com` ou `iliacloud.com` | Le site marketing (nouveau) |

Le site marketing et l'app sont sur le meme VPS, derriere Traefik, avec des domaines differents.

---

## Pages detaillees

### 1. Landing page (`/`)

**Objectif** : Convertir un visiteur en inscription en < 30 secondes.

**Structure :**

```
[Header] Logo | Features | Pricing | Securite | Se connecter

[Hero]
  Titre : "Gerez vos serveurs depuis votre telephone"
  Sous-titre : "SSH, Docker, monitoring, backups, IA — tout en une seule app."
  CTA : "Commencer gratuitement" → lien vers /register de l'app
  CTA secondaire : "Voir les fonctionnalites"
  Capture d'ecran de l'app (dashboard)

[Barre de confiance]
  "Termius + UptimeRobot + Portainer + un agent IA = 25€/mois"
  "IliaCloud = 12€, tout inclus."

[Features grid — 6 cards]
  1. Dashboard temps reel (CPU, RAM, disque, load)
  2. Docker (containers, stacks, logs streaming)
  3. Monitoring (uptime, SSL, alertes HTTP 5xx)
  4. Terminal SSH (xterm.js dans le navigateur)
  5. Backups (PostgreSQL, MySQL, planifies)
  6. Chat IA (6 providers, tool use, diagnostics)

[Section monitoring]
  Titre : "Ne ratez plus jamais une panne"
  - Uptime monitoring toutes les 60s
  - Alertes Discord/Slack/Telegram avec recovery
  - SSL monitoring avec alerte avant expiration
  - Page de statut publique personnalisable
  Capture d'ecran (page uptime + webhook Discord)

[Section securite]
  Titre : "Vos donnees sont chiffrees, point."
  - AES-256-GCM pour les cles SSH et API
  - Cookies httpOnly + CSRF + bcrypt 12 rounds
  - Audit log de chaque action
  - Export config chiffre avec mot de passe
  Badge : "0 vulnerabilites — SonarQube"

[Comparaison concurrents]
  Tableau : IliaCloud vs Termius vs UptimeRobot vs Portainer
  |                    | IliaCloud | Termius | UptimeRobot | Portainer |
  |--------------------|-----------|---------|-------------|-----------|
  | SSH Terminal       | Oui       | Oui     | Non         | Non       |
  | Docker management  | Oui       | Non     | Non         | Oui       |
  | Uptime monitoring  | Oui       | Non     | Oui         | Non       |
  | SSL monitoring     | Oui       | Non     | Payant      | Non       |
  | Backups auto       | Oui       | Non     | Non         | Non       |
  | Chat IA            | Oui       | Non     | Non         | Non       |
  | Alertes webhook    | Oui       | Non     | Oui         | Non       |
  | Status page        | Oui       | Non     | Payant      | Non       |
  | Prix               | 12€/mois  | 10€     | 7€          | 0-250€    |

[Pricing preview]
  3 cards (Free / Pro / Business) avec CTA
  Lien "Voir le detail complet" → /pricing

[FAQ]
  - "Est-ce que mes donnees sont en securite ?"
  - "Dois-je fournir ma propre cle API pour l'IA ?"
  - "Combien de serveurs puis-je connecter ?"
  - "Est-ce que ca marche sur mobile ?"
  - "Comment fonctionne la page de statut publique ?"
  - "Puis-je exporter ma configuration ?"

[CTA final]
  "Pret a simplifier la gestion de vos serveurs ?"
  "Commencer gratuitement — aucune carte bancaire requise"

[Footer]
  Logo | © 2026 IliaCloud
  Liens : Features | Pricing | Securite | CGU | Confidentialite | Mentions legales
  Contact : contact@iliacloud.com
```

---

### 2. Pricing (`/pricing`)

**Structure :**

```
[Header]

[Titre]
  "Un prix simple, tout inclus"
  "Termius + UptimeRobot + Portainer + IA = 25€/mois. IliaCloud = 12€."

[Toggle mensuel / annuel]

[3 cartes de prix]
  Free (0€) | Pro (12€/mois, 99€/an) | Business (35€/mois, 299€/an)
  Chaque carte : liste des features + CTA

[Tableau de comparaison detaille]
  Toutes les features avec check/cross par plan
  (reprendre le tableau complet du PricingPage.jsx existant)

[FAQ pricing]
  - "Puis-je changer de plan a tout moment ?"
  - "Y a-t-il un engagement ?"
  - "Comment fonctionne l'annuel ?"
  - "Que se passe-t-il si je depasse ma limite ?"
  - "Acceptez-vous les paiements par virement ?"

[CTA]
  "Commencer gratuitement — upgrader quand vous etes pret"

[Footer]
```

---

### 3. Features (`/features`)

**Une section detaillee par feature majeure :**

```
1. Dashboard temps reel
   - CPU, RAM, disque, load, uptime
   - Historique jusqu'a 1 an (Business)
   - Multi-serveurs dans une seule vue
   - WebSocket : actualisation toutes les 5 secondes
   [Screenshot dashboard]

2. Docker
   - Liste, start/stop/restart, supprimer
   - Stacks Swarm + Compose, redeploy, rollback
   - Stats CPU/RAM par container
   - Logs streaming en temps reel
   [Screenshot docker page]

3. Monitoring
   - Uptime HTTP toutes les 60 secondes
   - SSL : check toutes les heures, alerte avant expiration
   - HTTP 5xx : scan des access logs, alerte immediate
   - Graphique de latence + historique uptime %
   [Screenshot uptime page]

4. Alertes
   - 10 types d'evenements
   - Discord, Slack, Telegram, Custom JSON
   - Recovery automatique (quand ca revient a la normale)
   - Push notifications navigateur
   [Screenshot webhook Discord]

5. Terminal SSH
   - xterm.js dans le navigateur
   - Couleurs ANSI, redimensionnement
   - Accessible depuis chaque page (bouton flottant)
   [Screenshot terminal]

6. Backups
   - PostgreSQL + MySQL
   - Manuel ou planifie (horaire/quotidien/hebdo)
   - Auto-scan des containers DB
   - Restauration en un clic
   - Notification succes/echec
   [Screenshot backup page]

7. Chat IA
   - 6 providers (Claude, GPT-4, Gemini, DeepSeek, Mistral, Grok)
   - Tool use : execute des commandes, lit/modifie des fichiers
   - Confirmation avant actions destructives
   - BYOK : utilisez votre propre cle API
   [Screenshot chat]

8. Administration
   - Audit log (16 categories, export CSV)
   - Import/export config chiffre
   - Page de statut publique personnalisable
   - Theme clair/sombre
   [Screenshot audit + status page]
```

---

### 4. Securite (`/security`)

```
[Titre] "La securite n'est pas une option"

[Section chiffrement]
  - AES-256-GCM pour les cles SSH, API et exports
  - bcrypt 12 rounds pour les mots de passe
  - PBKDF2 100k iterations pour les exports
  - Cles dechiffrees uniquement en memoire, jamais stockees en clair

[Section authentification]
  - JWT en cookies httpOnly (pas de localStorage)
  - Refresh token rotation (l'ancien est supprime)
  - CSRF double-submit cookie
  - Rate limiting (global + auth + WebSocket)
  - Anti timing-attack (dummy hash)

[Section infrastructure]
  - HTTPS obligatoire (Let's Encrypt via Traefik)
  - Helmet + CSP (headers de securite stricts)
  - Shell escape sur toutes les commandes SSH
  - Path validation (anti path traversal)
  - Validation des noms de container Docker
  - Variables d'environnement sensibles masquees

[Section audit]
  - Chaque action mutante est logguee
  - 16 categories d'audit
  - IP + timestamp + details (donnees sensibles masquees)
  - Export CSV pour analyse externe

[Section qualite]
  - 612 tests automatises (Vitest + Playwright)
  - SonarQube : 0 bugs, 0 vulnerabilites
  - OWASP Top 10 couvert

[Badge de confiance]
  "Vos donnees ne quittent jamais votre serveur IliaCloud.
   Nous n'avons pas acces a vos cles SSH, vos cles API, ni vos donnees.
   Tout est chiffre. Tout est a vous."
```

---

### 5. CGU (`/cgu`)

```
CONDITIONS GENERALES D'UTILISATION
Derniere mise a jour : [date]

1. OBJET
IliaCloud est une plateforme SaaS de gestion de serveurs distants.
Les presentes CGU regissent l'utilisation du service.

2. INSCRIPTION
- L'utilisateur doit fournir une adresse email valide et un mot de passe.
- Un seul compte par personne physique ou morale.
- L'utilisateur est responsable de la confidentialite de ses identifiants.

3. SERVICES PROPOSES
- Plan Free : acces limite (1 serveur, 3 monitors, fonctionnalites de base)
- Plan Pro (12€/mois ou 99€/an) : acces etendu (5 serveurs, 20 monitors, toutes les features)
- Plan Business (35€/mois ou 299€/an) : acces illimite + multi-utilisateurs
- Les limites detaillees sont disponibles sur la page /pricing.

4. PAIEMENT
- Les paiements sont geres par Stripe.
- Les abonnements sont recurrents (mensuel ou annuel).
- L'utilisateur peut annuler a tout moment. L'acces reste actif jusqu'a la fin de la periode payee.
- Aucun remboursement pour les periodes entamees.

5. DONNEES PERSONNELLES
- IliaCloud collecte : email, adresse IP, donnees de connexion (logs d'audit).
- Les cles SSH et API sont chiffrees (AES-256-GCM) et ne sont jamais accessibles en clair.
- Les donnees sont stockees sur un serveur OVH en France.
- Voir la politique de confidentialite pour plus de details.

6. RESPONSABILITES
- IliaCloud fournit un outil de gestion. Les actions executees sur les serveurs
  (commandes SSH, Docker, modifications de fichiers) sont sous la responsabilite de l'utilisateur.
- IliaCloud ne peut etre tenu responsable des dommages causes par des commandes executees
  via la plateforme, y compris via le chat IA.
- L'utilisateur est responsable de la securite de ses serveurs et de ses cles SSH.

7. UTILISATION DE L'IA
- Le chat IA utilise des cles API fournies par l'utilisateur (BYOK).
- Les requetes IA transitent par les serveurs d'IliaCloud vers le provider choisi.
- IliaCloud ne stocke pas le contenu des conversations au-dela de la session.
- L'utilisateur est responsable du respect des CGU du provider IA choisi.

8. DISPONIBILITE
- IliaCloud s'efforce de maintenir le service disponible 24h/24, 7j/7.
- Des interruptions de maintenance peuvent survenir. L'utilisateur sera prevenu
  via les webhooks configures lorsque possible.
- Aucune garantie de disponibilite n'est offerte pour le plan Free.

9. RESILIATION
- L'utilisateur peut supprimer son compte a tout moment.
- La suppression du compte entraine la suppression irreversible de toutes les donnees
  (serveurs, cles, configurations, historiques).
- IliaCloud se reserve le droit de suspendre un compte en cas d'utilisation abusive.

10. PROPRIETE INTELLECTUELLE
- IliaCloud et son code source sont la propriete de [Votre nom/societe].
- L'utilisateur conserve la propriete de ses donnees et configurations.

11. MODIFICATION DES CGU
- IliaCloud peut modifier les presentes CGU. L'utilisateur sera informe par email.
- La poursuite de l'utilisation vaut acceptation des nouvelles CGU.

12. DROIT APPLICABLE
- Les presentes CGU sont soumises au droit belge/francais.
- Tout litige sera soumis aux tribunaux competents de [ville].
```

---

### 6. Politique de confidentialite (`/privacy`)

```
POLITIQUE DE CONFIDENTIALITE
Derniere mise a jour : [date]

1. RESPONSABLE DU TRAITEMENT
[Votre nom / societe]
[Adresse]
Contact : contact@iliacloud.com

2. DONNEES COLLECTEES
| Donnee | Finalite | Duree de conservation |
|--------|----------|----------------------|
| Email | Authentification, communication | Duree du compte |
| Mot de passe (hashe) | Authentification | Duree du compte |
| Adresse IP | Securite, audit, rate limiting | 90 jours max |
| Cles SSH (chiffrees) | Connexion aux serveurs | Duree du compte |
| Cles API (chiffrees) | Utilisation du chat IA | Duree du compte |
| Metriques serveur | Dashboard, alertes | 30-365 jours selon plan |
| Logs d'audit | Securite, tracabilite | 7-90 jours selon plan |

3. CHIFFREMENT
- Cles SSH et API : AES-256-GCM (cle de chiffrement unique par instance)
- Mots de passe : bcrypt 12 rounds
- Exports : AES-256-GCM + PBKDF2 100k iterations
- Communications : HTTPS/TLS obligatoire

4. SOUS-TRAITANTS
| Service | Role | Pays |
|---------|------|------|
| OVH | Hebergement serveur | France |
| Stripe | Paiement | USA (conforme RGPD) |
| Let's Encrypt | Certificats TLS | USA |

5. DROITS DE L'UTILISATEUR (RGPD)
- Acces : consulter vos donnees via l'interface ou l'export config
- Rectification : modifier vos informations dans Parametres
- Suppression : supprimer votre compte (irreversible)
- Portabilite : exporter votre configuration (JSON chiffre)
- Opposition : nous contacter a contact@iliacloud.com

6. COOKIES
- access_token : cookie httpOnly, authentification (15 min)
- refresh_token : cookie httpOnly, renouvellement session (7 jours)
- csrf_token : protection CSRF (session)
- Aucun cookie de tracking, aucun cookie tiers.

7. TRANSFERTS INTERNATIONAUX
- Les donnees sont hebergees en France (OVH).
- Stripe est conforme au RGPD (clauses contractuelles types).
- Les requetes IA transitent vers le provider choisi par l'utilisateur
  (Anthropic USA, OpenAI USA, Google USA, Mistral France, etc.).

8. SECURITE
- Chiffrement bout en bout des donnees sensibles
- Audit log de toutes les actions
- Rate limiting et protection anti-brute-force
- Tests automatises (612 tests) et analyse SonarQube
- Aucun acces administrateur aux cles dechiffrees

9. MODIFICATION
- Toute modification sera communiquee par email.
- La politique actuelle est toujours disponible a l'adresse /privacy.

10. CONTACT
Pour toute question : contact@iliacloud.com
```

---

### 7. Mentions legales (`/legal`)

```
MENTIONS LEGALES

Editeur du site :
[Votre nom complet]
[Statut : auto-entrepreneur / societe]
[Adresse]
[SIRET : ...]
[Email : contact@iliacloud.com]

Hebergeur :
OVH SAS
2 rue Kellermann
59100 Roubaix, France
+33 9 72 10 10 07

Directeur de la publication :
[Votre nom]

Protection des donnees :
Voir notre politique de confidentialite : /privacy
Contact DPO : contact@iliacloud.com
```

---

## SEO et meta tags

Chaque page doit avoir :

```html
<title>IliaCloud — [Titre de la page]</title>
<meta name="description" content="[Description unique 150-160 caracteres]" />
<meta property="og:title" content="IliaCloud — [Titre]" />
<meta property="og:description" content="[Description]" />
<meta property="og:image" content="/og-image.png" />
<meta property="og:url" content="https://iliacloud.com/[page]" />
<meta name="twitter:card" content="summary_large_image" />
<link rel="canonical" href="https://iliacloud.com/[page]" />
```

### Titres et descriptions par page

| Page | Title | Description |
|---|---|---|
| `/` | IliaCloud — Gerez vos serveurs depuis votre telephone | SSH, Docker, monitoring, backups et IA en une seule app. Remplace Termius + UptimeRobot + Portainer pour 12€/mois. |
| `/pricing` | Tarifs — IliaCloud | Plans Free, Pro et Business. Tout inclus a partir de 12€/mois. Comparez les fonctionnalites. |
| `/features` | Fonctionnalites — IliaCloud | Dashboard temps reel, Docker, terminal SSH, monitoring uptime/SSL, backups auto, chat IA multi-provider. |
| `/security` | Securite — IliaCloud | Chiffrement AES-256-GCM, cookies httpOnly, audit log, 612 tests automatises. Vos donnees sont protegees. |
| `/cgu` | Conditions generales — IliaCloud | CGU du service IliaCloud. |
| `/privacy` | Confidentialite — IliaCloud | Politique de confidentialite conforme RGPD. |
| `/legal` | Mentions legales — IliaCloud | Informations legales sur l'editeur et l'hebergeur. |

---

## Deploiement

### Dockerfile

```dockerfile
FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build

FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html
# SPA fallback + cache statique
RUN cat > /etc/nginx/conf.d/default.conf <<'NGINX'
server {
  listen 80;
  root /usr/share/nginx/html;
  index index.html;

  location / {
    try_files $uri $uri/ $uri.html =404;
  }

  location ~* \.(js|css|png|jpg|svg|ico|woff2)$ {
    expires 1y;
    add_header Cache-Control "public, immutable";
  }
}
NGINX
EXPOSE 80
```

### Docker Compose (sur le VPS)

```yaml
# Ajouter dans le docker-compose.yml existant ou creer un nouveau stack
services:
  site:
    image: iliacloud-site:latest
    networks:
      - traefik_net
    deploy:
      labels:
        - traefik.enable=true
        - traefik.http.routers.iliacloud-site.rule=Host(`iliacloud.com`) || Host(`www.iliacloud.com`)
        - traefik.http.routers.iliacloud-site.entrypoints=websecure
        - traefik.http.routers.iliacloud-site.tls.certresolver=letsencrypt
        - traefik.http.services.iliacloud-site.loadbalancer.server.port=80
```

### Commandes de deploiement

```bash
# Build
cd iliacloud-site
docker build -t iliacloud-site:latest .

# Deploy
docker stack deploy -c docker-compose.yml iliacloud-site

# Ou si dans le meme stack
docker service update --force iliacloud-site_site
```

---

## Calendrier

| Etape | Duree | Description |
|---|---|---|
| 1. Init projet Astro + Tailwind | 15 min | `npm create astro`, config Tailwind |
| 2. Layout + Header + Footer | 30 min | Navigation, liens, responsive |
| 3. Landing page | 1h | Hero, features grid, comparaison, FAQ, CTA |
| 4. Page pricing | 30 min | Reprendre le design du PricingPage.jsx existant |
| 5. Page features | 30 min | Screenshots + descriptions detaillees |
| 6. Page securite | 20 min | Badges, liste des mesures |
| 7. Pages legales (CGU, privacy, legal) | 20 min | Texte juridique |
| 8. SEO (meta tags, sitemap, robots.txt) | 15 min | |
| 9. Screenshots de l'app | 15 min | Captures des pages principales |
| 10. Dockerfile + deploiement | 15 min | Build, push, Traefik |

**Total estime : ~4h**

---

*Derniere mise a jour : 2 avril 2026*
