Files
obc-terrassement/PLAN.md
Claude 0d4c12bad9 Add deployment plan: OVH server + WordPress Multisite for artisan clients
6-phase roadmap covering server setup, WP Multisite isolation,
Kadence design, SEO, client templates, and DNS migration.

https://claude.ai/code/session_01PzA98VhLMmsHpzs7gnLHGs
2026-02-24 18:53:55 +00:00

7.1 KiB

Plan de déploiement HookLab — Sites Artisans


PHASE 1 — Serveur OVH (toi + moi)

1.1 — Créer le VPS

  • Commander VPS OVH (région Roubaix ou Gravelines)
  • Choisir Ubuntu 24.04 LTS
  • Noter l'IP publique

1.2 — Sécuriser l'accès SSH

# Connexion initiale
ssh root@TON_IP

# Créer un utilisateur admin
adduser hooklab
usermod -aG sudo hooklab

# Désactiver le login root SSH
nano /etc/ssh/sshd_config
# → PermitRootLogin no
systemctl restart ssh

1.3 — Installer la stack LEMP

sudo apt update && sudo apt upgrade -y

# Nginx
sudo apt install nginx -y

# MariaDB (base de données)
sudo apt install mariadb-server -y
sudo mysql_secure_installation

# PHP 8.2 + extensions WordPress
sudo apt install php8.2 php8.2-fpm php8.2-mysql php8.2-curl \
  php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip php8.2-intl -y

1.4 — Installer Certbot (HTTPS gratuit)

sudo apt install certbot python3-certbot-nginx -y

1.5 — Configurer le pare-feu

sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable

PHASE 2 — WordPress Multisite (toi + moi)

Objectif : Un seul WordPress qui héberge tous les sites clients. Chaque client = un sous-site isolé avec son propre accès.

2.1 — Créer la base de données

sudo mysql -u root -p

CREATE DATABASE hooklab_wp;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'MOT_DE_PASSE_FORT';
GRANT ALL PRIVILEGES ON hooklab_wp.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

2.2 — Télécharger WordPress

cd /var/www/
sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzf latest.tar.gz
sudo mv wordpress hooklab
sudo chown -R www-data:www-data /var/www/hooklab

2.3 — Configurer Nginx pour le Multisite

# /etc/nginx/sites-available/hooklab
server {
    listen 80;
    server_name hooklab.fr *.hooklab.fr;
    root /var/www/hooklab;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
    }

    # Multisite — sous-répertoires
    if (!-e $request_filename) {
        rewrite /wp-admin$ $scheme://$host$uri/ permanent;
        rewrite ^(/[^/]+)?(/wp-.*) $2 last;
        rewrite ^(/[^/]+)?(/.*\.php) $2 last;
    }
}

2.4 — Activer le Multisite dans wp-config.php

/* Multisite */
define('WP_ALLOW_MULTISITE', true);
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false); // sous-répertoires
define('DOMAIN_CURRENT_SITE', 'hooklab.fr');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

2.5 — Installer les plugins essentiels (réseau)

  • Kadence Blocks — page builder
  • Kadence Theme — thème de base
  • WP Rocket ou LiteSpeed Cache — performances
  • Wordfence — sécurité
  • UpdraftPlus — sauvegardes automatiques
  • Yoast SEO ou Rank Math — SEO

2.6 — Structure des sous-sites

hooklab.fr/              ← Site principal (vitrine HookLab)
hooklab.fr/cyprien/      ← Site de Cyprien (maçon)
hooklab.fr/dupont/       ← Site de M. Dupont (plombier)
hooklab.fr/martin/       ← Site de M. Martin (paysagiste)

Ou avec sous-domaines si préféré : cyprien.hooklab.fr, dupont.hooklab.fr

2.7 — Permissions client

  • Chaque client reçoit un accès Éditeur (ou Administrateur de sous-site)
  • Il peut modifier ses textes, images, pages
  • Il ne peut pas modifier les autres sites
  • Il ne peut pas installer des plugins ou thèmes

PHASE 3 — Design Kadence (surtout toi)

Reproduire le design actuel des pages /macon, /plombier, /paysagiste avec Kadence Blocks.

Checklist design

  • Importer la palette de couleurs HookLab dans Kadence
  • Configurer la typographie (polices actuelles)
  • Recréer le header / navbar
  • Recréer la section Hero (titre + CTA)
  • Section "Nos services" (3 colonnes)
  • Section témoignages / avis Google
  • Formulaire de contact / devis
  • Footer avec coordonnées + mentions légales
  • Responsive mobile vérifié

Astuce Kadence

Kadence → Design Library → "Save as Template"
→ Réutiliser ce template pour chaque nouveau client

PHASE 4 — Blog + SEO (toi)

Structure recommandée

hooklab.fr/blog/                    ← Blog principal HookLab
hooklab.fr/cyprien/blog/            ← Articles SEO locaux de Cyprien

Checklist SEO par site client

  • Yoast / Rank Math configuré
  • Sitemap XML généré
  • Google Search Console connecté
  • Meta title + description sur chaque page
  • Balises H1/H2 structurées
  • Images optimisées (WebP + alt text)
  • Page "Mentions légales" + "Politique confidentialité"
  • Schema.org LocalBusiness (nom, adresse, téléphone)

Mots-clés cibles (exemple Maçon)

maçon [ville]
entreprise maçonnerie [ville]
devis maçon [ville]
rénovation façade [ville]

PHASE 5 — Template client (toi)

Créer 1 template Kadence réutilisable pour tous les artisans. Nouveau client = dupliquer le template + changer textes/photos.

Contenu du template

  • Page d'accueil complète (Hero, Services, Avis, Contact)
  • Page "À propos"
  • Page "Réalisations" (galerie photos)
  • Page "Contact" avec formulaire
  • Page "Devis gratuit"
  • Articles de blog pré-remplis (à adapter par ville)

Livraison client

1. Dupliquer le sous-site template
2. Remplacer logo, couleurs, textes, photos
3. Configurer le nom de domaine client
4. Créer son accès Éditeur
5. Former le client (15 min en visio)

PHASE 6 — Migration DNS (toi + moi)

Faire pointer les domaines clients vers le serveur OVH.

6.1 — Domaine principal hooklab.fr

Type A    hooklab.fr        → TON_IP_OVH
Type A    *.hooklab.fr      → TON_IP_OVH  (wildcard pour sous-domaines)

6.2 — Domaine custom par client (optionnel)

# Si le client a son propre domaine (ex: cyprien-macon.fr)
Type A    cyprien-macon.fr  → TON_IP_OVH
Type A    www               → TON_IP_OVH

6.3 — HTTPS automatique

# Générer les certificats SSL
sudo certbot --nginx -d hooklab.fr -d www.hooklab.fr
sudo certbot --nginx -d cyprien-macon.fr -d www.cyprien-macon.fr

# Renouvellement automatique (déjà inclus avec Certbot)
sudo systemctl enable certbot.timer

6.4 — Vérifications post-migration

  • https:// fonctionne sur tous les domaines
  • Pas de contenu mixte HTTP/HTTPS
  • Redirections www → non-www (ou inverse)
  • Formulaires de contact fonctionnels
  • Emails de notification reçus
  • Google Search Console mise à jour

Récapitulatif

Phase Responsable Durée estimée
1 — Serveur OVH toi + moi 1h
2 — WordPress Multisite toi + moi 1-2h
3 — Design Kadence toi 3-5h par template
4 — Blog + SEO toi ongoing
5 — Template client toi 1h par client
6 — Migration DNS toi + moi 30min

Dernière mise à jour : 2026-02-24