Introduction
Cet article est un tutoriel d’initiation au code source de l’application Duniter App. Celui-ci vous permettra, à travers une succession d’étapes, d’accéder à la maîtrise des outils et méthodes utilisés quotidiennement par les développeurs de Duniter App pour créer et modifier l’application.
À la fin de ce tutoriel, vous serez donc capable de modifier l’application. Et si le cœur vous en dit, vous pourrez même réaliser une modification et partager celle-ci avec le dépôt de code principal, afin que celle-ci soit officiellement intégrée et disponible aux utilisateurs !
À vos claviers !
###Sommaire
- Niveau I : Récupérer le code source
- Niveau II : Installation logiciel
- Niveau III : mise en place de la librairie Libsodium
- Niveau IV : récupérer le projet
- Niveau V : Lancer l’application
- Niveau VI : À vous
##Niveau I : Récupérer le code source
Ce premier niveau consiste à créer votre propre version des sources du logiciel et de récupérer cette copie sur votre ordinateur. Vous y produirez :
- Votre propre compte GitHub
- Votre propre version du logiciel, votre fork
- Une copie locale des fichiers de code source provenant de votre fork
###Créez un compte GitHub
Si vous disposez déjà d’un compte GitHub, vous pouvez passer cette étape.
Rendez-vous sur https://github.com (site en anglais). Renseigner les 3 champs proposés :
- Nom d’utilisateur
- Mot de passe
Vous recevrez probablement un e-mail de confirmation qu'il vous faudra valider. Une fois cette étape passée, vous devriez disposer d'un compte GitHub .
###Forkez le dépôt principal
Si vous avez déjà forké le dépôt principal duniter/duniter-android-app, vous pouvez passer cette étape.
Rendez-vous à l'adresse https://github.com/duniter/duniter-android-app. Cliquez sur le bouton « Fork » en dans le coin supérieur droit de la page :
Vous aurez alors votre propre version du code de Duniter, dans votre dépôt GitHub :
Installer Git
L'installation de Git dépend de votre système d'exploitation. Suivez simplement les indications présentes sur : https://git-scm.com/
Cloner votre fork
A ce stade, vous êtes en mesure de récupérer votre version du code source (votre fork), afin de pouvoir travailler dessus.
Ouvrez Git en ligne de commande
Pour récupérer le code source, lancez Git en mode console.
- Sous Linux et MacOS, ouvrez tout simplement le Terminal
- Sous Windows lancez le programme Git Bash :
Clonez votre fork
Retournez sur la page web GitHub, puis trouvez le bouton « Clone or download » :
Cliquez dessus, vous pourrez alors copier l'URL de clonage en cliquant sur l'icône de valise :
Vous n'avez plus qu'à retourner dans votre console Git et saisir :
git clone [coller l'URL copiée] --recursive
ce qui donne dans mon cas :
git clone https://github.com/naivalf27/duniter-android-app.git --recursive
Cloning into 'duniter-android-app'...
remote: Counting objects: 6212, done.
remote: Total 6212 (delta 0), reused 0 (delta 0), pack-reused 6212
Receiving objects: 100% (6212/6212), 6.26 MiB | 793.00 KiB/s, done.
Resolving deltas: 100% (3594/3594), done.
Checking connectivity... done.
Submodule 'kalium-jni/src/main/jni/libsodium' (https://github.com/jedisct1/libsodium) registered for path 'kalium-jni/src/main/jni/libsodium'
Cloning into 'kalium-jni/src/main/jni/libsodium'...
remote: Counting objects: 18327, done.
remote: Total 18327 (delta 0), reused 0 (delta 0), pack-reused 18327
Receiving objects: 100% (18327/18327), 5.12 MiB | 461.00 KiB/s, done.
Resolving deltas: 100% (10127/10127), done.
Checking connectivity... done.
Submodule path 'kalium-jni/src/main/jni/libsodium': checked out '194a3c60480dde18150eff18b829b0c17c4dc19b'
Si vous êtes arrivés à un comportement similaire, bravo, vous posséder désormais le code source Duniter App!
Niveau II : Installation logiciel
Ce second niveau vise à obtenir les outils de base pour exécuter le code source, et vérifier son bon fonctionnement. Vous y réaliserez :
- l'installation du JDK
- l'installation du logiciel Android Studio
- l'installation du NDK Android
Installer JDK
Le JDK ou Java Development Kit
Vous pouvez la télécharger sur le site d’Oracle.
À vous de télécharger le bon fichier en fonction de votre OS.
Il ne vous reste plus qu’à l’installer normalement.
Installer Android Studio
Vous trouverez toute les sources a cette adresse AndroidStudio-Downloads
Pour Windows télécharger le fichier sans SDK Android:
Sous Linux
Il vous suffit de décompresser le fichier ZIP, d’ouvrir un terminal dans ce dossier et de taper la commande:
./bin/studio.sh
Sous Windows et Mac OS
Il vous suffit d’installer l’exécutable que vous venez de télécharger.
Toutes machines confondues
A la fin de l’installation ou au premier lancement, Andorid Studio vous indiqueras que vous ne possédez pas de SDK et vous proposera de l’installer. Si vous l’avez déjà installé vous pouvez indiqué ou il se trouve.Sinon installer la version qu’il vous propose.
Installer NDK
Le NDK est utiliser pour l’exécution de code sous C++.
Vous pouvez le télécherger sur ce site
Attention : n’installer pas la version 12 du NDK. Elle n’est pas encore stable.
Encore une fois télécharger la version qui vous concerne et décompresser le à coté de votre SDK.
Dans android studio aller dans Project Structure...
Une fenêtre comme celle-ci devrait s’ouvrir :
Vous pouvez donc renseigner la position du NDK à cette endroit.
Niveau III : mise en place de la librairie Libsodium
Sous Linux
Aller dans votre clone du projet Duniter-android-app et lancer un terminal.
Une fois dedans lancer la commande:
./autogen.sh
Vous n’avez plus qu’à patienter.
Sous Windows et Mac OS
Je suis désoler mais je n’ai pas encore trouver de solution autre que récupérer les fichier depuis un post sous Linux.
Niveau IV : récupérer le projet
Lors du lancement d’Android Studio vous arriver sur cette fenetre:
Sélectionner : “Open an existing Android Studio project”
et indiquer le dossier de votre clone.
Niveau V : Lancer l'application
Pour pouvoir lancer un émulateur, on va devoir en créer un.
Pour cela cliqué sur l’icone suivante :
Une fenêtre va s’ouvrir et vous proposer de créer un “Virtual Device” suivez le logiciel.
Si vous avez un téléphone Android vous pouvez le mettre en mode développeur et le brancher si vous souhaitez vois l’application sur votre téléphone.
Puis une fois l’émulateur de créer vous pouvez le bouton “Play” () pour lancer l’application.
Vous pouvez aussi utiliser l’icone () pour lancer l’application en mode debug.
Android Studio vous demandera sur quel appareil vous souhaitez lancer l’application, sélectionner l’émulateur ou le téléphone et laissez faire.
Niveau VI : À vous
Pour essayer vous pouvez essayer de modifier la page des règle de la monnaie pour quelle ressemble à ça :
Pour cela vous aurez besoin de trouvez deux fichier:
Le controler : RulesFragment.java
La view : fragment_currency_rules.xml
Vous aurez besoin de la méthode :
SqlService.getBlockSql(getActivity()).last(currency.getId());
Qui sert à récupérer dans la base de donnée le dernier object Block qui possède un Dividende.
BlockService.getCurrentBlock(getActivity(), currency, new CallbackBlock() {
@Override
public void methode(BlockUd blockUd) {} });
Qui sert à récupérer dans la blockchain le block courant.
Bonne chance !
Pour les tricheurs : correction à appliquer.