Tanuki : Presentation de Tanuki

L'architecture de Tanuki se compose de plusieurs parties fonctionnant sur des serveurs séparés.

 

 

 

 

 

 

 

La partie web, en Django, génère les pages vues par les visiteurs et les menus de navigation adaptatifs. Elle permet aux utilisateurs enregistrés d'administrer et d'éditer du contenu : pages statiques et applications du site. Pour gérer celles-ci, les chercheurs utilisent un formulaire qui leur permet de formater les champs qui seront saisis par l'utilisateur. Les données saisies dans les champs par les utilisateurs seront utilisées comme argument à l’application scientifique. Les chercheurs formatent également les résultats sur une page de sortie pour avoir une application utilisable en ligne.


 

 

 

 

 

 

 

 

 

La partie web contient un front end (que vous voyez actuellement) et u backend qui permet de tout administrer :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

La partie calcul, en Django, gère les entrées/sorties de l'application scientifique. Pour assurer la sécurité de l'exécution, chaque calcul (en ligne de commande et sous Linux) est exécuté dans un conteneur LXC-Docker (sans réseau) qui est détruit en fin de calcul. Les résultats sont renvoyés au serveur web. Docker est un outil qui facilite le provisionnement des services et qui permet aux chercheurs de gérer simplement les dépendances de leurs applications. La communication entre la partie web et la partie calcul est réalisée en WebSocket et JSON.

Grâce à cette plate-forme, les chercheurs peuvent créer des pages statiques en quelques minutes et mettre en ligne leurs applications en quelques heures (après avoir créer les pages de saisie et de rendu).

Tanuki est actuellement utilisé pour une petite dizaine d'applications interactifs et certaines fonctionnalités sont appréciées des utilisateurs. Par exemple, pendant les calculs longs (comme pour le repliement d'ADN ou de model checking) ils peuvent saisir leur email sur la page d'attente et être notifié de la disponibilité de leur résultat.