WordPress domine comme l’un des systèmes de gestion de contenu (CMS) les plus populaires.

Cependant, l’utilisation traditionnelle de WordPress sur un serveur LAMP (Linux, Apache, MySQL, PHP) peut présenter des défis en termes de sécurité et d’efficacité énergétique.

Pour relever ces défis, je me suis « amusé » à concevoir une infrastructure qui non seulement renforce la sécurité mais favorise également une approche plus écologique de la gestion de sites WordPress.

La configuration de Base : un serveur web privé avec WordPress

Le cœur de cette infrastructure repose sur un serveur web privé où WordPress est installé, qui génère des fichiers statiques et les distribue via le CDN de Netlify.

Cette approche diffère du modèle d’hébergement partagé traditionnel : le serveur privé – conçu de façon « classique » selon la stack LAMP (Linux Apache Mysql PHP) – permet de ne pas perturber l’utilisateur habitué à WordPress pour gérer son site au quotidien tout en utilisant la puissance d’un CDN – en l’occurence Netlify – pour garantir sa disponibilité et sa rapidité d’affichage partout dans le monde.

Un défi de collaboration

Il est important de noter que le développement de cette infrastructure a débuté sur un serveur local, hébergé via LocalWP sur ma propre machine. Cette phase initiale a permis une grande flexibilité et un contrôle total sur l’environnement de développement. L’autre avantage est qu’en utilisant cette méthode, on peut créer et mettre des sites WordPress en ligne sans avoir à payer le moindre hébergement.

Cependant, un défi majeur s’est rapidement présenté : j’étais le seul à pouvoir administrer et mettre à jour le site. Dans un contexte réel, cette limitation pose un problème significatif, surtout pour les équipes de développement ou les projets nécessitant une collaboration. Le passage à un serveur web privé a donc été une étape cruciale pour surmonter cette barrière, permettant une gestion plus collaborative et accessible du site.

Génération de Contenu Statique : Le Rôle de Simply Static

L’utilisation du plugin Simply Static marque une étape cruciale. Ce plugin transforme un site WordPress dynamique en une version statique, en générant des fichiers HTML, CSS et JavaScript. Cette transformation a deux avantages majeurs :

  • Sécurité Améliorée : Les sites statiques sont intrinsèquement plus sécurisés. Sans base de données ou scripts PHP à exploiter, ils sont moins susceptibles aux attaques courantes telles que les injections SQL.
  • Efficacité Énergétique : Les sites statiques nécessitent moins de ressources serveur pour être servis aux utilisateurs, réduisant ainsi la consommation d’énergie.

Synchronisation avec GitHub : Automatisation et Fiabilité

Le sous-dossier contenant le site statique est synchronisé avec un dépôt GitHub, par le biai d’un script shell qui réagit à la moindre modification de son contenu.

Cette synchronisation automatique assure que toute mise à jour sur le site WordPress est rapidement reflétée dans la version statique, sans avoir à faire de « commits » ou de « push » manuels.

L’utilisation de GitHub apporte une couche supplémentaire de sécurité grâce à ses protocoles robustes et offre une plateforme fiable pour le stockage et la gestion de versions.

Gestion des Formulaires de Contact : Utilisation d’API Externes

Un autre aspect clé de cette infrastructure est la gestion des formulaires de contact. Étant donné que les sites statiques ne peuvent pas traiter les formulaires directement, j’ai opté pour l’utilisation d’API externes comme Formspree ou FormSubmit.

Ces services transforment les soumissions de formulaires en emails reçus directement par la personne chargée de recevoir les contacts provenant du site.

Déploiement via Netlify : Rapidité et Performance Écologique

Finalement, le dépôt GitHub est connecté à Netlify, une plateforme qui déploie automatiquement le site statique sur le domaine public. Netlify se distingue par sa rapidité et son efficacité, offrant des temps de chargement réduits et une consommation énergétique moindre comparée aux serveurs traditionnels.

De plus, Netlify est reconnu pour son engagement envers la durabilité, ajoutant une dimension écologique supplémentaire à cette infrastructure.

Pour faire court…

Une particularité notable de cette approche est que les ressources du serveur LAMP sont exclusivement utilisées par les administrateurs du site lors de la gestion et de la mise à jour du contenu. En revanche, les visiteurs qui accèdent au site ne sollicitent pas ces ressources à chaque chargement. Cela est dû au fait que la version servie au public est statique, hébergée sur Netlify.

Cette séparation des tâches réduit considérablement la charge sur le serveur LAMP, entraînant une utilisation plus efficace des ressources et une réduction de l’empreinte énergétique globale par rapport aux solutions d’hébergement standard.

Je suis ravi de vous présenter dans les jours à venir un guide détaillé sur le déploiement de cette infrastructure qui, bien qu’étant encore à l’état de prototype, offre de nombreuses possibilités d’amélioration et d’adaptation pour répondre aux besoins spécifiques de chaque projet web.

Voici le plan à suivre pour mettre en place cette infrastructure chez vous :

  1. Configuration du serveur web
  2. Création & paramétrage du site internet
  3. Paramétrage du compte Github
  4. Paramétrage du compte Netlify et du nom de domaine
  5. Mise en place d’un formulaire de contact
  6. Tests et vérifications

Suivez le guide !

Voici les différents guides à suivre pour mener à bien ce projet (en cours de rédaction) :

1. Création & configuration du serveur web

1. Création & configuration du serveur web

La première chose à faire pour réaliser cette infrastructure, c’est de mettre en place un serveur web. En pratique, n’importe …
2. Générer des pages statiques et les envoyer sur un dépôt distant

2. Générer des pages statiques et les envoyer sur un dépôt distant

Rappel du principe de base : transformer le site sous WordPress en site statique afin de gagner en sécurité et …
3. Déployer les fichiers HTML via Netlify

3. Déployer les fichiers HTML via Netlify

Jusqu’alors, nous avons : Créé un serveur privé sur lequel le site WordPress est installé Configuré la génération de fichiers …