2. Installation

2.1 Pré-requis

Afin de faire tourner EVA sur un poste local il est nécessaire d’avoir installé les composants suivants :

  1. Git pour la gestion des sources

  2. MySQL 5.7

  3. PHP en version 7.2 avec les extensions suivantes :

    • Apcu

    • Curl

    • Gd

    • Intl

    • Mbstring

    • Mysql

    • Tidy

    • Xml

    • Zip

  4. Composer pour gérer les dépendances PHP

  5. NPM et NodeJS

  6. Bower afin de gérer les dépendances liées à AngularJS

npm install -g bower

2.2 Installation et initialisation du projet

2.2.1 Sources

Il faut d’abord télécharger les sources du projet depuis Gitlab.

1. git clone https://gitlab.com/logiciel-eva/logiciel-eva.git

2.2.2 Gestionnaires de dépendances

Depuis le dossier du projet, il faut lancer les commandes suivantes afin de récupérer les dépendances

1. composer install
2. bower install
3. npm install

2.2.3 Fichier hosts

Pour lancer l’application, il convient de modifier le fichier hosts du système afin qu’il contienne les lignes suivantes :

1. 127.0.0.1 localhost
2. 127.0.0.1 admin.eva.local
3. 127.0.0.1 client1.eva.local

2.2.4 Environnement d’administration

Créer la base de données admin Dans le dossier module/Bootstrap/config/ il faut ajouter le fichier module.config.php (ajouté au gitignore) avec comme contenu :

<?php

return [
    'admin_host' => 'admin.eva.local'
];

Dans le dossier config/autoload/ il faut ajouter le fichier doctrine.local.php (ajouté au gitignore) avec comme contenu :

1. <?php
2.  
3. /**
4.  * Retrieve the APP_ENV value.
5.  * Defined in public/.htaccess file.
6.  */
7. $env = getenv('APP_ENV') ? : 'development';
8.  
9. return [
10.     'doctrine' => [
11.         'connection' => [
12.             'orm_default' => [
13.                 'driverClass' => 'Doctrine\DBAL\Driver\PDOMySql\Driver',
14.                 'params' => [
15.                     'host'     => 'localhost',
16.                     'port'     => '3306',
17.                     'user'     => 'root',
18.                     'password' => '',
19.                     'dbname'   => 'admin',
20.                     'driverOptions' => [
21.                         1002 => 'SET NAMES utf8'
22.                     ],
23.                 ],
24.             ]
25.         ],
26.         'entitymanager' => [
27.             'orm_default' => [
28.                 'connection'    => 'orm_default',
29.                 'configuration' => 'orm_default',
30.             ]
31.         ],
32.         'configuration' => [
33.             'orm_default' => [
34.                 'metadata_cache'    => ($env === 'development' ? 'array' : 'apc'),
35.                 'query_cache'       => ($env === 'development' ? 'array' : 'apc'),
36.                 'result_cache'      => ($env === 'development' ? 'array' : 'apc'),
37.                 'driver'            => 'orm_default',
38.                 'generate_proxies'  => ($env === 'development'),
39.                 'proxy_dir'         => 'data/DoctrineORMModule/Proxy',
40.                 'proxy_namespace'   => 'DoctrineORMModule\Proxy',
41.                 'filters'           => []
42.             ]
43.         ],
44.         'driver' => [
45.             'orm_default' => [
46.                 'class'   => 'Doctrine\ORM\Mapping\Driver\DriverChain'
47.             ]
48.         ]
49.     ],
50. ];

Le lancement de la commande suivante crée la structure de la base admin :

1. ./bin/update (Unix) 
2. .\bin\update.bat (Windows)

A présent il faut créer un client afin d’accéder à la plateforme principale, pour cela on crée un rôle et un utilisateur dans la base d’administration (admin) pour pouvoir y accéder :

Il faut jouer le script init-db_admin.sql contenu dans le dossier documentation.

Il est maintenant possible de lancer l’admin pour créer le client, dans le dossier racine du projet lancer :

1. php -S admin.eva.local:8000 -t public/

2.2.5 Environnement client

Un client peut être créé de deux façons :

  • Depuis l’interface d’administration. La sauvegarde du client crée son environnement dans la base de données.

  • En créant un client directement en base de données avec le script placé dans le dossier documentation : create-client.sql

Il faut lancer une mise à jour pour finaliser

1. ./bin/update (Unix) 
2. .\bin\update.bat (Windows)

2.3 Lancement de la plateforme principale

Pour lancer l’applicatif côté client, il suffit de taper la commande (dans le dossier racine du projet)

1. php -S client1.eva.localhost:8000 -t public/

Ouvrir le lien http://client1.eva.local:8000 avec les identifiants admin/admin pour se connecter.