Commit e67ed150 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Doc d'installation

parent ad050c89
# Changelog
### v1.0 (24/05/2018)
- Nouveaux services `structure`, `etablissement`, `unite-recherche`, `ecole-doctorale`.
- [BUGFIX] Le schéma Oracle dans lequel se trouve les vues sources est désormais spécifié dans la config.
- [CLEANUP] Abandon du prefixe de nommage des vues sources `OBJECTH_*` au profit de `SYGAL_*`.
# Installation
## v1.0
### Configuration du web service
Dans le fichier `config/autoload/local.php`, ajoutez une nouvelle clé `CURRENT_SCHEMA` avec pour valeur le
nom du schéma dans lequel se trouvent les vues sources.
Exemple :
return [
'doctrine' => [
'connection' => [
'orm_default' => [
//...
'params' => [
//...
'CURRENT_SCHEMA' => 'APOGEE',
],
],
],
],
### Mise à jour des vues sources
NB: Le prefixe de nommage `OBJECTH_*` est abandonné au profit de `SYGAL_*`.
#### Pour Apogée
- Vous n'avez pas à renommer vous-même les vues en `SYGAL_*`.
- Récupérez le script `data/sql/vues-apogee-{etab}.sql``{etab}` correspond à votre établissement
(ex: `vues-apogee-urn.sql` est pour l'Université de Rouen Normandie), personnalisez la requête pour votre établissement
puis lancez la requête SQL.
- Exécutez ensuite le script `data/sql/vues-apogee.sql`.
#### Pour Physalis
- Renommer les vues existantes à l'aide du script `data/sql/vues-physalis.sql`.
- Écrire les 4 nouvelles vues suivantes en s'inspirant du script `data/sql/vues-apogee.sql` :
- SYGAL_STRUCTURE : factorisation des attributs communs aux établissements, UR, ED.
- SYGAL_ETAB
- SYGAL_ECOLE_DOCT
- SYGAL_UNITE_RECH
......@@ -16,6 +16,12 @@ et les met à disposition pour leur lecture via des requêtes GET.
## Installation
### Obtention des sources
```bash
$ git clone git@git.unicaen.fr:dsi/sygal-import-ws.git
```
### Installation des dépendances
Une fois les sources obtenues, il faut installer les packages requis par le ws.
......
# Mise à jour du web service
Cette page explique la procédure d'installation d'une nouvelle version du web service (ws).
## Mise à jour des sources
- Sur le serveur où est installé le web service, placez-vous dans le répertoire du web service :
normalement, c'est "/var/www/html/sygal-import-ws/".
- Lancez la commande `git fetch && git fetch --tags && git tag` pour obtenir la liste des versions disponibles du ws.
- Si la version la plus récente est par exemple la `1.0`, lancez la commande `git checkout 1.0` pour "basculer" sur la version 1.0 du ws.
- Ouvrez le fichier README.md et suivez les instructions du paragraphe "Installation".
NB: n'activez pas le "mode développement".
## Configuration
Cf. `INSTALL.md` au paragraphe correspondant à la version choisie.
## Vues Oracle
Idem.
# Première installation du web service
Cette page présente la procédure à suivre pour installer le web service pour la première fois.
## A/ Préalables
- Rendez-vous à l'adresse https://git.unicaen.fr/dsi/sygal-import-ws.
- Connectez-vous via la fédération d'identité Renater.
Si vous n'accédez à rien, c'est que par défaut vous n'avez pas accès au projet "sygal-import-ws", il faut nous demander de vous habiliter sur le projet pour pouvoir continuer, envoyez-nous un mail...
## B/ Config serveur et sources du ws
- Installez une Debian Stretch + PHP7 + Apache comme base de départ.
- Installez les sources de l'appli :
- Créez une clé SSH sur le serveur : https://git.unicaen.fr/help/ssh/README
- Sur Gitlab, déclarez cette clé SSH dans les paramètres de votre compte : https://git.unicaen.fr/profile/keys
- Sur le serveur, placez-vous dans le répertoire `/var/www/html/`.
- Faites un `git clone git@git.unicaen.fr:dsi/sygal-import-ws.git`, ce qui va "installer" les sources du ws dans le répertoire "sygal-import-ws".
- Placez-vous dans le répertoire "/var/www/html/sygal-import-ws/".
- Lancez la commande `git fetch && git fetch --tags && git tag` pour obtenir la liste des versions disponibles du ws.
- Si la version la plus récente est par exemple la `1.0`, lancez la commande `git checkout 1.0` pour "basculer" sur la version 1.0 du ws.
- Ouvrez le fichier README.md et suivez les instructions du paragraphe "Installation".
NB: n'activez pas le "mode développement".
- Poursuivez l'installation du serveur :
- Même sans connaître Docker, le fichier `Dockerfile.php7.dev` fourni avec les sources est compréhensible et fournit toutes les étapes nécessaires pour atteindre la config parfaite!
Une remarque sur l'installation du package PHP Oracle OCI8 : vous aurez besoin des 3 fichiers `instantclient-*` situés dans le répertoire `docker/`.
- La config Apache pour le ws est dans le répertoire `docker/` : `apache-site.conf`, `apache-site-ssl.conf` et `apache-ports.conf`.
- La config PHP est aussi dans le répertoire `docker/` : `php.conf`.
## C/ Réseau
- Le ws doit écouter sur les port 8080 (en http) et 8443 (en https).
- Autoriser l'accès depuis l'extérieur sur ces ports (on vous dira notre IP de sortie si besoin).
# Vues sources
Une "vue source" est une vue dans la base de données d'un établissement, qui est
interrogée par le web service pour rappatrier les données dans Sygal.
Elle interroge soit la base de données Apogée (Caen, Le Havre, Rouen), soit Physalys (INSA Rouen).
## Inventaire
Il existe une vue par "service" :
Service "acteur" : vue SYGAL_ACTEUR
Service "doctorant" : vue SYGAL_DOCTORANT
Service "ecole_doct" : vue SYGAL_ECOLE_DOCT
Service "etab" : vue SYGAL_ETAB
Service "individu" : vue SYGAL_INDIVIDU
Service "role" : vue SYGAL_ROLE
Service "source" : vue SYGAL_SOURCE
Service "structure" : vue SYGAL_STRUCTURE
Service "these" : vue SYGAL_THESE
Service "unite_rech" : vue SYGAL_UNITE_RECH
Service "variable" : vue SYGAL_VARIABLE
## Colonnes
Une vue comporte systématiquement les colonnes suivantes :
- `ID` : NUMBER ou VARCHAR2, identifiant unique de la données.
- `SOURCE_ID` : VARCHAR2, identifiant la source (provenance) de la données, ex: 'apogee'.
## Contraintes de référence
Les données de ces vues ont des liens entre elles. Si bien qu'une colonne de la forme `*_ID`
référence une données d'une autre vue. Exemples :
- C'est le cas de la colonne `SOURCE_ID` qui contient des `ID` issus de la vue `SYGAL_SOURCE`.
- Dans la vue `SYGAL_THESE`, la colonne `DOCTORANT_ID` contient des `ID` issus de la
vue `SYGAL_THESE`.
- Dans la vue `SYGAL_DOCTORANT`, la colonne `INDIVIDU_ID` contient des `ID` issus de la
vue `SYGAL_INDIVIDU`.
Ce ne sont pas des vraies contraintes de références
puisqu'on est dans des vues mais charge à vous de garantir la cohérence de ces références.
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment