Loading CHANGELOG.md +5 −3 Original line number Diff line number Diff line Loading @@ -3,9 +3,11 @@ Journal des modifications 2.1.0 ----- - Service 'thèse' : inclusion du code SISE de la discipline. - Service 'individu' : inclusion du code pays de nationalité. - Correction mineure de vues (Oracle ou Physalis). - Service 'thèse' : ajout du code SISE de la discipline. - Service 'individu' : ajout du code pays de nationalité. - Service 'structure' : correction d'un nvl(etb.lib_web_etb, etb.lib_etb)' oublié créant des doublons. - Correction d'une vue pour Physalis. - Passage à PHP 7.4. 2.0.0 ----- Loading INSTALL.md +6 −6 Original line number Diff line number Diff line Loading @@ -34,7 +34,7 @@ traduit en bash.) Lancez le script `Dockerfile.sh` : ```bash cd /app bash Dockerfile.sh 7.0 bash Dockerfile.sh 7.4 ``` Ensuite, vérifiez et ajustez si besoin sur votre serveur les fichiers de configs suivants, Loading @@ -46,11 +46,11 @@ créés par le script `Dockerfile.sh` : - ${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`. `APACHE_CONF_DIR=/etc/apache2` et `PHP_CONF_DIR=/etc/php/7.4`. ### Installation d'une version précise du WS Normalement, vous ne devez installer que les versions officielles du WS, c'est à dire les versions taguées, du genre `2.0.0` Normalement, vous ne devez installer que les versions officielles du WS, c'est à dire les versions taguées, du genre `2.1.0` par exemple. Placez-vous dans le répertoire des sources du web service puis lancez les commandes git suivantes pour obtenir la liste des Loading @@ -59,10 +59,10 @@ versions officielles du WS : git fetch && git fetch --tags && git tag ``` Si la version la plus récente est par exemple la `2.0.0`, utilisez les commandes suivantes pour "installer" cette version Si la version la plus récente est par exemple la `2.1.0`, utilisez les commandes suivantes pour "installer" cette version sur votre serveur : ```bash git checkout --force 2.0.0 && bash install.sh git checkout --force 2.1.0 && bash install.sh ``` ### Fichier "users.htpasswd" Loading Loading @@ -105,7 +105,7 @@ cp -n database.local.php.dist database.local.php ### Configuration PHP pour le WS 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` : `/etc/php/7.4/fpm/conf.d/90-app.ini` : display_errors = Off ... Loading composer.json +9 −7 Original line number Diff line number Diff line Loading @@ -9,20 +9,22 @@ } ], "config": { "process-timeout": 5000 "process-timeout": 5000, "allow-plugins": { "zendframework/zend-component-installer": true, "zfcampus/zf-asset-manager": true } }, "require": { "php": "^7.3.0", "zendframework/zend-component-installer": "^1.0 || ^0.6 || ^1.0.0-dev@dev", "php": "^7.4.0", "zfcampus/zf-apigility": "^1.3", "zfcampus/zf-apigility-documentation": "^1.2.3", "zfcampus/zf-asset-manager": "^1.0", "zfcampus/zf-apigility-documentation": "^1.2", "zfcampus/zf-composer-autoloading": "^1.0", "zfcampus/zf-development-mode": "^3.0", "zfcampus/zf-apigility-doctrine": "^2.1", "doctrine/doctrine-orm-module": "^1.1", "zendframework/zend-console": "^2.7", "unicaen/oracle": "^1.2", "unicaen/oracle": "^3.0", "doctrine/common": "^2.7", "zendframework/zend-mvc-console": "^1.2", "zendframework/zend-log": "^2.11", Loading @@ -31,7 +33,7 @@ }, "require-dev": { "zendframework/zend-developer-tools": "^1.1", "zfcampus/zf-apigility-admin": "^1.5.9", "zfcampus/zf-apigility-admin": "^1.5", "zfcampus/zf-deploy": "^1.2", "squizlabs/php_codesniffer": "^3.3", "phpunit/phpunit": "^6.5", Loading composer.lock +675 −117 File changed.Preview size limit exceeded, changes collapsed. Show changes doc/release-notes/v2.1.0.md +103 −7 Original line number Diff line number Diff line Version 2.1.0 ============= Serveur d'application --------------------- Il faut passer en version 7.4 de PHP. - Installation des modules PHP ```bash export PHP_VERSION=7.4 apt-get install -y \ php${PHP_VERSION} \ php${PHP_VERSION}-bcmath \ php${PHP_VERSION}-curl \ php${PHP_VERSION}-dev \ php${PHP_VERSION}-fpm \ php${PHP_VERSION}-gd \ php${PHP_VERSION}-gettext \ php${PHP_VERSION}-iconv \ php${PHP_VERSION}-imagick \ php${PHP_VERSION}-intl \ php${PHP_VERSION}-ldap \ php${PHP_VERSION}-mbstring \ php${PHP_VERSION}-memcached \ php${PHP_VERSION}-mysql \ php${PHP_VERSION}-opcache \ php${PHP_VERSION}-pgsql \ php${PHP_VERSION}-soap \ php${PHP_VERSION}-xdebug \ php${PHP_VERSION}-xml \ php${PHP_VERSION}-zip \ php${PHP_VERSION}-cli \ php${PHP_VERSION}-common \ php${PHP_VERSION}-json \ php${PHP_VERSION}-opcache \ php${PHP_VERSION}-readline && \ update-alternatives --set php /usr/bin/php${PHP_VERSION} apt-get purge \ php7.0-common \ php7.1-common \ php7.2-common \ php7.3-common \ php8.0-common \ php8.1-common ``` - Mise à jour de la config Apache du site ```bash nano /etc/apache2/sites-enabled/sygal-import-ws-ssl.conf # (mettez à jour si besoin le chemin de la socket FPM, cf. balise `SetHandler`) systemctl reload php${PHP_VERSION}-fpm systemctl reload apache2 ``` - Réinstallation du module OCI8 ```bash # Désinstallation pecl uninstall oci8 # Obtention des ressources 'instantclient-*' (image Docker Unicaen) 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} cp resources/instantclient-basiclite-linux.x64-18.5.0.0.0dbru.zip /tmp/ cp resources/instantclient-sdk-linux.x64-18.5.0.0.0dbru.zip /tmp/ cp resources/instantclient-sqlplus-linux.x64-18.5.0.0.0dbru.zip /tmp/ # Installation export OCI8_PACKAGE="oci8-2.2.0" export PHP_CONF_DIR=/etc/php/${PHP_VERSION} unzip -o /tmp/instantclient-basiclite-linux.x64-18.5.0.0.0dbru.zip -d /usr/local/ && \ unzip -o /tmp/instantclient-sdk-linux.x64-18.5.0.0.0dbru.zip -d /usr/local/ && \ unzip -o /tmp/instantclient-sqlplus-linux.x64-18.5.0.0.0dbru.zip -d /usr/local/ && \ ln -sf /usr/local/instantclient_18_5 /usr/local/instantclient && \ ln -sf /usr/local/instantclient/sqlplus /usr/local/bin/sqlplus && \ echo 'instantclient,/usr/local/instantclient' | pecl install ${OCI8_PACKAGE} && \ echo "extension=oci8.so" > ${PHP_CONF_DIR}/fpm/conf.d/30-php-oci8.ini && \ echo "extension=oci8.so" > ${PHP_CONF_DIR}/cli/conf.d/30-php-oci8.ini && \ echo "/usr/local/instantclient" > /etc/ld.so.conf.d/oracle-instantclient.conf && ldconfig systemctl reload php${PHP_VERSION}-fpm systemctl reload apache2 ``` Base de données --------------- ### Apogée ET Physalis ### Apogée & Physalis ```sql alter table SYGAL_INDIVIDU_V2 add COD_PAY_NAT varchar2(5) ; Loading @@ -14,6 +103,9 @@ alter table SYGAL_THESE_V2 add COD_DIS varchar2(10) ; ### Apogée ```sql -- -- Structures : correction 'nvl(etb.lib_web_etb, etb.lib_etb)' oublié créant des doublons. -- create or replace view V_SYGAL_STRUCTURE_V2 as select edo.cod_nat_edo as source_code, --id unique Loading Loading @@ -60,7 +152,7 @@ select 'etablissement' as TYPE_STRUCTURE_ID, -- Type de structure etb.cod_etb as id, -- Id unique null as sigle, -- etb.lib_etb as libelle, -- Libelle nvl(etb.lib_web_etb, etb.lib_etb) as libelle, -- Libelle pay.cod_pay as code_pays, -- Code pays pay.lib_pay as libelle_pays -- Libelle pays from etablissement etb Loading Loading @@ -133,12 +225,15 @@ from etablissement etb ths.cod_ths_trv = '1' -- travaux exclus left join pays pay on pay.cod_pay = etb.cod_pay_adr_etb where per.tem_ext_int_per = 'X' / ; ``` ### Physalis ```sql -- -- Correction erreur de distinct(). -- CREATE or replace VIEW "API_SCOLARITE"."V_SYGAL_INDIVIDU_V2" ("ID", "SOURCE_CODE", "TYPE", "SOURCE_ID", "CIV", "LIB_NOM_PAT_IND", "LIB_NOM_USU_IND", "LIB_PR1_IND", "LIB_PR2_IND", "LIB_PR3_IND", "EMAIL", "DATE_NAI_IND", "LIB_NAT", "COD_PAY_NAT", "SUPANN_ID") AS SELECT distinct( i.pers_id) as ID, Loading Loading @@ -290,12 +385,13 @@ WHERE-- T.ID_THESE = 13 -- a modifier Sources PHP ----------- Sur le serveur, placez-vous dans le répertoire du web service (sans doute `/var/www/sygal-import-ws`) Sur le serveur d'application, 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 2.1.0 && 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` Rechargez le service PHP-FPM : ```bash service php{PHP_VERSION}-fpm reload ``` Loading
CHANGELOG.md +5 −3 Original line number Diff line number Diff line Loading @@ -3,9 +3,11 @@ Journal des modifications 2.1.0 ----- - Service 'thèse' : inclusion du code SISE de la discipline. - Service 'individu' : inclusion du code pays de nationalité. - Correction mineure de vues (Oracle ou Physalis). - Service 'thèse' : ajout du code SISE de la discipline. - Service 'individu' : ajout du code pays de nationalité. - Service 'structure' : correction d'un nvl(etb.lib_web_etb, etb.lib_etb)' oublié créant des doublons. - Correction d'une vue pour Physalis. - Passage à PHP 7.4. 2.0.0 ----- Loading
INSTALL.md +6 −6 Original line number Diff line number Diff line Loading @@ -34,7 +34,7 @@ traduit en bash.) Lancez le script `Dockerfile.sh` : ```bash cd /app bash Dockerfile.sh 7.0 bash Dockerfile.sh 7.4 ``` Ensuite, vérifiez et ajustez si besoin sur votre serveur les fichiers de configs suivants, Loading @@ -46,11 +46,11 @@ créés par le script `Dockerfile.sh` : - ${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`. `APACHE_CONF_DIR=/etc/apache2` et `PHP_CONF_DIR=/etc/php/7.4`. ### Installation d'une version précise du WS Normalement, vous ne devez installer que les versions officielles du WS, c'est à dire les versions taguées, du genre `2.0.0` Normalement, vous ne devez installer que les versions officielles du WS, c'est à dire les versions taguées, du genre `2.1.0` par exemple. Placez-vous dans le répertoire des sources du web service puis lancez les commandes git suivantes pour obtenir la liste des Loading @@ -59,10 +59,10 @@ versions officielles du WS : git fetch && git fetch --tags && git tag ``` Si la version la plus récente est par exemple la `2.0.0`, utilisez les commandes suivantes pour "installer" cette version Si la version la plus récente est par exemple la `2.1.0`, utilisez les commandes suivantes pour "installer" cette version sur votre serveur : ```bash git checkout --force 2.0.0 && bash install.sh git checkout --force 2.1.0 && bash install.sh ``` ### Fichier "users.htpasswd" Loading Loading @@ -105,7 +105,7 @@ cp -n database.local.php.dist database.local.php ### Configuration PHP pour le WS 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` : `/etc/php/7.4/fpm/conf.d/90-app.ini` : display_errors = Off ... Loading
composer.json +9 −7 Original line number Diff line number Diff line Loading @@ -9,20 +9,22 @@ } ], "config": { "process-timeout": 5000 "process-timeout": 5000, "allow-plugins": { "zendframework/zend-component-installer": true, "zfcampus/zf-asset-manager": true } }, "require": { "php": "^7.3.0", "zendframework/zend-component-installer": "^1.0 || ^0.6 || ^1.0.0-dev@dev", "php": "^7.4.0", "zfcampus/zf-apigility": "^1.3", "zfcampus/zf-apigility-documentation": "^1.2.3", "zfcampus/zf-asset-manager": "^1.0", "zfcampus/zf-apigility-documentation": "^1.2", "zfcampus/zf-composer-autoloading": "^1.0", "zfcampus/zf-development-mode": "^3.0", "zfcampus/zf-apigility-doctrine": "^2.1", "doctrine/doctrine-orm-module": "^1.1", "zendframework/zend-console": "^2.7", "unicaen/oracle": "^1.2", "unicaen/oracle": "^3.0", "doctrine/common": "^2.7", "zendframework/zend-mvc-console": "^1.2", "zendframework/zend-log": "^2.11", Loading @@ -31,7 +33,7 @@ }, "require-dev": { "zendframework/zend-developer-tools": "^1.1", "zfcampus/zf-apigility-admin": "^1.5.9", "zfcampus/zf-apigility-admin": "^1.5", "zfcampus/zf-deploy": "^1.2", "squizlabs/php_codesniffer": "^3.3", "phpunit/phpunit": "^6.5", Loading
doc/release-notes/v2.1.0.md +103 −7 Original line number Diff line number Diff line Version 2.1.0 ============= Serveur d'application --------------------- Il faut passer en version 7.4 de PHP. - Installation des modules PHP ```bash export PHP_VERSION=7.4 apt-get install -y \ php${PHP_VERSION} \ php${PHP_VERSION}-bcmath \ php${PHP_VERSION}-curl \ php${PHP_VERSION}-dev \ php${PHP_VERSION}-fpm \ php${PHP_VERSION}-gd \ php${PHP_VERSION}-gettext \ php${PHP_VERSION}-iconv \ php${PHP_VERSION}-imagick \ php${PHP_VERSION}-intl \ php${PHP_VERSION}-ldap \ php${PHP_VERSION}-mbstring \ php${PHP_VERSION}-memcached \ php${PHP_VERSION}-mysql \ php${PHP_VERSION}-opcache \ php${PHP_VERSION}-pgsql \ php${PHP_VERSION}-soap \ php${PHP_VERSION}-xdebug \ php${PHP_VERSION}-xml \ php${PHP_VERSION}-zip \ php${PHP_VERSION}-cli \ php${PHP_VERSION}-common \ php${PHP_VERSION}-json \ php${PHP_VERSION}-opcache \ php${PHP_VERSION}-readline && \ update-alternatives --set php /usr/bin/php${PHP_VERSION} apt-get purge \ php7.0-common \ php7.1-common \ php7.2-common \ php7.3-common \ php8.0-common \ php8.1-common ``` - Mise à jour de la config Apache du site ```bash nano /etc/apache2/sites-enabled/sygal-import-ws-ssl.conf # (mettez à jour si besoin le chemin de la socket FPM, cf. balise `SetHandler`) systemctl reload php${PHP_VERSION}-fpm systemctl reload apache2 ``` - Réinstallation du module OCI8 ```bash # Désinstallation pecl uninstall oci8 # Obtention des ressources 'instantclient-*' (image Docker Unicaen) 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} cp resources/instantclient-basiclite-linux.x64-18.5.0.0.0dbru.zip /tmp/ cp resources/instantclient-sdk-linux.x64-18.5.0.0.0dbru.zip /tmp/ cp resources/instantclient-sqlplus-linux.x64-18.5.0.0.0dbru.zip /tmp/ # Installation export OCI8_PACKAGE="oci8-2.2.0" export PHP_CONF_DIR=/etc/php/${PHP_VERSION} unzip -o /tmp/instantclient-basiclite-linux.x64-18.5.0.0.0dbru.zip -d /usr/local/ && \ unzip -o /tmp/instantclient-sdk-linux.x64-18.5.0.0.0dbru.zip -d /usr/local/ && \ unzip -o /tmp/instantclient-sqlplus-linux.x64-18.5.0.0.0dbru.zip -d /usr/local/ && \ ln -sf /usr/local/instantclient_18_5 /usr/local/instantclient && \ ln -sf /usr/local/instantclient/sqlplus /usr/local/bin/sqlplus && \ echo 'instantclient,/usr/local/instantclient' | pecl install ${OCI8_PACKAGE} && \ echo "extension=oci8.so" > ${PHP_CONF_DIR}/fpm/conf.d/30-php-oci8.ini && \ echo "extension=oci8.so" > ${PHP_CONF_DIR}/cli/conf.d/30-php-oci8.ini && \ echo "/usr/local/instantclient" > /etc/ld.so.conf.d/oracle-instantclient.conf && ldconfig systemctl reload php${PHP_VERSION}-fpm systemctl reload apache2 ``` Base de données --------------- ### Apogée ET Physalis ### Apogée & Physalis ```sql alter table SYGAL_INDIVIDU_V2 add COD_PAY_NAT varchar2(5) ; Loading @@ -14,6 +103,9 @@ alter table SYGAL_THESE_V2 add COD_DIS varchar2(10) ; ### Apogée ```sql -- -- Structures : correction 'nvl(etb.lib_web_etb, etb.lib_etb)' oublié créant des doublons. -- create or replace view V_SYGAL_STRUCTURE_V2 as select edo.cod_nat_edo as source_code, --id unique Loading Loading @@ -60,7 +152,7 @@ select 'etablissement' as TYPE_STRUCTURE_ID, -- Type de structure etb.cod_etb as id, -- Id unique null as sigle, -- etb.lib_etb as libelle, -- Libelle nvl(etb.lib_web_etb, etb.lib_etb) as libelle, -- Libelle pay.cod_pay as code_pays, -- Code pays pay.lib_pay as libelle_pays -- Libelle pays from etablissement etb Loading Loading @@ -133,12 +225,15 @@ from etablissement etb ths.cod_ths_trv = '1' -- travaux exclus left join pays pay on pay.cod_pay = etb.cod_pay_adr_etb where per.tem_ext_int_per = 'X' / ; ``` ### Physalis ```sql -- -- Correction erreur de distinct(). -- CREATE or replace VIEW "API_SCOLARITE"."V_SYGAL_INDIVIDU_V2" ("ID", "SOURCE_CODE", "TYPE", "SOURCE_ID", "CIV", "LIB_NOM_PAT_IND", "LIB_NOM_USU_IND", "LIB_PR1_IND", "LIB_PR2_IND", "LIB_PR3_IND", "EMAIL", "DATE_NAI_IND", "LIB_NAT", "COD_PAY_NAT", "SUPANN_ID") AS SELECT distinct( i.pers_id) as ID, Loading Loading @@ -290,12 +385,13 @@ WHERE-- T.ID_THESE = 13 -- a modifier Sources PHP ----------- Sur le serveur, placez-vous dans le répertoire du web service (sans doute `/var/www/sygal-import-ws`) Sur le serveur d'application, 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 2.1.0 && 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` Rechargez le service PHP-FPM : ```bash service php{PHP_VERSION}-fpm reload ```