En un coup d’œil
- Ce que vous pouvez faire : donner aux agents Semji un accès contrôlé à vos contenus Drupal.
- Pour qui : propriétaires de workspace et administrateurs Drupal.
- Compatibilité : à partir de Drupal 8.7, la version qui a intégré JSON:API au cœur de Drupal.
Prérequis
- Drupal 8.7 ou plus récent, en ligne, public et en HTTPS.
- Les modules JSON:API et HTTP Basic Authentication (basic_auth) activés. Les deux sont livrés avec Drupal.
- JSON:API réglé en lecture-écriture : cochez « Accept all JSON:API create, read, update, and delete operations » sous
/admin/config/services/jsonapi. Il est en lecture seule par défaut, ce qui en fait le blocage le plus courant. - Un compte Drupal dédié à Semji, avec les permissions listées dans Permissions du compte d’API. Un simple rôle d’éditeur ne suffit pas, cette section explique pourquoi.
- Pour que les agents puissent écrire des méta descriptions : le module Metatag, plus un champ Meta tags sur chaque type de contenu concerné. Voir Méta descriptions.
- Si un pare-feu, un WAF ou une protection anti-bot (Cloudflare, Akamai, Sucuri, …) se trouve devant votre site, il doit autoriser les adresses IP de Semji. Voir Pare-feu et autorisation d’IP.
- Vous êtes propriétaire du workspace dans Semji. La connexion est partagée avec tout le workspace.
Comment connecter votre site Drupal
Préparer votre site Drupal
403.Ajouter un champ Meta tags, uniquement si vous voulez des méta descriptions. Voir Méta descriptions pour la procédure complète.Connecter depuis Semji
-
URL du site : l’adresse exacte de votre site en HTTPS, par exemple
https://votre-site.com. Entrez l’adresse réellement utilisée par votre site : s’il bascule de exemple.com vers www.exemple.com, saisissez la version www. Semji ne suit pas les redirections. - Nom d’utilisateur : l’identifiant Drupal du compte d’API créé à l’étape 1.
-
Mot de passe : le mot de passe de ce compte.

GET /jsonapi sur votre site et en vérifiant que Drupal authentifie le compte.Choisir les outils Drupal
- Lecture : parcourir, lire et inspecter le contenu et la structure du site.
- Écriture : créer et mettre à jour du contenu.
- Suppression : supprimer du contenu. Attention, cette action est irréversible.
Enregistrer
Permissions du compte d’API
Donnez-les au rôle créé pour Semji. Remplacezarticle par chaque type de contenu sur lequel les agents travailleront.
À propos de administer node fields
Cette permission est facultative mais recommandée. Avec elle, Semji lit directement les définitions de champs de vos types de contenu et sait précisément quel champ contient quoi. Sans elle, Semji se rabat sur l’inspection d’un contenu existant pour deviner la structure. Ça fonctionne, mais c’est moins précis et il faut au moins un élément existant par type de contenu.
Drupal classe cette permission comme restreinte, car elle permet aussi d’ajouter et de supprimer des champs depuis l’interface d’administration. Si votre politique de sécurité l’interdit, ne l’accordez pas : l’intégration fonctionne sans.
Méta descriptions
Le cœur de Drupal n’a pas de champ de méta description. Semji écrit les méta descriptions via le module contribué Metatag, que la plupart des configurations SEO Drupal utilisent déjà.Installer et activer Metatag
Ajouter un champ Meta tags à chaque type de contenu
Ce que Semji peut faire une fois connecté
Valeurs par défaut du contenu
Par défaut, Semji cible le type de contenuarticle avec le format de texte basic_html. Sur les sites qui utilisent Content Moderation, Semji écrit les états de modération published et draft à la place du champ de statut brut. Contactez le support Semji si votre site a besoin d’autres valeurs par défaut (autre type de contenu, autre format de texte ou noms d’états de modération personnalisés).
Gérer ou déconnecter
Depuis Paramètres → Intégrations → CMS, la ligne Drupal propose :- Gérer les outils : activer ou désactiver chaque groupe d’outils.
- Déconnecter : retirer l’intégration pour tout le workspace.
Pare-feu et autorisation d’IP
Semji appelle directement le JSON:API de votre site. Si un pare-feu ou une protection type Cloudflare se trouve devant votre Drupal, il doit laisser passer ces appels, sinon la connexion échoue. Semji’s servers reach the internet through a fixed set of outbound IP addresses. If a firewall, WAF, or anti-bot protection (Cloudflare, Akamai, Sucuri, …) sits in front of your site, it can block Semji’s requests — typically with a403 Forbidden — before they ever reach your CMS, even when your credentials are correct.
Allow the following Semji IP addresses:
/jsonapi/.
Dépannage
Identifiants Drupal invalides. Vérifiez le nom d'utilisateur et le mot de passe.
Identifiants Drupal invalides. Vérifiez le nom d'utilisateur et le mot de passe.
Impossible de se connecter au site Drupal. Vérifiez les identifiants, l'URL du site, et que les modules JSON:API et Basic Auth sont activés.
Impossible de se connecter au site Drupal. Vérifiez les identifiants, l'URL du site, et que les modules JSON:API et Basic Auth sont activés.
- Le module JSON:API est désactivé : /jsonapi renvoie une erreur 404.
- L’adresse redirige. Semji ne suit pas les redirections, entrez donc l’adresse finale, par exemple la version www.
- Le site est injoignable : problème de DNS, hébergeur indisponible, ou site non public.
- Un pare-feu affiche une page de vérification anti-bot, que Semji ne peut pas franchir.
- Le site répond trop lentement : la réponse doit arriver en moins de 10 secondes.
Le JSON:API de Drupal est configuré pour n'accepter que les opérations de lecture.
Le JSON:API de Drupal est configuré pour n'accepter que les opérations de lecture.
Erreur d'authentification ou de permission Drupal : le compte d'API ne peut pas créer ou mettre à jour ce contenu.
Erreur d'authentification ou de permission Drupal : le compte d'API ne peut pas créer ou mettre à jour ce contenu.
Toutes les écritures échouent, alors que les identifiants et les réglages JSON:API sont corrects
Toutes les écritures échouent, alors que les identifiants et les réglages JSON:API sont corrects
administer nodes. Drupal réserve l’écriture du champ status à cette permission, et Semji indique toujours explicitement le statut de publication : un compte qui ne l’a pas échoue donc à chaque création et mise à jour, alors que la lecture fonctionne très bien et que le test de connexion passe. Voir Permissions du compte d’API.Un agent dit que la méta description n'a pas été enregistrée
Un agent dit que la méta description n'a pas été enregistrée
- Pas de champ de méta description sur ce type de contenu : installez Metatag et ajoutez un champ Meta tags, comme décrit dans Méta descriptions.
- Drupal a accepté l’écriture mais n’a rien stocké : Semji n’a pas pu lire vos définitions de champs et a deviné le mauvais format. Donnez la permission
administer node fieldsau compte d’API, ou renseignez cette méta description à la main.
Erreurs affichées avant même de valider le formulaire
Erreurs affichées avant même de valider le formulaire
- « Veuillez saisir une URL valide. » : le texte saisi n’est pas une adresse web.
- « L’URL du site doit commencer par https://. » : les sites en HTTP ne peuvent pas être connectés.
- « L’URL du site pointe vers une adresse privée ou réservée, ce qui n’est pas autorisé. » : les sites locaux ou internes sont refusés, le site doit être public.
Articles liés
- Connecter votre CMS : publiez vos contenus dans votre CMS sans quitter Semji
- Synchroniser des brouillons vers votre CMS : le flux de publication par API, si vous préférez piloter la synchronisation vous-même.