PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

PostBlue : GNU MediaGoblin : client Android

samedi 10 août 2013 à 11:53

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 une ROM CyanogenMod fraîchement installée (je tournais en 2.3, j’ai décidé de passer à CM suite à des erreurs de certificats non reconnus — ceux de CAcert, ajoutés à NGinx comme ceci — et des dépendances de mediagoblin-android envers Holo).

Cependant, avoir toute la suite Eclipse installée ne me plaisait pas trop, alors que le suggère la page du wiki relative au client Android : peu d’espace disque, une connexion en mousse, la flemme de me replonger dans les arcanes de cet IDE (l’usine à gaz qu’elle est jolie) que j’avais pris en main il y a longtemps, et j’avais vite fait d’oublier. Solution : 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. Dans l’ordre :

# 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]]

Mettez à jour MediaGoblin (./bin/gmg dbupdate) et redémarrez les scripts adéquats (fastcgi, celery). Ensuite, allez produire vos codes OAuth sur mediagoblin.domain.tld/oauth/client/register, on en aura besoin plus tard donc ne fermez pas la page tout de suite. L’application que vous enregistrez doit être privée, sans d’URL de redirection (si ça déconne, essayez autre chose ;)).

Après avoir cloné le répertoire :

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

Éditez src/org/mediagoblin/android/client/NetworkUtilities.java en y insérant vos propres clefs.

Avant de continuez, 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 de votre choix, l’Androphone connecté par USB, après avoir enfin téléchargé les outils nécessaires du SDK d’Android, vous pouvez (normalement) enfin « construire » le client MediaGoblin :

android update project -p .

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

ant clean; ant debug; ant debug install

C’est fait !

flattr this!

Gravatar de PostBlue
Original post of PostBlue.Votez pour ce billet sur Planet Libre.