Passer au contenu
SilktideAide

Connecter un CMS personnalisé

Si Silktide n’a pas de module d’extension pour votre CMS, vos développeurs peuvent le connecter eux-mêmes. Une connexion personnalisée fait les deux mêmes choses que les autres (voir Connexions CMS) :

  • Publication : lorsqu’une page est publiée ou modifiée, votre CMS en informe Silktide, qui la teste de nouveau.
  • Modification : chaque page comporte une balise méta qui indique où elle est modifiée. Ainsi, Ouvrir dans le CMS dans Silktide ouvre cette page dans votre CMS.

Vous pouvez créer l’une ou l’autre des parties, ou les deux.

1. Obtenez votre clé et l’adresse de l’API

  1. Dans Silktide, ouvrez Paramètres, puis Intégrations, et choisissez CMS.
  2. Choisissez CMS personnalisé, sélectionnez ce à quoi la connexion s’applique, puis choisissez Connecter.
  3. Copiez la clé et l’adresse de l’API.

L’adresse de l’API dépend de la région dans laquelle se trouve votre compte, par exemple https://api.eu.silktide.com. Utilisez celle indiquée par Silktide. Dans les exemples ci-dessous, remplacez https://api.eu.silktide.com par cette adresse, et la clé par la vôtre.

Pour vérifier que la clé fonctionne, envoyez-la à /cms/test-key. Silktide répond 200 si la clé est valide, et 403 si elle ne l’est pas :

curl --request POST \
  --header "Content-Type: application/json" \
  --data '{"apiKey": "eu:your-key"}' \
  https://api.eu.silktide.com/cms/test-key

Votre intégration n’a pas besoin d’appeler ce point de terminaison. Il est fourni à des fins de test.

2. Publication : indiquez à Silktide ce qui a changé

Lorsqu’une page est ajoutée ou modifiée, envoyez une demande POST à /cms/update avec un corps JSON :

  • apiKey : votre clé.
  • url : l’adresse publique de la page qui a changé, ou urls : une liste d’adresses.
  • deferRetestSeconds (facultatif) : le nombre de secondes que Silktide doit attendre avant d’effectuer le test, par exemple pendant que vos caches se vident.
curl --request POST \
  --header "Content-Type: application/json" \
  --data '{"apiKey": "eu:your-key", "url": "https://www.example.com/news/open-day"}' \
  https://api.eu.silktide.com/cms/update

Silktide répond immédiatement et met le test en file d’attente. La page est habituellement testée de nouveau dans la minute qui suit.

Silktide teste uniquement les adresses qui appartiennent aux sites Web auxquels la connexion s’applique, et qui sont comprises dans la portée de test de chaque site Web. Toute autre adresse est ignorée.

3. Modification : indiquez où chaque page est modifiée

Ajoutez une balise méta à la section <head> de chaque page publiée par votre CMS :

<meta name="silktide-cms" content="...">

Son content est un objet JSON encodé en Base64 :

{"cms": "Your CMS name", "editorUrl": "https://cms.example.com/pages/123/edit"}
  • cms indique le nom de votre CMS. Il s’agit de texte libre.
  • editorUrl est l’adresse qu’une personne visite pour modifier cette page.

Silktide lit la balise chaque fois qu’il teste la page. Ouvrir dans le CMS ouvre editorUrl dans un nouvel onglet.

Le format Base64 est facile à décoder. Toute personne qui consulte la page peut donc lire editorUrl. N’y mettez jamais d’information permettant d’ouvrir une session, comme un jeton ou un nom d’utilisateur. Si vous préférez ne pas afficher vos adresses d’éditeur, chiffrez la balise.

Chiffrer la balise (facultatif)

Chiffrez le JSON avec AES-256-CBC, en utilisant votre clé comme clé de chiffrement. Encodez ensuite en Base64, dans cet ordre : le vecteur d’initialisation, un HMAC SHA-256 des octets chiffrés (en utilisant également votre clé), puis les octets chiffrés. En PHP :

$data = ['cms' => 'Your CMS name', 'editorUrl' => 'https://cms.example.com/pages/123/edit'];
$iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('AES-256-CBC'));
$encrypted = openssl_encrypt(json_encode($data), 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv);
$hmac = hash_hmac('sha256', $encrypted, $key, true);
$content = base64_encode($iv . $hmac . $encrypted);
// $content is the meta tag's content.

4. Testez la configuration

  1. Déployez vos modifications. Si vous avez ajouté la balise méta, videz les caches afin que les pages publiques la contiennent.
  2. Testez de nouveau le site Web dans Silktide.
  3. Ouvrez une page dans l’Inspecteur. Ouvrir dans le CMS devrait apparaître et ouvrir cette page dans votre CMS.
  4. Publiez une page dans votre CMS. Silktide devrait commencer à la tester dans la minute qui suit.

Si quelque chose ne fonctionne pas, choisissez Communiquer avec l’assistance dans Silktide.

Dernière mise à jour

Cette page vous a-t-elle été utile?