Aller au contenu

Configuration WordPress

Pour utiliser WordPress comme CMS avec Silex, vous devez exposer votre contenu via une API GraphQL. Cette page vous guide à travers les plugins et la configuration nécessaires.

Vous avez besoin d'un site WordPress que vous pouvez modifier. Si vous testez en local, utilisez une installation WordPress locale ou un site de staging. Les plugins ci-dessous sont gratuits et largement utilisés.

Installer le plugin requis

Connectez-vous à votre tableau de bord d'administration WordPress et allez dans Extensions > Ajouter une extension.

Installez WPGraphQL (par Jason Bahl) :

  • Cherchez "WPGraphQL" et cliquez sur Installer maintenant
  • Activez le plugin
  • Allez dans GraphQL > Settings : l'adresse de votre API GraphQL est affichée sous le champ GraphQL Endpoint. Copiez-la, vous la collerez dans Silex au moment de connecter la source de données

Ajouter des champs personnalisés avec ACF (optionnel)

Les articles WordPress ont déjà un titre, un contenu, un extrait, un auteur, une date et une image mise en avant. Si votre contenu a besoin d'autres champs (un prix, une couleur, une deuxième image), vous pouvez utiliser ACF (Advanced Custom Fields).

Installez ACF et WPGraphQL for ACF. WPGraphQL for ACF rend vos champs ACF visibles pour Silex.

Contenu public vs. privé

Par défaut, WPGraphQL respecte les permissions WordPress. Si un article est défini comme « Privé », il n'apparaît dans GraphQL que si l'utilisateur est connecté.

Pour un site public, assurez-vous que votre contenu est publié et défini comme public dans WordPress. Pour un accès authentifié (par exemple, un site réservé aux membres), vous devrez peut-être ajouter des en-têtes d'authentification lors de la connexion depuis Silex.

Problèmes courants

  • Silex n'arrive pas à se connecter à votre site : vérifiez que le plugin WPGraphQL est installé et activé, et que vous avez collé l'adresse affichée dans GraphQL > Settings.
  • Les listes sont vides dans Silex : vérifiez les permissions WordPress. Seul le contenu publié apparaît. Les articles privés n'apparaissent que pour les utilisateurs connectés.
  • Erreur "GraphQL introspection is not allowed for public requests by default" : Silex a besoin de lire votre schéma, et WPGraphQL le bloque pour les requêtes publiques. Dans l'administration WordPress, allez dans GraphQL > Settings et cochez l'option d'introspection publique : Enable Public Introspection, ou Let logged-out visitors read the schema (introspection) dans les versions récentes. Enregistrez, puis connectez à nouveau la source de données.

Déclencher une reconstruction depuis l'administration WordPress

Une fois votre site Silex en ligne, vous pouvez permettre aux éditeurs WordPress de déclencher une reconstruction sans ouvrir Silex. C'est utile pour les clients qui modifient seulement le contenu dans WordPress et n'ont pas besoin d'accéder à l'éditeur.

Objectif : quand un éditeur clique sur le bouton Deploy Website de la barre d'administration WordPress, GitLab reconstruit le site statique avec le contenu le plus récent.

  1. Installez le plugin WP Jamstack Deployments dans WordPress, puis allez dans Réglages > Deployments.

  2. Dans votre dépôt GitLab, créez un jeton de déclenchement de pipeline : Settings > CI/CD, dépliez Pipeline trigger tokens, cliquez sur Add new token, saisissez une description et cliquez sur Create pipeline trigger token. Copiez le Project ID, le nom de la branche (par exemple, main) et le jeton de déclenchement (trigger token).

  3. Dans Réglages > Deployments, collez l'URL de déclenchement du pipeline GitLab dans le champ Build Hook URL :

    https://gitlab.com/api/v4/projects/PROJECT_ID/ref/BRANCH/trigger/pipeline?token=TRIGGER_TOKEN
    

    Exemple :

    https://gitlab.com/api/v4/projects/75822331/ref/main/trigger/pipeline?token=glptt-xxxxxxxxxxxx
    
  4. Cliquez sur le bouton Deploy Website de la barre d'administration WordPress. GitLab lance un pipeline et reconstruit le site. Vérifiez la vue Jobs dans GitLab pour le confirmer.

Le plugin peut aussi afficher un badge d'état du déploiement dans l'en-tête de l'administration WordPress.

En savoir plus


Quiz

Q1 : Vous avez installé WPGraphQL mais votre point d'accès GraphQL n'est pas accessible. Quelle est la première chose à vérifier ?

  • A) Redémarrer votre serveur WordPress
  • B) S'assurer que le plugin WPGraphQL est activé
  • C) Vérifier que votre domaine a SSL (HTTPS)
Réponse

B) S'assurer que le plugin WPGraphQL est activé — Installer le plugin ne suffit pas ; il doit être activé. Allez dans Extensions et vérifiez le statut.

Q2 : Les articles de votre client ont besoin d'un champ en plus, par exemple un prix. Qu'installez-vous ?

  • A) ACF et WPGraphQL for ACF
  • B) Seulement ACF
  • C) Rien, WPGraphQL affiche tous les champs
Réponse

A) ACF et WPGraphQL for ACF : ACF crée le champ dans WordPress. WPGraphQL for ACF le rend visible pour Silex.

Q3 : Silex est connecté à WordPress, mais vos listes sont vides. Que vérifiez-vous d'abord ?

  • A) Que les articles sont publiés, et ni privés ni en brouillon
  • B) Que votre domaine a SSL (HTTPS)
  • C) Qu'ACF est installé
Réponse

A) Que les articles sont publiés, et ni privés ni en brouillon : seul le contenu publié apparaît. Les articles privés n'apparaissent que pour les utilisateurs connectés.

Éditer cette page sur GitLab