Vous allez créer : Une page d’inscription, une page de connexion avec une option de lien magique et une page membres que seuls les visiteurs connectés peuvent ouvrir, avec un rôle pour les membres premium
À lire avant : Créer une landing pagePage interactive avec des workflows
Dans ce tutoriel, vous donnez à votre site ses propres membres. Les visiteurs créent un compte, se connectent avec un mot de passe ou un lien de connexion, et accèdent à une page fermée à tous les autres. Vous ajoutez aussi un rôle et affichez du contenu supplémentaire aux visiteurs qui l’ont. Il vous faut un site avec une page d’accueil ; les comptes visiteurs sont stockés dans la propre base de données du site.
Ajouter les pages
Créer trois pages
Ouvrez l’onglet Pages dans la barre latérale gauche et cliquez trois fois sur + (Add page). Nommez les pages
Sign up,Log inetMembers.Définir leurs chemins
Ouvrez chaque page, cliquez sur une zone vide du canevas pour ne rien sélectionner, et réglez Path dans les paramètres de la page :
/signup,/loginet/members.
Créer le formulaire d’inscription
Insérer un formulaire
Sur la page Sign up, cliquez sur + dans l’onglet Layers et choisissez Form. Il arrive avec un champ Email, une zone de texte pour le message, un bouton Send et deux cadres d’état.
Désactiver les soumissions intégrées
Sélectionnez le formulaire et réglez Action sur Do nothing dans la section Form. C’est votre workflow qui gère l’envoi, et non la boîte de réception Forms.
Adapter les champs
Supprimez la zone de texte du message. Insérez deux éléments Input dans le formulaire : l’un avec Name
nameet LabelYour name, l’autre avec Namepassword, LabelPasswordet Type Password. Sélectionnez le bouton et changez son Text enCreate account.Relier les champs à des variables
Sélectionnez chaque champ et cliquez sur + (Create variable) à côté de Value dans la section Field. Le champ et la nouvelle variable de page restent synchronisés : les valeurs du formulaire sont donc prêtes sous
vars.email,vars.passwordetvars.name.
Inscrire le visiteur
Ajouter un workflow d’envoi
Sélectionnez le formulaire, ouvrez Events dans l’inspecteur, gardez Submit sélectionné et cliquez sur Add workflow. L’espace de travail Logic s’ouvre sur le nouveau workflow.
Créer le compte
Cliquez sur Add step et choisissez Sign up visitor sous Visitor auth. Pour Email, cliquez sur le bouton ƒ (Use an expression) et tapez
vars.email. Faites de même pour Password avecvars.passwordet Name avecvars.name.Aller à la page membres
Cliquez sur Add step, choisissez Go to page et choisissez Members comme Destination. L’étape ne s’exécute que si l’inscription a réussi.
Indiquer ce qui n’a pas marché
Sous On error, cliquez sur Add error handler, puis sur Add error step, et choisissez Show toast. Réglez Message sur l’expression
error.messageet Variant sur Error. Un visiteur qui utilise un e-mail déjà associé à un compte voit maintenant pourquoi.
Créer la page de connexion
Copier le formulaire
Copiez le formulaire d’inscription avec ⌘C, ouvrez la page Log in et collez-le avec ⌘V. Supprimez le champ du nom et changez le texte du bouton en
Log in. Reliez les champs e-mail et mot de passe à de nouvelles variables sur cette page, comme précédemment.Connecter le visiteur
Ajoutez un workflow Submit au formulaire. Ajoutez Log in visitor avec Email
vars.emailet Passwordvars.password, puis Go to page avec Members. Ajoutez le même toast d’erreur sous On error.Proposer un lien de connexion
Ajoutez un Button sous le formulaire avec le texte
Email me a sign-in linket réglez son Type sur Button, pour qu’il n’envoie pas le formulaire. Dans Events, ajoutez un workflow Click avec Send sign-in link (Emailvars.email) et un Show toast qui ditCheck your inbox.
Fermer la page membres
Restreindre la page
Ouvrez la page Members et cliquez sur une zone vide du canevas. Dans la section Access, activez Restrict. La Rule commence par
user.isLoggedIn, ce qui est exactement ce qu’il faut ici.Envoyer les visiteurs vers la page de connexion
Réglez Otherwise sur la page Log in. Les visiteurs non connectés y sont redirigés ; sans page de redirection, ils obtiennent une erreur 404.
Accueillir le visiteur
Ajoutez un élément Text. Dans Typography, cliquez sur le bouton accolades à côté de Content (Bind Text) et tapez
'Welcome, ' + user.name.Ajouter un bouton de déconnexion
Ajoutez un Button avec le texte
Log out. Donnez-lui un workflow Click avec Log out visitor, puis Go to page avec votre page d’accueil.
La section Access de la page Members affiche Restrict activé, la règle user.isLoggedIn et la page Log in comme redirection.
Ajouter un rôle premium
Créer le rôle
Ouvrez l’espace de travail Tables depuis le bas de la barre latérale gauche et choisissez Visitors. Tapez
premiumdans New role et cliquez sur Add role. Les noms de rôle utilisent des lettres minuscules, des chiffres,_et-.Afficher du contenu aux seuls membres premium
Sur la page Members, ajoutez un cadre avec un court message premium. Dans Visibility, liez Show when à
user.roles.includes('premium').Prendre en compte les changements de rôle sans recharger
Ajoutez un Button avec le texte
Refresh my accesset un workflow Click avec Refresh user. Il rechargeuserdepuis le serveur : un rôle attribué pendant que le visiteur est sur la page apparaît donc tout de suite.
Publier et tester
Publier en préproduction
Cliquez sur Publish dans la barre d’outils, laissez Staging sélectionné et confirmez.
Essayer la page fermée
Ouvrez
/membersà l’adresse de préproduction. Vous arrivez sur la page de connexion, car vous n’êtes pas connecté.S’inscrire
Ouvrez
/signup, créez un compte et vérifiez que la page membres vous accueille par votre nom. Cliquez sur Log out et reconnectez-vous sur/login.Vous passer en premium
De retour dans l’éditeur, ouvrez Tables → Visitors. Votre compte figure dans la liste. Cliquez dessus, cochez premium dans le panneau latéral, puis cliquez sur Refresh my access sur la page de préproduction. Le message premium apparaît.
Les visiteurs peuvent s’inscrire, se connecter avec un mot de passe ou un lien, et ouvrir la page membres. Les membres premium voient leur contenu supplémentaire.
Ce que vous avez appris
- Les étapes d’authentification des visiteurs les inscrivent, les connectent et les déconnectent, envoient des liens de connexion et rafraîchissent
user. - Une règle d’accès de page s’exécute sur le serveur à chaque requête et redirige les visiteurs qui ne la remplissent pas.
userest toujours un objet ; testezuser.isLoggedInetuser.roles.includes(…).- Les rôles se définissent et s’attribuent dans Tables → Visitors.
Continuez avec les tutoriels suivants, ou lisez les guides sur lesquels celui-ci s’appuie :