Skip to content
Snippets Groups Projects
Commit f0e50614 authored by kaiyou's avatar kaiyou
Browse files

Add informations about profile lifecycle

parent 4d384e4a
No related branches found
No related tags found
No related merge requests found
......@@ -35,13 +35,25 @@ Les principales transitions sont les suivantes :
## Déroulement d'une transition
La transition d'un état à l'autre se déroule en trois étapes :
La transition d'un état à l'autre comprend elle-même une machine à état minimale, assurant la logique interne de transition.
- `INIT`, validant la validité de la transition et la préparant ;
- `START` ou `MANUAL`, exécutant les actions modifiant d'autres états que la transition ;
- `DONE`, finalisant la transition en modifiant l'état du profil.
Les états définis sont :
- `PREPARE`, validant la validité de la transition et la préparant ;
- `AUTO`, exécutant les actions et modifiant d'autres états que la transition ;
- `MANUAL`, attendant une confirmation manuelle de l'exécution ;
- `FINALIZE`, finalisant la transition en modifiant l'état du profil.
Les transitions sont décrites dans la machine à états suivante.
{{< figure src="../transition-state.png" >}}
La phase de préparation peut abandonner la transition sous conditions, et déclencher un déroulement manuel ou automatique de la transition. Le délenchement manuel n'effectue pas d'action complémentaire mais attend de l'administrateur une confirmation que les actions sont exécutées (par exemple un profil supprimé dans le service). Le déclenchement automatique effectue les actions automatiquement après un délai défini par transition, par exemple en appelant l'API du service.
Les applications (voir l'[architecture](../architecture)) peuvent déclarer des *hooks* sur chaque état de chaque transition pour effectuer des actions, par exemple :
- sur `PREPARE` de `delete` et `purge` afin de notifier l'utilisateur ;
- sur `AUTO` de `delete` afin de supprimer le compte utilisateur ;
- sur `AUTO` de `purge` afin de supprimer les données de l'utilisateur ;
- sur `FINALIZE` de `delete` et `purge` afin de notifier l'utilisateur.
La validation de la transition peut :
- invalider la transition ;
- valider la transition pour une exécution normale ;
- valider la transition pour une exécution manuelle.
\ No newline at end of file
<mxfile host="app.diagrams.net" modified="2021-02-21T11:20:45.395Z" agent="5.0 (X11)" etag="k6A_tcdZ8msXkhhtn6k7" version="14.4.2" type="device"><diagram name="Page-1" id="2a216829-ef6e-dabb-86c1-c78162f3ba2b">7Zrbdps4FIafxpeZBcjCzqXtkLZrkkmmTtrJJQEZtCIjIuTanqcfCYQ5yJ7gI3Zbr1ygrQPw729LWwodMJouPjE3Du+pj0jHMvxFB9x0LMvsWlZH/hn+MrP0TZgZAoZ91agwjPG/SBkNZZ1hHyWVhpxSwnFcNXo0ipDHKzaXMTqvNptQUr1r7AZIM4w9l+jW79jnoXoLaBT2zwgHYX5n01A1r673FjA6i9T9OhaYpL+seurmY6n2Sej6dF4yAacDRoxSnl1NFyNEpLa5bFm/2w21q+dmKOJNOoDH8cvDE3EmiTV4CIYhGIYvV2qUHy6ZKT2+On8/O+Mn9cx8meuUvimSY5kdMJyHmKNx7Hqydi7IELaQT4mqVqMixtFi4+OaKxEEXIhOEWdL0UR1sHKdFVfmtSrPCy+ZubZhyUO2srkKjGA1dCGOuFD6bKEV1LR6/mt0N/hy79y0rha0zk0tW1NrMHr68s1pXSpgV6UCoG2peppUw7uH0Z9ngJXZrWrV7betVV/T6sa5c57OD6v2pbrWpHp8/vrpDKiC1+cmlamvg5pKYhiRk6CqGmJRj2V9wl3Gx9zlsn6CCRlRQlnaERjpTzbmjL6hUs1komoOsV52YXUFMHRRwRpNwdE0tdZoar/PZL4zjBkVKiFRzdD7DCW8qNKF90XCpoqU8ZAGNHKJU1jLDpEaYpHdDQgOImF7pZzTqahAkT+Q6aIcJEZRZlHpaL+Bc+RTVFyT0BnzUAOoGviQIeJy/KN6g3UeUV0fKRYjFr63N6z++RCCzgBx1avm19Vj7OFqPTW6tPCB9rmFj55AFTGCFhwxEQRykGksguJnDB94qvCB/ZbDR08ALy18zF4tqc5Xo9bCR08U168+ARbCCHpo9DPGUO9UMaTtquq52rFjSM92XU+8j4wJzZuFHzziJgn2qg5EC8z/EdfGHz2oii+lqhv5ykZeWOaFSLxA1suCefmlXFn0S0t5xw2+1VzWxN1Zu0zq/2lnr0egFKtwTazmtj1J6db2lMCskZK9pkaKPlBtG6FtD46MXL5DKSEncMLTPXizduKt1xZv8BJ4A8YHmDTmzaivcSfmTd+kvhLqvW3PW4HOVuQUnBqw3xxUUXhEDIvXR+zwDNoNGey1yiCsoVPPMI/NoODBXZaaxbJBsvmBrfoRDaj8c0FcZCMeFnD9xGAWfYh4RCO0ke/tpsadJuI0+dbjLTXfYlI8lK9KslP1yO2XC4f6WamxYzhYtbjqNty5bRsOoH4ODk8RDkALBx8RtFdCu1N+0VZ60ZTl/u/04hC4dTXc4pm44x60Xdj2qSlv123ylq/Ee8+d2kAnPvWy9EPjlLerbJLzd+bOLEFXzHgfYVdhrpjyjk9d/zd1p6ROP1bPeLtKE80TYXdAfFpN5OpHMKvPULbFop4Rwvqh0LGx0I/gs8loXyoOswiap5uOepcwHVm9Q3H30UAH2kDUpz1o77WBEMXiw8GsefF1JnD+Aw==</diagram></mxfile>
\ No newline at end of file
<mxfile host="Electron" modified="2021-02-21T15:51:06.380Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.1.8 Chrome/87.0.4280.88 Electron/11.1.1 Safari/537.36" etag="Nw0eLVfbT7nsMKEGo44f" version="14.1.8" type="device"><diagram name="Page-1" id="2a216829-ef6e-dabb-86c1-c78162f3ba2b">7Zpde6MoFMc/TS53H5Vg0sskdbrzbGfbnbSz20urRHlKxEEySfbTL0SMCunUxLzY7uamcngR/vwOHKg9MJmvbpifxl9oiEjPscJVD1z3HMe2LUf8kZZ1bhk6bm6IGA5VodIwxf8gZbSUdYFDlNUKckoJx2ndGNAkQQGv2XzG6LJebEZJ/a2pHyHDMA18Ylr/wiGP1SigVdp/QziK+XbAKufZD14iRheJel/PAbPNL8+e+0VbqnwW+yFdVkzA64EJo5TnT/PVBBGpbSFbXu/TK7nbfjOU8CYVwP306e6BeLPMGd1F4xiM46dfVCs/fLJQenz1/nz0pg+qz3xd6LQZKZJt2T0wXsaYo2nqBzJ3KcgQtpjPico2+1a8CDGOVhWT6usNonPE2VoUUblOobPiyr5S6WU5S3ahbVyZIVfZfAVGtG26FEc8KH320AoaWj3+Mbkdff7iXV9cLeh0TS3XUGs0efj8zbu4VMCtSwXApaUaGFKNb+8mv3cAK7tf16o/vLRWQ0Ora+/We+iAVjpXl9fqytDq/vHrTQekglddk8o2N0JDJdGMCEpQXQ2xq6cyP+M+41Puc5k/w4RMKKFsUxFYm58szBl9QZWc2UzlHGPD7MP6FmCZooIdmoKTaers0NT9vpABzzhlVKiERDZD3xco42WWKXwoIjaVpIzHNKKJT7zSWp0QKRgW4d2I4CgRtmfKOZ2LDJSEIxkvykZSlOQWFY8OD5ucjC5YgBpgJUfw0zlkiPgc/6jHpLtmRFW9p1j0pZx795Xtv2hC0Bkhrmpp87rtRoupNmOj9+Y+0O2a+5gRVOkjaMURE04gG5mnwik+pvvA87gPHF7YfcwI8L25jz3QoupiN7qY+5iR4u7dJ8JCGEEPTT6mDw3O40PGsUqP1U7tQ2a06wdiPNInjNks5yEgfpbhoD6BaIX53+LZ+nUAVfKpknUth2wViXWRSMQA8loOLNJP1cyy3iZVVGwxt3m5XNmflHMbIlDxVbjDVwtbS1L62qES2Bop+bgNUsyGtGOEcTw4MXLFCaWCnMAJz1vw5hzE2+BMvMF3yRuw3sCkMW+WvsedmTfzkPpMaPCyP28lOnuRU3JqwWFzUEXiHjEsho9Yawbdhgw23fbOxCDU0NEjzFMzKHjw15ViqSyQvd5hR7+iAbX/LoiHvMXjAm7eGCySNxFPaIJe5Xu/pfGghXgTfJv+tjF/wqTsVKhSslL9yu0/5w76Xal1oDs4ml/1G57c9nUHoF+Ew3O4AzDcIUQEtQpoD4ovzhReNGV52C2WP0x40TdwSxfijS1o6/bxqSlvV53irdiJW6+dRkNnvvVyzEtjydvBuNkV1sqF7i3aaqiVK93RYRv+D9tFYTNv01vupfvgdjg23Yrb9BuX7Wcn++KgB4BQvwM6NQ7mjXsX9jr7ZMvP4F0uP87gWLy91dCRzgn6MgfdVucEkSw/EMyLl19hAu9f</diagram></mxfile>
\ No newline at end of file
content/docs/hiboo/profile-state.png

27.2 KiB | W: | H:

content/docs/hiboo/profile-state.png

30.9 KiB | W: | H:

content/docs/hiboo/profile-state.png
content/docs/hiboo/profile-state.png
content/docs/hiboo/profile-state.png
content/docs/hiboo/profile-state.png
  • 2-up
  • Swipe
  • Onion skin
<mxfile host="Electron" modified="2021-02-21T15:58:11.093Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.1.8 Chrome/87.0.4280.88 Electron/11.1.1 Safari/537.36" etag="k1Es119kwGbYrUjsSiKa" version="14.1.8" type="device"><diagram id="NfgJeh5YPHcveAtPDZDE" name="Page-1">7ZpbU+IwFMc/DY/utE3L5RG5rM6o64jOrr7FNrRZQ9MNQcBPvylNrwEpVVsZ9cXm5ELyP7+TnAZaYDBb/WQw8C6pg0jL0JxVCwxbhqHrmiH+hZZ1ZOka7cjgMuzIRqlhgl+QNGrSusAOmucackoJx0HeaFPfRzbP2SBjdJlvNqUk/6kBdJFimNiQqNbf2OGeXIWlpfYzhF2PJwuWNTMYN5aGuQcdusyYwKgFBoxSHj3NVgNEQvFiXaJ+4x21ycQY8nmZDstg+nQGBvTyhTyA1WnvZPjv74kc5RmShVywnCxfxwqIUYTYonDq8RkRNl08isUEYf2cQ8YnHPKwfooJGVBC2aYj0DZ/YWPO6BPK1EynskZ+OmIcrXYuS0/EEpQhOkOcrUUT2QF0pb4SsJ4sLlNvAWnyMo6KbVDy4SYDpxKKB6niAYoaJRR1BGKySBn3qEt9SEapNat0KA4WPPYJdn1he6Sc05moQL7TDwEPBwmQH1lkAHVLqB7OIqf5nC6YjfbDUsI3DBHI8XN+/G1Sy67XFIsRU5/2rJxP9U7BW4I6F3HZq+CwZBrVfQgUH17fjK77NyPFlYwufAc50ldLD3M0CeBGxaXYEPOufA/awQ5lMrjrxhbe2x/Fu6lo1b+7/dW4UIaZ3xaMxoWyFKEu+1d3/YvGpTI/nVRtRarx+VX/4vzh8wUgaFyszhuP8PDU+EwHuNlt+ATvKoLChThyxYFmC/PGot0yUafInJ7IPvULcqMV5n/Es/ajY8nifViUz8NVtrCOC75YUNTLsOLyfTxiWEj7bUppR2eMw2UPI/+JLC2emk3gfC6WIs2ymb47L1BcWSJVkKdCdE7vO2lVNDKut7a4Pra9Mc1IXjJi8qwCUtEylTRDHahdGEirN1/plSB2DMm8MrJGJWQ7R4WsdQzIguJZ3a2ILOjkz7EkX6oJ2Tj0MsxyPEN0wb8Z3ZsY7WXU/NKMCpfAdaZZEDaYvzLhdiGns3I3KeIhGvF9A0C9euEMuy5i33nF2wPAajQACtyCygFQiCRQ9yZd5jKrHJyV2DwqNDsl0Ww3iaZZfH2tiqbZbRhN9Y5uSkMHHcZnnawlwZANhSQwtgfDl8sdiljVvXUenDto2yf8sbmDekFmQ98Ov3qrSH8NWUDD+JfdnhtOnfPbs6lXxV+vB//krjiesFkH/uqVZyX8JZD6AUAe7ZtjWfwbTZwbz04Oxd8CBfxreXPcckH9SNmhFycJyVmMM3nQF9z7m73a6+VZsjSrGvxGTfAr1+cd7fV5FdrH5YrBIorpj2ei5ulPkMDoPw==</diagram></mxfile>
\ No newline at end of file
content/docs/hiboo/transition-state.png

21.8 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment