# ANIS-CLIENT

## Introduction

AstroNomical Information System, ou ANIS, est une suite d'outils web génériques qui visent à faciliter la mise à
disposition de données astrophysiques, accessibles depuis une base de données, à une communauté de scientifiques.

ANIS-CLIENT est un composant de la suite ANIS qui permet de visualiser les datasets à travers un navigateur web.
A partir des informations contenues dans la base de metamodel, ANIS-CLIENT est capable :
- d'afficher la liste des datasets disponibles pour une instance donnée.
- de générer un formulaire de recherche sur un dataset en sélectionnant des critères ainsi que les résultats à afficher.
- de visualiser et télécharger les résultats de la recherche et informations associées.
- d'afficher les informations détaillées d'un objet à travers des graphes ou des images par exemple.

ANIS est protégée par la licence CeCILL (voir le fichier [LICENCE](LICENCE)).


## Installation

### Prérequis

Avant de commencer l'installation, assurez-vous d'avoir les commandes suivantes installées sur votre système :

- `make`
- `docker`

Une connexion internet sera nécessaire afin de télécharger les dépendances.

### Installation et démarrage de l'application en mode développement

ANIS-CLIENT contient un Makefile qui aide à l'installation et au démarrage de l'application.

1. Pour installer l'application et ces dépendances, taper à la racine du projet :

> make install
 
2. Lancer l'application :

> make start

3. Stopper l'application :

> make stop

**Attention** : ANIS-CLIENT repose sur ANIS-SERVER pour fonctionner !

### Liste des commandes

Le fichier `Makefile` situé à la racine du projet rend disponible une liste de commandes utiles à la gestion de
l'application en mode développement.

Pour voir la liste des commandes disponibles, ouvrir un terminal à la racine du projet et taper :

> make

**Attention** : ces commandes sont destinées à être utilisées en mode développement uniquement !

### Mode production

Pour compiler le projet pour de la production, il existe une commande make pour générer le dossier `dist` à la racine :

> make build

## Technologies

Voici une liste non exhaustive des principales dépendances utilisées lors du développement d'ANIS-CLIENT :

* `Angular` : [https://angular.io](https://angular.io/)
* `NGRX` : [https://ngrx.io](https://ngrx.io/)
* `Bootstrap` : [https://getbootstrap.com](https://getbootstrap.com)
* `D3.js` : [https://d3js.org](https://d3js.org)
* `Docker` : [https://www.docker.com](https://www.docker.com)
* `GIT` : [http://git-scm.com](http://git-scm.com)
* `CeCILL`: [http://www.cecill.info/index.en.html](http://www.cecill.info/index.en.html)


## Auteurs

* `François Agneray` : Laboratoire d'Astrophysique de Marseille (CNRS)
* `Chrystel Moreau` : Laboratoire d'Astrophysique de Marseille (CNRS)
* `Tifenn Guillas` : Laboratoire d'Astrophysique de Marseille (CNRS)