Table des matières

MIT App Inventor

Il existe plusieurs solutions pour faire des applications pour ANDROID

MIT App Inventor repris par le MIT reprend les blocs comme Scratch ou Ardublock pour Arduino.

Objectifs : Faire des applications simples pour piloter en bluetooth une carte Arduino

MIT App Inventor en local

MIT App Inventor est sous licence Apache Version 2.0
La licence Apache est une licence de logiciel libre et open source.

Pourquoi en local ?

Tout simplement dans certains lieux comme des lycées , l'accès au serveur de Google MIT App Inventor n'est pas autorisé.

On peut ne pas vouloir travailler sur le serveur de Google.

Il existe plusieurs solutions sur internet pour installer MIT App Inventor en local, dont des solutions prêtes à l'emploi.

J'ai choisi d'utiliser le github de MIT pour être indépendant et avoir une version que je pourrais mettre à jour.

App Inventor les sources

https://github.com/mit-cml/appinventor-sources

Lire la doc qui explique tout

Installation sur une Debian 8 ( Jessie)

Prérequis :

Ma version téléchargée

On se place à la racine de votre dossier utilisateur

 cd  # la commande cd sans rien , vous place à la racine de votre dossier utilisateur : HOME 
wget https://storage.googleapis.com/appengine-sdks/featured/appengine-java-sdk-1.9.17.zip 
git clone https://github.com/mit-cml/appinventor-sources.git 

compilation

 cd appinventor-sources/appinventor/ 
ant 
# attendre BUILD SUCCESSFUL 

Faire fonctionner les serveurs

Serveur principal

depuis $HOME/appinventor-sources/appinventor

 ../../appengine-java-sdk-1.9.17/bin/dev_appserver.sh --port=8888 --address=0.0.0.0 appengine/build/war/ 

Serveur de création

 cd buildserver 
ant RunLocalBuildServer 

MIT App Inventor

Ce fichier est dans $HOME/appinventor-sources

Il contient ce fichier en texte et 4 fichiers pour une utilisation simple par n'importe qui.

Les 4 fichiers créés dont 3 dans $HOME/appinventor-sources/appinventor et un dans $HOME/Bureau
Les 3 fichiers serveurprincipal.sh , serveurcreation.sh et LocalAppInventor.sh doivent être exécutables.
Une fois copié et créé, il faut les rendre executable avec la commande chmod.

 chmod u+x serveurprincipal.sh 
chmod u+x serveurcreation.sh 
chmod u+x LocalAppInventor.sh 

fichier 1 serveurprincipal.sh

cat serveurprincipal.sh »../Sources_AppInventor

 #!/bin/bash 
# serveurprincipal.sh 
# dans le dossier appinventor-sources/appinventor 
../../appengine-java-sdk-1.9.17/bin/dev_appserver.sh --port=8888 --address=0.0.0.0 appengine/build/war/ 

fichier 2 serveurcreation.sh

cat serveurcreation.sh »../Sources_AppInventor

 #!/bin/bash 
#serveurcreation.sh 
# dans le dossier appinventor-sources/appinventor 
cd buildserver 
ant RunLocalBuildServer 

fichier 3 LocalAppInventor.sh

cat LocalAppInventor.sh »../Sources_AppInventor

 #!/bin/bash 
# répertoire de travail ~/appinventor-sources/appinventor 
echo "APP INVENTOR en local avec les sources AppInventor" 
dossier=$(dirname $0) # $0 c'est le fichier lui-même avec son chemin voir Exec dans AppInventor.desktop 
echo $dossier #dirname ne prend que le chemin qui est ici affiché puis 
cd $dossier #on va dans ce dossier (cd : change directory) 
a=$(/sbin/ifconfig |grep Bcast |cut -d: -f2|cut -d ' ' -f1)  
# la commande ifconfig nous donne l'adresse ip de notre carte réseau 
echo $a # on affiche ici l'adresse ip de notre carte réseau à condition de n'avoir qu'une carte réseau 
xterm -e "./serveurprincipal.sh" &  
# on lance le serveur principal dans une fenêtre spécifique et on garde la main avec "&" 
xterm -e "./serveurcreation.sh" &  
# on lance le serveur de création dans une fenêtre spécifique et on garde la main avec "&" 
# firefox "http://localhost:8888" & 
echo "Lancer firefox sur ce poste adresse web http://localhost:8888" 
echo "Sur un autre ordinateur dans firefox http://$a:8888" 
echo 
echo "Taper a pour arrêter" 
while read c && [[ "$c" != "a" ]] # on lit le clavier tant que on n'a pas tapé 'a' 
do 
 echo "mauvaise touche" 
done 
echo "arret" # sortie de boucle 
kill %1 %2 # on arrête les 2 serveurs 

fichier 4 AppInventor.desktop

cd ../../Bureau/
cat AppInventor.desktop »../appinventor-sources/Sources_AppInventor

 #!/usr/bin/env xdg-open 
[Desktop Entry] 
Version=1.0 
Type=Application 
Terminal=true 
Icon[fr_FR]=/home/per/appinventor-sources/appinventor/appengine/war/images/myprojects.png 
Name[fr_FR]=AppInventor 
Exec=/home/per/appinventor-sources/appinventor/LocalAppInventor.sh 
Name=AppInventor 
Icon=/home/per/appinventor-sources/appinventor/appengine/war/images/myprojects.png 

Lanceur créé sur le Bureau :

Vous pouvez changer l'image évidemment.

Il faut évidemment remplacer /home/per/ par votre $HOME personnel
echo $HOME # si vous avez un doute

Simple Utilisateur

Prérequis : aucun.

Après avoir démarrer l'ordinateur et mis votre login

Vous trouverez sur le Bureau un icône AppInventor

Lancez cette application avec un double clic

3 terminaux doivent alors s'afficher, dont deux peuvent être superposés.

La fenêtre principale vous indiquera la solution pour utiliser cette application avec firefox.

 Lancer firefox sur ce poste adresse web http://localhost:8888 
Sur un autre ordinateur dans firefox http://192.168.0.10:8888 

Pour cet ordinateur sous Debian 8, il faut remplacer firefox par Iceweasel.

L'adresse est donnée à titre d'exemple, vous devrez copier l'adresse indiquée.

L'autre ordinateur peut fonctionner aussi bien sous GNU-Linux que Windows XP par exemple.

Chaque utilisateur remplacera test@example.com par sonprenom@example.com

N'oubliez pas d'enregistrer votre travail sur votre ordinateur !

Pour terminer, placez-vous sur la fenêtre principale et taper 'a', les 3 terminaux doivent se fermer.

Vous pouvez éteindre l'ordinateur.