esup-papercut
Pages enfant
  • Esup-papercut

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.

...

Pour fonctionner, esup-papercut requiert :

  • un serveur CAS pour l'authentification / identification
  • la solution Papercut 
    • que celle-ci soit installée et en production dans l'établissement, 
    • que celle-ci utilise des comptes dont les identifiants sont connus par CAS, 
    • que son Web Service soit accessible depuis esup-papercut - IP déclaré dans le back-end papercut et token d'authentification connu de esup-papercut
  • un compte paybox ou PayIzly est requis si vous souhaitez proposer la fonctionnalité de paiement en ligne
    • des paramètres d'identification de ce compte doivent être renseignés dans esup-papercut
    • pour paybox, esup-papercut utilise l'intégration paybox version hmac (sans module cgi) - il faut donc un compte paybox avec un hmac de configuré.
      Actuellement (contrainte paybox, cf documentation paybox ManuelIntegrationPayboxSystem_V6.1_FR.pdf fin de la page 18) si vous avez un compte paybox utilisé par une application faisant de l'intégration paybox version "module cgi" (ancienne méthode d'intégration), vous ne pouvez pas utiliser celui-ci (il faudra ouvrir un compte paybox supplémentaire). 

...

  • Consultation du nombre d'impressions et quota restant.
  • Formulaires de paiements avec montants prédéfinis (bornés par l'administrateur au travers des préférences portlet) redirigeant sur un formulaire paybox.
  • Textes personnailisables via des préférences portlet.
  • Support de la publication portlet mutiple dans un portail avec des préférences portlets différentes.
  • Vue mobile
  • Historique des paiements pour un utilisateur.
  • Historique des paiements pour l'ensemble des utilisateurs avec système d'archivage (l'admin peut maximiser le montant cumulé par utilisateur via une préférence portlet).
  • Export des paiements en CSV


Configurations

Papercut / Paybox

Le fichier src/main/resources/esup-papercut.properties permet de rentrer les properties contient l'ensemble des confgiurations applicatives : base de données, mail, configurations nécessaires à la fois à PapercuPapercut, Paybox et IzlyPay.

Le fichier src/main/resources/logback.xml quant à lui permet de configurer les logs.

Ce sont ces 2 fichiers que vous devrez modifier pour installer esup-papercut.

esup-papercut peut proposée au travers d'une même instance des contextes d'usages différentes avec des configurations différentes (un esup-papercut un contexte de test et un de production par exemple).
Un contexte test est proposé par défaut ; il est défini dans src/main/resources/esup-papercut.properties comme l'ensemble des autres configurtations (mises à part les logs donc).

Configurations générales

Base de données

esup-papercut utilise une base de données pour stocker (historiser) l'ensemble des transactions effectuées par l'utilisateur. 

Les paramètres de la base sont à donner dans  src/main/resources/esup-papercut.properties :

Bloc de code
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost:5432/esuppapercut
spring.datasource.username=esuppapercut
spring.datasource.password=esup


La base créée, la construction de la table peut se faire en démarrant une première fois esup-papercut avec dans src/main/resources/esup-papercut.properties le paramètre hibernate.hbm2ddl.auto à create.

Une fois ce premier démarrage effectué et donc la table créée, remettez hibernate.hbm2ddl.auto à update afin que la base ne soit pas écrasée à chaque redémarrage

Une base postgresql est conseillée - ne serait-ce que par rapport aux requêtes utilisées pour réaliser les graphiques / courbes de statistiques ; par défaut ces requêtes sont propres à postgresql, cf ci-dessous.

Graphiques / courbes de statistiques

Attention, les graphiques (courbes) des statistiques sont construits grâce à des requêtes SQL qui sont liées au SGBD : nous n'avons pas pu développer de requêtes SQL indépendant du SGBD utilisé.

Ces requêtes peuvent être paramétrées lors de la publication de la portlet via les préférences portlet. Si vous utilisez PostgreSQL, vous pouvez laisser ces préférences par défaut, sinon il faut les adapater en regardant https://github.com/EsupPortail/esup-papercut/blob/master/src/main/java/org/esupportail/papercut/domain/PayboxPapercutTransactionLog.java pour voir les requêtes postgresql à adapter.

Ainsi requeteNbTransactions correspond en postgresql à : 

Bloc de code
languagesql
SELECT date_part('year',transaction_date) as year, date_part('month',transaction_date) as month, count(*) as count FROM pay_papercut_transaction_log WHERE papercut_context=:papercutContext GROUP BY year, month ORDER BY year,month


Info
titleAppel à contribution ...

Si vous adaptez ces requêtes à d'autres SGBD comme MySQL par exemple, n'hésitez pas à nous les partager.

CAS

Dans src/main/resources/esup-papercut.properties :

Bloc de code
cas.key=EsupPapercutCAsUnivVille
cas.url=https://cas.univ-ville.fr
cas.service=https://esup-papercut.univ-ville.fr


Configurations par contexte 

Mis à part esup.default-context qui permet de définir le contexte par défaut à afficher à l'utilisateur (sachant qu'un contexte n'est proposée par défaut.Configs paybox dans applicationContextEsupPapercut.xmlque si l'utilisateur y a le rôle de USER, MANAGER ou ADMIN), toutes les autres configurations sont données par contexte.

esup.contexts.test.title correspond ainsi au titre à afficher par le contexte test de votre instance esup-papercut.

Configurations paybox

  • site : numéro de SITE paybox (7 chiffres)

  • rang : numéro de RANG paybox (2 chiffres)
  • identifiant : numéro d’identifiant Paybox (1 à 9 chiffres)
  • devise : numéro de la devise (978 pour l'euro)
  • forwardServerUrl: url utilisée pour construire l'url portail sur la portlet esup-papercut pour la redirection de l'utilisateur après paiement sur paybox
  • reponseServerUrl: url utilisée pour construire
    • l'url de callback donnée à paybox : en /esup-papercut/servlet/payboxcallback
    • et l'url portail sur la portlet esup-papercut pour la redirection de l'utilisateur après paiement sur paybox si forwardServerUrl n'est pas défini.
  • payboxActionUrls: urls d'appel pour effectuer les transactions paybox
    • en production, pensez à supprimer l'url de test de paybox en preprod-tpeweb
    • paybox propose plusieurs urls pour redonder leurs services ; esup-papercut utilise la première url qui répond pour la proposer à l'utilisateur (un test de connexion est effectué)
  • payboxServersIP : esup-papercut vérifie sur l'url de callback que le client correspond bien à une de ces IP (paybox)
  • derPayboxPublicKeyFile : clef publique de paybox permettant de décoder la signature envoyée par paybox
  • hmacKey : clef privée (secrète) du compte paybox permettant à esup-papercut de construire le hmac contenant les paramètres du paiement (site, rang, identifiant, devise, montant, url de callback, ...), celui-ci est envoyé avec les paramètres non cryptés (et dans un ordre bien défini) à paybox via le client (post http)

...

Configurations papercut 

  • server : serveur papercut présentant un accès HTTP(S) pour appel du Web Service
  • port : port du serveur papercut présentant un accès HTTP(S) pour appel du Web Service
  • authToken : token (secret) partagé avec papaercut (configuration disponible dans papercut).
  • accountName: préférence portlet accountName - à définir lors de l'utilisation de Papercut avec l'option "comptes multiples" activée.

...

  • papercutUserUidAttr : attribut correspondant à l'identifiant de l'utilisateur dans papercut 
  • userEmail : non utilisé pour l'instant
  • paperCutContext : la configuration papercut/paybox à utiliser - voir paragraphe ci-dessus.
  • validatePayboxJustWithRedirection : permet de valider le paiement paybox via l'interraction navigateur client -> ENT (en plus de paybox -> ENT) : nous conseillons de le laisser à false en production.
  • esupPapercutAdmin : groupe de l'ENT ayant accès à l'historique des transactions de tous les utilisateurs. 
  • htmlHeader : texte html en entête de portlet
  • htmlFooter : texte html en "pied de page" de portlet
  • payboxMontantMin : montant minimum proposé pour paiement paybox
  • payboxMontantMax : montant maximum proposé pour paiement paybox
  • payboxMontantStep : intervalle de la barre de sélection du montant
  • payboxMontantDefaut  : montant proposé par défaut pour paiement paybox

Base de données

esup-papercut utilise une base de données pour stocker (historiser) l'ensemble des transactions effectuées par l'utilisateur.

La configuration est à effectuer dans src/main/resources/META-INF/spring/database.properties

La base créée, la construction de la table peut se faire en démarrant une première fois esup-papercut avec dans src/main/resources/META-INF/persistence.xml le paramètre hibernate.hbm2ddl.auto à create.
Une fois ce premier démarrage effectué et donc la table créée, remettez hibernate.hbm2ddl.auto à update (afin que la base ne soit pas écrasée à chaque redémarrage !). 

Graphiques / courbes de statistiques

Attention, les graphiques (courbes) des statistiques sont construits grâce à des requêtes SQL qui sont liées au SGBD : nous n'avons pas pu développer de requêtes SQL indépendant du SGBD utilisé.

Ces requêtes peuvent être paramétrées lors de la publication de la portlet via les préférences portlet. Si vous utilisez PostgreSQL, vous pouvez laisser ces préférences par défaut, sinon il faut les adapater en regardant https://github.com/EsupPortail/esup-papercut/blob/master/src/main/java/org/esupportail/papercut/domain/PayboxPapercutTransactionLog.java pour voir les requêtes postgresql à adapter.

Ainsi requeteNbTransactions correspond en postgresql à : 

Bloc de code
languagesql
SELECT date_part('year',transaction_date) as year, date_part('month',transaction_date) as month, count(*) as count FROM paybox_papercut_transaction_log GROUP BY year, month ORDER BY year,month
Info
titleAppel à contribution ...

Si vous adaptez ces requêtes à d'autres SGBD comme MySQL par exemple, n'hésitez pas à nous les partager.

...

Copies d'écran

Galerie

Documentations papercut - paybox

...