15 Commits

Author SHA1 Message Date
e42d169602 fixed pandoc version and build process
All checks were successful
Build an image to deploy website / build (push) Successful in 1m6s
2025-05-19 19:37:25 +02:00
f0fa7c21fb v1.4.0
All checks were successful
Build an image to deploy website / build (push) Successful in 1m13s
2025-05-19 19:22:53 +02:00
b0e9c53481 haute-vienne more
All checks were successful
Build an image to deploy website / build (push) Successful in 2m13s
2025-05-19 19:13:23 +02:00
027b808259 Ajout formation haute-vienne 2025-05-19 17:01:24 +02:00
ea387594b8 release v1.3.0
All checks were successful
Build an image to deploy website / build (push) Successful in 2m15s
2024-12-11 12:23:50 +01:00
6f79a7f527 dernieres modifs 2024-12-11 12:22:23 +01:00
0fc894d9b2 Release v1.2.2
All checks were successful
Build an image to deploy website / build (push) Successful in 1m10s
2024-11-18 11:35:09 +01:00
d59a1ceb2d Fix LFS (#3)
Reviewed-on: #3
Co-authored-by: Julien Fastré <julien.fastre@champs-libres.coop>
Co-committed-by: Julien Fastré <julien.fastre@champs-libres.coop>
2024-11-18 10:33:18 +00:00
6cac46431e checkout image in ci using lfs
Some checks failed
Build an image to deploy website / build (push) Failing after 2m30s
2024-11-18 09:46:05 +01:00
a2c388adf9 Embed resources into presentation
All checks were successful
Build an image to deploy website / build (push) Successful in 1m21s
2024-11-06 14:37:53 +01:00
9530b07eef release 1.2.1
All checks were successful
Build an image to deploy website / build (push) Successful in 1m11s
2024-11-06 12:37:35 +01:00
5ea5f985c9 Use nginx instead of caddy 2024-11-06 12:37:04 +01:00
fb7773e195 release 1.1.0
All checks were successful
Build an image to deploy website / build (push) Successful in 1m5s
2024-11-06 12:00:01 +01:00
a716cbce70 Finalisation formation signature électronique 2024-11-06 11:56:35 +01:00
dce7261f85 [WIP] formation signature electro 2024-11-05 22:21:13 +01:00
24 changed files with 3690 additions and 33 deletions

View File

@@ -1,3 +0,0 @@
## 1.1.0-beta0 - 2024-11-05
### Added
* add formation signature électornique

3
.changes/1.2.0.md Normal file
View File

@@ -0,0 +1,3 @@
## 1.2.0 - 2024-11-06
### Added
* Ajout formation signature électronique

3
.changes/1.2.1.md Normal file
View File

@@ -0,0 +1,3 @@
## 1.2.1 - 2024-11-06
### Fixed
* Use nginx instead of caddy

3
.changes/1.2.2.md Normal file
View File

@@ -0,0 +1,3 @@
## 1.2.2 - 2024-11-18
### Fixed
* Embed resources into presentation formation signature

3
.changes/1.3.0.md Normal file
View File

@@ -0,0 +1,3 @@
## 1.3.0 - 2024-12-11
### Added
* amélirations à la formation formateurs

3
.changes/1.4.0.md Normal file
View File

@@ -0,0 +1,3 @@
## 1.4.0 - 2025-05-19
### Added
* Présentation haute-vienne

3
.changes/1.4.1.md Normal file
View File

@@ -0,0 +1,3 @@
## 1.4.1 - 2025-05-19
### Fixed
* Fix pandoc version and build process

View File

@@ -1,3 +0,0 @@
kind: Added
body: Ajout formation signature électronique
time: 2024-11-05T21:47:19.777481719+01:00

View File

@@ -16,8 +16,14 @@ jobs:
build: build:
runs-on: cth-ubuntu-latest runs-on: cth-ubuntu-latest
steps: steps:
- name: Check out repository - name: Git checkout with LFS
uses: https://github.com/actions/checkout@v4 # see https://gitea.com/gitea/act_runner/issues/164#issuecomment-921571
run: |
git init
git remote add origin https://gitea.champs-libres.be/champs-libres/prez-concepts-chill.git
git fetch --depth 1 origin ${{ gitea.ref }}
git checkout FETCH_HEAD
git lfs pull
- name: update packages - name: update packages
run: apt-get update run: apt-get update
@@ -25,7 +31,7 @@ jobs:
- name: Setup pandoc - name: Setup pandoc
uses: https://github.com/r-lib/actions/setup-pandoc@v1 uses: https://github.com/r-lib/actions/setup-pandoc@v1
with: with:
pandoc-version: '3.5' pandoc-version: '3.7'
- name: Build presentation main - name: Build presentation main
run: pandoc -t revealjs --resource-path=.:presentation/src/ -s presentation/src/index.md -o presentation/src/index.html run: pandoc -t revealjs --resource-path=.:presentation/src/ -s presentation/src/index.md -o presentation/src/index.html
@@ -34,7 +40,10 @@ jobs:
run: pandoc -t revealjs --resource-path=.:presentation/src/ -s presentation/src/essaimage.md -o presentation/src/essaimage.html run: pandoc -t revealjs --resource-path=.:presentation/src/ -s presentation/src/essaimage.md -o presentation/src/essaimage.html
- name: Build presentation formation-signature - name: Build presentation formation-signature
run: pandoc --from markdown+emoji -t revealjs --resource-path=.:presentation/src/ -s presentation/src/formation-signature.md -o presentation/src/formation-signature.html run: pandoc --from markdown+emoji -t revealjs --resource-path=.:presentation/src/ -s -o presentation/src/formation-signature.html presentation/src/formation-signature.md
- name: Build presentation haute-vienne
run: pandoc --from markdown+emoji -t revealjs --resource-path=.:presentation/src/ -s -o presentation/src/formation-signature.html presentation/src/haute-vienne.md
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: https://github.com/docker/setup-buildx-action@v3 uses: https://github.com/docker/setup-buildx-action@v3

24
.vscode/tasks.json vendored
View File

@@ -13,6 +13,8 @@
"--to", "--to",
"revealjs", "revealjs",
"--standalone", "--standalone",
"--resource-path",
"./presentation/src/",
"-o", "-o",
"presentation/src/formation-signature.html", "presentation/src/formation-signature.html",
"presentation/src/formation-signature.md" "presentation/src/formation-signature.md"
@@ -22,6 +24,28 @@
"kind": "build", "kind": "build",
"isDefault": true "isDefault": true
} }
},
{
"label": "Build formation haute-vienne",
"type": "shell",
"command": "pandoc",
"args": [
"--from",
"markdown+emoji",
"--to",
"revealjs",
"--standalone",
"--resource-path",
"./presentation/src/",
"-o",
"presentation/src/haute-vienne.html",
"presentation/src/haute-vienne.md"
],
"problemMatcher": [],
"group": {
"kind": "build",
"isDefault": true
}
} }
] ]
} }

View File

@@ -6,6 +6,30 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
and is generated by [Changie](https://github.com/miniscruff/changie). and is generated by [Changie](https://github.com/miniscruff/changie).
## 1.4.1 - 2025-05-19
### Fixed
* Fix pandoc version and build process
## 1.4.0 - 2025-05-19
### Added
* Présentation haute-vienne
## 1.3.0 - 2024-12-11
### Added
* amélirations à la formation formateurs
## 1.2.2 - 2024-11-18
### Fixed
* Embed resources into presentation formation signature
## 1.2.1 - 2024-11-06
### Fixed
* Use nginx instead of caddy
## 1.2.0 - 2024-11-06
### Added
* Ajout formation signature électronique
## 1.0.0 - 2024-09-30 ## 1.0.0 - 2024-09-30
### Added ### Added
* first release with changie * first release with changie

View File

@@ -1,3 +1,6 @@
FROM caddy:2-alpine FROM nginx:1-alpine
ADD src/ /usr/share/caddy/ COPY src /usr/share/nginx/html
RUN sed -i 's/worker_processes auto/worker_processes 1/' /etc/nginx/nginx.conf
RUN sed -i 's/worker_processes auto/worker_processes 1/' /etc/nginx/nginx.conf

View File

@@ -60,8 +60,8 @@ Cela permet de restaurer un document qui serait figé par un workflow.
## Annulation automatique des workflows ## Annulation automatique des workflows
- workflows non finalisés; - workflows non finalisés;
- sans intervention d'un agent; - sans intervention d'un agent
- pendant 90 jours - pendant 90 jours
## Suppression des workflows annulés ## Suppression des workflows annulés
@@ -80,30 +80,58 @@ Aucun impact sur la gestion des workflows.
La "mise en attente" ne bloque pas l'annulation automatique après 90 jours. La "mise en attente" ne bloque pas l'annulation automatique après 90 jours.
## Envoi à des adresses emails 📨 ----
- 🆕 Groupes utilisateurs; ![Exemple de mise en attente](./img/mise-en-attente-workflow-display.png)
- Chaque groupe est associé à une adresse email;
- Possibilité d'associer les agents aux groupes
- droits automatiques, comme si on listait tous les agents d'un groupe
Adresse email manuelles: supprimée
## Maximum :one: workflow par entité ## Maximum :one: workflow par entité
On ne peut pas créer plusieurs workflows sur un même document. On ne peut pas créer plusieurs workflows sur un même document.
## Envoi du workflow à des adresses emails 📨
<!-- ici, très spécifique à vendée -->
Adresse email manuelles: supprimée
Remplacé par l'adresse email des MDSF
-----
## Adresse email MDSF
- 🆕 Nommées "Groupes utilisateurs";
- Chaque groupe est associé à :one: adresse email;
-----
- Possibilité d'associer les agents aux groupes
- droits automatiques, comme si on listait tous les agents d'un groupe
(pas utilisé par le CD85 au lancement)
## Envoi du workflow à…
- des utilisateurs;
- et/ou des groupes d'utilisateurs;
Même interface de recherche.
# Signature électronique des documents # Signature électronique des documents
## Principe de la signature ## Principe de la signature
Défini par Règlement UE "Eidas"
- **non-modification du document** après chaque signature; - **non-modification du document** après chaque signature;
- appose une **date certaine** sur le document; - appose une **date certaine** sur le document;
- identification du signataire;
De manière électronique. De manière électronique.
---- ----
## Identification du signataire
Constitue un "dossier de preuve" pour la signature: Constitue un "dossier de preuve" pour la signature:
- document d'identité pour l'usager; - document d'identité pour l'usager;
@@ -111,15 +139,15 @@ Constitue un "dossier de preuve" pour la signature:
---- ----
Esprit: apposer une signature simplement. **Esprit:** apposer une signature simplement.
Pas de double vérification de l'identité avec envoi de SMS, etc. Pas de double vérification de l'identité avec envoi de SMS, etc.
## Associé au workflow ## Associé au workflow
Pour apposer une signature: Pour apposer une signature:
- un document est ajouté à Chill; - un document est présent dans Chill;
- workflow sur ce document; - workflow sur ce document;
- étape `Demande de signature`. - étape `Demande de signature`.
@@ -144,9 +172,16 @@ Des zones de signatures vont être ajoutées sur les documents.
Possibilité d'ajouter des zones manuellement Possibilité d'ajouter des zones manuellement
## Signature des agents
- :one: seul agent par demande de signature
- seul l'agent peut signer
## Signature des usagers ## Signature des usagers
- plusieurs signatures par étape - signature de un ou plusieurs usagers par étape
Ex.: un couple, les parents, …
---- ----
@@ -174,20 +209,24 @@ Le workflow est visible par tous.
### Possibilité de signer plus tard ### Possibilité de signer plus tard
L'usager n'a pas sa carte d'identité, il n'est pas présent, … _L'usager n'a pas sa carte d'identité, il n'est pas présent, …_
L'usager peut signer à l'accueil avec une tablette. L'usager peut revenir signer à l'accueil avec une tablette.
## Signature des agents ## _Et si on ne veut pas signer ?_
- :one: seul agent à la fois Indiquer si:
- seul l'agent peut signer
- signature annulée;
- signature rejetée.
## Après la signature ? ## Après la signature ?
**Toutes** les signatures doivent être traitées: **Toutes** les signatures doivent être traitées:
<small>Tous les usagers doivent avoir signé</small>
Signature appliquée, rejetée, annulée, … Signature appliquée, rejetée, annulée, …
----- -----
@@ -212,6 +251,8 @@ Signature appliquée, rejetée, annulée, …
Délai de quelques secondes après le traitement des signatures Délai de quelques secondes après le traitement des signatures
<small>surtout visible après le rejet de la signature</small>
⌛ 3-5 secondes d'attente ⌛ ⌛ 3-5 secondes d'attente ⌛
## Qui a signé ? ## Qui a signé ?
@@ -224,6 +265,32 @@ Liste des signatures dans l'historique.
# Manipulations ⛏️ # Manipulations ⛏️
## Accès
[https://chillformation.vendee.fr](chillformation.vendee.fr)
`formXX` ― 🔑 `ChillCD85!`
Emails: sur [https://yopmail.com](yopmail.com) ― 📬 `chillcd85`
## Tâches
Générer un document "courrier type" dans le parcours
Signer un document soi-même
-----
Faire signer un document à sa·son voisin·e de gauche, comme **utilisateur·trice**.
-----
Faire signer un document à sa·son voisin·e de droite, comme **usager**.
Convenir à deux du nom de l'usager.
Le voisin de droite est l'usager.
# Envoi sécurisé des documents 📧 # Envoi sécurisé des documents 📧
## Calendrier 🗓️ ## Calendrier 🗓️
@@ -233,7 +300,7 @@ Liste des signatures dans l'historique.
## But ## But
- Faire parvenir un document à un tiers; - Faire parvenir un document à un tiers;
- Respect du RGPD; - Respect du RGPD 🔐;
(Le document ne transite pas par des boites emails non sécurisées) (Le document ne transite pas par des boites emails non sécurisées)
@@ -264,9 +331,23 @@ Liste des signatures dans l'historique.
- à une adresse email; - à une adresse email;
- à un tiers (avec une adresse email enregistrée dans sa fiche); - à un tiers (avec une adresse email enregistrée dans sa fiche);
----
Envoi en central: sera effectué par ce biais.
## Pièces jointes ## Pièces jointes
(à partir de fin novembre) (à partir de fin novembre)
- Possibilité d'ajouter des pièces jointes aux workflows. - Possibilité d'ajouter des pièces jointes aux documents ➡️ plusieurs documents;
- Le tiers peut voir le document **et** les pièces jointes. - Le tiers peut voir le document **et** les pièces jointes.
# Manipulations ⛏️
## Tâche
- envoyer un document à un tiers;
- récupérer le lien sur yopmail;
- consulter le document;
- vérifier la finalisation automatique du workflow.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,25 @@
@startuml
if (L'utilisateur peut atteindre "tous les services" ?) then (Oui)
: Autorisation ✅;
detach
else (Non)
endif
:L'utilisateur ne peut "atteindre" que son service principal;
If (Le service principal de l'utilisateur est-il celui de l'information ?) then (Oui)
: Autorisation ✅;
detach
else (Non)
:Pas d'autorisation ❌;
detach
@enduml

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

@@ -0,0 +1,25 @@
@startuml
if (L'utilisateur peut atteindre "tous les territoires" ?) then (Oui)
: Autorisation ✅;
detach
else (Non)
endif
:L'utilisateur ne peut "atteindre" que son territoire principal;
If (Le territoire principal de l'utilisateur est-il celui de l'information ?) then (Oui)
: Autorisation ✅;
detach
else (Non)
:Pas d'autorisation ❌;
detach
@enduml

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" data-diagram-type="ACTIVITY" height="269px" preserveAspectRatio="none" style="width:549px;height:269px;background:#FFFFFF;" version="1.1" viewBox="0 0 549 269" width="549px" zoomAndPan="magnify"><defs/><g><rect fill="#F1F1F1" height="33.9688" rx="12.5" ry="12.5" style="stroke:#181818;stroke-width:0.5;" width="110.5017" x="211.9111" y="60.3013"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="86.6872" x="225.7256" y="81.4399">Autorisation &#9989;</text><polygon fill="#F1F1F1" points="131.8319,11.8989,402.4921,11.8989,414.4921,23.8989,402.4921,35.8989,131.8319,35.8989,119.8319,23.8989,131.8319,11.8989" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="18.686" x="271.162" y="46.1094">Oui</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="270.6602" x="131.8319" y="27.707">L'utilisateur peut atteindre "tous les territoires" ?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="21.9302" x="414.4921" y="21.3047">Non</text><rect fill="#F1F1F1" height="33.9688" rx="12.5" ry="12.5" style="stroke:#181818;stroke-width:0.5;" width="374.1055" x="80.1092" y="136.27"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="354.1055" x="90.1092" y="157.4087">L'utilisateur ne peut "atteindre" que son territoire principal</text><polygon fill="#F1F1F1" points="88.2508,190.2388,446.0731,190.2388,458.0731,202.2388,446.0731,214.2388,88.2508,214.2388,76.2508,202.2388,88.2508,190.2388" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="357.8223" x="88.2508" y="206.0469">Le territoire principal de l'utilisateur est-il celui de l'information ?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="18.686" x="57.5648" y="199.6445">Oui</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="21.9302" x="458.0731" y="199.6445">Non</text><rect fill="#F1F1F1" height="33.9688" rx="12.5" ry="12.5" style="stroke:#181818;stroke-width:0.5;" width="110.5017" x="11" y="224.2388"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="86.6872" x="24.8145" y="245.3774">Autorisation &#9989;</text><rect fill="#F1F1F1" height="33.9688" rx="12.5" ry="12.5" style="stroke:#181818;stroke-width:0.5;" width="140.384" x="397.8811" y="224.2388"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="120.384" x="407.8811" y="245.3774">Pas d'autorisation &#10060;</text><line style="stroke:#181818;stroke-width:1;" x1="267.162" x2="267.162" y1="35.8989" y2="60.3013"/><polygon fill="#181818" points="263.162,50.3013,267.162,60.3013,271.162,50.3013,267.162,54.3013" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="414.4921" x2="426.4921" y1="23.8989" y2="23.8989"/><polygon fill="#181818" points="422.4921,64.2856,426.4921,74.2856,430.4921,64.2856,426.4921,68.2856" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="426.4921" x2="426.4921" y1="23.8989" y2="116.27"/><line style="stroke:#181818;stroke-width:1;" x1="426.4921" x2="267.162" y1="116.27" y2="116.27"/><line style="stroke:#181818;stroke-width:1;" x1="267.162" x2="267.162" y1="116.27" y2="136.27"/><polygon fill="#181818" points="263.162,126.27,267.162,136.27,271.162,126.27,267.162,130.27" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="76.2508" x2="66.2508" y1="202.2388" y2="202.2388"/><line style="stroke:#181818;stroke-width:1;" x1="66.2508" x2="66.2508" y1="202.2388" y2="224.2388"/><polygon fill="#181818" points="62.2508,214.2388,66.2508,224.2388,70.2508,214.2388,66.2508,218.2388" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="458.0731" x2="468.0731" y1="202.2388" y2="202.2388"/><line style="stroke:#181818;stroke-width:1;" x1="468.0731" x2="468.0731" y1="202.2388" y2="224.2388"/><polygon fill="#181818" points="464.0731,214.2388,468.0731,224.2388,472.0731,214.2388,468.0731,218.2388" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="267.162" x2="267.162" y1="170.2388" y2="190.2388"/><polygon fill="#181818" points="263.162,180.2388,267.162,190.2388,271.162,180.2388,267.162,184.2388" style="stroke:#181818;stroke-width:1;"/><!--SRC=[dO-n3S8m54HxJt5AGoXO81I84Wa1ArZnHNp9sC7-7e6E4M0v9Y4e0XI9YlgUxjr9XtexAofUibMMX9v5OLKfmIMYqbWoF3EKAOb6ISmLLdFeaG7rliZSc0RheZ6zEYG6F6wNfN5KsnwDeSz4lOjXu1YST0C-LGQErkgZhN0kH1wglbRqIK8hlVLBOpQltVoPmX5-qi-i2_5ewOkCgOGkfjCuziyhpS5ck9cTmFVh6tu2]--></g></svg>

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

@@ -0,0 +1,32 @@
@startuml
start
if (Le **territoire** d'un des usagers est-il autorisé pour l'action donnée ?) then (Oui, autorisé)
note left: Si pas de territoire\n(usager non localisé)\nL'autorisation est toujours accordée.
else (Non)
:Pas d'autorisation ❌;
detach
endif
if (Le **service** de l'information est-il autorisé pour l'action donnée ?) then (Oui, autorisé)
else (Non)
:Pas d'autorisation ❌;
detach
endif
:Autorisation accordée ✅;
@enduml

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.4 KiB

BIN
presentation/src/img/export-date-floating.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
presentation/src/img/export-user-or-me.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
presentation/src/img/mise-en-attente-workflow-display.png (Stored with Git LFS) Normal file

Binary file not shown.