gestion des designs d'action
============================

Pour les actions communes, le design est directement intégré à l'agrégateur (frontend de l'ead).
On trouve les images dans le répertoire frontend/web/static/image, et la feuille de style dans 
frontend/web/static/style/actions.css.

Les actions qui sont spécifiques à leur module. Leur design, script, style ,image, aussi.
Ainsi, afin de modulariser le design des retours d'action, les fichiers
de design spécifiques aux actions sont téléchargés auprès du backend par
le frontend.

arborescence des designs
------------------------

Côté frontend:

Le dossier static du frontend contient les dossiers script, style et image.
Ces derniers contiennent des fichiers propres au frontend.
Le gestionnaire EadFile de téléchargement rajoute des dossiers spécifiques
aux différents modules (`/static/script/horus/` par ex). Ces dossiers contiennent
les éléments de designs spécifiques aux modules.
Ces dossiers sont automatiquement mis à jour par le frontend.

Côté backend:

Le dossier download contient un dir spécifique pour chaque module, dir qui contient un répertoire pour
chaque type (style , script, image).


système de mis à jour
---------------------

Par le biais du serveur xmlrpc, le frontend récupère la liste des fichiers qui lui manque et il les télécharge
auprès d'un serveur de fichier statique.

- `frontend/web/lib/tools.py`

		def initialize_ead_files(session):
	
Pour mettre à jour ses fichiers de design spécifiques, le frontend liste ses fichiers,
	
			script_dir = join(SCRIPT_DIR, module_name)
		    style_dir = join(STYLE_DIR, module_name)
		    image_dir = join(IMAGE_DIR, module_name)
		    # listing des fichiers presents sur le frontend
		    if isdir(script_dir):
		        act_scripts = str(listdir(script_dir))
		    else:
		        commands.getstatusoutput('mkdir %s'%script_dir)
		        act_scripts = "[]"
		    if isdir(style_dir):
		        act_styles = str(listdir(style_dir))
		    else:
		        commands.getstatusoutput('mkdir %s'%style_dir)
		        act_styles = "[]"
		    if isdir(image_dir):
		        act_images = str(listdir(image_dir))
		    else:
		        commands.getstatusoutput('mkdir %s'%image_dir)
		        act_images = "[]"

appel l'action `update' du backend en xml-rpc, récupère ainsi la liste des fichiers manquant,

			call = {'script':act_scripts,
            'style':act_styles,
            'image':act_images}
		    code, result = session.ead_server.execute_action(unicode('update_ead'), call, session.magic_number)

et télécharge ces fichiers auprès du serveur de fichier http prévu à cet effet 
(avec un controle sur la somme md5).

			get_files(result['style'], 'style', http_path, style_dir)
    		get_files(result['script'], 'script', http_path, script_dir)
		    get_files(result['image'], 'image', http_path, image_dir)

