MAJ V4.5.0
5
bin/.gitignore
vendored
@ -18,3 +18,8 @@
|
||||
/enregistrer_modifications.png
|
||||
/enregistrer_modifications.svg
|
||||
/enregistrer_modifications.svg.2024_05_18_15_52_08.0.svg
|
||||
/afficheprogression.png
|
||||
/afficheprogression.svg
|
||||
/afficheprogressionmini.png
|
||||
/noafficheprogression.png
|
||||
/noafficheprogressionmini.png
|
||||
|
472
icons/addNewStudent.svg
Normal file
@ -0,0 +1,472 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
inkscape:export-ydpi="90"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-filename="listestudent.png"
|
||||
sodipodi:docname="addNewStudent.svg"
|
||||
inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
|
||||
id="svg8"
|
||||
version="1.1"
|
||||
viewBox="0 0 12.7 12.7"
|
||||
height="48"
|
||||
width="48"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<defs
|
||||
id="defs2">
|
||||
<linearGradient
|
||||
id="k"
|
||||
gradientTransform="matrix(7.3290847,0,0,7.3272888,-782.49722,-7149.5485)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="122.75008"
|
||||
x2="111.74973"
|
||||
xlink:href="#b"
|
||||
y1="991.62115"
|
||||
y2="977.11713" />
|
||||
<linearGradient
|
||||
id="b">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#0369a3"
|
||||
id="stop7" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#1c99e0"
|
||||
id="stop9" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="j"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="108.00134"
|
||||
x2="20.001341"
|
||||
y1="122"
|
||||
y2="6"
|
||||
gradientTransform="translate(12)">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#e6e6e6"
|
||||
id="stop35" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#fff"
|
||||
id="stop37" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="i"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="108.00134"
|
||||
x2="20.001341"
|
||||
xlink:href="#b"
|
||||
y1="130"
|
||||
y2="14"
|
||||
gradientTransform="translate(12)" />
|
||||
<linearGradient
|
||||
id="h"
|
||||
gradientTransform="matrix(4.4999,0,0,3.66665,-930.97741,2199.6564)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x2="0"
|
||||
y1="-581.63782"
|
||||
y2="-578.63782">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#63bbee"
|
||||
id="stop29" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#aadcf7"
|
||||
id="stop31" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="g"
|
||||
gradientTransform="matrix(-4.19983,0,0,3.9111,1552.9405,-4523.1636)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x2="0"
|
||||
xlink:href="#a"
|
||||
y1="1173"
|
||||
y2="1178" />
|
||||
<linearGradient
|
||||
id="a">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#666"
|
||||
id="stop2" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#333"
|
||||
id="stop4" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="f"
|
||||
gradientTransform="matrix(4.19983,0,0,3.9111,-1380.9394,-4521.9436)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x2="0"
|
||||
xlink:href="#a"
|
||||
y1="1173"
|
||||
y2="1178" />
|
||||
<linearGradient
|
||||
id="e"
|
||||
gradientTransform="matrix(1.19997,0,0,1.22222,-269.19161,858.5534)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x2="0"
|
||||
y1="-629.66907"
|
||||
y2="-635.54944">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#18a303"
|
||||
id="stop22" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#106802"
|
||||
id="stop24" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="d"
|
||||
gradientTransform="matrix(4.19983,0,0,3.9111,-1380.9394,-4517.0536)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x2="0"
|
||||
y1="1173"
|
||||
y2="1178">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#0369a3"
|
||||
id="stop17" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#023f62"
|
||||
id="stop19" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="c"
|
||||
gradientTransform="matrix(0,0.791084,-1.28,0,1511.6005,-282.0136)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="445.69522"
|
||||
x2="441.38797"
|
||||
y1="1103.5776"
|
||||
y2="1099.8198">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#e9b913"
|
||||
id="stop12" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#ff0"
|
||||
id="stop14" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#b"
|
||||
id="linearGradient4157"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(7.9997394,0,0,7.9977793,-859.65065,-7810.3938)"
|
||||
x1="122.75008"
|
||||
y1="991.62115"
|
||||
x2="111.74973"
|
||||
y2="977.11713" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-height="1009"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:guide-bbox="true"
|
||||
showguides="true"
|
||||
units="px"
|
||||
showgrid="false"
|
||||
inkscape:document-rotation="0"
|
||||
inkscape:current-layer="layer1"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:cy="28.145333"
|
||||
inkscape:cx="20.992889"
|
||||
inkscape:zoom="10.76555"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
borderopacity="1.0"
|
||||
bordercolor="#666666"
|
||||
pagecolor="#ffffff"
|
||||
id="base"
|
||||
inkscape:pagecheckerboard="0"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:bbox-paths="true"
|
||||
inkscape:bbox-nodes="true"
|
||||
inkscape:snap-midpoints="true"
|
||||
inkscape:object-paths="true"
|
||||
inkscape:snap-global="false"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:deskcolor="#d1d1d1">
|
||||
<sodipodi:guide
|
||||
id="guide14"
|
||||
orientation="1,0"
|
||||
position="-2.471617e-08,4.4381936"
|
||||
inkscape:locked="false" />
|
||||
<sodipodi:guide
|
||||
position="-0.24253472,-0.26458333"
|
||||
orientation="-0.71816555,0.69587229"
|
||||
id="guide5772"
|
||||
inkscape:locked="false" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata5">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
id="layer1"
|
||||
inkscape:groupmode="layer"
|
||||
inkscape:label="Calque 1"
|
||||
transform="translate(-0.92013353,-0.34176359)">
|
||||
<g
|
||||
id="g6608"
|
||||
transform="matrix(0.76215268,0,0,0.75860347,20.419626,10.683336)"
|
||||
style="stroke-width:1.21708">
|
||||
<g
|
||||
id="g2"
|
||||
transform="matrix(1.1126819,0,0,1.0689509,-1.0567243,-0.60391678)">
|
||||
<path
|
||||
id="path4945"
|
||||
style="fill:#b3b3b3;stroke:#000000;stroke-width:0.200713;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 6.448524,4.1578515 A 2.5406649,2.4821629 0 0 0 3.9075938,6.6403872 2.5406649,2.4821629 0 0 0 6.448524,9.1224062 2.5406649,2.4821629 0 0 0 8.0241383,8.5870385 L 8.590512,9.1559961 8.958965,8.730699 8.4272144,8.1968815 A 2.5406649,2.4821629 0 0 0 8.9889372,6.6403872 2.5406649,2.4821629 0 0 0 6.448524,4.1578515 Z m 0,0.5539713 A 1.9739749,1.9285217 0 0 1 8.4220468,6.6403872 1.9739749,1.9285217 0 0 1 6.448524,8.5684348 1.9739749,1.9285217 0 0 1 4.4744842,6.6403872 1.9739749,1.9285217 0 0 1 6.448524,4.7118228 Z" />
|
||||
<path
|
||||
style="fill:#ff0000;stroke:none;stroke-width:0.322019px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 9.2441621,8.53155 2.9328089,2.944082 c 0.0419,0.512292 -0.280235,0.819082 -0.875635,0.903687 L 8.3690939,9.4346523 C 8.6546945,9.0611151 8.873339,8.7906209 9.2441621,8.53155 Z"
|
||||
id="path5444"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g1"
|
||||
transform="matrix(0.08485361,0,0,0.08631596,18.493169,0.67154427)">
|
||||
<g
|
||||
id="g4179"
|
||||
transform="matrix(1.091506,0,0,1.091506,-5.550275,-6.6190888)"
|
||||
style="stroke-width:0.916165">
|
||||
<path
|
||||
style="fill:url(#k);stroke-width:0.916165"
|
||||
d="m 33.356573,1.223906 c -0.25037,0 -0.50072,0.011156 -0.75,0.035156 -3.66708,0.6998 -4.56576,2.2662469 -4.5,5.9980469 V 123.22586 c 4e-4,4.1875 1.81149,5.99765 6,5.99805 h 91.998057 c 4.1885,-4e-4 5.99764,-1.81055 5.99804,-5.99805 V 51.4075 c 0.048,-2.1119 -0.78004,-4.230247 -2.25,-5.748047 L 87.692523,3.5090622 c -1.51819,-1.4691999 -3.63759,-2.2988999 -5.75,-2.25 h -47.83595 c -0.24919,-0.024 -0.49962,-0.035156 -0.75,-0.035156 z"
|
||||
id="path41" />
|
||||
<path
|
||||
d="M 34.104633,7.2239059 V 123.22391 H 126.10465 V 51.223906 L 82.104653,7.2239059 Z"
|
||||
fill="url(#j)"
|
||||
id="path43"
|
||||
style="fill:#000080;stroke-width:0.916165" />
|
||||
</g>
|
||||
<path
|
||||
style="fill:url(#linearGradient4157);stroke-width:1"
|
||||
d="m 131.22533,55.778801 c 0.38078,0 0.7607,-0.03052 1.13694,-0.08855 4.82817,-1.546485 6.45292,-8.894004 2.73075,-12.350381 L 91.397403,-0.58243478 C 87.360856,-4.4299678 79.32347,-1.1377203 79.110793,4.4505138 V 48.372824 c 4.36e-4,3.833024 3.469037,7.316888 7.281987,7.317433 h 43.69209 c 0.37643,0.05804 0.75972,0.08855 1.14046,0.08855 z"
|
||||
id="path4056" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:53.1628px;line-height:1.25;font-family:'C.A. Gatintas';-inkscape-font-specification:'C.A. Gatintas';text-align:center;text-anchor:middle;fill:#ffffff;stroke-width:3.0916"
|
||||
x="88.898773"
|
||||
y="96.537178"
|
||||
id="text3199"
|
||||
transform="scale(0.90538451,1.1045031)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3197"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:arial;-inkscape-font-specification:arial;fill:#ffffff;stroke-width:3.0916"
|
||||
x="88.898773"
|
||||
y="96.537178">CSV</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g6"
|
||||
transform="translate(9.3985307,7.983748)">
|
||||
<rect
|
||||
style="fill:#00ff00;stroke-width:1;stroke-linecap:round;stroke-linejoin:bevel"
|
||||
id="rect4"
|
||||
width="5.1373262"
|
||||
height="4.7845492"
|
||||
x="8.1961746"
|
||||
y="5.7877703"
|
||||
ry="0.9260416" />
|
||||
<g
|
||||
id="g23"
|
||||
transform="matrix(0.04473207,0,0,0.04550297,1.4115291,3.3967797)">
|
||||
<path
|
||||
style="fill:#ffe6d5;stroke:none;stroke-width:2.92119;stroke-linecap:round;stroke-linejoin:bevel"
|
||||
d="m 205.01263,120.83445 -10.39372,-6.8969 -5.19686,-10.98395 -3.89764,-1.53264 -1.29921,-8.429546 2.59842,-3.831611 1.55906,-1.532645 v -8.174104 l 21.30712,3.065289 19.74807,-4.087051 0.51968,8.684984 2.85827,3.831611 1.03937,5.875137 -2.07874,5.875136 -3.11811,1.53264 -3.89765,9.45131 -7.53544,5.87514 -4.15749,2.29896 z"
|
||||
id="path16" />
|
||||
<g
|
||||
id="g22"
|
||||
transform="matrix(0.10531373,0,0,0.10352952,149.66975,64.802716)"
|
||||
style="fill:#0066ff;stroke-width:29.6078">
|
||||
<g
|
||||
transform="matrix(0.08797553,0,0,-0.08797553,124.40311,399.9922)"
|
||||
id="g21"
|
||||
style="fill:#0066ff;stroke-width:33.6545">
|
||||
<path
|
||||
d="M 3122.6,4604.2 C 2231.7,4380.5 1476.5,4187.4 1444,4174 c -68.8,-28.7 -114.7,-107.1 -114.7,-193.1 0,-42.1 19.1,-76.5 63.1,-120.4 l 61.2,-61.2 554.4,-63.1 c 305.9,-34.4 1152.8,-128.1 1883.1,-210.3 l 1328.7,-149.1 1508.4,380.5 c 827.8,208.4 1514.1,378.5 1523.7,378.5 9.6,0 17.2,-275.3 17.2,-636.6 V 2864.5 L 8078,2673.3 c -286.8,-284.9 -286.8,-237.1 -3.8,-804.9 191.2,-382.4 242.8,-470.3 290.6,-495.2 78.4,-40.1 158.7,-36.3 217.9,11.5 68.8,53.5 489.4,892.8 489.4,973.1 0,89.9 -40.1,147.2 -227.5,334.6 l -174,172.1 v 806.8 808.7 l -53.5,59.3 -53.5,61.2 L 6690,4807 c -1028.6,114.7 -1888.9,206.5 -1909.9,206.5 -21,-0.2 -766.6,-185.6 -1657.5,-409.3 z"
|
||||
id="path17"
|
||||
style="fill:#0066ff;stroke-width:33.6545" />
|
||||
<path
|
||||
d="m 6340.2,3243 -1099.3,-275.3 -1344,149.1 -1344,149.1 v -569.7 -569.7 l -103.2,-99.4 C 2260.4,1839.7 2170.6,1596.9 2157.2,1218.4 2140,816.9 2229.9,493.8 2411.5,293.1 2484,212.7 2642.7,121 2711.5,121 c 17.2,0 32.5,-15.3 32.5,-32.5 0,-63.1 191.2,-510.5 298.2,-697.8 369,-651.9 892.8,-1091.7 1491.2,-1248.4 290.6,-76.5 642.4,-76.5 933,0 728.4,191.2 1345.9,803 1693.9,1676.7 51.7,133.7 95.7,256.1 95.7,273.3 0,15.3 15.3,28.7 34.4,28.7 66.9,0 225.6,91.8 298.3,172.1 181.6,200.7 271.5,523.8 256.2,925.3 -15.3,380.5 -110.9,629 -307.8,808.7 l -80.3,70.7 -9.6,709.3 -9.6,709.3 z M 3222,2375 c 229.4,-65 602.2,-135.7 908.1,-174 137.7,-15.3 435.9,-24.8 869.9,-24.8 694,0 869.9,13.4 1328.7,97.5 216,38.2 575.5,130 686.4,172.1 34.4,13.4 36.3,3.8 22.9,-273.4 l -13.4,-286.8 49.7,-59.3 c 32.5,-40.1 76.5,-65 130,-74.6 70.7,-15.3 86,-26.8 133.8,-114.7 149.1,-277.2 135.8,-812.5 -22.9,-1036.2 -40.1,-57.4 -45.9,-57.4 -154.9,-45.9 -107.1,9.6 -114.7,7.6 -170.2,-45.9 -30.6,-32.5 -65,-95.6 -78.4,-141.5 -239,-948.3 -887.1,-1692 -1604,-1844.9 -166.3,-34.4 -443.6,-34.4 -613.7,1.9 -671,141.5 -1267.5,774.3 -1540.9,1634.6 -38.2,120.4 -78.4,244.7 -89.9,275.3 -36.3,99.4 -187.4,156.8 -281,107.1 -51.6,-28.7 -124.3,66.9 -175.9,235.2 -63.1,196.9 -61.2,560.2 1.9,739.9 61.2,174 99.4,221.8 191.2,237.1 51.6,7.6 89.9,30.6 124.3,70.7 l 49.7,59.3 -11.5,288.7 c -13.4,277.2 -13.4,286.8 22.9,273.4 19.3,-7.7 126.3,-40.2 237.2,-70.8 z"
|
||||
id="path18"
|
||||
style="fill:#0066ff;stroke-width:33.6545" />
|
||||
<path
|
||||
d="m 3841.4,1279.5 c -72.6,-72.7 -84.1,-147.2 -38.2,-239 44,-82.2 103.2,-97.5 391.9,-97.5 233.2,0 269.6,3.8 311.6,38.2 114.7,89.9 109,254.3 -11.5,326.9 -51.6,30.6 -97.5,36.3 -323.1,36.3 h -265.7 z"
|
||||
id="path19"
|
||||
style="fill:#0066ff;stroke-width:33.6545" />
|
||||
<path
|
||||
d="m 5504.7,1308.2 c -68.8,-42.1 -110.9,-143.4 -91.7,-219.9 5.7,-26.8 38.2,-70.7 68.8,-97.5 53.5,-45.9 66.9,-47.8 321.2,-47.8 288.7,0 340.3,13.4 388.1,95.6 53.5,87.9 42.1,166.3 -32.5,240.9 l -65,65 h -263.8 c -227.6,0 -273.5,-5.7 -325.1,-36.3 z"
|
||||
id="path20"
|
||||
style="fill:#0066ff;stroke-width:33.6545" />
|
||||
<path
|
||||
d="m 2352.1,-1601.6 c -326.9,-114.7 -663.4,-242.8 -749.4,-282.9 -265.7,-128.1 -478,-281 -713.1,-518.1 C 576,-2714.3 381,-3025.9 251,-3415.9 145.9,-3735.2 122.9,-3869 111.4,-4270.5 l -11.4,-367.1 68.8,-68.8 66.9,-66.9 H 5000 9764.3 l 66.9,66.9 68.8,68.8 -11.5,367.1 c -9.6,296.3 -19.1,405.3 -57.4,567.8 -128.1,535.3 -344.1,927.2 -728.4,1309.6 -233.2,233.3 -420.6,367.1 -709.3,506.6 -214.1,103.3 -1332.5,497.1 -1412.8,497.1 -36.3,0 -95.6,-42 -227.5,-166.3 -409.1,-384.3 -759,-585 -1229.3,-705.5 -183.5,-47.8 -244.7,-53.5 -504.7,-55.4 -424.4,0 -674.9,57.4 -1061.1,248.5 -242.8,120.5 -462.7,277.2 -711.2,512.4 -151,141.5 -187.4,166.3 -239,164.4 -34.3,-1.9 -328.8,-95.6 -655.7,-210.3 z"
|
||||
id="path21"
|
||||
style="fill:#dd55ff;stroke-width:33.6545" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g379"
|
||||
transform="matrix(0.01113254,0,0,0.01113254,-13.457508,12.852851)"
|
||||
style="fill:#000000;stroke-width:23.7666">
|
||||
<g
|
||||
transform="matrix(0.08797553,0,0,-0.08797553,110.05744,434.06317)"
|
||||
id="g377"
|
||||
style="fill:#000000;stroke-width:27.0149">
|
||||
<path
|
||||
d="M 3122.6,4604.2 C 2231.7,4380.5 1476.5,4187.4 1444,4174 c -68.8,-28.7 -114.7,-107.1 -114.7,-193.1 0,-42.1 19.1,-76.5 63.1,-120.4 l 61.2,-61.2 554.4,-63.1 c 305.9,-34.4 1152.8,-128.1 1883.1,-210.3 l 1328.7,-149.1 1508.4,380.5 c 827.8,208.4 1514.1,378.5 1523.7,378.5 9.6,0 17.2,-275.3 17.2,-636.6 V 2864.5 L 8078,2673.3 c -286.8,-284.9 -286.8,-237.1 -3.8,-804.9 191.2,-382.4 242.8,-470.3 290.6,-495.2 78.4,-40.1 158.7,-36.3 217.9,11.5 68.8,53.5 489.4,892.8 489.4,973.1 0,89.9 -40.1,147.2 -227.5,334.6 l -174,172.1 v 806.8 808.7 l -53.5,59.3 -53.5,61.2 L 6690,4807 c -1028.6,114.7 -1888.9,206.5 -1909.9,206.5 -21,-0.2 -766.6,-185.6 -1657.5,-409.3 z"
|
||||
id="path367"
|
||||
style="fill:#000000;stroke-width:27.0149" />
|
||||
<path
|
||||
d="m 6340.2,3243 -1099.3,-275.3 -1344,149.1 -1344,149.1 v -569.7 -569.7 l -103.2,-99.4 C 2260.4,1839.7 2170.6,1596.9 2157.2,1218.4 2140,816.9 2229.9,493.8 2411.5,293.1 2484,212.7 2642.7,121 2711.5,121 c 17.2,0 32.5,-15.3 32.5,-32.5 0,-63.1 191.2,-510.5 298.2,-697.8 369,-651.9 892.8,-1091.7 1491.2,-1248.4 290.6,-76.5 642.4,-76.5 933,0 728.4,191.2 1345.9,803 1693.9,1676.7 51.7,133.7 95.7,256.1 95.7,273.3 0,15.3 15.3,28.7 34.4,28.7 66.9,0 225.6,91.8 298.3,172.1 181.6,200.7 271.5,523.8 256.2,925.3 -15.3,380.5 -110.9,629 -307.8,808.7 l -80.3,70.7 -9.6,709.3 -9.6,709.3 z M 3222,2375 c 229.4,-65 602.2,-135.7 908.1,-174 137.7,-15.3 435.9,-24.8 869.9,-24.8 694,0 869.9,13.4 1328.7,97.5 216,38.2 575.5,130 686.4,172.1 34.4,13.4 36.3,3.8 22.9,-273.4 l -13.4,-286.8 49.7,-59.3 c 32.5,-40.1 76.5,-65 130,-74.6 70.7,-15.3 86,-26.8 133.8,-114.7 149.1,-277.2 135.8,-812.5 -22.9,-1036.2 -40.1,-57.4 -45.9,-57.4 -154.9,-45.9 -107.1,9.6 -114.7,7.6 -170.2,-45.9 -30.6,-32.5 -65,-95.6 -78.4,-141.5 -239,-948.3 -887.1,-1692 -1604,-1844.9 -166.3,-34.4 -443.6,-34.4 -613.7,1.9 -671,141.5 -1267.5,774.3 -1540.9,1634.6 -38.2,120.4 -78.4,244.7 -89.9,275.3 -36.3,99.4 -187.4,156.8 -281,107.1 -51.6,-28.7 -124.3,66.9 -175.9,235.2 -63.1,196.9 -61.2,560.2 1.9,739.9 61.2,174 99.4,221.8 191.2,237.1 51.6,7.6 89.9,30.6 124.3,70.7 l 49.7,59.3 -11.5,288.7 c -13.4,277.2 -13.4,286.8 22.9,273.4 19.3,-7.7 126.3,-40.2 237.2,-70.8 z"
|
||||
id="path369"
|
||||
style="fill:#000000;stroke-width:27.0149" />
|
||||
<path
|
||||
d="m 3841.4,1279.5 c -72.6,-72.7 -84.1,-147.2 -38.2,-239 44,-82.2 103.2,-97.5 391.9,-97.5 233.2,0 269.6,3.8 311.6,38.2 114.7,89.9 109,254.3 -11.5,326.9 -51.6,30.6 -97.5,36.3 -323.1,36.3 h -265.7 z"
|
||||
id="path371"
|
||||
style="fill:#000000;stroke-width:27.0149" />
|
||||
<path
|
||||
d="m 5504.7,1308.2 c -68.8,-42.1 -110.9,-143.4 -91.7,-219.9 5.7,-26.8 38.2,-70.7 68.8,-97.5 53.5,-45.9 66.9,-47.8 321.2,-47.8 288.7,0 340.3,13.4 388.1,95.6 53.5,87.9 42.1,166.3 -32.5,240.9 l -65,65 h -263.8 c -227.6,0 -273.5,-5.7 -325.1,-36.3 z"
|
||||
id="path373"
|
||||
style="fill:#000000;stroke-width:27.0149" />
|
||||
<path
|
||||
d="m 2352.1,-1601.6 c -326.9,-114.7 -663.4,-242.8 -749.4,-282.9 -265.7,-128.1 -478,-281 -713.1,-518.1 C 576,-2714.3 381,-3025.9 251,-3415.9 145.9,-3735.2 122.9,-3869 111.4,-4270.5 l -11.4,-367.1 68.8,-68.8 66.9,-66.9 H 5000 9764.3 l 66.9,66.9 68.8,68.8 -11.5,367.1 c -9.6,296.3 -19.1,405.3 -57.4,567.8 -128.1,535.3 -344.1,927.2 -728.4,1309.6 -233.2,233.3 -420.6,367.1 -709.3,506.6 -214.1,103.3 -1332.5,497.1 -1412.8,497.1 -36.3,0 -95.6,-42 -227.5,-166.3 -409.1,-384.3 -759,-585 -1229.3,-705.5 -183.5,-47.8 -244.7,-53.5 -504.7,-55.4 -424.4,0 -674.9,57.4 -1061.1,248.5 -242.8,120.5 -462.7,277.2 -711.2,512.4 -151,141.5 -187.4,166.3 -239,164.4 -34.3,-1.9 -328.8,-95.6 -655.7,-210.3 z"
|
||||
id="path375"
|
||||
style="fill:#000000;stroke-width:27.0149" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g5"
|
||||
transform="matrix(0.08485361,0,0,0.08631596,16.262976,-6.3747231)">
|
||||
<rect
|
||||
style="fill:#00ff00;stroke-width:11.6848;stroke-linecap:round;stroke-linejoin:bevel"
|
||||
id="rect3"
|
||||
width="60.5434"
|
||||
height="55.430641"
|
||||
x="89.144531"
|
||||
y="-5.2591376"
|
||||
ry="10.72851" />
|
||||
<g
|
||||
id="g3"
|
||||
transform="matrix(0.32167629,0,0,0.32167629,93.380516,1.8281726)"
|
||||
style="stroke-width:27.2434">
|
||||
<path
|
||||
style="fill:#ffffff;stroke:#ff0000;stroke-width:27.2434;stroke-linecap:round;stroke-linejoin:bevel"
|
||||
d="M 14.028074,-2.2879778 147.84718,130.5412"
|
||||
id="path1" />
|
||||
<path
|
||||
style="fill:#ffffff;stroke:#ff0000;stroke-width:27.2434;stroke-linecap:round;stroke-linejoin:bevel"
|
||||
d="M 147.84718,-2.2879778 14.028074,130.5412"
|
||||
id="path2" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g9"
|
||||
transform="matrix(0.10400523,0,0,0.10579764,-12.771526,-5.2392046)">
|
||||
<path
|
||||
id="path8"
|
||||
style="fill:#ffe6d5;stroke:#000000;stroke-width:2.38328;stroke-linecap:round;stroke-linejoin:bevel"
|
||||
d="m 231.67865,74.184632 -10.16583,2.491075 -10.18571,2.505728 -12.45141,-1.35788 -12.4514,-1.35788 v 5.192181 5.187296 l -0.95895,0.903625 c -1.75387,1.70685 -2.58376,3.918367 -2.70791,7.365766 -0.15936,3.656884 0.67261,6.602587 2.35514,8.430577 0.67171,0.73229 2.145,1.56791 2.78243,1.56791 0.15936,0 0.29812,0.13641 0.29812,0.29307 0,0.57472 1.77121,4.65363 2.76256,6.35957 3.4188,5.93754 8.2736,9.9389 13.81779,11.36613 2.69241,0.69677 5.95301,0.69677 8.64543,0 6.74864,-1.74146 12.46673,-7.31111 15.69095,-15.26882 0.47901,-1.21774 0.88939,-2.33441 0.88939,-2.49107 0,-0.13935 0.14103,-0.25888 0.31799,-0.25888 0.61983,0 2.089,-0.83653 2.76257,-1.56791 1.68252,-1.82799 2.51676,-4.773693 2.375,-8.430577 -0.14175,-3.465615 -1.02771,-5.729048 -2.85199,-7.365766 l -0.7453,-0.639864 -0.0894,-6.46214 z" />
|
||||
<g
|
||||
id="g570"
|
||||
transform="matrix(0.10531373,0,0,0.10352952,149.66975,64.802716)"
|
||||
style="fill:#000000;stroke-width:29.6078">
|
||||
<g
|
||||
transform="matrix(0.08797553,0,0,-0.08797553,124.40311,399.9922)"
|
||||
id="g568"
|
||||
style="fill:#000000;stroke-width:33.6545">
|
||||
<path
|
||||
d="M 3122.6,4604.2 C 2231.7,4380.5 1476.5,4187.4 1444,4174 c -68.8,-28.7 -114.7,-107.1 -114.7,-193.1 0,-42.1 19.1,-76.5 63.1,-120.4 l 61.2,-61.2 554.4,-63.1 c 305.9,-34.4 1152.8,-128.1 1883.1,-210.3 l 1328.7,-149.1 1508.4,380.5 c 827.8,208.4 1514.1,378.5 1523.7,378.5 9.6,0 17.2,-275.3 17.2,-636.6 V 2864.5 L 8078,2673.3 c -286.8,-284.9 -286.8,-237.1 -3.8,-804.9 191.2,-382.4 242.8,-470.3 290.6,-495.2 78.4,-40.1 158.7,-36.3 217.9,11.5 68.8,53.5 489.4,892.8 489.4,973.1 0,89.9 -40.1,147.2 -227.5,334.6 l -174,172.1 v 806.8 808.7 l -53.5,59.3 -53.5,61.2 L 6690,4807 c -1028.6,114.7 -1888.9,206.5 -1909.9,206.5 -21,-0.2 -766.6,-185.6 -1657.5,-409.3 z"
|
||||
id="path558"
|
||||
style="fill:#800080;stroke-width:33.6545" />
|
||||
<path
|
||||
d="m 3841.4,1279.5 c -72.6,-72.7 -84.1,-147.2 -38.2,-239 44,-82.2 103.2,-97.5 391.9,-97.5 233.2,0 269.6,3.8 311.6,38.2 114.7,89.9 109,254.3 -11.5,326.9 -51.6,30.6 -97.5,36.3 -323.1,36.3 h -265.7 z"
|
||||
id="path562"
|
||||
style="fill:#000000;stroke-width:33.6545" />
|
||||
<path
|
||||
d="m 5504.7,1308.2 c -68.8,-42.1 -110.9,-143.4 -91.7,-219.9 5.7,-26.8 38.2,-70.7 68.8,-97.5 53.5,-45.9 66.9,-47.8 321.2,-47.8 288.7,0 340.3,13.4 388.1,95.6 53.5,87.9 42.1,166.3 -32.5,240.9 l -65,65 h -263.8 c -227.6,0 -273.5,-5.7 -325.1,-36.3 z"
|
||||
id="path564"
|
||||
style="fill:#000000;stroke-width:33.6545" />
|
||||
<path
|
||||
d="m 2352.1,-1601.6 c -326.9,-114.7 -663.4,-242.8 -749.4,-282.9 -265.7,-128.1 -478,-281 -713.1,-518.1 C 576,-2714.3 381,-3025.9 251,-3415.9 145.9,-3735.2 122.9,-3869 111.4,-4270.5 l -11.4,-367.1 68.8,-68.8 66.9,-66.9 H 5000 9764.3 l 66.9,66.9 68.8,68.8 -11.5,367.1 c -9.6,296.3 -19.1,405.3 -57.4,567.8 -128.1,535.3 -344.1,927.2 -728.4,1309.6 -233.2,233.3 -420.6,367.1 -709.3,506.6 -214.1,103.3 -1332.5,497.1 -1412.8,497.1 -36.3,0 -95.6,-42 -227.5,-166.3 -409.1,-384.3 -759,-585 -1229.3,-705.5 -183.5,-47.8 -244.7,-53.5 -504.7,-55.4 -424.4,0 -674.9,57.4 -1061.1,248.5 -242.8,120.5 -462.7,277.2 -711.2,512.4 -151,141.5 -187.4,166.3 -239,164.4 -34.3,-1.9 -328.8,-95.6 -655.7,-210.3 z"
|
||||
id="path566"
|
||||
style="fill:#800080;stroke-width:33.6545" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g26"
|
||||
transform="matrix(0.10400523,0,0,0.10579764,-13.400521,-3.0189787)">
|
||||
<path
|
||||
id="path12"
|
||||
style="fill:#ffe6d5;stroke:#000000;stroke-width:2.38328;stroke-linecap:round;stroke-linejoin:bevel"
|
||||
d="m 231.67865,74.184632 -10.16583,2.491075 -10.18571,2.505728 -12.45141,-1.35788 -12.4514,-1.35788 v 5.192181 5.187296 l -0.95895,0.903625 c -1.75387,1.70685 -2.58376,3.918367 -2.70791,7.365766 -0.15936,3.656884 0.67261,6.602587 2.35514,8.430577 0.67171,0.73229 2.145,1.56791 2.78243,1.56791 0.15936,0 0.29812,0.13641 0.29812,0.29307 0,0.57472 1.77121,4.65363 2.76256,6.35957 3.4188,5.93754 8.2736,9.9389 13.81779,11.36613 2.69241,0.69677 5.95301,0.69677 8.64543,0 6.74864,-1.74146 12.46673,-7.31111 15.69095,-15.26882 0.47901,-1.21774 0.88939,-2.33441 0.88939,-2.49107 0,-0.13935 0.14103,-0.25888 0.31799,-0.25888 0.61983,0 2.089,-0.83653 2.76257,-1.56791 1.68252,-1.82799 2.51676,-4.773693 2.375,-8.430577 -0.14175,-3.465615 -1.02771,-5.729048 -2.85199,-7.365766 l -0.7453,-0.639864 -0.0894,-6.46214 z" />
|
||||
<g
|
||||
id="g25"
|
||||
transform="matrix(0.10531373,0,0,0.10352952,149.66975,64.802716)"
|
||||
style="fill:#000000;stroke-width:29.6078">
|
||||
<g
|
||||
transform="matrix(0.08797553,0,0,-0.08797553,124.40311,399.9922)"
|
||||
id="g24"
|
||||
style="fill:#000000;stroke-width:33.6545">
|
||||
<path
|
||||
d="M 3122.6,4604.2 C 2231.7,4380.5 1476.5,4187.4 1444,4174 c -68.8,-28.7 -114.7,-107.1 -114.7,-193.1 0,-42.1 19.1,-76.5 63.1,-120.4 l 61.2,-61.2 554.4,-63.1 c 305.9,-34.4 1152.8,-128.1 1883.1,-210.3 l 1328.7,-149.1 1508.4,380.5 c 827.8,208.4 1514.1,378.5 1523.7,378.5 9.6,0 17.2,-275.3 17.2,-636.6 V 2864.5 L 8078,2673.3 c -286.8,-284.9 -286.8,-237.1 -3.8,-804.9 191.2,-382.4 242.8,-470.3 290.6,-495.2 78.4,-40.1 158.7,-36.3 217.9,11.5 68.8,53.5 489.4,892.8 489.4,973.1 0,89.9 -40.1,147.2 -227.5,334.6 l -174,172.1 v 806.8 808.7 l -53.5,59.3 -53.5,61.2 L 6690,4807 c -1028.6,114.7 -1888.9,206.5 -1909.9,206.5 -21,-0.2 -766.6,-185.6 -1657.5,-409.3 z"
|
||||
id="path13"
|
||||
style="fill:#000000;stroke-width:33.6545" />
|
||||
<path
|
||||
d="m 3841.4,1279.5 c -72.6,-72.7 -84.1,-147.2 -38.2,-239 44,-82.2 103.2,-97.5 391.9,-97.5 233.2,0 269.6,3.8 311.6,38.2 114.7,89.9 109,254.3 -11.5,326.9 -51.6,30.6 -97.5,36.3 -323.1,36.3 h -265.7 z"
|
||||
id="path14"
|
||||
style="fill:#000000;stroke-width:33.6545" />
|
||||
<path
|
||||
d="m 5504.7,1308.2 c -68.8,-42.1 -110.9,-143.4 -91.7,-219.9 5.7,-26.8 38.2,-70.7 68.8,-97.5 53.5,-45.9 66.9,-47.8 321.2,-47.8 288.7,0 340.3,13.4 388.1,95.6 53.5,87.9 42.1,166.3 -32.5,240.9 l -65,65 h -263.8 c -227.6,0 -273.5,-5.7 -325.1,-36.3 z"
|
||||
id="path15"
|
||||
style="fill:#000000;stroke-width:33.6545" />
|
||||
<path
|
||||
d="m 2352.1,-1601.6 c -326.9,-114.7 -663.4,-242.8 -749.4,-282.9 -265.7,-128.1 -478,-281 -713.1,-518.1 C 576,-2714.3 381,-3025.9 251,-3415.9 145.9,-3735.2 122.9,-3869 111.4,-4270.5 l -11.4,-367.1 68.8,-68.8 66.9,-66.9 H 5000 9764.3 l 66.9,66.9 68.8,68.8 -11.5,367.1 c -9.6,296.3 -19.1,405.3 -57.4,567.8 -128.1,535.3 -344.1,927.2 -728.4,1309.6 -233.2,233.3 -420.6,367.1 -709.3,506.6 -214.1,103.3 -1332.5,497.1 -1412.8,497.1 -36.3,0 -95.6,-42 -227.5,-166.3 -409.1,-384.3 -759,-585 -1229.3,-705.5 -183.5,-47.8 -244.7,-53.5 -504.7,-55.4 -424.4,0 -674.9,57.4 -1061.1,248.5 -242.8,120.5 -462.7,277.2 -711.2,512.4 -151,141.5 -187.4,166.3 -239,164.4 -34.3,-1.9 -328.8,-95.6 -655.7,-210.3 z"
|
||||
id="path22"
|
||||
style="fill:#1a1a1a;stroke-width:33.6545" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:14.1715px;line-height:1.15;font-family:handwriting-draft_free-version;-inkscape-font-specification:handwriting-draft_free-version;stroke:#f9f9f9;stroke-width:0.266381"
|
||||
x="0.11816031"
|
||||
y="8.8655224"
|
||||
id="text1"
|
||||
transform="scale(0.94706971,1.0558885)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Pacifico;-inkscape-font-specification:Pacifico;fill:#ff0000;stroke:#f9f9f9;stroke-width:0.266381"
|
||||
x="0.11816031"
|
||||
y="8.8655224">+</tspan></text>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 27 KiB |
BIN
icons/addnewstudent.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
icons/addnewstudentmini.png
Normal file
After Width: | Height: | Size: 1016 B |
472
icons/listeStudent.svg
Normal file
@ -0,0 +1,472 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
inkscape:export-ydpi="90"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-filename="listestudent.png"
|
||||
sodipodi:docname="listeStudent.svg"
|
||||
inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
|
||||
id="svg8"
|
||||
version="1.1"
|
||||
viewBox="0 0 12.7 12.7"
|
||||
height="48"
|
||||
width="48"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<defs
|
||||
id="defs2">
|
||||
<linearGradient
|
||||
id="k"
|
||||
gradientTransform="matrix(7.3290847,0,0,7.3272888,-782.49722,-7149.5485)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="122.75008"
|
||||
x2="111.74973"
|
||||
xlink:href="#b"
|
||||
y1="991.62115"
|
||||
y2="977.11713" />
|
||||
<linearGradient
|
||||
id="b">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#0369a3"
|
||||
id="stop7" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#1c99e0"
|
||||
id="stop9" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="j"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="108.00134"
|
||||
x2="20.001341"
|
||||
y1="122"
|
||||
y2="6"
|
||||
gradientTransform="translate(12)">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#e6e6e6"
|
||||
id="stop35" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#fff"
|
||||
id="stop37" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="i"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="108.00134"
|
||||
x2="20.001341"
|
||||
xlink:href="#b"
|
||||
y1="130"
|
||||
y2="14"
|
||||
gradientTransform="translate(12)" />
|
||||
<linearGradient
|
||||
id="h"
|
||||
gradientTransform="matrix(4.4999,0,0,3.66665,-930.97741,2199.6564)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x2="0"
|
||||
y1="-581.63782"
|
||||
y2="-578.63782">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#63bbee"
|
||||
id="stop29" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#aadcf7"
|
||||
id="stop31" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="g"
|
||||
gradientTransform="matrix(-4.19983,0,0,3.9111,1552.9405,-4523.1636)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x2="0"
|
||||
xlink:href="#a"
|
||||
y1="1173"
|
||||
y2="1178" />
|
||||
<linearGradient
|
||||
id="a">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#666"
|
||||
id="stop2" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#333"
|
||||
id="stop4" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="f"
|
||||
gradientTransform="matrix(4.19983,0,0,3.9111,-1380.9394,-4521.9436)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x2="0"
|
||||
xlink:href="#a"
|
||||
y1="1173"
|
||||
y2="1178" />
|
||||
<linearGradient
|
||||
id="e"
|
||||
gradientTransform="matrix(1.19997,0,0,1.22222,-269.19161,858.5534)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x2="0"
|
||||
y1="-629.66907"
|
||||
y2="-635.54944">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#18a303"
|
||||
id="stop22" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#106802"
|
||||
id="stop24" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="d"
|
||||
gradientTransform="matrix(4.19983,0,0,3.9111,-1380.9394,-4517.0536)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x2="0"
|
||||
y1="1173"
|
||||
y2="1178">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#0369a3"
|
||||
id="stop17" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#023f62"
|
||||
id="stop19" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="c"
|
||||
gradientTransform="matrix(0,0.791084,-1.28,0,1511.6005,-282.0136)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="445.69522"
|
||||
x2="441.38797"
|
||||
y1="1103.5776"
|
||||
y2="1099.8198">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#e9b913"
|
||||
id="stop12" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#ff0"
|
||||
id="stop14" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#b"
|
||||
id="linearGradient4157"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(7.9997394,0,0,7.9977793,-859.65065,-7810.3938)"
|
||||
x1="122.75008"
|
||||
y1="991.62115"
|
||||
x2="111.74973"
|
||||
y2="977.11713" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-height="1009"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:guide-bbox="true"
|
||||
showguides="true"
|
||||
units="px"
|
||||
showgrid="false"
|
||||
inkscape:document-rotation="0"
|
||||
inkscape:current-layer="layer1"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:cy="31.39617"
|
||||
inkscape:cx="32.841182"
|
||||
inkscape:zoom="7.6123936"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
borderopacity="1.0"
|
||||
bordercolor="#666666"
|
||||
pagecolor="#ffffff"
|
||||
id="base"
|
||||
inkscape:pagecheckerboard="0"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:bbox-paths="true"
|
||||
inkscape:bbox-nodes="true"
|
||||
inkscape:snap-midpoints="true"
|
||||
inkscape:object-paths="true"
|
||||
inkscape:snap-global="false"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:deskcolor="#d1d1d1">
|
||||
<sodipodi:guide
|
||||
id="guide14"
|
||||
orientation="1,0"
|
||||
position="-2.471617e-08,4.4381936"
|
||||
inkscape:locked="false" />
|
||||
<sodipodi:guide
|
||||
position="-0.24253472,-0.26458333"
|
||||
orientation="-0.71816555,0.69587229"
|
||||
id="guide5772"
|
||||
inkscape:locked="false" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata5">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
id="layer1"
|
||||
inkscape:groupmode="layer"
|
||||
inkscape:label="Calque 1"
|
||||
transform="translate(-0.92013353,-0.34176359)">
|
||||
<g
|
||||
id="g6608"
|
||||
transform="matrix(0.76215268,0,0,0.75860347,20.419626,10.683336)"
|
||||
style="stroke-width:1.21708">
|
||||
<g
|
||||
id="g2"
|
||||
transform="matrix(1.1126819,0,0,1.0689509,-1.0567243,-0.60391678)">
|
||||
<path
|
||||
id="path4945"
|
||||
style="fill:#b3b3b3;stroke:#000000;stroke-width:0.200713;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 6.448524,4.1578515 A 2.5406649,2.4821629 0 0 0 3.9075938,6.6403872 2.5406649,2.4821629 0 0 0 6.448524,9.1224062 2.5406649,2.4821629 0 0 0 8.0241383,8.5870385 L 8.590512,9.1559961 8.958965,8.730699 8.4272144,8.1968815 A 2.5406649,2.4821629 0 0 0 8.9889372,6.6403872 2.5406649,2.4821629 0 0 0 6.448524,4.1578515 Z m 0,0.5539713 A 1.9739749,1.9285217 0 0 1 8.4220468,6.6403872 1.9739749,1.9285217 0 0 1 6.448524,8.5684348 1.9739749,1.9285217 0 0 1 4.4744842,6.6403872 1.9739749,1.9285217 0 0 1 6.448524,4.7118228 Z" />
|
||||
<path
|
||||
style="fill:#ff0000;stroke:none;stroke-width:0.322019px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 9.2441621,8.53155 2.9328089,2.944082 c 0.0419,0.512292 -0.280235,0.819082 -0.875635,0.903687 L 8.3690939,9.4346523 C 8.6546945,9.0611151 8.873339,8.7906209 9.2441621,8.53155 Z"
|
||||
id="path5444"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g1"
|
||||
transform="matrix(0.08485361,0,0,0.08631596,18.493169,0.67154427)">
|
||||
<g
|
||||
id="g4179"
|
||||
transform="matrix(1.091506,0,0,1.091506,-5.550275,-6.6190888)"
|
||||
style="stroke-width:0.916165">
|
||||
<path
|
||||
style="fill:url(#k);stroke-width:0.916165"
|
||||
d="m 33.356573,1.223906 c -0.25037,0 -0.50072,0.011156 -0.75,0.035156 -3.66708,0.6998 -4.56576,2.2662469 -4.5,5.9980469 V 123.22586 c 4e-4,4.1875 1.81149,5.99765 6,5.99805 h 91.998057 c 4.1885,-4e-4 5.99764,-1.81055 5.99804,-5.99805 V 51.4075 c 0.048,-2.1119 -0.78004,-4.230247 -2.25,-5.748047 L 87.692523,3.5090622 c -1.51819,-1.4691999 -3.63759,-2.2988999 -5.75,-2.25 h -47.83595 c -0.24919,-0.024 -0.49962,-0.035156 -0.75,-0.035156 z"
|
||||
id="path41" />
|
||||
<path
|
||||
d="M 34.104633,7.2239059 V 123.22391 H 126.10465 V 51.223906 L 82.104653,7.2239059 Z"
|
||||
fill="url(#j)"
|
||||
id="path43"
|
||||
style="fill:#000080;stroke-width:0.916165" />
|
||||
</g>
|
||||
<path
|
||||
style="fill:url(#linearGradient4157);stroke-width:1"
|
||||
d="m 131.22533,55.778801 c 0.38078,0 0.7607,-0.03052 1.13694,-0.08855 4.82817,-1.546485 6.45292,-8.894004 2.73075,-12.350381 L 91.397403,-0.58243478 C 87.360856,-4.4299678 79.32347,-1.1377203 79.110793,4.4505138 V 48.372824 c 4.36e-4,3.833024 3.469037,7.316888 7.281987,7.317433 h 43.69209 c 0.37643,0.05804 0.75972,0.08855 1.14046,0.08855 z"
|
||||
id="path4056" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:53.1628px;line-height:1.25;font-family:'C.A. Gatintas';-inkscape-font-specification:'C.A. Gatintas';text-align:center;text-anchor:middle;fill:#ffffff;stroke-width:3.0916"
|
||||
x="88.898773"
|
||||
y="96.537178"
|
||||
id="text3199"
|
||||
transform="scale(0.90538451,1.1045031)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3197"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:arial;-inkscape-font-specification:arial;fill:#ffffff;stroke-width:3.0916"
|
||||
x="88.898773"
|
||||
y="96.537178">CSV</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g6"
|
||||
transform="translate(9.3985307,7.983748)">
|
||||
<rect
|
||||
style="fill:#00ff00;stroke-width:1;stroke-linecap:round;stroke-linejoin:bevel"
|
||||
id="rect4"
|
||||
width="5.1373262"
|
||||
height="4.7845492"
|
||||
x="8.1961746"
|
||||
y="5.7877703"
|
||||
ry="0.9260416" />
|
||||
<g
|
||||
id="g23"
|
||||
transform="matrix(0.04473207,0,0,0.04550297,1.4115291,3.3967797)">
|
||||
<path
|
||||
style="fill:#ffe6d5;stroke:none;stroke-width:2.92119;stroke-linecap:round;stroke-linejoin:bevel"
|
||||
d="m 205.01263,120.83445 -10.39372,-6.8969 -5.19686,-10.98395 -3.89764,-1.53264 -1.29921,-8.429546 2.59842,-3.831611 1.55906,-1.532645 v -8.174104 l 21.30712,3.065289 19.74807,-4.087051 0.51968,8.684984 2.85827,3.831611 1.03937,5.875137 -2.07874,5.875136 -3.11811,1.53264 -3.89765,9.45131 -7.53544,5.87514 -4.15749,2.29896 z"
|
||||
id="path16" />
|
||||
<g
|
||||
id="g22"
|
||||
transform="matrix(0.10531373,0,0,0.10352952,149.66975,64.802716)"
|
||||
style="fill:#0066ff;stroke-width:29.6078">
|
||||
<g
|
||||
transform="matrix(0.08797553,0,0,-0.08797553,124.40311,399.9922)"
|
||||
id="g21"
|
||||
style="fill:#0066ff;stroke-width:33.6545">
|
||||
<path
|
||||
d="M 3122.6,4604.2 C 2231.7,4380.5 1476.5,4187.4 1444,4174 c -68.8,-28.7 -114.7,-107.1 -114.7,-193.1 0,-42.1 19.1,-76.5 63.1,-120.4 l 61.2,-61.2 554.4,-63.1 c 305.9,-34.4 1152.8,-128.1 1883.1,-210.3 l 1328.7,-149.1 1508.4,380.5 c 827.8,208.4 1514.1,378.5 1523.7,378.5 9.6,0 17.2,-275.3 17.2,-636.6 V 2864.5 L 8078,2673.3 c -286.8,-284.9 -286.8,-237.1 -3.8,-804.9 191.2,-382.4 242.8,-470.3 290.6,-495.2 78.4,-40.1 158.7,-36.3 217.9,11.5 68.8,53.5 489.4,892.8 489.4,973.1 0,89.9 -40.1,147.2 -227.5,334.6 l -174,172.1 v 806.8 808.7 l -53.5,59.3 -53.5,61.2 L 6690,4807 c -1028.6,114.7 -1888.9,206.5 -1909.9,206.5 -21,-0.2 -766.6,-185.6 -1657.5,-409.3 z"
|
||||
id="path17"
|
||||
style="fill:#0066ff;stroke-width:33.6545" />
|
||||
<path
|
||||
d="m 6340.2,3243 -1099.3,-275.3 -1344,149.1 -1344,149.1 v -569.7 -569.7 l -103.2,-99.4 C 2260.4,1839.7 2170.6,1596.9 2157.2,1218.4 2140,816.9 2229.9,493.8 2411.5,293.1 2484,212.7 2642.7,121 2711.5,121 c 17.2,0 32.5,-15.3 32.5,-32.5 0,-63.1 191.2,-510.5 298.2,-697.8 369,-651.9 892.8,-1091.7 1491.2,-1248.4 290.6,-76.5 642.4,-76.5 933,0 728.4,191.2 1345.9,803 1693.9,1676.7 51.7,133.7 95.7,256.1 95.7,273.3 0,15.3 15.3,28.7 34.4,28.7 66.9,0 225.6,91.8 298.3,172.1 181.6,200.7 271.5,523.8 256.2,925.3 -15.3,380.5 -110.9,629 -307.8,808.7 l -80.3,70.7 -9.6,709.3 -9.6,709.3 z M 3222,2375 c 229.4,-65 602.2,-135.7 908.1,-174 137.7,-15.3 435.9,-24.8 869.9,-24.8 694,0 869.9,13.4 1328.7,97.5 216,38.2 575.5,130 686.4,172.1 34.4,13.4 36.3,3.8 22.9,-273.4 l -13.4,-286.8 49.7,-59.3 c 32.5,-40.1 76.5,-65 130,-74.6 70.7,-15.3 86,-26.8 133.8,-114.7 149.1,-277.2 135.8,-812.5 -22.9,-1036.2 -40.1,-57.4 -45.9,-57.4 -154.9,-45.9 -107.1,9.6 -114.7,7.6 -170.2,-45.9 -30.6,-32.5 -65,-95.6 -78.4,-141.5 -239,-948.3 -887.1,-1692 -1604,-1844.9 -166.3,-34.4 -443.6,-34.4 -613.7,1.9 -671,141.5 -1267.5,774.3 -1540.9,1634.6 -38.2,120.4 -78.4,244.7 -89.9,275.3 -36.3,99.4 -187.4,156.8 -281,107.1 -51.6,-28.7 -124.3,66.9 -175.9,235.2 -63.1,196.9 -61.2,560.2 1.9,739.9 61.2,174 99.4,221.8 191.2,237.1 51.6,7.6 89.9,30.6 124.3,70.7 l 49.7,59.3 -11.5,288.7 c -13.4,277.2 -13.4,286.8 22.9,273.4 19.3,-7.7 126.3,-40.2 237.2,-70.8 z"
|
||||
id="path18"
|
||||
style="fill:#0066ff;stroke-width:33.6545" />
|
||||
<path
|
||||
d="m 3841.4,1279.5 c -72.6,-72.7 -84.1,-147.2 -38.2,-239 44,-82.2 103.2,-97.5 391.9,-97.5 233.2,0 269.6,3.8 311.6,38.2 114.7,89.9 109,254.3 -11.5,326.9 -51.6,30.6 -97.5,36.3 -323.1,36.3 h -265.7 z"
|
||||
id="path19"
|
||||
style="fill:#0066ff;stroke-width:33.6545" />
|
||||
<path
|
||||
d="m 5504.7,1308.2 c -68.8,-42.1 -110.9,-143.4 -91.7,-219.9 5.7,-26.8 38.2,-70.7 68.8,-97.5 53.5,-45.9 66.9,-47.8 321.2,-47.8 288.7,0 340.3,13.4 388.1,95.6 53.5,87.9 42.1,166.3 -32.5,240.9 l -65,65 h -263.8 c -227.6,0 -273.5,-5.7 -325.1,-36.3 z"
|
||||
id="path20"
|
||||
style="fill:#0066ff;stroke-width:33.6545" />
|
||||
<path
|
||||
d="m 2352.1,-1601.6 c -326.9,-114.7 -663.4,-242.8 -749.4,-282.9 -265.7,-128.1 -478,-281 -713.1,-518.1 C 576,-2714.3 381,-3025.9 251,-3415.9 145.9,-3735.2 122.9,-3869 111.4,-4270.5 l -11.4,-367.1 68.8,-68.8 66.9,-66.9 H 5000 9764.3 l 66.9,66.9 68.8,68.8 -11.5,367.1 c -9.6,296.3 -19.1,405.3 -57.4,567.8 -128.1,535.3 -344.1,927.2 -728.4,1309.6 -233.2,233.3 -420.6,367.1 -709.3,506.6 -214.1,103.3 -1332.5,497.1 -1412.8,497.1 -36.3,0 -95.6,-42 -227.5,-166.3 -409.1,-384.3 -759,-585 -1229.3,-705.5 -183.5,-47.8 -244.7,-53.5 -504.7,-55.4 -424.4,0 -674.9,57.4 -1061.1,248.5 -242.8,120.5 -462.7,277.2 -711.2,512.4 -151,141.5 -187.4,166.3 -239,164.4 -34.3,-1.9 -328.8,-95.6 -655.7,-210.3 z"
|
||||
id="path21"
|
||||
style="fill:#dd55ff;stroke-width:33.6545" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g379"
|
||||
transform="matrix(0.01113254,0,0,0.01113254,-13.457508,12.852851)"
|
||||
style="fill:#000000;stroke-width:23.7666">
|
||||
<g
|
||||
transform="matrix(0.08797553,0,0,-0.08797553,110.05744,434.06317)"
|
||||
id="g377"
|
||||
style="fill:#000000;stroke-width:27.0149">
|
||||
<path
|
||||
d="M 3122.6,4604.2 C 2231.7,4380.5 1476.5,4187.4 1444,4174 c -68.8,-28.7 -114.7,-107.1 -114.7,-193.1 0,-42.1 19.1,-76.5 63.1,-120.4 l 61.2,-61.2 554.4,-63.1 c 305.9,-34.4 1152.8,-128.1 1883.1,-210.3 l 1328.7,-149.1 1508.4,380.5 c 827.8,208.4 1514.1,378.5 1523.7,378.5 9.6,0 17.2,-275.3 17.2,-636.6 V 2864.5 L 8078,2673.3 c -286.8,-284.9 -286.8,-237.1 -3.8,-804.9 191.2,-382.4 242.8,-470.3 290.6,-495.2 78.4,-40.1 158.7,-36.3 217.9,11.5 68.8,53.5 489.4,892.8 489.4,973.1 0,89.9 -40.1,147.2 -227.5,334.6 l -174,172.1 v 806.8 808.7 l -53.5,59.3 -53.5,61.2 L 6690,4807 c -1028.6,114.7 -1888.9,206.5 -1909.9,206.5 -21,-0.2 -766.6,-185.6 -1657.5,-409.3 z"
|
||||
id="path367"
|
||||
style="fill:#000000;stroke-width:27.0149" />
|
||||
<path
|
||||
d="m 6340.2,3243 -1099.3,-275.3 -1344,149.1 -1344,149.1 v -569.7 -569.7 l -103.2,-99.4 C 2260.4,1839.7 2170.6,1596.9 2157.2,1218.4 2140,816.9 2229.9,493.8 2411.5,293.1 2484,212.7 2642.7,121 2711.5,121 c 17.2,0 32.5,-15.3 32.5,-32.5 0,-63.1 191.2,-510.5 298.2,-697.8 369,-651.9 892.8,-1091.7 1491.2,-1248.4 290.6,-76.5 642.4,-76.5 933,0 728.4,191.2 1345.9,803 1693.9,1676.7 51.7,133.7 95.7,256.1 95.7,273.3 0,15.3 15.3,28.7 34.4,28.7 66.9,0 225.6,91.8 298.3,172.1 181.6,200.7 271.5,523.8 256.2,925.3 -15.3,380.5 -110.9,629 -307.8,808.7 l -80.3,70.7 -9.6,709.3 -9.6,709.3 z M 3222,2375 c 229.4,-65 602.2,-135.7 908.1,-174 137.7,-15.3 435.9,-24.8 869.9,-24.8 694,0 869.9,13.4 1328.7,97.5 216,38.2 575.5,130 686.4,172.1 34.4,13.4 36.3,3.8 22.9,-273.4 l -13.4,-286.8 49.7,-59.3 c 32.5,-40.1 76.5,-65 130,-74.6 70.7,-15.3 86,-26.8 133.8,-114.7 149.1,-277.2 135.8,-812.5 -22.9,-1036.2 -40.1,-57.4 -45.9,-57.4 -154.9,-45.9 -107.1,9.6 -114.7,7.6 -170.2,-45.9 -30.6,-32.5 -65,-95.6 -78.4,-141.5 -239,-948.3 -887.1,-1692 -1604,-1844.9 -166.3,-34.4 -443.6,-34.4 -613.7,1.9 -671,141.5 -1267.5,774.3 -1540.9,1634.6 -38.2,120.4 -78.4,244.7 -89.9,275.3 -36.3,99.4 -187.4,156.8 -281,107.1 -51.6,-28.7 -124.3,66.9 -175.9,235.2 -63.1,196.9 -61.2,560.2 1.9,739.9 61.2,174 99.4,221.8 191.2,237.1 51.6,7.6 89.9,30.6 124.3,70.7 l 49.7,59.3 -11.5,288.7 c -13.4,277.2 -13.4,286.8 22.9,273.4 19.3,-7.7 126.3,-40.2 237.2,-70.8 z"
|
||||
id="path369"
|
||||
style="fill:#000000;stroke-width:27.0149" />
|
||||
<path
|
||||
d="m 3841.4,1279.5 c -72.6,-72.7 -84.1,-147.2 -38.2,-239 44,-82.2 103.2,-97.5 391.9,-97.5 233.2,0 269.6,3.8 311.6,38.2 114.7,89.9 109,254.3 -11.5,326.9 -51.6,30.6 -97.5,36.3 -323.1,36.3 h -265.7 z"
|
||||
id="path371"
|
||||
style="fill:#000000;stroke-width:27.0149" />
|
||||
<path
|
||||
d="m 5504.7,1308.2 c -68.8,-42.1 -110.9,-143.4 -91.7,-219.9 5.7,-26.8 38.2,-70.7 68.8,-97.5 53.5,-45.9 66.9,-47.8 321.2,-47.8 288.7,0 340.3,13.4 388.1,95.6 53.5,87.9 42.1,166.3 -32.5,240.9 l -65,65 h -263.8 c -227.6,0 -273.5,-5.7 -325.1,-36.3 z"
|
||||
id="path373"
|
||||
style="fill:#000000;stroke-width:27.0149" />
|
||||
<path
|
||||
d="m 2352.1,-1601.6 c -326.9,-114.7 -663.4,-242.8 -749.4,-282.9 -265.7,-128.1 -478,-281 -713.1,-518.1 C 576,-2714.3 381,-3025.9 251,-3415.9 145.9,-3735.2 122.9,-3869 111.4,-4270.5 l -11.4,-367.1 68.8,-68.8 66.9,-66.9 H 5000 9764.3 l 66.9,66.9 68.8,68.8 -11.5,367.1 c -9.6,296.3 -19.1,405.3 -57.4,567.8 -128.1,535.3 -344.1,927.2 -728.4,1309.6 -233.2,233.3 -420.6,367.1 -709.3,506.6 -214.1,103.3 -1332.5,497.1 -1412.8,497.1 -36.3,0 -95.6,-42 -227.5,-166.3 -409.1,-384.3 -759,-585 -1229.3,-705.5 -183.5,-47.8 -244.7,-53.5 -504.7,-55.4 -424.4,0 -674.9,57.4 -1061.1,248.5 -242.8,120.5 -462.7,277.2 -711.2,512.4 -151,141.5 -187.4,166.3 -239,164.4 -34.3,-1.9 -328.8,-95.6 -655.7,-210.3 z"
|
||||
id="path375"
|
||||
style="fill:#000000;stroke-width:27.0149" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g5"
|
||||
transform="matrix(0.08485361,0,0,0.08631596,16.262976,-6.3747231)">
|
||||
<rect
|
||||
style="fill:#00ff00;stroke-width:11.6848;stroke-linecap:round;stroke-linejoin:bevel"
|
||||
id="rect3"
|
||||
width="60.5434"
|
||||
height="55.430641"
|
||||
x="89.144531"
|
||||
y="-5.2591376"
|
||||
ry="10.72851" />
|
||||
<g
|
||||
id="g3"
|
||||
transform="matrix(0.32167629,0,0,0.32167629,93.380516,1.8281726)"
|
||||
style="stroke-width:27.2434">
|
||||
<path
|
||||
style="fill:#ffffff;stroke:#ff0000;stroke-width:27.2434;stroke-linecap:round;stroke-linejoin:bevel"
|
||||
d="M 14.028074,-2.2879778 147.84718,130.5412"
|
||||
id="path1" />
|
||||
<path
|
||||
style="fill:#ffffff;stroke:#ff0000;stroke-width:27.2434;stroke-linecap:round;stroke-linejoin:bevel"
|
||||
d="M 147.84718,-2.2879778 14.028074,130.5412"
|
||||
id="path2" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g9"
|
||||
transform="matrix(0.10400523,0,0,0.10579764,-12.771526,-5.2392046)">
|
||||
<path
|
||||
id="path8"
|
||||
style="fill:#ffe6d5;stroke:#000000;stroke-width:2.38328;stroke-linecap:round;stroke-linejoin:bevel"
|
||||
d="m 231.67865,74.184632 -10.16583,2.491075 -10.18571,2.505728 -12.45141,-1.35788 -12.4514,-1.35788 v 5.192181 5.187296 l -0.95895,0.903625 c -1.75387,1.70685 -2.58376,3.918367 -2.70791,7.365766 -0.15936,3.656884 0.67261,6.602587 2.35514,8.430577 0.67171,0.73229 2.145,1.56791 2.78243,1.56791 0.15936,0 0.29812,0.13641 0.29812,0.29307 0,0.57472 1.77121,4.65363 2.76256,6.35957 3.4188,5.93754 8.2736,9.9389 13.81779,11.36613 2.69241,0.69677 5.95301,0.69677 8.64543,0 6.74864,-1.74146 12.46673,-7.31111 15.69095,-15.26882 0.47901,-1.21774 0.88939,-2.33441 0.88939,-2.49107 0,-0.13935 0.14103,-0.25888 0.31799,-0.25888 0.61983,0 2.089,-0.83653 2.76257,-1.56791 1.68252,-1.82799 2.51676,-4.773693 2.375,-8.430577 -0.14175,-3.465615 -1.02771,-5.729048 -2.85199,-7.365766 l -0.7453,-0.639864 -0.0894,-6.46214 z" />
|
||||
<g
|
||||
id="g570"
|
||||
transform="matrix(0.10531373,0,0,0.10352952,149.66975,64.802716)"
|
||||
style="fill:#000000;stroke-width:29.6078">
|
||||
<g
|
||||
transform="matrix(0.08797553,0,0,-0.08797553,124.40311,399.9922)"
|
||||
id="g568"
|
||||
style="fill:#000000;stroke-width:33.6545">
|
||||
<path
|
||||
d="M 3122.6,4604.2 C 2231.7,4380.5 1476.5,4187.4 1444,4174 c -68.8,-28.7 -114.7,-107.1 -114.7,-193.1 0,-42.1 19.1,-76.5 63.1,-120.4 l 61.2,-61.2 554.4,-63.1 c 305.9,-34.4 1152.8,-128.1 1883.1,-210.3 l 1328.7,-149.1 1508.4,380.5 c 827.8,208.4 1514.1,378.5 1523.7,378.5 9.6,0 17.2,-275.3 17.2,-636.6 V 2864.5 L 8078,2673.3 c -286.8,-284.9 -286.8,-237.1 -3.8,-804.9 191.2,-382.4 242.8,-470.3 290.6,-495.2 78.4,-40.1 158.7,-36.3 217.9,11.5 68.8,53.5 489.4,892.8 489.4,973.1 0,89.9 -40.1,147.2 -227.5,334.6 l -174,172.1 v 806.8 808.7 l -53.5,59.3 -53.5,61.2 L 6690,4807 c -1028.6,114.7 -1888.9,206.5 -1909.9,206.5 -21,-0.2 -766.6,-185.6 -1657.5,-409.3 z"
|
||||
id="path558"
|
||||
style="fill:#800080;stroke-width:33.6545" />
|
||||
<path
|
||||
d="m 3841.4,1279.5 c -72.6,-72.7 -84.1,-147.2 -38.2,-239 44,-82.2 103.2,-97.5 391.9,-97.5 233.2,0 269.6,3.8 311.6,38.2 114.7,89.9 109,254.3 -11.5,326.9 -51.6,30.6 -97.5,36.3 -323.1,36.3 h -265.7 z"
|
||||
id="path562"
|
||||
style="fill:#000000;stroke-width:33.6545" />
|
||||
<path
|
||||
d="m 5504.7,1308.2 c -68.8,-42.1 -110.9,-143.4 -91.7,-219.9 5.7,-26.8 38.2,-70.7 68.8,-97.5 53.5,-45.9 66.9,-47.8 321.2,-47.8 288.7,0 340.3,13.4 388.1,95.6 53.5,87.9 42.1,166.3 -32.5,240.9 l -65,65 h -263.8 c -227.6,0 -273.5,-5.7 -325.1,-36.3 z"
|
||||
id="path564"
|
||||
style="fill:#000000;stroke-width:33.6545" />
|
||||
<path
|
||||
d="m 2352.1,-1601.6 c -326.9,-114.7 -663.4,-242.8 -749.4,-282.9 -265.7,-128.1 -478,-281 -713.1,-518.1 C 576,-2714.3 381,-3025.9 251,-3415.9 145.9,-3735.2 122.9,-3869 111.4,-4270.5 l -11.4,-367.1 68.8,-68.8 66.9,-66.9 H 5000 9764.3 l 66.9,66.9 68.8,68.8 -11.5,367.1 c -9.6,296.3 -19.1,405.3 -57.4,567.8 -128.1,535.3 -344.1,927.2 -728.4,1309.6 -233.2,233.3 -420.6,367.1 -709.3,506.6 -214.1,103.3 -1332.5,497.1 -1412.8,497.1 -36.3,0 -95.6,-42 -227.5,-166.3 -409.1,-384.3 -759,-585 -1229.3,-705.5 -183.5,-47.8 -244.7,-53.5 -504.7,-55.4 -424.4,0 -674.9,57.4 -1061.1,248.5 -242.8,120.5 -462.7,277.2 -711.2,512.4 -151,141.5 -187.4,166.3 -239,164.4 -34.3,-1.9 -328.8,-95.6 -655.7,-210.3 z"
|
||||
id="path566"
|
||||
style="fill:#800080;stroke-width:33.6545" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g26"
|
||||
transform="matrix(0.10400523,0,0,0.10579764,-16.177705,-2.9452481)">
|
||||
<path
|
||||
id="path12"
|
||||
style="fill:#ffe6d5;stroke:#000000;stroke-width:2.38328;stroke-linecap:round;stroke-linejoin:bevel"
|
||||
d="m 231.67865,74.184632 -10.16583,2.491075 -10.18571,2.505728 -12.45141,-1.35788 -12.4514,-1.35788 v 5.192181 5.187296 l -0.95895,0.903625 c -1.75387,1.70685 -2.58376,3.918367 -2.70791,7.365766 -0.15936,3.656884 0.67261,6.602587 2.35514,8.430577 0.67171,0.73229 2.145,1.56791 2.78243,1.56791 0.15936,0 0.29812,0.13641 0.29812,0.29307 0,0.57472 1.77121,4.65363 2.76256,6.35957 3.4188,5.93754 8.2736,9.9389 13.81779,11.36613 2.69241,0.69677 5.95301,0.69677 8.64543,0 6.74864,-1.74146 12.46673,-7.31111 15.69095,-15.26882 0.47901,-1.21774 0.88939,-2.33441 0.88939,-2.49107 0,-0.13935 0.14103,-0.25888 0.31799,-0.25888 0.61983,0 2.089,-0.83653 2.76257,-1.56791 1.68252,-1.82799 2.51676,-4.773693 2.375,-8.430577 -0.14175,-3.465615 -1.02771,-5.729048 -2.85199,-7.365766 l -0.7453,-0.639864 -0.0894,-6.46214 z" />
|
||||
<g
|
||||
id="g25"
|
||||
transform="matrix(0.10531373,0,0,0.10352952,149.66975,64.802716)"
|
||||
style="fill:#000000;stroke-width:29.6078">
|
||||
<g
|
||||
transform="matrix(0.08797553,0,0,-0.08797553,124.40311,399.9922)"
|
||||
id="g24"
|
||||
style="fill:#000000;stroke-width:33.6545">
|
||||
<path
|
||||
d="M 3122.6,4604.2 C 2231.7,4380.5 1476.5,4187.4 1444,4174 c -68.8,-28.7 -114.7,-107.1 -114.7,-193.1 0,-42.1 19.1,-76.5 63.1,-120.4 l 61.2,-61.2 554.4,-63.1 c 305.9,-34.4 1152.8,-128.1 1883.1,-210.3 l 1328.7,-149.1 1508.4,380.5 c 827.8,208.4 1514.1,378.5 1523.7,378.5 9.6,0 17.2,-275.3 17.2,-636.6 V 2864.5 L 8078,2673.3 c -286.8,-284.9 -286.8,-237.1 -3.8,-804.9 191.2,-382.4 242.8,-470.3 290.6,-495.2 78.4,-40.1 158.7,-36.3 217.9,11.5 68.8,53.5 489.4,892.8 489.4,973.1 0,89.9 -40.1,147.2 -227.5,334.6 l -174,172.1 v 806.8 808.7 l -53.5,59.3 -53.5,61.2 L 6690,4807 c -1028.6,114.7 -1888.9,206.5 -1909.9,206.5 -21,-0.2 -766.6,-185.6 -1657.5,-409.3 z"
|
||||
id="path13"
|
||||
style="fill:#000000;stroke-width:33.6545" />
|
||||
<path
|
||||
d="m 3841.4,1279.5 c -72.6,-72.7 -84.1,-147.2 -38.2,-239 44,-82.2 103.2,-97.5 391.9,-97.5 233.2,0 269.6,3.8 311.6,38.2 114.7,89.9 109,254.3 -11.5,326.9 -51.6,30.6 -97.5,36.3 -323.1,36.3 h -265.7 z"
|
||||
id="path14"
|
||||
style="fill:#000000;stroke-width:33.6545" />
|
||||
<path
|
||||
d="m 5504.7,1308.2 c -68.8,-42.1 -110.9,-143.4 -91.7,-219.9 5.7,-26.8 38.2,-70.7 68.8,-97.5 53.5,-45.9 66.9,-47.8 321.2,-47.8 288.7,0 340.3,13.4 388.1,95.6 53.5,87.9 42.1,166.3 -32.5,240.9 l -65,65 h -263.8 c -227.6,0 -273.5,-5.7 -325.1,-36.3 z"
|
||||
id="path15"
|
||||
style="fill:#000000;stroke-width:33.6545" />
|
||||
<path
|
||||
d="m 2352.1,-1601.6 c -326.9,-114.7 -663.4,-242.8 -749.4,-282.9 -265.7,-128.1 -478,-281 -713.1,-518.1 C 576,-2714.3 381,-3025.9 251,-3415.9 145.9,-3735.2 122.9,-3869 111.4,-4270.5 l -11.4,-367.1 68.8,-68.8 66.9,-66.9 H 5000 9764.3 l 66.9,66.9 68.8,68.8 -11.5,367.1 c -9.6,296.3 -19.1,405.3 -57.4,567.8 -128.1,535.3 -344.1,927.2 -728.4,1309.6 -233.2,233.3 -420.6,367.1 -709.3,506.6 -214.1,103.3 -1332.5,497.1 -1412.8,497.1 -36.3,0 -95.6,-42 -227.5,-166.3 -409.1,-384.3 -759,-585 -1229.3,-705.5 -183.5,-47.8 -244.7,-53.5 -504.7,-55.4 -424.4,0 -674.9,57.4 -1061.1,248.5 -242.8,120.5 -462.7,277.2 -711.2,512.4 -151,141.5 -187.4,166.3 -239,164.4 -34.3,-1.9 -328.8,-95.6 -655.7,-210.3 z"
|
||||
id="path22"
|
||||
style="fill:#1a1a1a;stroke-width:33.6545" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:13.1714px;line-height:1.15;font-family:handwriting-draft_free-version;-inkscape-font-specification:handwriting-draft_free-version;stroke:#f9f9f9;stroke-width:0.247581"
|
||||
x="4.2932463"
|
||||
y="11.820724"
|
||||
id="text1"
|
||||
transform="scale(0.93305916,1.0717434)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Pacifico;-inkscape-font-specification:Pacifico;fill:#ff0000;stroke:#f9f9f9;stroke-width:0.247581"
|
||||
x="4.2932463"
|
||||
y="11.820724">?</tspan></text>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 27 KiB |
BIN
icons/listestudent.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
icons/listestudentmini.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
icons/nolistestudent.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
icons/nolistestudentmini.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
@ -4,7 +4,9 @@ import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.InetAddress;
|
||||
import java.net.URL;
|
||||
import java.net.UnknownHostException;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
@ -19,60 +21,88 @@ public class verificationNewVersion {
|
||||
|
||||
|
||||
public verificationNewVersion() {
|
||||
// String[] Version = commandes.version.split("\\.")
|
||||
// int versionIntegerApplication = Integer.valueOf( Version[0] + Version[1] + Version[2]);
|
||||
|
||||
HttpURLConnection conn = null ;
|
||||
try {
|
||||
URL url = new URL("https://forge.chapril.org/pablo/analyseWriter/releases");
|
||||
conn = (HttpURLConnection) url.openConnection();
|
||||
conn.setRequestMethod("GET");
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
|
||||
|
||||
String line;
|
||||
StringBuilder content = new StringBuilder();
|
||||
|
||||
|
||||
String host = "forge.chapril.org";
|
||||
int timeout = 2000; // 5 seconds
|
||||
|
||||
while ((line = reader.readLine()) != null) {
|
||||
content.append(line);
|
||||
}
|
||||
reader.close();
|
||||
conn.disconnect();
|
||||
|
||||
// Motif de la sous-chaîne recherchée Vx.x.x
|
||||
String pattern = "V\\d+\\.\\d+\\.\\d+";
|
||||
// Vérifier la connectivité avec un ping
|
||||
try {
|
||||
InetAddress address = InetAddress.getByName(host);
|
||||
if (!address.isReachable(timeout)) {
|
||||
System.err.println("Host is not reachable: " + host);
|
||||
return; // Sortir de la procédure si le ping échoue
|
||||
}
|
||||
} catch (UnknownHostException e) {
|
||||
System.err.println("Unknown host: " + host);
|
||||
return; // Sortir de la procédure si l'hôte est inconnu
|
||||
} catch (IOException e) {
|
||||
System.err.println("IOException during ping: " + e.getMessage());
|
||||
return; // Sortir de la procédure en cas d'IOException
|
||||
}
|
||||
|
||||
HttpURLConnection conn = null ;
|
||||
try {
|
||||
|
||||
URL url = new URL("https://forge.chapril.org/pablo/analyseWriter/releases");
|
||||
conn = (HttpURLConnection) url.openConnection();
|
||||
conn.setRequestMethod("GET");
|
||||
conn.setConnectTimeout(5000); // 5 seconds timeout for connection
|
||||
conn.setReadTimeout(5000); // 5 seconds timeout for reading
|
||||
|
||||
// Création du motif de recherche
|
||||
Pattern regex = Pattern.compile(pattern);
|
||||
int status = conn.getResponseCode();
|
||||
if (status != HttpURLConnection.HTTP_OK) {
|
||||
throw new IOException("HTTP error code: " + status);
|
||||
}
|
||||
|
||||
// Création du matcher pour l'entrée donnée
|
||||
Matcher matcher = regex.matcher(content);
|
||||
|
||||
//Version max
|
||||
int versionMax = 0;
|
||||
|
||||
// Parcours des correspondances
|
||||
while (matcher.find()) {
|
||||
// Récupération de la sous-chaîne correspondante
|
||||
String match = matcher.group();
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
|
||||
|
||||
String line;
|
||||
StringBuilder content = new StringBuilder();
|
||||
|
||||
// Conversion en nombre entier
|
||||
String numericString = match.replaceAll("[^\\d.]", "");
|
||||
while ((line = reader.readLine()) != null) {
|
||||
content.append(line);
|
||||
}
|
||||
reader.close();
|
||||
conn.disconnect();
|
||||
|
||||
// Motif de la sous-chaîne recherchée Vx.x.x
|
||||
String pattern = "V\\d+\\.\\d+\\.\\d+";
|
||||
|
||||
|
||||
versionMax = versionNombre(numericString);
|
||||
|
||||
if(versionMax>0) {
|
||||
System.out.println("La nouvelle version est disponible !");
|
||||
System.out.println(match);
|
||||
commandes.newVersion = true;
|
||||
commandes.nameNewVersion = match;
|
||||
return;
|
||||
}
|
||||
}
|
||||
} catch (IOException e) {
|
||||
if(conn!=null) conn.disconnect();
|
||||
e.printStackTrace();
|
||||
}
|
||||
// Création du motif de recherche
|
||||
Pattern regex = Pattern.compile(pattern);
|
||||
|
||||
// Création du matcher pour l'entrée donnée
|
||||
Matcher matcher = regex.matcher(content);
|
||||
|
||||
//Version max
|
||||
int versionMax = 0;
|
||||
|
||||
// Parcours des correspondances
|
||||
while (matcher.find()) {
|
||||
// Récupération de la sous-chaîne correspondante
|
||||
String match = matcher.group();
|
||||
|
||||
// Conversion en nombre entier
|
||||
String numericString = match.replaceAll("[^\\d.]", "");
|
||||
|
||||
|
||||
versionMax = versionNombre(numericString);
|
||||
|
||||
if(versionMax>0) {
|
||||
System.out.println("La nouvelle version est disponible !");
|
||||
System.out.println(match);
|
||||
commandes.newVersion = true;
|
||||
commandes.nameNewVersion = match;
|
||||
return;
|
||||
}
|
||||
}
|
||||
} catch (IOException e) {
|
||||
if(conn!=null) conn.disconnect();
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -16,7 +16,8 @@ public class actOpenBaseListesEtudiants extends AbstractAction{
|
||||
private static final long serialVersionUID = 1L;
|
||||
{
|
||||
putValue( Action.NAME, "Ouvrir la base de données des listes des étudiants" );
|
||||
putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/baselisteetudiant.png")) );
|
||||
putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/baselisteetudiantmini.png")) );
|
||||
putValue( Action.LARGE_ICON_KEY, new ImageIcon(create.class.getResource("/resources/baselisteetudiant.png")) );
|
||||
putValue( Action.SHORT_DESCRIPTION, "Ouvrir la base de données des listes des étudiants" );
|
||||
}
|
||||
@Override
|
||||
|
@ -16,6 +16,7 @@ import javax.swing.JOptionPane;
|
||||
import MEPTL.commandes;
|
||||
import MEPTL.meptl;
|
||||
import MEPTL.verificationFichierAnalyse_node_commandesSujet;
|
||||
import baseListesEtudiants.chargeListeEtudiants;
|
||||
import cXML.node;
|
||||
import fenetres.ChargeFichierXML;
|
||||
|
||||
@ -105,8 +106,14 @@ public class chargeEvaluation {
|
||||
|
||||
|
||||
commandes.nodeCSV = evaluation.retourneFirstEnfantsByName("fileCSV");
|
||||
if(!commandes.nodeCSV.isVide()) {
|
||||
if(commandes.nodeCSV.getAttributs().get("nameListStudent")!=null) {
|
||||
String nameListeStudent = commandes.nodeCSV.getAttributs().get("nameListStudent");
|
||||
chargeListeEtudiants.chargeDansLeNodeCSVListeEtudiants(nameListeStudent);
|
||||
}
|
||||
}
|
||||
|
||||
commandes.contenuFichierSVG = evaluation.retourneFirstEnfantsByName("nodSVG").retourneLesContenusEnfants("");
|
||||
// commandes.contenuFichierSVG = evaluation.retourneFirstEnfantsByName("nodSVG").retourneLesContenusEnfants("");
|
||||
|
||||
commandes.fichierAnalyseValide = true;
|
||||
|
||||
|
@ -76,7 +76,6 @@ public class creerNouvelleEvaluation {
|
||||
evaluation.getAttributs().put("newLogo", String.valueOf(commandes.newLogo) );
|
||||
evaluation.getAttributs().put("noLogo", String.valueOf(commandes.noLogo) );
|
||||
evaluation.getAttributs().put("analyse_nombres_modifications_simultané_maxi", String.valueOf(commandes.analyse_nombres_modifications_simultané_maxi) );
|
||||
|
||||
|
||||
evaluation.getAttributs().put("fourniCSV", String.valueOf(commandes.fourniCSV) );
|
||||
if(commandes.nameCSV!=null) {
|
||||
@ -85,33 +84,16 @@ public class creerNouvelleEvaluation {
|
||||
evaluation.getAttributs().put("nameCSV", "");
|
||||
}
|
||||
|
||||
if(commandes.nameSVG!=null) {
|
||||
if(!commandes.nameSVG.isBlank()) {
|
||||
evaluation.getAttributs().put("nameSVG", commandes.nameSVG );
|
||||
}
|
||||
}else {
|
||||
evaluation.getAttributs().put("nameSVG", "" );
|
||||
}
|
||||
|
||||
|
||||
//Supprime le node CSV s'il existe, pour le remplacer par le node commandes.nodeCSV
|
||||
node nodremove = evaluation.retourneFirstEnfantsByName("fileCSV");
|
||||
if(!nodremove.isVide()) evaluation.getNodes().remove(nodremove);
|
||||
|
||||
// ajoute les informations sur la liste d'étudiant
|
||||
// Dans le nodeCSV, il y a toutes les informations sur chauqe étudiants
|
||||
// Mais dans le node évaluation, on ne garde que les attribut du node fileCSV.
|
||||
if(commandes.nodeCSV!=null) {
|
||||
evaluation.getNodes().add(commandes.nodeCSV);
|
||||
}
|
||||
|
||||
|
||||
if(commandes.nameSVG!=null) {
|
||||
if(!commandes.nameSVG.isBlank() && !commandes.contenuFichierSVG.isBlank()) {
|
||||
node SVG = new node();
|
||||
SVG.setNomElt("nodSVG");
|
||||
SVG.setContenu(commandes.contenuFichierSVG);
|
||||
if(SVG!=null) {
|
||||
evaluation.getNodes().add(SVG);
|
||||
}
|
||||
}
|
||||
evaluation.retourneFirstEnfantsByName("fileCSV").getNodes().clear();
|
||||
}
|
||||
|
||||
//Création d'une évaluation
|
||||
@ -122,7 +104,6 @@ public class creerNouvelleEvaluation {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
new ecritureBaseEvaluation(evaluation);
|
||||
commandes.hashCodeEvaluationSave = evaluation.hashCode();
|
||||
|
||||
|
13
src/baseListesEtudiants/EmailValidator.java
Normal file
@ -0,0 +1,13 @@
|
||||
package baseListesEtudiants;
|
||||
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public class EmailValidator {
|
||||
public static boolean isValidEmail(String email) {
|
||||
String emailPattern = "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,6}$";
|
||||
Pattern pattern = Pattern.compile(emailPattern);
|
||||
Matcher matcher = pattern.matcher(email);
|
||||
return matcher.matches();
|
||||
}
|
||||
}
|
@ -6,9 +6,25 @@ public class chargeListeEtudiants {
|
||||
|
||||
public static void chargeDansleNodeCSVListeEtudiants(Integer index) {
|
||||
if(commandes.listesEtudiants!=null) {
|
||||
if(commandes.listesEtudiants.getNodes().size()>0) {
|
||||
if(commandes.listesEtudiants.getNodes().size()>index && index >= 0 ) {
|
||||
commandes.nodeCSV = commandes.listesEtudiants.getNodes().get(index);
|
||||
commandes.fourniCSV=true;
|
||||
}else {
|
||||
commandes.nodeCSV = null;
|
||||
commandes.fourniCSV=false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void chargeDansLeNodeCSVListeEtudiants(String nameListe) {
|
||||
if(commandes.listesEtudiants!=null) {
|
||||
if(commandes.listesEtudiants.getNodes().size()>0) {
|
||||
commandes.nodeCSV = commandes.listesEtudiants.retourneFirstNodeByNameAndAttributValueExactStrict("fileCSV", "nameListStudent", nameListe);
|
||||
if(commandes.nodeCSV!=null) {
|
||||
commandes.fourniCSV=true;
|
||||
}else {
|
||||
commandes.fourniCSV=true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
13
src/baseListesEtudiants/idValidator.java
Normal file
@ -0,0 +1,13 @@
|
||||
package baseListesEtudiants;
|
||||
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public class idValidator {
|
||||
public static boolean isValidId(String id) {
|
||||
String idPattern = "^[0-9]{8}$";
|
||||
Pattern pattern = Pattern.compile(idPattern);
|
||||
Matcher matcher = pattern.matcher(id);
|
||||
return matcher.matches();
|
||||
}
|
||||
}
|
@ -79,6 +79,19 @@ public class myTableStudent extends AbstractTableModel{
|
||||
fireTableRowsInserted(0, commandes.nodeCSV.getNodes().size()-1);
|
||||
}
|
||||
}
|
||||
|
||||
public void removeRow(int row) {
|
||||
if (row >= 0 && row < commandes.nodeCSV.getNodes().size()) {
|
||||
commandes.nodeCSV.getNodes().remove(row);
|
||||
fireTableRowsDeleted(row, row);
|
||||
}
|
||||
}
|
||||
|
||||
public void addStudent(node newStudent) {
|
||||
if(commandes.nodeCSV!=null) {
|
||||
commandes.nodeCSV.getNodes().add(newStudent);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
13
src/baseListesEtudiants/nameStudentValidator.java
Normal file
@ -0,0 +1,13 @@
|
||||
package baseListesEtudiants;
|
||||
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public class nameStudentValidator {
|
||||
public static boolean isValidName(String name) {
|
||||
String namePattern = "^[a-zA-Z -]+?$";
|
||||
Pattern pattern = Pattern.compile(namePattern);
|
||||
Matcher matcher = pattern.matcher(name);
|
||||
return matcher.matches();
|
||||
}
|
||||
}
|
@ -3,18 +3,21 @@ package fenetres;
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Color;
|
||||
import java.awt.Font;
|
||||
import java.awt.GridLayout;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.MouseAdapter;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.awt.event.MouseListener;
|
||||
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JScrollPane;
|
||||
import javax.swing.JTable;
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.ListSelectionModel;
|
||||
import javax.swing.SwingConstants;
|
||||
import javax.swing.event.ListSelectionEvent;
|
||||
@ -22,13 +25,16 @@ import javax.swing.event.ListSelectionListener;
|
||||
import javax.swing.table.TableColumnModel;
|
||||
|
||||
import MEPTL.commandes;
|
||||
import baseListesEtudiants.EmailValidator;
|
||||
import baseListesEtudiants.chargeListeEtudiants;
|
||||
import baseListesEtudiants.idValidator;
|
||||
import baseListesEtudiants.myTableBaseListesEtudiants;
|
||||
import baseListesEtudiants.myTableStudent;
|
||||
import baseListesEtudiants.nameStudentValidator;
|
||||
import cXML.node;
|
||||
import net.miginfocom.swing.MigLayout;
|
||||
|
||||
|
||||
|
||||
public class baseDonneesListesEtudiants extends JFrame{
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
@ -41,11 +47,13 @@ public class baseDonneesListesEtudiants extends JFrame{
|
||||
private final JButton btnFermer = new JButton("<html><p>Femer</p></html>");
|
||||
private JButton btnAddListeEtudiants = new JButton();
|
||||
private JButton btnRemoveListe = new JButton("<html><p>Supprimer une liste</p></html>");
|
||||
private JButton btnPasDeListe = new JButton();
|
||||
private JButton btnAddNewStudent = new JButton("<html><p>Ajouter un nouvel étudiant</p></html>");
|
||||
static JLabel lblNomListe = new JLabel("Pas de liste sélectionnée.");
|
||||
JScrollPane scrollPaneTable = new JScrollPane();
|
||||
JScrollPane scrollPaneBoutons = new JScrollPane();
|
||||
private static int indexSelect=-1;
|
||||
ListSelectionModel lsm = null;
|
||||
static ListSelectionModel lsm = null;
|
||||
static ListSelectionModel rowSMTable = null;
|
||||
|
||||
public baseDonneesListesEtudiants() {
|
||||
@ -98,6 +106,19 @@ public class baseDonneesListesEtudiants extends JFrame{
|
||||
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
|
||||
rowSMTable = table.getSelectionModel();
|
||||
|
||||
// Ajout du label d'instruction
|
||||
JPanel panelCentre = new JPanel();
|
||||
panelCentre.setLayout(new BorderLayout());
|
||||
|
||||
JLabel lblInstruction = new JLabel("<html>Cliquez sur une ligne de la table ci-dessous<br>pour sélectionner une liste d'étudiants.</html>");
|
||||
lblInstruction.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
lblInstruction.setFont(new Font("Tahoma", Font.BOLD, 14));
|
||||
panelCentre.add(lblInstruction, BorderLayout.NORTH);
|
||||
JScrollPane scrollPaneDroite = new JScrollPane(table);
|
||||
panelCentre.add(scrollPaneDroite, BorderLayout.CENTER);
|
||||
|
||||
getContentPane().add(panelCentre, BorderLayout.EAST);
|
||||
|
||||
lblNomListe = new JLabel("Pas de liste sélectionnée.");
|
||||
lblNomListe.setBackground(Color.GREEN);
|
||||
lblNomListe.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
@ -115,16 +136,30 @@ public class baseDonneesListesEtudiants extends JFrame{
|
||||
btnAddListeEtudiants.setText("<html><p>Ajouter une liste ou des étudiants<br>à une liste depuis un fichier CSV</p></html>");
|
||||
btnAddListeEtudiants.setIcon(new ImageIcon(baseDonneesEvaluations.class.getResource("/resources/addStudentbaselisteetudiant.png")));
|
||||
panelGauche.add(btnAddListeEtudiants, "cell 0 1");
|
||||
|
||||
|
||||
btnPasDeListe.setFont(new Font("Tahoma", Font.BOLD, 13));
|
||||
btnPasDeListe.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
btnPasDeListe = new JButton("<html>Ne pas sélectionner de liste</html>");
|
||||
btnPasDeListe.setFont(new Font("Tahoma", Font.BOLD, 13));
|
||||
btnPasDeListe.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
btnPasDeListe.setIcon(new ImageIcon(baseDonneesEvaluations.class.getResource("/resources/nolistestudent.png")));
|
||||
panelGauche.add(btnPasDeListe, "cell 0 2");
|
||||
|
||||
btnAddNewStudent.setFont(new Font("Tahoma", Font.BOLD, 13));
|
||||
btnAddNewStudent.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
btnAddNewStudent.setIcon(new ImageIcon(baseDonneesEvaluations.class.getResource("/resources/addnewstudent.png")));
|
||||
panelGauche.add(btnAddNewStudent, "cell 0 3");
|
||||
|
||||
btnRemoveListe.setFont(new Font("Tahoma", Font.BOLD, 13));
|
||||
btnRemoveListe.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
btnRemoveListe.setIcon(new ImageIcon(baseDonneesEvaluations.class.getResource("/resources/removeListe.png")));
|
||||
panelGauche.add(btnRemoveListe, "cell 0 3");
|
||||
panelGauche.add(btnRemoveListe, "cell 0 5");
|
||||
|
||||
btnFermer.setIcon(new ImageIcon(baseDonneesEvaluations.class.getResource("/resources/quitteliste.png")));
|
||||
btnFermer.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
btnFermer.setFont(new Font("Tahoma", Font.BOLD, 15));
|
||||
panelGauche.add(btnFermer, "cell 0 5,growx,aligny top");
|
||||
panelGauche.add(btnFermer, "cell 0 6,growx,aligny top");
|
||||
|
||||
|
||||
modelStudent.addOrUpdate();
|
||||
@ -143,14 +178,14 @@ public class baseDonneesListesEtudiants extends JFrame{
|
||||
columnModelStudent.getColumn(3).setMaxWidth(maxWidthColumn2);
|
||||
|
||||
tableStudent.setFont(new Font("Tahoma", Font.PLAIN, 14));
|
||||
JScrollPane scrollPaneDroite = new JScrollPane(table);
|
||||
getContentPane().add(scrollPaneDroite, BorderLayout.EAST);
|
||||
|
||||
|
||||
scrollPaneTable = new JScrollPane(tableStudent);
|
||||
getContentPane().add(scrollPaneTable, BorderLayout.CENTER);
|
||||
|
||||
|
||||
ListenerAction();
|
||||
ListenerTables();
|
||||
|
||||
}
|
||||
|
||||
@ -168,10 +203,11 @@ public class baseDonneesListesEtudiants extends JFrame{
|
||||
instance = new baseDonneesListesEtudiants();
|
||||
}else {
|
||||
model.addOrUpdate();
|
||||
table = new JTable(model);
|
||||
table.setModel(model);
|
||||
rowSMTable = table.getSelectionModel();
|
||||
modelStudent.addOrUpdate();
|
||||
tableStudent = new JTable(modelStudent);
|
||||
tableStudent.setModel(modelStudent);
|
||||
|
||||
if(commandes.nodeCSV!=null) if(!commandes.nodeCSV.isVide()) {
|
||||
if(commandes.nodeCSV.getAttributs().get("nameListStudent")!=null) {
|
||||
lblNomListe.setText("Liste : " +commandes.nodeCSV.getAttributs().get("nameListStudent"));
|
||||
@ -223,12 +259,113 @@ public class baseDonneesListesEtudiants extends JFrame{
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
CustomInputDialogListeEtudiant.showCustomDialogInputStudentBase();
|
||||
model.addOrUpdate();
|
||||
table = new JTable(model);
|
||||
table.setModel(model);
|
||||
}
|
||||
});
|
||||
|
||||
btnPasDeListe.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
commandes.nodeCSV = null;
|
||||
lblNomListe.setText("Pas de liste sélectionnée.");
|
||||
}
|
||||
});
|
||||
|
||||
rowSMTable.addListSelectionListener(new ListSelectionListener() {
|
||||
btnAddNewStudent.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
// Créer des champs pour entrer les informations de l'étudiant
|
||||
JTextField idField = new JTextField();
|
||||
JTextField nameField = new JTextField();
|
||||
JTextField prenomField = new JTextField();
|
||||
JTextField courrielField = new JTextField();
|
||||
|
||||
// Créer un panneau pour les champs
|
||||
JPanel panel = new JPanel(new GridLayout(0, 1));
|
||||
panel.add(new JLabel("Nom :"));
|
||||
panel.add(nameField);
|
||||
panel.add(new JLabel("Prenom :"));
|
||||
panel.add(prenomField);
|
||||
panel.add(new JLabel("ID :"));
|
||||
panel.add(idField);
|
||||
panel.add(new JLabel("Courriel :"));
|
||||
panel.add(courrielField);
|
||||
|
||||
// Afficher la boîte de dialogue
|
||||
int result = JOptionPane.showConfirmDialog(null, panel, "Ajouter un étudiant", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
|
||||
|
||||
if (result == JOptionPane.OK_OPTION) {
|
||||
try {
|
||||
String name = nameField.getText();
|
||||
String prenom = prenomField.getText();
|
||||
String id = idField.getText();
|
||||
String courriel = courrielField.getText();
|
||||
|
||||
if(!EmailValidator.isValidEmail(courriel)) {
|
||||
JOptionPane.showMessageDialog(null, "Le courriel n'est pas correct.", "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
return;
|
||||
}
|
||||
if(!idValidator.isValidId(id)) {
|
||||
JOptionPane.showMessageDialog(null, "L'ID n'est pas correct.", "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
return;
|
||||
}
|
||||
if(!nameStudentValidator.isValidName(name)) {
|
||||
JOptionPane.showMessageDialog(null, "Le nom n'est pas correct.", "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
return;
|
||||
}
|
||||
if(!nameStudentValidator.isValidName(prenom)) {
|
||||
JOptionPane.showMessageDialog(null, "Le prenom n'est pas correct.", "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
return;
|
||||
}
|
||||
|
||||
String champNom = "name";
|
||||
String champPrenom = "firstname";
|
||||
String champId = "identification";
|
||||
String champEmail = "adresse";
|
||||
|
||||
boolean erreur = false;
|
||||
|
||||
if(commandes.nodeCSV!=null) {
|
||||
if(commandes.nodeCSV.getAttributs().get("id")!=null) champId = commandes.nodeCSV.getAttributs().get("id");
|
||||
if(commandes.nodeCSV.getAttributs().get("email")!=null) champEmail = commandes.nodeCSV.getAttributs().get("email");
|
||||
if(commandes.nodeCSV.getAttributs().get("name")!=null) champNom = commandes.nodeCSV.getAttributs().get("name");
|
||||
if(commandes.nodeCSV.getAttributs().get("firstname")!=null) champPrenom = commandes.nodeCSV.getAttributs().get("firstname");
|
||||
if(commandes.nodeCSV.retourneFirstNodeByNameAndAttributValueExactStrict("student", champId, id)!=null) erreur=true;
|
||||
if(commandes.nodeCSV.retourneFirstNodeByNameAndAttributValueExactStrict("student", champEmail, courriel)!=null) erreur=true;
|
||||
}
|
||||
|
||||
// Ajouter l'étudiant au modèle de la table
|
||||
if(!erreur) {
|
||||
node nouvelEtudiant = new node();
|
||||
nouvelEtudiant.setNomElt("student");
|
||||
nouvelEtudiant.getAttributs().put(champNom,name);
|
||||
nouvelEtudiant.getAttributs().put(champPrenom,prenom);
|
||||
nouvelEtudiant.getAttributs().put(champId,id);
|
||||
nouvelEtudiant.getAttributs().put(champEmail,courriel);
|
||||
((myTableStudent) tableStudent.getModel()).addStudent(nouvelEtudiant);
|
||||
baseDonneesListesEtudiants.getInstance(indexSelect);
|
||||
}else {
|
||||
JOptionPane.showMessageDialog(null, "<html>Impossible d'ajouter cet étudiant car l'ID et/ou le courriel"
|
||||
+ "<br>sont déjà présents.", "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
|
||||
|
||||
} catch (NumberFormatException ex) {
|
||||
JOptionPane.showMessageDialog(null, "Veuillez entrer des informations valides", "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void ListenerTables() {
|
||||
|
||||
rowSMTable.addListSelectionListener(new ListSelectionListener() {
|
||||
@Override
|
||||
public void valueChanged(ListSelectionEvent e) {
|
||||
//Ignore extra messages.
|
||||
@ -243,7 +380,44 @@ public class baseDonneesListesEtudiants extends JFrame{
|
||||
}
|
||||
});
|
||||
|
||||
table.addMouseListener(new MouseListener() {
|
||||
|
||||
|
||||
tableStudent.addMouseListener(new MouseAdapter() {
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
if (e.getClickCount() == 2 && e.getButton() == MouseEvent.BUTTON1) {
|
||||
int row = tableStudent.getSelectedRow();
|
||||
if (row != -1) {
|
||||
// Récupérer les données de la ligne sélectionnée
|
||||
int columnCount = tableStudent.getColumnCount();
|
||||
StringBuilder rowData = new StringBuilder();
|
||||
for (int column = 0; column < columnCount; column++) {
|
||||
rowData.append(tableStudent.getColumnName(column)).append(": ")
|
||||
.append(tableStudent.getValueAt(row, column)).append("\n");
|
||||
}
|
||||
|
||||
// Afficher les données dans une boîte de dialogue et demander la confirmation pour suppression
|
||||
int response = JOptionPane.showConfirmDialog(
|
||||
null,
|
||||
rowData.toString() + "\nVoulez-vous supprimer cet étudiant?",
|
||||
"Détails de l'étudiant",
|
||||
JOptionPane.YES_NO_OPTION,
|
||||
JOptionPane.INFORMATION_MESSAGE
|
||||
);
|
||||
|
||||
// Supprimer l'étudiant si l'utilisateur a confirmé
|
||||
if (response == JOptionPane.YES_OPTION) {
|
||||
((myTableStudent) tableStudent.getModel()).removeRow(row);
|
||||
baseDonneesListesEtudiants.getInstance(indexSelect);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
table.addMouseListener(new MouseAdapter() {
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
if (e.getClickCount() >0) {
|
||||
@ -257,33 +431,6 @@ public class baseDonneesListesEtudiants extends JFrame{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mousePressed(MouseEvent e) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseReleased(MouseEvent e) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseEntered(MouseEvent e) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseExited(MouseEvent e) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -6,8 +6,8 @@ import java.awt.FlowLayout;
|
||||
import java.awt.Font;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.MouseAdapter;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.awt.event.MouseListener;
|
||||
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.JButton;
|
||||
@ -43,78 +43,78 @@ public class chargeBaseAuDemarrage extends JFrame {
|
||||
private final JPanel panelDroite = new JPanel();
|
||||
private final JLabel label = new JLabel(commandes.PathBaseEvaluations);
|
||||
|
||||
public chargeBaseAuDemarrage() {
|
||||
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||
public chargeBaseAuDemarrage() {
|
||||
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||
|
||||
setBounds(100, 100, 1200, 600);
|
||||
int screenWidth = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getWidth();
|
||||
int screenHeight = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getHeight();
|
||||
setLocation(( (screenWidth) - getWidth()) / 2, (screenHeight - getHeight()) / 2);
|
||||
|
||||
ImageIcon img = new ImageIcon(getClass().getResource("/evalwriter.png") );
|
||||
setIconImage(img.getImage());
|
||||
setTitle(commandes.Titre + " - La base de données des évaluations");
|
||||
|
||||
getContentPane().setLayout(new BorderLayout(2, 2));
|
||||
|
||||
|
||||
setBounds(100, 100, 1200, 600);
|
||||
int screenWidth = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getWidth();
|
||||
int screenHeight = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getHeight();
|
||||
setLocation(( (screenWidth) - getWidth()) / 2, (screenHeight - getHeight()) / 2);
|
||||
|
||||
ImageIcon img = new ImageIcon(getClass().getResource("/evalwriter.png") );
|
||||
setIconImage(img.getImage());
|
||||
setTitle(commandes.Titre + " - La base de données des évaluations");
|
||||
|
||||
getContentPane().setLayout(new BorderLayout(2, 2));
|
||||
|
||||
|
||||
|
||||
model.addOrUpdate();
|
||||
table = new JTable(model);
|
||||
scrollPane = new JScrollPane(table);
|
||||
|
||||
//Add the scroll pane to this panel.
|
||||
getContentPane().add(scrollPane,BorderLayout.CENTER);
|
||||
panelBas.setLayout(new MigLayout("", "[394px][394px][]", "[53px]"));
|
||||
|
||||
panelBas.add(label, "flowy,cell 0 0,grow");
|
||||
|
||||
|
||||
getContentPane().add(panelBas, BorderLayout.SOUTH);
|
||||
btnCheminVersBaseDonnees.setForeground(new Color(0, 128, 192));
|
||||
btnCheminVersBaseDonnees.setFont(new Font("Tahoma", Font.BOLD, 16));
|
||||
btnCheminVersBaseDonnees.setIcon(new ImageIcon(chargeBaseAuDemarrage.class.getResource("/resources/sauvegardehistoriqueevaluation.png")));
|
||||
btnCheminVersBaseDonnees.setSelectedIcon(new ImageIcon(chargeBaseAuDemarrage.class.getResource("/resources/sauvegardehistoriqueevaluation.png")));
|
||||
panelBas.add(btnCheminVersBaseDonnees, "cell 2 0,alignx right,growy");
|
||||
lblInformationBaseEvluation.setIcon(new ImageIcon(chargeBaseAuDemarrage.class.getResource("/resources/accueilChargeEvaluation.png")));
|
||||
model.addOrUpdate();
|
||||
table = new JTable(model);
|
||||
scrollPane = new JScrollPane(table);
|
||||
|
||||
//*Le haut
|
||||
lblInformationBaseEvluation.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
getContentPane().add(panelHaut, BorderLayout.NORTH);
|
||||
lblInformationBaseEvluation.setFont(new Font("Tahoma", Font.BOLD, 16));
|
||||
panelHaut.add(lblInformationBaseEvluation);
|
||||
//Add the scroll pane to this panel.
|
||||
getContentPane().add(scrollPane,BorderLayout.CENTER);
|
||||
panelBas.setLayout(new MigLayout("", "[394px][394px][]", "[53px]"));
|
||||
|
||||
panelBas.add(label, "flowy,cell 0 0,grow");
|
||||
|
||||
|
||||
//*Détection de la ligne sélectionnée
|
||||
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
|
||||
FlowLayout flowLayout_1 = (FlowLayout) panelGauche.getLayout();
|
||||
flowLayout_1.setHgap(10);
|
||||
|
||||
getContentPane().add(panelGauche, BorderLayout.WEST);
|
||||
FlowLayout flowLayout = (FlowLayout) panelDroite.getLayout();
|
||||
flowLayout.setHgap(10);
|
||||
|
||||
getContentPane().add(panelDroite, BorderLayout.EAST);
|
||||
ListSelectionModel rowSM = table.getSelectionModel();
|
||||
rowSM.addListSelectionListener(new ListSelectionListener() {
|
||||
@Override
|
||||
public void valueChanged(ListSelectionEvent e) {
|
||||
//Ignore extra messages.
|
||||
if (e.getValueIsAdjusting()) return;
|
||||
lsm = (ListSelectionModel)e.getSource();
|
||||
if (lsm.isSelectionEmpty()) {
|
||||
System.out.println("No rows are selected.");
|
||||
} else {
|
||||
indexSelect = lsm.getMinSelectionIndex();
|
||||
System.out.println("Row " + indexSelect + " is now selected.");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
ListenerAction();
|
||||
setVisible(true);
|
||||
|
||||
}
|
||||
|
||||
getContentPane().add(panelBas, BorderLayout.SOUTH);
|
||||
btnCheminVersBaseDonnees.setForeground(new Color(0, 128, 192));
|
||||
btnCheminVersBaseDonnees.setFont(new Font("Tahoma", Font.BOLD, 16));
|
||||
btnCheminVersBaseDonnees.setIcon(new ImageIcon(chargeBaseAuDemarrage.class.getResource("/resources/sauvegardehistoriqueevaluation.png")));
|
||||
btnCheminVersBaseDonnees.setSelectedIcon(new ImageIcon(chargeBaseAuDemarrage.class.getResource("/resources/sauvegardehistoriqueevaluation.png")));
|
||||
panelBas.add(btnCheminVersBaseDonnees, "cell 2 0,alignx right,growy");
|
||||
lblInformationBaseEvluation.setIcon(new ImageIcon(chargeBaseAuDemarrage.class.getResource("/resources/accueilChargeEvaluation.png")));
|
||||
|
||||
//*Le haut
|
||||
lblInformationBaseEvluation.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
getContentPane().add(panelHaut, BorderLayout.NORTH);
|
||||
lblInformationBaseEvluation.setFont(new Font("Tahoma", Font.BOLD, 16));
|
||||
panelHaut.add(lblInformationBaseEvluation);
|
||||
|
||||
|
||||
//*Détection de la ligne sélectionnée
|
||||
table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
|
||||
FlowLayout flowLayout_1 = (FlowLayout) panelGauche.getLayout();
|
||||
flowLayout_1.setHgap(10);
|
||||
|
||||
getContentPane().add(panelGauche, BorderLayout.WEST);
|
||||
FlowLayout flowLayout = (FlowLayout) panelDroite.getLayout();
|
||||
flowLayout.setHgap(10);
|
||||
|
||||
getContentPane().add(panelDroite, BorderLayout.EAST);
|
||||
ListSelectionModel rowSM = table.getSelectionModel();
|
||||
rowSM.addListSelectionListener(new ListSelectionListener() {
|
||||
@Override
|
||||
public void valueChanged(ListSelectionEvent e) {
|
||||
//Ignore extra messages.
|
||||
if (e.getValueIsAdjusting()) return;
|
||||
lsm = (ListSelectionModel)e.getSource();
|
||||
if (lsm.isSelectionEmpty()) {
|
||||
System.out.println("No rows are selected.");
|
||||
} else {
|
||||
indexSelect = lsm.getMinSelectionIndex();
|
||||
System.out.println("Row " + indexSelect + " is now selected.");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
ListenerAction();
|
||||
setVisible(true);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -135,7 +135,7 @@ private void ListenerAction() {
|
||||
/**
|
||||
* Chargement d'une évaluation par double click.
|
||||
*/
|
||||
table.addMouseListener( new MouseListener() {
|
||||
table.addMouseListener(new MouseAdapter() {
|
||||
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
@ -154,23 +154,6 @@ private void ListenerAction() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mousePressed(MouseEvent e) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseReleased(MouseEvent e) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseEntered(MouseEvent e) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mouseExited(MouseEvent e) {
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
@ -22,10 +22,12 @@ import javax.swing.JMenuBar;
|
||||
import javax.swing.JMenuItem;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JScrollBar;
|
||||
import javax.swing.JScrollPane;
|
||||
import javax.swing.JToolBar;
|
||||
import javax.swing.KeyStroke;
|
||||
import javax.swing.SwingConstants;
|
||||
import javax.swing.SwingUtilities;
|
||||
import javax.swing.UIManager;
|
||||
import javax.swing.UnsupportedLookAndFeelException;
|
||||
import javax.swing.border.EmptyBorder;
|
||||
@ -44,7 +46,6 @@ import action.actOpenBaseListesEtudiants;
|
||||
import action.actSaveEvaluation;
|
||||
import action.actTutoriels;
|
||||
import cXML.Run;
|
||||
import cXML.node;
|
||||
import evaluer.evaluerLesFichiersEtudiants;
|
||||
import net.miginfocom.swing.MigLayout;
|
||||
|
||||
@ -68,7 +69,7 @@ public class evaluate extends JFrame {
|
||||
private JPanel contentPane;
|
||||
private static JLabel lblPath;
|
||||
private static JLabel lblFileAnalyse;
|
||||
private static JLabel lblChargementFichierCSV;
|
||||
private static JLabel lblListe;
|
||||
private static JLabel lblImageDossierEtudiant;
|
||||
private static JLabel lblNoFeedBack;
|
||||
private static JLabel lblNoDeatail;
|
||||
@ -85,6 +86,8 @@ public class evaluate extends JFrame {
|
||||
private static JCheckBox chckbxVerif;
|
||||
private static JCheckBox chckbxNoDetail;
|
||||
private static JCheckBox chckPasDeProgression ;
|
||||
private static JScrollPane scrollPane = new JScrollPane();
|
||||
private static JScrollBar verticalScrollBar = scrollPane.getVerticalScrollBar();
|
||||
private static afficheText txtpnmessages;
|
||||
private JButton btnChargeEvaluation = new JButton();
|
||||
private JButton btnSaveEvaluation = new JButton();
|
||||
@ -146,7 +149,7 @@ public class evaluate extends JFrame {
|
||||
|
||||
JPanel panelBoutons = new JPanel();
|
||||
panelWestBase.add(panelBoutons, BorderLayout.WEST);
|
||||
panelBoutons.setLayout(new MigLayout("", "[24px][260px]", "[][][][][][][][][][][][][][][]"));
|
||||
panelBoutons.setLayout(new MigLayout("", "[24px][260px]", "[][][][][][][][][][][][][][][][]"));
|
||||
|
||||
|
||||
JLabel lblIconAccueilEvaluation = new JLabel("");
|
||||
@ -171,15 +174,28 @@ public class evaluate extends JFrame {
|
||||
lblPath.setFont(new Font("Tahoma", Font.PLAIN, 14));
|
||||
lblPath.setText("<HTML><B><U>Dossier de l'évaluation</U></B> : </HTML>");
|
||||
|
||||
// panelWestBaseNord.add("");
|
||||
|
||||
chckbxfichiersEtudiants = new JCheckBox("<html>Les fichiers des étudiants<b><br>ne sont pas</b> dans des dossiers nominatifs</html>");
|
||||
chckbxfichiersEtudiants.setToolTipText("Cochez si les fichiers ne sont pas dans des dossiers nominatifs.");
|
||||
|
||||
JLabel lblListeStudent = new JLabel(new ImageIcon(getClass().getResource("/resources/listestudent.png")));
|
||||
panelBoutons.add(lblListeStudent, "cell 0 0");
|
||||
|
||||
|
||||
lblListe = new JLabel("<html><b>Liste ???</b></html>");
|
||||
lblListe.setToolTipText("Le nom de la liste d'étudiant chargé en memoire.");
|
||||
lblListe.setForeground(Color.BLUE);
|
||||
lblListe.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
lblListe.setFont(new Font("Tahoma", Font.PLAIN, 16));
|
||||
lblListe.setOpaque(true);
|
||||
panelBoutons.add(lblListe, "cell 1 0,alignx left,aligny center");
|
||||
|
||||
|
||||
lblImageDossierEtudiant = new JLabel(new ImageIcon(getClass().getResource("/resources/dossieretudiant.png")));
|
||||
panelBoutons.add(lblImageDossierEtudiant, "flowx,cell 0 1,alignx left,aligny center");
|
||||
panelBoutons.add(lblImageDossierEtudiant, "flowx,cell 0 2,alignx left,aligny center");
|
||||
chckbxfichiersEtudiants.setFont(new Font("Tahoma", Font.PLAIN, 12));
|
||||
chckbxfichiersEtudiants.setToolTipText("Cochez si les fichiers des étudiants ne sont pas dans des dossier nominatifs");
|
||||
panelBoutons.add(chckbxfichiersEtudiants, "cell 1 1,growx,aligny center");
|
||||
panelBoutons.add(chckbxfichiersEtudiants, "cell 1 2,growx,aligny center");
|
||||
chckbxfichiersEtudiants.setSelected(commandes.fichierStudentMoodle);
|
||||
if(commandes.fichierStudentMoodle) {
|
||||
chckbxfichiersEtudiants.setToolTipText("Décochez si les fichiers sont dans des dossiers nominatifs.");
|
||||
@ -207,14 +223,11 @@ public class evaluate extends JFrame {
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
chckPasDeProgression = new JCheckBox("<html><p><b>Afficher</b> le coefficient de<br>progression dans les feedbacks.</p></html>");
|
||||
chckPasDeProgression.setToolTipText("Cochez si vous ne voulez pas afficher le coef. de profression dans les feeedbacks.");
|
||||
JLabel lblafficheprogression = new JLabel((new ImageIcon(create.class.getResource("/resources/afficheprogression.png"))));
|
||||
panelBoutons.add(lblafficheprogression, "cell 0 0");
|
||||
panelBoutons.add(lblafficheprogression, "cell 0 1");
|
||||
if(commandes.noAfficheProgression) {
|
||||
chckPasDeProgression.setToolTipText("Décochez si vous voulez afficher le coef. de profression dans les feeedbacks.");
|
||||
chckPasDeProgression.setText("<html><p><b>Ne pas afficher</b> le coefficient de<br>progression dans les feedbacks.</p></html>");
|
||||
@ -225,7 +238,7 @@ public class evaluate extends JFrame {
|
||||
lblafficheprogression.setIcon(new ImageIcon(create.class.getResource("/resources/afficheprogression.png")));
|
||||
}
|
||||
chckPasDeProgression.setFont(new Font("Tahoma", Font.PLAIN, 12));
|
||||
panelBoutons.add(chckPasDeProgression, "cell 1 0,alignx left,aligny center");
|
||||
panelBoutons.add(chckPasDeProgression, "cell 1 1,alignx left,aligny center");
|
||||
chckPasDeProgression.setSelected(commandes.noAfficheProgression);
|
||||
chckPasDeProgression.addChangeListener(new ChangeListener() {
|
||||
public void stateChanged(ChangeEvent e) {
|
||||
@ -248,10 +261,10 @@ public class evaluate extends JFrame {
|
||||
chckbxnoFeedback = new JCheckBox("<html><b>Générer</b> des feedbacks<br>pour chaque étudiant.</html>");
|
||||
chckbxnoFeedback.setToolTipText("Cochez si vous ne voulez pas générer des feedbacks.");
|
||||
chckbxnoFeedback.setFont(new Font("Tahoma", Font.PLAIN, 12));
|
||||
panelBoutons.add(chckbxnoFeedback, "cell 1 2,growx,aligny top");
|
||||
panelBoutons.add(chckbxnoFeedback, "cell 1 3,growx,aligny top");
|
||||
chckbxnoFeedback.setSelected(commandes.sansFeeback);
|
||||
lblNoFeedBack = new JLabel(new ImageIcon(getClass().getResource("/resources/feedbackstudent.png")));
|
||||
panelBoutons.add(lblNoFeedBack, "cell 0 2");
|
||||
panelBoutons.add(lblNoFeedBack, "cell 0 3");
|
||||
if(commandes.sansFeeback) {
|
||||
chckbxnoFeedback.setToolTipText("Décochez si vous voulez générer des feedbacks.");
|
||||
chckbxnoFeedback.setText("<html><b>Ne pas générer</b> des feedbacks<br>pour chaque étudiant.</html>");
|
||||
@ -283,10 +296,10 @@ public class evaluate extends JFrame {
|
||||
lblNoDeatail = new JLabel(new ImageIcon(getClass().getResource("/resources/detailfeedback.png")));
|
||||
chckbxNoDetail = new JCheckBox("<html><b>Afficher</b> les détails des erreurs<br>dans les feedbacks.</html>");
|
||||
chckbxNoDetail.setFont(new Font("Tahoma", Font.PLAIN, 12));
|
||||
panelBoutons.add(chckbxNoDetail, "cell 1 3,growx,aligny top");
|
||||
panelBoutons.add(chckbxNoDetail, "cell 1 4,growx,aligny top");
|
||||
chckbxNoDetail.setSelected(commandes.noDetail);
|
||||
chckbxNoDetail.setToolTipText("Cochez si vous ne voulez pas afficher les détails de l'évaluation dans les feedbacks.");
|
||||
panelBoutons.add(lblNoDeatail, "cell 0 3");
|
||||
panelBoutons.add(lblNoDeatail, "cell 0 4");
|
||||
if(commandes.noDetail) {
|
||||
chckbxNoDetail.setToolTipText("Décochez si vous voulez afficher les détails de l'évaluation dans les feedbacks.");
|
||||
chckbxNoDetail.setText("<html><b>Ne pas afficher</b> les détails des erreurs<br>dans les feedbacks.</html>");
|
||||
@ -321,8 +334,8 @@ public class evaluate extends JFrame {
|
||||
chckbxNoNote.setFont(new Font("Tahoma", Font.PLAIN, 12));
|
||||
chckbxNoNote.setSelected(commandes.noNote);
|
||||
lblnonote = new JLabel(new ImageIcon(evaluate.class.getResource("/resources/notestudent.png")));
|
||||
panelBoutons.add(lblnonote, "cell 0 4");
|
||||
panelBoutons.add(chckbxNoNote, "cell 1 4,grow");
|
||||
panelBoutons.add(lblnonote, "cell 0 5");
|
||||
panelBoutons.add(chckbxNoNote, "cell 1 5,grow");
|
||||
if(commandes.noNote) {
|
||||
chckbxNoNote.setToolTipText("Décochez si vous voulez faire apparaître les notes dans les feedbacks.");
|
||||
chckbxNoNote.setText("\"<html><b>Ne pas Afficher</b> les notes dans les feedbacks.</html>\"");
|
||||
@ -356,8 +369,8 @@ public class evaluate extends JFrame {
|
||||
chckbxZipfeedback.setToolTipText("Cochez si vous voulez placer les feedbacks dans une archive ZIP");
|
||||
chckbxZipfeedback.setFont(new Font("Tahoma", Font.PLAIN, 12));
|
||||
lblnozip = new JLabel(new ImageIcon(evaluate.class.getResource("/resources/zipstudent.png")));
|
||||
panelBoutons.add(lblnozip, "cell 0 5");
|
||||
panelBoutons.add(chckbxZipfeedback, "cell 1 5,grow");
|
||||
panelBoutons.add(lblnozip, "cell 0 6");
|
||||
panelBoutons.add(chckbxZipfeedback, "cell 1 6,grow");
|
||||
chckbxZipfeedback.setSelected(commandes.zipfeedback);
|
||||
if(commandes.zipfeedback) {
|
||||
chckbxZipfeedback.setToolTipText("Décochez si vous ne voulez pas placer les feedbacks dans une archive ZIP");
|
||||
@ -388,9 +401,9 @@ public class evaluate extends JFrame {
|
||||
|
||||
chckbxVerif = new JCheckBox("<html><b>Ne pas vérifier</b> les historiques avant<br>l'évaluation des fichiers.</html>");
|
||||
lblVerifHistorique = new JLabel(new ImageIcon(evaluate.class.getResource("/resources/noverifhistoriquestudent.png")));
|
||||
panelBoutons.add(lblVerifHistorique, "cell 0 6");
|
||||
panelBoutons.add(lblVerifHistorique, "cell 0 7");
|
||||
chckbxVerif.setFont(new Font("Tahoma", Font.PLAIN, 12));
|
||||
panelBoutons.add(chckbxVerif, "flowy,cell 1 6,growx,aligny top");
|
||||
panelBoutons.add(chckbxVerif, "flowy,cell 1 7,growx,aligny top");
|
||||
chckbxVerif.setSelected(commandes.verifHisto2);
|
||||
if(commandes.verifHisto2) {
|
||||
chckbxVerif.setToolTipText("Décochez si vous voulez ne pas vérifier l'historique des modifications.");
|
||||
@ -419,25 +432,12 @@ public class evaluate extends JFrame {
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
lblChargementFichierCSV = new JLabel("<html>Pas de liste des étudiants</html>");
|
||||
panelBoutons.add(lblChargementFichierCSV, "cell 1 7,alignx left,aligny center");
|
||||
|
||||
lblCsvNote = new JLabel(new ImageIcon(evaluate.class.getResource("/resources/nocsvstudent.png")));
|
||||
panelBoutons.add(lblCsvNote, "cell 0 9");
|
||||
panelBoutons.add(lblCsvNote, "cell 0 8");
|
||||
chckCSVNotes = new JCheckBox("<html><b>Ne pas créer</b> un fichier CSV<br>des notes.</html>");
|
||||
chckCSVNotes.setToolTipText("Cochez si vous voulez importer les notes dans un fichier CSV.");
|
||||
panelBoutons.add(chckCSVNotes, "flowx,cell 1 9,grow");
|
||||
panelBoutons.add(chckCSVNotes, "flowx,cell 1 8,grow");
|
||||
chckCSVNotes.setSelected(commandes.ecritNoteCSV);
|
||||
if(commandes.ecritNoteCSV) {
|
||||
chckCSVNotes.setToolTipText("Décochez si vous voulez ne pas importer les notes dans un fichier CSV.");
|
||||
lblCsvNote.setIcon(new ImageIcon(evaluate.class.getResource("/resources/csvstudent.png")));
|
||||
chckCSVNotes.setText("<html><b>Ne pas créer</b> un fichier CSV<br>des notes.</html>");
|
||||
}else {
|
||||
lblCsvNote.setIcon(new ImageIcon(evaluate.class.getResource("/resources/nocsvstudent.png")));
|
||||
chckCSVNotes.setToolTipText("Cochez si vous voulez importer les notes dans un fichier CSV.");
|
||||
chckCSVNotes.setText("<html><b>Créer</b> un fichier CSV<br>des notes.</html>");
|
||||
}
|
||||
chckCSVNotes.addChangeListener(new ChangeListener() {
|
||||
public void stateChanged(ChangeEvent e) {
|
||||
if(chckCSVNotes.isSelected()) {
|
||||
@ -455,6 +455,15 @@ public class evaluate extends JFrame {
|
||||
}
|
||||
}
|
||||
});
|
||||
if(commandes.ecritNoteCSV) {
|
||||
chckCSVNotes.setToolTipText("Décochez si vous voulez ne pas importer les notes dans un fichier CSV.");
|
||||
lblCsvNote.setIcon(new ImageIcon(evaluate.class.getResource("/resources/csvstudent.png")));
|
||||
chckCSVNotes.setText("<html><b>Ne pas créer</b> un fichier CSV<br>des notes.</html>");
|
||||
}else {
|
||||
lblCsvNote.setIcon(new ImageIcon(evaluate.class.getResource("/resources/nocsvstudent.png")));
|
||||
chckCSVNotes.setToolTipText("Cochez si vous voulez importer les notes dans un fichier CSV.");
|
||||
chckCSVNotes.setText("<html><b>Créer</b> un fichier CSV<br>des notes.</html>");
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -462,7 +471,6 @@ public class evaluate extends JFrame {
|
||||
contentPane.add(panelCentre, BorderLayout.CENTER);
|
||||
panelCentre.setLayout(new BorderLayout(0, 0));
|
||||
|
||||
JScrollPane scrollPane = new JScrollPane();
|
||||
panelCentre.add(scrollPane);
|
||||
|
||||
|
||||
@ -475,18 +483,20 @@ public class evaluate extends JFrame {
|
||||
scrollPane.setViewportView(txtpnmessages);
|
||||
|
||||
|
||||
if(commandes.fourniCSV) {
|
||||
lblChargementFichierCSV.setBackground(new Color(40,180,40));
|
||||
if(commandes.nodeCSV!=null) {
|
||||
if(commandes.nodeCSV.getAttributs().get("nameListStudent")==null) {
|
||||
commandes.nodeCSV.getAttributs().put("nameListStudent","?");
|
||||
commandes.nodeCSV.getAttributs().put("year", "?");
|
||||
lblListe.setText("<html><b>Liste ???</b></html>");
|
||||
}else {
|
||||
lblListe.setText("<html><b>"+commandes.nodeCSV.getAttributs().get("nameListStudent")+"</b></html>");
|
||||
}
|
||||
lblChargementFichierCSV.setText("Liste des étudiants : " + commandes.nodeCSV.getAttributs().get("nameListStudent"));
|
||||
lblChargementFichierCSV.setOpaque(true);
|
||||
}else {
|
||||
lblChargementFichierCSV.setOpaque(false);
|
||||
lblListe.setText("<html><b>Liste ???</b></html>");
|
||||
}
|
||||
|
||||
// Positionne le curseur au début du texte pour que le JScrollPane affiche le haut
|
||||
positionScrollDebut();
|
||||
|
||||
this.setExtendedState(MAXIMIZED_BOTH);
|
||||
ListenerAction();
|
||||
@ -495,6 +505,15 @@ public class evaluate extends JFrame {
|
||||
}
|
||||
|
||||
|
||||
public static void positionScrollDebut() {
|
||||
// Positionne le curseur au début du texte pour que le JScrollPane affiche le haut
|
||||
SwingUtilities.invokeLater(() -> {
|
||||
txtpnmessages.setCaretPosition(0);
|
||||
verticalScrollBar.setValue(verticalScrollBar.getMinimum());
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
private void ListenerAction() {
|
||||
|
||||
/**
|
||||
@ -526,6 +545,7 @@ public class evaluate extends JFrame {
|
||||
}else {
|
||||
txtpnmessages.setText(baliseStyle.balise() + "<hr class=\"city\"><h1>*** Veuillez charger une évaluation ***</h1><hr>");
|
||||
}
|
||||
positionScrollDebut();
|
||||
isDispose=false;
|
||||
return instance;
|
||||
}
|
||||
@ -561,7 +581,6 @@ public class evaluate extends JFrame {
|
||||
JMenu mnNewMenu = new JMenu("Base des évaluations");
|
||||
mnNewMenu.setMnemonic( 'F' );
|
||||
menuBar.add(mnNewMenu);
|
||||
// mnNewMenu.add( new actPathBaseEvaluations() );
|
||||
JMenuItem menuItem = mnNewMenu.add( new actOpenBaseEvaluation() );
|
||||
menuItem.setText("Base des évaluations");
|
||||
mnNewMenu.addSeparator();
|
||||
@ -573,15 +592,9 @@ public class evaluate extends JFrame {
|
||||
|
||||
JMenu mnMenu_Liste_Etudiant = new JMenu("Liste des étudiants");
|
||||
menuBar.add(mnMenu_Liste_Etudiant);
|
||||
mnMenu_Liste_Etudiant.add(actChargeListeEtudiantCSV);
|
||||
mnMenu_Liste_Etudiant.add(new actOpenBaseListesEtudiants());
|
||||
mnMenu_Liste_Etudiant.addSeparator();
|
||||
mnMenu_Liste_Etudiant.add(actDeleteListeEtudiantCSV);
|
||||
mnMenu_Liste_Etudiant.addSeparator();
|
||||
mnMenu_Liste_Etudiant.add(actAfficheListeEtudiant );
|
||||
mnMenu_Liste_Etudiant.addSeparator();
|
||||
mnMenu_Liste_Etudiant.add(actModificationListeEtudiantCSV);
|
||||
mnMenu_Liste_Etudiant.addSeparator();
|
||||
mnMenu_Liste_Etudiant.add(actVerifCSV );
|
||||
mnMenu_Liste_Etudiant.add(actAfficheListeEtudiant);
|
||||
|
||||
|
||||
JMenu mnMenu_Evaluation = new JMenu("Evaluer des étudiants");
|
||||
@ -611,7 +624,7 @@ public class evaluate extends JFrame {
|
||||
*/
|
||||
private void createToolBar() {
|
||||
toolBar = new JToolBar();
|
||||
btnChargeEvaluation = toolBar.add( new actOpenBaseEvaluation());
|
||||
btnChargeEvaluation = toolBar.add(new actOpenBaseEvaluation());
|
||||
btnChargeEvaluation.setIcon(new ImageIcon(create.class.getResource("/resources/BaseEvaluations.png")));
|
||||
btnChargeEvaluation.setHideActionText(true);
|
||||
toolBar.add(btnChargeEvaluation);
|
||||
@ -621,7 +634,6 @@ public class evaluate extends JFrame {
|
||||
btnSaveEvaluation.setIcon(new ImageIcon(evaluate.class.getResource("/resources/saveEvaluation.png")));
|
||||
btnSaveEvaluation.setVisible(true);
|
||||
toolBar.add(btnSaveEvaluation);
|
||||
|
||||
|
||||
toolBar.addSeparator();
|
||||
|
||||
@ -652,22 +664,22 @@ public class evaluate extends JFrame {
|
||||
btnBaseListeEtudiant.setText("");
|
||||
toolBar.add(btnBaseListeEtudiant);
|
||||
|
||||
JButton btnFichierCSV = toolBar.add(actChargeListeEtudiantCSV );
|
||||
btnFichierCSV.setHideActionText(true);
|
||||
btnFichierCSV.setIcon(new ImageIcon(evaluate.class.getResource("/resources/fichierCSV.png")));
|
||||
toolBar.add(btnFichierCSV);
|
||||
// JButton btnFichierCSV = toolBar.add(actChargeListeEtudiantCSV );
|
||||
// btnFichierCSV.setHideActionText(true);
|
||||
// btnFichierCSV.setIcon(new ImageIcon(evaluate.class.getResource("/resources/fichierCSV.png")));
|
||||
// toolBar.add(btnFichierCSV);
|
||||
|
||||
// Pour l'instant je cache ce bouton car il n'est pas utile.
|
||||
JButton btnVerificationCSVavecFichierAnalyse = toolBar.add( actVerifCSV );
|
||||
btnVerificationCSVavecFichierAnalyse.setVisible(false);
|
||||
btnVerificationCSVavecFichierAnalyse.setIcon(new ImageIcon(evaluate.class.getResource("/resources/fichierCSVInfoXML.png")));
|
||||
btnVerificationCSVavecFichierAnalyse.setHideActionText(true);
|
||||
toolBar.add(btnVerificationCSVavecFichierAnalyse);
|
||||
// // Pour l'instant je cache ce bouton car il n'est pas utile.
|
||||
// JButton btnVerificationCSVavecFichierAnalyse = toolBar.add( actVerifCSV );
|
||||
// btnVerificationCSVavecFichierAnalyse.setVisible(false);
|
||||
// btnVerificationCSVavecFichierAnalyse.setIcon(new ImageIcon(evaluate.class.getResource("/resources/fichierCSVInfoXML.png")));
|
||||
// btnVerificationCSVavecFichierAnalyse.setHideActionText(true);
|
||||
// toolBar.add(btnVerificationCSVavecFichierAnalyse);
|
||||
|
||||
|
||||
JButton btnFichierCSV_delete = toolBar.add(actDeleteListeEtudiantCSV);
|
||||
btnFichierCSV_delete.setIcon(new ImageIcon(evaluate.class.getResource("/resources/fichierCSV_delete.png")));
|
||||
btnFichierCSV_delete.setHideActionText(true);
|
||||
// JButton btnFichierCSV_delete = toolBar.add(actDeleteListeEtudiantCSV);
|
||||
// btnFichierCSV_delete.setIcon(new ImageIcon(evaluate.class.getResource("/resources/fichierCSV_delete.png")));
|
||||
// btnFichierCSV_delete.setHideActionText(true);
|
||||
|
||||
|
||||
JButton btnInfoListeEtudiant = toolBar.add(actAfficheListeEtudiant);
|
||||
@ -676,17 +688,13 @@ public class evaluate extends JFrame {
|
||||
toolBar.add(btnInfoListeEtudiant);
|
||||
|
||||
|
||||
JButton btnFichierCSV_modifier = toolBar.add(actModificationListeEtudiantCSV);
|
||||
btnFichierCSV_modifier.setIcon(new ImageIcon(evaluate.class.getResource("/resources/fichier_csv_studen_modif.png")));
|
||||
btnFichierCSV_modifier.setHideActionText(true);
|
||||
// JButton btnFichierCSV_modifier = toolBar.add(actModificationListeEtudiantCSV);
|
||||
// btnFichierCSV_modifier.setIcon(new ImageIcon(evaluate.class.getResource("/resources/fichier_csv_studen_modif.png")));
|
||||
// btnFichierCSV_modifier.setHideActionText(true);
|
||||
|
||||
toolBar.addSeparator();
|
||||
|
||||
JButton btnSelectFolder = toolBar.add(actSelectFolder);
|
||||
btnSelectFolder.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
}
|
||||
});
|
||||
btnSelectFolder.setIcon(new ImageIcon(evaluate.class.getResource("/resources/open.png")));
|
||||
btnSelectFolder.setHideActionText(true);
|
||||
toolBar.add(btnSelectFolder);
|
||||
@ -736,8 +744,6 @@ public class evaluate extends JFrame {
|
||||
chckbxnoFeedback.setEnabled(false);
|
||||
chckbxNoNote.setEnabled(false);
|
||||
chckCSVNotes.setEnabled(false);
|
||||
// chckbxNewLogo.setEnabled(false);
|
||||
// chckbxNoLogo.setEnabled(false);
|
||||
chckbxVerif.setEnabled(false);
|
||||
chckbxNoDetail.setEnabled(false);
|
||||
chckPasDeProgression.setEnabled(false);
|
||||
@ -746,7 +752,6 @@ public class evaluate extends JFrame {
|
||||
chckbxZipfeedback.setSelected(commandes.zipfeedback);
|
||||
chckbxnoFeedback.setSelected(commandes.sansFeeback);
|
||||
chckCSVNotes.setSelected(commandes.ecritNoteCSV);
|
||||
// chckbxNewLogo.setSelected(commandes.newLogo);
|
||||
chckbxNoNote.setSelected(commandes.noNote);
|
||||
chckbxVerif.setSelected(commandes.verifHisto2);
|
||||
chckbxNoDetail.setSelected(commandes.noDetail);
|
||||
@ -760,19 +765,18 @@ public class evaluate extends JFrame {
|
||||
chckbxNoDetail.setEnabled(true);
|
||||
chckPasDeProgression.setEnabled(true);
|
||||
|
||||
if(commandes.fourniCSV) {
|
||||
if(commandes.nodeCSV!=null) {
|
||||
if(commandes.nodeCSV.getAttributs().get("nameListStudent")==null) {
|
||||
commandes.nodeCSV.getAttributs().put("nameListStudent","?");
|
||||
commandes.nodeCSV.getAttributs().put("year", "?");
|
||||
lblListe.setText("<html><b>Liste ???</b></html>");
|
||||
}else {
|
||||
lblListe.setText("<html><b>"+commandes.nodeCSV.getAttributs().get("nameListStudent")+"</b></html>");
|
||||
}
|
||||
lblChargementFichierCSV.setBackground(new Color(40,180,40));
|
||||
lblChargementFichierCSV.setText("Liste des étudiants : " + commandes.nodeCSV.getAttributs().get("nameListStudent"));
|
||||
lblChargementFichierCSV.setOpaque(true);
|
||||
}else {
|
||||
lblChargementFichierCSV.setOpaque(false);
|
||||
lblListe.setText("<html><b>Liste ???</b></html>");
|
||||
}
|
||||
|
||||
|
||||
txtpnmessages.afficheChargementFichierAnalyse();
|
||||
}
|
||||
|
||||
@ -931,78 +935,78 @@ public class evaluate extends JFrame {
|
||||
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private AbstractAction actVerifCSV = new AbstractAction() {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
{
|
||||
putValue(Action.LARGE_ICON_KEY, new ImageIcon(evaluate.class.getResource("/resources/fichierCSVInfoXML.png")));
|
||||
putValue( Action.NAME, "Vérification des champs du CSV" );
|
||||
putValue( Action.SMALL_ICON, new ImageIcon(evaluate.class.getResource("/resources/fichierCSVInfoXMLmini.png")) );
|
||||
putValue( Action.MNEMONIC_KEY, KeyEvent.VK_U );
|
||||
putValue( Action.SHORT_DESCRIPTION, "Vérification des champs du CSV (CTRL+B)" );
|
||||
putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_U, InputEvent.CTRL_DOWN_MASK) );
|
||||
}
|
||||
@Override
|
||||
public void actionPerformed( ActionEvent e ) {
|
||||
|
||||
if(commandes.fichierAnalyseValide) {
|
||||
if(commandes.fourniCSV) {
|
||||
node settingCSV = commandes.sujet.retourneFirstEnfantsByName("import_moodle");
|
||||
if(settingCSV.isHasAttributs()) {
|
||||
String email ="inconnu";
|
||||
String name = "inconnu";
|
||||
String firstname = "inconnu";
|
||||
String id = "inconnu";
|
||||
txtpnmessages.setContentType("text/html");
|
||||
boolean avertissement = false;
|
||||
if(settingCSV.getAttributs().get("email")!=null) {
|
||||
email = settingCSV.getAttributs().get("email");
|
||||
}
|
||||
if(settingCSV.getAttributs().get("name")!=null) {
|
||||
name = settingCSV.getAttributs().get("name");
|
||||
}
|
||||
if(settingCSV.getAttributs().get("firstname")!=null) {
|
||||
firstname = settingCSV.getAttributs().get("firstname");
|
||||
}
|
||||
if(settingCSV.getAttributs().get("id")!=null) {
|
||||
id = settingCSV.getAttributs().get("id");
|
||||
}
|
||||
if(commandes.nodeCSV.getNodes().get(0).getAttributs().get(firstname)==null) {
|
||||
txtpnmessages.setText("<html><h1>*** AVERTISSEMENT - Il n'y a pas le champ " + firstname + " dans le fichier CSV. ***</h1></html>");
|
||||
avertissement=true;
|
||||
}
|
||||
if(commandes.nodeCSV.getNodes().get(0).getAttributs().get(name)==null) {
|
||||
txtpnmessages.setText("<html><h1>*** AVERTISSEMENT - Il n'y a pas le champ " + name + " dans le fichier CSV. ***</h1></html>");
|
||||
avertissement=true;
|
||||
}
|
||||
if(commandes.nodeCSV.getNodes().get(0).getAttributs().get(id)==null) {
|
||||
txtpnmessages.setText("<html><h1>*** AVERTISSEMENT - Il n'y a pas le champ " + id + " dans le fichier CSV. ***</h1></html>");
|
||||
avertissement=true;
|
||||
}
|
||||
if(commandes.nodeCSV.getNodes().get(0).getAttributs().get(email)==null) {
|
||||
txtpnmessages.setText("<html><h1>*** AVERTISSEMENT - Il n'y a pas le champ " + email + " dans le fichier CSV. ***</h1></html>");
|
||||
avertissement=true;
|
||||
}
|
||||
if(!avertissement) {
|
||||
txtpnmessages.setText("<html><h1>*** Le fichier CSV contenant la liste des étudiants peut être utilisé avec les paramètres du fichier d'analyse ***</h1></html>");
|
||||
}
|
||||
}else {
|
||||
txtpnmessages.setText("<html><h1>*** Le fichier CSV contenant la liste des étudiants est vide ***</h1></html>");
|
||||
}
|
||||
}else {
|
||||
txtpnmessages.setText("<html><h1>*** Veuillez charger un fichier CSV contenant la liste des étudiants ***</h1></html>");
|
||||
new msgBox("Le fichier CSV contenant la liste des étudiants n'est pas chargé.",true,false,"Avertissement");
|
||||
}
|
||||
}else {
|
||||
txtpnmessages.setText("<html><h1>*** Veuillez charger une évaluation ***</h1></html>");
|
||||
new msgBox("Le fichier d'analyse n'est pas valide.",true,false,"Avertissement");
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// /**
|
||||
// *
|
||||
// */
|
||||
// private AbstractAction actVerifCSV = new AbstractAction() {
|
||||
//
|
||||
// private static final long serialVersionUID = 1L;
|
||||
// {
|
||||
// putValue(Action.LARGE_ICON_KEY, new ImageIcon(evaluate.class.getResource("/resources/fichierCSVInfoXML.png")));
|
||||
// putValue( Action.NAME, "Vérification des champs du CSV" );
|
||||
// putValue( Action.SMALL_ICON, new ImageIcon(evaluate.class.getResource("/resources/fichierCSVInfoXMLmini.png")) );
|
||||
// putValue( Action.MNEMONIC_KEY, KeyEvent.VK_U );
|
||||
// putValue( Action.SHORT_DESCRIPTION, "Vérification des champs du CSV (CTRL+B)" );
|
||||
// putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_U, InputEvent.CTRL_DOWN_MASK) );
|
||||
// }
|
||||
// @Override
|
||||
// public void actionPerformed( ActionEvent e ) {
|
||||
//
|
||||
// if(commandes.fichierAnalyseValide) {
|
||||
// if(commandes.fourniCSV) {
|
||||
// node settingCSV = commandes.sujet.retourneFirstEnfantsByName("import_moodle");
|
||||
// if(settingCSV.isHasAttributs()) {
|
||||
// String email ="inconnu";
|
||||
// String name = "inconnu";
|
||||
// String firstname = "inconnu";
|
||||
// String id = "inconnu";
|
||||
// txtpnmessages.setContentType("text/html");
|
||||
// boolean avertissement = false;
|
||||
// if(settingCSV.getAttributs().get("email")!=null) {
|
||||
// email = settingCSV.getAttributs().get("email");
|
||||
// }
|
||||
// if(settingCSV.getAttributs().get("name")!=null) {
|
||||
// name = settingCSV.getAttributs().get("name");
|
||||
// }
|
||||
// if(settingCSV.getAttributs().get("firstname")!=null) {
|
||||
// firstname = settingCSV.getAttributs().get("firstname");
|
||||
// }
|
||||
// if(settingCSV.getAttributs().get("id")!=null) {
|
||||
// id = settingCSV.getAttributs().get("id");
|
||||
// }
|
||||
// if(commandes.nodeCSV.getNodes().get(0).getAttributs().get(firstname)==null) {
|
||||
// txtpnmessages.setText("<html><h1>*** AVERTISSEMENT - Il n'y a pas le champ " + firstname + " dans le fichier CSV. ***</h1></html>");
|
||||
// avertissement=true;
|
||||
// }
|
||||
// if(commandes.nodeCSV.getNodes().get(0).getAttributs().get(name)==null) {
|
||||
// txtpnmessages.setText("<html><h1>*** AVERTISSEMENT - Il n'y a pas le champ " + name + " dans le fichier CSV. ***</h1></html>");
|
||||
// avertissement=true;
|
||||
// }
|
||||
// if(commandes.nodeCSV.getNodes().get(0).getAttributs().get(id)==null) {
|
||||
// txtpnmessages.setText("<html><h1>*** AVERTISSEMENT - Il n'y a pas le champ " + id + " dans le fichier CSV. ***</h1></html>");
|
||||
// avertissement=true;
|
||||
// }
|
||||
// if(commandes.nodeCSV.getNodes().get(0).getAttributs().get(email)==null) {
|
||||
// txtpnmessages.setText("<html><h1>*** AVERTISSEMENT - Il n'y a pas le champ " + email + " dans le fichier CSV. ***</h1></html>");
|
||||
// avertissement=true;
|
||||
// }
|
||||
// if(!avertissement) {
|
||||
// txtpnmessages.setText("<html><h1>*** Le fichier CSV contenant la liste des étudiants peut être utilisé avec les paramètres du fichier d'analyse ***</h1></html>");
|
||||
// }
|
||||
// }else {
|
||||
// txtpnmessages.setText("<html><h1>*** Le fichier CSV contenant la liste des étudiants est vide ***</h1></html>");
|
||||
// }
|
||||
// }else {
|
||||
// txtpnmessages.setText("<html><h1>*** Veuillez charger un fichier CSV contenant la liste des étudiants ***</h1></html>");
|
||||
// new msgBox("Le fichier CSV contenant la liste des étudiants n'est pas chargé.",true,false,"Avertissement");
|
||||
// }
|
||||
// }else {
|
||||
// txtpnmessages.setText("<html><h1>*** Veuillez charger une évaluation ***</h1></html>");
|
||||
// new msgBox("Le fichier d'analyse n'est pas valide.",true,false,"Avertissement");
|
||||
// }
|
||||
// }
|
||||
// };
|
||||
|
||||
|
||||
/**
|
||||
* Information sur le fichier d'analyse.</br>
|
||||
@ -1112,152 +1116,152 @@ public class evaluate extends JFrame {
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Charge la liste des étudiants à partir d'un fichier CSV<br>
|
||||
* Et le converti sous la forme d'un node (pour fichier XML).
|
||||
*/
|
||||
private AbstractAction actChargeListeEtudiantCSV = new AbstractAction() {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
{
|
||||
putValue( Action.NAME, "Ajoute une liste ou des étudiants à une liste" );
|
||||
putValue( Action.SMALL_ICON, new ImageIcon(evaluate.class.getResource("/resources/fichierCSVmini.png")) );
|
||||
putValue( Action.LARGE_ICON_KEY, new ImageIcon(evaluate.class.getResource("/resources/fichierCSV.png")) );
|
||||
putValue( Action.MNEMONIC_KEY, KeyEvent.VK_L );
|
||||
putValue( Action.SHORT_DESCRIPTION, "Ajoute une liste ou des étudiants à une liste (CTRL+L)" );
|
||||
putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_L, InputEvent.CTRL_DOWN_MASK) );
|
||||
}
|
||||
|
||||
@Override public void actionPerformed( ActionEvent e ) {
|
||||
|
||||
int nbrStudent = 0;
|
||||
if(commandes.nodeCSV==null) {
|
||||
commandes.nodeCSV = new node("fileCSV");
|
||||
nbrStudent=0;
|
||||
}else {
|
||||
if(commandes.nodeCSV.getNomElt()==null) commandes.nodeCSV.setNomElt("fileCSV");
|
||||
if(commandes.nodeCSV.getNomElt().isBlank()) commandes.nodeCSV.setNomElt("fileCSV");
|
||||
nbrStudent = commandes.nodeCSV.getNbrEnfants();
|
||||
}
|
||||
|
||||
// Chargement du fichier CSV
|
||||
String nameListStudent = CustomInputDialogListeEtudiant.showCustominputDialog();
|
||||
|
||||
if(nameListStudent.equals("Code_Annule")) return;
|
||||
|
||||
if(commandes.nodeCSV.getNbrEnfants()==nbrStudent) {
|
||||
txtpnmessages.setContentType("text/html");
|
||||
txtpnmessages.setText("<html><h1>*** Aucun nouveau étudiant a été ajouté à la liste "+ nameListStudent +"***</h1>"
|
||||
+ "<p>Le nombre d'étudiant dans la liste est de "+ String.valueOf(nbrStudent) +"</p></html>");
|
||||
}else {
|
||||
if(commandes.fourniCSV) {
|
||||
txtpnmessages.setContentType("text/html");
|
||||
txtpnmessages.setText(baliseStyle.balise() + meptl.afficheNodeCSV().toString());
|
||||
System.out.println( "Affiche la liste des étudiants déjà en mémoire." );
|
||||
}else {
|
||||
txtpnmessages.setContentType("text/html");
|
||||
txtpnmessages.setText("<html><h1>*** Veuillez sélectionner un fichier CSV contenant la liste des étudiants. ***</h1></html>");
|
||||
}
|
||||
}
|
||||
System.out.println( "Charge la liste des étudiants." );
|
||||
|
||||
|
||||
if(commandes.fourniCSV) {
|
||||
if(commandes.nodeCSV.getAttributs().get("nameListStudent")==null) {
|
||||
commandes.nodeCSV.getAttributs().put("nameListStudent","?");
|
||||
commandes.nodeCSV.getAttributs().put("year", "?");
|
||||
}
|
||||
lblChargementFichierCSV.setBackground(new Color(40,180,40));
|
||||
lblChargementFichierCSV.setText("Liste des étudiants : " + commandes.nodeCSV.getAttributs().get("nameListStudent"));
|
||||
lblChargementFichierCSV.setOpaque(true);
|
||||
}else {
|
||||
lblChargementFichierCSV.setOpaque(false);
|
||||
lblChargementFichierCSV.setText("Pas de liste des étudiants");
|
||||
}
|
||||
}
|
||||
};
|
||||
// /**
|
||||
// * Charge la liste des étudiants à partir d'un fichier CSV<br>
|
||||
// * Et le converti sous la forme d'un node (pour fichier XML).
|
||||
// */
|
||||
// private AbstractAction actChargeListeEtudiantCSV = new AbstractAction() {
|
||||
//
|
||||
// private static final long serialVersionUID = 1L;
|
||||
//
|
||||
// {
|
||||
// putValue( Action.NAME, "Ajoute une liste ou des étudiants à une liste" );
|
||||
// putValue( Action.SMALL_ICON, new ImageIcon(evaluate.class.getResource("/resources/fichierCSVmini.png")) );
|
||||
// putValue( Action.LARGE_ICON_KEY, new ImageIcon(evaluate.class.getResource("/resources/fichierCSV.png")) );
|
||||
// putValue( Action.MNEMONIC_KEY, KeyEvent.VK_L );
|
||||
// putValue( Action.SHORT_DESCRIPTION, "Ajoute une liste ou des étudiants à une liste (CTRL+L)" );
|
||||
// putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_L, InputEvent.CTRL_DOWN_MASK) );
|
||||
// }
|
||||
//
|
||||
// @Override public void actionPerformed( ActionEvent e ) {
|
||||
//
|
||||
// int nbrStudent = 0;
|
||||
// if(commandes.nodeCSV==null) {
|
||||
// commandes.nodeCSV = new node("fileCSV");
|
||||
// nbrStudent=0;
|
||||
// }else {
|
||||
// if(commandes.nodeCSV.getNomElt()==null) commandes.nodeCSV.setNomElt("fileCSV");
|
||||
// if(commandes.nodeCSV.getNomElt().isBlank()) commandes.nodeCSV.setNomElt("fileCSV");
|
||||
// nbrStudent = commandes.nodeCSV.getNbrEnfants();
|
||||
// }
|
||||
//
|
||||
// // Chargement du fichier CSV
|
||||
// String nameListStudent = CustomInputDialogListeEtudiant.showCustominputDialog();
|
||||
//
|
||||
// if(nameListStudent.equals("Code_Annule")) return;
|
||||
//
|
||||
// if(commandes.nodeCSV.getNbrEnfants()==nbrStudent) {
|
||||
// txtpnmessages.setContentType("text/html");
|
||||
// txtpnmessages.setText("<html><h1>*** Aucun nouveau étudiant a été ajouté à la liste "+ nameListStudent +"***</h1>"
|
||||
// + "<p>Le nombre d'étudiant dans la liste est de "+ String.valueOf(nbrStudent) +"</p></html>");
|
||||
// }else {
|
||||
// if(commandes.fourniCSV) {
|
||||
// txtpnmessages.setContentType("text/html");
|
||||
// txtpnmessages.setText(baliseStyle.balise() + meptl.afficheNodeCSV().toString());
|
||||
// System.out.println( "Affiche la liste des étudiants déjà en mémoire." );
|
||||
// }else {
|
||||
// txtpnmessages.setContentType("text/html");
|
||||
// txtpnmessages.setText("<html><h1>*** Veuillez sélectionner un fichier CSV contenant la liste des étudiants. ***</h1></html>");
|
||||
// }
|
||||
// }
|
||||
// System.out.println( "Charge la liste des étudiants." );
|
||||
//
|
||||
//
|
||||
// if(commandes.fourniCSV) {
|
||||
// if(commandes.nodeCSV.getAttributs().get("nameListStudent")==null) {
|
||||
// commandes.nodeCSV.getAttributs().put("nameListStudent","?");
|
||||
// commandes.nodeCSV.getAttributs().put("year", "?");
|
||||
// }
|
||||
// lblListe.setBackground(new Color(40,180,40));
|
||||
// lblListe.setText("Liste des étudiants : " + commandes.nodeCSV.getAttributs().get("nameListStudent"));
|
||||
// lblListe.setOpaque(true);
|
||||
// }else {
|
||||
// lblListe.setOpaque(false);
|
||||
// lblListe.setText("Pas de liste des étudiants");
|
||||
// }
|
||||
// }
|
||||
// };
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Supprime la liste des étudiants sous la forme d'un fichier XML.
|
||||
*/
|
||||
private AbstractAction actDeleteListeEtudiantCSV = new AbstractAction() {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
{
|
||||
putValue( Action.NAME, "Supprime la liste des étudiants" );
|
||||
putValue( Action.SMALL_ICON, new ImageIcon(evaluate.class.getResource("/resources/fichierCSV_deletemini.png")) );
|
||||
putValue( Action.LARGE_ICON_KEY, new ImageIcon(evaluate.class.getResource("/resources/fichierCSV_delete.png")) );
|
||||
putValue( Action.MNEMONIC_KEY, KeyEvent.VK_L );
|
||||
putValue( Action.SHORT_DESCRIPTION, "Supprime la liste des étudiants" );
|
||||
}
|
||||
|
||||
@Override public void actionPerformed( ActionEvent e ) {
|
||||
|
||||
if(JOptionPane.showConfirmDialog(null,"Voulez-vous supprimer la liste des étudiant ?", "Supprimer", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION) {
|
||||
commandes.nodeCSV = meptl.supprimeFichierCSV();
|
||||
commandes.fourniCSV=false;
|
||||
txtpnmessages.setContentType("text/html");
|
||||
txtpnmessages.setText("<html><h1>***Suppression de la liste des étudiants ***</h1></html>");
|
||||
System.out.println( "Suppression de la liste des étudiants." );
|
||||
lblChargementFichierCSV.setOpaque(false);
|
||||
lblChargementFichierCSV.setText("Pas de liste des étudiants");
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Supprime la liste des étudiants sous la forme d'un fichier XML.
|
||||
*/
|
||||
private AbstractAction actModificationListeEtudiantCSV = new AbstractAction() {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
{
|
||||
putValue( Action.NAME, "Modification de la liste des étudiants" );
|
||||
putValue( Action.SMALL_ICON, new ImageIcon(evaluate.class.getResource("/resources/fichier_csv_studen_modifmini.png")) );
|
||||
putValue( Action.LARGE_ICON_KEY, new ImageIcon(evaluate.class.getResource("/resources/fichier_csv_studen_modif.png")) );
|
||||
putValue( Action.MNEMONIC_KEY, KeyEvent.VK_L );
|
||||
putValue( Action.SHORT_DESCRIPTION, "Modification de la liste des étudiants" );
|
||||
}
|
||||
|
||||
@Override public void actionPerformed( ActionEvent e ) {
|
||||
|
||||
txtpnmessages.setContentType("text/html");
|
||||
if(commandes.fourniCSV) {
|
||||
node nodImportCSV = commandes.sujet.retourneFirstEnfantsByName("import_moodle");
|
||||
String name = nodImportCSV.getAttributs().get("name");
|
||||
String email = nodImportCSV.getAttributs().get("email");
|
||||
String firstname = nodImportCSV.getAttributs().get("firstname");
|
||||
String id = nodImportCSV.getAttributs().get("id");
|
||||
|
||||
String numStudent = JOptionPane.showInputDialog("<html><p>Quel est le numéro de l'étudiant ?</p></html>");
|
||||
node nodeStudent = commandes.nodeCSV.retourneFirstNodeByNameAndAttributValueExactStrict("student", id, numStudent);
|
||||
|
||||
if(nodeStudent!=null) {
|
||||
txtpnmessages.setText("<html><h1>Etudiant trouvé</h1><hr><p>Nom : "+ nodeStudent.getAttributs().get(name) +"</p>"
|
||||
+ "<p>Prenom : "+nodeStudent.getAttributs().get(firstname)+"</p>"
|
||||
+ "<p>Email : " + nodeStudent.getAttributs().get(email) +"</p>"
|
||||
+ "<p>Numéro étudiant : "+ nodeStudent.getAttributs().get(id) +"</p></html>");
|
||||
|
||||
new modifStudent(nodeStudent, nodImportCSV).setVisible(true);
|
||||
|
||||
System.out.println( "etudiant trouvé." );
|
||||
}else {
|
||||
txtpnmessages.setText("<html><h1>*** L'étudiant n'a pas été trouvé. ***</html>");
|
||||
}
|
||||
}else {
|
||||
txtpnmessages.setText("<html><h1>*** Veuillez charger une liste d'étudiant à partir d'un fichier au format CSV. ***</html>");
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
// /**
|
||||
// * Supprime la liste des étudiants sous la forme d'un fichier XML.
|
||||
// */
|
||||
// private AbstractAction actDeleteListeEtudiantCSV = new AbstractAction() {
|
||||
//
|
||||
// private static final long serialVersionUID = 1L;
|
||||
//
|
||||
// {
|
||||
// putValue( Action.NAME, "Supprime la liste des étudiants" );
|
||||
// putValue( Action.SMALL_ICON, new ImageIcon(evaluate.class.getResource("/resources/fichierCSV_deletemini.png")) );
|
||||
// putValue( Action.LARGE_ICON_KEY, new ImageIcon(evaluate.class.getResource("/resources/fichierCSV_delete.png")) );
|
||||
// putValue( Action.MNEMONIC_KEY, KeyEvent.VK_L );
|
||||
// putValue( Action.SHORT_DESCRIPTION, "Supprime la liste des étudiants" );
|
||||
// }
|
||||
//
|
||||
// @Override public void actionPerformed( ActionEvent e ) {
|
||||
//
|
||||
// if(JOptionPane.showConfirmDialog(null,"Voulez-vous supprimer la liste des étudiant ?", "Supprimer", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION) {
|
||||
// commandes.nodeCSV = meptl.supprimeFichierCSV();
|
||||
// commandes.fourniCSV=false;
|
||||
// txtpnmessages.setContentType("text/html");
|
||||
// txtpnmessages.setText("<html><h1>***Suppression de la liste des étudiants ***</h1></html>");
|
||||
// System.out.println( "Suppression de la liste des étudiants." );
|
||||
// lblListe.setOpaque(false);
|
||||
// lblListe.setText("Pas de liste des étudiants");
|
||||
// }
|
||||
//
|
||||
// }
|
||||
// };
|
||||
|
||||
|
||||
// /**
|
||||
// * Supprime la liste des étudiants sous la forme d'un fichier XML.
|
||||
// */
|
||||
// private AbstractAction actModificationListeEtudiantCSV = new AbstractAction() {
|
||||
//
|
||||
// private static final long serialVersionUID = 1L;
|
||||
//
|
||||
// {
|
||||
// putValue( Action.NAME, "Modification de la liste des étudiants" );
|
||||
// putValue( Action.SMALL_ICON, new ImageIcon(evaluate.class.getResource("/resources/fichier_csv_studen_modifmini.png")) );
|
||||
// putValue( Action.LARGE_ICON_KEY, new ImageIcon(evaluate.class.getResource("/resources/fichier_csv_studen_modif.png")) );
|
||||
// putValue( Action.MNEMONIC_KEY, KeyEvent.VK_L );
|
||||
// putValue( Action.SHORT_DESCRIPTION, "Modification de la liste des étudiants" );
|
||||
// }
|
||||
//
|
||||
// @Override public void actionPerformed( ActionEvent e ) {
|
||||
//
|
||||
// txtpnmessages.setContentType("text/html");
|
||||
// if(commandes.fourniCSV) {
|
||||
// node nodImportCSV = commandes.sujet.retourneFirstEnfantsByName("import_moodle");
|
||||
// String name = nodImportCSV.getAttributs().get("name");
|
||||
// String email = nodImportCSV.getAttributs().get("email");
|
||||
// String firstname = nodImportCSV.getAttributs().get("firstname");
|
||||
// String id = nodImportCSV.getAttributs().get("id");
|
||||
//
|
||||
// String numStudent = JOptionPane.showInputDialog("<html><p>Quel est le numéro de l'étudiant ?</p></html>");
|
||||
// node nodeStudent = commandes.nodeCSV.retourneFirstNodeByNameAndAttributValueExactStrict("student", id, numStudent);
|
||||
//
|
||||
// if(nodeStudent!=null) {
|
||||
// txtpnmessages.setText("<html><h1>Etudiant trouvé</h1><hr><p>Nom : "+ nodeStudent.getAttributs().get(name) +"</p>"
|
||||
// + "<p>Prenom : "+nodeStudent.getAttributs().get(firstname)+"</p>"
|
||||
// + "<p>Email : " + nodeStudent.getAttributs().get(email) +"</p>"
|
||||
// + "<p>Numéro étudiant : "+ nodeStudent.getAttributs().get(id) +"</p></html>");
|
||||
//
|
||||
// new modifStudent(nodeStudent, nodImportCSV).setVisible(true);
|
||||
//
|
||||
// System.out.println( "etudiant trouvé." );
|
||||
// }else {
|
||||
// txtpnmessages.setText("<html><h1>*** L'étudiant n'a pas été trouvé. ***</html>");
|
||||
// }
|
||||
// }else {
|
||||
// txtpnmessages.setText("<html><h1>*** Veuillez charger une liste d'étudiant à partir d'un fichier au format CSV. ***</html>");
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// };
|
||||
|
||||
|
||||
|
||||
/**
|
||||
@ -1277,13 +1281,17 @@ public class evaluate extends JFrame {
|
||||
}
|
||||
|
||||
@Override public void actionPerformed( ActionEvent e ) {
|
||||
if(commandes.fourniCSV) {
|
||||
if(commandes.nodeCSV!=null) {
|
||||
if(commandes.nodeCSV.getAttributs().get("nameListStudent")!=null) {
|
||||
txtpnmessages.setContentType("text/html");
|
||||
txtpnmessages.setText(baliseStyle.balise() + meptl.afficheNodeCSV().toString());
|
||||
System.out.println( "Affiche la liste des étudiants déjà en mémoire." );
|
||||
}else {
|
||||
txtpnmessages.setContentType("text/html");
|
||||
txtpnmessages.setText("<html><h1>*** Veuillez sélectionner une liste d'étudiants dans la base. ***</h1></html>");
|
||||
}
|
||||
}else {
|
||||
txtpnmessages.setContentType("text/html");
|
||||
txtpnmessages.setText("<html><h1>*** Veuillez sélectionner un fichier CSV contenant la liste des étudiants. ***</h1></html>");
|
||||
txtpnmessages.setText("<html><h1>*** Veuillez sélectionner une liste d'étudiants dans la base. ***</h1></html>");
|
||||
}
|
||||
}
|
||||
};
|
||||
|
BIN
src/resources/addnewstudent.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
src/resources/addnewstudentmini.png
Normal file
After Width: | Height: | Size: 1016 B |
BIN
src/resources/listestudent.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
src/resources/listestudentmini.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
src/resources/nolistestudent.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
src/resources/nolistestudentmini.png
Normal file
After Width: | Height: | Size: 1.3 KiB |