Configuration du développement local
Découvrez comment configurer un environnement de développement local pour modifier le contenu d’une application React à l’aide de l’éditeur universel d’AEM.
Prérequis
Pour suivre ce tutoriel, vous devez suivre les étapes ci-après :
-
Compétences de base en HTML et JavaScript.
-
Les outils suivants doivent être installés localement :
- Node.js
- Git
- Un éditeur IDE ou de code, tel que Visual Studio Code
-
Téléchargez et installez les éléments suivants :
- SDK AEM as a Cloud Service : contient le fichier Quickstart Jar utilisé pour exécuter les instances de création et de publication d’AEM localement à des fins de développement.
- Service Éditeur universel : copie locale du service Éditeur universel, il comporte un sous-ensemble de fonctionnalités et peut être téléchargé à partir du portail de distribution logicielle.
- local-ssl-proxy : proxy HTTP SSL local simple utilisant un certificat auto-signé pour le développement local. L’éditeur universel d’AEM requiert l’URL HTTPS de l’application React pour la charger dans l’éditeur.
Configuration locale
Pour installer l’environnement de développement local, procédez comme suit :
SDK AEM
Pour fournir le contenu de l’application React WKND Teams, installez les packages suivants dans le SDK AEM local.
-
WKND Teams - Package de contenu : contient les modèles de fragment de contenu, les fragments de contenu et les requêtes GraphQL persistantes.
-
WKND Teams - Package de configuration : contient les configurations CORS (Cross-Origin Resource Sharing) et de gestionnaire d’authentification du jeton. La norme CORS facilite les propriétés web non AEM pour effectuer des appels côté client basés sur un navigateur vers l’API GraphQL d’AEM et le gestionnaire d’authentification du jeton est utilisé pour authentifier chaque demande vers AEM.
Application React
Pour configurer l’application React WKND Teams, procédez comme suit :
-
Clonez l’application React WKND Teams de la branche de solution
basic-tutorial
.code language-bash $ git clone -b solution/basic-tutorial git@github.com:adobe/aem-guides-wknd-graphql.git
-
Accédez au répertoire
basic-tutorial
et ouvrez-le dans votre éditeur de code.code language-bash $ cd aem-guides-wknd-graphql/basic-tutorial $ code .
-
Installez les dépendances et démarrez l’application React.
code language-bash $ npm install $ npm start
-
Ouvrez l’application React WKND Teams dans votre navigateur à l’adresse http://localhost:3000. Elle affiche la liste des personnes membres de l’équipe et leurs détails. Le contenu de l’application React est fourni par le SDK AEM local à l’aide des API GraphQL (
/graphql/execute.json/my-project/all-teams
), que vous pouvez vérifier à l’aide de l’onglet réseau du navigateur.
Service Éditeur universel
Pour configurer le service local Éditeur universel, procédez comme suit :
-
Téléchargez la dernière version de l’éditeur universel à partir du Portail de distribution logicielle.
-
Extrayez le fichier ZIP téléchargé et copiez le fichier
universal-editor-service.cjs
dans un nouveau répertoire appeléuniversal-editor-service
.code language-bash $ unzip universal-editor-service-vproduction-<version>.zip $ mkdir universal-editor-service $ cp universal-editor-service.cjs universal-editor-service
-
Créez le fichier
.env
dans le répertoireuniversal-editor-service
et ajoutez les variables d’environnement suivantes :code language-bash # The port on which the Universal Editor service runs UES_PORT=8000 # Disable SSL verification UES_TLS_REJECT_UNAUTHORIZED=false
-
Démarrez le service local Éditeur universel.
code language-bash $ cd universal-editor-service $ node universal-editor-service.cjs
La commande ci-dessus lance le service Éditeur universel sur le port 8000
et vous devriez voir la sortie suivante :
Either no private key or certificate was set. Starting as HTTP server
Universal Editor Service listening on port 8000 as HTTP Server
Proxy HTTP SSL local
L’éditeur universel d’AEM exige que l’application React soit diffusée via HTTPS. Configurons un proxy HTTP SSL local qui utilise un certificat auto-signé pour le développement local.
Suivez les étapes ci-dessous pour configurer le proxy HTTP SSL local et diffuser le SDK AEM et le service Éditeur universel via HTTPS :
-
Installez le package
local-ssl-proxy
de manière globale.code language-bash $ npm install -g local-ssl-proxy
-
Démarrez deux instances du proxy HTTP SSL local pour les services suivants :
- SDL AEM local du proxy HTTP SSL sur le port
8443
. - Proxy HTTP SSL local du service Éditeur universel sur le port
8001
.
code language-bash # AEM SDK local SSL HTTP proxy on port 8443 $ local-ssl-proxy --source 8443 --target 4502 # Universal Editor service local SSL HTTP proxy on port 8001 $ local-ssl-proxy --source 8001 --target 8000
- SDL AEM local du proxy HTTP SSL sur le port
Mettre à jour l’application React pour utiliser HTTPS
Pour activer HTTPS pour l’application React WKND Teams, procédez comme suit :
-
Arrêtez l’application React en appuyant sur
Ctrl + C
dans le terminal. -
Mettez à jour le fichier
package.json
pour inclure la variable d’environnementHTTPS=true
dans le scriptstart
.code language-json "scripts": { "start": "HTTPS=true react-scripts start", ... }
-
Mettez à jour
REACT_APP_HOST_URI
dans le fichier.env.development
pour utiliser le protocole HTTPS et le port proxy HTTP SSL local du SDK AEM.code language-bash REACT_APP_HOST_URI=https://localhost:8443 ...
-
Mettez à jour le fichier
../src/proxy/setupProxy.auth.basic.js
pour utiliser des paramètres SSL souples à l’aide de l’optionsecure: false
.code language-javascript ... module.exports = function(app) { app.use( ['/content', '/graphql'], createProxyMiddleware({ target: REACT_APP_HOST_URI, changeOrigin: true, secure: false, // Ignore SSL certificate errors // pass in credentials when developing against an Author environment auth: `${REACT_APP_BASIC_AUTH_USER}:${REACT_APP_BASIC_AUTH_PASS}` }) ); };
-
Démarrez l’application React.
code language-bash $ npm start
Vérifier la configuration
Après avoir configuré l’environnement de développement local en suivant les étapes ci-dessus, nous allons vérifier la configuration.
Vérification locale
Assurez-vous que les services suivants s’exécutent localement sur HTTPS. Vous devrez peut-être accepter l’avertissement de sécurité dans le navigateur pour le certificat auto-signé :
- Application React WKND Teams sur https://localhost:3000
- SDK AEM sur https://localhost:8443
- Service Éditeur universel sur https://localhost:8001
Charger l’application React WKND Teams dans l’éditeur universel
Chargeons l’application React WKND Teams dans l’éditeur universel pour vérifier la configuration :
-
Ouvrez l’éditeur universel https://experience.adobe.com/#/aem/editor dans votre navigateur. Si on vous y invite, connectez-vous à l’aide de votre Adobe ID.
-
Saisissez l’URL de l’application React WKND Teams dans le champ de saisie URL du site de l’éditeur universel et cliquez sur
Open
. -
L’application React WKND Teams se charge dans l’éditeur universel, mais vous ne pouvez pas encore modifier le contenu. Vous devez utiliser l’application React pour activer la modification de contenu à l’aide de l’éditeur universel.
Étape suivante
Découvrez comment instrumentaliser l’application React pour modifier le contenu.