--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/source/renkan.rst Wed Apr 11 12:19:47 2018 +0200
@@ -0,0 +1,199 @@
+.. description des renkan
+
+##############################
+Description de l'outils renkan
+##############################
+
+Introduction
+============
+
+Renkan est un outil d'édition et d'affichage de carte mentale.
+
+Il a été conçu de façon modulaire et avec une claire separation entre la partie cliente en javascript et la partie serveur.
+
+En particulier la partie du client en charge des communications avec le serveur (chargement des projets, gestion de la persistance) est totalement modulaire et configurable.
+Cela permet d'adapter facilement le client à l'api de sauvegarde du serveur.
+
+
+Modèle de donnée serveur (HDALab)
+=================================
+
+Le modèle de donnée du coté serveur est simple.
+En effet le serveur ne cherche pas à interpréter le contenu d'un renkan.
+Il se content de sauvegarder le contenu qui lui est transmis par le client et dans l'autre sens de transmettre directement au client le contenu sauvegardé en base.
+Toute l'interprétation du modèle se fait dans le client.
+
+Classe renkanmanager.models.Renkan
+----------------------------------
+
+*class* ``renkanmanager.models.``\ **Renkan** :
+
+ Classe de base d'un renkan.
+
+ Champs de l'objet:
+
+ - **owner** (`object`) : Le propriétaire (créateur) du renkan.
+ - **rk_id** (`str`) : id du renkan.
+ - **content** (`str`) : contenu du renkan (la chaine JSON brute).
+ - **title** (`str`) : titre du renkan.
+ - **image** (`str`) : chemin vers l'image miniature du renkan.
+ - **creation_date** (`datetime`) : date de création.
+ - **modification_date** (`datetime`) : date de modification.
+
+
+Classe hdalab.models.renkan.HdalabRenkan
+----------------------------------------
+
+.. autoclass:: hdalab.models.renkan.HdalabRenkan
+ :noindex:
+
+
+Format renkan
+=============
+
+Un renkan a le format suivant:
+
+ exemple ::
+
+ {
+ "id": "f4d002b7-d4fd-486c-8898-6c6ceebc3354",
+ "schema_version": 2, #version of schema, latest is 2.
+ "title": "Example of Renkan with movies",
+ "description": "A long description",
+ "created": "2013-03-18T11:32:40.253+01:00",
+ "updated": "2014-02-04T15:12:56.619+01:00",
+ "nodes": [
+ {
+ "id": "node-2013-05-08-72c911bafdf9932c-0001",
+ "title": "Une femme mène l'enquête",
+ "description": "La caméra suit la femme qui marche\nJeu avec la caméra qui se substitue au spectateur",
+ "uri": "http://ldt.iri.centrepompidou.fr/ldtplatform/ldt/front/player/lyceehulst_3extraits/c8a61ee4-b33c-11e2-802c-00145ea4a2be#id=s_DCA8D184-EFC2-314B-0F6B-84043E8F9984",
+ "style": { #optional
+ "color": "#ff7f00", #line color, optional (null)
+ "thickness": 1, #thickness of the line, optional (1)
+ "dash": false, #dashed line, optional (false)
+ },
+ "position": {
+ "x": -547.0499881440252,
+ "y": -221.5401229374163
+ },
+ "image": "http://ldt.iri.centrepompidou.fr/static/site/ldt/css/imgs/video_sequence.png",
+ "size": 0,
+ "project_id": "f4d002b7-d4fd-486c-8898-6c6ceebc3354",
+ "created_by": "de68xf75y6hs5rgjhgghxbm217xk",
+ "type": "...",
+ "hidden": false,
+ "shape": "circle",
+ },
+ ...
+ ],
+ "edges": [
+ {
+ "id": "edge-2013-05-08-72c911bafdf9932c-0002",
+ "title": "",
+ "description": "",
+ "uri": "",
+ "style": { #optional
+ "color": "#ff7f00", #line color, optional (null)
+ "thickness": 1, #thickness of the line, optional (1)
+ "dash": false, #dashed line, optional (false)
+ "arrow": true, #draw the arrow, optional (true)
+ },
+ "from": "node-2013-04-30-a81adec6694db5f4-0032",
+ "to": "node-2013-05-08-72c911bafdf9932c-0001",
+ "project_id": "f4d002b7-d4fd-486c-8898-6c6ceebc3354",
+ "created_by": "de68xf75y6hs5rgjhgghxbm217xk"
+ },
+ ...
+ ],
+ "users": [ #optional
+ {
+ "userId": "user-2015-05-05-72c911bafdf9932c-0001",
+ "color": "#cc9866",
+ "username": "user1",
+ "anonymous": true
+ },
+ ...
+ ],
+ "space_id": "17f968e4-2640-4319-aa61-b5b8b527ebb4", #Optional
+ "views": [ #Optional
+ {
+ "zoom_level": 0.8275032552816195,
+ "offset_x": 832.0104075533723,
+ "offset_y": 402.8917139487223
+ }
+ ]
+ }
+
+Système de chutier
+==================
+
+Renkan propose un système de "chutier". C'est un système de liste d'élément ouvert à gauche d'un renkan en édition.
+
+On le voit à gauche sur l'image suivante :
+
+.. image:: _static/img/renkan/renkan_edition.png
+
+Ce système permet d'ajouter rapidement des resources fiches ou tag par "glisser/déposer".
+Techniquement, ces fonctionalités de chutiers propres à HDALab sont définies dans le fichier `hdalab/static/hdalab/js/hdalab-renkan-bins.js`.
+
+
+.. _renkan_boite_recherche_contenus:
+
+Boite de recherche de contenus
+------------------------------
+
+.. image:: _static/img/renkan/renkan_recherche_contenus.png
+
+
+Cette boite de recherche permet de lancer une requête sur 3 types de ressources:
+ - recherche de tag
+ - recherche de fiches
+ - recherche d'article wikipedia
+
+ +--------------------+----------------------------------------------------------+--------------------------------------+
+ | type | url de requête | Vue |
+ +====================+==========================================================+======================================+
+ | tags | http://hdalab.iri-research.org/hdalab/a/tagsearch? | :func:`hdalab.views.ajax.tagsearch` |
+ +--------------------+----------------------------------------------------------+--------------------------------------+
+ | fiches | http://hdalab.iri-research.org/hdalab/hdabo/searchajax/? | :class:`hdabo.views.SearchDatasheet` |
+ +--------------------+----------------------------------------------------------+--------------------------------------+
+ | articles wikipedia | https://fr.wikipedia.org/w/api.php?action=query... | |
+ +--------------------+----------------------------------------------------------+--------------------------------------+
+
+Le resultat de la recherche est affiché dans un nouvel onglet listant les ressources.
+
+
+Boite de recherche sur les résultats
+------------------------------------
+
+.. image:: _static/img/renkan/renkan_recherche_resultats.png
+
+Cette boite de recherche permet de rechercher et de filtrer des résultats déjà présent dans les onglets. La recherche est uniquement locale et ne lance fait pas de requête http.
+
+
+Liste de ressource
+------------------
+
+.. image:: _static/img/renkan/renkan_bin_resources.png
+
+Cet onglet liste des ressources statiques qui peuvent être utiles à l'édition du renkan.
+
+
+Liste de ressource supplémentaire
+---------------------------------
+
+.. image:: _static/img/renkan/renkan_bin_plus_ressources.png
+
+Cet onglet liste des ressources "supplémentaires".
+Un renkan est souvent créé à partir du résultat d'une recherche sur la page de `recherche par facette <pages_recherche_facette>`.
+Pour éviter d'avoir trop de noeuds ressources, les 8 premiers résultats de la recherche sont utilisés dans le renkan et les 10 suivants sont utilisés dans ce chutier.
+(ce comportement est défini dans la méthode :func:`hdalab.views.profile.HdalabRenkanGetPut.get`).
+
+
+Sauvegarde des renkan
+=====================
+
+la sauvegarde des renkan est définie dans le fichier `hdalab/static/hdalab/js/renkan-manual-save.js`.
+La sauvegarde est déclenchée par une action de l'utilisateur.
+