GNU MediaGoblin : client Android

Il y a peu, j'ai désiré me mitonner un petit client Android pour mon instance GNU MediaGoblin, afin d'avoir la possibilité d'envoyer sur celle-ci des photos directement depuis mon téléphone.

Pour ne pas installer toute la suite Eclipse (peu d'espace disque, une connexion en mousse, l'usine à gaz qu'elle est jolie) dont je n'aurais l'utilité qu'une fois, j'ai préféré utiliser Apache Ant, une librairie Java utilisable depuis la ligne commande qui suffit largement à ce que j'ai besoin de faire.

Les dépendances sont, en ce qui concerne ma Arch Linux :

Après l'installation, il faut lancer android (en root) et installer le pack de développement sélectionné par défaut. Pendant que ça télécharge, faites-vous un café -- ou de multiples cafés si votre connexion se rapproche de la mienne --, clonez le répertoire mediagoblin-android et éditez-le avec vos clefs OAuth. Cela donne :

Éditer le fichier mediagobin_local.ini en lui ajoutant les modules geolocationapi et oauth :

# Place plugins here, each in their own subsection of [plugins].
# See http://docs.mediagoblin.org/siteadmin/plugins.html for details.
[plugins]

[[mediagoblin.plugins.geolocation]]
[[mediagoblin.plugins.basic_auth]]
[[mediagoblin.plugins.api]]
[[mediagoblin.plugins.oauth]]

[[mediagoblin.media_types.image]]
[[mediagoblin.media_types.video]]
[[mediagoblin.media_types.audio]]
[[mediagoblin.media_types.ascii]]

Mettre à jour MediaGoblin (./bin/gmg dbupdate) et redémarrer les scripts adéquats (paster, celeryd).

Produire des codes OAuth sur mediagoblin.domain.tld/oauth-2/client/register, on en aura besoin plus tard donc on ne ferme pas la page tout de suite. L'application doit être privée et sans d'URL de redirection.

Après avoir cloné le répertoire :

git clone git://gitorious.org/mediagoblin/mediagoblin-android.git

Éditer src/org/mediagoblin/android/client/NetworkUtilities.javales clés obtenues ci-dessus.

Avant de continuer, il faudra brancher le téléphone sous Android avec le débogage par USB activé, voyez sur votre mouture comment cela peut se faire (quelque part dans les outils de développement, dans les paramètres du système).

Dans le dossier précédemment cloné, depuis le terminal, l'Androphone connecté par USB, après avoir enfin téléchargé les outils nécessaires du SDK d'Android, on peut (normalement) enfin « construire » le client MediaGoblin :

android update project --path . --subprojects --target 1

Pour fixer l'environnement de développement, puis :

ant clean; ant debug; ant debug install

C'est fait !