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 :
Git pour la gestion des sources
MySQL 5.7
PHP en version 7.2 avec les extensions suivantes :
Apcu
Curl
Gd
Intl
Mbstring
Mysql
Tidy
Xml
Zip
Composer pour gérer les dépendances PHP
NPM et NodeJS
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.