From 4cc2ea1662438bffe35e3801fd3d142d925dd47f Mon Sep 17 00:00:00 2001
From: blavenie <benoit.lavenier@e-is.pro>
Date: Mon, 23 Jan 2017 12:24:38 +0100
Subject: [PATCH] - replace references to 'test_net' with 'gtest' - initialize
 doc for HTTP API

---
 doc/API.md                     | 104 +++++++++++++++++++++++++++++++++
 doc/fr/development_tutorial.md |  24 ++++----
 2 files changed, 117 insertions(+), 11 deletions(-)
 create mode 100644 doc/API.md

diff --git a/doc/API.md b/doc/API.md
new file mode 100644
index 00000000..193d348e
--- /dev/null
+++ b/doc/API.md
@@ -0,0 +1,104 @@
+
+# HTTP API
+
+## Contents
+
+* [Contents](#contents)
+* [Overview](#overview)
+* [ES CORE API](#es-core-api)
+  * [currency](#currency)
+      * [currency/block](#currencyblock)
+* [ES USER API](#userapi)
+  * [user](#user)
+      * [user/profile](#userprofile)
+      * [user/settings](#usersettings)
+  * [message](#message)
+      * [message/inbox](#messageinbox)
+      * [message/oubox](#messageoutbox)
+* [ES GCHANGE API](#gchangeapi)
+  * [market](#market)
+      * [market/category](#marketcategory)
+      * [market/record](#marketrecord)
+      * [market/comment](#marletcomment)
+  * [registry](#registry)
+      * [registrymarket/category](#registrycategory)
+      * [registry/record](#registryrecord)
+      * [registry/comment](#registrycomment)
+
+## Overview
+
+Duniter4j Elasticsearch offer HTTP access to 3 main API :
+
+ - `ES CORE API` (ECA): BlockChain indexation;
+ - `ES USER API` (EUA): User data indexation, such as: profiles, private messages, settings (crypted);
+ - `ES GCHANGE API` (EGA): Exchange data (market place: offer, ad...), professionals registry. 
+
+
+Data is made accessible through an HTTP API :
+
+    http[s]://node[:port]/...
+    |-- <currency_name>/
+    |   `-- lookup
+    |-- user/
+    |   |-- profile
+    |   `-- settings
+    |-- message/
+    |   |-- inbox
+    |   `-- outbox
+    |-- market/
+    |   |-- category
+    |   |-- record
+    |   `-- comment
+    `-- registry/
+        |-- category
+        |-- record
+        `-- comment
+
+### Document format
+ 
+All stored documents use a JSON format.
+
+Every document must have the following fields:
+
+- `issuer` : The document's emitter
+- `hash`:
+- `signature`: the signature emitted by the issuer.
+
+
+## ES CORE API
+
+### `<currency>/*`
+
+#### `<currency>/block`
+
+## ES USER API
+
+### `user/*`
+
+#### `user/profile`
+
+#### `user/settings`
+
+### `message/*`
+
+#### `message/inbox`
+
+#### `message/outbox`
+
+## ES GCHANGE API
+
+### `market/*`
+
+#### `market/category`
+
+#### `market/record`
+
+#### `market/comment`
+
+### `registry/*`
+
+#### `registry/category`
+
+#### `registry/record`
+
+#### `registry/comment`
\ No newline at end of file
diff --git a/doc/fr/development_tutorial.md b/doc/fr/development_tutorial.md
index 716a6104..11f04346 100644
--- a/doc/fr/development_tutorial.md
+++ b/doc/fr/development_tutorial.md
@@ -248,7 +248,7 @@ Vous devriez avoir maintenant :
 [2016-11-17 13:29:41,655][INFO ][cluster.routing.allocation] [Att-Lass] Cluster health status changed from [RED] to [YELLOW] (reason: [shards started [[registry][1], [registry][1]] ...]).
 [2016-11-17 13:29:45,756][INFO ][node                     ] Checking Duniter indices...
 [2016-11-17 13:29:45,766][INFO ][node                     ] Checking Duniter indices... [OK]
-[2016-11-17 13:29:58,052][INFO ][duniter.blockchain       ] [test_net] [cgeek.fr:9330] Indexing last blocks...
+[2016-11-17 13:29:58,052][INFO ][duniter.blockchain       ] [gtest] [cgeek.fr:9330] Indexing last blocks...
 ```
 
 ### Vérifier le fonctionnement
@@ -302,7 +302,7 @@ Duniter4j s'appuie sur ElasticSearch **en version 2.3**. D'excellentes documenta
 
 ## Niveau V : Requêtage sur ES API
 
-Nous allons requeter l'indexation de la BlockChain `test_net`, qui s'est fait dès le démarrage de votre noeud ElastiSearch. Nous appellons cette indexation l'**ES API**. 
+Nous allons requeter l'indexation de la BlockChain `gtest`, qui s'est fait dès le démarrage de votre noeud ElastiSearch. Nous appellons cette indexation l'**ES API**. 
 
 Il existe plusieurs manière de requéter un noeud ES : 
 
@@ -313,25 +313,25 @@ Il existe plusieurs manière de requéter un noeud ES :
 
 En utilisant un navigateur, vous allez requêter .
 
-- [GET-1] Visualisez un bloc quelconque (par exemple le premier #0): http://localhost:9200/test_net/block/0
+- [GET-1] Visualisez un bloc quelconque (par exemple le premier #0): http://localhost:9200/gtest/block/0
   
 Etudiez ensuite le format du résultat : 
 ```json
-{"_index":"test_net","_type":"block","_id":"0","_version":1,"found":true,"_source":{
+{"_index":"gtest","_type":"block","_id":"0","_version":1,"found":true,"_source":{
  ...
 }
 ```
 > Observez qu'ElasticSeach a ajouté des informations : `_index`, `_type`, etc.
 
-- [GET-2] Pour éviter d'avoir les informations additionnelles, ajoutez `/_source` : http://localhost:9200/test_net/block/0/_source
+- [GET-2] Pour éviter d'avoir les informations additionnelles, ajoutez `/_source` : http://localhost:9200/gtest/block/0/_source
 
-> Notez que le bloc courant est accessible en `/test_net/block/current`
+> Notez que le bloc courant est accessible en `/gtest/block/current`
         
-- [GET-3] Récupérer **uniquement** les champs `hash`, `dividend` et `memberCount`, pour le bloc #125 : http://localhost:9200/test_net/block/125/_source?_source=number,hash,dividend,membersCount
+- [GET-3] Récupérer **uniquement** les champs `hash`, `dividend` et `memberCount`, pour le bloc #125 : http://localhost:9200/gtest/block/125/_source?_source=number,hash,dividend,membersCount
 
 > Notez que vous pouvez avoir une meilleure présentation en ajoutant "`&pretty`" dans l'adresse;
 
-- [GET-4] Les blocks qui référence une clef publique (recherche full text) : http://localhost:9200/test_net/block/_search?q=8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU
+- [GET-4] Les blocks qui référence une clef publique (recherche full text) : http://localhost:9200/gtest/block/_search?q=8Fi1VSTbjkXguwThF4v2ZxC5whK7pwG2vcGTkPUPjPGU
 
 > Vous pouvez rechercher sur n'importe quelle chaine (recherche `full-text`), via cet option "`q=`" 
 
@@ -350,7 +350,7 @@ Dans un terminal, exécuter les commandes suivantes :
 
 - [POST-1] Récupérez les blocs ayant un dividende universel, en sélectionnant **quelques champs** uniquement (dividend, number, hash). : 
 ```bash
-curl -XGET 'http://localhost:9200/test_net/block/_search?pretty' -d '{
+curl -XGET 'http://localhost:9200/gtest/block/_search?pretty' -d '{
 "query": {
         "filtered" : {
             "filter": {
@@ -366,7 +366,7 @@ curl -XGET 'http://localhost:9200/test_net/block/_search?pretty' -d '{
 - [POST-2] Récupérez tous les blocs de #0 à #100 :
 
 ```bash
-curl -XGET 'http://localhost:9200/test_net/block/_search' -d '{
+curl -XGET 'http://localhost:9200/gtest/block/_search' -d '{
     "query": {
        "bool": {
            "should": {
@@ -393,12 +393,14 @@ Voici la documentation pour aller plus loin :
 Duniter4j permet aussi de stocker et d'indexer les données hors BlockChain, comme celles utilisées par Cesium+ et ĞChange : 
 
 - `/user/profile` : les profiles utilisateurs (nom complet, réseaux sociaux, avatar, etc.)   
-- `/message/record` : les messages privées envoyés    
+- `/message/inbox` : les messages privées envoyés    
 - `/market/record` : les annonces de la [place de maché](http://cesium.duniter.fr/#/app/market/lg) Ğchange;   
   * `/market/record` : les commentaires sur les annonces
 - `/registry/record` : les référencement de l'[annuaire pro](http://cesium.duniter.fr/#/app/registry/lg) Ğchange;   
   * `/market/comment` : les commentaires sur les référencements
 
+> La document de l'API HTTP est disponible [ici](../API.md).
+
 ### Requêtes sur `data.duniter.fr`
 
 > **Note** : ce noeud a activer la couche de sécurité duniter4j. Les accès sur des URL non autorisés renverront une page vide  
-- 
GitLab