Binary file doc/source/_static/img/renkan/renkan_liste_miniature.png has changed
--- a/doc/source/conf.py Thu Apr 12 18:33:25 2018 +0200
+++ b/doc/source/conf.py Fri Apr 13 12:43:08 2018 +0200
@@ -30,7 +30,7 @@
author = u'Yves-Marie Haussonne'
# The short X.Y version
-version = u'0.1'
+version = u'0.3'
# The full version, including alpha/beta/rc tags
release = u'3.2.1'
--- a/doc/source/index.rst Thu Apr 12 18:33:25 2018 +0200
+++ b/doc/source/index.rst Fri Apr 13 12:43:08 2018 +0200
@@ -21,6 +21,7 @@
renkan
commandes
taches
+ signals
dev
Documentation API <api/modules>
--- a/doc/source/renkan.rst Thu Apr 12 18:33:25 2018 +0200
+++ b/doc/source/renkan.rst Fri Apr 13 12:43:08 2018 +0200
@@ -201,6 +201,28 @@
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.
+Calcul des miniatures
+=====================
+
+.. image:: _static/img/renkan/renkan_liste_miniature.png
+
+Lorsqu'un renkan est publié (le statut de l'objet :class:`hdalab.models.renkan.HdalabRenkan` passe à `PUBLISHED`) une miniature du renkan est capturée.
+Cette capture se fait dans la méthode :func:`hdalab.services.renkan_capture_preview`.
+
+On lance `PhantomJS <http://phantomjs.org/>`_ qui ouvre la page :ref:`affichage-d-un-renkan-en-plein-ecran` et effectue une capture.
+
+Les arguments de l'appel sont les suivants ::
+
+ phantomjs
+ <chemin/vers/capture-phantomjs.js>
+ http://hdalab.iri-research.org/hdalab/renkan/full/?rk_id=<id_du_renkan>
+ <chemin/vers/le/thumbnail.png>
+ --width=500
+ --height=500
+ --wait=5000
+
+Le script de capture PhantomJS se trouve dans le fichier `src/hdalab/scripts/capture-phantomjs.js <https://www.iri.centrepompidou.fr/dev/hg/hdabo/file/tip/src/hdalab/scripts/capture-phantomjs.js>`_.
+
Le module `renkanmanager`
=========================
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/source/signals.rst Fri Apr 13 12:43:08 2018 +0200
@@ -0,0 +1,64 @@
+#################
+Signaux du modèle
+#################
+
+L'application HDALab utilise le `"distributeur de signaux" fourni par Django <https://docs.djangoproject.com/en/1.8/topics/signals/>`_.
+Il permet à HDALab d'avoir une architecture découplée et de pouvoir être averties quand des actions se produisent ailleurs dans un projet.
+
+
+Envoi des messages de modération
+================================
+
++-----------+-----------------------------------------------------------------------------+
+| Emetteur | :class:`hdalab.models.renkan.HdalabRenkanStateTransition` |
++-----------+-----------------------------------------------------------------------------+
+| évènement | `post_save <https://docs.djangoproject.com/en/1.8/ref/signals/#post-save>`_ |
++-----------+-----------------------------------------------------------------------------+
+| methode | :func:`hdalab.signals.send_renkan_moderation_messages` |
++-----------+-----------------------------------------------------------------------------+
+
+|
+
+.. autofunction:: hdalab.signals.send_renkan_moderation_messages
+ :noindex:
+
+
+Mise dans la queue des capture de miniature
+===========================================
+
++-----------+-----------------------------------------------------------------------------+
+| Emetteur | :class:`hdalab.models.renkan.HdalabRenkanStateTransition` |
++-----------+-----------------------------------------------------------------------------+
+| évènement | `post_save <https://docs.djangoproject.com/en/1.8/ref/signals/#post-save>`_ |
++-----------+-----------------------------------------------------------------------------+
+| methode | :func:`hdalab.signals.queue_renkan_rendering` |
++-----------+-----------------------------------------------------------------------------+
+
+|
+
+.. autofunction:: hdalab.signals.queue_renkan_rendering
+ :noindex:
+
+
+
+Effacement des miniatures renkan
+================================
+
++-----------+-------------------------------------------------------------------------------+
+| Emetteur | `renkamanager.models.Renkan` |
++-----------+-------------------------------------------------------------------------------+
+| évènement | `pre_delete <https://docs.djangoproject.com/en/1.8/ref/signals/#pre-delete>`_ |
++-----------+-------------------------------------------------------------------------------+
+| methode | :func:`hdalab.signals.renkan_delete_image` |
++-----------+-------------------------------------------------------------------------------+
+
+|
+
+.. autofunction:: hdalab.signals.renkan_delete_image
+ :noindex:
+
+
+
+
+
+
--- a/doc/source/taches.rst Thu Apr 12 18:33:25 2018 +0200
+++ b/doc/source/taches.rst Fri Apr 13 12:43:08 2018 +0200
@@ -13,7 +13,7 @@
.. _taches-hdalab-tasks-capture_preview:
hdalab.tasks.capture_preview
-----------------------------
+============================
Crée un snapshot d'un renkan.
La tache est un simple wrapper qui appelle :func:`hdalab.services.renkan_capture_preview`.
@@ -21,10 +21,12 @@
.. autofunction:: hdalab.services.renkan_capture_preview
:noindex:
+
+
.. _taches-djcelery_email_send_multiple:
djcelery_email_send_multiple
-----------------------------
+============================
Envoi asynchrone d'email.
Cette tâche est fournie par la librairie `django-celery-email <https://github.com/pmclanahan/django-celery-email>`_.