From 7dc41c75a02c8761703c6cc9643228a4b6c76461 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Raya=20D=C3=89CORNOD?= Date: Tue, 21 Jan 2025 17:48:13 +0100 Subject: [PATCH 01/16] convertion Readme de Markdown vers asciidoctor --- README.md => README.adoc | 175 +++++++++++++++++++++------------------ 1 file changed, 93 insertions(+), 82 deletions(-) rename README.md => README.adoc (72%) diff --git a/README.md b/README.adoc similarity index 72% rename from README.md rename to README.adoc index b734834b..37da0db4 100644 --- a/README.md +++ b/README.adoc @@ -1,45 +1,47 @@ -# ESUP Stage += ESUP Stage -ESUP STAGE est la refonte de l'application pStage. L'application a été complètement réécrite pour reprendre et améliorer les grandes et fonctionnalités : produire une convention de stage et ses avenants dans le cadre d'un processus de validation adapté. +ESUP STAGE est la refonte de l'application pStage. L'application a été complètement réécrite pour reprendre et améliorer les grandes et fonctionnalités : produire une convention de stage et ses avenants dans le cadre d'un processus de validation adapté. -## Techno +== Techno * JAVA 11 * NodeJS 14 - -## Integration +== Integration * Build war -~~~shell +[,console] +---- [user@pc ~/git/eStage]$ mvn clean package ... [user@pc ~/git/eStage]$ ls target/*.war target/ROOT.war -[user@pc ~/git/eStage]$ -~~~ +[user@pc ~/git/eStage]$ +---- * Execution devel Cette execution passe par le fichier de configuration "src/main/resources-filtered/application.properties" -~~~shell +[,console] +---- [user@pc ~/git/eStage]$ mvn -Pdev clean package cargo:run ... -~~~ +---- -## Pré-requis +== Pré-requis * la variable appli.data_dir dans estage.properties pointe sur le dossier d'upload du projet. Ce dossier doit contenir la structure suivante : - * `centregestion` - * `consigne-documents` - * `logos` - * `images` - * `signatures` + ** `centregestion` + *** `consigne-documents` + *** `logos` + ** `images` + ** `signatures` Par exemple si `appli.data_dir=/etc/eStage/uploads` on aura : -``` + +---- /etc |_/eStage |_/uploads @@ -48,26 +50,32 @@ Par exemple si `appli.data_dir=/etc/eStage/uploads` on aura : |_/logos |_/images |_/signatures -``` +---- -## CAS +== CAS Par défaut, l'application attend du serveur CAS une réponse au format JSON. Si le serveur CAS répond au format XML, il faut ajouter la ligne suivante au fichier `estage.properties` : -```properties + +[,properties] +---- cas.response_type=xml -``` +---- -## Signature électronique (optionnel) +== Signature électronique (optionnel) La signature électronique est activée si au moins une des configuration ci-dessous est paramétrée. Si plusieurs solutions configurées, Docaposte prendra le dessus. -### Docaposte +=== Docaposte -> **ATTENTION :** Les paramètres ne doivent pas être ajoutés s'ils ne sont pas utilisés +____ +*ATTENTION :* Les paramètres ne doivent pas être ajoutés s'ils ne sont pas utilisés +____ Les paramètres Docaposte se trouve dans le fichier `estage.properties` : -```properties + +[,properties] +---- # docaposte docaposte.uri=https://demo-parapheur.dfast.fr/parapheur-soap/soap/v1/Documents docaposte.siren=xxx @@ -75,21 +83,25 @@ docaposte.keystore.path= docaposte.keystore.password=xxx docaposte.truststore.path= docaposte.truststore.password=xxx -``` +---- + Les certificats pour Docaposte peuvent être déposés où vous le souhaitez en dehors du projet. -### ESUP-Signature (mode solution externe) +=== ESUP-Signature (mode solution externe) -> **ATTENTION :** Les paramètres ne doivent pas être ajoutés s'ils ne sont pas utilisés +____ +*ATTENTION :* Les paramètres ne doivent pas être ajoutés s'ils ne sont pas utilisés +____ ESUP-Stage met à disposition des api "public" accessible avec un des tokens paramétrés dans `appli.public.tokens`. La liste des api se trouve dans `/public/swagger-ui.html`. Le paramétrage "webhook" correspondent à l'appel vers une api externe pour la signature électronique (cette solution est à mettre en place par chaque établissement). Les api vers ESUP-Signature sont intégrés dans ESUP-Stage mais la configuration est la même pour une solution externe. -`webhook.signature.uri` : uri de l'api externe\ +`webhook.signature.uri` : uri de l'api externe + `webhook.signature.token` : token d'accès -```properties +[,properties] +---- # tokens d'accès d'esup-stage permettant d'autoriser les webhook à accéder aux api /public/api d'esup-stage séparés par des ; (exemple : token1;token2;token3) appli.public.tokens=xxxx @@ -105,76 +117,75 @@ webhook.signature.token=yyyyy esupsignature.uri=http://localhost:8880/ws esupsignature.circuit=123 ### -------------------- ### -``` - -## Procédure d'installation en environnement de dev +---- -* ajouter un fichier src/main/resources/estage.properties basé sur le fichier src/main/resources/estage-example.properties +== Procédure d'installation en environnement de dev +* ajouter un fichier src/main/resources/estage.properties basé sur le fichier src/main/resources/estage-example.properties * dans ce fichier, paramétrer la variable `appli.admin_technique` en ajoutant votre login cas (les logins sont séparés par des ;) * lancer la génération des classes java pour le client Docaposte avec la commande maven `-Pdev jaxb2:generate` : les classes sont générées dans `org/esup_portail/esup_stage/docaposte/gen` * lancer le serveur avec une commande maven `-Pdev clean package cargo:run`. Le profil `dev` permet de désactiver l'installation de node, npm et du build angular. Si besoin, il suffit de commenter la partie `execution` se trouvant au niveau du profil `dev`. * pour lancer le frontend dev : - * sans Docker : lancer la commande `ng serve --host localhost.dauphine.fr --proxy-config src/proxy.conf.json` au niveau du dossier frontend (node et npm devront être installés) - * avec Docker : - * se positionner au niveau du dossier `frontend` - * lancer les commandes suivantes pour initier et installer les nodes modules : - * `docker-compose build` - * `docker-compose run --rm --entrypoint=npm frontend ci` - * lancer la commande suivante pour lancer le fontend en dev : `docker-compose up -d` + ** sans Docker : lancer la commande `ng serve --host localhost.dauphine.fr --proxy-config src/proxy.conf.json` au niveau du dossier frontend (node et npm devront être installés) + ** avec Docker : + *** se positionner au niveau du dossier `frontend` + *** lancer les commandes suivantes pour initier et installer les nodes modules : + **** `docker-compose build` + **** `docker-compose run --rm --entrypoint=npm frontend ci` + *** lancer la commande suivante pour lancer le fontend en dev : `docker-compose up -d` * aller sur l'application à l'adresse http://localhost.dauphine.fr:8080/frontend/#/ et se connecter une première fois * ouvrir un nouvel onglet sur http://localhost.dauphine.fr:8700 (ou http://localhost.dauphine.fr:4200) pour accéder à l'application en mode angular dev * pour se déconnecter, aller sur http://localhost.dauphine.fr:4200/logout -## Procédure d'installation +== Procédure d'installation https://github.com/EsupPortail/esup-stage/wiki -## Installation de ckeditor5 +== Installation de ckeditor5 * aller sur le site https://ckeditor.com/ckeditor-5/online-builder/ pour générer ckeditor5 avec des plugins personnalisés * choisir l'éditeur "Classic" (le plugin "Source code" ne fonctionne actuellement qu'avec l'éditeur Classic) * enlever les plugins nécessitants une license PRO * ci-dessous la liste des plugins actuelle de l'application (* : obligatoire pour le bon fonctionnement minimal) : - * Alignement * - * Autoformat - * Base64 upload adapter * - * Block quote * - * Bold * - * Find and replace * - * Font background color * - * Font color * - * Font family * - * Font size * - * Heading * - * Highlight - * Horizontal line - * Image * - * Image caption * - * Image resize * - * Image style * - * Image toolbar * - * Image upload * - * Indent * - * Indent block * - * Italic * - * Link - * List * - * List properties * - * Media embed - * Page break * - * Paste front Office - * Remove format * - * Source editing * - * Strikethrough * - * Table * - * Table cell properties * - * Table column resize * - * Table properties * - * Table toolbar * - * Text transformation * - * To-do list - * Underline * + ** Alignement * + ** Autoformat + ** Base64 upload adapter * + ** Block quote * + ** Bold * + ** Find and replace * + ** Font background color * + ** Font color * + ** Font family * + ** Font size * + ** Heading * + ** Highlight + ** Horizontal line + ** Image * + ** Image caption * + ** Image resize * + ** Image style * + ** Image toolbar * + ** Image upload * + ** Indent * + ** Indent block * + ** Italic * + ** Link + ** List * + ** List properties * + ** Media embed + ** Page break * + ** Paste front Office + ** Remove format * + ** Source editing * + ** Strikethrough * + ** Table * + ** Table cell properties * + ** Table column resize * + ** Table properties * + ** Table toolbar * + ** Text transformation * + ** To-do list + ** Underline * * à l'étape suivante, disposer comme voulu les éléments de la barre d'outils de l'éditeur * une fois terminé, choisir la langue française et télécharger la librairie * supprimer tout le contenu de `src/frontend/src/custom-ck5` pour y mettre celui du dossier `build/` de la librairie téléchargée From ed1d50c44482db27fee04805387f829ced1b32b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Raya=20D=C3=89CORNOD?= Date: Tue, 21 Jan 2025 17:53:04 +0100 Subject: [PATCH 02/16] =?UTF-8?q?base=20de=20documentation=20tech=20en=20a?= =?UTF-8?q?telier=20pr=C3=A9sentiel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.adoc | 4 ++ src/docs/antora.yml | 3 + src/docs/modules/ROOT/pages/index.adoc | 88 ++++++++++++++++++++++++++ 3 files changed, 95 insertions(+) create mode 100644 src/docs/antora.yml create mode 100644 src/docs/modules/ROOT/pages/index.adoc diff --git a/README.adoc b/README.adoc index 37da0db4..3f001e25 100644 --- a/README.adoc +++ b/README.adoc @@ -2,6 +2,10 @@ ESUP STAGE est la refonte de l'application pStage. L'application a été complètement réécrite pour reprendre et améliorer les grandes et fonctionnalités : produire une convention de stage et ses avenants dans le cadre d'un processus de validation adapté. +link:src/docs/modules/ROOT/pages/index.adoc[→ Documentation technique Esup-Stage] + +include::src/docs/modules/ROOT/pages/index.adoc[leveloffset=1] + == Techno * JAVA 11 diff --git a/src/docs/antora.yml b/src/docs/antora.yml new file mode 100644 index 00000000..fed13a47 --- /dev/null +++ b/src/docs/antora.yml @@ -0,0 +1,3 @@ +name: ROOT +title: Documentation technique Esup-Stage +prerelease: true diff --git a/src/docs/modules/ROOT/pages/index.adoc b/src/docs/modules/ROOT/pages/index.adoc new file mode 100644 index 00000000..5295ce01 --- /dev/null +++ b/src/docs/modules/ROOT/pages/index.adoc @@ -0,0 +1,88 @@ += Documentation technique Esup-Stage +:author: Université Lorraine +:imagesdir: ../images/ + + +== Vocabulaire du domaine + +Stage:: #TODO# +Convention (lié à un centre de gestion via les critères):: #TODO# +PDF Convention:: #TODO# +Centre de gestion:: #TODO# +Validation administrative:: #TODO# +Validation pédagogique:: #TODO# +Signature de la Convention:: #TODO# +Avenant:: #TODO# +PDF Avenant:: #TODO# +Évaluation de stage:: #TODO# +Modèle de convention:: #TODO# +Modèle d’avenant:: #TODO# +Modèle de mail:: #TODO# +Etablissement d’accueil:: #TODO# +Etape : VET:: #TODO# +UFR:: #TODO# +Critères de gestion:: #TODO# +Type de convention:: #TODO# + +== Décisions Stratégique + +* Un stage a toujours une convention + +== Flux +=== Flux Entrant + +==== Application de signature électronique + +.Messages +** PDF *signés* +*** Convention +*** Avenant + +.Systèmes (1 seul au choix, configuration) +* Esup-signature ou _autre_ +** API serveur et client dans une séquence +CAUTION: Lien vers doc(s) à trouver _svp_ +* Docaposte +** [JAX-RS client, WSDL] + + +==== Esup-siscol + +[plantuml] +.... +left to right direction +card e_ins as "Étudiant inscrit\n(Apogée)" +card esup_siscol as "Esup-siscol" +card esup_stage as "Esup-Stage" +e_ins <-0)- esup_siscol: "WS Apogée" +esup_siscol <-0)- esup_stage +.... + +//'@startuml +//'card e_ins as "Étudiant inscrit (Apogée)" +//' +//'interface ws_apo as "WS Apogée" +//' +//'card siscol as Esup-siscol +//' +//'e_ins -> ws_apo +//' +//'' Etudiant inscrit (Apogée) ← WS Apogée← Esup-siscol ← Esup-Stage +//'@enduml + + +=== Flux Sortant + +==== Application de signature (_c.f._ flux entrant) + +** PDF *à signer* +*** Convention +*** Avenant + +.Systèmes (1 seul au choix, configuration) +* Esup-signature ou _autre_ +** API serveur et client dans une séquence +CAUTION: Lien vers doc(s) à trouver _svp_ +* Docaposte +** [JAX-RS client, WSDL] + From 1ac0bbaafdcd74f607edd8958fbc777d1fa99815 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Raya=20D=C3=89CORNOD?= Date: Tue, 21 Jan 2025 12:30:00 +0100 Subject: [PATCH 03/16] =?UTF-8?q?big=20picture=20event=20storming=20=C3=A0?= =?UTF-8?q?=20l'UL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../images/event-storming-20250121.jpg.jpeg | Bin 0 -> 391974 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/docs/modules/ROOT/images/event-storming-20250121.jpg.jpeg diff --git a/src/docs/modules/ROOT/images/event-storming-20250121.jpg.jpeg b/src/docs/modules/ROOT/images/event-storming-20250121.jpg.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..babcd026e2a9c31ba0d204060e4a79fecdadca28 GIT binary patch literal 391974 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

U>f=^C`gtWmD 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

$r#5L5w=|8{}3W^FM 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 z
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�Yh|V@h{37me(O+b5X5t%k)j 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

qW}0ykm2priRw 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%0D3(kVCeyURe^v= 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 literal 0 HcmV?d00001 From ed0f7427dd9339294cf9e73931b0da5476e1c34f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Raya=20D=C3=89CORNOD?= Date: Wed, 22 Jan 2025 10:46:37 +0100 Subject: [PATCH 04/16] publication antora vers Github pages --- .github/workflows/publish.yml | 43 + antora-playbook.yml | 65 + src/docs/.gitignore | 1 + src/docs/package-lock.json | 2251 +++++++++++++++++++++++ src/docs/package.json | 14 + src/docs/ui/.nojekyll | 0 src/docs/ui/layouts/default.hbs | 11 + src/docs/ui/partials/header-content.hbs | 38 + src/docs/ui/ui.yml | 2 + 9 files changed, 2425 insertions(+) create mode 100644 .github/workflows/publish.yml create mode 100644 antora-playbook.yml create mode 100644 src/docs/.gitignore create mode 100644 src/docs/package-lock.json create mode 100644 src/docs/package.json create mode 100644 src/docs/ui/.nojekyll create mode 100644 src/docs/ui/layouts/default.hbs create mode 100644 src/docs/ui/partials/header-content.hbs create mode 100644 src/docs/ui/ui.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 00000000..cf86b666 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,43 @@ +name: Publish to GitHub Pages +on: + push: + branches: + #- main + #- develop + - feature/** + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: +concurrency: + group: github-pages + cancel-in-progress: false +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write +jobs: + build: + runs-on: ubuntu-latest + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Configure Pages + uses: actions/configure-pages@v5 + - name: Install Node.js + uses: actions/setup-node@v4 + with: + node-version: '20.x' + - name: Install Antora + run: (cd src/docs && npm ci) + - name: Generate Site + run: (cd src/docs && npm run prestart) + - name: Upload Artifacts + uses: actions/upload-pages-artifact@v3 + with: + path: build/site + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 \ No newline at end of file diff --git a/antora-playbook.yml b/antora-playbook.yml new file mode 100644 index 00000000..849d25b7 --- /dev/null +++ b/antora-playbook.yml @@ -0,0 +1,65 @@ +site: + title: Documentation technique Esup-Stage + url: ~ + robots: allow +content: + sources: + - url: ./ + start_path: src/docs + branches: + #- main + #- develop + - feature/* + version: + main: '' + dev: develop + feature/(*): $1 +ui: + bundle: + url: https://gitlab.com/antora/antora-ui-default/-/jobs/artifacts/HEAD/raw/build/ui-bundle.zip?job=bundle-stable + snapshot: true + supplemental_files: ./src/docs/ui + output_dir: ./ +urls: + # cli: --html-url-extension-style indexify + html_extension_style: indexify + # cli: --redirect-facility gitlab + redirect_facility: static + latest_version_segment_strategy: replace + latest_version_segment: '' +asciidoc: + sourcemap: true + attributes: + icons: font + appendix-caption: Annexe + appendix-refsig: Annexe + caution-caption: Attention + chapter-signifier: Chapitre + chapter-refsig: Chapitre + example-caption: Exemple + figure-caption: Figure + important-caption: Important + last-update-label: Dernière mise à jour + listing-caption: Liste + manname-title: Nom + note-caption: Note + part-signifier: Partie + part-refsig: Partie + preface-title: Préface + section-refsig: Section + table-caption: Tableau + tip-caption: Astuce + toc-title: Table des matières + untitled-label: Sans titre + version-label: Version + warning-caption: Avertissement + kroki-fetch-diagram: true + safe: safe + extensions: + - asciidoctor-kroki +output: + clean: true + dir: ./build/site +runtime: + log: + level: info diff --git a/src/docs/.gitignore b/src/docs/.gitignore new file mode 100644 index 00000000..30bc1627 --- /dev/null +++ b/src/docs/.gitignore @@ -0,0 +1 @@ +/node_modules \ No newline at end of file diff --git a/src/docs/package-lock.json b/src/docs/package-lock.json new file mode 100644 index 00000000..109dbfd9 --- /dev/null +++ b/src/docs/package-lock.json @@ -0,0 +1,2251 @@ +{ + "name": "esup-stage-doctech", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "esup-stage-doctech", + "version": "1.0.0", + "devDependencies": { + "antora": "^3.1.10", + "asciidoctor-kroki": "^0.18.1", + "http-server": "^14.1.1" + } + }, + "node_modules/@antora/asciidoc-loader": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/@antora/asciidoc-loader/-/asciidoc-loader-3.1.10.tgz", + "integrity": "sha512-np0JkOV37CK7V4eDZUZXf4fQuCKYW3Alxl8FlyzBevXi2Ujv29O82JLbHbv1cyTsvGkGNNB+gzJIx9XBsQ7+Nw==", + "dev": true, + "dependencies": { + "@antora/logger": "3.1.10", + "@antora/user-require-helper": "~3.0", + "@asciidoctor/core": "~2.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@antora/cli": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/@antora/cli/-/cli-3.1.10.tgz", + "integrity": "sha512-gp8u9aVM0w1DtWSsB5PwvEfFYKrooPENLhN58RAfdgTrcsTsWw+CDysFZPgEaHB0Y1ZbanR82ZH/f6JVKGcZfQ==", + "dev": true, + "dependencies": { + "@antora/logger": "3.1.10", + "@antora/playbook-builder": "3.1.10", + "@antora/user-require-helper": "~3.0", + "commander": "~11.1" + }, + "bin": { + "antora": "bin/antora" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@antora/content-aggregator": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/@antora/content-aggregator/-/content-aggregator-3.1.10.tgz", + "integrity": "sha512-OT6ZcCA7LrtNfrAZUr3hFh+Z/1isKpsfnqFjCDC66NEMqIyzJO99jq0CM66rYlYhyX7mb5BwEua8lHcwpOXNow==", + "dev": true, + "dependencies": { + "@antora/expand-path-helper": "~3.0", + "@antora/logger": "3.1.10", + "@antora/user-require-helper": "~3.0", + "braces": "~3.0", + "cache-directory": "~2.0", + "fast-glob": "~3.3", + "hpagent": "~1.2", + "isomorphic-git": "~1.25", + "js-yaml": "~4.1", + "multi-progress": "~4.0", + "picomatch": "~4.0", + "progress": "~2.0", + "should-proxy": "~1.0", + "simple-get": "~4.0", + "vinyl": "~3.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@antora/content-classifier": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/@antora/content-classifier/-/content-classifier-3.1.10.tgz", + "integrity": "sha512-3JJl4IIiTX00v/MirK603NoqIcHjGYAaRWt3Q4U03tI1Fv2Aho/ypO3FE45069jFf0Dx2uDJfp5kapb9gaIjdQ==", + "dev": true, + "dependencies": { + "@antora/asciidoc-loader": "3.1.10", + "@antora/logger": "3.1.10", + "mime-types": "~2.1", + "vinyl": "~3.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@antora/document-converter": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/@antora/document-converter/-/document-converter-3.1.10.tgz", + "integrity": "sha512-qi9ctgcKal8tZtWflVo66w+4zCJoBmUKRV+eA9aRRR09KDdU9r514vu1adWNgniPppISr90zD13V5l2JUy/2CQ==", + "dev": true, + "dependencies": { + "@antora/asciidoc-loader": "3.1.10" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@antora/expand-path-helper": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@antora/expand-path-helper/-/expand-path-helper-3.0.0.tgz", + "integrity": "sha512-7PdEIhk97v85/CSm3HynCsX14TR6oIVz1s233nNLsiWubE8tTnpPt4sNRJR+hpmIZ6Bx9c6QDp3XIoiyu/WYYA==", + "dev": true, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@antora/file-publisher": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/@antora/file-publisher/-/file-publisher-3.1.10.tgz", + "integrity": "sha512-DPR/0d1P+kr3qV4T0Gh81POEO/aCmNWIp/oLUYAhr0HHOcFzgpTUUoLStgcYynZPFRIB7EYKSab+oYSCK17DGA==", + "dev": true, + "dependencies": { + "@antora/expand-path-helper": "~3.0", + "@antora/user-require-helper": "~3.0", + "vinyl": "~3.0", + "yazl": "~2.5" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@antora/logger": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/@antora/logger/-/logger-3.1.10.tgz", + "integrity": "sha512-WSuIxEP2tVrhWtTj/sIrwBDjpi4ldB/1Kpiu4PXmY4/qeWP8thW6u8nXdwdDcWss5zqkZWjourvWKwVq7y8Wjg==", + "dev": true, + "dependencies": { + "@antora/expand-path-helper": "~3.0", + "pino": "~9.2", + "pino-pretty": "~11.2", + "sonic-boom": "~4.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@antora/navigation-builder": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/@antora/navigation-builder/-/navigation-builder-3.1.10.tgz", + "integrity": "sha512-aLMK49nYsSB3mEZbLkmUXDAUYmscv2AFWu+5c3eqVGkQ6Wgyd79WQ6Bz3/TN9YqkzGL+PqGs0G39F0VQzD23Hw==", + "dev": true, + "dependencies": { + "@antora/asciidoc-loader": "3.1.10" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@antora/page-composer": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/@antora/page-composer/-/page-composer-3.1.10.tgz", + "integrity": "sha512-JoEg8J8HVsnPmAgUrYSGzf0C8rQefXyCi/18ucy0utyfUvlJNsZvUbGUPx62Het9p0JP0FkAz2MTLyDlNdArVg==", + "dev": true, + "dependencies": { + "@antora/logger": "3.1.10", + "handlebars": "~4.7", + "require-from-string": "~2.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@antora/playbook-builder": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/@antora/playbook-builder/-/playbook-builder-3.1.10.tgz", + "integrity": "sha512-UB8UmRYfkKgActTUlotdVS4FKGjaZgTnSXE7Fns1xb3/3HRanWvI+Yze1OmCkGC33cTpoQFnSYp7ySEH8LaiBw==", + "dev": true, + "dependencies": { + "@iarna/toml": "~2.2", + "convict": "~6.2", + "js-yaml": "~4.1", + "json5": "~2.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@antora/redirect-producer": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/@antora/redirect-producer/-/redirect-producer-3.1.10.tgz", + "integrity": "sha512-IbWJGh6LmsxJQ821h0B9JfooofFZBgFLZxsbp/IoTLkBFGLFAY5tDRvB6rvubfNLRoSjM8VjEUXGqVLlwZOb+g==", + "dev": true, + "dependencies": { + "vinyl": "~3.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@antora/site-generator": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/@antora/site-generator/-/site-generator-3.1.10.tgz", + "integrity": "sha512-NCULYtwUjIyr5FGCymhfG/zDVUmZ6pfmCPorka8mAzo4/GDx1T7bgaRL9rEIyf2AMqcm7apQiAz03mpU4kucsw==", + "dev": true, + "dependencies": { + "@antora/asciidoc-loader": "3.1.10", + "@antora/content-aggregator": "3.1.10", + "@antora/content-classifier": "3.1.10", + "@antora/document-converter": "3.1.10", + "@antora/file-publisher": "3.1.10", + "@antora/logger": "3.1.10", + "@antora/navigation-builder": "3.1.10", + "@antora/page-composer": "3.1.10", + "@antora/playbook-builder": "3.1.10", + "@antora/redirect-producer": "3.1.10", + "@antora/site-mapper": "3.1.10", + "@antora/site-publisher": "3.1.10", + "@antora/ui-loader": "3.1.10", + "@antora/user-require-helper": "~3.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@antora/site-mapper": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/@antora/site-mapper/-/site-mapper-3.1.10.tgz", + "integrity": "sha512-KY1j/y0uxC2Y7RAo4r4yKv9cgFm8aZoRylZXEODJnwj3tffbZ2ZdRzSWHp6fN0QX/Algrr9JNd9CWrjcj2f3Zw==", + "dev": true, + "dependencies": { + "@antora/content-classifier": "3.1.10", + "vinyl": "~3.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@antora/site-publisher": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/@antora/site-publisher/-/site-publisher-3.1.10.tgz", + "integrity": "sha512-G4xcUWvgth8oeEQwiu9U1cE0miQtYHwKHOobUbDBt2Y6LlC5H31zQQmAyvMwTsGRlvYRgLVtG6j9d6JBwQ6w9Q==", + "dev": true, + "dependencies": { + "@antora/file-publisher": "3.1.10" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@antora/ui-loader": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/@antora/ui-loader/-/ui-loader-3.1.10.tgz", + "integrity": "sha512-H1f5wI5a5HjLuE/Wexvc8NZy8w83Bhqjka7t1DbwOOqP+LyxFGLx/QbBVKdTtgFNDHVMtNBlplQq0ixeoTSh0A==", + "dev": true, + "dependencies": { + "@antora/expand-path-helper": "~3.0", + "braces": "~3.0", + "cache-directory": "~2.0", + "fast-glob": "~3.3", + "hpagent": "~1.2", + "js-yaml": "~4.1", + "picomatch": "~4.0", + "should-proxy": "~1.0", + "simple-get": "~4.0", + "vinyl": "~3.0", + "yauzl": "~3.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@antora/user-require-helper": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@antora/user-require-helper/-/user-require-helper-3.0.0.tgz", + "integrity": "sha512-KIXb8WYhnrnwH7Jj21l1w+et9k5GvcgcqvLOwxqWLEd0uVZOiMFdqFjqbVm3M+zcrs1JXWMeh2LLvxBbQs3q/Q==", + "dev": true, + "dependencies": { + "@antora/expand-path-helper": "~3.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@asciidoctor/core": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/@asciidoctor/core/-/core-2.2.8.tgz", + "integrity": "sha512-oozXk7ZO1RAd/KLFLkKOhqTcG4GO3CV44WwOFg2gMcCsqCUTarvMT7xERIoWW2WurKbB0/ce+98r01p8xPOlBw==", + "dev": true, + "dependencies": { + "asciidoctor-opal-runtime": "0.3.3", + "unxhr": "1.0.1" + }, + "engines": { + "node": ">=8.11", + "npm": ">=5.0.0", + "yarn": ">=1.1.0" + } + }, + "node_modules/@iarna/toml": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", + "integrity": "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==", + "dev": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dev": true, + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/antora": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/antora/-/antora-3.1.10.tgz", + "integrity": "sha512-FcXPfqxi5xrGF2fTrFiiau45q8w0bzRcnfk97nxvpvztPDHX/lUOrBF/GpaGl1JT5K085VkI3/dbxTlvWK1jjw==", + "dev": true, + "dependencies": { + "@antora/cli": "3.1.10", + "@antora/site-generator": "3.1.10" + }, + "bin": { + "antora": "bin/antora" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/asciidoctor-kroki": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/asciidoctor-kroki/-/asciidoctor-kroki-0.18.1.tgz", + "integrity": "sha512-eQxbBCaPTbyNoJtk62Gp+6h4LlJp2147g7eS0QIVjqaLpFa8sseH0BlMiBoATrJUYv1w3nR+FTzvloBJ/MioYg==", + "dev": true, + "dependencies": { + "json5": "2.2.3", + "mkdirp": "2.1.3", + "pako": "2.1.0", + "rusha": "0.8.14", + "unxhr": "1.2.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@asciidoctor/core": ">=2.2 <4.0" + } + }, + "node_modules/asciidoctor-kroki/node_modules/pako": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==", + "dev": true + }, + "node_modules/asciidoctor-kroki/node_modules/unxhr": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unxhr/-/unxhr-1.2.0.tgz", + "integrity": "sha512-6cGpm8NFXPD9QbSNx0cD2giy7teZ6xOkCUH3U89WKVkL9N9rBrWjlCwhR94Re18ZlAop4MOc3WU1M3Hv/bgpIw==", + "dev": true, + "engines": { + "node": ">=8.11" + } + }, + "node_modules/asciidoctor-opal-runtime": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/asciidoctor-opal-runtime/-/asciidoctor-opal-runtime-0.3.3.tgz", + "integrity": "sha512-/CEVNiOia8E5BMO9FLooo+Kv18K4+4JBFRJp8vUy/N5dMRAg+fRNV4HA+o6aoSC79jVU/aT5XvUpxSxSsTS8FQ==", + "dev": true, + "dependencies": { + "glob": "7.1.3", + "unxhr": "1.0.1" + }, + "engines": { + "node": ">=8.11" + } + }, + "node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/async-lock": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/async-lock/-/async-lock-1.4.1.tgz", + "integrity": "sha512-Az2ZTpuytrtqENulXwO3GGv1Bztugx6TT37NIo7imr/Qo0gsYiGtSdBa2B6fsXhTpVZDNfu1Qn3pk531e3q+nQ==", + "dev": true + }, + "node_modules/atomic-sleep": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", + "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/b4a": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.7.tgz", + "integrity": "sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==", + "dev": true + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/bare-events": { + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.5.4.tgz", + "integrity": "sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==", + "dev": true, + "optional": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "dev": true, + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/basic-auth/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/cache-directory": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cache-directory/-/cache-directory-2.0.0.tgz", + "integrity": "sha512-7YKEapH+2Uikde8hySyfobXBqPKULDyHNl/lhKm7cKf/GJFdG/tU/WpLrOg2y9aUrQrWUilYqawFIiGJPS6gDA==", + "dev": true, + "dependencies": { + "xdg-basedir": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", + "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz", + "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/clean-git-ref": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/clean-git-ref/-/clean-git-ref-2.0.1.tgz", + "integrity": "sha512-bLSptAy2P0s6hU4PzuIMKmMJJSE6gLXGH1cntDu7bWJUksvuM+7ReOK61mozULErYvP6a15rnYl0zFDef+pyPw==", + "dev": true + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==", + "dev": true + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/convict": { + "version": "6.2.4", + "resolved": "https://registry.npmjs.org/convict/-/convict-6.2.4.tgz", + "integrity": "sha512-qN60BAwdMVdofckX7AlohVJ2x9UvjTNoKVXCL2LxFk1l7757EJqf1nySdMkPQer0bt8kQ5lQiyZ9/2NvrFBuwQ==", + "dev": true, + "dependencies": { + "lodash.clonedeep": "^4.5.0", + "yargs-parser": "^20.2.7" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/corser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", + "integrity": "sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "dev": true, + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/dateformat": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz", + "integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dev": true, + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/diff3": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/diff3/-/diff3-0.0.3.tgz", + "integrity": "sha512-iSq8ngPOt0K53A6eVr4d5Kn6GNrM2nQZtC740pzIriHtn4pOQ2lyzEXQMBeVcWERN0ye7fhBsk9PbLLQOnUx/g==", + "dev": true + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/fast-copy": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/fast-copy/-/fast-copy-3.0.2.tgz", + "integrity": "sha512-dl0O9Vhju8IrcLndv2eU4ldt1ftXMqqfgN4H1cpmGV7P6jeB9FwpN9a2c8DPGE1Ys88rNUJVYDHq73CGAGOPfQ==", + "dev": true + }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-redact": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.5.0.tgz", + "integrity": "sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.18.0.tgz", + "integrity": "sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz", + "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "function-bind": "^1.1.2", + "get-proto": "^1.0.0", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/help-me": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/help-me/-/help-me-5.0.0.tgz", + "integrity": "sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==", + "dev": true + }, + "node_modules/hpagent": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/hpagent/-/hpagent-1.2.0.tgz", + "integrity": "sha512-A91dYTeIB6NoXG+PxTQpCCDDnfHsW9kc06Lvpu1TEe9gnd6ZFeiBoRO9JvzEv6xK7EX97/dUE8g/vBMTqTS3CA==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-server": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz", + "integrity": "sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==", + "dev": true, + "dependencies": { + "basic-auth": "^2.0.1", + "chalk": "^4.1.2", + "corser": "^2.0.1", + "he": "^1.2.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy": "^1.18.1", + "mime": "^1.6.0", + "minimist": "^1.2.6", + "opener": "^1.5.1", + "portfinder": "^1.0.28", + "secure-compare": "3.0.1", + "union": "~0.5.0", + "url-join": "^4.0.1" + }, + "bin": { + "http-server": "bin/http-server" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/isomorphic-git": { + "version": "1.25.10", + "resolved": "https://registry.npmjs.org/isomorphic-git/-/isomorphic-git-1.25.10.tgz", + "integrity": "sha512-IxGiaKBwAdcgBXwIcxJU6rHLk+NrzYaaPKXXQffcA0GW3IUrQXdUPDXDo+hkGVcYruuz/7JlGBiuaeTCgIgivQ==", + "dev": true, + "dependencies": { + "async-lock": "^1.4.1", + "clean-git-ref": "^2.0.1", + "crc-32": "^1.2.0", + "diff3": "0.0.3", + "ignore": "^5.1.4", + "minimisted": "^2.0.0", + "pako": "^1.0.10", + "pify": "^4.0.1", + "readable-stream": "^3.4.0", + "sha.js": "^2.4.9", + "simple-get": "^4.0.1" + }, + "bin": { + "isogit": "cli.cjs" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/joycon": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", + "integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", + "dev": true + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minimisted": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minimisted/-/minimisted-2.0.1.tgz", + "integrity": "sha512-1oPjfuLQa2caorJUM8HV8lGgWCc0qqAO1MNv/k05G4qslmsndV/5WdNZrqCiyqiz3wohia2Ij2B7w2Dr7/IyrA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + } + }, + "node_modules/mkdirp": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-2.1.3.tgz", + "integrity": "sha512-sjAkg21peAG9HS+Dkx7hlG9Ztx7HLeKnvB3NQRcu/mltCVmvkF0pisbiTSfDVYTT86XEfZrTUosLdZLStquZUw==", + "dev": true, + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/multi-progress": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/multi-progress/-/multi-progress-4.0.0.tgz", + "integrity": "sha512-9zcjyOou3FFCKPXsmkbC3ethv51SFPoA4dJD6TscIp2pUmy26kBDZW6h9XofPELrzseSkuD7r0V+emGEeo39Pg==", + "dev": true, + "peerDependencies": { + "progress": "^2.0.0" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/object-inspect": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", + "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-exit-leak-free": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz", + "integrity": "sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pino": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-9.2.0.tgz", + "integrity": "sha512-g3/hpwfujK5a4oVbaefoJxezLzsDgLcNJeITvC6yrfwYeT9la+edCK42j5QpEQSQCZgTKapXvnQIdgZwvRaZug==", + "dev": true, + "dependencies": { + "atomic-sleep": "^1.0.0", + "fast-redact": "^3.1.1", + "on-exit-leak-free": "^2.1.0", + "pino-abstract-transport": "^1.2.0", + "pino-std-serializers": "^7.0.0", + "process-warning": "^3.0.0", + "quick-format-unescaped": "^4.0.3", + "real-require": "^0.2.0", + "safe-stable-stringify": "^2.3.1", + "sonic-boom": "^4.0.1", + "thread-stream": "^3.0.0" + }, + "bin": { + "pino": "bin.js" + } + }, + "node_modules/pino-abstract-transport": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.2.0.tgz", + "integrity": "sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==", + "dev": true, + "dependencies": { + "readable-stream": "^4.0.0", + "split2": "^4.0.0" + } + }, + "node_modules/pino-abstract-transport/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "dev": true, + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/pino-pretty": { + "version": "11.2.2", + "resolved": "https://registry.npmjs.org/pino-pretty/-/pino-pretty-11.2.2.tgz", + "integrity": "sha512-2FnyGir8nAJAqD3srROdrF1J5BIcMT4nwj7hHSc60El6Uxlym00UbCCd8pYIterstVBFlMyF1yFV8XdGIPbj4A==", + "dev": true, + "dependencies": { + "colorette": "^2.0.7", + "dateformat": "^4.6.3", + "fast-copy": "^3.0.2", + "fast-safe-stringify": "^2.1.1", + "help-me": "^5.0.0", + "joycon": "^3.1.1", + "minimist": "^1.2.6", + "on-exit-leak-free": "^2.1.0", + "pino-abstract-transport": "^1.0.0", + "pump": "^3.0.0", + "readable-stream": "^4.0.0", + "secure-json-parse": "^2.4.0", + "sonic-boom": "^4.0.1", + "strip-json-comments": "^3.1.1" + }, + "bin": { + "pino-pretty": "bin.js" + } + }, + "node_modules/pino-pretty/node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "dev": true, + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/pino-std-serializers": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-7.0.0.tgz", + "integrity": "sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==", + "dev": true + }, + "node_modules/portfinder": { + "version": "1.0.32", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", + "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", + "dev": true, + "dependencies": { + "async": "^2.6.4", + "debug": "^3.2.7", + "mkdirp": "^0.5.6" + }, + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/portfinder/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-3.0.0.tgz", + "integrity": "sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==", + "dev": true + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/pump": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", + "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "dev": true, + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/queue-tick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", + "dev": true + }, + "node_modules/quick-format-unescaped": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", + "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==", + "dev": true + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/real-require": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz", + "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==", + "dev": true, + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true + }, + "node_modules/replace-ext": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz", + "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rusha": { + "version": "0.8.14", + "resolved": "https://registry.npmjs.org/rusha/-/rusha-0.8.14.tgz", + "integrity": "sha512-cLgakCUf6PedEu15t8kbsjnwIFFR2D4RfL+W3iWFJ4iac7z4B0ZI8fxy4R3J956kAI68HclCFGL8MPoUVC3qVA==", + "dev": true + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-stable-stringify": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz", + "integrity": "sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/secure-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", + "integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==", + "dev": true + }, + "node_modules/secure-json-parse": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz", + "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==", + "dev": true + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/should-proxy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/should-proxy/-/should-proxy-1.0.4.tgz", + "integrity": "sha512-RPQhIndEIVUCjkfkQ6rs6sOR6pkxJWCNdxtfG5pP0RVgUYbK5911kLTF0TNcCC0G3YCGd492rMollFT2aTd9iQ==", + "dev": true + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/sonic-boom": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-4.0.1.tgz", + "integrity": "sha512-hTSD/6JMLyT4r9zeof6UtuBDpjJ9sO08/nmS5djaA9eozT9oOlNdpXSnzcgj4FTqpk3nkLrs61l4gip9r1HCrQ==", + "dev": true, + "dependencies": { + "atomic-sleep": "^1.0.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "dev": true, + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/streamx": { + "version": "2.21.1", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.21.1.tgz", + "integrity": "sha512-PhP9wUnFLa+91CPy3N6tiQsK+gnYyUNuk15S3YG/zjYE7RuPeCjJngqnzpC31ow0lzBHQ+QGO4cNJnd0djYUsw==", + "dev": true, + "dependencies": { + "fast-fifo": "^1.3.2", + "queue-tick": "^1.0.1", + "text-decoder": "^1.1.0" + }, + "optionalDependencies": { + "bare-events": "^2.2.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/teex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz", + "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==", + "dev": true, + "dependencies": { + "streamx": "^2.12.5" + } + }, + "node_modules/text-decoder": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", + "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", + "dev": true, + "dependencies": { + "b4a": "^1.6.4" + } + }, + "node_modules/thread-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-3.1.0.tgz", + "integrity": "sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==", + "dev": true, + "dependencies": { + "real-require": "^0.2.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/uglify-js": { + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", + "dev": true, + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/union": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", + "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", + "dev": true, + "dependencies": { + "qs": "^6.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/unxhr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unxhr/-/unxhr-1.0.1.tgz", + "integrity": "sha512-MAhukhVHyaLGDjyDYhy8gVjWJyhTECCdNsLwlMoGFoNJ3o79fpQhtQuzmAE4IxCMDwraF4cW8ZjpAV0m9CRQbg==", + "dev": true, + "engines": { + "node": ">=8.11" + } + }, + "node_modules/url-join": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", + "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", + "dev": true + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/vinyl": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.0.tgz", + "integrity": "sha512-rC2VRfAVVCGEgjnxHUnpIVh3AGuk62rP3tqVrn+yab0YH7UULisC085+NYH+mnqf3Wx4SpSi1RQMwudL89N03g==", + "dev": true, + "dependencies": { + "clone": "^2.1.2", + "clone-stats": "^1.0.0", + "remove-trailing-separator": "^1.1.0", + "replace-ext": "^2.0.0", + "teex": "^1.0.1" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "dev": true, + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/xdg-basedir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", + "integrity": "sha512-1Dly4xqlulvPD3fZUQJLY+FUIeqN3N2MM3uqe4rCJftAvOjFa3jFGfctOgluGx4ahPbUCsZkmJILiP0Vi4T6lQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yauzl": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-3.1.3.tgz", + "integrity": "sha512-JCCdmlJJWv7L0q/KylOekyRaUrdEoUxWkWVcgorosTROCFWiS9p2NNPE9Yb91ak7b1N5SxAZEliWpspbZccivw==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "pend": "~1.2.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yazl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", + "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3" + } + } + } +} diff --git a/src/docs/package.json b/src/docs/package.json new file mode 100644 index 00000000..3d94bfaf --- /dev/null +++ b/src/docs/package.json @@ -0,0 +1,14 @@ +{ + "name": "esup-stage-doctech", + "description": "documentation technique d'Esup Stage", + "version": "1.0.0", + "scripts": { + "prestart": "antora generate --to-dir=../../build/site ../../antora-playbook.yml", + "start": "http-server ../../build/site" + }, + "devDependencies": { + "antora": "^3.1.10", + "asciidoctor-kroki": "^0.18.1", + "http-server": "^14.1.1" + } +} diff --git a/src/docs/ui/.nojekyll b/src/docs/ui/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/src/docs/ui/layouts/default.hbs b/src/docs/ui/layouts/default.hbs new file mode 100644 index 00000000..eb9b715c --- /dev/null +++ b/src/docs/ui/layouts/default.hbs @@ -0,0 +1,11 @@ + + + +{{> head defaultPageTitle='Sans nom'}} + + +{{> header}} +{{> body}} +{{> footer}} + + diff --git a/src/docs/ui/partials/header-content.hbs b/src/docs/ui/partials/header-content.hbs new file mode 100644 index 00000000..9973fa2d --- /dev/null +++ b/src/docs/ui/partials/header-content.hbs @@ -0,0 +1,38 @@ +

+ +
diff --git a/src/docs/ui/ui.yml b/src/docs/ui/ui.yml new file mode 100644 index 00000000..705b9c4a --- /dev/null +++ b/src/docs/ui/ui.yml @@ -0,0 +1,2 @@ +static_files: + - .nojekyll From adab8493a2ff5e16133847dea16b114cd99521c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Raya=20D=C3=89CORNOD?= Date: Wed, 22 Jan 2025 16:42:01 +0100 Subject: [PATCH 05/16] =?UTF-8?q?mod=C3=A8le=20de=20pull=20request?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/PULL_REQUEST_TEMPLATE.md | 44 ++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .github/PULL_REQUEST_TEMPLATE.md diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000..2426f1c9 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,44 @@ +## Description / Objectif / Motivation / Contexte + + + +Ticket: #12345 + +## Cas d'acceptance (Comment cela a-t-il été testé ?) + + + + +- [ ] Test A: Étant donné Quand Alors +- [ ] Test B: Étant donné Quand Alors + + + + +## Type + + +- [ ] Correction de bogue (modification non cassante qui résout un problème). +- [ ] Nouvelle fonctionnalité (changement non cassant qui ajoute une fonctionnalité). +- [ ] Changement cassant (correction qui entraînerait la/une fonctionnalité existante à ne pas fonctionner comme précédemment). +- [ ] Changement nécessitant une mise à jour de la documentation utilisteur. + +## Definition du fini + +- [ ] Les cas d'acceptance ci-dessus ont été vérifiés. +- [ ] Revue par au moins un⋅e relecteur⋅ice autorisé⋅e. +- [ ] Documentation(s) mise(s) à jour (utilisteur, technique, commentaires de code compris). +- [ ] Si des changements _cassants_ sont introduits, ils sont dûement décrits +et les étapes de montée de version décrites (éventuellement scriptés). From 4ed831a2adc765f9513afcf483b83795e7dd4953 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Raya=20D=C3=89CORNOD?= Date: Wed, 22 Jan 2025 16:43:07 +0100 Subject: [PATCH 06/16] =?UTF-8?q?d=C3=A9coupage=20en=20plusieurs=20pages?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.adoc | 2 - antora-playbook.yml | 4 +- src/docs/antora.yml | 2 + src/docs/modules/ROOT/nav.adoc | 5 + src/docs/modules/ROOT/pages/archi-tech.adoc | 47 ++++++++ src/docs/modules/ROOT/pages/decisions.adoc | 7 ++ src/docs/modules/ROOT/pages/flux.adoc | 64 ++++++++++ src/docs/modules/ROOT/pages/index.adoc | 111 +++++------------- src/docs/modules/ROOT/pages/vocabulaire.adoc | 117 +++++++++++++++++++ 9 files changed, 271 insertions(+), 88 deletions(-) create mode 100644 src/docs/modules/ROOT/nav.adoc create mode 100644 src/docs/modules/ROOT/pages/archi-tech.adoc create mode 100644 src/docs/modules/ROOT/pages/decisions.adoc create mode 100644 src/docs/modules/ROOT/pages/flux.adoc create mode 100644 src/docs/modules/ROOT/pages/vocabulaire.adoc diff --git a/README.adoc b/README.adoc index 3f001e25..15e03b19 100644 --- a/README.adoc +++ b/README.adoc @@ -4,8 +4,6 @@ ESUP STAGE est la refonte de l'application pStage. L'application a été complè link:src/docs/modules/ROOT/pages/index.adoc[→ Documentation technique Esup-Stage] -include::src/docs/modules/ROOT/pages/index.adoc[leveloffset=1] - == Techno * JAVA 11 diff --git a/antora-playbook.yml b/antora-playbook.yml index 849d25b7..88be8e47 100644 --- a/antora-playbook.yml +++ b/antora-playbook.yml @@ -11,7 +11,7 @@ content: #- develop - feature/* version: - main: '' + #main: '' dev: develop feature/(*): $1 ui: @@ -31,6 +31,7 @@ asciidoc: sourcemap: true attributes: icons: font + page-pagination: '@' appendix-caption: Annexe appendix-refsig: Annexe caution-caption: Attention @@ -50,6 +51,7 @@ asciidoc: table-caption: Tableau tip-caption: Astuce toc-title: Table des matières + page-toctitle: Table des matières untitled-label: Sans titre version-label: Version warning-caption: Avertissement diff --git a/src/docs/antora.yml b/src/docs/antora.yml index fed13a47..c9ba82e3 100644 --- a/src/docs/antora.yml +++ b/src/docs/antora.yml @@ -1,3 +1,5 @@ name: ROOT title: Documentation technique Esup-Stage prerelease: true +nav: +- modules/ROOT/nav.adoc diff --git a/src/docs/modules/ROOT/nav.adoc b/src/docs/modules/ROOT/nav.adoc new file mode 100644 index 00000000..ec55a1b9 --- /dev/null +++ b/src/docs/modules/ROOT/nav.adoc @@ -0,0 +1,5 @@ +* xref::index.adoc[] +* xref::vocabulaire.adoc[] +* xref::decisions.adoc[] +* xref::flux.adoc[] +* xref::archi-tech.adoc[] \ No newline at end of file diff --git a/src/docs/modules/ROOT/pages/archi-tech.adoc b/src/docs/modules/ROOT/pages/archi-tech.adoc new file mode 100644 index 00000000..d0736f69 --- /dev/null +++ b/src/docs/modules/ROOT/pages/archi-tech.adoc @@ -0,0 +1,47 @@ += Architecture de l'application +:author: Université Lorraine +:imagesdir: ../images/ + +[plantuml] +---- +@startuml +skinparam componentStyle rectangle + +Node "Esup - Stage" { + + + + + Node "Frontend" as frontend { + [Angular 18] as angular + [Node 20] as Node + } + + Node "Backend" as backend { + [Spring boot 3.3.4] as spring + [Java 21] as java + } + + +} + + note top of "Esup - Stage" + Tomcat 10 + end note + + +database "Esup-Stage BD" as db { + component "MariaDB" as mariadb +} + +frontend -[hidden]d- backend +backend -[hidden]d- db + +frontend -down-> backend +backend -up-> frontend +backend -down-> db +db -up-> backend + +center footer Architecture de Esup-Stage +@enduml +---- \ No newline at end of file diff --git a/src/docs/modules/ROOT/pages/decisions.adoc b/src/docs/modules/ROOT/pages/decisions.adoc new file mode 100644 index 00000000..8d3b6ab8 --- /dev/null +++ b/src/docs/modules/ROOT/pages/decisions.adoc @@ -0,0 +1,7 @@ += Décisions stratégique +:author: Université Lorraine +:imagesdir: ../images/ + +**** +Un stage a toujours une convention +**** diff --git a/src/docs/modules/ROOT/pages/flux.adoc b/src/docs/modules/ROOT/pages/flux.adoc new file mode 100644 index 00000000..37ae622e --- /dev/null +++ b/src/docs/modules/ROOT/pages/flux.adoc @@ -0,0 +1,64 @@ += Flux +:author: Université Lorraine +:imagesdir: ../images/ + +== Flux Entrant + +=== Application de signature électronique + +.Messages +** PDF *signés* +*** Convention +*** Avenant + +.Systèmes (1 seul au choix, configuration) +* Esup-signature ou _autre_ +** API serveur et client dans une séquence +CAUTION: Lien vers doc(s) à trouver _svp_ +* Docaposte +** [JAX-RS client, WSDL] + +==== Esup-Signature (ou _autre_) + +WARNING: la séquence de communication plus compliquée +que le schéma *_très_* simplifié ci dessous. +[plantuml] +.... + +card esup_signature as "Esup Signature" +card esup_stage as "Esup Stage" + +esup_signature "🖺" <-0)- esup_stage +esup_signature -(0-> "📃" esup_stage +.... + + +=== Esup-siscol + +[plantuml] +.... +left to right direction + +card etudiant_inscrit as "Étudiant inscrit\n(Apogée)" +card esup_siscol as "Esup SISCOL" +card esup_stage as "Esup Stage" + +etudiant_inscrit <-0)- esup_siscol: "WS Apogée" +esup_siscol <-0)- esup_stage +.... + + +== Flux Sortant + +=== Application de signature (_c.f._ flux entrant) + +** PDF *à signer* +*** Convention +*** Avenant + +.Systèmes (1 seul au choix, configuration) +* Esup-signature ou _autre_ +** API serveur et client dans une séquence +CAUTION: Lien vers doc(s) à trouver _svp_ +* Docaposte +** [JAX-RS client, WSDL] diff --git a/src/docs/modules/ROOT/pages/index.adoc b/src/docs/modules/ROOT/pages/index.adoc index 5295ce01..fa762b2f 100644 --- a/src/docs/modules/ROOT/pages/index.adoc +++ b/src/docs/modules/ROOT/pages/index.adoc @@ -1,88 +1,29 @@ = Documentation technique Esup-Stage :author: Université Lorraine :imagesdir: ../images/ - - -== Vocabulaire du domaine - -Stage:: #TODO# -Convention (lié à un centre de gestion via les critères):: #TODO# -PDF Convention:: #TODO# -Centre de gestion:: #TODO# -Validation administrative:: #TODO# -Validation pédagogique:: #TODO# -Signature de la Convention:: #TODO# -Avenant:: #TODO# -PDF Avenant:: #TODO# -Évaluation de stage:: #TODO# -Modèle de convention:: #TODO# -Modèle d’avenant:: #TODO# -Modèle de mail:: #TODO# -Etablissement d’accueil:: #TODO# -Etape : VET:: #TODO# -UFR:: #TODO# -Critères de gestion:: #TODO# -Type de convention:: #TODO# - -== Décisions Stratégique - -* Un stage a toujours une convention - -== Flux -=== Flux Entrant - -==== Application de signature électronique - -.Messages -** PDF *signés* -*** Convention -*** Avenant - -.Systèmes (1 seul au choix, configuration) -* Esup-signature ou _autre_ -** API serveur et client dans une séquence -CAUTION: Lien vers doc(s) à trouver _svp_ -* Docaposte -** [JAX-RS client, WSDL] - - -==== Esup-siscol - -[plantuml] -.... -left to right direction -card e_ins as "Étudiant inscrit\n(Apogée)" -card esup_siscol as "Esup-siscol" -card esup_stage as "Esup-Stage" -e_ins <-0)- esup_siscol: "WS Apogée" -esup_siscol <-0)- esup_stage -.... - -//'@startuml -//'card e_ins as "Étudiant inscrit (Apogée)" -//' -//'interface ws_apo as "WS Apogée" -//' -//'card siscol as Esup-siscol -//' -//'e_ins -> ws_apo -//' -//'' Etudiant inscrit (Apogée) ← WS Apogée← Esup-siscol ← Esup-Stage -//'@enduml - - -=== Flux Sortant - -==== Application de signature (_c.f._ flux entrant) - -** PDF *à signer* -*** Convention -*** Avenant - -.Systèmes (1 seul au choix, configuration) -* Esup-signature ou _autre_ -** API serveur et client dans une séquence -CAUTION: Lien vers doc(s) à trouver _svp_ -* Docaposte -** [JAX-RS client, WSDL] - +:reftext: Documentation technique +:navtitle: Documentation technique + +**** +ESUP-Stage est l'application qui permet aux étudiants de créer et faire signer +leur(s) convention(s) de stage. Développée dans une technologie moderne, cette +solution est prévue pour s'interconnecter avec l'annuaire LDAP des +établissements ainsi qu'Apogée dans un premier temps. Des travaux sont en cours +avec les équipes PC-Scol pour assurer une compatibilité avec Pégase. + +* Interface utilisateur modernisée, +* facilité de configuration de l'application selon les besoins de chaque +établissement, +* gestion fine des droits d'utilisateur, +* matérialisation des étapes de création d'une convention ergonomique. +* Par ailleurs, le périmètre d'utilisation de l'application s'élargit en +permettant son utilisation par les INSPÉ avec notamment la possibilité +de créer des conventions de stage en masse. +* Ouverture vers la dématérialisation des signatures +* La dématérialisation du processus de création et validation des conventions est au cœur des préoccupations du groupe de travail œuvrant pour le développement et l'évolution de ESUP-Stage. Aussi arrivera prochainement la possibilité d'interfacer via un webservice la solution ESUP-Signature ou toute solution commerciale compatible. +**** + +== xref:vocabulaire.adoc[] +== xref:decisions.adoc[] +== xref:flux.adoc[] +== xref:archi-tech.adoc[] diff --git a/src/docs/modules/ROOT/pages/vocabulaire.adoc b/src/docs/modules/ROOT/pages/vocabulaire.adoc new file mode 100644 index 00000000..58e244a0 --- /dev/null +++ b/src/docs/modules/ROOT/pages/vocabulaire.adoc @@ -0,0 +1,117 @@ += Vocabulaire du domaine de Esup-Stage +:author: Université Lorraine +:imagesdir: ../images/ +:reftext: Vocabulaire +:navtitle: Vocabulaire + +Établissement:: Organisme d'enseignement ou formation +qui gère administrativement les stages dans l'application Esup-Stage. + +Stage:: +est effectué par un étudiant dans un établissement d’accueil pour une durée +limitée. ++ +TIP: Dans l'application, +c'est la convention qui articule la gestion administrative du stage. + +Convention (de stage):: +description administrative d'un stage qui définit les responsabilités des +différentes parties, en général adossé à un document écrit contractuel. +Les données saisies pour la convention sont utilisées +pour le suivi administratif du stage. ++ +TIP: Est liée à un centre de gestion via les critères du centre de gestion. + +Validation::: +* S’il s’agit d’une convention saisie par l’étudiant, la convention est validée +selon le paramétrage effectué au niveau du centre de gestion. +* S’il s’agit d’une +convention issue d’une création en masse par le gestionnaire, elle est déjà validée. +Suivant le paramétrage défini dans centre de gestion : #TODO: À PRÉCISER MIEUX s.v.p.# +Validation pédagogique:::: #TODO: À DÉFINIR# +Validation administrative:::: #TODO: À DÉFINIR# + +PDF Convention::: document écrit dématérialisé de la convention de stage (a +vocation à être signé). ++ +TIP: il est définitif une fois signé. + +Signature de la Convention:::: #TODO: À DÉFINIR# +Type de convention::: #TODO: À DÉFINIR# + +Avenant::: #TODO: À DÉFINIR# +Validation de l'avenant:::: #TODO: À DÉFINIR# +PDF Avenant:::: document écrit dématérialisé d'un avenant à la convention +(a vocation à être signé aussi). #TODO: À PRÉCISER UN PEU PLUS# + +Etablissement d’accueil::: +entreprise, administration, établissement scolaire, association ou tout autre +organisme amené à accueillir des étudiants en stage. + +Enseignant référent pour le stage::: l’enseignant référent est un enseignant de +l’Université responsable du stage. Il s’agit souvent de l’enseignant responsable +de l’étape (ou de la formation). Il est habilité à consulter tous les rapports +déposés (rapports de visites et rapport du tuteur professionnel) pour les stages +dont il est responsable. +Tuteur professionnel::: le tuteur appartient à l’établissement d’accueil. Il +n’accède pas à l’application ESUP-Stage. Il ne dispose pas nécessairement d’un +compte à l’université. Il n’accède pas à l’application ESUP-Stage. + +Étudiant:: de l’université inscrit à au moins une version d’étape +et pouvant effectuer des stages facultatifs ou obligatoires. +Groupe:: groupe d’étudiants *créé dans l'application* +à partir d’une sélection d’étudiants. + +Évaluation de stage:: #TODO: À DÉFINIR# + +Centre de gestion:: est une entité de l'établissement qui : +* regoupe un ensemble d’utilisateurs qui a la charge de gérer les stages +d’une partie de l’établissement : les gestionnaires. +* est associé à des étapes via des critères : +Critères de gestion::: un centre de gestion peut être associé +au niveau d'une UFR ou au niveau d'une étape. +Etape : VET (version d'étape):::: +fractionnement dans le temps d’un enseignement +conduisant éventuellement à un diplôme. + +Issue d’APOGEE. +UFR:::: Composante ou Unité de formation de l'établissement. +Gestionnaire (de scolarité)::: +utilisateur actuellement habilité dans ESUP-Stage à gérer les stages pour un ou plusieurs centres de gestion. + +Modèles:: +Paramétrables dans l'application avec des champs +-- substitués à l'édition (ou l'envoi) -- +qui peuvent être placés dans du texte enrichi. + +Modèle de convention::: +Définit l'édition du PDF de la convention. ++ +[TIP] +.Pour les fonctionnaires stagiaires : +==== +un INSPÉ créera un modèle de convention « INSPÉ stage sans convention ». +Ainsi même s’il n’y a pas de convention écrite pour le(s) stage(s), +ce modèle vide pourra être utilisé. +==== + +Modèle d’avenant::: Définit l'édition du PDF d'un avenant. + +Modèle de mail::: Définit les message de notifications par courriel. + +== À Classer (ou supprimer) + +Conventions en masse:: facilité de gestion administrative de création des +conventions par groupe d’étudiants quand la mise en stage est effectuée par les +gestionnaires. Le template de convention est actuellement choisi pour chaque +groupe. +Enseignant additionnel (?????):: +enseignants de l’Université disposant des mêmes droits de consultation que l’enseignant référent. +Responsable de scolarité (?????):: utilisateur actuellement habilité à gérer un ou +plusieurs centres de gestion et son paramétrage. ++ +[TIP] +.A l’INSPÉ, +==== +les responsables de bureau 1er degré et 2nd degré +seront déclarés responsables de scolarité. +==== From e6d5432a985eb2bea3257534d5495e1fb991416e Mon Sep 17 00:00:00 2001 From: Lucas-Thouvenot Date: Thu, 23 Jan 2025 08:26:26 +0100 Subject: [PATCH 07/16] versions actuelles de l'archi-tech --- src/docs/modules/ROOT/pages/archi-tech.adoc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/docs/modules/ROOT/pages/archi-tech.adoc b/src/docs/modules/ROOT/pages/archi-tech.adoc index d0736f69..48749980 100644 --- a/src/docs/modules/ROOT/pages/archi-tech.adoc +++ b/src/docs/modules/ROOT/pages/archi-tech.adoc @@ -13,20 +13,20 @@ Node "Esup - Stage" { Node "Frontend" as frontend { - [Angular 18] as angular - [Node 20] as Node + [Angular 14] as angular + [Node 16] as Node } Node "Backend" as backend { - [Spring boot 3.3.4] as spring - [Java 21] as java + [Spring boot 2.5.4] as spring + [Java 11] as java } } note top of "Esup - Stage" - Tomcat 10 + Tomcat 9 end note From d29c4dda6f57511c501ba173c4730935a381a99c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Raya=20D=C3=89CORNOD?= Date: Thu, 23 Jan 2025 09:33:51 +0100 Subject: [PATCH 08/16] table des matieres pour le vocabulaire --- src/docs/modules/ROOT/pages/vocabulaire.adoc | 116 +++++++++++-------- 1 file changed, 68 insertions(+), 48 deletions(-) diff --git a/src/docs/modules/ROOT/pages/vocabulaire.adoc b/src/docs/modules/ROOT/pages/vocabulaire.adoc index 58e244a0..a1a1e405 100644 --- a/src/docs/modules/ROOT/pages/vocabulaire.adoc +++ b/src/docs/modules/ROOT/pages/vocabulaire.adoc @@ -4,88 +4,123 @@ :reftext: Vocabulaire :navtitle: Vocabulaire -Établissement:: Organisme d'enseignement ou formation +== Établissement +Organisme d'enseignement ou formation qui gère administrativement les stages dans l'application Esup-Stage. -Stage:: +== Stage est effectué par un étudiant dans un établissement d’accueil pour une durée limitée. -+ + TIP: Dans l'application, c'est la convention qui articule la gestion administrative du stage. -Convention (de stage):: +== Convention (de stage) description administrative d'un stage qui définit les responsabilités des différentes parties, en général adossé à un document écrit contractuel. Les données saisies pour la convention sont utilisées pour le suivi administratif du stage. -+ + TIP: Est liée à un centre de gestion via les critères du centre de gestion. -Validation::: +=== Validation * S’il s’agit d’une convention saisie par l’étudiant, la convention est validée selon le paramétrage effectué au niveau du centre de gestion. * S’il s’agit d’une convention issue d’une création en masse par le gestionnaire, elle est déjà validée. Suivant le paramétrage défini dans centre de gestion : #TODO: À PRÉCISER MIEUX s.v.p.# -Validation pédagogique:::: #TODO: À DÉFINIR# -Validation administrative:::: #TODO: À DÉFINIR# -PDF Convention::: document écrit dématérialisé de la convention de stage (a +==== Validation pédagogique +#TODO: À DÉFINIR# + +==== Validation administrative +#TODO: À DÉFINIR# + +=== PDF Convention +document écrit dématérialisé de la convention de stage (a vocation à être signé). -+ + TIP: il est définitif une fois signé. -Signature de la Convention:::: #TODO: À DÉFINIR# -Type de convention::: #TODO: À DÉFINIR# +==== Signature de la Convention +#TODO: À DÉFINIR# + +=== Type de convention +#TODO: À DÉFINIR# -Avenant::: #TODO: À DÉFINIR# -Validation de l'avenant:::: #TODO: À DÉFINIR# -PDF Avenant:::: document écrit dématérialisé d'un avenant à la convention +=== Avenant +#TODO: À DÉFINIR# + +==== Validation de l'avenant +#TODO: À DÉFINIR# + +==== PDF Avenant +document écrit dématérialisé d'un avenant à la convention (a vocation à être signé aussi). #TODO: À PRÉCISER UN PEU PLUS# -Etablissement d’accueil::: +=== Etablissement d’accueil entreprise, administration, établissement scolaire, association ou tout autre organisme amené à accueillir des étudiants en stage. -Enseignant référent pour le stage::: l’enseignant référent est un enseignant de +=== Enseignant référent pour le stage +l’enseignant référent est un enseignant de l’Université responsable du stage. Il s’agit souvent de l’enseignant responsable de l’étape (ou de la formation). Il est habilité à consulter tous les rapports déposés (rapports de visites et rapport du tuteur professionnel) pour les stages dont il est responsable. -Tuteur professionnel::: le tuteur appartient à l’établissement d’accueil. Il + +=== Tuteur professionnel +le tuteur appartient à l’établissement d’accueil. Il n’accède pas à l’application ESUP-Stage. Il ne dispose pas nécessairement d’un compte à l’université. Il n’accède pas à l’application ESUP-Stage. -Étudiant:: de l’université inscrit à au moins une version d’étape +== Étudiant +de l’université inscrit à au moins une version d’étape et pouvant effectuer des stages facultatifs ou obligatoires. -Groupe:: groupe d’étudiants *créé dans l'application* + +== Groupe +groupe d’étudiants *créé dans l'application* à partir d’une sélection d’étudiants. -Évaluation de stage:: #TODO: À DÉFINIR# +=== Conventions en masse +facilité de gestion administrative de création des +conventions par groupe d’étudiants losque la mise en stage est effectuée par des +gestionnaires. + +Le template de convention est actuellement choisi pour chaque groupe. -Centre de gestion:: est une entité de l'établissement qui : +== Évaluation de stage +#TODO: À DÉFINIR# + +== Centre de gestion +est une entité de l'établissement qui : * regoupe un ensemble d’utilisateurs qui a la charge de gérer les stages d’une partie de l’établissement : les gestionnaires. * est associé à des étapes via des critères : -Critères de gestion::: un centre de gestion peut être associé + +=== Critères de gestion +un centre de gestion peut être associé au niveau d'une UFR ou au niveau d'une étape. -Etape : VET (version d'étape):::: + +==== Etape : VET (version d'étape) fractionnement dans le temps d’un enseignement conduisant éventuellement à un diplôme. + Issue d’APOGEE. -UFR:::: Composante ou Unité de formation de l'établissement. -Gestionnaire (de scolarité)::: + +==== UFR +Composante ou Unité de formation de l'établissement. + +=== Gestionnaire (de scolarité) utilisateur actuellement habilité dans ESUP-Stage à gérer les stages pour un ou plusieurs centres de gestion. -Modèles:: +== Modèles Paramétrables dans l'application avec des champs -- substitués à l'édition (ou l'envoi) -- qui peuvent être placés dans du texte enrichi. -Modèle de convention::: +=== Modèle de convention Définit l'édition du PDF de la convention. -+ + [TIP] .Pour les fonctionnaires stagiaires : ==== @@ -94,24 +129,9 @@ Ainsi même s’il n’y a pas de convention écrite pour le(s) stage(s), ce modèle vide pourra être utilisé. ==== -Modèle d’avenant::: Définit l'édition du PDF d'un avenant. - -Modèle de mail::: Définit les message de notifications par courriel. +=== Modèle d’avenant +Définit l'édition du PDF d'un avenant. -== À Classer (ou supprimer) +=== Modèle de mail +Définit les message de notifications par courriel. -Conventions en masse:: facilité de gestion administrative de création des -conventions par groupe d’étudiants quand la mise en stage est effectuée par les -gestionnaires. Le template de convention est actuellement choisi pour chaque -groupe. -Enseignant additionnel (?????):: -enseignants de l’Université disposant des mêmes droits de consultation que l’enseignant référent. -Responsable de scolarité (?????):: utilisateur actuellement habilité à gérer un ou -plusieurs centres de gestion et son paramétrage. -+ -[TIP] -.A l’INSPÉ, -==== -les responsables de bureau 1er degré et 2nd degré -seront déclarés responsables de scolarité. -==== From 56b396e6503bc54b9156ef2e0593d89005765ef3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Raya=20D=C3=89CORNOD?= Date: Thu, 23 Jan 2025 09:51:15 +0100 Subject: [PATCH 09/16] =?UTF-8?q?integration=20de=20big=20picture=20event-?= =?UTF-8?q?storming=20=C3=A0=20la=20doc=20tech?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0250121.jpg.jpeg => event-storming-20250121.jpg} | Bin src/docs/modules/ROOT/nav.adoc | 3 ++- src/docs/modules/ROOT/pages/event-storming.adoc | 5 +++++ 3 files changed, 7 insertions(+), 1 deletion(-) rename src/docs/modules/ROOT/images/{event-storming-20250121.jpg.jpeg => event-storming-20250121.jpg} (100%) create mode 100644 src/docs/modules/ROOT/pages/event-storming.adoc diff --git a/src/docs/modules/ROOT/images/event-storming-20250121.jpg.jpeg b/src/docs/modules/ROOT/images/event-storming-20250121.jpg similarity index 100% rename from src/docs/modules/ROOT/images/event-storming-20250121.jpg.jpeg rename to src/docs/modules/ROOT/images/event-storming-20250121.jpg diff --git a/src/docs/modules/ROOT/nav.adoc b/src/docs/modules/ROOT/nav.adoc index ec55a1b9..26d09497 100644 --- a/src/docs/modules/ROOT/nav.adoc +++ b/src/docs/modules/ROOT/nav.adoc @@ -2,4 +2,5 @@ * xref::vocabulaire.adoc[] * xref::decisions.adoc[] * xref::flux.adoc[] -* xref::archi-tech.adoc[] \ No newline at end of file +* xref::archi-tech.adoc[] +* xref::event-storming.adoc[] \ No newline at end of file diff --git a/src/docs/modules/ROOT/pages/event-storming.adoc b/src/docs/modules/ROOT/pages/event-storming.adoc new file mode 100644 index 00000000..b44b600f --- /dev/null +++ b/src/docs/modules/ROOT/pages/event-storming.adoc @@ -0,0 +1,5 @@ += Big Picture Event Storming +:author: Université Lorraine +:imagesdir: ../images/ + +image::event-storming-20250121.jpg[event-storming] From e5a687cb6bf552f053ed36863d374ae8dadd81da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Raya=20D=C3=89CORNOD?= Date: Thu, 23 Jan 2025 09:52:22 +0100 Subject: [PATCH 10/16] =?UTF-8?q?suppr=20$=20=C3=A0=20propos=20de=20evol?= =?UTF-8?q?=20pegase=20de=20l'intro?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/docs/modules/ROOT/pages/index.adoc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/docs/modules/ROOT/pages/index.adoc b/src/docs/modules/ROOT/pages/index.adoc index fa762b2f..3699347d 100644 --- a/src/docs/modules/ROOT/pages/index.adoc +++ b/src/docs/modules/ROOT/pages/index.adoc @@ -8,8 +8,7 @@ ESUP-Stage est l'application qui permet aux étudiants de créer et faire signer leur(s) convention(s) de stage. Développée dans une technologie moderne, cette solution est prévue pour s'interconnecter avec l'annuaire LDAP des -établissements ainsi qu'Apogée dans un premier temps. Des travaux sont en cours -avec les équipes PC-Scol pour assurer une compatibilité avec Pégase. +établissements ainsi qu'Apogée dans un premier temps. * Interface utilisateur modernisée, * facilité de configuration de l'application selon les besoins de chaque @@ -20,7 +19,11 @@ avec les équipes PC-Scol pour assurer une compatibilité avec Pégase. permettant son utilisation par les INSPÉ avec notamment la possibilité de créer des conventions de stage en masse. * Ouverture vers la dématérialisation des signatures -* La dématérialisation du processus de création et validation des conventions est au cœur des préoccupations du groupe de travail œuvrant pour le développement et l'évolution de ESUP-Stage. Aussi arrivera prochainement la possibilité d'interfacer via un webservice la solution ESUP-Signature ou toute solution commerciale compatible. +* La dématérialisation du processus de création et validation des conventions +est au cœur des préoccupations du groupe de travail œuvrant pour le +développement et l'évolution de ESUP-Stage. Aussi arrivera prochainement la +possibilité d'interfacer via un webservice la solution ESUP-Signature ou toute +solution commerciale compatible. **** == xref:vocabulaire.adoc[] From bcc2b5a96b1ff6c6a0bdbc7ff6ed92b0672f9f51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Raya=20D=C3=89CORNOD?= Date: Thu, 23 Jan 2025 12:31:24 +0100 Subject: [PATCH 11/16] =?UTF-8?q?int=C3=A9gration=20de=20la=20doc=20du=20w?= =?UTF-8?q?iki=20dans=20la=20doc=20technique=20(antora)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../001a98b2-ec5e-4a2c-b24e-b6a0911f6196.png | Bin 0 -> 47701 bytes .../366f4814-a881-435b-9fcd-57195695b1bd.png | Bin 0 -> 13570 bytes .../fe18f0b8-1f06-4c17-813e-bc8868b60c62.png | Bin 0 -> 22471 bytes src/docs/modules/ROOT/nav.adoc | 7 +- .../Docaposte_Signature-electronique.adoc | 233 ++++++++++++++++++ .../modules/ROOT/pages/wiki/ESUP-SISCOL.adoc | 177 +++++++++++++ .../modules/ROOT/pages/wiki/ESUP-STAGE.adoc | 185 ++++++++++++++ ...ion-des-conditions-dans-les-templates.adoc | 46 ++++ .../pages/wiki/Liste-des-changements.adoc | 26 ++ .../modules/ROOT/pages/wiki/Prerequis.adoc | 174 +++++++++++++ ...rocessus-de-creation-d-un-utilisateur.adoc | 15 ++ src/docs/modules/ROOT/pages/wiki/index.adoc | 62 +++++ 12 files changed, 924 insertions(+), 1 deletion(-) create mode 100644 src/docs/modules/ROOT/images/wiki/001a98b2-ec5e-4a2c-b24e-b6a0911f6196.png create mode 100644 src/docs/modules/ROOT/images/wiki/366f4814-a881-435b-9fcd-57195695b1bd.png create mode 100644 src/docs/modules/ROOT/images/wiki/fe18f0b8-1f06-4c17-813e-bc8868b60c62.png create mode 100644 src/docs/modules/ROOT/pages/wiki/Docaposte_Signature-electronique.adoc create mode 100644 src/docs/modules/ROOT/pages/wiki/ESUP-SISCOL.adoc create mode 100644 src/docs/modules/ROOT/pages/wiki/ESUP-STAGE.adoc create mode 100644 src/docs/modules/ROOT/pages/wiki/Gestion-des-conditions-dans-les-templates.adoc create mode 100644 src/docs/modules/ROOT/pages/wiki/Liste-des-changements.adoc create mode 100644 src/docs/modules/ROOT/pages/wiki/Prerequis.adoc create mode 100644 src/docs/modules/ROOT/pages/wiki/Processus-de-creation-d-un-utilisateur.adoc create mode 100644 src/docs/modules/ROOT/pages/wiki/index.adoc diff --git a/src/docs/modules/ROOT/images/wiki/001a98b2-ec5e-4a2c-b24e-b6a0911f6196.png b/src/docs/modules/ROOT/images/wiki/001a98b2-ec5e-4a2c-b24e-b6a0911f6196.png new file mode 100644 index 0000000000000000000000000000000000000000..1a2f21e6d7b875dc9d40a15e4ef8a315710a3939 GIT binary patch literal 47701 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 literal 0 HcmV?d00001 diff --git a/src/docs/modules/ROOT/images/wiki/366f4814-a881-435b-9fcd-57195695b1bd.png b/src/docs/modules/ROOT/images/wiki/366f4814-a881-435b-9fcd-57195695b1bd.png new file mode 100644 index 0000000000000000000000000000000000000000..efd1bec8e525a69fb2f0fc68d1d0858e4e0ed587 GIT binary patch literal 13570 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 L>)u7FS%v-|=lq<=c&%);NTG6Rgh7`!8tvJ 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 z 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 F${){)ocRC% literal 0 HcmV?d00001 diff --git a/src/docs/modules/ROOT/nav.adoc b/src/docs/modules/ROOT/nav.adoc index 26d09497..4fabd346 100644 --- a/src/docs/modules/ROOT/nav.adoc +++ b/src/docs/modules/ROOT/nav.adoc @@ -3,4 +3,9 @@ * xref::decisions.adoc[] * xref::flux.adoc[] * xref::archi-tech.adoc[] -* xref::event-storming.adoc[] \ No newline at end of file +* xref::event-storming.adoc[] +* ESUP STAGE +** xref::wiki/index.adoc[Home] +** xref::wiki/Prerequis.adoc[Prérequis] +** xref::wiki/ESUP-SISCOL.adoc[ESUP-SISCOL] +** xref::wiki/ESUP-STAGE.adoc[ESUP-STAGE] diff --git a/src/docs/modules/ROOT/pages/wiki/Docaposte_Signature-electronique.adoc b/src/docs/modules/ROOT/pages/wiki/Docaposte_Signature-electronique.adoc new file mode 100644 index 00000000..7843fc75 --- /dev/null +++ b/src/docs/modules/ROOT/pages/wiki/Docaposte_Signature-electronique.adoc @@ -0,0 +1,233 @@ += Signature Électronique Docaposte +:imagesdir: ../../images + +== Tomcat certificats + +Documentation d'aide à la configuration des certificats TLS gérés du process Java relatif à Esup-Stage. + +=== Définitions + +Java sépare le magasin de certificats à utiliser en 2 catégories : + +* keystore : magasin de certificats qui contient des clés privées d'authentification ou de sécurité +* truststore : magasin de certificats qui contient les certificats publics qui sont acceptés + +Ces 2 magasins sont stockés dans des fichiers de type JKS ou PKCS12 + +=== Edition de votre truststore + +Les applications tomcat devront accepter certains certificats pour pouvoir accepter les appels web vers d'autres services de votre SI. + +L'application Esup-Stage aura surement besoin de se connecter à votre serveur d'authentification SSO en HTTPS (certificat TLS), il faut donc rajouter la confiance de l'Autorité Certification (AC) qui émet les certificats de votre établissement dans le truststore dédié au tomcat. + +Nous allons pour cela créer un fichier truststore avec la chaine de certificat de l'AC émettant les certificats de votre établissement + +* Récupérez le fichier ca.crt de l'AC de votre établissement + +Pour l'exemple de création du truststore, nous avons pris le mot de passe 'my_password' mais ceci reste à votre libre choix. + +. Découpez la chaîne des certificats publics contenu dans le fichier ca.crt** ++ +[source,console] +---- +[user@computer ~/tmp]$ csplit -s -z -f cacrt- ca.crt '/-----BEGIN CERTIFICATE-----/' '{*}' +[user@computer ~/tmp]$ ls -1 +cacrt-00 +cacrt-01 +ca.crt +---- + +. Créez/Importez la série des certificats issus du ca.crt dans un nouveau truststore ++ +[source,console] +---- +[user@computer ~/tmp]$ ls -1 cacrt-* | while read item; do \ + echo "Import un certificat de la chaine de certification '${item}' :"; \ + keytool -keystore truststore.jks -storepass my_password \ + -alias ${item} -import -noprompt -file ${item}; \ + done +Import un certificat de la chaine de certification 'cacrt-00' : +Certificate was added to keystore +Import un certificat de la chaine de certification 'cacrt-01' : +Certificate was added to keystore +[user@computer ~/tmp]$ +---- + +. Vérifiez le contenu du truststore + ++ +[source,console] +---- +[user@computer ~/tmp]$ keytool -list -v -keystore truststore.jks -storepass my_password \ + | grep -C 5 'Entry type: trustedCertEntry' \ + | grep -E '^(Alias name|Entry type|Issuer|Valid from):' +Alias name: cacrt-00 +Entry type: trustedCertEntry +Issuer: ... +Valid from: ... +Alias name: cacrt-01 +Entry type: trustedCertEntry +Issuer: ... +Valid from: ... +[user@computer ~/tmp]$ +---- + +. Ajoutez un autre service avec son certificat public + +Si vous avez d'autres services HTTPS n'utilisant pas le CA de votre établissement, vous pouvez importer le certificat de service externe dans votre truststore. ++ +* récupérez le certificat de ce service externe +* importez ce fichier certificat manuellement dans le truststore + +.Exemple avec l'API de test de Docaposte +. Récupérez le certificat ++ +[source,console] +---- +[user@computer ~/tmp]$ openssl s_client -showcerts -connect demo-parapheur.dfast.fr:443 /dev/null|openssl x509 -outform PEM > demo-parapheur.pem +---- + +. Ajout au magasin trustore ++ +[source,console] +---- +[user@computer ~/tmp]$ keytool -keystore truststore.jks -storepass my_password \ + -alias 'demo-parapheur' -import -noprompt -file demo-parapheur.pem +Certificate was added to keystore +[user@computer ~/tmp]$ +---- + +. Exportez votre truststore + +Exportez ce fichier 'truststore.jks' vers votre serveur esup-stage et retenez le mot de passe de celui-ci. ++ +* Reportez cette config du truststore dans la variable 'CATALINA_OPTS' de votre tomcat (voir section suivante 'Lanceur Tomcat') +* Reportez cette config du truststore dans la config d'esup-stage, voir les propriétés 'docaposte.truststore.*' dans le fichier /etc/estage/estage.properties + +== Lanceur Tomcat + +Le tomcat doit être lancé avec les paramètres indiquant les paramètres de chargement du truststore. + +Votre fichier de configuration devra contenir les variables 'CATALINA_OPTS' de lancement suivante : + +* `javax.net.ssl.trustStore` : chemin du fichier truststore +* `javax.net.ssl.trustStoreType` : type de magazin (JKS ou PKCS12) +* `javax.net.ssl.trustStorePassword` : mot de passe associé à votre fichier magazin truststore + +Exemple avec un apache-tomcat-9.0 packagé en Red Hat + +* /etc/sysconfig/tomcat9.0 +[source,shell] +---- +CATALINA_OPTS=" -Xms2048m -Xmx4096m ... -Djavax.net.ssl.trustStore=/etc/ssl/catalina.truststore -Djavax.net.ssl.trustStoreType=JKS -Djavax.net.ssl.trustStorePassword=my_password ... " +---- +Exemple à partir d'un apache-tomcat binaire récupérer sur le site [Apache Tomcat](https://tomcat.apache.org/) + +* `${CATALINA_HOME}/bin/setenv.sh` (fichier exécutable à créer si inexistant) +[source,shell] +---- + +# TOMCAT > MEMOIRE +export CATALINA_OPTS="$CATALINA_OPTS -Xms2048m -Xmx4096m" +... +# TOMCAT > TRUSTSTORE certificats acceptés +export CATALINA_OPTS="$CATALINA_OPTS -Djavax.net.ssl.trustStore=/etc/ssl/catalina.truststore" +export CATALINA_OPTS="$CATALINA_OPTS -Djavax.net.ssl.trustStoreType=JKS" +export CATALINA_OPTS="$CATALINA_OPTS -Djavax.net.ssl.trustStorePassword=my_password" +---- + +Vérifiez que les variables sont bien chargées après le redémarrage du tomcat + +[source,console] +---- +[root@server ~]# ps aux | grep tomcat +tomcat ... /usr/bin/java ... -Djavax.net.ssl.trustStore=/etc/ssl/catalina.truststore -Djavax.net.ssl.trustStoreType=JKS -Djavax.net.ssl.trustStorePassword=my_password ... +[root@server ~]# +---- + +== Module Docaposte + +Pour le module "Docaposte" intégré dans https://github.com/EsupPortail/esup-stage/[esup-stage], le service "Docaposte" via l'organisme certificateur (Certinomis, ChamberSign, ...) vous a normalement fourni un fichier avec l'extension '.p12' (au format PKCS12) nécessaire à l'authentification auprès du service. + +Tout d'abord, il faut vérifier la validité de ce fichier 'certificat.p12' qui doit contenir la clé privée d'authentification et les certificats publics associés. + +* Vérification de la présence d'une clé privée valide dans le fichier 'certificat.p12': Pour le module "Docaposte" intégrer dans https://github.com/EsupPortail/esup-stage/[esup-stage], le service "Docaposte" via l'organisme certificateur (Certinomis, ChamberSign, ...) vous a normalement fourni un fichier avec l'extension '.p12' (au format PKCS12) nécessaire à l'authentification auprès du service. +Tout d'abord, il faut vérifier la validité de ce fichier 'certificat.p12' qui doit contenir la clé privée d'authentification et les certificats publics associés. +* Vérification de la présence d'une clé privée valide dans le fichier 'certificat.p12': ++ +[source,console] +---- +[root@server ~]# keytool -list -v -keystore /data/certificat.p12 -storepass my_password \ + | grep -C 6 '^Entry type: PrivateKeyEntry' \ + | grep -E '^(Alias name|Creation date|Entry type|Owner|Issuer|Valid from):' +Alias name: 1 +Creation date: May 16, 2023 +Entry type: PrivateKeyEntry +Owner: ... +Issuer: ... +Valid from: Tue Nov 22 08:12:07 CET 2022 until: Thu Nov 21 08:12:07 CET 2024 +[root@server ~]# +---- + +* Vérification de la présence des certificats publics présents dans le fichier 'certificat.p12' : ++ +[source,console] +---- +[root@server ~]# openssl pkcs12 -in certificat.p12 -out docaposte.crt -nodes +Enter Import Password: ***** +[root@server ~]# cat docaposte.crt +... +-----BEGIN CERTIFICATE----- +... +-----END CERTIFICATE----- +... +-----BEGIN CERTIFICATE----- +... +-----END CERTIFICATE----- +[root@server ~]# +---- + +== Paramétrage dans ESUP-Stage + +=== Fichier estage.properties + +Dans le fichier `/etc/estage/estage.properties` du serveur ESUP-Stage, complétez les informations suivantes : + +[source,properties] +---- +# uri vers le webservice Docaposte +docaposte.uri=https://demo-parapheur.dfast.fr/parapheur-soap/soap/v1/Documents +# numéro siren fourni par Docaposte +docaposte.siren=0123456789 +# chemin absolu du fichier .p12 +docaposte.keystore.path=/data/certificat.p12 +# mot de passe permettant la lecture du fichier p12 +docaposte.keystore.password=xxx +# chemin absolu du fichier .pks +docaposte.truststore.path=/data/ProductionFAST.jks +# mot de passe permettant la lecture du fichier jks +docaposte.truststore.password=xxx +---- + +=== Centre de gestion + +Au niveau de chaque centre de gestion qui doit donner droit à la signature électronique, renseignez dans l'onglet Signature électronique le code du circuit de signature paramétré dans Docaposte. Pour ce faire : + +* Rendez-vous à l'emplacement _Centre de gestion > Liste des centre de gestion_ puis sélectionnez un centre de gestion. +* Dans ce centre de gestion, rendez vous dans l'onglet _Signature électronique_. + +Dans l'_Ordre de signature_, vous pouvez changer l'ordre des signataires à l'aide de la croix multidirectionnelle qui s'affiche en survolant avec la souris le nombre précédent l'intitulé du signataire. + +Dans cette version, il n'est possible d'utiliser que des signatures OTP. Cela signifie que chaque signataire recevra un mail ou sms l'invitant à signer électroniquement la convention. La signature automatique (signature serveur) n'est pas prise en charge. + +=== Contrôle des métadonnées + +Dans Fast, vous avez la possibilité de contrôler la bonne transmission des métadonnées en allant dans le répertoire + +* Preuve => Cliquez sur un document dans la rubrique "A signer(OTP) puis en bas de page vous verrez le lien "Preuve". Dans une des pages s'afficheront les métadonnées. +* OTP => Cliquez sur un document dans la rubrique "A signer(OTP) puis en bas de page vous verrez le lien "OTP". Seront affichées toutes les métadonnées disponibles. Si l'étape de signature associée à l'OTP n'a pas encore été dépassée, vous pouvez modifier manuellement les métadonnées. Cela est utile en cas d'erreur de saisi dans ESUP-Stage. + +=== Certificat personnel + +Il est possible de faire signer une convention avec le certificat personnel d'un utilisateur. Pour ce faire, vous devez choisir dans le paramétrage du centre de gestion le paramètre "Signature serveur". Dans Fast, vous devez renseigner à l'étape de signature concernée le paramètre Signature. +Exemple de paramétrage d'un centre de gestion avec un workflow incluant une signature personnel (signature de l'étudiant) : +image:wiki/001a98b2-ec5e-4a2c-b24e-b6a0911f6196.png[image] + +Même exemple de workflow avec 4 signatures OTP et une signature avec un certificat personnel du côté de Fast +image:wiki/366f4814-a881-435b-9fcd-57195695b1bd.png[image] diff --git a/src/docs/modules/ROOT/pages/wiki/ESUP-SISCOL.adoc b/src/docs/modules/ROOT/pages/wiki/ESUP-SISCOL.adoc new file mode 100644 index 00000000..aecd6f16 --- /dev/null +++ b/src/docs/modules/ROOT/pages/wiki/ESUP-SISCOL.adoc @@ -0,0 +1,177 @@ += ESUP SISCOL + +Cette application expose à l'application ESUP-STAGE des API REST (OPEN API - Swagger). Ainsi seule ESUP SIScol fait des accès au SI de l'établissement (Annuaire LDAP et Apogée). + +[discrete] +=== Versions + +* APOGEE `6.4.x` +* JDK `11`, `8` +* APOGEE WS `62031` ...`62070` + +[discrete] +=== Installation du JAR client WS-APOGEE + +_Avant de commencer l'installation, il faut vous procurer le client Web service Apogée soit auprès des collègues qui déploient Apogée dans votre établissement ou directement auprès de l'AMUE. Les WebServices Apogée doivent être installés selon les préconisations de l'AMUE et fonctionnelles sinon, il n'est pas nécessaire d'aller plus loin..._ + +*Le jar client apo-webservices-client doit correspondre au web-service Apogée installé.* Votre fichier apo-webservices-client{mettre la version}.jar doit être installé ainsi : + +[source,shell] +---- +mvn install:install-file -Dfile=apo-webservices-client{mettre la version}.jar -DgroupId=gouv.education.apogee -DartifactId=apo-webservices-client -Dversion={mettre la version} -Dpackaging=jar +---- + +[discrete] +=== Clonage et installation + +[source,shell] +---- +cd /opt +git clone https://github.com/EsupPortail/esup-siscol.git esup-siscol +---- + +Il faut ajouter la bonne dépendance vers votre numéro de version du client Apogée, ex. 62070 au lieu de "*version-ws-apogee-a-définir-ici*" dans le pom.xml. + +[source,xml] +---- + + gouv.education.apogee + apo-webservices-client + version-ws-apogee-a-définir-ici + +---- + +[discrete] +=== Fichier de paramétrage + +Nous allons créer un répertoire où nous placerons les fichiers de configurations de l'application esup-siscol : + +[source,shell] +---- +mkdir /etc/esup-siscol +cp /opt/esup-siscol/src/main/resources/application.yml.sample /etc/esup-siscol/application.yml +---- + +.Fichier /etc/esup-siscol/application.yml +[source,yaml] +---- +spring: + ldap: + urls: + - ldap://ldap-paris.fr:389 + username: uid=xxxx,ou=admins,dc=u-paris10,dc=fr + password: xxxx + base: dc=u-paris10,dc=fr + +springdoc: + version: '@springdoc.version@' + api-docs: + groups: + enabled: true + swagger-ui: + + display-request-duration: true + groups-order: ASC + operationsSorter: method + disable-swagger-default-url: true + use-root-path: true + path: /swagger-ui.html + url: /api-docs.yaml + +server: + error: + include-exception: true + whitelabel: + enabled: true + path: /error.html + include-stacktrace: always + +app: + ldap: + stringFilterTeacher: (|(eduPersonAffiliation=teacher)(eduPersonAffiliation=faculty)) + stringFilterStudent: (eduPersonAffiliation=student) + stringFilterStaff: (eduPersonAffiliation=staff) + repoStringFilterStudent: (eduPersonAffiliation=student) + repoStringFilterStudentBySn: (&(eduPersonAffiliation=student)(sn={0})) + repoStringFilterStudentByUId: (&(eduPersonAffiliation=student)(uid={0})) + repoStringFilterStudentByNumEtu: (&(eduPersonAffiliation=student)(numlEtu={0})) + dnPeople: ou=people + + apogee: + startYearMonth: 09 + startYearDay: 01 + universityCode: UPN + urlService: + administratifMetier: http://wsapogee.monuniv.fr/aws/services/AdministratifMetier + etudiantMetier: http://wsapogee.monuniv.fr/aws/services/EtudiantMetier + pedagogiqueMetier: http://wsapogee.monuniv.fr/aws/services/PedagogiqueMetier + geographieMetier: http://wsapogee.monuniv.fr/aws/services/GeographieMetier + referentielMetier: http://wsapogee.monuniv.fr/aws/services/ReferentielMetier + offreFormationMetier: http://wsapogee.monuniv.fr/aws/services/OffreFormationMetier + + credential: + userscredential: + root: + username: root + password: un-super-mot-de-passe-a-remplacer-ici + roles: + - ADMIN + - USER + - USER_APOGEE + - USER_LDAP + autorisation: + supann: + - USER_LDAP + - ADMIN + referentiel: + - USER_APOGEE + - ADMIN + + cache: + # Chargement au demarrage des caches + onStartup: + # Active ou non, par defaut : false + enabled: true + # Time-To-Live du cache temporaire, en minutes, par defaut : 60 [minutes] + #ttl-tmp: + # Time-To-Live du cache permanent, en heures, par defaut : 0 [heures] + # Si 0, aucune limite de temps + #ttl-permanent: + # Cron pour un rechargement periodique des caches + scheduling: + # Active ou non, par defaut : false + enabled: false + # Expression cron, par defaut : aucune + cron: 0 0 7-22 * * * +---- + +Vous devez modifier en cohérence avec vos spécificités : + +* la section "LDAP" +* la section "APOGEE" en indiquant vos URL côté serveur WebService Apogée (installé en général par les administrateurs techniques Apogée) +* la section "credential" en modifiant votre mot de passe qui devra être renseigné aussi dans le fichier de configuration de l'application ESUP-STAGE + +[discrete] +=== Compilation et génération du WAR + +Pour compiler le projet et générer le WAR dans le répertoire "./target/", lancez les commandes : + +[source,shell] +---- +mvn clean compile +mvn install +---- + +[discrete] +=== Déploiement sur un serveur Tomcat : + +Si vous n'avez pas déjà installé votre serveur Tomcat, vous pouvez vous aider des prérequis de cette documentation. L'application ESUP SIScol peut-être déployée sur un serveur Tomcat indépendant (même serveur ou sur un autre serveur) ou utilisé le même serveur Tomcat que l'application ESUP Stage. + +Si votre Tomcat est installé sur le chemin suivant : \{tomcat_path}=/usr/share/tomcat, il faut copier votre fichier esup-siscol-x.x.x.war dans le webapp pour son déploiement : + +[source,shell] +---- +cp target/esup-siscol-x.x.x.war {tomcat_path}/webapps/esup-siscol.war +---- + +Après déploiement, vous pourrez y accéder à l'adresse : http://localhost:8080/esup-siscol diff --git a/src/docs/modules/ROOT/pages/wiki/ESUP-STAGE.adoc b/src/docs/modules/ROOT/pages/wiki/ESUP-STAGE.adoc new file mode 100644 index 00000000..f319f88d --- /dev/null +++ b/src/docs/modules/ROOT/pages/wiki/ESUP-STAGE.adoc @@ -0,0 +1,185 @@ += ESUP STAGE + +=== Prérequis + +Les xref:wiki/Prerequis.adoc[prérequis] sont les suivants sur votre serveur : + +. Git +. Java OpenJdk 11 +. Apache Maven +. Installation Mariadb +. Installation du projet Esup-SIscol (sur le même serveur ou sur un serveur dédié) + +=== Clonage du projet + +[source,shell] +---- +cd /opt +git clone https://github.com/EsupPortail/esup-stage.git +---- + +[#la-base-de-donnees] +=== La base de données + +==== Création de la base et de l'utilisateur + +[source,SQL] +---- +CREATE DATABASE estage; +CREATE USER 'esupstage_user'@'%' IDENTIFIED BY 'password'; +GRANT ALL PRIVILEGES ON estage.* TO 'esupstage_user'@'%'; +FLUSH PRIVILEGES; +---- + +==== Import de la base pStage et passage du patch + +Si vous n'avez pas de base pStage a reprendre, cette partie est inutile + +____ +Pour importer votre base pStage d'une installation en production, vous devez réaliser un dump, ici le fichier : + +mysql-pstage-2022-01-25-16h00.sql.gz +____ + +____ +Votre dump ne doit pas comporter de CREATE DATABASE ou USE DATABASE +____ + +Les commandes suivantes permettent d'importer votre dump (pStage) dans votre base estage (ESUP STAGE) : + +[source,shell] +---- +zcat /opt/estage/mysql-pstage-2022-01-25-16h00.sql.gz | mysql -u esupstage_user -p estage +cat /opt/estage/src/main/resources/db/changelog/init-changelog.sql | mysql -u esupstage_user -p estage +---- + +=== Modification du fichier de configuration + +[source,shell] +---- +cd /etc +mkdir estage +cd estage +cp /opt/esup-stage/etc/estage/estage-example.properties estage.properties +---- + +Modifier le fichier de configuration + +[source,properties] +---- +# parametres des URLs pour l'authentication CAS +cas.url.login=https://cas.monuniv.fr/cas/login?service={service} +cas.url.service=https://cas.monuniv.fr/cas/p3/serviceValidate?service={service}&ticket={ticket}&format=json +cas.url.logout=https://cas.monuniv.fr/cas/logout + +# parametres base de donnees +appli.datasource.url=jdbc:mariadb://monserversql.monuniv.fr:3306/estage +appli.datasource.username=estage +appli.datasource.password=xxx +appli.datasource.driver=org.mariadb.jdbc.Driver + +# url de l'application (notamment utilisée pour envoyer des liens par mail) +appli.url=http://esupstage.monuniv.fr:8080/frontend/#/ + +# logins des admin technique, séparés par des ; (utilisateurs à créer au 1er lancement pour paramétrer l'application) +appli.admin_technique=xxx;yyy + +# identifiant pour l'accès au web services référentiel (cela correspond aux identifiants du WS esup-SIscol) +referentiel.ws.login=root +referentiel.ws.password=xxx +# url du service LDAP +referentiel.ws.ldap_url=https://referentiel.monuniv.fr/ldap +# url du service Apogée +referentiel.ws.apogee_url=https://referentiel.monuniv.fr/apogee + +# mailer +appli.mailer.protocol=smtp +appli.mailer.host=smtp.monuniv.fr +appli.mailer.port=25 +appli.mailer.auth=true +appli.mailer.username=username@monuniv.fr +appli.mailer.password=xxx +appli.mailer.from=from@monuniv.fr +appli.mailer.disable_delivery=true +# paramètres pour le développement, par défaut disable_delivery=false, delivery_address=null +# si appli.mailer.disable_delivery=true alors l'envoi de mail est désactivé sinon si false alors l'envoi de mail est activé +appli.mailer.delivery_address=user@monuniv.fr +# Permet de rediriger les mails vers une adresse mail. Si adresse mail renseignée alors les mails sont redirigés vers cette adresse. Si null alors les mails sont envoyés aux utilisateurs. + +# chemin vers le dossier contenant les uploads +# pour les logos des centres de gestion il faut que le dossier ${appli.data_dir}/centregestion/logos soit existant sur le serveur +appli.data_dir=/data_esup_stage +---- + +____ +Remarque : il faut que l'utilisateur faisant tourner votre *Tomcat puisse avoir les droits en écriture sur le répertoire data_esup_stage* +____ + +=== Compilation du projet + +[source,shell] +---- +cd /opt/esup-stage +mvn -Dmaven.test.skip=true clean package +---- + +=== Déploiement / Lancement de l'application + +____ +Après la compilation, le chemin complet du fichier de déploiement est le suivant : /opt/estage/target/ROOT.war +____ + +==== Déploiement TOMCAT + +Cette documentation ne va pas décrire l'installation d'un Tomcat. ESUP STAGE a été déployé et testé sur une version TOMCAT 9 + +Vous pouvez télécharger tomcat ici : https://tomcat.apache.org/download-90.cgi + +Nous considérons par exemple le chemin du répertoire tomcat ainsi : /opt/tomcat-esup-stage + +Supprimer (ou déplacer une sauvegarde) votre répertoire /opt/tomcat-esup-stage/webapp/ROOT avant le déploiement + +Copier directement votre fichier /opt/estage/target/ROOT.war dans votre répertoire *webapp de tomcat* + +[source,shell] +---- +cp /opt/esupstage/target/ROOT.war /opt/tomcat-esup-stage/webapp/ +---- + +On arrête le tomcat avant et on le redémarre ensuite + +[source,shell] +---- +/opt/tomcat-esup-stage/bin/shutdown.sh +---- + +Pensez à paramétrer les espaces mémoire JVM : export JAVA\_OPTS="-Xms1024m -Xmx1024m -XX:MaxPermSize=256m" + +Démarrage : + + +[source,shell] +---- +/opt/tomcat-esup-stage/bin/startup.sh +---- + +Bravo, l'installation est terminée ! Vous pouvez y accéder sur http://localhost:8080 + +Lancement direct du war (ne pas utiliser : en cours de debug) java -jar /opt/estage/target/ROOT.war + +Dans le cas de l'utilisation d'un proxy (apache proxypass par exemple) il est conseillé d'utiliser le protocole AJP. + +Exemple de configuration Apache : + + +[source,apacheconf] +---- + + ServerAdmin admin@monuniv.fr + ServerName esup-stage.monuniv.fr + DefaultType text/html + ProxyRequests off + ProxyPreserveHost On + ProxyPass / http://localhost:8080/ + ProxyPassReverse / http://localhost:8080/ + +---- diff --git a/src/docs/modules/ROOT/pages/wiki/Gestion-des-conditions-dans-les-templates.adoc b/src/docs/modules/ROOT/pages/wiki/Gestion-des-conditions-dans-les-templates.adoc new file mode 100644 index 00000000..e1ec29a6 --- /dev/null +++ b/src/docs/modules/ROOT/pages/wiki/Gestion-des-conditions-dans-les-templates.adoc @@ -0,0 +1,46 @@ += Gestion des conditions dans les templates +:sectnums: +:imagesdir: ../../images + +Dans les modèles (templates) de convention de stage, il est possible d'afficher +les variables en fonction de conditions. Les conditions, pour fonctionner, +doivent respecter les règles suivantes : + +== Conditions simples + +[literal] +$IF condition +vContenu si la condition est vraie. +$ELSE +Contenu si la condition est fausse. +$ENDIF + +== Conditions multiples + +[literal] +$IF condition1 +Contenu si condition1 est vraie. +$ELSEIF condition2 +Contenu si condition2 est vraie. +$ELSE +Contenu si aucune condition n'est vraie. +$ENDIF + +== Utilisation avec des variables dynamiques + +[literal] +$IF user.name != '' +Bonjour, ${user.name} ! +$ELSE +Bonjour, utilisateur anonyme. +$ENDIF + +== La structure $IF ... $FI + +Cela encadre une condition. Si la condition est vraie, le contenu placé entre $IF et $ENDIF sera affiché. + + +== Opérateurs logiques + +image:wiki/fe18f0b8-1f06-4c17-813e-bc8868b60c62.png[image] + +WARNING: veuillez utiliser uniquement les simples quotes (pas celles courbées) lorsque vous utilisez cette syntaxe. diff --git a/src/docs/modules/ROOT/pages/wiki/Liste-des-changements.adoc b/src/docs/modules/ROOT/pages/wiki/Liste-des-changements.adoc new file mode 100644 index 00000000..29d0d873 --- /dev/null +++ b/src/docs/modules/ROOT/pages/wiki/Liste-des-changements.adoc @@ -0,0 +1,26 @@ += Liste des changements + +== Versions stables + +* https://github.com/EsupPortail/esup-stage[ESUP-Stage 2.1.9] +* https://github.com/EsupPortail/esup-siscol[ESUP-SIScol 1.0.28] + +''' + +== Version(s) à venir + +=== ESUP-Stage + +* Page d'erreur personnalisée - Gestion des cas ou favicon et logo possiblement null +* A la connexion : récupération du nom et prénom depuis le LDAP au lieu de pointer sur le retour du CAS + +=== ESUP-SIScol + +* {blank} + +== RAS + +== Releases passées + +* https://github.com/EsupPortail/esup-stage/releases[ESUP-Stage] +* https://github.com/EsupPortail/esup-siscol/releases[ESUP-SIScol] diff --git a/src/docs/modules/ROOT/pages/wiki/Prerequis.adoc b/src/docs/modules/ROOT/pages/wiki/Prerequis.adoc new file mode 100644 index 00000000..b50f2e0d --- /dev/null +++ b/src/docs/modules/ROOT/pages/wiki/Prerequis.adoc @@ -0,0 +1,174 @@ += Prérequis + +_Avant de lancer les installations, il est nécessaire de mettre en place un "écosystème" permettant de compiler, déployer et exécuter nos applications._ + +==== 1. Git + +Sur RHEL 8 / CentOS 8 + +[source,shell] +---- +yum install git +---- + +Sur Ubuntu 20.04 / Debian + +[source,shell] +---- +apt-get install git +---- + +==== 2. Java + +Version de java minimale : Java OpenJdk 11 (seul cette version a été testé pour ESUP Stage) + +===== Installation java OpenJdk 11 + +*Sous RHEL 8 / CentOS 8* + +[source,shell] +---- +sudo yum -y install java-11-openjdk java-11-openjdk-devel +---- + +Vérification de l'installation + +[,console] +---- +$ java -version +openjdk version "11.0.12" 2021-07-20 LTS +OpenJDK Runtime Environment 18.9 (build 11.0.12+7-LTS) +OpenJDK 64-Bit Server VM 18.9 (build 11.0.12+7-LTS, mixed mode, sharing) + +$ which java +/usr/bin/java +---- + +Définir les variables d'environnement Java + +[source,shell] +---- +sudo tee /etc/profile.d/java11.sh <>) : + +[source,properties] +---- +# url du service LDAP +referentiel.ws.ldap_url=https://referentiel.monuniv.fr/ldap +# url du service Apogée +referentiel.ws.apogee_url=https://referentiel.monuniv.fr/apogee +---- \ No newline at end of file diff --git a/src/docs/modules/ROOT/pages/wiki/Processus-de-creation-d-un-utilisateur.adoc b/src/docs/modules/ROOT/pages/wiki/Processus-de-creation-d-un-utilisateur.adoc new file mode 100644 index 00000000..2bc39b03 --- /dev/null +++ b/src/docs/modules/ROOT/pages/wiki/Processus-de-creation-d-un-utilisateur.adoc @@ -0,0 +1,15 @@ += Processus de création d'un utilisateur + +Voici la procédure de création des utilisateurs dans ESUP-Stage. Un utilisateur se connecte à l'application : + +. On recherche dans l'application s'il existe déjà +** S'il existe déjà alors il hérite du même rôle et des mêmes droits +** S'il n'existe pas, on passe à l'étape 2 +. On recherche l'utilisateur dans l'annuaire LDAP +** Ce sera un étudiant si /ldap/etudiant indique qu'il s'agit d'un étudiant +** Ce sera un enseignant si /ldap/tuteur/ indique qu'il s'agit d'un enseignant +** Ce sera un enseignant et gestionnaire si /ldap/tuteur/ indique qu'il s'agit d'un enseignant et qu'il est rattaché à un centre de gestion +** Si l'utilisateur n'est dans aucun des cas précédents alors on passe à l'étape 3 +. On doit créer à la main l'utilisateur via le menu de création de la gestion des utilisateurs + +Vous pouvez visualiser les appels /ldap/etudiant et /ldap/tuteur/ via le Swagger UI mis à disposition avec ESUP-SIScol. diff --git a/src/docs/modules/ROOT/pages/wiki/index.adoc b/src/docs/modules/ROOT/pages/wiki/index.adoc new file mode 100644 index 00000000..8b16fa5c --- /dev/null +++ b/src/docs/modules/ROOT/pages/wiki/index.adoc @@ -0,0 +1,62 @@ +:reftext: Home +:navtitle: Home + +image::https://raw.github.com/EsupPortail/esup-stage/main/logo-esup-stage.png[ESUP STAGE LOGO] + +== 🎓 Gestion Moderne des Conventions de Stage pour l'Enseignement Supérieur + +ESUP-Stage est une application web nouvelle génération conçue pour simplifier la gestion des stages dans les établissements d'enseignement supérieur. + +=== 🚀 Fonctionnalités Principales + +[horizontal] +Création de Conventions:: Processus complet de génération et de validation des conventions de stage +Intégration Système:: Compatible avec les infrastructures universitaires existantes +Personnalisation:: Configuration souple et adaptable via l'interface utilisateur + +=== 🔗 Interconnexions + +* Intégration LDAP +* Compatibilité Apogée +* Développement en cours pour Pégase + +=== 📦 Partie du Consortium + +Développée et maintenue dans le cadre du consortium https://www.esup-portail.org/catalogue-des-services[ESUP Portail] + +''' + +=== Liste des changements + +xref:wiki/Liste-des-changements.adoc[Suivi des changements à venir et passés] + +La liste des changements vous permettra de suivre l'évolution des applications ainsi que les corrections et évolutions associées. + +''' + +=== Lien vers le code source des applications + +L'application ESUP-Stage se compose de deux applications que sont : + +* ESUP-Stage : https://github.com/EsupPortail/esup-stage +* ESUP-SIscol : https://github.com/EsupPortail/esup-siscol + +''' + +=== Liste de diffusion + +.https://listes.esup-portail.org/sympa/info/esup-stage +Cette liste permet de nous faire parvenir vos retours et d'échanger avec les autres établissements utilisateurs de l'application. + +''' + +=== Documentation d'installation + +* xref:wiki/Prerequis.adoc[Prérequis] +* xref:wiki/ESUP-SISCOL.adoc[ESUP-SISCOL] +* xref:wiki/ESUP-STAGE.adoc[ESUP-STAGE] +* xref:wiki/Docaposte_Signature-electronique.adoc[Docaposte_Signature électronique] + +=== Autres documents + +* xref:wiki/Processus-de-creation-d-un-utilisateur.adoc[Processus-de-création-d'un-utilisateur] +* xref:wiki/Gestion-des-conditions-dans-les-templates.adoc[Gestion des conditions dans les modèles (templates) de convention] From 6d2f8e8475c77a2c158e201b357a1492adc0d518 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Raya=20D=C3=89CORNOD?= Date: Thu, 23 Jan 2025 15:25:10 +0100 Subject: [PATCH 12/16] =?UTF-8?q?nettoyage=20doc=20wiki=20suite=20=C3=A0?= =?UTF-8?q?=20convertion=20asciidoctor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- antora-playbook.yml | 23 ---- src/docs/antora.yml | 29 ++++- .../fe18f0b8-1f06-4c17-813e-bc8868b60c62.png | Bin 22471 -> 0 bytes src/docs/modules/ROOT/nav.adoc | 20 ++- src/docs/modules/ROOT/pages/index.adoc | 62 +++++++-- .../Docaposte_Signature-electronique.adoc | 120 ++++++++++++------ .../modules/ROOT/pages/wiki/ESUP-SISCOL.adoc | 50 +++++--- .../modules/ROOT/pages/wiki/ESUP-STAGE.adoc | 76 +++++------ ...ion-des-conditions-dans-les-templates.adoc | 33 ++++- .../modules/ROOT/pages/wiki/Prerequis.adoc | 21 +-- src/docs/modules/ROOT/pages/wiki/index.adoc | 62 --------- .../images/event-storming-20250121.jpg | Bin src/docs/modules/doc-technique/nav.adoc | 6 + .../pages/archi-tech.adoc | 0 .../pages/decisions.adoc | 0 .../pages/event-storming.adoc | 2 +- .../{ROOT => doc-technique}/pages/flux.adoc | 0 .../pages/vocabulaire.adoc | 0 18 files changed, 281 insertions(+), 223 deletions(-) delete mode 100644 src/docs/modules/ROOT/images/wiki/fe18f0b8-1f06-4c17-813e-bc8868b60c62.png delete mode 100644 src/docs/modules/ROOT/pages/wiki/index.adoc rename src/docs/modules/{ROOT => doc-technique}/images/event-storming-20250121.jpg (100%) create mode 100644 src/docs/modules/doc-technique/nav.adoc rename src/docs/modules/{ROOT => doc-technique}/pages/archi-tech.adoc (100%) rename src/docs/modules/{ROOT => doc-technique}/pages/decisions.adoc (100%) rename src/docs/modules/{ROOT => doc-technique}/pages/event-storming.adoc (61%) rename src/docs/modules/{ROOT => doc-technique}/pages/flux.adoc (100%) rename src/docs/modules/{ROOT => doc-technique}/pages/vocabulaire.adoc (100%) diff --git a/antora-playbook.yml b/antora-playbook.yml index 88be8e47..0eb56e3e 100644 --- a/antora-playbook.yml +++ b/antora-playbook.yml @@ -32,29 +32,6 @@ asciidoc: attributes: icons: font page-pagination: '@' - appendix-caption: Annexe - appendix-refsig: Annexe - caution-caption: Attention - chapter-signifier: Chapitre - chapter-refsig: Chapitre - example-caption: Exemple - figure-caption: Figure - important-caption: Important - last-update-label: Dernière mise à jour - listing-caption: Liste - manname-title: Nom - note-caption: Note - part-signifier: Partie - part-refsig: Partie - preface-title: Préface - section-refsig: Section - table-caption: Tableau - tip-caption: Astuce - toc-title: Table des matières - page-toctitle: Table des matières - untitled-label: Sans titre - version-label: Version - warning-caption: Avertissement kroki-fetch-diagram: true safe: safe extensions: diff --git a/src/docs/antora.yml b/src/docs/antora.yml index c9ba82e3..e9a24837 100644 --- a/src/docs/antora.yml +++ b/src/docs/antora.yml @@ -1,5 +1,32 @@ name: ROOT -title: Documentation technique Esup-Stage +title: Esup-Stage prerelease: true nav: - modules/ROOT/nav.adoc +- modules/doc-technique/nav.adoc +asciidoc: + attributes: + page-pagination: '@' + appendix-caption: Annexe + appendix-refsig: Annexe + caution-caption: Attention + chapter-signifier: Chapitre + chapter-refsig: Chapitre + example-caption: Exemple@ + figure-caption: Figure@ + important-caption: Important + last-update-label: Dernière mise à jour + listing-caption: false + manname-title: Nom + note-caption: Note + part-signifier: Partie + part-refsig: Partie + preface-title: Préface + section-refsig: Section + table-caption: Tableau + tip-caption: Astuce + toc-title: Table des matières + page-toctitle: Table des matières + untitled-label: Sans titre + version-label: Version + warning-caption: Avertissement diff --git a/src/docs/modules/ROOT/images/wiki/fe18f0b8-1f06-4c17-813e-bc8868b60c62.png b/src/docs/modules/ROOT/images/wiki/fe18f0b8-1f06-4c17-813e-bc8868b60c62.png deleted file mode 100644 index f4f2ae368d771d0edeac92cef5d5d3c9443ca197..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22471 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 z 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 F${){)ocRC% diff --git a/src/docs/modules/ROOT/nav.adoc b/src/docs/modules/ROOT/nav.adoc index 4fabd346..98f42bf6 100644 --- a/src/docs/modules/ROOT/nav.adoc +++ b/src/docs/modules/ROOT/nav.adoc @@ -1,11 +1,9 @@ -* xref::index.adoc[] -* xref::vocabulaire.adoc[] -* xref::decisions.adoc[] -* xref::flux.adoc[] -* xref::archi-tech.adoc[] -* xref::event-storming.adoc[] -* ESUP STAGE -** xref::wiki/index.adoc[Home] -** xref::wiki/Prerequis.adoc[Prérequis] -** xref::wiki/ESUP-SISCOL.adoc[ESUP-SISCOL] -** xref::wiki/ESUP-STAGE.adoc[ESUP-STAGE] +.Documentation d’installation +* xref:wiki/Prerequis.adoc[] +* xref:wiki/ESUP-SISCOL.adoc[] +* xref:wiki/ESUP-STAGE.adoc[] +* xref:wiki/Docaposte_Signature-electronique.adoc[] + +.Autres documents +* xref:wiki/Processus-de-creation-d-un-utilisateur.adoc[] +* xref:wiki/Gestion-des-conditions-dans-les-templates.adoc[] diff --git a/src/docs/modules/ROOT/pages/index.adoc b/src/docs/modules/ROOT/pages/index.adoc index 3699347d..87330a2d 100644 --- a/src/docs/modules/ROOT/pages/index.adoc +++ b/src/docs/modules/ROOT/pages/index.adoc @@ -1,15 +1,31 @@ -= Documentation technique Esup-Stage += image:https://raw.github.com/EsupPortail/esup-stage/main/logo-esup-stage.png[ESUP STAGE] :author: Université Lorraine :imagesdir: ../images/ -:reftext: Documentation technique -:navtitle: Documentation technique +:reftext: ESUP Stage +:navtitle: ESUP Stage +== 🎓 Gestion Moderne des Conventions de Stage pour l'Enseignement Supérieur + +**** +ESUP-Stage est une application web nouvelle génération conçue pour simplifier +la gestion des stages dans les établissements d'enseignement supérieur. **** + ESUP-Stage est l'application qui permet aux étudiants de créer et faire signer leur(s) convention(s) de stage. Développée dans une technologie moderne, cette solution est prévue pour s'interconnecter avec l'annuaire LDAP des établissements ainsi qu'Apogée dans un premier temps. +=== 🚀 Fonctionnalités + +[horizontal] +.Fonctionnalités Principales +-- +Création de Conventions:: Processus complet de génération et de validation des conventions de stage +Intégration Système:: Compatible avec les infrastructures universitaires existantes +Personnalisation:: Configuration souple et adaptable via l'interface utilisateur +-- + * Interface utilisateur modernisée, * facilité de configuration de l'application selon les besoins de chaque établissement, @@ -24,9 +40,39 @@ est au cœur des préoccupations du groupe de travail œuvrant pour le développement et l'évolution de ESUP-Stage. Aussi arrivera prochainement la possibilité d'interfacer via un webservice la solution ESUP-Signature ou toute solution commerciale compatible. -**** -== xref:vocabulaire.adoc[] -== xref:decisions.adoc[] -== xref:flux.adoc[] -== xref:archi-tech.adoc[] +=== 🔗 Interconnexions + +* Intégration LDAP +* Compatibilité Apogée +* Pégase (Développement en cours) + +=== 📦 Partie du Consortium + +Développée et maintenue dans le cadre +du consortium https://www.esup-portail.org/catalogue-des-services[ESUP Portail] + +''' + +=== Liste des changements + +xref:wiki/Liste-des-changements.adoc[Suivi des changements à venir et passés] + +La liste des changements vous permettra de suivre l'évolution des applications +ainsi que les corrections et évolutions associées. + +''' + +=== Liens vers le code source des applications + +[horizontal] +.L'application ESUP-Stage se compose de deux applications que sont : +ESUP-Stage:: https://github.com/EsupPortail/esup-stage +ESUP-SIscol:: https://github.com/EsupPortail/esup-siscol + +''' + +=== Liste de diffusion + +.https://listes.esup-portail.org/sympa/info/esup-stage +Cette liste permet de nous faire parvenir vos retours +et d'échanger avec les autres établissements utilisateurs de l'application. diff --git a/src/docs/modules/ROOT/pages/wiki/Docaposte_Signature-electronique.adoc b/src/docs/modules/ROOT/pages/wiki/Docaposte_Signature-electronique.adoc index 7843fc75..1808ed9c 100644 --- a/src/docs/modules/ROOT/pages/wiki/Docaposte_Signature-electronique.adoc +++ b/src/docs/modules/ROOT/pages/wiki/Docaposte_Signature-electronique.adoc @@ -9,24 +9,30 @@ Documentation d'aide à la configuration des certificats TLS gérés du process Java sépare le magasin de certificats à utiliser en 2 catégories : -* keystore : magasin de certificats qui contient des clés privées d'authentification ou de sécurité -* truststore : magasin de certificats qui contient les certificats publics qui sont acceptés +* `keystore` : magasin de certificats qui contient des clés privées d'authentification ou de sécurité +* `truststore` : magasin de certificats qui contient les certificats publics qui sont acceptés Ces 2 magasins sont stockés dans des fichiers de type JKS ou PKCS12 === Edition de votre truststore -Les applications tomcat devront accepter certains certificats pour pouvoir accepter les appels web vers d'autres services de votre SI. +Les applications tomcat devront accepter certains certificats pour pouvoir +accepter les appels web vers d'autres services de votre SI. -L'application Esup-Stage aura surement besoin de se connecter à votre serveur d'authentification SSO en HTTPS (certificat TLS), il faut donc rajouter la confiance de l'Autorité Certification (AC) qui émet les certificats de votre établissement dans le truststore dédié au tomcat. +L'application Esup-Stage aura surement besoin de se connecter à votre serveur +d'authentification SSO en HTTPS (certificat TLS), il faut donc rajouter la +confiance de l'Autorité Certification (AC) qui émet les certificats de votre +établissement dans le truststore dédié au tomcat. -Nous allons pour cela créer un fichier truststore avec la chaine de certificat de l'AC émettant les certificats de votre établissement +Nous allons pour cela créer un fichier truststore avec la chaine de certificat +de l'AC émettant les certificats de votre établissement * Récupérez le fichier ca.crt de l'AC de votre établissement -Pour l'exemple de création du truststore, nous avons pris le mot de passe 'my_password' mais ceci reste à votre libre choix. +Pour l'exemple de création du truststore, nous avons pris le mot de passe +"my_password" mais ceci reste à votre libre choix. -. Découpez la chaîne des certificats publics contenu dans le fichier ca.crt** +. Découpez la chaîne des certificats publics contenu dans le fichier `ca.crt` + [source,console] ---- @@ -37,7 +43,7 @@ cacrt-01 ca.crt ---- -. Créez/Importez la série des certificats issus du ca.crt dans un nouveau truststore +. Créez/Importez la série des certificats issus du `ca.crt` dans un nouveau `truststore` + [source,console] ---- @@ -53,7 +59,7 @@ Certificate was added to keystore [user@computer ~/tmp]$ ---- -. Vérifiez le contenu du truststore + +. Vérifiez le contenu du `truststore` + [source,console] ---- @@ -72,10 +78,12 @@ Valid from: ... ---- . Ajoutez un autre service avec son certificat public + -Si vous avez d'autres services HTTPS n'utilisant pas le CA de votre établissement, vous pouvez importer le certificat de service externe dans votre truststore. +Si vous avez d'autres services HTTPS n'utilisant pas le CA +de votre établissement, vous pouvez importer le certificat de service externe +dans votre truststore. + * récupérez le certificat de ce service externe -* importez ce fichier certificat manuellement dans le truststore +* importez ce fichier certificat manuellement dans le `truststore` .Exemple avec l'API de test de Docaposte . Récupérez le certificat @@ -85,7 +93,7 @@ Si vous avez d'autres services HTTPS n'utilisant pas le CA de votre établisseme [user@computer ~/tmp]$ openssl s_client -showcerts -connect demo-parapheur.dfast.fr:443 /dev/null|openssl x509 -outform PEM > demo-parapheur.pem ---- -. Ajout au magasin trustore +. Ajout au magasin `trustore` + [source,console] ---- @@ -95,33 +103,37 @@ Certificate was added to keystore [user@computer ~/tmp]$ ---- -. Exportez votre truststore + -Exportez ce fichier 'truststore.jks' vers votre serveur esup-stage et retenez le mot de passe de celui-ci. +. Exportez votre `truststore` + +Exportez ce fichier `truststore.jks` vers votre serveur esup-stage et retenez le mot de passe de celui-ci. + -* Reportez cette config du truststore dans la variable 'CATALINA_OPTS' de votre tomcat (voir section suivante 'Lanceur Tomcat') -* Reportez cette config du truststore dans la config d'esup-stage, voir les propriétés 'docaposte.truststore.*' dans le fichier /etc/estage/estage.properties +* Reportez cette config du `truststore` dans la variable `CATALINA_OPTS` +de votre tomcat (voir section suivante link:#tomcat[Lanceur Tomcat]) +* Reportez cette config du `truststore` dans la config d'esup-stage, +voir les propriétés `docaposte.truststore.*` dans le fichier `/etc/estage/estage.properties` +[#tomcat] == Lanceur Tomcat -Le tomcat doit être lancé avec les paramètres indiquant les paramètres de chargement du truststore. +Le tomcat doit être lancé avec les paramètres indiquant les paramètres de chargement du `truststore`. -Votre fichier de configuration devra contenir les variables 'CATALINA_OPTS' de lancement suivante : +Votre fichier de configuration devra contenir les variables `CATALINA_OPTS` de lancement suivante : * `javax.net.ssl.trustStore` : chemin du fichier truststore * `javax.net.ssl.trustStoreType` : type de magazin (JKS ou PKCS12) -* `javax.net.ssl.trustStorePassword` : mot de passe associé à votre fichier magazin truststore +* `javax.net.ssl.trustStorePassword` : mot de passe associé à votre fichier magasin `truststore` -Exemple avec un apache-tomcat-9.0 packagé en Red Hat +=== Exemple avec un `apache-tomcat-9.0` packagé en Red Hat -* /etc/sysconfig/tomcat9.0 [source,shell] +./etc/sysconfig/tomcat9.0 ---- CATALINA_OPTS=" -Xms2048m -Xmx4096m ... -Djavax.net.ssl.trustStore=/etc/ssl/catalina.truststore -Djavax.net.ssl.trustStoreType=JKS -Djavax.net.ssl.trustStorePassword=my_password ... " ---- -Exemple à partir d'un apache-tomcat binaire récupérer sur le site [Apache Tomcat](https://tomcat.apache.org/) -* `${CATALINA_HOME}/bin/setenv.sh` (fichier exécutable à créer si inexistant) +=== Exemple à partir d'un apache-tomcat binaire récupérer sur le site https://tomcat.apache.org/[Apache Tomcat] + [source,shell] +.+${CATALINA_HOME}+/bin/setenv.sh _(fichier exécutable à créer si inexistant)_ ---- # TOMCAT > MEMOIRE @@ -144,15 +156,18 @@ tomcat ... /usr/bin/java ... -Djavax.net.ssl.trustStore=/etc/ssl/catalina.trusts == Module Docaposte -Pour le module "Docaposte" intégré dans https://github.com/EsupPortail/esup-stage/[esup-stage], le service "Docaposte" via l'organisme certificateur (Certinomis, ChamberSign, ...) vous a normalement fourni un fichier avec l'extension '.p12' (au format PKCS12) nécessaire à l'authentification auprès du service. +Pour le module "Docaposte" intégrer dans +https://github.com/EsupPortail/esup-stage/[esup-stage], le service "Docaposte" +via l'organisme certificateur (Certinomis, ChamberSign, ...) vous a normalement +fourni un fichier avec l'extension '.p12' (au format PKCS12) nécessaire à +l'authentification auprès du service. -Tout d'abord, il faut vérifier la validité de ce fichier 'certificat.p12' qui doit contenir la clé privée d'authentification et les certificats publics associés. +Tout d'abord, il faut vérifier la validité de ce fichier `certificat.p12` qui +doit contenir la clé privée d'authentification et les certificats publics +associés. -* Vérification de la présence d'une clé privée valide dans le fichier 'certificat.p12': Pour le module "Docaposte" intégrer dans https://github.com/EsupPortail/esup-stage/[esup-stage], le service "Docaposte" via l'organisme certificateur (Certinomis, ChamberSign, ...) vous a normalement fourni un fichier avec l'extension '.p12' (au format PKCS12) nécessaire à l'authentification auprès du service. -Tout d'abord, il faut vérifier la validité de ce fichier 'certificat.p12' qui doit contenir la clé privée d'authentification et les certificats publics associés. -* Vérification de la présence d'une clé privée valide dans le fichier 'certificat.p12': -+ [source,console] +.Vérification de la présence d'une clé privée valide dans le fichier `certificat.p12`: ---- [root@server ~]# keytool -list -v -keystore /data/certificat.p12 -storepass my_password \ | grep -C 6 '^Entry type: PrivateKeyEntry' \ @@ -166,9 +181,8 @@ Valid from: Tue Nov 22 08:12:07 CET 2022 until: Thu Nov 21 08:12:07 CET 2024 [root@server ~]# ---- -* Vérification de la présence des certificats publics présents dans le fichier 'certificat.p12' : -+ [source,console] +.Vérification de la présence des certificats publics présents dans le fichier `certificat.p12` : ---- [root@server ~]# openssl pkcs12 -in certificat.p12 -out docaposte.crt -nodes Enter Import Password: ***** @@ -186,9 +200,10 @@ Enter Import Password: ***** == Paramétrage dans ESUP-Stage -=== Fichier estage.properties +=== Fichier `estage.properties` -Dans le fichier `/etc/estage/estage.properties` du serveur ESUP-Stage, complétez les informations suivantes : +Dans le fichier `/etc/estage/estage.properties` du serveur ESUP-Stage, +complétez les informations suivantes : [source,properties] ---- @@ -208,26 +223,47 @@ docaposte.truststore.password=xxx === Centre de gestion -Au niveau de chaque centre de gestion qui doit donner droit à la signature électronique, renseignez dans l'onglet Signature électronique le code du circuit de signature paramétré dans Docaposte. Pour ce faire : +Au niveau de chaque centre de gestion qui doit donner droit +à la signature électronique, renseignez dans l'onglet Signature électronique +le code du circuit de signature paramétré dans Docaposte. +.Pour ce faire : * Rendez-vous à l'emplacement _Centre de gestion > Liste des centre de gestion_ puis sélectionnez un centre de gestion. * Dans ce centre de gestion, rendez vous dans l'onglet _Signature électronique_. -Dans l'_Ordre de signature_, vous pouvez changer l'ordre des signataires à l'aide de la croix multidirectionnelle qui s'affiche en survolant avec la souris le nombre précédent l'intitulé du signataire. + -Dans cette version, il n'est possible d'utiliser que des signatures OTP. Cela signifie que chaque signataire recevra un mail ou sms l'invitant à signer électroniquement la convention. La signature automatique (signature serveur) n'est pas prise en charge. +Dans l'_Ordre de signature_, vous pouvez changer l'ordre des signataires à +l'aide de la croix multidirectionnelle qui s'affiche en survolant avec la souris +le nombre précédent l'intitulé du signataire. + +Dans cette version, il n'est possible d'utiliser que des signatures OTP. Cela +signifie que chaque signataire recevra un mail ou sms l'invitant à signer +électroniquement la convention. La signature automatique (signature serveur) +n'est pas prise en charge. === Contrôle des métadonnées -Dans Fast, vous avez la possibilité de contrôler la bonne transmission des métadonnées en allant dans le répertoire +Dans Fast, vous avez la possibilité de contrôler la bonne transmission +des métadonnées en allant dans le répertoire -* Preuve => Cliquez sur un document dans la rubrique "A signer(OTP) puis en bas de page vous verrez le lien "Preuve". Dans une des pages s'afficheront les métadonnées. -* OTP => Cliquez sur un document dans la rubrique "A signer(OTP) puis en bas de page vous verrez le lien "OTP". Seront affichées toutes les métadonnées disponibles. Si l'étape de signature associée à l'OTP n'a pas encore été dépassée, vous pouvez modifier manuellement les métadonnées. Cela est utile en cas d'erreur de saisi dans ESUP-Stage. +* Preuve => Cliquez sur un document dans la rubrique +"A signer(OTP) puis en bas de page vous verrez le lien "Preuve". +Dans une des pages s'afficheront les métadonnées. +* OTP => Cliquez sur un document dans la rubrique +"A signer(OTP) puis en bas de page vous verrez le lien "OTP". +Seront affichées toutes les métadonnées disponibles. +Si l'étape de signature associée à l'OTP n'a pas encore été dépassée, +vous pouvez modifier manuellement les métadonnées. +Cela est utile en cas d'erreur de saisi dans ESUP-Stage. === Certificat personnel -Il est possible de faire signer une convention avec le certificat personnel d'un utilisateur. Pour ce faire, vous devez choisir dans le paramétrage du centre de gestion le paramètre "Signature serveur". Dans Fast, vous devez renseigner à l'étape de signature concernée le paramètre Signature. -Exemple de paramétrage d'un centre de gestion avec un workflow incluant une signature personnel (signature de l'étudiant) : +Il est possible de faire signer une convention avec le certificat personnel d'un +utilisateur. Pour ce faire, vous devez choisir dans le paramétrage du centre de +gestion le paramètre "Signature serveur". Dans Fast, vous devez renseigner à +l'étape de signature concernée le paramètre Signature. + +.Exemple de paramétrage d'un centre de gestion avec un workflow incluant une signature personnel (signature de l'étudiant) : image:wiki/001a98b2-ec5e-4a2c-b24e-b6a0911f6196.png[image] -Même exemple de workflow avec 4 signatures OTP et une signature avec un certificat personnel du côté de Fast +.Même exemple de workflow avec 4 signatures OTP et une signature avec un certificat personnel du côté de Fast image:wiki/366f4814-a881-435b-9fcd-57195695b1bd.png[image] diff --git a/src/docs/modules/ROOT/pages/wiki/ESUP-SISCOL.adoc b/src/docs/modules/ROOT/pages/wiki/ESUP-SISCOL.adoc index aecd6f16..086939ef 100644 --- a/src/docs/modules/ROOT/pages/wiki/ESUP-SISCOL.adoc +++ b/src/docs/modules/ROOT/pages/wiki/ESUP-SISCOL.adoc @@ -1,28 +1,38 @@ = ESUP SISCOL -Cette application expose à l'application ESUP-STAGE des API REST (OPEN API - Swagger). Ainsi seule ESUP SIScol fait des accès au SI de l'établissement (Annuaire LDAP et Apogée). +Cette application expose à l'application ESUP-STAGE +des API REST (OPEN API - Swagger). +Ainsi seule ESUP SIScol fait des accès au SI de l'établissement +(Annuaire LDAP et Apogée). -[discrete] -=== Versions +== Versions * APOGEE `6.4.x` * JDK `11`, `8` * APOGEE WS `62031` ...`62070` -[discrete] -=== Installation du JAR client WS-APOGEE +== Installation du JAR client WS-APOGEE -_Avant de commencer l'installation, il faut vous procurer le client Web service Apogée soit auprès des collègues qui déploient Apogée dans votre établissement ou directement auprès de l'AMUE. Les WebServices Apogée doivent être installés selon les préconisations de l'AMUE et fonctionnelles sinon, il n'est pas nécessaire d'aller plus loin..._ +NOTE: Avant de commencer l'installation, il faut vous procurer le client Web +service Apogée soit auprès des collègues qui déploient Apogée dans votre +établissement ou directement auprès de l'AMUE. Les WebServices Apogée doivent +être installés selon les préconisations de l'AMUE et fonctionnelles sinon, il +n'est pas nécessaire d'aller plus loin... -*Le jar client apo-webservices-client doit correspondre au web-service Apogée installé.* Votre fichier apo-webservices-client{mettre la version}.jar doit être installé ainsi : +**** +Le jar client apo-webservices-client doit correspondre au web-service Apogée +installé. +**** + +Votre fichier `apo-webservices-client__{mettre la version}__.jar` doit être +installé ainsi : [source,shell] ---- -mvn install:install-file -Dfile=apo-webservices-client{mettre la version}.jar -DgroupId=gouv.education.apogee -DartifactId=apo-webservices-client -Dversion={mettre la version} -Dpackaging=jar +mvn install:install-file -Dfile=apo-webservices-client-version.jar -DgroupId=gouv.education.apogee -DartifactId=apo-webservices-client -Dversion={mettre la version} -Dpackaging=jar ---- -[discrete] -=== Clonage et installation +== Clonage et installation [source,shell] ---- @@ -30,19 +40,21 @@ cd /opt git clone https://github.com/EsupPortail/esup-siscol.git esup-siscol ---- -Il faut ajouter la bonne dépendance vers votre numéro de version du client Apogée, ex. 62070 au lieu de "*version-ws-apogee-a-définir-ici*" dans le pom.xml. - [source,xml] +.pom.xml ---- gouv.education.apogee apo-webservices-client - version-ws-apogee-a-définir-ici + x.y.z ---- +<1> Il faut ajouter la bonne dépendance +vers votre numéro de version du client Apogée, + +ex. `62070` au lieu de `x.y.z` dans le `pom.xml`. + -[discrete] -=== Fichier de paramétrage +== Fichier de paramétrage Nous allons créer un répertoire où nous placerons les fichiers de configurations de l'application esup-siscol : @@ -52,7 +64,7 @@ mkdir /etc/esup-siscol cp /opt/esup-siscol/src/main/resources/application.yml.sample /etc/esup-siscol/application.yml ---- -.Fichier /etc/esup-siscol/application.yml +./etc/esup-siscol/application.yml [source,yaml] ---- spring: @@ -151,8 +163,7 @@ Vous devez modifier en cohérence avec vos spécificités : * la section "APOGEE" en indiquant vos URL côté serveur WebService Apogée (installé en général par les administrateurs techniques Apogée) * la section "credential" en modifiant votre mot de passe qui devra être renseigné aussi dans le fichier de configuration de l'application ESUP-STAGE -[discrete] -=== Compilation et génération du WAR +== Compilation et génération du WAR Pour compiler le projet et générer le WAR dans le répertoire "./target/", lancez les commandes : @@ -162,8 +173,7 @@ mvn clean compile mvn install ---- -[discrete] -=== Déploiement sur un serveur Tomcat : +== Déploiement sur un serveur Tomcat : Si vous n'avez pas déjà installé votre serveur Tomcat, vous pouvez vous aider des prérequis de cette documentation. L'application ESUP SIScol peut-être déployée sur un serveur Tomcat indépendant (même serveur ou sur un autre serveur) ou utilisé le même serveur Tomcat que l'application ESUP Stage. diff --git a/src/docs/modules/ROOT/pages/wiki/ESUP-STAGE.adoc b/src/docs/modules/ROOT/pages/wiki/ESUP-STAGE.adoc index f319f88d..bfac4859 100644 --- a/src/docs/modules/ROOT/pages/wiki/ESUP-STAGE.adoc +++ b/src/docs/modules/ROOT/pages/wiki/ESUP-STAGE.adoc @@ -1,16 +1,15 @@ = ESUP STAGE -=== Prérequis +== Prérequis -Les xref:wiki/Prerequis.adoc[prérequis] sont les suivants sur votre serveur : +.Les xref:wiki/Prerequis.adoc[prérequis] sont les suivants sur votre serveur : +* Git +* Java OpenJdk 11 +* Apache Maven +* Installation Mariadb +* Installation du projet Esup-SIscol (sur le même serveur ou sur un serveur dédié) -. Git -. Java OpenJdk 11 -. Apache Maven -. Installation Mariadb -. Installation du projet Esup-SIscol (sur le même serveur ou sur un serveur dédié) - -=== Clonage du projet +== Clonage du projet [source,shell] ---- @@ -19,9 +18,9 @@ git clone https://github.com/EsupPortail/esup-stage.git ---- [#la-base-de-donnees] -=== La base de données +== La base de données -==== Création de la base et de l'utilisateur +=== Création de la base et de l'utilisateur [source,SQL] ---- @@ -31,18 +30,14 @@ GRANT ALL PRIVILEGES ON estage.* TO 'esupstage_user'@'%'; FLUSH PRIVILEGES; ---- -==== Import de la base pStage et passage du patch +=== Import de la base pStage et passage du patch -Si vous n'avez pas de base pStage a reprendre, cette partie est inutile +TIP: Si vous n'avez pas de base pStage a reprendre, cette partie est inutile -____ Pour importer votre base pStage d'une installation en production, vous devez réaliser un dump, ici le fichier : + -mysql-pstage-2022-01-25-16h00.sql.gz -____ +`mysql-pstage-2022-01-25-16h00.sql.gz` -____ -Votre dump ne doit pas comporter de CREATE DATABASE ou USE DATABASE -____ +CAUTION: Votre dump ne doit pas comporter de `CREATE DATABASE` ou `USE DATABASE` Les commandes suivantes permettent d'importer votre dump (pStage) dans votre base estage (ESUP STAGE) : @@ -52,19 +47,18 @@ zcat /opt/estage/mysql-pstage-2022-01-25-16h00.sql.gz | mysql -u esupstage_user cat /opt/estage/src/main/resources/db/changelog/init-changelog.sql | mysql -u esupstage_user -p estage ---- -=== Modification du fichier de configuration +== Modification du fichier de configuration [source,shell] ---- -cd /etc -mkdir estage -cd estage -cp /opt/esup-stage/etc/estage/estage-example.properties estage.properties +mkdir -p /etc/estage +cp /opt/esup-stage/etc/estage/estage-example.properties /etc/estage/estage.properties ---- Modifier le fichier de configuration [source,properties] +./etc/estage/estage.properties ---- # parametres des URLs pour l'authentication CAS cas.url.login=https://cas.monuniv.fr/cas/login?service={service} @@ -110,11 +104,9 @@ appli.mailer.delivery_address=user@monuniv.fr appli.data_dir=/data_esup_stage ---- -____ -Remarque : il faut que l'utilisateur faisant tourner votre *Tomcat puisse avoir les droits en écriture sur le répertoire data_esup_stage* -____ +NOTE: il faut que l'utilisateur faisant tourner votre *Tomcat puisse avoir les droits en écriture sur le répertoire data_esup_stage* -=== Compilation du projet +== Compilation du projet [source,shell] ---- @@ -122,23 +114,22 @@ cd /opt/esup-stage mvn -Dmaven.test.skip=true clean package ---- -=== Déploiement / Lancement de l'application +== Déploiement / Lancement de l'application -____ -Après la compilation, le chemin complet du fichier de déploiement est le suivant : /opt/estage/target/ROOT.war -____ +Après la compilation, le chemin complet du fichier de déploiement est le suivant : `/opt/estage/target/ROOT.war` -==== Déploiement TOMCAT +=== Déploiement TOMCAT -Cette documentation ne va pas décrire l'installation d'un Tomcat. ESUP STAGE a été déployé et testé sur une version TOMCAT 9 +NOTE: Cette documentation ne va pas décrire l'installation d'un Tomcat. +ESUP STAGE a été déployé et testé sur une version TOMCAT 9 -Vous pouvez télécharger tomcat ici : https://tomcat.apache.org/download-90.cgi +TIP: Vous pouvez télécharger tomcat ici : https://tomcat.apache.org/download-90.cgi -Nous considérons par exemple le chemin du répertoire tomcat ainsi : /opt/tomcat-esup-stage +Nous considérons par exemple le chemin du répertoire tomcat ainsi : `/opt/tomcat-esup-stage` -Supprimer (ou déplacer une sauvegarde) votre répertoire /opt/tomcat-esup-stage/webapp/ROOT avant le déploiement +Supprimer (ou déplacer une sauvegarde) votre répertoire `/opt/tomcat-esup-stage/webapp/ROOT` avant le déploiement -Copier directement votre fichier /opt/estage/target/ROOT.war dans votre répertoire *webapp de tomcat* +Copier directement votre fichier `/opt/estage/target/ROOT.war` dans votre répertoire *`webapp` de tomcat* [source,shell] ---- @@ -152,11 +143,10 @@ On arrête le tomcat avant et on le redémarre ensuite /opt/tomcat-esup-stage/bin/shutdown.sh ---- -Pensez à paramétrer les espaces mémoire JVM : export JAVA\_OPTS="-Xms1024m -Xmx1024m -XX:MaxPermSize=256m" +Pensez à paramétrer les espaces mémoire JVM : `export JAVA_OPTS="-Xms1024m -Xmx1024m -XX:MaxPermSize=256m"` Démarrage : - [source,shell] ---- /opt/tomcat-esup-stage/bin/startup.sh @@ -164,14 +154,12 @@ Démarrage : Bravo, l'installation est terminée ! Vous pouvez y accéder sur http://localhost:8080 -Lancement direct du war (ne pas utiliser : en cours de debug) java -jar /opt/estage/target/ROOT.war +Lancement direct du `war` (ne pas utiliser : en cours de debug) `java -jar /opt/estage/target/ROOT.war` Dans le cas de l'utilisation d'un proxy (apache proxypass par exemple) il est conseillé d'utiliser le protocole AJP. -Exemple de configuration Apache : - - [source,apacheconf] +.Exemple de configuration Apache : ---- ServerAdmin admin@monuniv.fr diff --git a/src/docs/modules/ROOT/pages/wiki/Gestion-des-conditions-dans-les-templates.adoc b/src/docs/modules/ROOT/pages/wiki/Gestion-des-conditions-dans-les-templates.adoc index e1ec29a6..9058612c 100644 --- a/src/docs/modules/ROOT/pages/wiki/Gestion-des-conditions-dans-les-templates.adoc +++ b/src/docs/modules/ROOT/pages/wiki/Gestion-des-conditions-dans-les-templates.adoc @@ -1,6 +1,7 @@ = Gestion des conditions dans les templates :sectnums: :imagesdir: ../../images +:reftext: Gestion des conditions dans les modèles (templates) de convention Dans les modèles (templates) de convention de stage, il est possible d'afficher les variables en fonction de conditions. Les conditions, pour fonctionner, @@ -41,6 +42,36 @@ Cela encadre une condition. Si la condition est vraie, le contenu placé entre $ == Opérateurs logiques -image:wiki/fe18f0b8-1f06-4c17-813e-bc8868b60c62.png[image] +[%header,cols="1m,1,1m"] +|=== +|Opérateur +|Signification +|Exemple + +| == +| Égal à +| $IF user.age == 18 + +| != +| Différent de +| $IF user.country != 'FR' + +| > / < +| Supérieur / Inférieur +| $IF product.price > 100 + +| >= / +<=+ +| Supérieur ou égal / Inférieur ou égal +| $IF user.age >= 18 + +| AND +| ET logique +| $IF user.age > 18 AND user.member == true + +| OR +| OU logique +| $IF user.age < 18 OR user.student == true + +|=== WARNING: veuillez utiliser uniquement les simples quotes (pas celles courbées) lorsque vous utilisez cette syntaxe. diff --git a/src/docs/modules/ROOT/pages/wiki/Prerequis.adoc b/src/docs/modules/ROOT/pages/wiki/Prerequis.adoc index b50f2e0d..03499acf 100644 --- a/src/docs/modules/ROOT/pages/wiki/Prerequis.adoc +++ b/src/docs/modules/ROOT/pages/wiki/Prerequis.adoc @@ -1,8 +1,9 @@ = Prérequis +:sectnums: _Avant de lancer les installations, il est nécessaire de mettre en place un "écosystème" permettant de compiler, déployer et exécuter nos applications._ -==== 1. Git +== Git Sur RHEL 8 / CentOS 8 @@ -18,11 +19,11 @@ Sur Ubuntu 20.04 / Debian apt-get install git ---- -==== 2. Java +== Java Version de java minimale : Java OpenJdk 11 (seul cette version a été testé pour ESUP Stage) -===== Installation java OpenJdk 11 +=== Installation java OpenJdk 11 *Sous RHEL 8 / CentOS 8* @@ -90,9 +91,9 @@ Remarque : pour changer la version par défaut (en cas de version multiple) sudo update-alternatives --config java ---- -==== 3. Apache Maven +== Apache Maven -===== Installation +=== Installation Téléchargez Apache Maven depuis son site officiel ou utilisez la commande suivante pour télécharger Apache Maven 3.6.3. @@ -108,7 +109,7 @@ Extraire maintenant l'archive téléchargée à l'aide de la commande suivante : sudo tar xzf apache-maven-3.6.3-bin.tar.gz sudo ln -s apache-maven-3.6.3 maven ---- -===== Configuration des variables d'environnement +=== Configuration des variables d'environnement Définissez maintenant les variables d'environnement en créant un nouveau fichier /etc/profile.d/maven.sh @@ -132,7 +133,7 @@ sudo chmod +x /etc/profile.d/maven.sh source /etc/profile.d/maven.sh ---- -===== Vérifier la version de Maven +=== Vérifier la version de Maven Apache Maven a été configuré avec succès sur votre système. Utilisez la commande suivante pour vérifier la version de Maven installé sur votre système. @@ -150,20 +151,20 @@ Enfin, supprimez le fichier d'archive téléchargé du système pour libérer de rm -f apache-maven-3.6.2-bin.tar.gz ---- -==== 4. Installation Mariadb +== Installation Mariadb L'installation et la sécurisation de votre base de donnée ne sont pas décrites dans cette documentation. La création de la base et d'un utilisateur sont décrit dans la partie xref:wiki/ESUP-STAGE.adoc#la-base-de-donnees[La base de données] -==== 5. Installation du projet Esup-SIscol +== Installation du projet Esup-SIscol ESUP Stage dépend de ce module pour interroger le SI de scolarité (Apogée) et l'annuaire LDAP * Le projet est hébergé ici : https://github.com/EsupPortail/esup-siscol * La procédure d'installation xref:wiki/ESUP-SISCOL.adoc[ESUP-SISCOL] -Après installation, vous avez 2 URLs qui seront utilisés dans le fichier de configuration d'ESUP-STAGE (<>) : +Après installation, vous avez 2 URLs qui seront utilisés dans le fichier de configuration d'ESUP-STAGE : [source,properties] ---- diff --git a/src/docs/modules/ROOT/pages/wiki/index.adoc b/src/docs/modules/ROOT/pages/wiki/index.adoc deleted file mode 100644 index 8b16fa5c..00000000 --- a/src/docs/modules/ROOT/pages/wiki/index.adoc +++ /dev/null @@ -1,62 +0,0 @@ -:reftext: Home -:navtitle: Home - -image::https://raw.github.com/EsupPortail/esup-stage/main/logo-esup-stage.png[ESUP STAGE LOGO] - -== 🎓 Gestion Moderne des Conventions de Stage pour l'Enseignement Supérieur - -ESUP-Stage est une application web nouvelle génération conçue pour simplifier la gestion des stages dans les établissements d'enseignement supérieur. - -=== 🚀 Fonctionnalités Principales - -[horizontal] -Création de Conventions:: Processus complet de génération et de validation des conventions de stage -Intégration Système:: Compatible avec les infrastructures universitaires existantes -Personnalisation:: Configuration souple et adaptable via l'interface utilisateur - -=== 🔗 Interconnexions - -* Intégration LDAP -* Compatibilité Apogée -* Développement en cours pour Pégase - -=== 📦 Partie du Consortium - -Développée et maintenue dans le cadre du consortium https://www.esup-portail.org/catalogue-des-services[ESUP Portail] - -''' - -=== Liste des changements - -xref:wiki/Liste-des-changements.adoc[Suivi des changements à venir et passés] + -La liste des changements vous permettra de suivre l'évolution des applications ainsi que les corrections et évolutions associées. - -''' - -=== Lien vers le code source des applications - -L'application ESUP-Stage se compose de deux applications que sont : - -* ESUP-Stage : https://github.com/EsupPortail/esup-stage -* ESUP-SIscol : https://github.com/EsupPortail/esup-siscol - -''' - -=== Liste de diffusion - -.https://listes.esup-portail.org/sympa/info/esup-stage -Cette liste permet de nous faire parvenir vos retours et d'échanger avec les autres établissements utilisateurs de l'application. - -''' - -=== Documentation d'installation - -* xref:wiki/Prerequis.adoc[Prérequis] -* xref:wiki/ESUP-SISCOL.adoc[ESUP-SISCOL] -* xref:wiki/ESUP-STAGE.adoc[ESUP-STAGE] -* xref:wiki/Docaposte_Signature-electronique.adoc[Docaposte_Signature électronique] - -=== Autres documents - -* xref:wiki/Processus-de-creation-d-un-utilisateur.adoc[Processus-de-création-d'un-utilisateur] -* xref:wiki/Gestion-des-conditions-dans-les-templates.adoc[Gestion des conditions dans les modèles (templates) de convention] diff --git a/src/docs/modules/ROOT/images/event-storming-20250121.jpg b/src/docs/modules/doc-technique/images/event-storming-20250121.jpg similarity index 100% rename from src/docs/modules/ROOT/images/event-storming-20250121.jpg rename to src/docs/modules/doc-technique/images/event-storming-20250121.jpg diff --git a/src/docs/modules/doc-technique/nav.adoc b/src/docs/modules/doc-technique/nav.adoc new file mode 100644 index 00000000..ac37b05c --- /dev/null +++ b/src/docs/modules/doc-technique/nav.adoc @@ -0,0 +1,6 @@ +.Documentation technique +* xref:vocabulaire.adoc[] +* xref:decisions.adoc[] +* xref:flux.adoc[] +* xref:archi-tech.adoc[] +* xref:event-storming.adoc[] diff --git a/src/docs/modules/ROOT/pages/archi-tech.adoc b/src/docs/modules/doc-technique/pages/archi-tech.adoc similarity index 100% rename from src/docs/modules/ROOT/pages/archi-tech.adoc rename to src/docs/modules/doc-technique/pages/archi-tech.adoc diff --git a/src/docs/modules/ROOT/pages/decisions.adoc b/src/docs/modules/doc-technique/pages/decisions.adoc similarity index 100% rename from src/docs/modules/ROOT/pages/decisions.adoc rename to src/docs/modules/doc-technique/pages/decisions.adoc diff --git a/src/docs/modules/ROOT/pages/event-storming.adoc b/src/docs/modules/doc-technique/pages/event-storming.adoc similarity index 61% rename from src/docs/modules/ROOT/pages/event-storming.adoc rename to src/docs/modules/doc-technique/pages/event-storming.adoc index b44b600f..e4445925 100644 --- a/src/docs/modules/ROOT/pages/event-storming.adoc +++ b/src/docs/modules/doc-technique/pages/event-storming.adoc @@ -2,4 +2,4 @@ :author: Université Lorraine :imagesdir: ../images/ -image::event-storming-20250121.jpg[event-storming] +image::event-storming-20250121.jpg[event storming] diff --git a/src/docs/modules/ROOT/pages/flux.adoc b/src/docs/modules/doc-technique/pages/flux.adoc similarity index 100% rename from src/docs/modules/ROOT/pages/flux.adoc rename to src/docs/modules/doc-technique/pages/flux.adoc diff --git a/src/docs/modules/ROOT/pages/vocabulaire.adoc b/src/docs/modules/doc-technique/pages/vocabulaire.adoc similarity index 100% rename from src/docs/modules/ROOT/pages/vocabulaire.adoc rename to src/docs/modules/doc-technique/pages/vocabulaire.adoc From 29f119568850f1f33d5c72c844ec8079bc10479e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Raya=20D=C3=89CORNOD?= Date: Thu, 23 Jan 2025 15:35:34 +0100 Subject: [PATCH 13/16] ref vers compilation depuis le readme du projet --- README.adoc | 10 +++++++--- src/docs/modules/ROOT/pages/wiki/ESUP-STAGE.adoc | 5 +++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/README.adoc b/README.adoc index 15e03b19..606561b2 100644 --- a/README.adoc +++ b/README.adoc @@ -4,10 +4,14 @@ ESUP STAGE est la refonte de l'application pStage. L'application a été complè link:src/docs/modules/ROOT/pages/index.adoc[→ Documentation technique Esup-Stage] -== Techno +ifndef::env-github[] +include::src/docs/modules/ROOT/pages/wiki/ESUP-STAGE.adoc[tag=compilation] +endif::[] +ifdef::env-github[] +== link:src/docs/modules/ROOT/pages/wiki/ESUP-STAGE.adoc#compilation[→ Compilation] +endif::[] + -* JAVA 11 -* NodeJS 14 == Integration diff --git a/src/docs/modules/ROOT/pages/wiki/ESUP-STAGE.adoc b/src/docs/modules/ROOT/pages/wiki/ESUP-STAGE.adoc index bfac4859..4744b567 100644 --- a/src/docs/modules/ROOT/pages/wiki/ESUP-STAGE.adoc +++ b/src/docs/modules/ROOT/pages/wiki/ESUP-STAGE.adoc @@ -106,6 +106,9 @@ appli.data_dir=/data_esup_stage NOTE: il faut que l'utilisateur faisant tourner votre *Tomcat puisse avoir les droits en écriture sur le répertoire data_esup_stage* +// tag::compilation[] + +[#compilation] == Compilation du projet [source,shell] @@ -114,6 +117,8 @@ cd /opt/esup-stage mvn -Dmaven.test.skip=true clean package ---- +// end::compilation[] + == Déploiement / Lancement de l'application Après la compilation, le chemin complet du fichier de déploiement est le suivant : `/opt/estage/target/ROOT.war` From b98c901c752bebfc93444f27f58fbeeeb32c3a2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Raya=20D=C3=89CORNOD?= Date: Thu, 23 Jan 2025 15:48:40 +0100 Subject: [PATCH 14/16] deplace doc signature du README vers antora et suppression prefixe wiki --- README.adoc | 61 +----------------- .../001a98b2-ec5e-4a2c-b24e-b6a0911f6196.png | Bin .../366f4814-a881-435b-9fcd-57195695b1bd.png | Bin src/docs/modules/ROOT/nav.adoc | 13 ++-- .../Docaposte_Signature-electronique.adoc | 4 +- .../ROOT/pages/{wiki => }/ESUP-SISCOL.adoc | 0 .../ROOT/pages/{wiki => }/ESUP-STAGE.adoc | 2 +- ...ion-des-conditions-dans-les-templates.adoc | 0 .../{wiki => }/Liste-des-changements.adoc | 0 .../ROOT/pages/{wiki => }/Prerequis.adoc | 4 +- ...rocessus-de-creation-d-un-utilisateur.adoc | 0 src/docs/modules/ROOT/pages/index.adoc | 2 +- src/docs/modules/ROOT/pages/signature.adoc | 52 +++++++++++++++ 13 files changed, 68 insertions(+), 70 deletions(-) rename src/docs/modules/ROOT/images/{wiki => }/001a98b2-ec5e-4a2c-b24e-b6a0911f6196.png (100%) rename src/docs/modules/ROOT/images/{wiki => }/366f4814-a881-435b-9fcd-57195695b1bd.png (100%) rename src/docs/modules/ROOT/pages/{wiki => }/Docaposte_Signature-electronique.adoc (98%) rename src/docs/modules/ROOT/pages/{wiki => }/ESUP-SISCOL.adoc (100%) rename src/docs/modules/ROOT/pages/{wiki => }/ESUP-STAGE.adoc (98%) rename src/docs/modules/ROOT/pages/{wiki => }/Gestion-des-conditions-dans-les-templates.adoc (100%) rename src/docs/modules/ROOT/pages/{wiki => }/Liste-des-changements.adoc (100%) rename src/docs/modules/ROOT/pages/{wiki => }/Prerequis.adoc (96%) rename src/docs/modules/ROOT/pages/{wiki => }/Processus-de-creation-d-un-utilisateur.adoc (100%) create mode 100644 src/docs/modules/ROOT/pages/signature.adoc diff --git a/README.adoc b/README.adoc index 606561b2..7e91e446 100644 --- a/README.adoc +++ b/README.adoc @@ -5,10 +5,10 @@ ESUP STAGE est la refonte de l'application pStage. L'application a été complè link:src/docs/modules/ROOT/pages/index.adoc[→ Documentation technique Esup-Stage] ifndef::env-github[] -include::src/docs/modules/ROOT/pages/wiki/ESUP-STAGE.adoc[tag=compilation] +include::src/docs/modules/ROOT/pages/ESUP-STAGE.adoc[tag=compilation] endif::[] ifdef::env-github[] -== link:src/docs/modules/ROOT/pages/wiki/ESUP-STAGE.adoc#compilation[→ Compilation] +== link:src/docs/modules/ROOT/pages/ESUP-STAGE.adoc#compilation[→ Compilation] endif::[] @@ -68,62 +68,7 @@ il faut ajouter la ligne suivante au fichier `estage.properties` : cas.response_type=xml ---- -== Signature électronique (optionnel) - -La signature électronique est activée si au moins une des configuration ci-dessous est paramétrée. Si plusieurs solutions configurées, Docaposte prendra le dessus. - -=== Docaposte - -____ -*ATTENTION :* Les paramètres ne doivent pas être ajoutés s'ils ne sont pas utilisés -____ - -Les paramètres Docaposte se trouve dans le fichier `estage.properties` : - -[,properties] ----- -# docaposte -docaposte.uri=https://demo-parapheur.dfast.fr/parapheur-soap/soap/v1/Documents -docaposte.siren=xxx -docaposte.keystore.path= -docaposte.keystore.password=xxx -docaposte.truststore.path= -docaposte.truststore.password=xxx ----- - -Les certificats pour Docaposte peuvent être déposés où vous le souhaitez en dehors du projet. - -=== ESUP-Signature (mode solution externe) - -____ -*ATTENTION :* Les paramètres ne doivent pas être ajoutés s'ils ne sont pas utilisés -____ - -ESUP-Stage met à disposition des api "public" accessible avec un des tokens paramétrés dans `appli.public.tokens`. La liste des api se trouve dans `/public/swagger-ui.html`. - -Le paramétrage "webhook" correspondent à l'appel vers une api externe pour la signature électronique (cette solution est à mettre en place par chaque établissement). Les api vers ESUP-Signature sont intégrés dans ESUP-Stage mais la configuration est la même pour une solution externe. - -`webhook.signature.uri` : uri de l'api externe + -`webhook.signature.token` : token d'accès - -[,properties] ----- -# tokens d'accès d'esup-stage permettant d'autoriser les webhook à accéder aux api /public/api d'esup-stage séparés par des ; (exemple : token1;token2;token3) -appli.public.tokens=xxxx - -### Paramétrage webhooks ### -# uri du webhook de signature -webhook.signature.uri=http://localhost:8080/webhook/esup-signature -# token permettant d'accéder au webhook signature -webhook.signature.token=yyyyy -### -------------------- ### - -### Paramétrage esup-signature ### -# numero du circuit -esupsignature.uri=http://localhost:8880/ws -esupsignature.circuit=123 -### -------------------- ### ----- +== link:src/docs/modules/ROOT/pages/signature.adoc[→ Signature électronique (optionnel)] == Procédure d'installation en environnement de dev diff --git a/src/docs/modules/ROOT/images/wiki/001a98b2-ec5e-4a2c-b24e-b6a0911f6196.png b/src/docs/modules/ROOT/images/001a98b2-ec5e-4a2c-b24e-b6a0911f6196.png similarity index 100% rename from src/docs/modules/ROOT/images/wiki/001a98b2-ec5e-4a2c-b24e-b6a0911f6196.png rename to src/docs/modules/ROOT/images/001a98b2-ec5e-4a2c-b24e-b6a0911f6196.png diff --git a/src/docs/modules/ROOT/images/wiki/366f4814-a881-435b-9fcd-57195695b1bd.png b/src/docs/modules/ROOT/images/366f4814-a881-435b-9fcd-57195695b1bd.png similarity index 100% rename from src/docs/modules/ROOT/images/wiki/366f4814-a881-435b-9fcd-57195695b1bd.png rename to src/docs/modules/ROOT/images/366f4814-a881-435b-9fcd-57195695b1bd.png diff --git a/src/docs/modules/ROOT/nav.adoc b/src/docs/modules/ROOT/nav.adoc index 98f42bf6..9ebb3014 100644 --- a/src/docs/modules/ROOT/nav.adoc +++ b/src/docs/modules/ROOT/nav.adoc @@ -1,9 +1,10 @@ .Documentation d’installation -* xref:wiki/Prerequis.adoc[] -* xref:wiki/ESUP-SISCOL.adoc[] -* xref:wiki/ESUP-STAGE.adoc[] -* xref:wiki/Docaposte_Signature-electronique.adoc[] +* xref:Prerequis.adoc[] +* xref:ESUP-SISCOL.adoc[] +* xref:ESUP-STAGE.adoc[] +* xref:signature.adoc[] +** xref:Docaposte_Signature-electronique.adoc[] .Autres documents -* xref:wiki/Processus-de-creation-d-un-utilisateur.adoc[] -* xref:wiki/Gestion-des-conditions-dans-les-templates.adoc[] +* xref:Processus-de-creation-d-un-utilisateur.adoc[] +* xref:Gestion-des-conditions-dans-les-templates.adoc[] diff --git a/src/docs/modules/ROOT/pages/wiki/Docaposte_Signature-electronique.adoc b/src/docs/modules/ROOT/pages/Docaposte_Signature-electronique.adoc similarity index 98% rename from src/docs/modules/ROOT/pages/wiki/Docaposte_Signature-electronique.adoc rename to src/docs/modules/ROOT/pages/Docaposte_Signature-electronique.adoc index 1808ed9c..27343a71 100644 --- a/src/docs/modules/ROOT/pages/wiki/Docaposte_Signature-electronique.adoc +++ b/src/docs/modules/ROOT/pages/Docaposte_Signature-electronique.adoc @@ -263,7 +263,7 @@ gestion le paramètre "Signature serveur". Dans Fast, vous devez renseigner à l'étape de signature concernée le paramètre Signature. .Exemple de paramétrage d'un centre de gestion avec un workflow incluant une signature personnel (signature de l'étudiant) : -image:wiki/001a98b2-ec5e-4a2c-b24e-b6a0911f6196.png[image] +image:001a98b2-ec5e-4a2c-b24e-b6a0911f6196.png[image] .Même exemple de workflow avec 4 signatures OTP et une signature avec un certificat personnel du côté de Fast -image:wiki/366f4814-a881-435b-9fcd-57195695b1bd.png[image] +image:366f4814-a881-435b-9fcd-57195695b1bd.png[image] diff --git a/src/docs/modules/ROOT/pages/wiki/ESUP-SISCOL.adoc b/src/docs/modules/ROOT/pages/ESUP-SISCOL.adoc similarity index 100% rename from src/docs/modules/ROOT/pages/wiki/ESUP-SISCOL.adoc rename to src/docs/modules/ROOT/pages/ESUP-SISCOL.adoc diff --git a/src/docs/modules/ROOT/pages/wiki/ESUP-STAGE.adoc b/src/docs/modules/ROOT/pages/ESUP-STAGE.adoc similarity index 98% rename from src/docs/modules/ROOT/pages/wiki/ESUP-STAGE.adoc rename to src/docs/modules/ROOT/pages/ESUP-STAGE.adoc index 4744b567..7c725c20 100644 --- a/src/docs/modules/ROOT/pages/wiki/ESUP-STAGE.adoc +++ b/src/docs/modules/ROOT/pages/ESUP-STAGE.adoc @@ -2,7 +2,7 @@ == Prérequis -.Les xref:wiki/Prerequis.adoc[prérequis] sont les suivants sur votre serveur : +.Les xref:Prerequis.adoc[prérequis] sont les suivants sur votre serveur : * Git * Java OpenJdk 11 * Apache Maven diff --git a/src/docs/modules/ROOT/pages/wiki/Gestion-des-conditions-dans-les-templates.adoc b/src/docs/modules/ROOT/pages/Gestion-des-conditions-dans-les-templates.adoc similarity index 100% rename from src/docs/modules/ROOT/pages/wiki/Gestion-des-conditions-dans-les-templates.adoc rename to src/docs/modules/ROOT/pages/Gestion-des-conditions-dans-les-templates.adoc diff --git a/src/docs/modules/ROOT/pages/wiki/Liste-des-changements.adoc b/src/docs/modules/ROOT/pages/Liste-des-changements.adoc similarity index 100% rename from src/docs/modules/ROOT/pages/wiki/Liste-des-changements.adoc rename to src/docs/modules/ROOT/pages/Liste-des-changements.adoc diff --git a/src/docs/modules/ROOT/pages/wiki/Prerequis.adoc b/src/docs/modules/ROOT/pages/Prerequis.adoc similarity index 96% rename from src/docs/modules/ROOT/pages/wiki/Prerequis.adoc rename to src/docs/modules/ROOT/pages/Prerequis.adoc index 03499acf..d5a176a6 100644 --- a/src/docs/modules/ROOT/pages/wiki/Prerequis.adoc +++ b/src/docs/modules/ROOT/pages/Prerequis.adoc @@ -155,14 +155,14 @@ rm -f apache-maven-3.6.2-bin.tar.gz L'installation et la sécurisation de votre base de donnée ne sont pas décrites dans cette documentation. -La création de la base et d'un utilisateur sont décrit dans la partie xref:wiki/ESUP-STAGE.adoc#la-base-de-donnees[La base de données] +La création de la base et d'un utilisateur sont décrit dans la partie xref:ESUP-STAGE.adoc#la-base-de-donnees[La base de données] == Installation du projet Esup-SIscol ESUP Stage dépend de ce module pour interroger le SI de scolarité (Apogée) et l'annuaire LDAP * Le projet est hébergé ici : https://github.com/EsupPortail/esup-siscol -* La procédure d'installation xref:wiki/ESUP-SISCOL.adoc[ESUP-SISCOL] +* La procédure d'installation xref:ESUP-SISCOL.adoc[ESUP-SISCOL] Après installation, vous avez 2 URLs qui seront utilisés dans le fichier de configuration d'ESUP-STAGE : diff --git a/src/docs/modules/ROOT/pages/wiki/Processus-de-creation-d-un-utilisateur.adoc b/src/docs/modules/ROOT/pages/Processus-de-creation-d-un-utilisateur.adoc similarity index 100% rename from src/docs/modules/ROOT/pages/wiki/Processus-de-creation-d-un-utilisateur.adoc rename to src/docs/modules/ROOT/pages/Processus-de-creation-d-un-utilisateur.adoc diff --git a/src/docs/modules/ROOT/pages/index.adoc b/src/docs/modules/ROOT/pages/index.adoc index 87330a2d..29130485 100644 --- a/src/docs/modules/ROOT/pages/index.adoc +++ b/src/docs/modules/ROOT/pages/index.adoc @@ -56,7 +56,7 @@ du consortium https://www.esup-portail.org/catalogue-des-services[ESUP Portail] === Liste des changements -xref:wiki/Liste-des-changements.adoc[Suivi des changements à venir et passés] + +xref:Liste-des-changements.adoc[Suivi des changements à venir et passés] + La liste des changements vous permettra de suivre l'évolution des applications ainsi que les corrections et évolutions associées. diff --git a/src/docs/modules/ROOT/pages/signature.adoc b/src/docs/modules/ROOT/pages/signature.adoc new file mode 100644 index 00000000..27e009d1 --- /dev/null +++ b/src/docs/modules/ROOT/pages/signature.adoc @@ -0,0 +1,52 @@ += Signature électronique (optionnel) + +La signature électronique est activée si au moins une des configuration ci-dessous est paramétrée. Si plusieurs solutions configurées, Docaposte prendra le dessus. + +== Docaposte + +WARNING: Les paramètres ne doivent pas être ajoutés s'ils ne sont pas utilisés + +Les paramètres Docaposte se trouve dans le fichier `estage.properties` : + +[,properties] +---- +# docaposte +docaposte.uri=https://demo-parapheur.dfast.fr/parapheur-soap/soap/v1/Documents +docaposte.siren=xxx +docaposte.keystore.path= +docaposte.keystore.password=xxx +docaposte.truststore.path= +docaposte.truststore.password=xxx +---- + +Les certificats pour Docaposte peuvent être déposés où vous le souhaitez en dehors du projet. + +== ESUP-Signature (mode solution externe) + +WARNING: Les paramètres ne doivent pas être ajoutés s'ils ne sont pas utilisés + +ESUP-Stage met à disposition des api "public" accessible avec un des tokens paramétrés dans `appli.public.tokens`. La liste des api se trouve dans `/public/swagger-ui.html`. + +Le paramétrage "webhook" correspondent à l'appel vers une api externe pour la signature électronique (cette solution est à mettre en place par chaque établissement). Les api vers ESUP-Signature sont intégrés dans ESUP-Stage mais la configuration est la même pour une solution externe. + +`webhook.signature.uri` : uri de l'api externe + +`webhook.signature.token` : token d'accès + +[,properties] +---- +# tokens d'accès d'esup-stage permettant d'autoriser les webhook à accéder aux api /public/api d'esup-stage séparés par des ; (exemple : token1;token2;token3) +appli.public.tokens=xxxx + +### Paramétrage webhooks ### +# uri du webhook de signature +webhook.signature.uri=http://localhost:8080/webhook/esup-signature +# token permettant d'accéder au webhook signature +webhook.signature.token=yyyyy +### -------------------- ### + +### Paramétrage esup-signature ### +# numero du circuit +esupsignature.uri=http://localhost:8880/ws +esupsignature.circuit=123 +### -------------------- ### +---- \ No newline at end of file From 2c82f3f56bf27e448fdd7564501d867b57fa89ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9a=20Raya=20D=C3=89CORNOD?= Date: Thu, 23 Jan 2025 15:56:54 +0100 Subject: [PATCH 15/16] lien doc technique publique dans README --- README.adoc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.adoc b/README.adoc index 7e91e446..8392fc9c 100644 --- a/README.adoc +++ b/README.adoc @@ -2,7 +2,9 @@ ESUP STAGE est la refonte de l'application pStage. L'application a été complètement réécrite pour reprendre et améliorer les grandes et fonctionnalités : produire une convention de stage et ses avenants dans le cadre d'un processus de validation adapté. -link:src/docs/modules/ROOT/pages/index.adoc[→ Documentation technique Esup-Stage] +== https://esupportail.github.io/esup-stage/[→ Documentation technique Esup-Stage] + +Documentation technique link:src/docs/modules/ROOT/pages/index.adoc[(source)] ifndef::env-github[] include::src/docs/modules/ROOT/pages/ESUP-STAGE.adoc[tag=compilation] From 4a6b805b4d2c35f08b36630dba801699207dc332 Mon Sep 17 00:00:00 2001 From: Matthieu MANGINOT Date: Thu, 23 Jan 2025 16:12:25 +0100 Subject: [PATCH 16/16] Rename PULL_REQUEST_TEMPLATE.md to pull_request_template.md --- .github/{PULL_REQUEST_TEMPLATE.md => pull_request_template.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/{PULL_REQUEST_TEMPLATE.md => pull_request_template.md} (100%) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/pull_request_template.md similarity index 100% rename from .github/PULL_REQUEST_TEMPLATE.md rename to .github/pull_request_template.md