22. Relier les pages au serveur
Quand le serveur et les pages sont dans le même fichier, Humalis vérifie chaque requête à la compilation : la route existe, les champs existent, les types sont les bons, et la personne a le droit.
serveur "boutique" :
donnee produit :
nom : texte
prix : nombre
donnee avis :
note : nombre
commentaire : texte
route "produits" :
tout le monde peut lire produit
seul admin peut modifier produit
route "avis" :
tout le monde peut lire avis
connecte peut creer avis
seul admin peut supprimer avis
page "boutique" :
variable produits = []
variable note = 5
titre "Boutique"
quand la page se charge :
envoyer requete vers "produits" dans produits
pour chaque p dans produits :
texte "{p.nom} : {p.prix en euros}"
si utilisateur est connecte :
champ "commentaire"
bouton "Publier"
quand l'utilisateur clique sur "Publier" :
envoyer requete vers "avis" avec note et champ "commentaire"
afficher reussite "Merci pour ton avis"
bouton "Se déconnecter"
quand l'utilisateur clique sur "Se déconnecter" :
se deconnecter
sinon :
lien "Se connecter pour donner un avis" vers "connexion"
page "connexion" :
titre "Connexion"
formulaire "connexion" :
champ email "email" avec obligatoire
champ mot de passe "mot de passe" avec obligatoire
bouton "Se connecter"
quand le formulaire "connexion" est soumis :
se connecter avec champ "email" et champ "mot de passe"
rediriger vers "boutique"envoyer requete vers "produits" dans produitslit la liste.envoyer requete vers "avis" avec note et champ "commentaire"envoie.si utilisateur est connecte :,si utilisateur est admin :,se connecter,se deconnectergèrent la session.
Réagir à un échec
serveur "boutique" :
donnee commande :
nom : texte
route "commandes" :
tout le monde peut creer commande
page "commande" :
titre "Commander"
formulaire "commande" :
champ "Nom"
bouton "Commander"
quand le formulaire "commande" est soumis :
essayer :
envoyer requete vers "commandes" avec champ "Nom"
afficher reussite "Commande envoyée"
si erreur :
afficher erreur "La commande n'est pas partie : {raison}"Dans si erreur :, raison dit ce qui n'a pas marché. Dans un formulaire, les champs restent remplis.