Skip to content
Snippets Groups Projects
Commit 796e07b2 authored by Benoit Lavenier's avatar Benoit Lavenier
Browse files

fix doc

parent 57be996b
No related branches found
No related tags found
No related merge requests found
...@@ -20,7 +20,7 @@ sudo apt-get install openjdk-8-jre ...@@ -20,7 +20,7 @@ sudo apt-get install openjdk-8-jre
[The Sodium crypto library (libsodium)](https://download.libsodium.org/doc/installation/) is a modern, easy-to-use software library for encryption, decryption, signatures, password hashing and more. [The Sodium crypto library (libsodium)](https://download.libsodium.org/doc/installation/) is a modern, easy-to-use software library for encryption, decryption, signatures, password hashing and more.
- Get libsodium (version 1.0.11 or newer) - Get libsodium (version 1.0.14 or newer)
```bash ```bash
wget -kL https://github.com/jedisct1/libsodium/releases/download/1.0.14/libsodium-1.0.14.tar.gz wget -kL https://github.com/jedisct1/libsodium/releases/download/1.0.14/libsodium-1.0.14.tar.gz
...@@ -191,7 +191,7 @@ Solution : ...@@ -191,7 +191,7 @@ Solution :
Move Tyrus libraries into elasticsearch `lib/` directory : Move Tyrus libraries into elasticsearch `lib/` directory :
```bash ```bash
cd <ES_HOME> cd <ES_HOME>
mv plugins/duniter4j-elasticsearch/tyrus-*.jar lib mv plugins/duniter4j-elasticsearch/tyrus-*.jar lib
mv plugins/duniter4j-elasticsearch/javax.websocket-api-*.jar lib mv plugins/duniter4j-elasticsearch/javax.websocket-api-*.jar lib
``` ```
\ No newline at end of file
...@@ -9,7 +9,7 @@ Install required dependencies: ...@@ -9,7 +9,7 @@ Install required dependencies:
- Install [libsodium](http://doc.libsodium.org/installation/index.html) - Install [libsodium](http://doc.libsodium.org/installation/index.html)
* Linux: after [installation](http://doc.libsodium.org/installation/index.html), make sure the file 'libsodium.so' exists on: /usr/local/lib or /opt/local/lib. * Linux: after [installation](http://doc.libsodium.org/installation/index.html), make sure the file 'libsodium.so' exists on: `/usr/local/lib` or `/opt/local/lib`.
If not, create a symbolic link. If not, create a symbolic link.
* Windows: copy the file 'sodium.dll' into directory 'duniter4j-core/lib/' * Windows: copy the file 'sodium.dll' into directory 'duniter4j-core/lib/'
......
...@@ -9,23 +9,29 @@ A la fin de ce tutoriel, vous serez donc *capable de modifier le logiciel*. ...@@ -9,23 +9,29 @@ A la fin de ce tutoriel, vous serez donc *capable de modifier le logiciel*.
Le projet Duniter4j est composé de plusieurs sous-modules : Le projet Duniter4j est composé de plusieurs sous-modules :
- `duniter4j-core-shared`: Classes utilitaires Java. Réutilisable dans d'autres projets Java autour de Duniter. - `duniter4j-core-shared`: Classes utilitaires Java. Réutilisable dans d'autres projets Java autour de Duniter.
- `duniter4j-core-client`: Ensemble de services Java permettant d'accéder à un réseau Duniter (c'est à dire une API Java client Duniter) . Cette partie est **réutilisable dans d'autres applications Java**. - `duniter4j-core-client`: Ensemble de services Java permettant d'accéder à un réseau Duniter (c'est à dire une API Java client Duniter) . Cette partie est **réutilisable dans d'autres applications Java**.
- `duniter4j-es-*`: Les plugins ElasticSearch, qui implémentent : - `duniter4j-es-*`: Les plugins ElasticSearch, qui implémentent :
* `duniter4j-es-core`: Indexation de BlockChain Duniter (ESA ou ES API);
* `duniter4j-es-user`: Indexation de données utilisateurs (profils, des messages privées, paramètres chiffrés) (ESUA ou ES USER API); * `duniter4j-es-core`: Indexation de BlockChain Duniter (ESA ou ES API);
* `duniter4j-es-subscription`: Indexation des abonnements en ligne (notifications par email);
* `duniter4j-es-assembly`: gestion des livrables (packaging). * `duniter4j-es-user`: Indexation de données utilisateurs (profils, des messages privées, paramètres chiffrés) (ESUA ou ES USER API);
* `duniter4j-es-subscription`: Indexation des abonnements en ligne (notifications par email);
* `duniter4j-es-assembly`: gestion des livrables (packaging).
## Niveau I : récupérer le code source ## 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 : 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 compte *GitHub*
* votre propre version du logiciel, votre *fork*
* une copie locale des fichiers de code source provenant de votre *fork* - Votre propre version du logiciel, votre *fork*
- Une copie locale des fichiers de code source provenant de votre *fork*
### Créez un compte GitHub ### Créez un compte GitHub
...@@ -33,9 +39,11 @@ Ce premier niveau consiste à créer *votre propre version* des sources du logic ...@@ -33,9 +39,11 @@ Ce premier niveau consiste à créer *votre propre version* des sources du logic
Rendez-vous sur https://github.com (site en anglais). Renseigner les 3 champs proposés : Rendez-vous sur https://github.com (site en anglais). Renseigner les 3 champs proposés :
* Nom d'utilisateur - Nom d'utilisateur
* E-mail
* Mot de passe - E-mail
- Mot de passe
<img src="https://forum.duniter.org/uploads/default/original/1X/13ade346327b73bbf1acc97027af147eeb4e9089.png" width="346" height="325"/> <img src="https://forum.duniter.org/uploads/default/original/1X/13ade346327b73bbf1acc97027af147eeb4e9089.png" width="346" height="325"/>
...@@ -59,8 +67,9 @@ A ce stade, vous êtes en mesure de récupérer votre version du code source (vo ...@@ -59,8 +67,9 @@ A ce stade, vous êtes en mesure de récupérer votre version du code source (vo
Pour récupérer le code source, lancez Git en mode console. Pour récupérer le code source, lancez Git en mode console.
* Sous Linux et MacOS, ouvrez tout simplement le Terminal - Sous Linux et MacOS, ouvrez tout simplement le Terminal
* Sous Windows lancez le programme *Git Bash* :
- Sous Windows lancez le programme *Git Bash* :
<img src="https://forum.duniter.org/uploads/default/original/1X/6fc638dc0a22d88da7e84dbf0371e69747767f78.png" width="432" height="80"/> <img src="https://forum.duniter.org/uploads/default/original/1X/6fc638dc0a22d88da7e84dbf0371e69747767f78.png" width="432" height="80"/>
...@@ -88,16 +97,19 @@ Si vous êtes arrivés à un comportement similaire, **bravo**, vous posséder d ...@@ -88,16 +97,19 @@ Si vous êtes arrivés à un comportement similaire, **bravo**, vous posséder d
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 : 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 de Java Development Kit (JDK); - l'installation de Java Development Kit (JDK);
* la compilation du code;
* la vérification du bon fonctionnement du code source *via* le lancement de l'application, dans un terminal. - la compilation du code;
- la vérification du bon fonctionnement du code source *via* le lancement de l'application, dans un terminal.
Si l'application se lance, vous aurez dores et déjà un environnement entièrement **fonctionnel** ! Si l'application se lance, vous aurez dores et déjà un environnement entièrement **fonctionnel** !
### Installer JDK ### Installer JDK
- Sous Windows : Téléchargez puis installez un JDK (version 8 ou +) depuis le [site web d'Oracle](http://oracle.com/java/index.html) - Sous Windows : Téléchargez puis installez un JDK (version 8 ou +) depuis le [site web d'Oracle](http://oracle.com/java/index.html)
- Sous Linux (Debian) : Lancez la commande suivante :
- Sous Linux (Debian) : Lancez la commande suivante :
```bash ```bash
sudo apt-get install openjdk-8-jdk sudo apt-get install openjdk-8-jdk
...@@ -107,21 +119,24 @@ sudo apt-get install openjdk-8-jdk ...@@ -107,21 +119,24 @@ sudo apt-get install openjdk-8-jdk
[libsodium](https://download.libsodium.org/doc/index.html) est une librairie de cryptographie. [libsodium](https://download.libsodium.org/doc/index.html) est une librairie de cryptographie.
- Sous Windows : Aucune instalation nécessaire (fichier `sodium.dll` déjà présent dans `duniter4j-core-shared/lib`); - Sous Windows : Aucune instalation nécessaire (fichier `sodium.dll` déjà présent dans `duniter4j-core-shared/lib`);
- Sous Linux : suivre [les notes d'installation](https://download.libsodium.org/doc/installation/index.html) (anglais). - Sous Linux : suivre [les notes d'installation](https://download.libsodium.org/doc/installation/index.html) (anglais).
* Après installation, vérifiez que le fichier `libsodium.so` existe bien dans `/usr/local/lib` ou `/opt/local/lib`.
* S'il existe, mais à une autre eplacement, veuillez créez un lien symbolique à l'un ou l'autre de ces emplacements. * Après installation, vérifiez que le fichier `libsodium.so` existe bien dans `/usr/local/lib` ou `/opt/local/lib`.
* S'il existe, mais à une autre eplacement, veuillez créez un lien symbolique à l'un ou l'autre de ces emplacements.
### Installer Apache Maven 3 ### Installer Apache Maven 3
Installer les outils nécessaires pour la compilation : Installer les outils nécessaires pour la compilation :
- Installez [Apache Maven 3](http://maven.apache.org) - Installez [Apache Maven 3](http://maven.apache.org)
* Sous Windows : [téléchargez](http://maven.apache.org/download.cgi) (version 3.x) puis installez en suivant [ces instructions](http://maven.apache.org/install.html). * Sous Windows : [téléchargez](http://maven.apache.org/download.cgi) (version 3.x) puis installez en suivant [ces instructions](http://maven.apache.org/install.html).
* Sous Linux : Lancez la commande : * Sous Linux : Lancez la commande :
```
```bash
sudo apt-get install maven sudo apt-get install maven
``` ```
...@@ -129,16 +144,18 @@ Installer les outils nécessaires pour la compilation : ...@@ -129,16 +144,18 @@ Installer les outils nécessaires pour la compilation :
Pour développer en Java, vous pouvez utiliser l'IDE de votre choix, par exemple : Pour développer en Java, vous pouvez utiliser l'IDE de votre choix, par exemple :
* Sublime Text (non libre) : https://www.sublimetext.com/ - Sublime Text (non libre) : https://www.sublimetext.com/
* Autre possibilité : [Idea](https://www.jetbrains.com/idea/download/) (non libre mais fonctionnement très avancé). - Autre possibilité : [Idea](https://www.jetbrains.com/idea/download/) (non libre mais fonctionnement très avancé).
## Niveau III : maîtriser les commandes usuelles ## Niveau III : maîtriser les commandes usuelles
Ce troisième niveau permet de découvrir les quelques commandes que vous utiliserez tout le temps si vous développez sur Duniter4j. Vous y apprendrez : Ce troisième niveau permet de découvrir les quelques commandes que vous utiliserez tout le temps si vous développez sur Duniter4j. Vous y apprendrez :
* à configurer le projet, notamment les paramètres réseau (du noeud ES, du noeud Duniter, etc.); - à configurer le projet, notamment les paramètres réseau (du noeud ES, du noeud Duniter, etc.);
* à compiler le projet;
* à lancer votre noeud ElasticSearch avec le plugin Duniter4j; - à compiler le projet;
- à lancer votre noeud ElasticSearch avec le plugin Duniter4j;
### Configurer le projet ### Configurer le projet
...@@ -291,7 +308,9 @@ Ouvrir votre IDE, et ouvrir le projet Duniter4j. ...@@ -291,7 +308,9 @@ Ouvrir votre IDE, et ouvrir le projet Duniter4j.
Dans le répertoire `duniter4j-es-core/src/main/java`, cherchez et répérez dans le code : Dans le répertoire `duniter4j-es-core/src/main/java`, cherchez et répérez dans le code :
- les controlleurs REST : package `org.duniter.elasticsearch.rest` - les controlleurs REST : package `org.duniter.elasticsearch.rest`
- les services d'indexation : package `org.duniter.elasticsearch.service`. - les services d'indexation : package `org.duniter.elasticsearch.service`.
* Il existe un service d'indexation par type de stockage. Par exemple : `BlockchainService`, `UserService`, etc. * Il existe un service d'indexation par type de stockage. Par exemple : `BlockchainService`, `UserService`, etc.
Dans le répertoire `duniter4j-core-client/src/main/java`, cherchez et répérez dans le code : Dans le répertoire `duniter4j-core-client/src/main/java`, cherchez et répérez dans le code :
...@@ -308,8 +327,9 @@ Nous allons requeter l'indexation de la BlockChain `g1-test`, qui s'est fait dè ...@@ -308,8 +327,9 @@ Nous allons requeter l'indexation de la BlockChain `g1-test`, qui s'est fait dè
Il existe plusieurs manière de requéter un noeud ES : Il existe plusieurs manière de requéter un noeud ES :
- Requêtes HTTP GET - Requêtes HTTP GET
- Requêtes HTTP POST
- Requêtes HTTP POST
### Requêtes GET ### Requêtes GET
...@@ -391,6 +411,7 @@ Voici la documentation pour aller plus loin : ...@@ -391,6 +411,7 @@ Voici la documentation pour aller plus loin :
- ElasticSearch [official web site](http://www.elastic.co/guide/en/elasticsearch/reference/1.3/docs-get.html#get-source-filtering) - ElasticSearch [official web site](http://www.elastic.co/guide/en/elasticsearch/reference/1.3/docs-get.html#get-source-filtering)
- un bon [tutoriel](http://okfnlabs.org/blog/2013/07/01/elasticsearch-query-tutorial.html) - un bon [tutoriel](http://okfnlabs.org/blog/2013/07/01/elasticsearch-query-tutorial.html)
## Niveau VI : Requêtage sur Cesium+ API ## Niveau VI : Requêtage sur Cesium+ API
Duniter4j permet aussi de stocker et d'indexer les données hors BlockChain, comme celles utilisées par Cesium+ : Duniter4j permet aussi de stocker et d'indexer les données hors BlockChain, comme celles utilisées par Cesium+ :
...@@ -402,7 +423,7 @@ Duniter4j permet aussi de stocker et d'indexer les données hors BlockChain, com ...@@ -402,7 +423,7 @@ Duniter4j permet aussi de stocker et d'indexer les données hors BlockChain, com
- `/page/comment` : les commentaires sur les annonces - `/page/comment` : les commentaires sur les annonces
- `/subscription/record` : les abonnements aux services en ligne (par exemple les notifications par email) - `/subscription/record` : les abonnements aux services en ligne (par exemple les notifications par email)
> La document de l'API HTTP est disponible [ici](../API.md). > La document de l'API HTTP est disponible [ici](./ES_API.html).
### Requêtes sur `g1-test.data.duniter.fr` ### Requêtes sur `g1-test.data.duniter.fr`
...@@ -410,6 +431,7 @@ Nous allons requêter le noeud `g1-test.data.duniter.fr` déployé sur la monnai ...@@ -410,6 +431,7 @@ Nous allons requêter le noeud `g1-test.data.duniter.fr` déployé sur la monnai
> **Note** : Ce noeud est configuré AVEC la couche de sécurité Duniter4j. Les accès sur des URL non autorisés renverront une page vide (erreur HTTP 404). > **Note** : Ce noeud est configuré AVEC la couche de sécurité Duniter4j. Les accès sur des URL non autorisés renverront une page vide (erreur HTTP 404).
#### Requêtes GET #### Requêtes GET
- [GET-5] Liste des pages avec le mot `boulangerie` : [/page/record/_search?pretty&q=boulangerie](https://g1-test.data.duniter.fr/page/record/_search?pretty&amp;q=boulangerie) - [GET-5] Liste des pages avec le mot `boulangerie` : [/page/record/_search?pretty&q=boulangerie](https://g1-test.data.duniter.fr/page/record/_search?pretty&amp;q=boulangerie)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment