AstroNomical Information System est un outil web générique qui vise à faciliter
la mise à disposition de données (Astrophysiques), accessible depuis
une base de données, à une communauté de scientifiques.
AstroNomical Information System is a generic web tool that aims to facilitate the provision of data (Astrophysics), accessible from a database, for the scientific community.
ANIS-V3-SERVER est un composant de ANIS-V3 qui permet de piloter une ou plusieurs
bases de données liées à des projets en astronomie uniquement via des URLS.
Anis server is a software that allows you to control one or more databases related to astronomical projects and allows access to datasets via URLs.
ANIS permet de rechercher et visualiser des données à partir de formulaires de
recherche générés automatiquement par l'application. Le scientifique à la
possibilité de visualiser ces données sous la forme d'un tableau HTML interactif,
il à également la possibilité de visualiser des données issues d'images
astronomiques, de spectres ou de fichier FITS.
This software is protected by the `CeCILL` licence (see LICENCE file at the software root).
## Auteurs
## Authors
*`François Agneray` : Laboratoire d'Astrophysique de Marseille (CNRS)
*`Chrystel Moreau` : Laboratoire d'Astrophysique de Marseille (CNRS)
# Guide d'installation
# Installation guide
## Dépendances
## Make commandes
Cette application requiert les dépendances suivantes pour fonctionner:
The `Makefile` at the root of the project provides a list of commands available to manage the application.
To see the list of commands:
> make
## Software dependencies: introduction
This application requires the following dependencies to work:
"slim/slim": "^3.8",
"doctrine/orm": "^2.5"
...
...
@@ -32,64 +33,47 @@ Cette application requiert les dépendances suivantes pour fonctionner:
"lcobucci/jwt": "^3.2",
"swiftmailer/swiftmailer": "^6.0"
Ces dépendances sont installées via le logiciel `composer.phar` et le fichier de
configuration `composer.json` disponible à la racine de l'application.
## Dépendances : installation
These dependencies are installed with software `composer.phar` and the configuration files `composer.json` and `composer.lock` available at the root of the application.
Pour lancer l'installation des dépendances, il faut utiliser la commande suivante
à la racine du projet ANIS :
## Software dependencies: installation
> php composer.phar install
To start installing dependancies, use the following command at the software root:
`Composer.phar` va utiliser automatique le fichier `composer.json` pour télécharger
les dépendances et les placer dans le dossier `vendor` à la racine du projet.
> make install
## Base de données metamodel : création de la base
`Composer.phar` will automatically use the `composer.json` file to download all the dependancies and save them to the `vendor` directory at the root of the application.
Une instance ANIS nécessite une base de données de `metamodel` pour fonctionner.
Commencer par créer une base de données vierge avec un utilisateur en mode lecture
écriture pouvant s'y connecter.
## Build Anis server software
## Base de données metamodel : fichier de configuration
Anis server has been developed to be used with docker containers. If you open the docker-compose.yml file you can see all containers needed for the "development configuration" of anis server.
La configuration pour la connexion à la base de données `metamodel` se trouve dans
le fichier `settings.php` dans le dossier `app` du projet.
`Makefile` provides a command to build an install all the containers that you need for create a fresh installation of Anis server software:
Le fichier `settings.php` contient un tableau de clé => valeur. Les options de
connexion se trouvent dnas la partie settings => metadata => connection_options.
> make up
Mettez les options de connexion correspondant à la base de données `metamodel`
vierge préalablement créée.
## Start Anis server
## Base de données metamodel: génération des tables
After the creation of containers you are now ready to start them:
Pour générer les tables de la la base de données `metamodel` qui correspondent aux
fichier `Entity` (voir la doc `Doctrine2` pour plus d'information), il faut utiliser
l'utilitaire en ligne de commande fournit par `Doctrine 2` disponible dans le dossier `vendor` :
> ./vendor/bin/doctrine
Doctrine 2 permet de valider le schéma qui correpond aux fichiers `entity` :
> make start
> ./vendor/bin/doctrine orm:validate-schema
## Metamodel database installation
Si le schéma est valide, Doctrine 2 permet de générer automatiquement la base de données :
Anis server need a database to save the metadata information about business databases, projects and datasets availables for users. After that, anis administrator will be able to define a configuration by calling specific URLs (REST API).
> ./vendor/bin/doctrine orm:schema-tool:create
Create the metamodel database:
## Lancement de l'application en mode docker :
> make init-db
Vous pouvez lancer l'application en mode docker gràce au fichier docker-compose.yml se trouvant à la racine du projet.
And create the first superuser to define a configuration:
Pour ce faire vous devez avoir installé docker et docker-compose sur votre machine puis lancer la commande suivante :
> make email=admin@anis.fr password=admin add-superuser
> make build
> make start
## Anis server is now ready to use
Le container une fois lancé va rédiriger l'application su le port 8080 de votre machine. Rendez-vous sur l'URL http://localhost:8080 de votre machine pour vous assurez que l'application fonctionne.
Open a browser and go => [http://localhost:8080/](http://localhost:8080/)