zetapush / zetapush-next-open-specification

Open specification for Next ZetaPush version
0 stars 0 forks source link

Fonctionnel commande : zeta new #51

Closed damienld22 closed 6 years ago

damienld22 commented 6 years ago

Objectif

Le but de cette issue est de spécifier le fonctionnement de la commande zeta new. Le point de vue fonctionnel pour le développeur sera mis en avant mais différents éléments techniques seront présentés par moment pour s'assurer de la bonne compréhension de chacun.

But de la commande

Création d'une application d'exemple pour le développeur.

Si le développeur n'a pas de projet existant et ne sait pas comment démarrer, il passe par cette commande.

Cette commande reprend exactement le fonctionnement de la commande zeta init (#50 ) avec du fonctionnel en plus (création d'une application d'exemple)

Paramètres de la commande

La commande standard est : zeta new myApp

-n / --name : Spécifier un nom d'application (dans le package.json) -u / --url : Spécfier l'URL de mon "compte ZetaPush" (Seulement utile en interne chez ZetaPush) -l / --login : Spécifier le nom d'utilisateur du compte ZetaPush p / --password : Spécifier le mot de passe du compte ZetaPush -f / --front : Spécifier le chemin vers la partie front de mon application -b / --back : Spécifier le chemin vers la partie back de mon application

Le nom d'application (myApp ici) est le moyen d'identifier de manière unique une application sur un compte ou une organisation ZetaPush

Détails

Le fonctionnel reprend exactement celui de la commande zeta init (voir #50 ).

Voici ce qui change :

Format du fichier package.json

Le nom des dépendances est à définir

{
    "name" : "myApp",
    "zetapush": {
        "url" : "http://hq.zpush.io:9080/zbo/pub/business/",
        "front" : "./front",
        "server" : "./server"
    },
    "dependencies": {
        "@zetapush/core" : "0.10.0",
        "@zetapush/platform" : "0.10.0"
    }
}
Arborescence créée par la commande (contexte standard)
.
|_ .zetarc
|_ server
    |_ index.js
|_ front
    |_ index.html
    |_ index.css
    |_ script.js

Affichage en console

L'affichage en console est le même que pour le cas zeta init avec quelques changements, voici le résultat :

=================================================
Welcome to ZetaPush Celtia
=================================================

You have initialize a new application with ZetaPush Celtia, great !
Now you can follow the "Getting Started" documentation : https://console.zetapush.com/documentation

You have already an example of ZetaPush Celtia application. Now you can run `npx serve front` to run your front. For your server code, you can run it with `zeta run`.

You use a temporary account, so you can valid it on https://console.zetapush.com/valid-account/56cds1zxpifsn, it's free !
You still have 5 days to valid your account, otherwise you will lose your applications. 
ghoullier commented 6 years ago

Je pense qu'il faut sortir cette fonctionnalité de la CLI et s'inscrire dans ce que propose désormais npm.

npm init @zetapush

Ça ne change pas le fond de la discussion sur ce que doit faire la commande ni sur les paramètres de configuration.

damienld22 commented 6 years ago

zeta new → npm init @zetapush

Créé l’ensemble de l’arboresence pour presenter une application simple zetapush front+worker

Pour l'instant cette commande n'est pas prioritaire et ne sera pas développée (voir npm init @zetapush)