Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
open-source
sygal-import-ws
Commits
de332bb2
Commit
de332bb2
authored
Nov 12, 2019
by
Bertrand Gauthier
Browse files
Merge branch 'release-1.2.5' into develop
parents
066b1456
d21a7bc9
Pipeline
#5693
passed with stage
in 19 seconds
Changes
18
Pipelines
1
Expand all
Hide whitespace changes
Inline
Side-by-side
Dockerfile
View file @
de332bb2
###########################################################################################
#
# Image pour le dev.
#
###########################################################################################
FROM
unicaen-dev-php7.0-apache
ARG
PHP_VERSION
FROM
unicaen-dev-php${PHP_VERSION}-apache
LABEL
maintainer="Bertrand GAUTHIER <bertrand.gauthier at unicaen.fr>"
...
...
@@ -10,10 +17,10 @@ RUN ln -sf /dev/stderr /var/log/apache2/error.log
# Configuration Apache et FPM
ADD
docker/apache-ports.conf ${APACHE_CONF_DIR}/ports.conf
ADD
docker/apache-site.conf ${APACHE_CONF_DIR}/sites-available/
sygal-import-ws
.conf
ADD
docker/apache-site-ssl.conf ${APACHE_CONF_DIR}/sites-available/
sygal-import-ws
-ssl.conf
ADD
docker/fpm/pool.d/app.conf ${PHP_CONF_DIR}/fpm/pool.d/
sygal-import-ws
.conf
ADD
docker/fpm/conf.d/app.ini ${PHP_CONF_DIR}/fpm/conf.d/
ADD
docker/apache-site.conf ${APACHE_CONF_DIR}/sites-available/
app
.conf
ADD
docker/apache-site-ssl.conf ${APACHE_CONF_DIR}/sites-available/
app
-ssl.conf
ADD
docker/fpm/pool.d/app.conf ${PHP_CONF_DIR}/fpm/pool.d/
app
.conf
ADD
docker/fpm/conf.d/app.ini ${PHP_CONF_DIR}/fpm/conf.d/
90-app.ini
RUN
a2ensite
sygal-import-ws sygal-import-ws
-ssl
&&
\
service php
7.0
-fpm reload
RUN
a2ensite
app app
-ssl
&&
\
service php
${
PHP_VERSION
}
-fpm
reload
Dockerfile.sh
View file @
de332bb2
#!/usr/bin/env bash
#
# Script d'install d'un serveur,
inspiré
du Dockerfile.
# Script d'install d'un serveur,
traduction
du Dockerfile.
#
DIR
=
$(
cd
`
dirname
$0
`
&&
pwd
)
usage
()
{
cat
<<
EOF
Script d'install d'un serveur, traduction du Dockerfile.
Usage:
$0
<version de PHP>
EOF
exit
0
;
}
[[
-z
"
$1
"
]]
&&
usage
################################################################################################################
PHP_VERSION
=
"
$1
"
APP_DIR
=
$(
cd
`
dirname
$0
`
&&
pwd
)
set
-e
...
...
@@ -18,21 +31,25 @@ apt-get install -y \
export
UNICAEN_IMAGE_TMP_DIR
=
/tmp/docker-unicaen-image
git clone https://git.unicaen.fr/open-source/docker/unicaen-image.git
${
UNICAEN_IMAGE_TMP_DIR
}
cd
${
UNICAEN_IMAGE_TMP_DIR
}
source
Dockerfile.sh
.
Dockerfile.sh
${
PHP_VERSION
}
cd
${
DIR
}
cd
${
APP_
DIR
}
# NB: Variables d'env positionnées par ${UNICAEN_IMAGE_TMP_DIR}/Dockerfile.sh
# APACHE_CONF_DIR=/etc/apache2 \
# PHP_CONF_DIR=/etc/php/
7.0
# PHP_CONF_DIR=/etc/php/
$1
# Configuration Apache et FPM
cp
docker/apache-ports.conf
${
APACHE_CONF_DIR
}
/ports.conf
cp
docker/apache-site.conf
${
APACHE_CONF_DIR
}
/sites-available/sygal-import-ws.conf
cp
docker/apache-site-ssl.conf
${
APACHE_CONF_DIR
}
/sites-available/sygal-import-ws-ssl.conf
cp
docker/fpm/pool.d/app.conf
${
PHP_CONF_DIR
}
/fpm/pool.d/sygal-import-ws.conf
cp
docker/fpm/conf.d/app.ini
${
PHP_CONF_DIR
}
/fpm/conf.d/
cp
docker/apache-site.conf
${
APACHE_CONF_DIR
}
/sites-available/app.conf
cp
docker/apache-site-ssl.conf
${
APACHE_CONF_DIR
}
/sites-available/app-ssl.conf
cp
docker/fpm/pool.d/app.conf
${
PHP_CONF_DIR
}
/fpm/pool.d/app.conf
cp
docker/fpm/conf.d/app.ini
${
PHP_CONF_DIR
}
/fpm/conf.d/90-app.ini
sed
-i
-re
's/SetEnv APPLICATION_ENV "(development|test)"/SetEnv APPLICATION_ENV "production"/'
\
${
APACHE_CONF_DIR
}
/sites-available/app-ssl.conf
a2ensite sygal-import-ws sygal-import-ws-ssl
&&
\
service php7.0-fpm reload
a2ensite app app-ssl
&&
\
service apache2 reload
&&
\
service php
${
PHP_VERSION
}
-fpm
reload
INSTALL.md
View file @
de332bb2
# Installation du web service `sygal-import-ws`
Installation du web service `sygal-import-ws`
=============================================
##
Applicatif
Applicatif
----------
### Première obtention des sources et installation du serveur
Sur un serveur Debian Stretch, lancez les commandes suivantes pour obtenir les sources du WS :
*NB: la procédure proposée ici part d'un serveur *
Debian Stretch
*
tout nu et couvre l'installation de tous les packages
requis.
*
Si ce n'était pas le cas, merci de le signaler.
En
`root`
sur votre serveur, pour obtenir les sources du WS, lancez l'une des commandes suivantes en fonction
du site sur lequel vous lisez la présente page :
```
bash
git clone https://git.unicaen.fr/open-source/sygal-import-WS.git /var/www/sygal-import-WS
# Si vous êtes sur git.unicaen.fr :
git clone https://git.unicaen.fr/open-source/sygal-import-ws.git /app
# Si vous êtes sur github.com :
git clone https://github.com/EsupPortail/sygal-import-ws.git /app
```
*
NB: merci de respecter dans un premier temps le choix de
`/app`
comme répertoire d'installation.
Libre à vous une fois que tout fonctionne de changer d'emplacement et de modifier en conséquence les configs
nécessaires.
*
### Configuration du serveur
Ensuite, placez-vous dans le répertoire des sources et jetez un oeil au script
`Dockerfile.sh`
.
Ce script est en quelque sorte l'équivalent du
`Dockerfile`
du WS traduit en bash.
(Vous y verrez que le dépôt git d'une image Docker Unicaen est cloné pour lancer
son script
`Dockerfile.sh`
qui est lui aussi l'équivalent du
`Dockerfile`
de l'image
traduit en bash.)
Lancez le script
`Dockerfile.sh`
:
```
bash
cd
/
var/www/sygal-import-WS
source
Dockerfile.sh
cd
/
app
bash
Dockerfile.sh
7.0
```
Ensuite, vérifiez et ajustez si besoin sur votre serveur les fichiers de configs suivants,
créés par le script
`Dockerfile.sh`
:
-
${APACHE_CONF_DIR}/ports.conf
-
${APACHE_CONF_DIR}/sites-available/
sygal-import-ws
.conf
-
${APACHE_CONF_DIR}/sites-available/
sygal-import-ws
-ssl.conf
-
${PHP_CONF_DIR}/fpm/pool.d/
sygal-import-ws
.conf
-
${PHP_CONF_DIR}/fpm/conf.d/
-
${APACHE_CONF_DIR}/sites-available/
app
.conf
-
${APACHE_CONF_DIR}/sites-available/
app
-ssl.conf
-
${PHP_CONF_DIR}/fpm/pool.d/
app
.conf
-
${PHP_CONF_DIR}/fpm/conf.d/
90-app.ini
NB: Vérifiez dans le script
`Dockerfile.sh`
que vous venez de lancer mais normalement
`APACHE_CONF_DIR=/etc/apache2`
et
`PHP_CONF_DIR=/etc/php/7.0`
.
...
...
@@ -83,41 +99,24 @@ doivent être complétés puis renommés :
-
**database.local.php.dist**
: qui est utilisé pour la connection à la BDD.
-
clés
`host`
,
`dbname`
,
`port`
,
`user`
,
`password`
: les infos d'accès à la BDD.
Une fois ces fichiers complétés, changez leur extension
`.php.dist`
en
`.php`
.
Une fois ces fichiers complétés, supprimez l'extension
`.dist`
, ex :
```
bash
cp
-n
local.php.dist local.php
cp
-n
database.local.php.dist database.local.php
```
### Configuration PHP pour le WS
Créez/corrigez le fichier de config PHP
`/etc/php/7.0/fpm/conf.d/99-sygal-import-WS.ini`
comme suit :
Si vous êtes sur un serveur de PROD, corrigez les lignes suivantes du fichier de config PHP
`/etc/php/7.0/fpm/conf.d/90-app.ini`
:
date.timezone = Europe/Paris
short_open_tag = Off
expose_php = Off
#display_startup_errors = On
#error_reporting = E_ALL & ~E_DEPRECATED & ~E_NOTICE
display_errors = Off
# NB: ne peut-être supérieur au memory_limit du php.ini
memory_limit = 256M
;opcache.error_log=/var/log/php_opcache_error.log
...
error_reporting = 0
...
opcache.enable = 1
opcache.memory_consumption = 256
opcache.interned_strings_buffer = 8
opcache.max_wasted_percentage = 5
opcache.max_accelerated_files = 16000
; http://php.net/manual/en/opcache.configuration.php#ini.opcache.revalidate-freq
; defaults to zend opcache checking every 180 seconds for PHP file changes
; set to zero to check every second if you are doing alot of frequent
; php file edits/developer work
; opcache.revalidate_freq=0
opcache.revalidate_freq = 180
opcache.fast_shutdown = 0
opcache.enable_cli = 0
opcache.save_comments = 1
opcache.enable_file_override = 1
opcache.validate_timestamps = 1
opcache.huge_code_pages = 0
...
xdebug.enable = 0
### Interface d'admin Apigility
...
...
@@ -127,16 +126,13 @@ Assurez-vous de bien désactiver le mode développement :
composer development-disable
```
Pour passer en mode développement et ouvrir l'accès à cette interface de modification du WS :
```
bash
composer development-enable
```
## Base de données
Base de données
---------------
Le WS interroge des vues que vous devez créer dans la base de données de votre logiciel de scolarité (Apogée, Physalis),
ou autre part
si c'est possible, à vous de voir.
Le WS interroge des vues que vous devez créer dans la base de données de votre logiciel de scolarité (Apogée, Physalis),
ou autre part
si c'est possible, à vous de voir.
En fonction du logiciel de scolarité que votre établissement utilise, intéressez-vous dans le répertoire
[
`data/sql`
](
data/sql
)
à l'un des répertoires suivants :
...
...
@@ -147,3 +143,20 @@ Chacun des répertoires contient :
-
Un script pour créer les vues communes à tous les établissements ayant le logiciel de scolarité en question.
-
Un script pour créer les vues propres à un établissement en particulier.
Si votre établissement ne figure pas dans la liste, il faudra écrire les vues adaptées à votre contexte.
Réseau
------
Vous devez autoriser le serveur sur lequel est installé le WS à être interrogé par le serveur sur lequel est installé
SyGAL.
Il est conseillé de restreindre cette autorisation à cette seule adresse IP d'origine.
Test
----
Reportez-vous au
[
README.md
](
README.md
)
pour tester l'appel du WS en ligne de commande depuis le serveur
sur lequel est installé SyGAL.
config/autoload/local.php.dist
View file @
de332bb2
...
...
@@ -19,12 +19,7 @@ return [
'authentication'
=>
[
'adapters'
=>
[
'basic'
=>
[
'adapter'
=>
\
ZF\MvcAuth\Authentication\HttpAdapter
::
class
,
'options'
=>
[
'accept_schemes'
=>
[
0
=>
'basic'
,
],
'realm'
=>
'api'
,
'htpasswd'
=>
__DIR__
.
'/../users.htpasswd'
,
],
],
...
...
data/sql/apogee/01-vues-apogee-communes.sql
View file @
de332bb2
This diff is collapsed.
Click to expand it.
data/sql/apogee/02-vues-apogee-
ucn
.sql
→
data/sql/apogee/02-vues-apogee-
etab
.sql
View file @
de332bb2
...
...
@@ -6,17 +6,22 @@
-- Web Service d'import de données
-- -------------------------------
--
-- Vues Apogée
UCN
.
-- Vues Apogée
propre à votre établissement, à personnaliser
.
--
--
-- Vue fournissant les "variables d'environnement" requis par SyGAL :
-- - Adresse mail de l'assistance utilisateur
-- - Adresse mail de contact de la BU
-- - Adresse mail de contact du bureau des doctorats
--
create
or
replace
view
SYGAL_VARIABLE_MANU
as
select
'apogee'
as
source_id
,
'EMAIL_ASSISTANCE'
as
id
,
'EMAIL_ASSISTANCE'
as
cod_vap
,
'Adresse mail de l
''
assistance utilisateur'
as
lib_vap
,
'assistance-sygal@uni
caen
.fr'
as
par_vap
,
'assistance-sygal@uni
v
.fr'
as
par_vap
,
-----------------------------> à personnaliser
to_date
(
'2017-01-01'
,
'YYYY-MM-DD'
)
as
DATE_DEB_VALIDITE
,
to_date
(
'9999-12-31'
,
'YYYY-MM-DD'
)
as
DATE_FIN_VALIDITE
from
dual
...
...
@@ -26,7 +31,7 @@ create or replace view SYGAL_VARIABLE_MANU as
'EMAIL_BU'
as
id
,
'EMAIL_BU'
as
cod_vap
,
'Adresse mail de contact de la BU'
as
lib_vap
,
'
scd.theses@unicaen.fr'
as
par_vap
,
'
bu@univ.fr'
as
par_vap
,
------------------------------------------> à personnaliser
to_date
(
'2017-01-01'
,
'YYYY-MM-DD'
)
as
DATE_DEB_VALIDITE
,
to_date
(
'9999-12-31'
,
'YYYY-MM-DD'
)
as
DATE_FIN_VALIDITE
from
dual
...
...
@@ -36,19 +41,25 @@ create or replace view SYGAL_VARIABLE_MANU as
'EMAIL_BDD'
as
id
,
'EMAIL_BDD'
as
cod_vap
,
'Adresse mail de contact du bureau des doctorats'
as
lib_vap
,
'
recherche.doctorat@unicaen.fr'
as
par_vap
,
'
bdd@univ.fr'
as
par_vap
,
-----------------------------------------> à personnaliser
to_date
(
'2017-01-01'
,
'YYYY-MM-DD'
)
as
DATE_DEB_VALIDITE
,
to_date
(
'9999-12-31'
,
'YYYY-MM-DD'
)
as
DATE_FIN_VALIDITE
from
dual
/
--
-- Vue traduisant les codes rôles en usage dans votre établissement vers les codes compris par SyGAL.
--
create
or
replace
view
SYGAL_ROLE_TR
as
select
'A'
,
'A'
from
dual
union
select
'B'
,
'B'
from
dual
union
select
'C'
,
'C'
from
dual
union
select
'D'
,
'D'
from
dual
union
select
'K'
,
'K'
from
dual
union
select
'M'
,
'M'
from
dual
union
select
'P'
,
'P'
from
dual
union
select
'R'
,
'R'
from
dual
with
tmp
(
FROM_COD_ROJ
,
TO_COD_ROJ
)
as
(
select
'A'
,
'A'
from
dual
union
-- A : Membre absent
select
'B'
,
'B'
from
dual
union
-- B : Co-encadrant
select
'C'
,
'C'
from
dual
union
-- C : Chef de laboratoire
select
'D'
,
'D'
from
dual
union
-- D : Directeur de thèse
select
'K'
,
'K'
from
dual
union
-- K : Co-directeur de thèse
select
'M'
,
'M'
from
dual
union
-- M : Membre du jury
select
'P'
,
'P'
from
dual
union
-- P : Président du jury
select
'R'
,
'R'
from
dual
-- R : Rapporteur du jury
)
select
*
from
tmp
/
data/sql/apogee/02-vues-apogee-ulhn.sql
deleted
100644 → 0
View file @
066b1456
--
--
-- SyGAL
-- =====
--
-- Web Service d'import de données
-- -------------------------------
--
-- Vues Apogée ULHN.
--
create
or
replace
view
SYGAL_VARIABLE_MANU
as
select
'apogee'
as
source_id
,
'EMAIL_ASSISTANCE'
as
id
,
'EMAIL_ASSISTANCE'
as
cod_vap
,
'Adresse mail de l
''
assistance utilisateur'
as
lib_vap
,
'assistance-sygal@univ-lehavre.fr'
as
par_vap
,
to_date
(
'2017-01-01'
,
'YYYY-MM-DD'
)
as
DATE_DEB_VALIDITE
,
to_date
(
'9999-12-31'
,
'YYYY-MM-DD'
)
as
DATE_FIN_VALIDITE
from
dual
union
all
select
'apogee'
as
source_id
,
'EMAIL_BU'
as
id
,
'EMAIL_BU'
as
cod_vap
,
'Adresse mail de contact de la BU'
as
lib_vap
,
'scd.theses@univ-lehavre.fr'
as
par_vap
,
to_date
(
'2017-01-01'
,
'YYYY-MM-DD'
)
as
DATE_DEB_VALIDITE
,
to_date
(
'9999-12-31'
,
'YYYY-MM-DD'
)
as
DATE_FIN_VALIDITE
from
dual
union
all
select
'apogee'
as
source_id
,
'EMAIL_BDD'
as
id
,
'EMAIL_BDD'
as
cod_vap
,
'Adresse mail de contact du bureau des doctorats'
as
lib_vap
,
'recherche.doctorat@univ-lehavre.fr'
as
par_vap
,
to_date
(
'2017-01-01'
,
'YYYY-MM-DD'
)
as
DATE_DEB_VALIDITE
,
to_date
(
'9999-12-31'
,
'YYYY-MM-DD'
)
as
DATE_FIN_VALIDITE
from
dual
/
create
or
replace
view
SYGAL_ROLE_TR
as
select
'A'
,
'A'
from
dual
union
select
'B'
,
'B'
from
dual
union
select
'C'
,
'C'
from
dual
union
select
'D'
,
'D'
from
dual
union
select
'K'
,
'K'
from
dual
union
select
'M'
,
'M'
from
dual
union
select
'P'
,
'P'
from
dual
union
select
'R'
,
'R'
from
dual
/
data/sql/apogee/02-vues-apogee-urn.sql
deleted
100644 → 0
View file @
066b1456
--
--
-- SyGAL
-- =====
--
-- Web Service d'import de données
-- -------------------------------
--
-- Vues Apogée URN.
--
create
or
replace
view
SYGAL_VARIABLE_MANU
as
select
'apogee'
as
source_id
,
'EMAIL_ASSISTANCE'
as
id
,
'EMAIL_ASSISTANCE'
as
cod_vap
,
'Adresse mail de l
''
assistance utilisateur'
as
lib_vap
,
'assistance-sygal@univ-rouen.fr'
as
par_vap
,
to_date
(
'2017-01-01'
,
'YYYY-MM-DD'
)
as
DATE_DEB_VALIDITE
,
to_date
(
'9999-12-31'
,
'YYYY-MM-DD'
)
as
DATE_FIN_VALIDITE
from
dual
union
all
select
'apogee'
as
source_id
,
'EMAIL_BU'
as
id
,
'EMAIL_BU'
as
cod_vap
,
'Adresse mail de contact de la BU'
as
lib_vap
,
'scd.theses@univ-rouen.fr'
as
par_vap
,
to_date
(
'2017-01-01'
,
'YYYY-MM-DD'
)
as
DATE_DEB_VALIDITE
,
to_date
(
'9999-12-31'
,
'YYYY-MM-DD'
)
as
DATE_FIN_VALIDITE
from
dual
union
all
select
'apogee'
as
source_id
,
'EMAIL_BDD'
as
id
,
'EMAIL_BDD'
as
cod_vap
,
'Adresse mail de contact du bureau des doctorats'
as
lib_vap
,
'recherche.doctorat@univ-rouen.fr'
as
par_vap
,
to_date
(
'2017-01-01'
,
'YYYY-MM-DD'
)
as
DATE_DEB_VALIDITE
,
to_date
(
'9999-12-31'
,
'YYYY-MM-DD'
)
as
DATE_FIN_VALIDITE
from
dual
/
create
or
replace
view
SYGAL_ROLE_TR
(
FROM_COD_ROJ
,
TO_COD_ROJ
)
as
select
'A'
,
'R'
from
dual
union
-- rapporteur du jury
select
'C'
,
'K'
from
dual
union
-- co-dir
select
'D'
,
'D'
from
dual
union
-- dir
select
'E'
,
'M'
from
dual
union
-- examinateur => membre du jury (discutable)
select
'M'
,
'M'
from
dual
union
-- membre du jury
select
'N'
,
'B'
from
dual
union
-- co-encadrant
select
'P'
,
'P'
from
dual
union
-- président du jury
select
'R'
,
'R'
from
dual
-- rapporteur du jury
/
data/sql/apogee/annexe-emails.sql
0 → 100644
View file @
de332bb2
--
--
-- SyGAL
-- =====
--
-- Web Service d'import de données
-- -------------------------------
--
-- Vue matérialisée interrogeant Apogée et l'annuaire LDAP (grâce au package UCBN_LDAP) pour obtenir
-- les adresses électroniques.
--
-- drop materialized view SYGAL_MV_EMAIL
--/
CREATE
MATERIALIZED
VIEW
SYGAL_MV_EMAIL
refresh
complete
USING
TRUSTED
CONSTRAINTS
START
WITH
SYSDATE
NEXT
SYSDATE
+
1
/
24
/
6
as
select
sysdate
as
last_update
,
tmp
.
*
from
(
select
-- doctorants
to_char
(
ind
.
cod_etu
)
as
id
,
-- Numero etudiant
ucbn_ldap
.
etu2mail
(
ind
.
cod_etu
)
as
email
-- Mail etudiant
from
these_hdr_sout
ths
join
diplome
dip
on
dip
.
cod_dip
=
ths
.
cod_dip
join
typ_diplome
tpd
on
tpd
.
cod_tpd_etb
=
dip
.
cod_tpd_etb
join
individu
ind
on
ind
.
cod_ind
=
ths
.
cod_ind
--and ind.cod_etu != 21009539 -- Exclusion du compte de test Aaron AAABA
where
ths
.
cod_ths_trv
=
'1'
-- Exclusion des travaux
and
dip
.
cod_tpd_etb
in
(
'39'
,
'40'
)
and
tpd
.
eta_ths_hdr_drt
=
'T'
-- Inscription en these
and
tpd
.
tem_sante
=
'N'
-- Exclusion des theses d exercice
and
ind
.
cod_etu
is
not
null
-- oui, oui, ça arrive
union
select
*
from
(
-- acteurs
with
acteur
as
(
select
ths
.
cod_ths
,
'D'
as
cod_roj
,
ths
.
cod_per_dir
as
cod_per
,
ths
.
cod_etb_dir
as
cod_etb
,
ths
.
cod_cps_dir
as
cod_cps
,
null
as
tem_rap_recu
,
null
as
cod_roj_compl
from
these_hdr_sout
ths
where
ths
.
cod_ths_trv
=
'1'
and
ths
.
cod_per_dir
is
not
null
union
select
ths
.
cod_ths
,
'D'
as
cod_roj
,
ths
.
cod_per_cdr
as
cod_per
,
ths
.
cod_etb_cdr
as
cod_etb
,
ths
.
cod_cps_cdr
as
cod_cps
,
null
as
tem_rap_recu
,
null
as
cod_roj_compl
from
these_hdr_sout
ths
where
ths
.
cod_ths_trv
=
'1'
and
ths
.
cod_per_cdr
is
not
null
union
select
ths
.
cod_ths
,
'D'
as
cod_roj
,
ths
.
cod_per_cdr2
as
cod_per
,
ths
.
cod_etb_cdr2
as
cod_etb
,
ths
.
cod_cps_cdr2
as
cod_cps
,
null
as
tem_rap_recu
,
null
as
cod_roj_compl
from
these_hdr_sout
ths
where
ths
.
cod_ths_trv
=
'1'
and
ths
.
cod_per_cdr2
is
not
null
union
select
trs
.
cod_ths
,
'R'
as
cod_roj
,
trs
.
cod_per
,
null
as
cod_etb
,
null
as
cod_cps
,
trs
.
tem_rap_recu
,
null
as
cod_roj_compl
from
ths_rap_sou
trs
union
select
tjp
.
cod_ths
,
'M'
as
cod_roj
,
tjp
.
cod_per
,
tjp
.
cod_etb
,
tjp
.
cod_cps
,
null
as
tem_rap_recu
,
case
when
tjp
.
cod_roj
in
(
'P'
,
'B'
,
'A'
)
then
tjp
.
cod_roj
else
null
end
as
cod_roj_compl
from
ths_jur_per
tjp
)
select
distinct
coalesce
(
regexp_replace
(
per
.
num_dos_har_per
,
'[^0-9]'
,
''
),
'COD_PER_'
||
act
.
cod_per
)
as
id
,
-- Code Harpege ou Apogee de l acteur
case
when
per
.
num_dos_har_per
is
null
then
null
else
ucbn_ldap
.
uid2mail
(
'p'
||
per
.
num_dos_har_per
)
end
as
email
-- Mail acteur
from
acteur
act
join
role_jury
roj
on
roj
.
cod_roj
=
act
.
cod_roj
join
personnel
per
on
per
.
cod_per
=
act
.
cod_per
)
)
tmp
where
email
is
not
null
/
\ No newline at end of file
data/sql/physalis/02-vues-physalis-
insa
.sql
→
data/sql/physalis/02-vues-physalis-
etab
.sql
View file @
de332bb2
...
...
@@ -6,7 +6,7 @@
-- Web Service d'import de données
-- -------------------------------
--
-- Vues Physalis
INSA
.
-- Vues Physalis
propre à votre établissement, à personnaliser
.
--
/*
...
...
doc/release-notes/v1.2.5.md
0 → 100644
View file @
de332bb2
v1.2.5
======
Sources PHP
-----------
Sur le serveur, placez-vous dans le répertoire du web service (sans doute
`/var/www/sygal-import-ws`
)
puis lancez les commandes suivantes pour installer la nouvelle version :
```
bash
git fetch
&&
git fetch
--tags
&&
git checkout
--force
1.2.5
&&
bash install.sh
```
Selon le moteur PHP que vous avez installé, rechargez le service, exemple :
-
php7.0-fpm :
`service php7.0-fpm reload`
-
apache2-mod-php7.0 :
`service apache2 reload`
Base de données
---------------
### Apogée
La vue
`SYGAL_THESE`
doit être mise à jour car la colonne
`COD_ANU_PRM_IAE`
est redondante du fait qu'une vue
`SYGAL_THESE_ANNEE_UNIV`
dédiée existe. De plus, cette colonne remontait une année de 1ere inscription erronée en cas
de changement de discipline.
```
sql
create
view
SYGAL_THESE
as
with
inscription_administrative
as
(
select
distinct
ths
.
cod_ind
,
iae
.
cod_dip
,
iae
.
cod_vrs_vdi
from
these_hdr_sout
ths
join
ins_adm_etp
iae
on
iae
.
cod_ind
=
ths
.
cod_ind
and
(
iae
.
cod_dip
,
iae
.
cod_vrs_vdi
)
in
(
(
ths
.
cod_dip
,
ths
.
cod_vrs_vdi
),
(
ths
.
cod_dip_anc
,
ths
.
cod_vrs_vdi_anc
)
)
join
diplome
dip
on
dip
.
cod_dip
=
iae
.
cod_dip
join
typ_diplome
tpd
on
tpd
.
cod_tpd_etb
=
dip
.
cod_tpd_etb
where
ths
.
cod_ths_trv
=
'1'
-- Exclusion des travaux
and
iae
.
eta_iae
=
'E'
-- Inscription administrative non annulee
and
iae
.
eta_pmt_iae
=
'P'
-- Inscription administrative payee
and
dip
.
cod_tpd_etb
in
(
'39'
,
'40'
)
and
tpd
.
eta_ths_hdr_drt
=
'T'
-- Inscription en these
and
tpd
.
tem_sante
=
'N'
-- Exclusion des theses d exercice
),
hierarchie_structures
as
(
select
cod_cmp_inf
,
cod_cmp_sup
from
cmp_cmp
where
connect_by_isleaf
=
1
connect
by
prior
cod_cmp_sup
=
cod_cmp_inf
),
ancienne_these
as
(
select
distinct
cod_ind
,