Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V2.1 Release #310

Merged
merged 216 commits into from
Jul 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
216 commits
Select commit Hold shift + click to select a range
93e9242
GitHub Action build sur push
arxit-ygr Jul 20, 2023
967cdd0
Modification GitHub Action build
arxit-ygr Jul 26, 2023
0edc51e
Correction typo GitHub Action build
arxit-ygr Jul 26, 2023
354bced
Préparation de l'environnement de test
arxit-ygr Aug 3, 2023
c806646
Correction environnement de test
arxit-ygr Aug 3, 2023
4c3f97e
Correction environnement de test
arxit-ygr Aug 3, 2023
9687862
Correction identation
arxit-ygr Aug 3, 2023
0c60e70
Correction upload WAR
arxit-ygr Aug 3, 2023
ce252bf
Correction download WAR
arxit-ygr Aug 3, 2023
5b04e99
Correction typo nom fichier Docker Compose
arxit-ygr Aug 3, 2023
b700aa4
Test échec test unitaire
arxit-ygr Aug 3, 2023
fa215e5
Rétablissement modif connecteur
arxit-ygr Aug 3, 2023
65d195c
Passage des actions upload et download artifacts en v3
arxit-ygr Aug 3, 2023
11f352a
Logs Maven en mode silencieux (erreurs uniquement)
arxit-ygr Aug 3, 2023
06deca5
Exécution des tests séparément
arxit-ygr Sep 5, 2023
7995da2
Correction POM Core
arxit-ygr Sep 5, 2023
db6c907
Exécution séparée des tests
arxit-ygr Sep 19, 2023
5e6b2a5
Correction POM Core
arxit-ygr Sep 19, 2023
3bcdbdf
Test tests
arxit-ygr Sep 19, 2023
8a6b4fd
Correction build GitHubActions
arxit-ygr Sep 19, 2023
fcfdcb6
Lancement tests
arxit-ygr Sep 19, 2023
14136c5
Suppression du cache Maven
arxit-ygr Sep 19, 2023
de8e69a
Rebuild avant les tests unitaires (dépendance avec l'interface commune)
arxit-ygr Sep 19, 2023
d0692ea
Rebuild avant les tests d'intégration (dépendance avec l'interface co…
arxit-ygr Sep 19, 2023
2ec0990
Build avant les tests (dépendance avec l'interface commune)
arxit-ygr Sep 19, 2023
0dc98bf
Build avant les tests unitaires et fonctionnels (dépendance avec l'in…
arxit-ygr Sep 19, 2023
a814580
Suppression du batch mode
arxit-ygr Sep 19, 2023
6da1d30
Correction erreur test fonctionnels
arxit-ygr Sep 19, 2023
5a6fa98
Évite un conflit entre les propriétés pour skipper les tests unitaire…
arxit-ygr Sep 19, 2023
b7ff60c
Changement propriété pour passer les tests unitaires
arxit-ygr Sep 19, 2023
92c74e9
Logs silencieux pendant les tests
arxit-ygr Sep 20, 2023
e163480
Renommage fichier config log tests
arxit-ygr Sep 20, 2023
d586794
Évite l'exécution de tous les tests
arxit-ygr Sep 20, 2023
cc8441e
Amélioration tests
arxit-ygr Sep 20, 2023
66a9eb7
Déclenchement tests
arxit-ygr Sep 20, 2023
ca9784c
Correction configuration base de données pour exécution Docker
arxit-ygr Sep 20, 2023
65e45b8
Correction nom server base de données
arxit-ygr Sep 20, 2023
a74791e
Correction tests fonctionnels
arxit-ygr Sep 20, 2023
3703585
Services Docker à démarrer spécifiés explicitement
arxit-ygr Sep 20, 2023
8508ec0
Docker Compose - Ajout d'un healthcheck pour le serveur Tomcat
arxit-ygr Sep 21, 2023
e899238
Github Actions - Ajout d'un délai attendant le démarrage de l'applica…
arxit-ygr Sep 21, 2023
4dc5b0d
GitHub Actions - Debug déploiement application
arxit-ygr Sep 21, 2023
eae2e6b
GitHub Actions - Correction fichier config
arxit-ygr Sep 21, 2023
326b0ab
Correction indentation build.yml
arxit-ygr Sep 21, 2023
940108d
GitHub Actions - Correction nom de fichier WAR téléchargé
arxit-ygr Sep 21, 2023
032567c
GitHub Actions - Récupération des logs Extract
arxit-ygr Sep 21, 2023
3686a1f
GitHub Actions - Récupération des logs Extract même en cas d'échec
arxit-ygr Sep 21, 2023
5fe7470
GitHub Actions - Emplacement logs
arxit-ygr Sep 21, 2023
9227066
GitHub Actions - Création répertoire local logs
arxit-ygr Sep 21, 2023
43082e8
GitHub Actions - Débug logs
arxit-ygr Sep 21, 2023
b0c240d
GitHub Actions - Débug logs
arxit-ygr Sep 21, 2023
c760d86
GitHub Actions - Débug logs
arxit-ygr Sep 21, 2023
df44220
GitHub Actions - Débug logs
arxit-ygr Sep 21, 2023
d7f7b42
GitHub Actions - Débug logs
arxit-ygr Sep 21, 2023
37fac82
GitHub Actions - Débug logs
arxit-ygr Sep 21, 2023
c136672
GitHub Actions - Débug logs
arxit-ygr Sep 21, 2023
014886e
Tests fonctionnels - Changement stratégie attente chargement tables r…
arxit-ygr Sep 21, 2023
5da8dcf
Tests fonctionnels - Changement stratégie attente
arxit-ygr Sep 21, 2023
a9bf9f9
GitHub Actions - Modification attente application Tomcat pour MàJ BDD
arxit-ygr Sep 21, 2023
67ef90a
GitHub Actions - Ajout de flags Docker Compose Up
arxit-ygr Sep 21, 2023
21d96c8
GitHub Actions - Attente de l'application
arxit-ygr Sep 21, 2023
fef9bc8
Docker Compose - Attend que l'application Tomcat soit démarrée pour m…
arxit-ygr Sep 21, 2023
f4f4e26
GitHub Actions - Modification flags Docker Compose Up
arxit-ygr Sep 21, 2023
9667966
Docker Compose - Augmentation tentatives polling application
arxit-ygr Sep 21, 2023
c243349
Docker Compose - Évite l'arrêt du conteneur de mise à jour de la BDD
arxit-ygr Sep 21, 2023
cad6999
Docker Compose - Évite l'arrêt du conteneur de mise à jour de la BDD
arxit-ygr Sep 22, 2023
26eed41
Docker Compose - Évite l'arrêt du conteneur de mise à jour de la BDD
arxit-ygr Sep 22, 2023
cd8b9f4
Docker Compose - Évite l'arrêt du conteneur de mise à jour de la BDD
arxit-ygr Sep 22, 2023
a9604c8
Github Actions - Ajout de libellés pour toutes les actions
arxit-ygr Sep 22, 2023
2f02beb
Docker Compose - Création répertoire données
arxit-ygr Sep 25, 2023
d06c02a
Tests fonctionnels - Debug tables de requêtes non chargées
arxit-ygr Sep 25, 2023
8883181
GitHub Actions - Installation des dépendences JavaScript avant build
arxit-ygr Sep 25, 2023
87f6877
GitHub Actions - Mauvais répertoire courant pour Yarn
arxit-ygr Sep 25, 2023
7fbff55
GitHub Actions - Mauvais répertoire courant pour Yarn
arxit-ygr Sep 25, 2023
6ce0974
GitHub Actions - Correction installation Yarn
arxit-ygr Sep 25, 2023
62d4fea
GitHub Actions - Spécification du chemin du package.json
arxit-ygr Sep 25, 2023
832a832
GitHub Actions - Spécification du chemin du package.json
arxit-ygr Sep 25, 2023
f376ca0
GitHub Actions - Dernière version de NodeJS
arxit-ygr Sep 25, 2023
2752766
#282 - Mise en place structure de tests pour exécution séparées par G…
arxit-ygr Mar 19, 2024
37d872e
#282 - Tests fonctionnels
arxit-ygr Mar 19, 2024
4414cb0
Ignore les fichiers de travail de Yarn
arxit-ygr Mar 19, 2024
35ab28c
Mise à jour des fichiers Yarn à ignorer
arxit-ygr Mar 19, 2024
d739a82
Execution séparée des tests
arxit-ygr Mar 19, 2024
63f3251
FS#22640 - #255 - Implémenter la double authentification
arxit-ygr Mar 19, 2024
32fb399
FS#22645 - #268 - Supprimer le bouton pour afficher la liste des conn…
arxit-ygr Mar 19, 2024
c645120
#218 - Rendre possible la modification de contenu des mails système
arxit-ygr Mar 19, 2024
7250245
#234 - Améliorer la visibilité de la remarque du client
arxit-ygr Mar 19, 2024
ec3c6a1
Détail requête - Amélioration espacement panel standby
arxit-ygr Mar 19, 2024
f7651e7
Ajout des exemples de connecteur et plugin de tâche
arxit-ygr Mar 19, 2024
bcc7de8
#214 - Supprimer l'espace dans le message de ré-initialisation de mot…
arxit-ygr Mar 19, 2024
3c10ffb
#233 - Supprimer un connecteur fait planter la datatable de l’accueil
arxit-ygr Mar 19, 2024
2321df7
#286 - Masquer le mot de passe dans le traitement Extraction FME Server
arxit-ygr Mar 19, 2024
333c4e2
#258 - Améliorer le message d'erreur quand le plugin FME Desktop ne c…
arxit-ygr Mar 19, 2024
1a65e80
#237 - Afficher le dossier des fichiers temporaires d'une commande
arxit-ygr Mar 19, 2024
dbfe513
#202 - Email de rappel si demande en attente de validation depuis > x…
arxit-ygr Mar 19, 2024
6d48fed
#131 - Authentification Active Directory
arxit-ygr Mar 19, 2024
edf6898
Référence au projet d'interface commune aux plugins
arxit-ygr Mar 19, 2024
81a952e
Fichiers manquants
arxit-ygr Mar 19, 2024
e050bd7
Prise en compte des remarques de l'analyseur de code
arxit-ygr Mar 19, 2024
91e87ed
Authentification LDAP - Gestion des utilisateurs
arxit-ygr Mar 19, 2024
25d0fec
2FA : Page utilisateur : déplacer la dropdown d'action
arxit-ygr Mar 19, 2024
8ccaa84
Intégration plugin QGIS Print
arxit-ygr Mar 19, 2024
d5e1e43
QGIS Print - Correctifs + amélioration de la focntion GetFeature (env…
arxit-ygr Mar 19, 2024
aee04a9
gestion de l'authent basique
arxit-ygr Mar 19, 2024
57e0003
2FA - Correction bug en cas d'annulation après login
arxit-ygr Mar 19, 2024
502ec04
Correction plantage en cas de clic sur son profil depuis le détail d'…
arxit-ygr Mar 19, 2024
30a0f1e
Amélioration gestion des secrets
arxit-ygr Mar 19, 2024
93d0425
Correction bug mot de passe réinitialisé dans les tâches
arxit-ygr Mar 19, 2024
b14adf7
S'assure que les paramètres systèmes manquants sont créés avant les b…
arxit-ygr Mar 19, 2024
b827d34
Optimisation code LDAP & limitation duplication code
arxit-ygr Mar 19, 2024
1ba8a11
en cas d'erreur d'appels, l'exception service QGIS est parsé et ajout…
arxit-ygr Mar 19, 2024
4a8271e
Possibilité de supprimer un utilisateur LDAP (pour autant que les aut…
arxit-ygr Mar 19, 2024
9ef2797
Ajout de la propriété définissant la classe des utilisateurs LDAP au …
arxit-ygr Mar 19, 2024
61b6df9
Les utilisateurs LDAP ne peuvent pas demander la réinitialisation de …
arxit-ygr Mar 19, 2024
cbb6203
Mises à jour de la base de données pour la version 2.1
arxit-ygr Mar 19, 2024
306655b
Mise à jour de la documentation pour la version 2.1 Beta 1
arxit-ygr Mar 19, 2024
942b28e
Passage en v2.1 Beta 1
arxit-ygr Mar 19, 2024
4ccb31b
Mise à jour de Yarn et des librairies JS en vue de l'exécution des te…
arxit-ygr Apr 9, 2024
f6492ef
Chemin de l'exécutable pour installer les dépendances JS
arxit-ygr Apr 10, 2024
e516c17
Rend le script executable
arxit-ygr Apr 10, 2024
4dc7dc8
Ajout du fichier de configuration Yarn
arxit-ygr Apr 10, 2024
56cb120
Chemins Yarn et emplacement configuration
arxit-ygr Apr 10, 2024
12c581c
Chemins Yarn
arxit-ygr Apr 10, 2024
0bf3a70
Pas de définition de chemin Yarn
arxit-ygr Apr 10, 2024
fdf6f3c
Intégration des modifications de la v2.1-BETA1
arxit-ygr Apr 10, 2024
239c337
Erreur dans le POM de base (merge ?)
arxit-ygr Apr 10, 2024
02a6c94
Ajout fichiers Java manquants
arxit-ygr Apr 10, 2024
70ae7b0
Encore des fichiers manquants
arxit-ygr Apr 10, 2024
b82c363
Évite les conflits de version Yarn
arxit-ygr Apr 10, 2024
8713a1f
Correction commit manquant (Synchro LDAP)
arxit-ygr Apr 10, 2024
ff13c2a
Turn off Yarn immutable installs
arxit-ygr Apr 10, 2024
589375b
Le fichier de propriétés de l'application n'était pas en UTF-8
arxit-ygr Apr 10, 2024
c0dd034
Plugin QGIS Server - Mise à jour tests unitaires
arxit-ygr Apr 10, 2024
76546ad
Synchronisation LDAP
arxit-ygr Apr 23, 2024
d57325c
Nettoyage code
arxit-ygr May 7, 2024
ce31609
Amélioration de la couverture de tests
arxit-ygr May 7, 2024
950564b
FS#23376 - #302 - Fichier de propriétés en ANSI
arxit-ygr May 7, 2024
3401588
Utilisation des plugins d'action GitHub en version Node 20
arxit-ygr May 7, 2024
57e9d99
Debug problème build GitHub Actions
arxit-ygr May 7, 2024
6c9e487
Filtrage des ressources pour éviter des erreurs de build Maven
arxit-ygr May 7, 2024
9bdb7f7
Ajout LDAP à environnement Docker
arxit-ygr May 7, 2024
6cdc416
Suite mise à jour plugins GitHub Action
arxit-ygr May 7, 2024
de53cdf
Mise à jour référence plugin Docker Compose
arxit-ygr May 7, 2024
3d0232a
Mises à jour Yarn et librairies JS pour assurer fonctionnement des te…
arxit-ygr May 16, 2024
6533e72
Corrections configuration Yarn pour tests GitHub Actions
arxit-ygr May 16, 2024
0d14008
Corrections tests unitaires
arxit-ygr May 16, 2024
f89e399
Nettoyage code
arxit-ygr May 16, 2024
5a2e11b
Amélioration de la couverture de tests
arxit-ygr May 16, 2024
04a96d5
#303 - Géneration du QR code sans passer par l'API Image Charts
arxit-ygr May 16, 2024
ff6461d
TOTP sans librairie externe
arxit-ygr May 16, 2024
f92f58f
#221 - Plugin <pluginName> not found
arxit-ygr May 16, 2024
c5cefbb
#302 - 2.1-BETA.1 : pom.xml et application.properties invalides
arxit-ygr May 16, 2024
292ed86
Réintroduction de la librairie Apache Commons Validator suite à la co…
arxit-ygr May 16, 2024
0c7f96a
#298 - Les requêtes gardent leur statut import
arxit-ygr May 16, 2024
852d8c9
#297 - Il faut réinitialiser le mot de passe des connecteurs easySDI
arxit-ygr May 16, 2024
d344c3d
Modification du mock pour le service 2FA suite à la nouvelle implémen…
arxit-ygr May 16, 2024
de3f570
#301 - 2.1-BETA.1 : Ne peut pas se loguer avec LDAP (Active Directory)
arxit-ygr May 16, 2024
98aeee3
#300 - 2.1-BETA.1 : Configuration LDAP sans synchro, provoque une erreur
arxit-ygr May 16, 2024
c4be0b2
Mise à jour documentation pour v2.1 Beta 2
arxit-ygr May 16, 2024
158c935
Passage en v2.1 Beta 2
arxit-ygr May 16, 2024
945499b
Merge des modifications de la v2.1 Beta 2
arxit-ygr May 16, 2024
616ae52
Tentative de résolution déploiement WAR
arxit-ygr May 17, 2024
42cbc9d
Suppression de la gestion des différents environnements dans le POM d…
arxit-ygr May 17, 2024
95d3f1a
Filtrage des ressources pour éviter les problèmes de build
arxit-ygr May 17, 2024
9f3c4d5
Utilisation du WAR sans renommage (pour debug)
arxit-ygr May 17, 2024
6b171e4
Simplification commande test santé Tomcat
arxit-ygr May 17, 2024
3c7e68b
Récupération des logs Tomcat
arxit-ygr May 17, 2024
a7fd530
Correction chemin logs Tomcat
arxit-ygr May 17, 2024
cba20bb
Modification autorisations logs Tomcat
arxit-ygr May 17, 2024
535d194
Réduction du filtrage des ressources
arxit-ygr May 17, 2024
9ccdc2c
Réduit le timeout de démarrage de l'environnement Docker
arxit-ygr May 23, 2024
a2bde43
S'assure que les utilisateurs créés à l'initialisation de l'applicati…
arxit-ygr May 23, 2024
772db5f
Isole les répertoires utilisés par les tests d'intégration FME Deskto…
arxit-ygr May 23, 2024
a46e472
Correction du chemin de génération des JAR des plugins
arxit-ygr May 23, 2024
76eb348
Mise à jour version actions
arxit-ygr May 23, 2024
dd36512
Désactivation upload logs Tomcat
arxit-ygr May 23, 2024
2292009
Correction problème de droits répertoire commandes
arxit-ygr May 23, 2024
ad4e05c
Modification du répertoire des commandes pour compatibilité avec GitH…
arxit-ygr May 23, 2024
3e24bea
Rend le dummy FME Desktop exécutable
arxit-ygr May 23, 2024
d65bbb2
Chaîne paramètres des requêtes invalide dans les données créées pour …
arxit-ygr May 24, 2024
e415a16
Docker - Attente de l'application pour MàJ BDD déplacée dans le healt…
arxit-ygr May 27, 2024
b4fe565
Docker - Correction Dockerfile UpdateDB suite suppression script wait…
arxit-ygr May 27, 2024
992f963
Docker - Correction Dockerfile UpdateDB suite suppression script wait…
arxit-ygr May 27, 2024
2470864
Remise en place de l'export des logs Tomcat
arxit-ygr May 27, 2024
a280ac2
Remise en place de l'export des logs Tomcat
arxit-ygr May 27, 2024
ef6d250
Remise en place de l'export des logs Tomcat
arxit-ygr May 27, 2024
77d913d
Renommage du fichier WAR buildé puis téléchargé dans le conteneur de …
arxit-ygr May 27, 2024
a2f69d2
Docker - Évite l'arrêt du conteneur de mise à jour de la BDD (-> éche…
arxit-ygr May 27, 2024
5acf1be
Suppression de l'exclusion de la librairie de logs lors des tests fon…
arxit-ygr May 27, 2024
39a9035
Désactivation de l'upload des logs
arxit-ygr May 27, 2024
d631818
Publication du résultat des tests
arxit-ygr May 27, 2024
b78c20e
Erreur de syntaxe
arxit-ygr May 27, 2024
8858bbd
Test autre action de reporting (dorny/test-reporter)
arxit-ygr May 27, 2024
a485929
Test autre action de reporting (dorny/test-reporter)
arxit-ygr May 27, 2024
98aa6ae
Merge branch 'GitHubActions' of https://github.com/arxit-ygr/extract …
arxit-ygr May 27, 2024
0cb5d5d
Test autre action de reporting (dorny/test-reporter)
arxit-ygr May 27, 2024
f69ee24
Test autre action de reporting (dorny/test-reporter)
arxit-ygr May 27, 2024
b58c830
Rapport séparé par type de test
arxit-ygr May 27, 2024
81cf9b7
Tests fonctionnels non inclus dans le rapport de test
arxit-ygr May 27, 2024
d43c566
Correction chemin rapports tests
arxit-ygr May 27, 2024
f18cc30
Exécution des actions lors des Pull Requests (au lieu de chaque push)
arxit-ygr May 27, 2024
9e9dca6
Correction libellé workflow
arxit-ygr May 27, 2024
d1e2187
Corrections tests fonctionnels
arxit-ygr Jun 5, 2024
29c50ce
#304 - 2.1-BETA.1 : QGIS Server print : La clef primaire de selection…
arxit-ygr Jun 5, 2024
bc2ffc2
Amélioration commande renommage WAR
arxit-ygr Jun 6, 2024
28e60b0
Nettoyage logs
arxit-ygr Jun 11, 2024
8e2bb74
Environnement Docker Dev - Ajout conteneurs QGIS Server
arxit-ygr Jun 11, 2024
34f402d
Passage en v2.1 Beta 3
arxit-ygr Jun 11, 2024
1f23b94
Exécution des tests lors des pull requests
arxit-ygr Jun 11, 2024
3916ee6
Correction URL SCM
arxit-ygr Jul 2, 2024
4993d2f
Ajout Dossier Architecture Technique
arxit-ygr Jul 2, 2024
fc1b86e
Suppression de la librairie polyfill.io (compromise)
arxit-ygr Jul 2, 2024
6102368
RememberMeToken - Correction nom clé étrangère
arxit-ygr Jul 2, 2024
4125c8b
Passage en v2.1 Release
arxit-ygr Jul 2, 2024
9b9b649
Exécution des tests pour validation avant PR
arxit-ygr Jul 2, 2024
f049e55
Restauration des tests avant PR
arxit-ygr Jul 2, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
172 changes: 172 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
name: build-extract-actions
run-name: Testing Extract after pull request by ${{ github.actor }}
on:
pull_request:
types: [opened, reopened]

jobs:
build-extract:
runs-on: ubuntu-latest
steps:
- name: Download the code
uses: actions/checkout@v4

- name: Install JDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
cache: maven

- name: Install NodeJS
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm'
cache-dependency-path: extract/package.json

- name: Create folder for Yarn executable
run: mkdir -p /home/runner/work/extract/extract/extract/.yarn/releases
working-directory: /home/runner/work/extract/extract/extract

- name: Enable Corepack
run: corepack enable
working-directory: /home/runner/work/extract/extract/extract

- name: Install Yarn
run: yarn set version stable
working-directory: /home/runner/work/extract/extract/extract

- name: Make dependencies script executable
run: chmod +x install_dependencies.sh
working-directory: /home/runner/work/extract/extract/extract

- name: Allow mutable Yarn installs
run: yarn config set enableImmutableInstalls false
working-directory: /home/runner/work/extract/extract/extract

- name: Install JavaScript dependencies
run: ./install_dependencies.sh
working-directory: /home/runner/work/extract/extract/extract

- name: Build the code
run: mvn -q package -DskipTests=true --batch-mode

- name: Upload artifact for deployment job
uses: actions/upload-artifact@v4
with:
name: java-app
path: '/home/runner/work/extract/extract/extract/target/*.war'

test-extract:
needs: build-extract
runs-on: ubuntu-latest
steps:
- name: Download the code
uses: actions/checkout@v4

- name: Install JDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
cache: maven

- name: Install Chromium (for functional tests)
uses: browser-actions/setup-chrome@v1

- name: Download artifact generated in build job
uses: actions/download-artifact@v4
with:
name: java-app
path: /tmp/

- name: Rename artifact file to version-agnostic name
run: find /tmp -maxdepth 1 -type f -name extract*.war | xargs -I {} mv {} /tmp/extract.war

- name: Create local Extract folders
run: mkdir -p /tmp/log/extract; mkdir -p /tmp/log/tomcat; mkdir -p /tmp/extract/orders

- name: Give all permissions on Extract log folder
run: chmod 0777 /tmp/log/extract

- name: Give all permissions on Extract order folders (to create data during tests)
run: chmod 0777 /tmp/extract/orders

- name: Make FME Desktop dummy executable (for integration tests)
run: chmod +x /home/runner/work/extract/extract/extract/src/test/java/ch/asit_asso/extract/integration/taskplugins/FmeDesktopTest

- name: Running Docker Compose file with test containers (for functional tests)
uses: hoverkraft-tech/compose-action@v1.5.1
with:
compose-file: "./docker-compose-test.yaml"
up-flags: "--wait"

- name: Execute unit tests
run: mvn -q test -Punit-tests --batch-mode --fail-at-end

- name: Execute integration tests
run: mvn -q verify -Pintegration-tests --batch-mode

- name: Wait on Extract application deployment
uses: iFaxity/wait-on-action@v1.1.0
with:
resource: http://localhost:8080/extract/login
interval: 5000
timeout: 150000
verbose: true

- name: Execute functional tests
run: mvn -q verify -Pfunctional-tests --batch-mode

# - name: "Publish test results"
# if: success() || failure()
# uses: scacap/action-surefire-report@v1

- name: "Publish unit tests results"
uses: dorny/test-reporter@v1
if: success() || failure()
with:
name: "Unit tests"
path: "**/surefire-reports/TEST-*.xml"
reporter: "java-junit"

- name: "Publish integration tests results"
uses: dorny/test-reporter@v1
if: success() || failure()
with:
name: "Integration tests"
path: "**/failsafe-reports/TEST-*.integration.*.xml"
reporter: "java-junit"

- name: "Publish functional test results"
uses: dorny/test-reporter@v1
if: success() || failure()
with:
name: "Functional tests"
path: "**/failsafe-reports/TEST-*.functional.*.xml"
reporter: "java-junit"

# - name: Change tomcat log permissions (so we can upload them)
# if: always()
# run: sudo chmod a+r *.*
# working-directory: /tmp/log/tomcat

# - name: Upload tomcat logs
# if: always()
# uses: actions/upload-artifact@v4
# with:
# name: tomcat-logs
# path: /tmp/log/tomcat/

# - name: Change Extract log permissions (so we can upload them)
# if: always()
# run: sudo chmod a+r *.log
# working-directory: /tmp/log/extract

# - name: Upload Extract logs
# if: always()
# uses: actions/upload-artifact@v4
# with:
# name: extract-logs
# path: /tmp/log/extract/
Binary file not shown.
Binary file modified doc/MAN_ASIT_Extract_ManuelExploitation.pdf
Binary file not shown.
Binary file not shown.
Binary file modified doc/MAN_ASIT_Extract_ManuelInstallation.pdf
Binary file not shown.
Binary file not shown.
Binary file modified doc/MAN_ASIT_Extract_ManuelUtilisation.pdf
Binary file not shown.
Binary file not shown.
2 changes: 2 additions & 0 deletions doc/extract-connector-sample/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/target/
/nbproject/
112 changes: 112 additions & 0 deletions doc/extract-connector-sample/getting-started.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
# Extract - Initialiser un nouveau plugin de connecteur

## Introduction

Ce module java est un exemple de plugin de connecteur qui peut être utilisé pour initialiser un nouveau
plugin pour le projet Extract.
Le code source est documenté et permet d'avoir les indications nécessaires pour développer un nouveau plugin,
Il peut être importé dans un nouveau environnement Java, des adaptations sont cependant
nécessaires selon le fonctionnement attendu.

## Pré-requis pour l'utilisation
* OS 64 bits
* Java 17
* Tomcat 9

## Pré-requis pour le développement et la compilation
* Java 17
* [Yarn][Yarn_Site]
* Projet extract-interface (Interface commune pour l'utilisation des plugins connecteurs et tâches)

## Initialisation du nouveau plugin de connecteur.
Le projet doit être un module Java. \
Le projet du nouveau plugin doit définir une dépendance vers le projet extract-interface.\
Les dépendances requises sont définies dans le fichier pom.xml.

Pour initialiser un nouveau plugin, suivre les étapes dans l'ordre :
1. Copier le code du plugin extract-connector-sample vers un workspace java. Le système propose demande de définir un
nouveau nom. Si ce n'est pas le cas, utiliser le menu contextuel (clic droit) `Refactor > Rename`


2. Editer le fichier **pom.xml** du module, remplacer les occurences de `extrat-connector-sample` par le nouveau nom du plugin.
Après un clic droit sur le fichier, choisir l'option `Add as Maven Project`


3. Après un clic droit sur l'espace de nom `ch.asit_asso.extract.connectors.sample`, choisir le menu `Refactor > Rename`.
Saisir le nom de la nouvelle classe permettant d'identifier le plugin. Si l'interface le demande, cliquer sur le bouton
`Add in current Module` afin d'appliquer les changements sur le mode uniquement.
Cela aura pour effet de modifier automatiquement le nom du package dans tous les fichiers du module.


4. Après un clic droit sur le fichier **SampleConnector.java**, choisir le menu `Refactor > Rename` puis saisir le nom
de la nouvelle classe principale du plugin (e.g EasySDIv4). Cela aura pour effet de renommer le fichier et de modifer
toutes les références à cette classe partout où elle est utilisée.


5. Editer le fichier **LocalizedMessages.java** : ajuster la valeur du paramètre LOCALIZED_FILE_PATH_FORMAT qui
correspond au chemin vers le répertoire `lang`


6. vérifier le fichier **module-info.java** en particulier la référence à `SampleConnector`. Vérifier également la ligne 4
de ce fichier (référence à l'espace de nom `ch.asit_asso.extract.connectors.sample`)


7. Vérifier le fichier **resources\META-INF\services\ch.asit_asso.extract.connectors.common.IConnector** en particulier
la cohérence de la classe `ch.asit_asso.extract.connectors.sample.SampleConnector`


8. Après un clic droit sur le dossier **resources\connectors\sample**, choisir le menu `Refactor > Rename`. Saisir
le nouveau nom


9. Editer le fichier **resources\connectors\<connector>\lang\fr\messages.properties**. Modifier ou
ajouter les libellés qui seront utilisés par le code source du plugin. Cette étape peut se faire
de manière progressive pendant le développement


10. Editer le fichier **resources\connectors\<connector>\properties\config.properties**. Ce ficher contient les
paramètres de configuration du plugn utilisés par le code source. Cette étape peut se faire
de manière progressive pendant le développement


11. Le dossier **resources\connectors\<connector>\templates** contient des modèles XML utilisés par le connecteur.
Néanmoins, ils sont spécifiques au connecteur EasySDIv4, le format XML est en effet utilisés comme format d'échange
pour les commandes. Ces fichiers ne serviront sans doute pas pour d'autres types de connecteurs.


## Points important à prendre en compte pendant le développement

Le code source est suffisamment commenté afin d'aider le développeur à développer le
nouveau plugin. Les commentaires en **MAJUSCULE** permettent d'identifer les parties de code ou les fonctions
importantes à mettre à jour.

Il est notamment recommandé d'apporter les modifications suivantes dans la class Connector :
* Ajuster si besoin la variable `CONFIG_FILE_PATH`
* Modifier la valeur du paramètre `code` par une valeur permettant d'identifier le plugin (e.g `EasySDIv4`)

Ensuite, les fonctions à adapter sont celles qui surchargent les fonctions de l'interface
IConnector :
* `getParams` pour définir les paramètres du connecteur. Cette méthode retourne les paramètres
du plugin sous forme de tableau au format JSON. Si le plugin n’accepte pas de paramètres, renvoyer un tableau vide
* `importCommands` qui permet de gérer l'import des commandes effectués par le serveur distant
* `exportResult` qui permet de gérer l'envoi du traitement d'une commande vers le serveur qui l'a produite

Les fonctions privées dans le code permettent de réaliser des traitements utilitaires ou de traiter
les données reçues. Ces fonctions peuvent être addaptées ou supprimées selon le besoin.
Ces fonctions sont bien identifiées dans le code de la classe Connector.

## Installation ou mise à jour du plugin dans EXTRACT

Avant de compiler le connecteur, supprimer le dossier **target**.\
Dès que le connecteur est compilé et que le fichier jar est généré, il suffit de placer le JAR
dans le répertoire **WEB-INF/classes/connectors** de l’application
(contenant tous les plugins de connecteurs).\
En cas de mise à jour, il convient de supprimer le WAR de l’ancienne version afin d’éviter des conflits.

```
Le redémarrage de l’application Tomcat EXTRACT est ensuite requis afin que la
modification des connecteurs soit prise en compte.
```


[Yarn_Site]: https://yarnpkg.com/ "Site du gestionnaire de package Yarn"
21 changes: 21 additions & 0 deletions doc/extract-connector-sample/nb-configuration.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<project-shared-configuration>
<!--
This file contains additional configuration written by modules in the NetBeans IDE.
The configuration is intended to be shared among all the users of project and
therefore it is assumed to be part of version control checkout.
Without this configuration present, some functionality in the IDE may be limited or fail altogether.
-->
<properties xmlns="http://www.netbeans.org/ns/maven-properties-data/1">
<!--
Properties that influence various parts of the IDE, especially code formatting and the like.
You can copy and paste the single properties, into the pom.xml file and the IDE will pick them up.
That way multiple projects can share the same settings (useful for formatting rules for example).
Any value defined here will override the pom.xml file value but is only applicable to the current project.
-->
<org-netbeans-modules-javascript2-requirejs.enabled>true</org-netbeans-modules-javascript2-requirejs.enabled>
<netbeans.hint.license>gpl30</netbeans.hint.license>
<netbeans.compile.on.save>none</netbeans.compile.on.save>
<netbeans.hint.jdkPlatform>Zulu_17.0.1</netbeans.hint.jdkPlatform>
</properties>
</project-shared-configuration>
Loading
Loading