~~LINEBREAK~~ ====== 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 : * Savoir utiliser un terminal * Il faut avoir openjdk-7-jdk d'installer par le jre ! sinon en superutilisateur # aptitude install openjdk-7-jdk * Il faut avoir git et ant d'installer en superutilisateur # aptitude install git ant * Sur le site, il indique qu'il faut Python mais il est installé par défaut sur Debian 8 . * Télécharger App Engine SDK [[ https://cloud.google.com/appengine/downloads ]] * Télécharger le github de MIT App Inventor ===== 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 : * Type : Application dans un terminal * Nom : App Inventor Local * Commande : /home/per/appinventor-sources/appinventor/LocalAppInventor.sh, on le fait avec parcourir * Icon : clic droit sur l'image et on va dans son HOME /home/per/appinventor-sources/appinventor/appengine/war/images/myprojects.png 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.