Code source wiki de Accueil Hypercerts

Version 24.1 par dufour18 le 23/07/2020 - 09:30

Afficher les derniers auteurs
1 Vous cherchez à délivrer aux étudiants de votre université des attestations de réussite dématérialisées ? Hypercerts vous permettera de générer et envoyer des attestations officielles, numériques, et infalsifiable de façon automatique.
2
3 Ces dernières pourront être envoyées par mail, déposées dans le nuage, et même être certifiées authentiques et intègres grâce à une blockchain dédiée.
4
5 Une fois l'application connectée à Apogée et au LDAP, les gestionnaires de composantes pourront demander la génération et l'envoi des attestations de réussite en un clic.
6
7 {{info}}
8 La version 1.0.x est une première version limitée à l'envoi des attestations par email. Bien que le cœur de l'application soit fonctionnel, les dépôts de documents dans les coffres digisposte et la certification cryptographique sont en cours de dévelopement actif.
9 {{/info}}
10
11 == Prérequis ==
12
13 Hypercerts est une application Java qui se connecte à Apogée et au LDAP. Elle requiert l'utilisation d'une base MariaDB pour son fonctionnement interne. Elle se déploie sur des serveurs comme une application SpringBoot classique. Le WAR pourra être pris en charge par un tomcat et servir les utilisateur•ices via l'URL configuré.
14
15 |=(((
16 Technologie
17 )))|=(((
18 Version
19 )))
20 |(((
21 JDK
22 )))|(((
23 11+
24 )))
25 |(% colspan="1" %)(((
26 SpringBoot
27 )))|(% colspan="1" %)(((
28 2.3
29 )))
30 |(% colspan="1" %)(((
31 Vaadin (Frontend)
32 )))|(% colspan="1" %)(((
33 14
34 )))
35 |(((
36 Tomcat
37 )))|(((
38 9+
39 )))
40 |(% colspan="1" %)(((
41 MariaDB
42 )))|(% colspan="1" %)(((
43 14+
44 )))
45 |(% colspan="1" %)(((
46 Maven
47 )))|(% colspan="1" %)(((
48 3.6+
49 )))
50 |(% colspan="1" %)(((
51 Connection Apogée
52 )))|(% colspan="1" %)(((
53 \\
54 )))
55 |(% colspan="1" %)(((
56 Connection Apogée via WS
57 )))|(% colspan="1" %)(((
58 \\
59 )))
60 |(% colspan="1" %)(((
61 Connection LDAP
62 )))|(% colspan="1" %)(((
63 \\
64 )))
65 |(% colspan="1" %)(((
66 Docker (optionnel)
67 )))|(% colspan="1" %)(((
68 docker-compose 3
69 )))
70
71 == Téléchargement des sources ==
72
73 Provisoirement, les sources de l'application peuvent être téléchargées à [[cet endroit>>url:http://download-sig.univ-lorraine.fr/home/download-sig/public/hypercerts||shape="rect"]].
74
75 == Personalisation d'Hypercerts ==
76
77 === Configuration l'application ===
78
79 Créer et compléter un fichier **application.yaml** à la racine du projet sur le modèle de **application-sample.yaml**
80
81 === **Éléments de configuration important ** ===
82
83 ==== **Flyway** ====
84
85 **{{status colour="Yellow" title="TODO"/}}
86 **
87
88 ==== Property //app.production// ====
89
90 Pour les tests, mettre **app.production** à false pour obtenir une année supplémentaire (N-2) pour la génération, ainsi des diplômes avec résultats seront plus facilement trouvables.
91
92 En étant à false, cette property autorise également l'interception de tout les mails applicatifs.
93
94 ==== **Envoi de mail** ====
95
96 (% style="color: rgb(0,51,102);" %)__**Sur votre environnement de test/développement**, pour empêcher l'envoi de mails de test en réel, il est conseillé :__
97
98 * d'utiliser un mail catcher ([[https:~~/~~/mailcatcher.me/>>url:https://mailcatcher.me/||shape="rect"]]) en remplacement de votre smtp
99 * ou de configurer l'application pour intercepter tout les mails applicatifs avec ces valeurs :
100 ** **app.production** à false
101 ** **spring.mail.intercept.active** à true
102 ** et **spring.mail.intercept.mails** contenant une ou plusieurs adresses de réception des mails
103
104 ==== WebServices Apogée ====
105
106 {{status colour="Yellow" title="TODO"/}}
107
108 === Configurer et lancer le projet dans Eclipse ===
109
110 * Importer le projet Maven dans eclipse.
111 * Lorsque la configuration est terminée, démarrer l'application en faisant un clic droit sur {{code language="none"}}fr.univlorraine.hypercerts.Application.java{{/code}} et en choisissant 'Run As / Java Application'.
112
113 === Customisation des services ===
114
115 Plusieurs services sont personnalisables en fonction de votre environnement.
116
117 Sous fr.univlorraine.hypercerts.apogee.service.customs :
118
119 * ApogeeUserServiceCustomExample
120 ** Personnalisation de la récupération des adresses mails des utilisateurs Apogée à partir de l'uid LDAP
121 * BlocageServiceCustomExample
122 ** Personnalisation de la récupération des blocages/interdits à partir d'un code étudiant Apogée
123 * ComposanteServiceCustomExample
124 ** Personnalisation de la récupération :
125 *** de toutes les composantes
126 *** des composantes pour un utilisateur à partir de l'uid LDAP
127 *** du nombre de composantes pour un utilisateur à partir de l'uid LDAP
128
129 {{status colour="Yellow" title="TODO"/}}
130
131 === Customisation de Digiposte ===
132
133 //Documentation à venir.//
134
135 === Tâches Maven ===
136
137 * Lancer l'application (hors d'un IDE) :
138
139 {{code language="bash" theme="Eclipse"}}
140 mvn spring-boot:run
141 {{/code}}
142
143 * Lancer les tests :
144
145 {{code language="bash" theme="Eclipse"}}
146 mvn verify
147 {{/code}}
148
149 * Créer le package pour production :
150
151 {{code language="bash" theme="Eclipse"}}
152 mvn clean package -Pproduction
153 {{/code}}
154
155 === Makefile ===
156
157 Un Makefile est également disponible. A la racine, utilisez `make help` pour obtenir les commandes disponibles.
158
159 == Tests unitaires ==
160
161 Pour s'assurez que les résultats d'admission de vos étudiants soient bien correct, et afin d'éviter les faux positifs (donc envoyer une attestation de réussite à un•e étudiant•e non reçu•e aux examens), vous pouvez ajouter vos jeux de données
162
163 {{status colour="Red" title="FONCTIONNEMENT A PRECISER"/}}
164
165 == Mise en service de l'application ==
166
167 \\
168
169 {{section}}
170 {{column width="60%"}}
171 {{recently-updated/}}
172 {{/column}}
173
174 {{column width="5%"}}
175 \\
176 {{/column}}
177
178 {{column width="35%"}}
179 ====== Navigate space ======
180
181 {{locationSearch reference="WebHome"/}}
182
183 {{pagetree/}}
184 {{/column}}
185 {{/section}}