PARTAGE

Le 18 mars 2025 | Update 16 juillet 2025 | 3 mins read

Déployer son Thème Wordpress avec les Github Actions

L'automatisation du déploiement d'un thème WordPress permet de gagner en efficacité et d'éviter les erreurs manuelles. Dans cet article, nous allons voir comment configurer GitHub Actions pour déployer automatiquement et gratuitement un thème WordPress sur un hébergement mutualisé type o2switch.

Prérequis

  • Un compte GitHub avec un dépôt privé ou public contenant votre thème WordPress.
  • Votre thème versionné et rattaché au dépôt github
  • Un accès FTP chez votre hébergeur.

Le cas o2switch

l’acces ssh étant restreint à des ip spécifiques, il sera compliqué d’utiliser cette méthode pour mettre à jour notre thème. Nous allons plutôt utiliser un simple transfert ftp par praticité.

Accès FTP dans GitHub

Les informations d'identifications FTP ne doivent pas être stockées directement dans le code yaml. Il faut utiliser les secrets ou les variables.
Rendez-vous sur votre dépôt GitHub.
Allez dans Settings > Secrets and variables > Actions.

Ajoutez les secrets suivants :

  • FTP_HOST : L'adresse du serveur FTP d'o2switch.
  • FTP_USERNAME : Votre nom d'utilisateur FTP.
  • FTP_PASSWORD : Votre mot de passe FTP.

Workflow GitHub Actions

Créez un fichier .github/workflows/deploy_o2switch.yml dans votre répertoire de projet avec le contenu suivant :

name: Deploy to FTP

on:
  push:
    branches:
      - main

jobs:
  deploy:
    name: FTP Deploy sur o2switch
    runs-on: ubuntu-latest

    steps:
      - name: Checkout du repository
        uses: actions/checkout@v4

      - name: Deployer via FTP sur o2switch
        uses: SamKirkland/FTP-Deploy-Action@v4.3.5
        with:
          server: ${{ secrets.FTP_HOST }}
          username: ${{ secrets.FTP_USER }}
          password: ${{ secrets.FTP_PASS }}
          protocol: ftp  # Options possibles : ftp, ftps, sftp
          port: 21  # Par défaut : 21 pour FTP, 990 pour FTPS, 22 pour SFTP
          security: loose  # Options : loose, strict (strict = certificat SSL validé)
          local-dir: ./
          server-dir: /wp-content/themes/sbt/
          exclude: |
            **/.git*
            **/.git*/**
            **/.github*
            **/.github*/**
            .gitignore
            **/node_modules*
            package.json
            package-lock.json
            tailwind.config.js
            README.md
            base.css

Explication

  • Déclenchement : Le déploiement s'exécute automatiquement à chaque push sur la branche main.
  • Checkout du dépôt : Le repository est cloné sur l'environnement de GitHub Actions.
  • Déploiement FTP : L'action "FTP Deploy sur o2switch" est utilisée pour envoyer les fichiers du thème sur le serveur distant via FTP.

Une liste de dossiers et de fichiers sont exclus du transfert.

Tester

Faites un commit et un push sur la branche main.
Rendez-vous dans l'onglet Actions de votre répôt GitHub pour suivre l'exécution du workflow.
Une fois le workflow terminé, vérifiez votre site WordPress pour voir si les modifications ont bien été appliquées. Attention à la mise en cache des pages de votre site wordpress.

Conclusion

Avec cette configuration, chaque modification pushée sur la branche main est automatiquement déployée sur mon hébergement o2switch. Cette approche permet d'assurer un déploiement rapide, fiable et sans intervention manuelle. Plus besoin d'ouvrir filezilla, de vérifier 10x si ce sont les bons fichiers, dans le bon dossier, dans la bonne version...

Pour ne pas interférer avec notre blog en production, il faudra réaliser nos modifications et développements sur une branche de dev et merger via un pull requests nos modifications sur la branche main quand nous sommes prêts.

Cette méthode peut s'appliquer à n'importe quel hébergeur du moment qu'un acces ftp est disponible.