Il est préférable d'utiliser le script pebbleapp pour créer, mettre à jour, lancer et compiler les projets d'applications basés sur Sample.
sudo wget https://storage.googleapis.com/pebble-public-cdn/pebbleapp -O /usr/local/sbin/pebbleapp && sudo chmod +x /usr/local/sbin/pebbleapp
Cette commande est à exécuter une seule fois par poste. Pour mettre à jour le programme, voir pebbleapp upgrade.
Dernière version de pebbleapp : 1.0.7
Version supportée : 1.0.1
Vous pouvez créer une application depuis n'importe quel dossier accessible de votre système de fichier local.
Lancez pebbleapp pour créer une nouvelle application basée sur sample.
pebbleapp create <nom_application>
Un nouveau dépôt est initialisé dans le dossier
cd <nom_application>
git remote add origin git@github.com:<account_name>/<app_name>.git
Vous pouvez contrôler la bonne connexion avec votre dépôt github :
git remote -v
Le résultat doit être le suivant :
origin git@github.com:<account_name>/<app_name>.git (fetch)
origin git@github.com:<account_name>/<app_name>.git (push)
Une fois la connexion établie, il est possible d'envoyer le premier commit sur le dépôt distant.
git push -u origin main
Version supportée : 1.0.7
Cette commande va récupérer une application disponible sur github, installer les sous-modules et les dépendances afin qu'elle soit disponible sur votre machine locale.
pebbleapp clone <depot> <destination>
Version supportée : 1.0.4
L'application utilise des sous-modules distants qui peuvent être mis à jour depuis le dossier de travail :
cd /chemin/vers/<nom_application>
pebbleapp update
Version supportée : 1.0
Depuis le dossier dans lequel est stocké votre application :
pebbleapp serve
Version supportée : 1.0
Depuis le dossier dans lequel est stocké votre application :
pebbleapp build
Version supportée : 1.0.3
pebbleapp version
Version supportée : 1.0.2
pebbleapp upgrade
Version supportée : 1.0.7
Cette commande nécessite d'avoir créé plusieurs domaines correspondant aux différents environnement d'exécution :
domaine | dossier serveur | Environnement | Branche |
---|---|---|---|
[APPNAME].pebble.solutions | APPNAME/prod | Production (prod) | main |
[APPNAME].pebble.recipes | APPNAME/preprod | Pré-production (prod) | main |
[APPNAME]-test.pebble.recipes | APPNAME/test | Test (test) | testing, unstable, main |
[APPNAME]-dev.pebble.recipes | APPNAME/dev | Dévelopement (dev) | unstable, testing, main |
La commande compilera l'application depuis la bonne branche et la déploiera sur le serveur, dans le dossier correspondant. Elle sera alors accessible en ligne sur le domaine référencé.
pebbleapp deploy <env>
Env peut être
Pour le déploiement en production, il vous sera possible de tester l'application sur un domaine intermédiaire (pré-production) avant de procéder à la mise en ligne finale. Pour les autres environnements, le déploiement est immédiat.
Pour les environnements test et dev, le système va tester l'existence des branches indiquées dans le tableau précédent, par ordre de priorité. Ainsi, pour l'environnement de test, si la branche testing n'existe pas, c'est la branche unstable qui sera utilisée et ainsi de suite jusqu'à la branche main. La présence de branches testing ou unstable n'est donc pas indispensable pour déployer l'environnement test ou dev.
Version | Mise à jour |
---|---|
1.0 | Création initiale de l'application. |
1.0.1 | Ajout des arguments version , upgrade |
Mise à jour de la documentation en lançant le programme sans argument | |
Correction de bug : initialisation de l'historique du dépôt avec l'argument create afin de pouvoir connecter un serveur github |
|
1.0.2 | Correction de bug : démultiplication des fichiers avec l'argument upgrade |
1.0.3 | Correction de bug : argument version non fonctionnel |
1.0.4 | Correction de bug : update ne prenait pas en compte les branches détachées (detached HEAD) |
1.0.5 | Correction de bug |
1.0.6 | Le serveur npm ne démarre plus par défaut à la création d'une application. |
1.0.7 | Ajout des arguments clone et deploy |
Ouvrir le fichier src/config.json.
Clé de configuration | Type | Usage | Défaut |
---|---|---|---|
name |
String | Nom unique de l'application en snake-case | sample |
env |
String | Environnement de travail | dev |
cfg.module |
String | Nom du module ou de l'application tel que référencé au niveau du serveur | sample |
cfg.moduleLabel |
String | Nom du module ou de l'application pour l'affichage | Sample Module |
cfg.aside |
Boolean | Affiche ou non la barre latérale des raccourcis | true |
cfg.app_mode |
String | default : Affichage de l'application avec l'ensemble des éléments d'interface. standalone Affichage de l'application avec une interface n'autorisant pas la navigation vers d'autres modules | default |
cfg.ppp |
String | Mode de fonctionnement général de l'interface : private est l'environnement backoffice, partner est un environnement backoffice simplifié nécessitant une authentification, public ne nécessite pas d'authentification | private |
cfg.logos |
String | Chemin vers le logo de l'application. Logo Pebble par défaut | null |
cfg.backAction |
String | Route pour la flèche de retour | / |
cfg.backNavigation |
Boolean | Affiche ou non la flèche de retour | true |
domains.prod |
String | Nom de domaine du point d'entré en environement de production. | pebble.solutions |
domains.test |
String | Nom de domaine du point d'entré en environement de test. | pebble.recipes |
domains.dev |
String | Nom de domaine du point d'entré en environement de développement. | localhost |
cfgMenu.href |
String | Lien du menu de configuration du module. Si null, le module n'a pas de vue de configuration | null |
cfgSlots.menu |
Boolean | Affiche l'espace Menu | true |
cfgSlots.list |
Boolean | Affiche l'espace Liste des éléments chargés | true |
cfgSlots.core |
Boolean | Affiche l'espace principal de l'application | true |
cfgSlots.header |
Boolean | Affiche la barre d'outil en en-tête de l'application | true |
api.elements |
String | Nom de l'API de base à utiliser pour lister, afficher et enregistrer les éléments principaux (Ex : projet) | sample |
firebaseConfig |
Object | Configuration publique des comptes firebase. Chaque environement d'exécution dispose d'une configuration (prod, test et dev). L'environement dev est déjà préconfiguré sur une application sample. Pour l'environnement de production et de test, il faudra référencer l'application dans la console firebase. | object |
Pour un développement local optimal, voici les pré-requis indispensables :
sudo apt install git npm
)A l'installation, si erreur Error: ENOSPC: System limit for number of file watchers reached
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p