Add transaction course (first part)
This commit is contained in:
parent
b648ca914d
commit
05b143ac2f
2 changed files with 576 additions and 0 deletions
414
content/bdd_avancees/7-transactions/images/etat_transaction.svg
Normal file
414
content/bdd_avancees/7-transactions/images/etat_transaction.svg
Normal file
|
@ -0,0 +1,414 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="105.07914mm"
|
||||
height="75.58342mm"
|
||||
viewBox="0 0 105.07914 75.58342"
|
||||
version="1.1"
|
||||
id="svg668"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs665">
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow2Mend"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="scale(-0.6)"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
|
||||
id="path56537" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="marker56771"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(-0.3,0,0,-0.3,0.69,0)"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
|
||||
id="path56543" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow2Send"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto">
|
||||
<path
|
||||
transform="matrix(-0.3,0,0,-0.3,0.69,0)"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
|
||||
id="path51233" />
|
||||
</marker>
|
||||
</defs>
|
||||
<g
|
||||
id="path56873">
|
||||
<path
|
||||
style="color:#000000;fill:#de6a66;-inkscape-stroke:none"
|
||||
d="m 79.216797,13.818359 -31.623047,0.04102 v 0.464844 l 31.625,-0.04102 z"
|
||||
id="path62245" />
|
||||
<g
|
||||
id="g62235">
|
||||
<g
|
||||
id="path62237">
|
||||
<path
|
||||
style="color:#000000;fill:#de6a66;fill-rule:evenodd;stroke-width:0.174375;stroke-linejoin:round;-inkscape-stroke:none"
|
||||
d="m 76.783741,12.929232 3.049772,1.116986 -3.046861,1.124901 c 0.486134,-0.662437 0.482152,-1.567897 -0.0029,-2.241887 z"
|
||||
id="path62241" />
|
||||
<path
|
||||
style="color:#000000;fill:#de6a66;fill-rule:evenodd;stroke-linejoin:round;-inkscape-stroke:none"
|
||||
d="m 76.783203,12.841797 a 0.08719622,0.08719622 0 0 0 -0.03711,0.154297 l -0.0332,-0.01563 c 0.463558,0.644123 0.467485,1.50697 0.0039,2.138672 a 0.08719622,0.08719622 0 0 0 0.09961,0.132812 l 3.046875,-1.123047 a 0.08719622,0.08719622 0 0 0 0,-0.164062 l -3.048828,-1.117188 -0.002,0.0098 a 0.08719622,0.08719622 0 0 0 -0.0293,-0.01563 z m 0.134766,0.230469 2.662109,0.974609 -2.660156,0.982422 c 0.353912,-0.611111 0.35205,-1.338657 -0.002,-1.957031 z"
|
||||
id="path62243" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="path56871">
|
||||
<path
|
||||
style="color:#000000;fill:#de6a66;-inkscape-stroke:none"
|
||||
d="m 79.216797,61.972656 -31.623047,0.04102 v 0.464844 l 31.625,-0.04102 z"
|
||||
id="path62259" />
|
||||
<g
|
||||
id="g62249">
|
||||
<g
|
||||
id="path62251">
|
||||
<path
|
||||
style="color:#000000;fill:#de6a66;fill-rule:evenodd;stroke-width:0.174375;stroke-linejoin:round;-inkscape-stroke:none"
|
||||
d="m 76.783741,61.0834 3.049772,1.116986 -3.046861,1.124901 c 0.486134,-0.662437 0.482152,-1.567897 -0.0029,-2.241887 z"
|
||||
id="path62255" />
|
||||
<path
|
||||
style="color:#000000;fill:#de6a66;fill-rule:evenodd;stroke-linejoin:round;-inkscape-stroke:none"
|
||||
d="m 76.783203,60.996094 a 0.08719622,0.08719622 0 0 0 -0.03711,0.154297 l -0.0332,-0.01563 c 0.463558,0.644123 0.467485,1.50697 0.0039,2.138671 a 0.08719622,0.08719622 0 0 0 0.09961,0.132813 l 3.046875,-1.125 a 0.08719622,0.08719622 0 0 0 0,-0.162109 l -3.048828,-1.117188 -0.002,0.0098 a 0.08719622,0.08719622 0 0 0 -0.0293,-0.01563 z m 0.134766,0.230468 2.662109,0.97461 -2.660156,0.982422 c 0.353912,-0.611112 0.35205,-1.338657 -0.002,-1.957032 z"
|
||||
id="path62257" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="path56869">
|
||||
<path
|
||||
style="color:#000000;fill:#de6a66;-inkscape-stroke:none"
|
||||
d="m 48.878906,18.533203 -0.189453,31.623047 0.464844,0.0039 0.189453,-31.623047 z"
|
||||
id="path62231" />
|
||||
<g
|
||||
id="g62221">
|
||||
<g
|
||||
id="path62223">
|
||||
<path
|
||||
style="color:#000000;fill:#de6a66;fill-rule:evenodd;stroke-width:0.174375;stroke-linejoin:round;-inkscape-stroke:none"
|
||||
d="m 50.061629,47.73225 -1.139156,3.041561 -1.102692,-3.054969 c 0.65888,0.490943 1.564345,0.493553 2.241848,0.01341 z"
|
||||
id="path62227" />
|
||||
<path
|
||||
style="color:#000000;fill:#de6a66;fill-rule:evenodd;stroke-linejoin:round;-inkscape-stroke:none"
|
||||
d="m 50.082031,47.646484 a 0.08719622,0.08719622 0 0 0 -0.07031,0.01367 c -0.647481,0.458867 -1.512316,0.456446 -2.140625,-0.01172 a 0.08719622,0.08719622 0 0 0 -0.132813,0.09961 l 1.101563,3.054687 a 0.08719622,0.08719622 0 0 0 0.164062,0.002 l 1.138672,-3.041015 a 0.08719622,0.08719622 0 0 0 -0.06055,-0.117188 z m -2.121094,0.207032 c 0.609141,0.358494 1.337811,0.360388 1.958985,0.0098 l -0.996094,2.660156 z"
|
||||
id="path62229" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="path56867">
|
||||
<path
|
||||
style="color:#000000;fill:#de6a66;-inkscape-stroke:none"
|
||||
d="M 12.453125,38.654297 12.191406,39.039062 38.302734,56.875 38.566406,56.492187 Z"
|
||||
id="path62217" />
|
||||
<g
|
||||
id="g62207">
|
||||
<g
|
||||
id="path62209">
|
||||
<path
|
||||
style="color:#000000;fill:#de6a66;fill-rule:evenodd;stroke-width:0.174375;stroke-linejoin:round;-inkscape-stroke:none"
|
||||
d="m 37.06091,54.381996 1.884873,2.645 -3.149397,-0.793772 c 0.77542,-0.271796 1.283825,-1.021061 1.264524,-1.851228 z"
|
||||
id="path62213" />
|
||||
<path
|
||||
style="color:#000000;fill:#de6a66;fill-rule:evenodd;stroke-linejoin:round;-inkscape-stroke:none"
|
||||
d="m 37.033203,54.298828 a 0.08719622,0.08719622 0 0 0 -0.05859,0.08594 c 0.01845,0.793379 -0.467588,1.506439 -1.207031,1.765625 a 0.08719622,0.08719622 0 0 0 0.0078,0.167968 l 3.148437,0.792969 a 0.08719622,0.08719622 0 0 0 0.09375,-0.134766 l -1.884766,-2.644531 a 0.08719622,0.08719622 0 0 0 -0.09961,-0.0332 z m 0.05859,0.275391 1.646484,2.310547 -2.75,-0.69336 c 0.637125,-0.304671 1.046742,-0.906725 1.103516,-1.617187 z"
|
||||
id="path62215" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="path55687">
|
||||
<path
|
||||
style="color:#000000;fill:#de6a66;-inkscape-stroke:none"
|
||||
d="M 38.302734,19.322266 12.191406,37.158203 12.453125,37.542969 38.566406,19.705078 Z"
|
||||
id="path62203" />
|
||||
<g
|
||||
id="g62193">
|
||||
<g
|
||||
id="path62195">
|
||||
<path
|
||||
style="color:#000000;fill:#de6a66;fill-rule:evenodd;stroke-width:0.174375;stroke-linejoin:round;-inkscape-stroke:none"
|
||||
d="m 35.791346,19.956071 3.149397,-0.793771 -1.884874,2.644999 c 0.02885,-0.821168 -0.484192,-1.567268 -1.264523,-1.851228 z"
|
||||
id="path62199" />
|
||||
<path
|
||||
style="color:#000000;fill:#de6a66;fill-rule:evenodd;stroke-linejoin:round;-inkscape-stroke:none"
|
||||
d="m 38.919922,19.078125 -3.150391,0.792969 a 0.08719622,0.08719622 0 0 0 -0.0078,0.166015 c 0.745752,0.271377 1.234542,0.984511 1.207031,1.767578 a 0.08719622,0.08719622 0 0 0 0.158203,0.05273 l 1.884766,-2.644531 a 0.08719622,0.08719622 0 0 0 -0.0918,-0.134766 z m -0.1875,0.226562 -1.646485,2.308594 c -0.05222,-0.703975 -0.464662,-1.303951 -1.105468,-1.615234 z"
|
||||
id="path62201" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g55348"
|
||||
transform="translate(34.685254,32.834543)">
|
||||
<circle
|
||||
style="fill:#ffffff;stroke:#41e6a8;stroke-width:0.603355;stroke-opacity:1"
|
||||
id="path320"
|
||||
cx="-21.082937"
|
||||
cy="4.9571657"
|
||||
r="10.300639" />
|
||||
<g
|
||||
aria-label="active"
|
||||
id="text8102"
|
||||
style="font-size:4.23333px;line-height:1.25;fill:#4d4d4d;fill-opacity:1;stroke-width:0.264583"
|
||||
transform="translate(-0.58912924,0.00950167)">
|
||||
<path
|
||||
d="m -25.490915,5.3621085 q -0.460953,0 -0.63872,0.1054198 -0.177767,0.1054199 -0.177767,0.3596677 0,0.2025715 0.132292,0.3224607 0.134358,0.1178221 0.363801,0.1178221 0.31626,0 0.506429,-0.223242 0.192236,-0.225309 0.192236,-0.597379 v -0.084749 z m 0.758609,-0.1570962 v 1.3208485 h -0.380338 V 6.1744613 q -0.130224,0.2108397 -0.324528,0.3121254 -0.194303,0.099219 -0.475422,0.099219 -0.355534,0 -0.566374,-0.1984373 -0.208772,-0.2005044 -0.208772,-0.5353674 0,-0.3906735 0.260449,-0.5891109 0.262516,-0.1984373 0.781347,-0.1984373 h 0.5333 v -0.037207 q 0,-0.262516 -0.173632,-0.4051429 -0.171566,-0.1446939 -0.483691,-0.1446939 -0.198438,0 -0.38654,0.047542 -0.188102,0.047542 -0.361735,0.1426268 V 4.3161784 q 0.208773,-0.080615 0.405143,-0.1198892 0.196371,-0.041341 0.382406,-0.041341 0.502294,0 0.750341,0.260449 0.248046,0.260449 0.248046,0.7896151 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48751" />
|
||||
<path
|
||||
d="m -22.282845,4.299642 v 0.3555335 q -0.16123,-0.088883 -0.324527,-0.1322915 -0.161231,-0.045475 -0.326595,-0.045475 -0.370003,0 -0.574642,0.2356444 -0.204638,0.2335772 -0.204638,0.6573236 0,0.4237464 0.204638,0.6593908 0.204639,0.2335772 0.574642,0.2335772 0.165364,0 0.326595,-0.043408 0.163297,-0.045475 0.324527,-0.1343586 v 0.3513994 q -0.159163,0.074414 -0.330729,0.111621 -0.169498,0.037207 -0.361734,0.037207 -0.522965,0 -0.830957,-0.3286618 -0.307991,-0.3286619 -0.307991,-0.8867669 0,-0.5663732 0.310058,-0.8909009 0.312126,-0.3245277 0.853694,-0.3245277 0.1757,0 0.343132,0.037207 0.167431,0.03514 0.324527,0.1074865 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48753" />
|
||||
<path
|
||||
d="m -21.245183,3.5534349 v 0.6573237 h 0.783414 v 0.2955889 h -0.783414 v 1.2567698 q 0,0.2831866 0.07648,0.3638018 0.07855,0.080615 0.31626,0.080615 h 0.390673 v 0.3183266 h -0.390673 q -0.440283,0 -0.607714,-0.1632974 -0.167432,-0.1653644 -0.167432,-0.5994461 V 4.5063475 H -21.90664 V 4.2107586 h 0.279052 V 3.5534349 Z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48755" />
|
||||
<path
|
||||
d="m -19.961541,4.2107586 h 0.380338 v 2.3151022 h -0.380338 z m 0,-0.9012363 h 0.380338 v 0.481624 h -0.380338 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48757" />
|
||||
<path
|
||||
d="m -19.058238,4.2107586 h 0.403076 l 0.72347,1.9430322 0.723469,-1.9430322 h 0.403076 l -0.868163,2.3151022 h -0.516764 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48759" />
|
||||
<path
|
||||
d="m -14.299876,5.2732251 v 0.186035 h -1.748729 q 0.0248,0.3927406 0.235644,0.5994461 0.212907,0.2046385 0.591178,0.2046385 0.219108,0 0.423746,-0.053743 0.206706,-0.053744 0.409277,-0.1612303 V 6.408039 q -0.204638,0.086816 -0.419612,0.1322916 -0.214974,0.045475 -0.436149,0.045475 -0.55397,0 -0.878498,-0.3224607 -0.322461,-0.3224606 -0.322461,-0.8722974 0,-0.5684403 0.305924,-0.9012362 0.307992,-0.334863 0.82889,-0.334863 0.467154,0 0.737938,0.3017901 0.272852,0.299723 0.272852,0.8164867 z m -0.380338,-0.111621 q -0.0041,-0.3121254 -0.1757,-0.4981604 -0.169499,-0.186035 -0.450618,-0.186035 -0.318327,0 -0.510563,0.1798339 -0.190169,0.1798338 -0.219108,0.5064286 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48761" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g55372"
|
||||
transform="translate(20.013092,26.483492)">
|
||||
<circle
|
||||
style="fill:#ffffff;stroke:#41e6a8;stroke-width:0.603355;stroke-opacity:1"
|
||||
id="circle23016"
|
||||
cx="29.230612"
|
||||
cy="-12.881175"
|
||||
r="10.300639" />
|
||||
<g
|
||||
aria-label="partiellement
|
||||
validée"
|
||||
id="text23020"
|
||||
style="font-size:2.82222px;line-height:1.25;fill:#4d4d4d;fill-opacity:1;stroke-width:0.264583">
|
||||
<path
|
||||
d="m 20.150724,-13.824441 v 0.818554 h -0.254937 v -2.130445 h 0.254937 v 0.234266 q 0.07993,-0.137804 0.201193,-0.20395 0.122646,-0.06752 0.292144,-0.06752 0.28112,0 0.456131,0.223242 0.176388,0.223242 0.176388,0.587043 0,0.363802 -0.176388,0.587044 -0.175011,0.223242 -0.456131,0.223242 -0.169498,0 -0.292144,-0.06615 -0.121267,-0.06752 -0.201193,-0.205328 z m 0.862651,-0.538813 q 0,-0.279741 -0.115755,-0.438215 -0.114377,-0.159853 -0.31557,-0.159853 -0.201194,0 -0.316949,0.159853 -0.114377,0.158474 -0.114377,0.438215 0,0.279742 0.114377,0.439594 0.115755,0.158475 0.316949,0.158475 0.201193,0 0.31557,-0.158475 0.115755,-0.159852 0.115755,-0.439594 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;text-anchor:middle;fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48764" />
|
||||
<path
|
||||
d="m 22.398303,-14.368766 q -0.307303,0 -0.425814,0.07028 -0.118511,0.07028 -0.118511,0.239779 0,0.135047 0.08819,0.214973 0.08957,0.07855 0.242535,0.07855 0.21084,0 0.337619,-0.148828 0.128157,-0.150206 0.128157,-0.398253 v -0.0565 z m 0.505739,-0.104731 v 0.880566 h -0.253559 v -0.234266 q -0.08682,0.14056 -0.216351,0.208084 -0.129536,0.06615 -0.316949,0.06615 -0.237022,0 -0.377582,-0.132291 -0.139182,-0.13367 -0.139182,-0.356912 0,-0.260449 0.173633,-0.39274 0.175011,-0.132292 0.520898,-0.132292 h 0.355533 v -0.02481 q 0,-0.17501 -0.115755,-0.270095 -0.114377,-0.09646 -0.32246,-0.09646 -0.132292,0 -0.257693,0.03169 -0.125402,0.0317 -0.241157,0.09509 v -0.234267 q 0.139182,-0.05374 0.270095,-0.07993 0.130914,-0.02756 0.254937,-0.02756 0.334863,0 0.500228,0.173632 0.165364,0.173633 0.165364,0.526411 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;text-anchor:middle;fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48766" />
|
||||
<path
|
||||
d="m 24.320664,-14.89931 q -0.04272,-0.02481 -0.09371,-0.03583 -0.04961,-0.0124 -0.110243,-0.0124 -0.214974,0 -0.330729,0.140559 -0.114377,0.139182 -0.114377,0.401009 v 0.813042 h -0.254937 v -1.543401 h 0.254937 v 0.239778 q 0.07993,-0.14056 0.208084,-0.208084 0.128157,-0.0689 0.311436,-0.0689 0.02618,0 0.05788,0.0041 0.03169,0.0028 0.07028,0.0096 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;text-anchor:middle;fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48768" />
|
||||
<path
|
||||
d="m 24.837429,-15.574548 v 0.438216 h 0.522276 v 0.197059 h -0.522276 v 0.837846 q 0,0.188792 0.05099,0.242535 0.05237,0.05374 0.21084,0.05374 h 0.260449 v 0.212218 h -0.260449 q -0.293522,0 -0.405143,-0.108865 -0.111621,-0.110243 -0.111621,-0.399631 v -0.837846 H 24.39646 v -0.197059 h 0.186035 v -0.438216 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;text-anchor:middle;fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48770" />
|
||||
<path
|
||||
d="m 25.693189,-15.136332 h 0.253559 v 1.543401 h -0.253559 z m 0,-0.600825 h 0.253559 v 0.321083 h -0.253559 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;text-anchor:middle;fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48772" />
|
||||
<path
|
||||
d="m 27.797452,-14.428021 v 0.124023 h -1.165819 q 0.01654,0.261827 0.157096,0.399631 0.141938,0.136425 0.394119,0.136425 0.146072,0 0.282497,-0.03583 0.137804,-0.03583 0.272852,-0.107487 v 0.239778 q -0.136426,0.05788 -0.279742,0.08819 -0.143316,0.03032 -0.290766,0.03032 -0.369314,0 -0.585665,-0.214974 -0.214974,-0.214973 -0.214974,-0.581531 0,-0.37896 0.203949,-0.600824 0.205328,-0.223242 0.552593,-0.223242 0.311437,0 0.491959,0.201193 0.181901,0.199815 0.181901,0.544325 z m -0.253559,-0.07441 q -0.0028,-0.208084 -0.117133,-0.332107 -0.112999,-0.124024 -0.300412,-0.124024 -0.212218,0 -0.340375,0.11989 -0.126779,0.119889 -0.146072,0.337619 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;text-anchor:middle;fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48774" />
|
||||
<path
|
||||
d="m 28.213619,-15.737157 h 0.253559 v 2.144226 h -0.253559 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;text-anchor:middle;fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48776" />
|
||||
<path
|
||||
d="m 28.997722,-15.737157 h 0.253559 v 2.144226 h -0.253559 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;text-anchor:middle;fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48778" />
|
||||
<path
|
||||
d="m 31.101985,-14.428021 v 0.124023 h -1.165819 q 0.01654,0.261827 0.157096,0.399631 0.141938,0.136425 0.394119,0.136425 0.146072,0 0.282497,-0.03583 0.137804,-0.03583 0.272852,-0.107487 v 0.239778 q -0.136426,0.05788 -0.279742,0.08819 -0.143316,0.03032 -0.290766,0.03032 -0.369314,0 -0.585665,-0.214974 -0.214974,-0.214973 -0.214974,-0.581531 0,-0.37896 0.203949,-0.600824 0.205328,-0.223242 0.552593,-0.223242 0.311437,0 0.491959,0.201193 0.181901,0.199815 0.181901,0.544325 z m -0.253559,-0.07441 q -0.0028,-0.208084 -0.117133,-0.332107 -0.112999,-0.124024 -0.300412,-0.124024 -0.212218,0 -0.340375,0.11989 -0.126779,0.119889 -0.146072,0.337619 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;text-anchor:middle;fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48780" />
|
||||
<path
|
||||
d="m 32.719801,-14.840054 q 0.09509,-0.170877 0.227376,-0.252181 0.132292,-0.0813 0.311437,-0.0813 0.241156,0 0.37207,0.169498 0.130913,0.168121 0.130913,0.479557 v 0.931553 H 33.50666 v -0.923285 q 0,-0.221864 -0.07855,-0.329351 -0.07855,-0.107486 -0.239778,-0.107486 -0.197059,0 -0.311436,0.130913 -0.114378,0.130914 -0.114378,0.356912 v 0.872297 h -0.254936 v -0.923285 q 0,-0.223242 -0.07855,-0.329351 -0.07855,-0.107486 -0.242534,-0.107486 -0.194303,0 -0.30868,0.132291 -0.114378,0.130914 -0.114378,0.355534 v 0.872297 h -0.254936 v -1.543401 h 0.254936 v 0.239778 q 0.08682,-0.141938 0.208084,-0.209462 0.121267,-0.06752 0.28801,-0.06752 0.16812,0 0.285254,0.08544 0.118511,0.08544 0.17501,0.248047 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;text-anchor:middle;fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48782" />
|
||||
<path
|
||||
d="m 35.587496,-14.428021 v 0.124023 h -1.165819 q 0.01654,0.261827 0.157096,0.399631 0.141938,0.136425 0.394119,0.136425 0.146071,0 0.282497,-0.03583 0.137804,-0.03583 0.272852,-0.107487 v 0.239778 q -0.136426,0.05788 -0.279742,0.08819 -0.143316,0.03032 -0.290766,0.03032 -0.369314,0 -0.585666,-0.214974 -0.214973,-0.214973 -0.214973,-0.581531 0,-0.37896 0.203949,-0.600824 0.205328,-0.223242 0.552593,-0.223242 0.311436,0 0.491959,0.201193 0.181901,0.199815 0.181901,0.544325 z m -0.253559,-0.07441 q -0.0028,-0.208084 -0.117133,-0.332107 -0.112999,-0.124024 -0.300412,-0.124024 -0.212218,0 -0.340375,0.11989 -0.12678,0.119889 -0.146072,0.337619 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;text-anchor:middle;fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48784" />
|
||||
<path
|
||||
d="m 37.286616,-14.524484 v 0.931553 h -0.253559 v -0.923285 q 0,-0.219108 -0.08544,-0.327973 -0.08544,-0.108864 -0.256315,-0.108864 -0.205327,0 -0.323838,0.130913 -0.118512,0.130914 -0.118512,0.356912 v 0.872297 h -0.254937 v -1.543401 h 0.254937 v 0.239778 q 0.09095,-0.139182 0.213596,-0.208084 0.124023,-0.0689 0.285254,-0.0689 0.265961,0 0.402387,0.165364 0.136425,0.163986 0.136425,0.483691 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;text-anchor:middle;fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48786" />
|
||||
<path
|
||||
d="m 38.043159,-15.574548 v 0.438216 h 0.522276 v 0.197059 h -0.522276 v 0.837846 q 0,0.188792 0.05099,0.242535 0.05237,0.05374 0.21084,0.05374 h 0.260449 v 0.212218 h -0.260449 q -0.293522,0 -0.405143,-0.108865 -0.111621,-0.110243 -0.111621,-0.399631 v -0.837846 H 37.60219 v -0.197059 h 0.186035 v -0.438216 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;text-anchor:middle;fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48788" />
|
||||
<path
|
||||
d="m 24.104313,-11.608557 h 0.268717 l 0.482313,1.295355 0.482313,-1.295355 h 0.268717 l -0.578776,1.543401 h -0.344509 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;text-anchor:middle;fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48790" />
|
||||
<path
|
||||
d="m 26.657815,-10.840991 q -0.307302,0 -0.425813,0.07028 -0.118511,0.07028 -0.118511,0.239779 0,0.135047 0.08819,0.214974 0.08957,0.07855 0.242535,0.07855 0.210839,0 0.337619,-0.148828 0.128157,-0.150206 0.128157,-0.398253 v -0.0565 z m 0.50574,-0.10473 v 0.880565 h -0.253559 v -0.234266 q -0.08682,0.14056 -0.216352,0.208084 -0.129535,0.06615 -0.316948,0.06615 -0.237023,0 -0.377582,-0.132291 -0.139182,-0.13367 -0.139182,-0.356912 0,-0.260449 0.173633,-0.39274 0.17501,-0.132292 0.520898,-0.132292 h 0.355533 v -0.02481 q 0,-0.17501 -0.115755,-0.270095 -0.114377,-0.09646 -0.322461,-0.09646 -0.132291,0 -0.257693,0.03169 -0.125401,0.0317 -0.241156,0.09509 v -0.234266 q 0.139182,-0.05374 0.270095,-0.07993 0.130914,-0.02756 0.254937,-0.02756 0.334863,0 0.500228,0.173632 0.165364,0.173633 0.165364,0.526411 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;text-anchor:middle;fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48792" />
|
||||
<path
|
||||
d="m 27.685831,-12.209381 h 0.253559 v 2.144225 h -0.253559 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;text-anchor:middle;fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48794" />
|
||||
<path
|
||||
d="m 28.469934,-11.608557 h 0.253559 v 1.543401 h -0.253559 z m 0,-0.600824 h 0.253559 v 0.321082 h -0.253559 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;text-anchor:middle;fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48796" />
|
||||
<path
|
||||
d="m 30.269651,-11.374291 v -0.83509 h 0.253559 v 2.144225 h -0.253559 v -0.23151 q -0.07993,0.137804 -0.202572,0.205328 -0.121267,0.06615 -0.292144,0.06615 -0.279741,0 -0.45613,-0.223242 -0.175011,-0.223242 -0.175011,-0.587043 0,-0.363802 0.175011,-0.587044 0.176389,-0.223242 0.45613,-0.223242 0.170877,0 0.292144,0.06752 0.122646,0.06614 0.202572,0.203948 z m -0.864029,0.538813 q 0,0.279741 0.114377,0.439593 0.115755,0.158475 0.316948,0.158475 0.201194,0 0.316949,-0.158475 0.115755,-0.159852 0.115755,-0.439593 0,-0.279742 -0.115755,-0.438216 -0.115755,-0.159853 -0.316949,-0.159853 -0.201193,0 -0.316948,0.159853 -0.114377,0.158474 -0.114377,0.438216 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;text-anchor:middle;fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48798" />
|
||||
<path
|
||||
d="m 32.365646,-10.900246 v 0.124023 h -1.16582 q 0.01654,0.261827 0.157096,0.399631 0.141938,0.136426 0.394119,0.136426 0.146072,0 0.282498,-0.03583 0.137803,-0.03583 0.272851,-0.107487 v 0.239778 q -0.136426,0.05788 -0.279742,0.08819 -0.143315,0.03032 -0.290765,0.03032 -0.369314,0 -0.585666,-0.214973 -0.214974,-0.214974 -0.214974,-0.581532 0,-0.37896 0.20395,-0.600824 0.205327,-0.223242 0.552592,-0.223242 0.311437,0 0.49196,0.201193 0.181901,0.199816 0.181901,0.544325 z m -0.253559,-0.07441 q -0.0028,-0.208084 -0.117133,-0.332107 -0.112999,-0.124024 -0.300412,-0.124024 -0.212218,0 -0.340376,0.11989 -0.126779,0.119889 -0.146072,0.337619 z m -0.243913,-1.347721 h 0.27423 l -0.449241,0.518142 h -0.210839 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;text-anchor:middle;fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48800" />
|
||||
<path
|
||||
d="m 34.101972,-10.900246 v 0.124023 h -1.16582 q 0.01654,0.261827 0.157097,0.399631 0.141937,0.136426 0.394118,0.136426 0.146072,0 0.282498,-0.03583 0.137804,-0.03583 0.272851,-0.107487 v 0.239778 q -0.136425,0.05788 -0.279741,0.08819 -0.143316,0.03032 -0.290766,0.03032 -0.369314,0 -0.585666,-0.214973 -0.214974,-0.214974 -0.214974,-0.581532 0,-0.37896 0.20395,-0.600824 0.205327,-0.223242 0.552593,-0.223242 0.311436,0 0.491959,0.201193 0.181901,0.199816 0.181901,0.544325 z m -0.253559,-0.07441 q -0.0028,-0.208084 -0.117133,-0.332107 -0.112999,-0.124024 -0.300412,-0.124024 -0.212218,0 -0.340375,0.11989 -0.12678,0.119889 -0.146072,0.337619 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';text-align:center;text-anchor:middle;fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48802" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g55412"
|
||||
transform="translate(72.575712,18.799231)">
|
||||
<circle
|
||||
style="fill:#ffffff;stroke:#41e6a8;stroke-width:0.603355;stroke-opacity:1"
|
||||
id="circle41774"
|
||||
cx="-23.332008"
|
||||
cy="43.18187"
|
||||
r="10.300639" />
|
||||
<g
|
||||
aria-label="échec"
|
||||
id="text41778"
|
||||
style="font-size:4.23333px;line-height:1.25;fill:#4d4d4d;fill-opacity:1;stroke-width:0.264583"
|
||||
transform="translate(0.18913514,0.08474451)">
|
||||
<path
|
||||
d="m -27.401007,43.507431 v 0.186035 h -1.748729 q 0.02481,0.392741 0.235645,0.599446 0.212906,0.204639 0.591178,0.204639 0.219107,0 0.423746,-0.05374 0.206706,-0.05374 0.409277,-0.16123 v 0.359668 q -0.204639,0.08682 -0.419612,0.132291 -0.214974,0.04548 -0.436149,0.04548 -0.553971,0 -0.878499,-0.322461 -0.32246,-0.322461 -0.32246,-0.872298 0,-0.56844 0.305924,-0.901236 0.307991,-0.334863 0.828889,-0.334863 0.467155,0 0.737939,0.30179 0.272851,0.299723 0.272851,0.816487 z m -0.380338,-0.111621 q -0.0041,-0.312125 -0.1757,-0.49816 -0.169498,-0.186035 -0.450618,-0.186035 -0.318326,0 -0.510562,0.179834 -0.19017,0.179834 -0.219108,0.506428 z m -0.365869,-2.02158 h 0.411344 l -0.67386,0.777213 h -0.316259 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48740" />
|
||||
<path
|
||||
d="m -25.110709,42.533848 v 0.355534 q -0.16123,-0.08888 -0.324528,-0.132292 -0.16123,-0.04547 -0.326595,-0.04547 -0.370003,0 -0.574641,0.235644 -0.204639,0.233578 -0.204639,0.657324 0,0.423746 0.204639,0.659391 0.204638,0.233577 0.574641,0.233577 0.165365,0 0.326595,-0.04341 0.163298,-0.04548 0.324528,-0.134359 v 0.3514 q -0.159163,0.07441 -0.330729,0.111621 -0.169499,0.03721 -0.361735,0.03721 -0.522965,0 -0.830956,-0.328662 -0.307991,-0.328662 -0.307991,-0.886767 0,-0.566373 0.310058,-0.890901 0.312125,-0.324528 0.853694,-0.324528 0.1757,0 0.343131,0.03721 0.167432,0.03514 0.324528,0.107487 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48742" />
|
||||
<path
|
||||
d="m -22.524823,43.362737 v 1.39733 h -0.380338 V 43.37514 q 0,-0.328662 -0.128157,-0.491959 -0.128158,-0.163298 -0.384473,-0.163298 -0.307991,0 -0.485758,0.19637 -0.177767,0.196371 -0.177767,0.535368 v 1.308446 h -0.382405 v -3.216338 h 0.382405 v 1.260903 q 0.136426,-0.208772 0.320394,-0.312125 0.186035,-0.103353 0.427881,-0.103353 0.398941,0 0.60358,0.248047 0.204638,0.24598 0.204638,0.725536 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48744" />
|
||||
<path
|
||||
d="m -19.785974,43.507431 v 0.186035 h -1.748729 q 0.02481,0.392741 0.235644,0.599446 0.212907,0.204639 0.591178,0.204639 0.219108,0 0.423747,-0.05374 0.206705,-0.05374 0.409277,-0.16123 v 0.359668 q -0.204639,0.08682 -0.419613,0.132291 -0.214973,0.04548 -0.436148,0.04548 -0.553971,0 -0.878499,-0.322461 -0.322461,-0.322461 -0.322461,-0.872298 0,-0.56844 0.305925,-0.901236 0.307991,-0.334863 0.828889,-0.334863 0.467154,0 0.737939,0.30179 0.272851,0.299723 0.272851,0.816487 z m -0.380338,-0.111621 q -0.0041,-0.312125 -0.1757,-0.49816 -0.169498,-0.186035 -0.450618,-0.186035 -0.318327,0 -0.510563,0.179834 -0.190169,0.179834 -0.219108,0.506428 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48746" />
|
||||
<path
|
||||
d="m -17.495677,42.533848 v 0.355534 q -0.16123,-0.08888 -0.324527,-0.132292 -0.161231,-0.04547 -0.326595,-0.04547 -0.370003,0 -0.574642,0.235644 -0.204638,0.233578 -0.204638,0.657324 0,0.423746 0.204638,0.659391 0.204639,0.233577 0.574642,0.233577 0.165364,0 0.326595,-0.04341 0.163297,-0.04548 0.324527,-0.134359 v 0.3514 q -0.159163,0.07441 -0.330729,0.111621 -0.169498,0.03721 -0.361734,0.03721 -0.522965,0 -0.830957,-0.328662 -0.307991,-0.328662 -0.307991,-0.886767 0,-0.566373 0.310058,-0.890901 0.312126,-0.324528 0.853694,-0.324528 0.1757,0 0.343132,0.03721 0.167431,0.03514 0.324527,0.107487 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48748" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g55394"
|
||||
transform="translate(75.284538,-3.2843524)">
|
||||
<circle
|
||||
style="fill:#ffffff;stroke:#41e6a8;stroke-width:0.603355;stroke-opacity:1"
|
||||
id="circle44786"
|
||||
cx="16.192287"
|
||||
cy="65.26545"
|
||||
r="10.300639" />
|
||||
<g
|
||||
aria-label="annuler"
|
||||
id="text44790"
|
||||
style="font-size:4.23333px;line-height:1.25;fill:#4d4d4d;fill-opacity:1;stroke-width:0.264583">
|
||||
<path
|
||||
d="m 9.434049,65.679891 q -0.4609534,0 -0.6387202,0.10542 -0.1777668,0.10542 -0.1777668,0.359667 0,0.202572 0.1322916,0.322461 0.1343586,0.117822 0.3638017,0.117822 0.3162595,0 0.5064287,-0.223242 0.1922361,-0.225309 0.1922361,-0.597379 v -0.08475 z m 0.758609,-0.157096 v 1.320848 H 9.8123201 v -0.351399 q -0.1302245,0.210839 -0.3245277,0.312125 -0.1943032,0.09922 -0.4754228,0.09922 -0.3555335,0 -0.5663732,-0.198438 -0.2087726,-0.200504 -0.2087726,-0.535367 0,-0.390673 0.260449,-0.589111 0.262516,-0.198437 0.781347,-0.198437 h 0.5333003 v -0.03721 q 0,-0.262516 -0.1736326,-0.405143 -0.1715657,-0.144694 -0.483691,-0.144694 -0.1984374,0 -0.3865394,0.04754 -0.1881021,0.04754 -0.3617348,0.142627 v -0.351399 q 0.2087727,-0.08061 0.4051429,-0.119889 0.1963703,-0.04134 0.3824053,-0.04134 0.5022945,0 0.7503412,0.260449 0.2480463,0.260449 0.2480463,0.789616 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48725" />
|
||||
<path
|
||||
d="m 12.900501,65.446314 v 1.397329 h -0.380338 v -1.384927 q 0,-0.328662 -0.128157,-0.491959 -0.128158,-0.163298 -0.384473,-0.163298 -0.307991,0 -0.485758,0.196371 -0.177767,0.19637 -0.177767,0.535367 v 1.308446 h -0.382405 v -2.315102 h 0.382405 v 0.359668 q 0.136426,-0.208773 0.320394,-0.312126 0.186035,-0.103353 0.427881,-0.103353 0.398941,0 0.60358,0.248047 0.204638,0.24598 0.204638,0.725537 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48727" />
|
||||
<path
|
||||
d="m 15.583539,65.446314 v 1.397329 h -0.380338 v -1.384927 q 0,-0.328662 -0.128157,-0.491959 -0.128158,-0.163298 -0.384473,-0.163298 -0.307991,0 -0.485758,0.196371 -0.177766,0.19637 -0.177766,0.535367 v 1.308446 h -0.382406 v -2.315102 h 0.382406 v 0.359668 q 0.136425,-0.208773 0.320393,-0.312126 0.186035,-0.103353 0.427881,-0.103353 0.398941,0 0.60358,0.248047 0.204638,0.24598 0.204638,0.725537 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48729" />
|
||||
<path
|
||||
d="m 16.302874,65.930005 v -1.401464 h 0.380339 v 1.386994 q 0,0.328662 0.128157,0.494027 0.128158,0.163297 0.384472,0.163297 0.307992,0 0.485759,-0.19637 0.179833,-0.196371 0.179833,-0.535368 v -1.31258 h 0.380339 v 2.315102 H 17.861434 V 66.48811 q -0.138492,0.210839 -0.32246,0.314192 -0.181901,0.101286 -0.423747,0.101286 -0.398941,0 -0.605647,-0.248047 -0.206706,-0.248047 -0.206706,-0.725536 z m 0.957047,-1.457275 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48731" />
|
||||
<path
|
||||
d="m 19.025186,63.627305 h 0.380338 v 3.216338 h -0.380338 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48733" />
|
||||
<path
|
||||
d="m 22.181581,65.591008 v 0.186035 h -1.748729 q 0.0248,0.39274 0.235644,0.599446 0.212907,0.204638 0.591178,0.204638 0.219108,0 0.423746,-0.05374 0.206706,-0.05374 0.409277,-0.161231 v 0.359668 q -0.204638,0.08682 -0.419612,0.132292 -0.214974,0.04547 -0.436149,0.04547 -0.553971,0 -0.878498,-0.322461 -0.322461,-0.322461 -0.322461,-0.872297 0,-0.568441 0.305924,-0.901237 0.307991,-0.334863 0.828889,-0.334863 0.467155,0 0.737939,0.301791 0.272852,0.299723 0.272852,0.816487 z m -0.380339,-0.111621 q -0.0041,-0.312126 -0.175699,-0.498161 -0.169499,-0.186035 -0.450618,-0.186035 -0.318327,0 -0.510563,0.179834 -0.190169,0.179834 -0.219108,0.506429 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48735" />
|
||||
<path
|
||||
d="m 24.147351,64.884075 q -0.06408,-0.03721 -0.14056,-0.05374 -0.07441,-0.0186 -0.165365,-0.0186 -0.32246,0 -0.496093,0.210839 -0.171565,0.208773 -0.171565,0.601513 v 1.219563 h -0.382406 v -2.315102 h 0.382406 v 0.359668 q 0.119889,-0.21084 0.312125,-0.312126 0.192236,-0.103353 0.467154,-0.103353 0.03927,0 0.08682,0.0062 0.04754,0.0041 0.10542,0.01447 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48737" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g55383"
|
||||
transform="translate(23.490856,-47.075086)">
|
||||
<circle
|
||||
style="fill:#ffffff;stroke:#41e6a8;stroke-width:0.603355;stroke-opacity:1"
|
||||
id="circle45620"
|
||||
cx="67.98597"
|
||||
cy="60.677402"
|
||||
r="10.300639" />
|
||||
<g
|
||||
aria-label="validée"
|
||||
id="text45624"
|
||||
style="font-size:4.23333px;line-height:1.25;fill:#4d4d4d;fill-opacity:1;stroke-width:0.264583">
|
||||
<path
|
||||
d="M 60.487724,60.025245 H 60.8908 l 0.723469,1.943032 0.723469,-1.943032 h 0.403076 l -0.868163,2.315102 h -0.516764 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48710" />
|
||||
<path
|
||||
d="m 64.317978,61.176595 q -0.460954,0 -0.63872,0.10542 -0.177767,0.10542 -0.177767,0.359668 0,0.202571 0.132291,0.32246 0.134359,0.117822 0.363802,0.117822 0.31626,0 0.506429,-0.223242 0.192236,-0.225309 0.192236,-0.597379 v -0.08475 z m 0.758609,-0.157096 v 1.320848 h -0.380338 v -0.351399 q -0.130225,0.21084 -0.324528,0.312125 -0.194303,0.09922 -0.475423,0.09922 -0.355533,0 -0.566373,-0.198437 -0.208772,-0.200505 -0.208772,-0.535368 0,-0.390673 0.260449,-0.589111 0.262516,-0.198437 0.781347,-0.198437 h 0.5333 v -0.03721 q 0,-0.262516 -0.173633,-0.405143 -0.171565,-0.144694 -0.483691,-0.144694 -0.198437,0 -0.386539,0.04754 -0.188102,0.04754 -0.361735,0.142626 V 60.13066 q 0.208773,-0.08062 0.405143,-0.119889 0.19637,-0.04134 0.382405,-0.04134 0.502295,0 0.750341,0.260449 0.248047,0.260449 0.248047,0.789615 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48712" />
|
||||
<path
|
||||
d="m 65.860001,59.124009 h 0.380339 v 3.216338 h -0.380339 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48714" />
|
||||
<path
|
||||
d="m 67.036156,60.025245 h 0.380338 v 2.315102 h -0.380338 z m 0,-0.901236 h 0.380338 v 0.481624 h -0.380338 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48716" />
|
||||
<path
|
||||
d="m 69.73573,60.376645 v -1.252636 h 0.380339 v 3.216338 H 69.73573 v -0.347265 q -0.119889,0.206706 -0.303857,0.307991 -0.181901,0.09922 -0.438215,0.09922 -0.419613,0 -0.684196,-0.334863 -0.262516,-0.334863 -0.262516,-0.880566 0,-0.545702 0.262516,-0.880565 0.264583,-0.334863 0.684196,-0.334863 0.256314,0 0.438215,0.101285 0.183968,0.09922 0.303857,0.305925 z m -1.296043,0.808218 q 0,0.419613 0.171565,0.659391 0.173633,0.237711 0.475423,0.237711 0.30179,0 0.475423,-0.237711 0.173632,-0.239778 0.173632,-0.659391 0,-0.419612 -0.173632,-0.657323 -0.173633,-0.239779 -0.475423,-0.239779 -0.30179,0 -0.475423,0.239779 -0.171565,0.237711 -0.171565,0.657323 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48718" />
|
||||
<path
|
||||
d="m 72.879722,61.087712 v 0.186035 h -1.748729 q 0.0248,0.39274 0.235644,0.599446 0.212907,0.204638 0.591178,0.204638 0.219108,0 0.423746,-0.05374 0.206706,-0.05374 0.409277,-0.161231 v 0.359668 q -0.204638,0.08682 -0.419612,0.132292 -0.214974,0.04548 -0.436149,0.04548 -0.553971,0 -0.878498,-0.322461 -0.322461,-0.32246 -0.322461,-0.872297 0,-0.56844 0.305924,-0.901236 0.307992,-0.334863 0.82889,-0.334863 0.467154,0 0.737938,0.30179 0.272852,0.299723 0.272852,0.816487 z m -0.380339,-0.111621 q -0.0041,-0.312126 -0.175699,-0.498161 -0.169499,-0.186035 -0.450618,-0.186035 -0.318327,0 -0.510563,0.179834 -0.190169,0.179834 -0.219108,0.506429 z M 72.133515,58.95451 h 0.411344 l -0.67386,0.777213 h -0.31626 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48720" />
|
||||
<path
|
||||
d="m 75.484212,61.087712 v 0.186035 h -1.748729 q 0.02481,0.39274 0.235644,0.599446 0.212907,0.204638 0.591178,0.204638 0.219108,0 0.423747,-0.05374 0.206705,-0.05374 0.409277,-0.161231 v 0.359668 q -0.204639,0.08682 -0.419613,0.132292 -0.214973,0.04548 -0.436148,0.04548 -0.553971,0 -0.878499,-0.322461 -0.322461,-0.32246 -0.322461,-0.872297 0,-0.56844 0.305925,-0.901236 0.307991,-0.334863 0.828889,-0.334863 0.467154,0 0.737939,0.30179 0.272851,0.299723 0.272851,0.816487 z m -0.380338,-0.111621 q -0.0041,-0.312126 -0.1757,-0.498161 -0.169499,-0.186035 -0.450618,-0.186035 -0.318327,0 -0.510563,0.179834 -0.190169,0.179834 -0.219108,0.506429 z"
|
||||
style="font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans';fill:#4d4d4d;fill-opacity:1"
|
||||
id="path48722" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 38 KiB |
162
content/bdd_avancees/7-transactions/index.md
Normal file
162
content/bdd_avancees/7-transactions/index.md
Normal file
|
@ -0,0 +1,162 @@
|
|||
---
|
||||
title: "Base de données avancées : Mise en œuvre des transactions"
|
||||
date: 2022-03-29
|
||||
tags: ["transaction"]
|
||||
categories: ["Base de données avancées", "Cours"]
|
||||
mathjax: true
|
||||
---
|
||||
|
||||
Une transaction est une unité d'un programme qui accède à des données d'un SGBR
|
||||
en lecture, écriture ou les deux. Une transaction accède à un **état cohérent**
|
||||
de la base. Puis lors de son exécution l'état de la base **peut ne plus être
|
||||
cohérent**. Lors de sa validation (on parle de *commit*), l'état de la base
|
||||
**doit redevenir cohérent**.
|
||||
|
||||
Deux problèmes types peuvent se poser alors :
|
||||
|
||||
* problème systèmes: récupérabilité
|
||||
* exécution concurente de plusieurs transactions: sériabilité.
|
||||
|
||||
Le système doit garantir les propriété ACID afin de preserver la cohérence des
|
||||
données :
|
||||
|
||||
* Atomicité: soit **toutes** les opérations sont validées soit aucune.
|
||||
* Cohérence: l'exécution d'une transaction jusqu'à sa validation doit laisser
|
||||
la base dans un **état cohérent**.
|
||||
* Isoliation: les transactions qui s'exécutent en concurence sont isolées les
|
||||
unes des autres. Les modification effectuée par l'une ne doivent pas être
|
||||
prise en comptes par une autre.
|
||||
* Durabilité: si une transaction est validée, les modification qu'elle a
|
||||
apportée à la base sont **persitantes**, même après le redémarrage du
|
||||
service, une coupure de courant ou un crash
|
||||
|
||||
## L'exemple de la banque
|
||||
|
||||
Prenons un exemple de virement de 1000 euros d'un compte A vers un compte B:
|
||||
|
||||
1. Lire(A)
|
||||
2. A = A - 1000
|
||||
3. Ecrire(A)
|
||||
4. Lire B
|
||||
5. B - B + 1000
|
||||
6. Ecrire(B)
|
||||
|
||||
Une fois la transaction terminée et validée, elle est réputée **durable**. Si
|
||||
elle échoue à partir de l'etape 3, il faut s'assurer que les modifications ne
|
||||
soient pas persistantes.
|
||||
|
||||
Les données sont alors **cohérente** : la somme de A est B est toujours la même/
|
||||
|
||||
Si une autre transaction accède à la base entre les étapes 3 et 6, elle trouvera
|
||||
la base dans un état incohérent (A + B est inférieur et 1000 euros se
|
||||
balladent...). **L'isolation** n'est pas assurée, la solution la plus simple
|
||||
consisterai alors à **serialiser** les transaction.
|
||||
|
||||
## État d'une transaction
|
||||
|
||||
Une transaction peut avoir 5 états:
|
||||
|
||||
* Active: c'est une transaction en cours d'exécution
|
||||
* Partiellement validée: entre la dernière action et la validation
|
||||
* Échec: lorque l'exécution normale de la transaction ne peut avoir lieu
|
||||
* Avortée: après que toutes les modifications faite par la transaction soient
|
||||
annulées (rollback). Il est alors possible de réexécuter la transaction ou de
|
||||
la supprimer.
|
||||
* Validée: après l'exécution réussie de la dernière opération.
|
||||
|
||||

|
||||
|
||||
## Implémentation de l'atomicité
|
||||
|
||||
### Approche naïve
|
||||
|
||||
Nous pouvons commencer par une approche naïve : **copie intégrale de la base
|
||||
lors d'une opération** avec gestion d'un **pointeur** qui mème vers la dernière
|
||||
version cohérente de la base. Le pointeur est modifié seulement si la
|
||||
transaction réussie.
|
||||
|
||||
En plus de ne permettre l'exécution d'une seule transaction (pas de gestion de
|
||||
l'exécution concurrente), cette approche est lourde et coûteuse surtout si la
|
||||
base est volumineuse.
|
||||
|
||||
### L'exécution concurrente
|
||||
|
||||
Dans ce cas de figure, plusieurs transaction peuvent s'exécuter en même temps.
|
||||
Cette approche apporte une **meilleure utilisation des ressources** ( voir les
|
||||
[cours de système]({{< ref "/systemes_exploitation/1-introduction/index.md" >}}),
|
||||
ainsi on réduit le temps de réponses: une longue transaction ne bloque plus les
|
||||
autres.
|
||||
|
||||
**Le contrôle de la concurence** est le mécanisme permettant l'interaction entre
|
||||
les transaction tout en garantissant l'intégrité de la base.
|
||||
|
||||
#### Ordonnancement
|
||||
|
||||
Ici encore on peut se référer au cours de *système d'exploitation*, ici
|
||||
l'ordonnancement défini la manière d'exécuter les transaction de manière
|
||||
concurrente.
|
||||
|
||||
##### Ordonnancement en série
|
||||
|
||||
Soit \\(T_1\\) et \\(T_2\\) deux transactions ordonancées par \\(O_1\\), en
|
||||
série \\(T_2\\) sera exécutée lorsque \\(T_1\\) sera terminée.
|
||||
|
||||
##### Ordonnancement entrelacé
|
||||
|
||||
Ici les actions réalisées par deux transaction s'exécutent de manières
|
||||
entrelacées. Soit deux transactions \((T_2\)) et \((T_3\)), voici le plan
|
||||
d'ordonnancement \\(O_2\\):
|
||||
|
||||
|
||||
\\( \begin{array}{l|l}
|
||||
T_1 & T_2 \\\
|
||||
lire(A) & \\\
|
||||
A := A + 1000 &\\\
|
||||
ecrire(A) &\\\
|
||||
& lire(A) \\\
|
||||
& tmp := A * 0.2 \\\
|
||||
& A := A - tmp \\\
|
||||
& ecrire(A) \\\
|
||||
lire(B) & \\\
|
||||
B := B + 1000 & \\\
|
||||
ecrire(B $ \\\
|
||||
& lire(B) \\\
|
||||
& B = B + tmp \\\
|
||||
& ecrire(B) \\\
|
||||
\end{array}
|
||||
\\)
|
||||
|
||||
Dans l'exemple ci-dessus, l'entrelassement ne préserve pas les valeurs de A et
|
||||
B. Les valeurs finales de notre version entrelacée ne correxpondent plus aux
|
||||
valeurs de la version en série. **Nous sommes donc face à un problème**
|
||||
|
||||
#### Notion de sériabilité
|
||||
|
||||
Dans le cas d'opération de lecture / écriture, nous partons du principe que
|
||||
chaque transaction prise à part conserve la coherence de la base. Ainsi
|
||||
l'ordonnancement en série préserve la cohérence.
|
||||
|
||||
Un ordonnancement entrelace est dit *sérialisable* si son résultat est
|
||||
**exactement le même** que s'il est exécuté en série.
|
||||
|
||||
L'ordonnancement \\(O_f\\) composé de n transaction \\(T_1, T_2, ... T_n\\) est
|
||||
sérialisable si toutes les permutations possibles ne changent pas le résultat.
|
||||
Il faut don tester \\(n!\\) possibilités de permutations.
|
||||
|
||||
Pour tester et trouver le bon ordonnancement, nous avons à notre disposition la
|
||||
c-sériabilité.
|
||||
|
||||
##### c-seriabilité
|
||||
|
||||
Les instructions notées \\(t_x\\) et \\(t_y\\) des transactions \\(T_x\\) et
|
||||
\\(T_y\\) ordonnancées par \\(O_n\\) accèdent au même objet \\(Q\\):
|
||||
|
||||
* ne sont **pas en conflit** si elles accèdent toutes des deux à \\(Q\\) en
|
||||
lecture
|
||||
* sont **en conflit** si l'une des deux (ou les deux) accède à \\(Q\\)en
|
||||
écriture
|
||||
|
||||
Si notre ordonnancement \\(O_n\\) peut-être transformé en \\(O_n^'\\) par une
|
||||
série de remplacement d'instructions non conflictuelle alors \\(O_n\\) et
|
||||
\\(O_n^'\\) sont dit **c-équivalent**. \\(O_n\\) est c-sérialisable s'il est
|
||||
c-équivalent à un ordonnancement en série.
|
Loading…
Add table
Add a link
Reference in a new issue