Posted on

DISPATCH : un pattern pour déployer sur plusieurs WordPress sans Git

Technique

Comment je déploie un mu-plugin sur neuf sites en une commande.

Git côté serveur, c’est lourd. Sur un hébergement mutualisé sans accès root, c’est carrément un problème. Voici l’alternative que j’utilise depuis 18 mois.

Le problème

Je dois modifier un mu-plugin (par exemple ajouter une règle de sécurité dans security-hardening.php) et le déployer sur mes neuf sites WordPress. Solution naïve : modifier sur le premier site via FTP, tester, puis répéter neuf fois. C’est tedious et source d’erreurs.

Le pattern DISPATCH

Un seul script bash en SSH qui :

  1. Lit un fichier source (le mu-plugin modifié) depuis ~/upload-pack/
  2. Itère sur une liste de sites (variable bash SITES=(seed patashop sleepwell ...))
  3. Pour chaque site, copie le fichier dans son wp-content/mu-plugins/
  4. Vérifie que la copie a bien eu lieu (taille, contenu)
  5. Affiche un récap propre

Le tout en 30 lignes de bash. Pas de Git, pas de runners CI, pas de pipeline. Juste un script qui fait une chose et la fait bien.

L’exemple concret

#!/bin/bash
SOURCE=~/upload-pack/security-hardening.php
SITES=(seed patashop sleepwell bienetre40 shopbluedolomites tcbluedolomites maneuro yakapa bluedolomites)

for SITE in "${SITES[@]}"; do
    DEST="$HOME/$SITE/wp-content/mu-plugins/security-hardening.php"
    cp "$SOURCE" "$DEST"
    chmod 644 "$DEST"
    echo "✓ $SITE : déployé"
done

Pourquoi c’est suffisant

Pour mon cas d’usage (un seul opérateur, neuf sites, mu-plugins qui changent rarement), Git apporterait une complexité disproportionnée par rapport au bénéfice. Le coût de la complexité Git (branches, merges, rebases, conflits, runners CI) dépasse largement le bénéfice du versioning fin pour un déploiement qui se résume à “copier ce fichier sur N machines identiques”.

Le versioning, je le fais via les archives daily (~/_archives/2026-06-03/) — ce qui me donne un historique chronologique des fichiers sans complexité d’arborescence Git.

Quand utiliser autre chose

Si vous êtes plusieurs développeurs avec des changements concurrents, ou si vos sites ont des configurations vraiment divergentes, Git devient nécessaire. Mais pour un solo entrepreneur avec un portfolio uniforme, DISPATCH est radicalement plus simple et largement suffisant.

Théo Blanchard
Article rédigé par
Théo Blanchard
Dev & Geek-en-chef
Développeur passionné de LLM locaux et d'architectures multi-agents, Théo plonge dans la technique avec gourmandise. Sa devise : "Si ça tourne en local, je l'essaie."