TinyDB ou TinyWebDB ?
Ces deux outils de stockages utilisent une base de données. On choisit un tag et sa valeur associé. On pourra ensuite retrouve une valeur par son tag, puis la manipuler.
TinyDB stocke la base sur l’appareil sur lequel l’application est installé. cela veut dire qu’elle est propre à cette installation.
Pour partager une même entre toutes les installations, celle-ci doit se trouver sur internet. Il faudra dans ce cas utiliser l’outil TinyWebDB.
Comment héberger cette base ?
Sur la page de présentation de TinyWebDB, on propose deux solutions :
- pour tester : utiliser un service commun.
- pour un usage définitif : créer son propre service.
Problèmes rencontrés
La procédure varie sensiblement, selon son système opérationnel. Dans mon cas, j’ai rencontré quelques problèmes que j’ai réussi à résoudre.
La procédure conseillé sur le site AppInventor était peu adapté à Linux, je vous en propose une autre basé sur « gcloud ».
L’utilisation en local m’ayant posé des problèmes et ne me servant à rien, je ne la propose.
Voici une liste des problèmes rencontrés mais résolus ou contournés :
- django.utils
- threadsafe
- runtime python
Création du service TinyWebDB sous Ubuntu
I) Création d’un projet sur Google Cloud Platform
Se connecter à la page projet de Google Cloud Platform.
Créer un projet que j’appelerais pour l’exemple « MonProjet ».
II) Téléchargement de gcloud
Les explications sont prises de la page de Google Cloud.
En résumé, dans un terminal, après avoir si besoin installé le paquet « curl » :
curl https://sdk.cloud.google.com | bash
Pour relancer le shell :
exec -l $SHELL
Pour configuer gcloud (compte, projet) :
gcloud init
En cas de besoin, pour changer de projet :
gcloud config set project MonProjet
III) Téléchargement et modification du dossier costumwebservice
Sur la page de présentation de TinyWebDB, cliquer sur le lien « example code ».
Extraire cette archive et renommer le dossier extrait du nom de votre projet (si vous le souhaitez). Appelons celui-ci « Monprojet/ » pour la suite.
Dans ce dossier, modifier le fichier app.yaml de la sorte :
runtime: python27 threadsafe: false api_version: 1 handlers: - url: /images static_dir: images - url: .* script: main.py libraries : - name : django version : "1.4"
IV) Déploiement du service
Dans le terminal :
cd MonProjet/
gcloud preview app deploy app.yaml --promote
Sur la page Google Cloud Platform, lorsque vous la rechargez doit apparaître au centre une partie « App Engine ».
Une fois ouverte, vous verrez votre instance avec en haut à droite l’adresse de votre service que vous devrez utiliser dans votre application AppInventor.
Dans notre cas, ça ressemble à https://monprojet-1111.appspot.com/