Esup-Signature

Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

Installation

Exemple sous debian :

Bloc de code
languagebash
themeRDark
apt install postgresql

Configuration

Dans /etc/postgresql/<XX>/main/pg_hba.conf ajout de :

Bloc de code
languagebash
themeRDark
host    all all     

L'ensemble des données est stocké dans une base de données, images comprises, cela nous a ammené à utiliser PostgreSQL (et non MySQL) pour ses possibilités de streaming sur les blobs.

Sous debian :

...

apt-get install postgresql

dans pg_hba.conf : ajout de

...

127.0.0.1/32

...

    password

Redémarrage de postgresql

Bloc de code
languagebash
themeRDark
systemctl restart postgresql.service

Création de la base

...


Bloc de code
languagebash
themeRDark
su

...

 postgres

...


psql

...


create database esupsignature;

...


create USER esupsignature with

...

 password 'esup';

...


grant ALL ON DATABASE esupsignature to esupsignature;

...

Cette application a été dévelopée en utilisant Spring ROO et donc ses technologies associées.


# Chgt du owner requis à partir de postgresql 15 -> permission création des tables
ALTER DATABASE esupsignature OWNER TO esupsignature;

Ajustements

L'application a été développée avec la fonction de Comme annoncé ci-dessus, l'application a cependant été développée avec PostgreSQL : lecture/écriture des blobs dans une transaction par streaming ; idexation postgresql (usage de tsvector/tsquery).de PostgreSQL. CF https://www.postgresql.org/docs/11/static/lo.html

Pour une bonne gestion des blob de cette application, il faut ajouter dans PostgreSQL un trigger sur la base de données sur la table big_file. La fonction lo_manage est nécessaire ici.

Sous debian :

Bloc de code
languagebash
themeRDark
apt-

...

get install

...

 postgresql-contrib

Puis la création de l'extension lo se fait via un super-user:

avec postgresql 9 :

...

apt-get install postgresql-contrib
psql
\c esupsgc
CREATE EXTENSION lo;

Et enfin ajout du trigger (afin que les tables soient préalablement créées, notamment la table big_file sur lequel on souhaite mettre le trigger lo_manage, il faudra avant celà démarrer une fois esup-sgc (avec le paramètre 'create' dans le database.properties)) :

Bloc de code
languagesql
themeRDark
su postgres
psql
\c esupsignature
CREATE EXTENSION lo;

Pour vérifier que l'extension est bien installée (toujours dans psql)

Bloc de code
languagesql
themeRDark
esupsignature=# \dx  

Retourne :

Bloc de code
languagesql
themeRDark
Liste des extensions installées
Nom   | Version |   Schéma   |         Description
---------+---------+------------+------------------------------
 lo      | 1.1     | public     | Large Object maintenance
 plpgsql | 1.0     | pg_catalog | PL/pgSQL procedural language
(2 lignes) 


Astuce

Après cette étape, il faut passer directement à la phase Configuration. La suite se passera après le premier démarrage de l'application


...

Enfin, seulement après avoir démarré une première fois esup-signature, ajout du trigger à l'aide du script suivant : 

Bloc de code
languagesql
themeRDark
CREATE TRIGGER t_big_file BEFORE UPDATE OR DELETE ON big_file FOR EACH ROW EXECUTE PROCEDURE 

...

lo_manage(binary_file);

...

CF https://www.postgresql.org/docs/9.4/static/lo.html

...