Mise en place d’un service TinyWebDB

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/