Lancer votre boutique en ligne

Ce guide décrit comment lancer une boutique PWA Kit et la rendre accessible à partir de son adresse web officielle publique. Trois possibilités s’offrent à vous pour lancer et diriger votre trafic vers votre boutique PWA Kit :

  1. Utilisez un CDN tiers comme CloudFlare ou Akamai.
  2. Utilisez le CDN intégré (eCDN), fourni par Salesforce Commerce Cloud. Pour en savoir plus sur le routage du trafic vers Managed Runtime à l’aide d’eCDN, reportez-vous au guide.
  3. Utilisez le CDN Managed Runtime.

Dans ce guide, nous utilisons un exemple de boutique en ligne avec les attributs suivants :

  • URL de production : https://www.example.com
  • Identifiant du projet : example
  • Identifiants d’environnement : staging et production

L’empilement d’un CDN tiers sur Managed Runtime est facultatif. Les clients peuvent choisir d’utiliser un CDN tiers pour les raisons suivantes :

  • Une relation préexistante avec le fournisseur de CDN de leur choix, dont les équipes internes sont capables de configurer et de gérer un CDN.
  • Un besoin de contrôle supplémentaire des fonctionnalités CDN au-delà de ce que fournit l’eCDN ou Managed Runtime.

Les clients qui souhaitent un service à bas coût, une commercialisation rapide et dont les exigences concernant leur CDN sont limitées, peuvent utiliser l’eCDN ou le CDN intégré à Managed Runtime.

Ce guide suppose que vous avez accès à l'application Web Runtime Admin et à Managed Runtime API pour effectuer des tâches administratives. Pour accéder à ces outils, contactez votre administrateur Commerce Cloud et demandez-lui d'ajouter l'un des rôles suivants à votre compte dans Account Manager : Managed Runtime User ou Managed Runtime Admin.

Pour envoyer des requests à Managed Runtime API, vous devez inclure une clé API dans l’en-tête de la request HTTP Authorization avec la valeur Bearer $API_KEY. Pour tous les exemples de requests fournis, n'oubliez pas de remplacer $API_KEY par votre propre clé API.

Pour trouver votre clé API, connectez-vous à Runtime Admin et accédez à la page Account Settings.

Important : Considérez votre clé API comme un mot de passe, car elle permet aux scripts d'effectuer des opérations en votre nom.

Vous aurez besoin d’accéder à votre fournisseur DNS pour créer et mettre à jour des enregistrements CNAME, ainsi que d’accéder à votre fournisseur de CDN tiers (le cas échéant).

Dans ce guide, le mot « Mobify » apparaît à quelques endroits. Mobify est le nom de la société qui a développé à l'origine la technologie qui est devenue PWA Kit et Managed Runtime. En 2020, Salesforce a acquis Mobify ainsi que l'ensemble de ses technologies.

Le nom de marque Mobify apparaît dans le domaine mobify-storefront.com utilisé pour héberger votre boutique ainsi que dans le domaine cloud.mobify.com utilisé par Managed Runtime API.

Si vous devez ajouter une logique conditionnelle qui modifie le comportement de votre site en fonction du domaine utilisé, il est plus facile de tester cette logique si votre serveur de développement local peut utiliser un domaine personnalisé. Pourquoi auriez-vous besoin d’ajouter ce genre de logique ? Considérons, par exemple, le besoin de rechercher un identifiant client SLAS différent selon le domaine.

Pour exécuter votre serveur de développement local en utilisant un domaine personnalisé :

  1. Modifiez le DNS de votre ordinateur local pour résoudre votre domaine personnalisé en 127.0.0.1 (localhost).
  2. Modifiez ssr.js.
  3. Dans les options transmises à runtime.createHandler, configurez le port sur 80.
  4. Exécutez EXTERNAL_DOMAIN_NAME=www.example.com npm start, en remplaçant la valeur de example.com par votre domaine personnalisé. L’exécution du serveur sur le port 80 peut nécessiter des privilèges administratifs.

Les requests envoyées par votre navigateur vers le domaine personnalisé sont maintenant résolues et routées vers votre serveur de développement local !

Le processus de lancement d’un environnement est le même en staging et en production. Les seules différences sont le nom de domaine et l’environnement Managed Runtime utilisé.

Nous vous recommandons fortement de suivre d’abord le processus de lancement dans un environnement de staging avant de répéter le processus en production. Ces étapes doivent être effectuées dès que vous commencez un projet PWA Kit et au moins deux semaines avant votre date de lancement.

Pour les instructions fournies, supposons que vous lancez une boutique sur staging.example.com, que votre identifiant de projet dans Managed Runtime est example et que votre paquet est déployé dans un environnement appelé staging.

Utilisez Runtime Admin ou Managed Runtime API pour créer un environnement appelé staging afin de s’entraîner au lancement de la boutique en ligne.

Voici un exemple de request qui utilise le point de terminaison projects_target_create pour créer un environnement. Remplacez example dans la request par la chaîne d’ID de votre projet et $API_KEY par votre clé API :

Pour obtenir des instructions sur la création d'un environnement avec Runtime Admin, consultez notre guide Administration de Managed Runtime.

De nombreuses implémentations de PWA Kit envoient des requests à OCAPI ou à des contrôleurs en plus de l’API B2C Commerce.

Vous devez vous assurer que votre instance B2C Commerce est accessible par Managed Runtime.

Pour rendre les API accessibles, il faut généralement configurer l’eCDN pour rendre votre instance B2C Commerce disponible sur un autre domaine tel que ecom.example.com. Pour en savoir plus, reportez-vous à la documentation d’installation et de configuration de l’eCDN.

Une fois votre domaine configuré, mettez à jour les paramètres de proxy de votre environnement pour l’utiliser. Pour en savoir plus, consultez notre guide Requests via proxy.

Cette étape n’est pas obligatoire si vous utilisez un CDN ou un eCDN tiers. Consultez la documentation de votre fournisseur de CDN pour configurer les certificats.

Si vous acheminez le trafic directement vers le CDN Managed Runtime, Managed Runtime émet et gère les certificats TLS en votre nom.

Pour autoriser Managed Runtime à émettre un certificat, vous devez :

  • Choisir les domaines que vous souhaitez utiliser pour votre boutique en ligne. Par exemple, staging.example.com et www.example.com. Les domaines génériques comme *.example.com sont pris en charge. Des certificats de domaine spécifiques ne seront émis que pour les domaines associés à des environnements de staging et de production.
  • Assurez-vous que les enregistrements de domaines CAA sont définis pour permettre à AWS d’émettre des certificats.
  • Contactez le Support client de Salesforce en indiquant les domaines de certificat souhaités.
  • Salesforce fournit un enregistrement CNAME utilisé pour valider la propriété du domaine. Vous devez créer l’enregistrement fourni dans les 24 heures suivant la réception des détails.

Cette étape n’est pas obligatoire si vous utilisez un CDN ou un eCDN tiers.

Réduisez la durée de vie (TTL) pour staging.example.com à une minute. Réduire la TTL accélère le processus de transfert du DNS et, en cas de problème, permet de revenir en arrière rapidement.

Vous pouvez vérifier la TTL à l'aide de la commande dig :

Définissez l’en-tête de contrôle d’accès d’un environnement à l’aide de l’interface utilisateur Managed Runtime sous Paramètres de contrôle d’accès ou de l’API access_control_header. Dans cet exemple, nous utilisons l’API pour définir un en-tête de contrôle d’accès avec la valeur d’en-tête 25pn5dec7f1c. Voir En-têtes de contrôle d’accès.

Configurez l'environnement pour recevoir le trafic à partir de l'hôte staging.example.com.

Mettez à jour les paramètres ssr_external_domain et ssr_external_hostname de l’environnement à l’aide de l’API projects_target_partial_update :

Après cette étape, l'environnement n'est plus accessible à l'adresse de son domaine mobify-storefront.com.

Vérifiez que les nouveaux paramètres sont bien en vigueur en utilisant une commande cURL qui lance une request avec usurpation de DNS :

Le processus de basculement est différent selon que vous utilisez un CDN tiers, un eCDN ou le CDN Managed Runtime.

Configurez votre environnement Managed Runtime en tant qu’origine dans votre CDN :

  • définir l’en-tête Host pour qu’il corresponde à votre environnement {{project}}-{{environment}}.mobify-storefront.com
  • transférer la méthode de request
  • transférer le chemin d’accès (y compris la chaîne de requête)
  • transférer les en-têtes
  • transférer le corps
  • transférer tout le trafic via HTTPS
  • obéir aux en-têtes de mise en cache HTTP
  • définir la valeur d’en-tête x-sfdc-access-control si elle est configurée pour votre environnement

Reportez-vous à la documentation de votre fournisseur de CDN pour des conseils détaillés.

Managed Runtime achemine les requests vers les environnements à l’aide de l’en-tête HTTP Host. Les requests dont l’hôte est incorrect sont rejetées avec une réponse HTTP 403 Bad Request.

Envisagez d’ajouter un gestionnaire pour refléter les requests HTTP et vérifiez que votre CDN est correctement configuré :

Pensez également à ajouter un proxy avec httpbin.org/anything pour vérifier que les en-têtes transmis aux proxys sont envoyés correctement.

Si vous rencontrez des problèmes, utilisez les techniques décrites dans Déboguer des applications PWA Kit.

Mettez à jour vos règles de routage eCDN pour acheminer le trafic vers votre environnement Managed Runtime. Consultez le guide des règles MRT de l’eCDN pour plus d’informations.

Effectuez un basculement DNS pour faire pointer votre domaine de l’ancienne origine vers le CDN Managed Runtime.

Le domaine CDN Managed Runtime suit la convention {{project}}-{{environment}}-cdn.mobify-storefront.com selon laquelle {{project}} est l’identifiant de votre projet et {{environment}} l’identifiant de votre environnement.

Changez l'enregistrement CNAME du DNS pour staging.example.com en example-staging-cdn.mobify-storefront.com.

Ouvrez votre navigateur Web et accédez à staging.example.com.

Félicitations, vous avez terminé votre lancement ! 🥳

Après avoir suivi ces instructions pour un site de staging, vous pouvez répéter le même processus avec le domaine et l’environnement de production.

À partir de là, le Customer Success Group vous aide à surveiller le trafic du site pour vous assurer que le lancement a bien réussi. L'objectif est de vérifier que tout se passe comme prévu lors du lancement !

Après le lancement, les clients abonnés à la formule Signature Success bénéficient d'un suivi proactif de leur site. Pour profiter de ce service de surveillance renforcée, vous devez indiquer que votre environnement est un environnement de production. Pour en savoir plus, consultez la section sur les environnements dans la Présentation de Managed Runtime.

  • Le paramètre de la cible ssr_external_hostname contrôle l’hôte à partir duquel l’environnement reçoit le trafic. Si l’en-tête HTTP Host d’une request ne correspond pas à cette valeur, la request échoue avec une erreur 403.
  • Actuellement, Salesforce ne prend pas en charge les URL de boutique en ligne avec un domaine nu comme example.com (sans sous-domaine www). Pour utiliser un domaine nu, vous devez configurer un serveur pour rediriger les requests du domaine nu vers votre CNAME.