Aller au contenu

21. Le serveur

Un bloc serveur décrit les données de l'application et qui a le droit de faire quoi. Humalis en produit un vrai serveur Node, avec la connexion, les sessions et la sécurité des packs Astratra.

serveur "bibliotheque" :
    donnee livre :
        titre : texte
        pages : nombre
        disponible : booleen
        parution : date
        auteurs : liste de texte
    donnee avis :
        note : nombre
        commentaire : texte
    route "livres" :
        tout le monde peut lire livre
        seul admin peut modifier livre
    route "avis" :
        tout le monde peut lire avis
        connecte peut creer avis
        seul admin peut supprimer avis
  • donnee décrit une sorte de donnée et ses champs : texte, nombre, booleen, date, liste de ….

  • route donne une adresse (/api/livres) et ses règles.

  • Les droits : tout le monde, connecte, seul admin ; les actions : lire, creer, modifier, supprimer (modifier seul couvre créer, modifier et supprimer).

  • Une action sans règle est refusée à tout le monde. Humalis prévient quand une donnée n'est accessible à personne.

Pour le produire et le lancer :

humalis compile mon-projet.humalis --cible serveur --sortie mon-projet-serveur
cd mon-projet-serveur && npm install
cp .env.exemple .env      # puis remplir JWT_SECRET et l'administrateur
npm test                  # vérifie chaque règle d'accès
npm run build && npm start

Sans DATABASE_URL dans le .env, les données restent en mémoire (développement). Avec, elles vont dans PostgreSQL : une table par donnée, créée au démarrage.