From 796e07b2289c20c794a19166e4225e3d07192bdc Mon Sep 17 00:00:00 2001 From: blavenie <benoit.lavenier@e-is.pro> Date: Sat, 25 Nov 2017 11:16:08 +0100 Subject: [PATCH] fix doc --- src/site/markdown/ES.md | 8 +- src/site/markdown/build.md | 2 +- src/site/markdown/development_tutorial.md | 94 ++++++++++++++--------- 3 files changed, 63 insertions(+), 41 deletions(-) diff --git a/src/site/markdown/ES.md b/src/site/markdown/ES.md index 475d2051..ece05db4 100644 --- a/src/site/markdown/ES.md +++ b/src/site/markdown/ES.md @@ -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. -- Get libsodium (version 1.0.11 or newer) +- Get libsodium (version 1.0.14 or newer) ```bash wget -kL https://github.com/jedisct1/libsodium/releases/download/1.0.14/libsodium-1.0.14.tar.gz @@ -191,7 +191,7 @@ Solution : Move Tyrus libraries into elasticsearch `lib/` directory : ```bash - cd <ES_HOME> - mv plugins/duniter4j-elasticsearch/tyrus-*.jar lib - mv plugins/duniter4j-elasticsearch/javax.websocket-api-*.jar lib +cd <ES_HOME> +mv plugins/duniter4j-elasticsearch/tyrus-*.jar lib +mv plugins/duniter4j-elasticsearch/javax.websocket-api-*.jar lib ``` \ No newline at end of file diff --git a/src/site/markdown/build.md b/src/site/markdown/build.md index cc82a364..96d192aa 100644 --- a/src/site/markdown/build.md +++ b/src/site/markdown/build.md @@ -9,7 +9,7 @@ Install required dependencies: - 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. * Windows: copy the file 'sodium.dll' into directory 'duniter4j-core/lib/' diff --git a/src/site/markdown/development_tutorial.md b/src/site/markdown/development_tutorial.md index 78214863..10bacf00 100644 --- a/src/site/markdown/development_tutorial.md +++ b/src/site/markdown/development_tutorial.md @@ -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 : - - `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-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-subscription`: Indexation des abonnements en ligne (notifications par email); - * `duniter4j-es-assembly`: gestion des livrables (packaging). +- `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-subscription`: Indexation des abonnements en ligne (notifications par email); + + * `duniter4j-es-assembly`: gestion des livrables (packaging). ## 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* +- 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 @@ -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 : -* Nom d'utilisateur -* E-mail -* Mot de passe +- Nom d'utilisateur + +- E-mail + +- Mot de passe <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 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* : +- Sous Linux et MacOS, ouvrez tout simplement le Terminal + +- Sous Windows lancez le programme *Git Bash* : <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 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); -* la compilation du code; -* la vérification du bon fonctionnement du code source *via* le lancement de l'application, dans un terminal. +- 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. Si l'application se lance, vous aurez dores et déjà un environnement entièrement **fonctionnel** ! ### 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 Linux (Debian) : Lancez la commande suivante : +- 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 : ```bash 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. - - 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). - * 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. +- 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. ### Installer Apache Maven 3 Installer les outils nécessaires pour la compilation : - - 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 Linux : Lancez la commande : -``` +- 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 Linux : Lancez la commande : + +```bash sudo apt-get install maven ``` @@ -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 : - * Sublime Text (non libre) : https://www.sublimetext.com/ - * Autre possibilité : [Idea](https://www.jetbrains.com/idea/download/) (non libre mais fonctionnement très avancé). +- Sublime Text (non libre) : https://www.sublimetext.com/ +- Autre possibilité : [Idea](https://www.jetbrains.com/idea/download/) (non libre mais fonctionnement très avancé). ## 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 : -* à 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; +- à 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; ### Configurer le projet @@ -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 : - les controlleurs REST : package `org.duniter.elasticsearch.rest` + - les services d'indexation : package `org.duniter.elasticsearch.service`. + * 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 : @@ -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 : - - Requêtes HTTP GET - - Requêtes HTTP POST +- Requêtes HTTP GET + +- Requêtes HTTP POST ### Requêtes GET @@ -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) - un bon [tutoriel](http://okfnlabs.org/blog/2013/07/01/elasticsearch-query-tutorial.html) + ## 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+ : @@ -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 - `/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` @@ -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). + #### 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&q=boulangerie) -- GitLab