MAJ V4.5.0

This commit is contained in:
pablo rodriguez 2024-04-10 12:29:17 +02:00
parent 646d4381f5
commit 0f8d77d3f0
27 changed files with 574 additions and 172 deletions

View File

@ -12,6 +12,6 @@
<classpathentry kind="lib" path="C:/Users/pabr6/git/analyseWriter/MEPTL/miglayout15-swing.jar"/>
<classpathentry kind="lib" path="jgoodies-forms-1.8.0.jar" sourcepath="jgoodies-forms-1.8.0-sources.jar"/>
<classpathentry kind="lib" path="C:/Users/pabr6/eclipse-workspace/Exportation documentation analyseWriter/plugins/documentation.analyseWriter_1.0.0.202212032022.jar"/>
<classpathentry kind="lib" path="C:/Users/pabr6/eclipse-workspace/cXML.jar" sourcepath="/cXML"/>
<classpathentry kind="lib" path="C:/Users/pabr6/eclipse-workspace/cXML.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

34
bin/.gitignore vendored
View File

@ -7,6 +7,37 @@
/fenetres/
/list/
/menucontextuel/
/nodetailfeedbackmini.png
/nodetailmini.png
/nofeedback.png
/nofeedbackmini.png
/nofeedbackstudent.png
/nofeedbackstudent.svg
/nofeedbackstudentmini.png
/nologo.png
/nonewlogo.png
/nonewlogomini.png
/nonotestudent.png
/nonotestudentl.svg
/nonotestudentmini.png
/notestudent.png
/notestudentmini.png
/noverifhistoriquestudent.png
/noverifhistoriquestudentmini.png
/nozipstudent.png
/nozipstudentmini.png
/numerotationchapitre.png
/numerotationchapitre.svg
/objet.png
/objet.svg
/odreparagraphe.png
/odreparagraphemini.png
/open.png
/open.svg
/open2.png
/openmax.png
/openmini.png
/ordreparagraphe.svg
/ou.png
/ouenviron.png
/ouenviron.svg
@ -174,6 +205,3 @@
/zipstudent.png
/zipstudent.svg
/zipstudentmini.png
/resources/
/defautBaseEvaluation.png
/defautBaseEvaluation.svg

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -0,0 +1,231 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="45"
height="45"
viewBox="0 0 11.90625 11.90625"
version="1.1"
id="svg5"
xml:space="preserve"
inkscape:version="1.3 (0e150ed6c4, 2023-07-21)"
sodipodi:docname="defautBaseEvaluation.svg"
inkscape:export-filename="defautBaseEvaluation.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
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"><sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="4.7298324"
inkscape:cx="-8.2455353"
inkscape:cy="18.816734"
inkscape:window-width="1920"
inkscape:window-height="1009"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="g447"
showguides="true"><sodipodi:guide
position="0.027389082,8.8220431"
orientation="1,0"
id="guide377"
inkscape:locked="false" /><sodipodi:guide
position="10.026045,9.8192631"
orientation="1,0"
id="guide379"
inkscape:locked="false" /><sodipodi:guide
position="0.06729813,7.0098606"
orientation="0,-1"
id="guide478"
inkscape:locked="false" /></sodipodi:namedview><defs
id="defs2"><linearGradient
inkscape:collect="always"
id="linearGradient1269"><stop
style="stop-color:#d933cf;stop-opacity:1;"
offset="0"
id="stop1265" /><stop
style="stop-color:#272d76;stop-opacity:1;"
offset="1"
id="stop1267" /></linearGradient><linearGradient
inkscape:collect="always"
id="linearGradient1534"><stop
style="stop-color:#00ff00;stop-opacity:1"
offset="0"
id="stop1530" /><stop
style="stop-color:#008080;stop-opacity:1"
offset="1"
id="stop1532" /></linearGradient><filter
inkscape:collect="always"
style="color-interpolation-filters:sRGB"
id="filter5476"
x="-0.023548288"
y="-0.023436684"
width="1.0470966"
height="1.0468734"><feGaussianBlur
inkscape:collect="always"
stdDeviation="0.19913317"
id="feGaussianBlur5478" /></filter><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1534"
id="linearGradient1536"
x1="-28.89456"
y1="79.43959"
x2="-28.613434"
y2="168.68048"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.84635001,0,0,0.84635001,22.541417,-4.1659876)" /><linearGradient
inkscape:collect="always"
xlink:href="#linearGradient1269"
id="linearGradient585"
gradientUnits="userSpaceOnUse"
x1="25.548759"
y1="33.814552"
x2="30.430729"
y2="93.149948"
gradientTransform="translate(120.38875,-81.281577)" /><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></defs><g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1"><g
id="g447"
transform="matrix(0.07295087,0,0,0.07295087,7.1535362,-1.4012141)"
style="stroke-width:13.7079"><path
sodipodi:type="star"
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#ffd5d5;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.944882;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000;stop-opacity:1"
id="path1"
inkscape:flatsided="false"
sodipodi:sides="14"
sodipodi:cx="6.7655673"
sodipodi:cy="4.2284794"
sodipodi:r1="20.793846"
sodipodi:r2="16.468725"
sodipodi:arg1="0.74944244"
sodipodi:arg2="0.97384192"
inkscape:rounded="0"
inkscape:randomized="0"
d="M 21.988093,18.393886 16.02307,17.848963 14.33445,23.595876 9.1965825,20.51679 5.1816966,24.961916 1.888603,19.958518 l -5.5459549,2.262926 -0.7960819,-5.936725 -5.9785792,-0.367473 1.858603,-5.694212 -5.227073,-2.9250907 4.1451695,-4.3238895 -3.4402805,-4.9033578 5.6107338,-2.0971682 -0.9720987,-5.9104546 5.9650239,0.544923 1.68861954,-5.7469132 5.13786756,3.079085 4.0148859,-4.445125 3.293094,5.003397 5.545954,-2.262926 0.796082,5.9367254 5.97858,0.3674737 -1.858603,5.6942115 5.227073,2.9250909 -4.14517,4.3238895 3.440281,4.903358 -5.610734,2.097168 z"
transform="matrix(3.6268702,0,0,3.6268702,-40.992898,85.476073)"
inkscape:transform-center-x="0.32614896"
inkscape:transform-center-y="-0.20542205" /><path
id="path583"
style="fill:url(#linearGradient585);fill-opacity:1;stroke:none;stroke-width:3.42696;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;stop-color:#000000"
d="m 145.86435,-57.940621 c -2.04313,-3.99e-4 -4.07826,0.04047 -5.23494,0.123883 -11.77718,0.849337 -21.64199,4.270545 -26.30567,9.12486 -1.26462,1.31631 -2.24993,2.9095 -2.57323,4.15893 -0.24998,0.96607 -0.26223,2.68613 -0.0248,3.57491 0.99431,3.72174 5.05468,7.1951 11.30167,9.66995 4.99089,1.97723 10.0649,3.04387 17.7365,3.73065 2.11344,0.1892 8.46083,0.16262 10.77428,-0.046 4.55223,-0.41052 7.8329,-0.92115 11.14947,-1.73437 1.64364,-0.40301 5.19675,-1.53637 6.1623,-1.96443 0.36689,-0.16265 0.87815,-0.37756 1.13264,-0.47783 1.00864,-0.39741 3.25622,-1.61432 4.47041,-2.41749 6.04568,-3.99914 7.46891,-9.05828 3.82975,-13.62359 -4.17704,-5.240077 -14.69399,-9.110846 -27.14099,-9.992041 -1.18473,-0.08387 -3.23428,-0.127024 -5.27742,-0.127422 z m -34.12092,21.357423 0.27254,12.41308 c 4.85569,16.62643 62.06597,16.74689 68.21352,0 v -12.41308 c -8.15546,17.41337 -60.80903,18.60339 -68.48606,0 z m 0.12035,16.26761 0.27254,12.41307 c 4.85569,16.62643 62.06242,16.74689 68.20997,0 v -12.41307 c -8.15545,17.41336 -60.80549,18.60339 -68.48251,0 z m -0.41413,14.79517 0.27254,12.40953 c 4.85569,16.626431 62.06243,16.746891 68.20998,0 v -12.40953 c -8.15545,17.41336 -60.80549,18.60339 -68.48252,0 z" /><path
id="path482"
style="fill:url(#linearGradient1536);fill-opacity:1;stroke:none;stroke-width:3.42696;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;stop-color:#000000"
d="m -16.496283,53.404866 c -2.504616,-4.89e-4 -4.999413,0.04961 -6.417363,0.151864 -14.437294,1.041177 -26.530278,5.235137 -32.247354,11.185901 -1.550255,1.613627 -2.758119,3.566666 -3.154445,5.098306 -0.306442,1.18428 -0.321454,3.29285 -0.03037,4.38238 1.218901,4.56239 6.196392,8.82028 13.854387,11.85412 6.118194,2.42383 12.338273,3.7314 21.742665,4.57329 2.590804,0.23194 10.371886,0.19935 13.2078805,-0.0563 5.5804459,-0.50325 9.60212488,-1.12922 13.6678079,-2.12612 2.014893,-0.49403 6.3705396,-1.8834 7.5541776,-2.40814 0.449759,-0.19938 1.076496,-0.46283 1.388476,-0.58576 1.236461,-0.48716 3.991705,-1.97894 5.48014,-2.96353 7.411233,-4.90242 9.155923,-11.10428 4.694791,-16.700766 C 18.123996,59.386453 5.2315744,54.64139 -10.026847,53.561158 c -1.452324,-0.102814 -3.964814,-0.155715 -6.469429,-0.156203 z m -41.82784,26.181441 0.334103,15.21685 c 5.952448,20.381853 76.084858,20.529523 83.620965,0 v -15.21685 c -9.997534,21.346553 -74.544027,22.805353 -83.955068,0 z m 0.147526,19.94199 0.334102,15.216823 c 5.952447,20.38187 76.08052,20.52954 83.616626,0 V 99.528297 c -9.997533,21.346533 -74.539686,22.805363 -83.950728,0 z m -0.507662,18.136973 0.334102,15.2125 c 5.952449,20.38184 76.080521,20.52951 83.616627,0 v -15.2125 c -9.997534,21.34653 -74.539687,22.80536 -83.950729,0 z" /><path
id="path331"
style="fill:#008000;stroke-width:13.7079"
d="m -279.30606,111.00874 c -2.16709,0.0446 -2.00947,0.47209 -2.28203,2.61948 -0.2513,1.9798 -1.1936,7.70028 -1.35909,8.25066 -0.0809,0.26891 -0.83739,0.67928 -1.9079,1.03508 -0.97551,0.32422 -2.60384,0.98702 -3.61838,1.47277 -1.01454,0.48576 -1.96936,0.88315 -2.12183,0.88315 -0.15247,0 -1.34622,-0.7714 -2.65307,-1.7141 -1.30684,-0.94269 -3.24438,-2.34168 -4.30568,-3.10886 -1.0613,-0.76718 -2.07333,-1.42707 -2.24896,-1.46657 -0.17562,-0.0395 -1.80332,1.41609 -3.61683,3.23494 l -3.29696,3.30729 0.56792,0.73329 c 0.31256,0.4035 1.14168,1.56524 1.84227,2.58124 0.7006,1.016 1.8989,2.73021 2.66288,3.80958 0.76398,1.07939 1.38907,2.10646 1.38907,2.28255 0,0.17608 -0.35159,0.97903 -0.78135,1.78439 -0.42976,0.80536 -1.09858,2.42433 -1.48621,3.5972 l -0.70487,2.13217 -1.35806,0.27491 c -0.74695,0.15119 -3.19222,0.56788 -5.43377,0.92605 -2.24157,0.35818 -4.17899,0.75491 -4.30569,0.8816 -0.12666,0.1267 -0.19751,2.3005 -0.15761,4.83071 l 0.0724,4.60075 2.64584,0.45062 c 1.4552,0.248 3.94567,0.67265 5.53454,0.94361 l 2.88923,0.49248 0.71365,2.10943 c 0.39261,1.1601 1.10081,2.86538 1.57355,3.78943 0.9683,1.89274 0.97307,1.86325 -0.7214,4.17236 -2.30874,3.14616 -4.19257,5.81456 -4.52738,6.41304 -0.34613,0.61871 -0.24371,0.75518 2.94349,3.9424 l 3.30161,3.30212 2.34869,-1.63142 c 1.29164,-0.89728 3.36021,-2.34014 4.59714,-3.20601 1.23693,-0.86587 2.36723,-1.57457 2.51147,-1.5751 0.14423,-4.4e-4 1.09674,0.40506 2.11667,0.90072 1.01994,0.49565 2.65213,1.16465 3.62769,1.48674 l 1.77405,0.58549 0.27337,1.35754 c 0.15045,0.74661 0.45686,2.48863 0.68058,3.87108 0.22373,1.38244 0.54177,3.31721 0.70693,4.29948 l 0.30024,1.78594 h 4.71496 c 4.67543,0 4.71629,-0.005 4.84311,-0.59532 0.26715,-1.24345 1.44797,-7.80139 1.65261,-9.17773 l 0.21395,-1.43815 2.51354,-0.95912 c 1.38244,-0.52732 3.01502,-1.21924 3.62769,-1.53789 1.44221,-0.7501 1.78728,-0.73107 2.94865,0.16226 0.53026,0.40788 2.55426,1.85255 4.4974,3.21014 l 3.53312,2.46807 3.2799,-3.27215 c 1.80401,-1.79968 3.27991,-3.35891 3.27991,-3.46491 0,-0.106 -1.33946,-2.05152 -2.97656,-4.32376 -1.63711,-2.27225 -3.12216,-4.33367 -3.30006,-4.5806 -0.26785,-0.37178 -0.17206,-0.74346 0.55604,-2.16214 0.48359,-0.94227 1.15858,-2.54651 1.50016,-3.56516 0.34157,-1.01864 0.71843,-1.98573 0.83768,-2.14922 0.11925,-0.16349 0.84001,-0.37699 1.60145,-0.47439 1.18359,-0.15143 7.28724,-1.23984 9.12348,-1.62678 0.5903,-0.12442 0.59531,-0.16437 0.59531,-4.84053 v -4.71496 l -1.78594,-0.29249 c -0.98227,-0.16097 -3.33375,-0.54499 -5.22552,-0.85317 -1.89178,-0.30817 -3.65962,-0.64619 -3.92844,-0.75086 -0.31247,-0.12167 -0.75606,-0.9627 -1.23042,-2.33164 -0.40809,-1.17771 -1.10834,-2.83661 -1.55598,-3.6866 -0.74109,-1.4072 -0.77885,-1.59333 -0.42116,-2.08308 0.21606,-0.29582 0.59844,-0.83561 0.85008,-1.19941 0.25164,-0.3638 1.57822,-2.25104 2.94762,-4.19354 l 2.48977,-3.53157 -3.30884,-3.30884 c -3.20998,-3.20997 -3.32908,-3.29856 -3.96565,-2.95072 -0.64496,0.35241 -1.88495,1.23869 -5.96346,4.26175 -1.12925,0.83702 -2.31155,1.5916 -2.62723,1.6769 -0.36565,0.0988 -1.27794,-0.18069 -2.51354,-0.76998 -1.06676,-0.50876 -2.71333,-1.20866 -3.65921,-1.55546 l -1.71979,-0.63045 -0.32247,-1.97352 c -0.17748,-1.08541 -0.60095,-3.58086 -0.94051,-5.5454 l -0.61701,-3.57187 -4.68654,-0.0724 c -1.34093,-0.0207 -2.32189,-0.0485 -3.04426,-0.0336 z m 2.97708,24.95403 c 1.42863,-0.003 2.85026,0.13423 3.75274,0.4129 3.93775,1.21587 6.99884,4.02981 8.56176,7.87032 1.99612,4.90503 0.84677,10.51015 -2.92903,14.28595 -1.73713,1.73712 -4.60482,3.28861 -6.84868,3.70468 h -5.1e-4 c -2.99403,0.55517 -5.47675,0.20617 -8.34213,-1.17202 -3.23597,-1.55644 -5.88353,-4.66933 -6.97477,-8.20002 -0.57672,-1.86612 -0.54611,-5.6998 0.0605,-7.56181 1.39405,-4.27939 4.77072,-7.65133 8.92401,-8.91108 0.93161,-0.28258 2.36752,-0.42587 3.79615,-0.42892 z" /><path
style="fill:#ffffff;stroke:#800000;stroke-width:3.62687px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m -77.763521,-36.178761 c 9.619615,-46.40035 30.418695,-51.515532 56.875183,-48.179963 l -8.841568,17.521986 32.9117237,-22.512386 -34.7850287,-22.328816 10.332629,17.299281 c -32.599232,-12.927401 -62.266407,14.246748 -56.492939,58.199898 z"
id="path349"
sodipodi:nodetypes="ccccccc" /><g
id="g5732"
transform="matrix(3.6268702,0,0,3.6268702,-227.45395,84.145911)"><path
style="opacity:0.73251;mix-blend-mode:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;filter:url(#filter5476)"
d="M 2.3250513,18.968908 V 3.0548142 L 3.6458567,1.2507872 H 21.009615 l 1.610738,1.804027 V 20.193069 l -1.610738,1.449665 H 5.1599507 Z"
id="path5438"
sodipodi:nodetypes="ccccccccc" /><path
style="fill:#098aff;fill-opacity:1;stroke:#0000ff;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 1.9006711,19.457718 V 3.543624 L 3.2214765,1.739597 H 20.585235 l 1.610738,1.804027 v 17.138255 l -1.610738,1.449665 H 4.7355705 Z"
id="path1085"
sodipodi:nodetypes="ccccccccc" /><path
style="fill:#ffffff;stroke:#0000ff;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 4.7355705,4.316779 H 18.910067 v 8.536912 H 4.7355705 Z"
id="path1415" /><path
style="fill:#cccccc;stroke:none;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 5.7342282,22.131544 V 14.883221 H 17.84698 v 7.248323 H 11.01745 V 16.010738 H 7.8281879 v 6.120806 z"
id="path1417" /></g><path
id="rect1594"
style="fill:#ff0000;stroke:#ffffff;stroke-width:3.42696;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;stop-color:#000000"
d="m -302.45845,130.92083 c -3.32874,-0.12146 -6.70653,1.04157 -9.35052,3.50645 -5.28798,4.92975 -5.58758,13.16524 -0.67296,18.46728 l 45.93091,49.54362 -45.9309,49.5507 c -4.91463,5.30204 -4.61503,13.53753 0.67295,18.46728 5.28798,4.92976 13.50307,4.62909 18.4177,-0.67295 l 44.6275,-48.14812 44.63459,48.14812 c 4.91463,5.30204 13.12264,5.60271 18.41061,0.67295 5.28798,-4.92976 5.58759,-13.16524 0.67296,-18.46729 l -45.92383,-49.55069 45.92383,-49.54362 c 4.91463,-5.30204 4.61502,-13.53753 -0.67295,-18.46728 -5.28798,-4.92976 -13.49599,-4.63618 -18.41062,0.66587 l -44.63459,48.14812 -44.6275,-48.14812 c -2.45732,-2.65102 -5.73844,-4.05086 -9.06718,-4.17232 z" /><g
id="g2076"
transform="matrix(-0.74875678,0,0,0.74884077,-152.86415,-136.79993)"
style="stroke-width:18.3065"><path
style="fill:#ffaaaa;stroke:#ffaaaa;stroke-width:4.71203px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 130.41261,-6.5009191 120.3507,-17.529723 c -3.58587,-0.03834 -6.70049,-0.811189 -12.23279,2.184371 -6.13568,4.708636 -9.08363,8.6771206 -11.697736,12.5680914 -2.356257,4.5773464 -1.863141,7.8144614 -1.334529,11.0348787 L 105.77353,18.413555 Z"
id="path1605"
sodipodi:nodetypes="ccccccc" /><path
id="path903"
d="m 135.9335,-1.2599961 13.19226,-8.7458719 c 11.49388,17.0663844 5.74939,22.198517 35.12147,51.64213"
style="fill:none;stroke:#686868;stroke-width:8.79776;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
sodipodi:nodetypes="ccc" /><g
id="g901"
style="stroke-width:1.60584;stroke-miterlimit:4;stroke-dasharray:none"
transform="matrix(1.4790717,-0.77731342,0.74310026,1.5340626,-149.15742,-51.025233)"><path
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.60584;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 165.60421,210.25518 -16.67346,-14.97786 19.49947,-6.49982 z"
id="path886" /><path
style="fill:#ffcc00;stroke:#000000;stroke-width:1.60584;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 148.93075,195.27732 -29.6731,-89.58453 19.78207,-6.217222 29.3905,89.301932 z"
id="path888"
sodipodi:nodetypes="ccccc" /><path
style="fill:#cccccc;stroke:#000000;stroke-width:1.60584;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 119.25765,105.69279 19.78206,-6.217223 5.18467,15.184943 -20.19347,6.3466 z"
id="path896"
sodipodi:nodetypes="ccccc" /><path
style="fill:#000000;stroke:none;stroke-width:1.60584;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 165.60421,210.25518 1.82913,-13.90142 c -1.86721,0.41019 -1.24071,5.14178 -2.26609,5.73964 -0.90416,0.52717 -2.9307,-2.35026 -4.06786,-2.12548 -1.70014,0.33605 2.39156,6.64425 -1.96215,4.47795 z"
id="path1247"
sodipodi:nodetypes="ccsscc" /></g></g><g
id="g459"
transform="matrix(-0.35460277,0,0,0.35460277,-438.58058,138.24925)"
style="fill:#002255;stroke-width:38.6571"><path
style="fill:#002255;stroke-width:38.6571"
d="m -662.34964,-559.66775 c -70.72466,0 -69.69802,-0.11062 -83.09216,8.74132 -8.54984,5.65043 -12.98344,10.1461 -23.34797,23.64549 -4.12433,5.37176 -9.66245,12.31132 -12.30444,15.42128 -2.64199,3.10997 -8.18012,10.04953 -12.30444,15.42129 -4.12431,5.37176 -9.38219,11.72888 -11.68816,14.13204 l -4.19357,4.37066 h -21.88873 -19.38108 v 48.49522 c 1.37916,-0.77683 7.12995,-1.32583 22.71044,-1.73551 14.43579,-0.37957 26.46702,-1.21472 30.9559,-2.14637 10.05848,-2.08757 18.23911,-7.29731 25.74228,-16.39176 3.28917,-3.98673 11.23271,-13.63462 17.65265,-21.43536 6.41996,-7.80076 12.04199,-13.78886 12.49571,-13.31033 1.21628,1.28276 18.78916,43.48302 26.21688,62.96019 l 6.43203,16.85928 -9.7543,20.15322 c -5.36305,11.08459 -18.2179,37.96733 -28.56868,59.7371 -10.35076,21.76977 -29.209,60.86424 -41.90735,86.87487 l -23.08588,47.29099 15.02459,0.79338 c 38.15565,2.01965 45.13152,-1.15895 57.00278,-25.98313 3.38007,-7.06811 13.76293,-28.58284 23.07171,-47.8081 9.30879,-19.22525 23.97481,-49.75362 32.59225,-67.84797 8.61742,-18.09435 17.64774,-36.83276 20.06821,-41.63817 4.09989,-8.13961 4.46366,-8.56285 5.3553,-6.16993 0.5264,1.41271 2.76491,21.07452 4.97278,43.69245 4.73766,48.53376 5.79256,56.34533 8.28088,61.30261 2.19048,4.36389 7.14309,8.80395 11.03645,9.89597 1.51141,0.42392 39.06572,0.76504 83.45343,0.76504 71.14024,0 80.68101,-0.17779 80.5066,-1.53717 -0.10881,-0.84816 -2.02827,-6.55643 -4.2644,-12.68696 -4.74847,-13.01828 -9.96648,-21.13557 -16.47676,-25.61477 -8.99575,-6.18923 -8.56853,-6.14392 -61.02634,-6.31869 -30.64307,-0.10208 -48.41612,-0.53718 -49.07609,-1.19715 -1.63823,-1.63822 -5.52217,-38.09807 -11.65274,-109.42239 -0.22231,-2.58654 -3.17858,-11.20249 -6.7012,-19.53692 -6.40094,-15.14448 -28.97955,-71.64359 -28.97955,-72.51616 0,-0.26246 10.52899,-0.48169 23.39757,-0.48169 h 23.39756 l 14.25955,27.50613 c 7.84324,15.12575 15.38311,29.00425 16.75302,30.84256 3.51064,4.71102 7.43581,6.42494 14.71291,6.42494 12.32719,0 20.57115,-7.50485 20.57115,-18.7223 0,-5.18496 -3.28282,-12.52962 -16.44133,-36.79289 -7.20642,-13.28804 -14.73509,-27.41502 -16.73178,-31.38802 -5.92945,-11.79843 -14.36194,-19.16386 -26.07521,-22.78127 -5.5415,-1.7114 -11.0671,-1.86302 -67.72047,-1.86302 z"
id="path424" /><path
style="fill:#002255;stroke-width:38.6571"
d="m -753.8512,-566.16811 c -8.52108,-2.56886 -11.86171,-4.49643 -17.41238,-10.04709 -11.33331,-11.33331 -15.7182,-29.17548 -10.77578,-43.84681 7.0094,-20.80708 21.85483,-30.47266 45.16339,-29.40502 10.1868,0.4666 19.06383,4.69415 26.60914,12.67221 7.57291,8.00723 10.68769,15.30016 11.22183,26.27472 1.00159,20.57855 -8.13379,35.43302 -26.50834,43.10357 -7.71939,3.22251 -19.95861,3.76246 -28.29786,1.24842 z"
id="path363" /></g><g
id="g1"
transform="translate(-55.210128,202.43714)"><g
id="g4179"
transform="matrix(0.76312701,0,0,0.77627854,-40.069135,25.129865)"
style="stroke-width:1.5242"><path
style="fill:url(#k);stroke-width:1.5242"
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:1.5242" /></g><text
xml:space="preserve"
style="font-size:24.1328px;line-height:1.2;font-family:Symbol;-inkscape-font-specification:Symbol;fill:#ffffff;stroke-width:49.7168"
x="-10.887159"
y="88.867393"
id="text608"><tspan
sodipodi:role="line"
id="tspan606"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:arial;-inkscape-font-specification:arial;fill:#ffffff;stroke-width:49.7168"
x="-10.887159"
y="88.867393">XLSX</tspan></text></g><path
style="fill:#ffffff;stroke:#800000;stroke-width:3.62687px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 86.815949,-75.917529 c -44.12606,-9.92947 -57.94221,-16.68095 -70.14038,35.275638 l 28.44285,3.41314 -46.8067296,23.644053 -16.5468404,-45.754501 17.84500044,11.302166 C 16.928219,-107.63864 57.23415,-91.456309 86.815949,-75.917529 Z"
id="path756"
sodipodi:nodetypes="ccccccc" /></g></g></svg>

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -20,6 +20,9 @@ public class commandes {
public static boolean console = true;
//** Le node du fichier d'analyse
/**
* Le node fichier (correspond au fichier de l'analyse)
*/
public static node sujet = new node();
public static node sujetSauvegarde = new node();
@ -208,6 +211,7 @@ public class commandes {
}
public static void initialiseParametresEvaluation() {
fourniCSV=false;
ecritCode = false;
ecritSujet = false;
ecritNodeAnalyse = false;
@ -226,6 +230,7 @@ public class commandes {
licence = false;
zipfeedback = false;
fichierStudentMoodle = false;
nameSVG="";
}

View File

@ -30,9 +30,13 @@ import MEPTL.meptl;
import MEPTL.verificationFichierAnalyse_node_commandesSujet;
import cXML.Run;
import cXML.node;
import evaluer.evaluation;
import fenetres.evaluate;
/**
* Création d'un nouveau fichier d'analyse.
* @author pabr6
*
*/
public class actNewFichierAnalyse extends AbstractAction{
/**
@ -102,14 +106,10 @@ public class actNewFichierAnalyse extends AbstractAction{
placeIsDoublonInStylePage(commandes.sujet.retourneFirstEnfantsByName("style:style"));
placeIsDoublonInStylePage(commandes.sujet.retourneFirstEnfantsByName("frames"));
commandes.sujet.getAttributs().put("analysis_filename","sujet.xml");
commandes.sujet = ecritureSujet.nodePourEcritureSujet(commandes.sujet,b,0);
// chargemnt de la traduction
evaluation.chargeTraduction(Run.translation());
// try {
// Run.ecritureNodeEnXML(commandes.sujet , commandes.nameSujet+".xml",commandes.path,"Sujet");
// } catch (IOException e1) {
@ -117,8 +117,6 @@ public class actNewFichierAnalyse extends AbstractAction{
// e1.printStackTrace();
// }
new verificationFichierAnalyse_node_commandesSujet();
@ -127,9 +125,12 @@ public class actNewFichierAnalyse extends AbstractAction{
commandes.evaluationChargeEnMemoire = null;
commandes.evaluationsBase=null;
commandes.IndexEvaluationCharger=-1;
commandes.IndexEvaluationCharger=-1; //Car ce n'est pas une évaluation
commandes.NameEvaluationCharger = "";
commandes.analysis_filename = commandes.sujet.getAttributs().get("analysis_filename");
commandes.initialiseParametresEvaluation();
commandes.initialiseParametresSettingProprietes();
fenetres.create.getTree().setVisible(true);
fenetres.create.constructionTree();

View File

@ -43,7 +43,6 @@ public class actSaveEvaluation extends AbstractAction{
commandes.IndexEvaluationCharger=0;
commandes.NameEvaluationCharger=name;
new recupeNodeBaseEvaluations();
JOptionPane.showMessageDialog(null,"L'évaluation encours " + name + " a été enregistrée\ndans la base des évaluations.");
}else {
JOptionPane.showMessageDialog(null,"L'évaluation encours n'a pas été enregistrée\ndans la base des évaluations.");
}

View File

@ -16,15 +16,24 @@ import javax.swing.JOptionPane;
import MEPTL.commandes;
import MEPTL.meptl;
import MEPTL.verificationFichierAnalyse_node_commandesSujet;
import cXML.Run;
import cXML.node;
import fenetres.ChargeFichierXML;
public class chargeEvaluationSelected {
/**
* Charge le node évaluation avec le node sujet.
* @author pabr6
*
*/
public class chargeEvaluation {
public chargeEvaluationSelected(Integer index) {
/**
* Charge en mémoire le node évaluation avec le node sujet.<br>
* Le node commandes.evaluationChargeEnMemoire en mémoire.
* Le node commandes.nameSujet en mémoire.
* @param index
*/
public static void chargeEnMémoireEvaluationSelected(Integer index) {
//* Relecture du node de l'évaluation car le node n'est pas complet
String directoryName = "";
File file = null;
node evaluation = new node();
@ -54,10 +63,8 @@ public class chargeEvaluationSelected {
}
evaluation = evaluation.chargeNodeEvaluationIndex(index,targetString.toString().replace("\t","").replace("\r", "").replace("\n", ""));
}catch (Exception e) {
JFrame frame = new JFrame();
JLabel texte = new JLabel("<html><p>La base de données ne se trouve pas dans le même dossier que celui de l'application.</p><br>"
+"<p>Vous pouvez charger la base de données depuis la fenêtre \"<b>base de données d'évaluation</b>\" de l'application.</p>"
+ "<p>Sinon, une nouvelle base de données sera créé dans le dossier de l'application.</p></html>");
JFrame frame = new JFrame("Erreur");
JLabel texte = new JLabel("<html><h1>Erreur</h1><p>L'évaluation n'a pas été trouvé dans la base de données.</p></html>");
JOptionPane.showMessageDialog(frame, texte);
}
@ -66,14 +73,13 @@ public class chargeEvaluationSelected {
commandes.evaluationChargeEnMemoire = evaluation;
commandes.NameEvaluationCharger= evaluation.getAttributs().get("name");
commandes.path = evaluation.getAttributs().get("path"); //Dossier des fichiers des étudiants
node sujetLoad = new node(Run.ecritureXMLDansStringBuilder(evaluation.retourneFirstEnfantsByName("fichier"), Run.TypeFile.Sujet).replace("\t","").replace("\r", "").replace("\n", ""));
commandes.sujet = sujetLoad;
// Chargement provisoire du node sujet depuis la base
// Chargement du node sujet depuis la base
commandes.nameSujet = evaluation.getAttributs().get("analysis_filename");
commandes.sujet = evaluation.retourneFirstEnfantsByName("fichier");
commandes.PathFilenameAnalysis = evaluation.getAttributs().get("PathFilenameAnalysis");
//** Les paramètres
//** Les paramètres de l'évaluation
commandes.versionEvaluation = evaluation.getAttributs().get("version");
commandes.fichierStudentMoodle = Boolean.valueOf(evaluation.getAttributs().get("fichierStudentMoodle"));
commandes.sansFeeback = Boolean.valueOf(evaluation.getAttributs().get("sansFeeback"));
@ -87,6 +93,7 @@ public class chargeEvaluationSelected {
commandes.fourniCSV = Boolean.valueOf(evaluation.getAttributs().get("fourniCSV"));
commandes.nameCSV = evaluation.getAttributs().get("nameCSV");
if(evaluation.getAttributs().get("analyse_nombres_modifications_simultané_maxi")!=null) {
commandes.analyse_nombres_modifications_simultané_maxi = Integer.valueOf(evaluation.getAttributs().get("analyse_nombres_modifications_simultané_maxi"));
}
@ -102,44 +109,6 @@ public class chargeEvaluationSelected {
commandes.fichierAnalyseValide = true;
//* Rechercher la source
String CheminVersFileXML = "";
if(commandes.os.contains("Win")) {
commandes.PathFilenameAnalysis.replaceAll("/", "\\"); // Sur Windows
CheminVersFileXML = commandes.PathFilenameAnalysis + "\\" + commandes.nameSujet;
}else {
commandes.PathFilenameAnalysis.replaceAll("\\", "/"); // Sur Windows // Sur mac & Linux
CheminVersFileXML = commandes.PathFilenameAnalysis + "/" + commandes.nameSujet;
}
file = new File(CheminVersFileXML);
if(file.exists()) {
if (recupereDateFichierAnalyseSource(file)!=null) {
Date DateFichierSource = recupereDateFichierAnalyseSource(file);
Date DateFichierAnalyseBase = calcul.formatDateWriter.dateNodeSujet();
if(DateFichierAnalyseBase.before(DateFichierSource)) {
JFrame frame = new JFrame();
JLabel text = new JLabel();
text.setText("<html><p>Le fichier d'analyse est déjà chargé depuis la base de données.</p><br>"
+ "<p>Cependant, vous avez le fichier d'analyse qui se trouve dans le dossier :</p>"
+ "<p>"+CheminVersFileXML+"</p>"
+ "<p>Et dont la date est plus récente que le fichier d'analyse qui se trouve dans la base.</p><br><hr>"
+ "<p>Voulez-vous le charger depuis ce dossier ?</p></html>");
if (JOptionPane.showConfirmDialog(frame, text, "WARNING",JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
chargeLeNodeSujet(file);
commandes.path = evaluation.getAttributs().get("path"); //Recharge le chemin vers le dossier contenant les fichiers des étudiants
}
}
}
}
commandes.initialiseParametresSettingProprietes();
try {
commandes.sujetSauvegarde = commandes.sujet.clone();
} catch (CloneNotSupportedException e) {
@ -149,8 +118,6 @@ public class chargeEvaluationSelected {
//Chargement des paramètres du fichier d'analyse
meptl.chargementParametresFichierAnalyse();
//** Remise à zéro de la base dans la mémoire de l'application
commandes.evaluationsBase = null;
@ -158,12 +125,53 @@ public class chargeEvaluationSelected {
}
/**
* Retourne le node évaluation sélectionné.
* @param index
* @return
*/
public static node retourneEvaluationSelected(Integer index) {
String directoryName = "";
File file = null;
node evaluation = new node();
if(commandes.PathBaseEvaluationDefaut) {
directoryName = Paths.get("").toAbsolutePath().toString();
}else {
directoryName = commandes.PathBaseEvaluations;
}
if(commandes.os.contains("Win")) {
file = new File(directoryName + "\\" + commandes.NameBaseEvaluations);
}else {
file = new File(directoryName + "/" + commandes.NameBaseEvaluations);
}
if(file!=null) {
BufferedReader br;
try {
br = new BufferedReader(
new InputStreamReader(
new FileInputStream(file.getAbsoluteFile()), "UTF-8"));
String line;
StringBuilder targetString = new StringBuilder();
while ((line = br.readLine()) != null) {
targetString.append(line);
}
evaluation = evaluation.chargeNodeEvaluationIndex(index,targetString.toString().replace("\t","").replace("\r", "").replace("\n", ""));
}catch (Exception e) {
JFrame frame = new JFrame("Erreur");
JLabel texte = new JLabel("<html><h1>Erreur</h1><p>L'évaluation n'a pas été trouvé dans la base de données.</p></html>");
JOptionPane.showMessageDialog(frame, texte);
}
}
return evaluation;
}
/**
* Charge le fichier d'analyse de l'évaluation.<br>
* @param file
*/
@SuppressWarnings("unused")
private void chargeLeNodeSujet(File file) {
BufferedReader br;
@ -212,6 +220,7 @@ public class chargeEvaluationSelected {
* @param file
* @return
*/
@SuppressWarnings("unused")
private Date recupereDateFichierAnalyseSource(File file) {
BufferedReader br;
try {

View File

@ -13,18 +13,25 @@ public class creerNouvelleEvaluation {
/**
* Mise à jour d'une évaluation
* Mise à jour d'une évaluation.
* @param evaluation
*/
public creerNouvelleEvaluation(node evaluation) {
this.majBase=true;
commandes.evaluationChargeEnMemoire = nouvelleEvaluation(evaluation, evaluation.getAttributs().get("name"));
nouvelleEvaluation(evaluation, evaluation.getAttributs().get("name"));
}
/**
* Pour réaliser une mise à jour ou une création.
* majBase = true pour une mise à jour.
* majBase = false pour une création.
* @param evaluation
* @param name
* @param majBase
*/
public creerNouvelleEvaluation(node evaluation, String name, boolean majBase) {
this.majBase = majBase;
commandes.evaluationChargeEnMemoire = nouvelleEvaluation(evaluation, name);
nouvelleEvaluation(evaluation, name);
}
@ -40,8 +47,8 @@ public class creerNouvelleEvaluation {
//nouvelle évaluation
evaluation.getAttributs().put("date", calcul.formatDateWriter.DateLibreOffice(aujourdhui));
evaluation.getAttributs().put("dateModification", calcul.formatDateWriter.DateLibreOffice(aujourdhui));
commandes.initialiseParametresSettingProprietes();
commandes.initialiseParametresEvaluation();
evaluation.getNodes().add(commandes.sujet);
commandes.evaluationChargeEnMemoire = evaluation;
}else {
//Mise à jour
evaluation.getAttributs().put("dateModification", calcul.formatDateWriter.DateLibreOffice(aujourdhui));
@ -67,19 +74,16 @@ public class creerNouvelleEvaluation {
evaluation.getAttributs().put("analyse_nombres_modifications_simultané_maxi", String.valueOf(commandes.analyse_nombres_modifications_simultané_maxi) );
//Supprime le node fichier s'il existe, déjà pour le remplacer par le node commandes.sujet
node nodremove = evaluation.retourneFirstEnfantsByName("fichier");
if(!nodremove.isVide()) evaluation.getNodes().remove(nodremove);
evaluation.getNodes().add(commandes.sujet);
if(commandes.sujet.getAttributs().get("analysis_filename").contains(".xml")) {
evaluation.getAttributs().put("analysis_filename",commandes.sujet.getAttributs().get("analysis_filename"));
}else {
evaluation.getAttributs().put("analysis_filename",commandes.nameSujet);
}
// // le nom du fichier d'analyse doit correspondre
// if(commandes.sujet.getAttributs().get("analysis_filename")!=null) {
// evaluation.getAttributs().put("analysis_filename",commandes.sujet.getAttributs().get("analysis_filename"));
// evaluation.retourneFirstEnfantsByName("fichier").getAttributs().put("filenameAnalyse", commandes.sujet.getAttributs().get("analysis_filename"));
// }else {
// evaluation.getAttributs().put("analysis_filename",commandes.nameSujet);
// }
evaluation.getAttributs().put("fourniCSV", String.valueOf(commandes.fourniCSV) );
if(commandes.nameCSV!=null) {
evaluation.getAttributs().put("nameCSV", commandes.nameCSV );
@ -87,16 +91,17 @@ public class creerNouvelleEvaluation {
evaluation.getAttributs().put("nameCSV", "");
}
evaluation.getAttributs().put("fourniCSV", String.valueOf(commandes.fourniCSV) );
if(commandes.nameSVG!=null) {
evaluation.getAttributs().put("nameSVG", commandes.nameSVG );
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
nodremove = evaluation.retourneFirstEnfantsByName("fileCSV");
node nodremove = evaluation.retourneFirstEnfantsByName("fileCSV");
if(!nodremove.isVide()) evaluation.getNodes().remove(nodremove);
if(commandes.nodeCSV!=null) {

View File

@ -13,12 +13,25 @@ import java.nio.file.Paths;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import MEPTL.commandes;
import cXML.Run;
import cXML.node;
/**
* Ecriture d'une évaluation.
* @author pabr6
*
*/
public class ecritureBaseEvaluation {
/**
* Ecriture d'une évaluation
* @param evaluation
*/
public ecritureBaseEvaluation(node evaluation) {
String directoryName = "";
@ -82,10 +95,16 @@ public class ecritureBaseEvaluation {
try {
// écriture du node
Path outputFilePath = Paths.get("C:/Users/pabr6/Downloads/test.xml");
Path outputFilePath = file.toPath();
BufferedWriter fichier = Files.newBufferedWriter(outputFilePath, StandardCharsets.UTF_8);
fichier.write(XMLBase);
fichier.close();
fichier.close();
JFrame frame = new JFrame();
JLabel texte = new JLabel("<html><h1>Enregistrement réussi</h1><p>L'évaluation <b>"+evaluation.getAttributs().get("name")+ "</b> a été enregistrée dans la base de données.</p>"
+ "<p>"+ file.getAbsolutePath() +"</p></html>");
JOptionPane.showMessageDialog(frame, texte);
} catch (IOException e) {
// TODO Auto-generated catch block

View File

@ -33,9 +33,6 @@ public class recupeNodeBaseEvaluations {
file = new File(directoryName + "/" + commandes.NameBaseEvaluations);
}
if(file!=null) {
BufferedReader br;
try {

View File

@ -0,0 +1,101 @@
package baseEvaluations;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import MEPTL.commandes;
import cXML.Run;
import cXML.node;
public class removeEvaluation {
public removeEvaluation(node evaluation) {
String directoryName = "";
File file = null;
if(commandes.PathBaseEvaluationDefaut) {
directoryName = Paths.get("").toAbsolutePath().toString();
}else {
directoryName = commandes.PathBaseEvaluations;
}
if(commandes.os.contains("Win")) {
file = new File(directoryName + "\\" + commandes.NameBaseEvaluations);
}else {
file = new File(directoryName + "/" + commandes.NameBaseEvaluations);
}
String debut="";
String fin="";
String XMLBase="";
if(file!=null) {
//Lecture de la base de données
BufferedReader br;
try {
br = new BufferedReader(
new InputStreamReader(
new FileInputStream(file.getAbsoluteFile()), "UTF-8"));
String line;
StringBuilder targetString = new StringBuilder();
while ((line = br.readLine()) != null) {
targetString.append(line);
}
String baseToString = targetString.toString().replace("\t","").replace("\r", "").replace("\n", "").replaceAll(">/{1,}<","><");
Pattern p = Pattern.compile("<\\bevaluation\\b.{1,500}\\bdate\\b=\\\""+ evaluation.getAttributs().get("date") +"\\\".*?<\\/\\bevaluation\\b>");
Matcher m = p.matcher(baseToString);
if(m.find()) {
//Supprime le node évluation pour le remplacer par le nouveau.
debut = baseToString.substring(0,m.start());
fin = baseToString.substring(m.end());
XMLBase = debut + fin;
}
try {
// écriture du node
Path outputFilePath = file.toPath();
BufferedWriter fichier = Files.newBufferedWriter(outputFilePath, StandardCharsets.UTF_8);
fichier.write(XMLBase);
fichier.close();
JFrame frame = new JFrame();
JLabel texte = new JLabel("<html><h1>Enregistrement réussi</h1><p>L'évaluation <b>"+evaluation.getAttributs().get("name")+ "</b> a été enregistrée dans la base de données.</p>"
+ "<p>"+ file.getAbsolutePath() +"</p></html>");
JOptionPane.showMessageDialog(frame, texte);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}catch (Exception e) {
}
}
}
}

View File

@ -33,11 +33,11 @@ import javax.swing.table.TableColumnModel;
import MEPTL.commandes;
import action.actOpenBaseEvaluation;
import baseEvaluations.chargeEvaluationSelected;
import baseEvaluations.chargeEvaluation;
import baseEvaluations.creerNouvelleEvaluation;
import baseEvaluations.evaluationExist;
import baseEvaluations.myTableBaseEvaluation;
import baseEvaluations.recupeNodeBaseEvaluations;
import baseEvaluations.removeEvaluation;
import baseEvaluations.trierParDateDecroissanteLaBase;
import cXML.Run;
import cXML.node;
@ -57,8 +57,8 @@ public class baseDonneesEvaluations extends JFrame { /**
private JPanel panelGauche = new JPanel();
private JLabel lblInformationBaseEvluation = new JLabel("");
private JButton btnSupprimeEvaluation = new JButton("<html>Supprimer une<br>évaluation</html>");
private JButton btnSaveEvaluation = new JButton("<html>Enregistrer l'évaluation<br>actuelle en mémoire</html>");
private JButton btnRenommeFichierAnalyse = new JButton("<html>Renommer le fichier<br>d'analyse</html>");
private JButton btnSaveEvaluation = new JButton("<html>Enregistrer l'évaluation<br>chargée en mémoire.</html>");
private JButton btnRenommeFichierAnalyse = new JButton("<html>Renommer le fichier d'analyse<br>de l'évaluation sélectionnée</html>");
private JButton btnRenommerEvaluation = new JButton("<html>Renommer l'évaluation<br>sélectionnée</html>");
private JButton btndefautBaseEvaluation = new JButton("<html>Base par défaut</html>");
public static boolean isDispose = true;
@ -70,9 +70,9 @@ public class baseDonneesEvaluations extends JFrame { /**
private final JButton btnFermer = new JButton("<html>Femer</html>");
private final JTextPane textPane = new JTextPane();
private final JTextPane textPane_1 = new JTextPane();
private final JButton btnExtraireFileAnalysis = new JButton("<html>Extraire le fichier<br>d'analyse</html>");
private final JButton btnFusionnerBase = new JButton("<html>Importer</html>");
private final JButton btnChargerFichierAnalyse = new JButton("<html>Charger un fichier<br>d'analyse</html>");
private final JButton btnExtraireFileAnalysis = new JButton("<html>Extraire le fichier d'analyse<br>de l'évaluation sélectionnée</html>");
private final JButton btnFusionnerBase = new JButton("<html>Importer des évaluations<br>depuis une autre base</html>");
private final JButton btnChargerFichierAnalyse = new JButton("<html>Créer une évaluation à <br>partir d'un fichier d'analyse</html>");
private final static JLabel lblCheminVersBase = new JLabel(commandes.PathBaseEvaluations);
private final JButton btnArchiveBase = new JButton("<html>Copie de sauvegarde</html>");
@ -132,7 +132,10 @@ public baseDonneesEvaluations() {
lblCheminVersBase.setIcon(new ImageIcon(baseDonneesEvaluations.class.getResource("/resources/chargehistoriqueevaluationmini.png")));
panelBas.add(lblCheminVersBase);
if(commandes.evaluationChargeEnMemoire!=null) {
textPane.setText("Evaluation chargée en mémoire : " + commandes.evaluationChargeEnMemoire.getAttributs().get("name"));
}
//*Le haut
getContentPane().add(panelHaut, BorderLayout.NORTH);
@ -148,61 +151,66 @@ public baseDonneesEvaluations() {
scrollPaneBoutons = new JScrollPane(panelGauche);
getContentPane().add(scrollPaneBoutons, BorderLayout.WEST);
panelGauche.setLayout(new MigLayout("", "[:300px:400px,fill]", "[53px][][][][][][][][][30.00][][][][]"));
panelGauche.setLayout(new MigLayout("", "[:300px:400px,fill]", "[53px][][][][][][][][][30.00][20px:n][][][]"));
btndefautBaseEvaluation.setToolTipText("Recharge la base de données par défaut.");
btndefautBaseEvaluation.setHorizontalAlignment(SwingConstants.LEFT);
btndefautBaseEvaluation.setForeground(new Color(0, 128, 192));
panelGauche.add(btndefautBaseEvaluation, "cell 0 0,grow");
btndefautBaseEvaluation.setFont(new Font("Tahoma", Font.BOLD, 16));
btndefautBaseEvaluation.setFont(new Font("Tahoma", Font.BOLD, 18));
btndefautBaseEvaluation.setIcon(new ImageIcon(baseDonneesEvaluations.class.getResource("/resources/defautBaseEvaluation.png")));
btnChargerNewBase.setToolTipText("Charge les évaluations d'une autre base de données.");
btnChargerNewBase.setHorizontalAlignment(SwingConstants.LEFT);
btnChargerNewBase.setForeground(new Color(0, 128, 192));
panelGauche.add(btnChargerNewBase, "cell 0 1,growx,aligny top");
btnChargerNewBase.setFont(new Font("Tahoma", Font.BOLD, 16));
btnChargerNewBase.setFont(new Font("Tahoma", Font.BOLD, 15));
btnChargerNewBase.setIcon(new ImageIcon(baseDonneesEvaluations.class.getResource("/resources/sauvegardehistoriqueevaluation.png")));
btnSaveEvaluation.setToolTipText("Enregistre l'évaluation chargée en mémoire.");
btnSaveEvaluation.setHorizontalAlignment(SwingConstants.LEFT);
btnSaveEvaluation.setIcon(new ImageIcon(baseDonneesEvaluations.class.getResource("/resources/saveEvaluation.png")));
panelGauche.add(btnSaveEvaluation, "flowy,cell 0 2,growx,aligny top");
btnSaveEvaluation.setForeground(new Color(0, 64, 128));
btnSaveEvaluation.setFont(new Font("Tahoma", Font.BOLD, 16));
btnSaveEvaluation.setFont(new Font("Tahoma", Font.BOLD, 15));
btnRenommerEvaluation.setToolTipText("Renommer l'évaluation sélectionnée.");
btnRenommerEvaluation.setHorizontalAlignment(SwingConstants.LEFT);
btnRenommerEvaluation.setIcon(new ImageIcon(baseDonneesEvaluations.class.getResource("/resources/renommeEvaluaton.png")));
panelGauche.add(btnRenommerEvaluation, "cell 0 4,growx,aligny top");
btnRenommerEvaluation.setForeground(new Color(153, 50, 204));
btnRenommerEvaluation.setFont(new Font("Tahoma", Font.BOLD, 16));
btnRenommerEvaluation.setFont(new Font("Tahoma", Font.BOLD, 15));
btnFusionnerBase.setToolTipText("Importer des évaluations dans la base par défaut depuis une autre base.");
btnFusionnerBase.setForeground(new Color(56, 184, 149));
btnFusionnerBase.setHorizontalAlignment(SwingConstants.LEFT);
btnFusionnerBase.setIcon(new ImageIcon(baseDonneesEvaluations.class.getResource("/resources/fusionneBaseEvaluation.png")));
btnFusionnerBase.setFont(new Font("Tahoma", Font.BOLD, 16));
btnFusionnerBase.setFont(new Font("Tahoma", Font.BOLD, 15));
panelGauche.add(btnFusionnerBase, "cell 0 5,growx,aligny top");
btnFusionnerBase.setEnabled(false);
btnArchiveBase.setToolTipText("Archiver la base de données pour la sauvegarder et la réutiliser.");
btnArchiveBase.setForeground(new Color(128, 128, 192));
btnArchiveBase.setFont(new Font("Tahoma", Font.BOLD, 16));
btnArchiveBase.setFont(new Font("Tahoma", Font.BOLD, 15));
btnArchiveBase.setHorizontalAlignment(SwingConstants.LEFT);
btnArchiveBase.setIcon(new ImageIcon(baseDonneesEvaluations.class.getResource("/resources/saveZipEvaluation.png")));
panelGauche.add(btnArchiveBase, "cell 0 6,growx,aligny top");
btnChargerFichierAnalyse.setToolTipText("Création d'une évaluation à partir d'un fichier d'analyse au format XML.");
btnChargerFichierAnalyse.setForeground(new Color(0, 64, 128));
btnChargerFichierAnalyse.setHorizontalAlignment(SwingConstants.LEFT);
btnChargerFichierAnalyse.setIcon(new ImageIcon(baseDonneesEvaluations.class.getResource("/resources/fichierAnalyse.png")));
btnChargerFichierAnalyse.setFont(new Font("Tahoma", Font.BOLD, 16));
btnChargerFichierAnalyse.setFont(new Font("Tahoma", Font.BOLD, 15));
panelGauche.add(btnChargerFichierAnalyse, "cell 0 7,growx,aligny top");
btnExtraireFileAnalysis.setToolTipText("Extraire le fichier d'analyse de l'évaluation sélectionnée.");
btnExtraireFileAnalysis.setHorizontalAlignment(SwingConstants.LEFT);
btnExtraireFileAnalysis.setIcon(new ImageIcon(baseDonneesEvaluations.class.getResource("/resources/extraireFichierAnalyse.png")));
btnExtraireFileAnalysis.setForeground(new Color(209, 105, 35));
btnExtraireFileAnalysis.setFont(new Font("Tahoma", Font.BOLD, 16));
btnExtraireFileAnalysis.setFont(new Font("Tahoma", Font.BOLD, 15));
panelGauche.add(btnExtraireFileAnalysis, "cell 0 8,growx,aligny top");
btnRenommeFichierAnalyse.setHorizontalAlignment(SwingConstants.LEFT);
@ -212,16 +220,16 @@ public baseDonneesEvaluations() {
btnRenommeFichierAnalyse.setForeground(new Color(255, 140, 0));
btnRenommeFichierAnalyse.setFont(new Font("Tahoma", Font.BOLD, 16));
btnRenommeFichierAnalyse.setFont(new Font("Tahoma", Font.BOLD, 15));
btnSupprimeEvaluation.setHorizontalAlignment(SwingConstants.LEFT);
btnSupprimeEvaluation.setIcon(new ImageIcon(baseDonneesEvaluations.class.getResource("/resources/removeEvaluaton.png")));
panelGauche.add(btnSupprimeEvaluation, "cell 0 11,growx,aligny top");
btnSupprimeEvaluation.setForeground(new Color(255, 0, 0));
btnSupprimeEvaluation.setFont(new Font("Tahoma", Font.BOLD, 16));
btnSupprimeEvaluation.setFont(new Font("Tahoma", Font.BOLD, 15));
btnFermer.setIcon(new ImageIcon(baseDonneesEvaluations.class.getResource("/resources/quitteEvaluation.png")));
btnFermer.setHorizontalAlignment(SwingConstants.LEFT);
btnFermer.setFont(new Font("Tahoma", Font.BOLD, 16));
btnFermer.setFont(new Font("Tahoma", Font.BOLD, 15));
panelGauche.add(btnFermer, "cell 0 12,growx,aligny top");
@ -328,37 +336,48 @@ private void ListenerAction() {
if(lsm!=null) {
if (!lsm.isSelectionEmpty()) {
new chargeEvaluationSelected(indexSelect);
node evaluation = commandes.evaluationChargeEnMemoire;
node evaluation = chargeEvaluation.retourneEvaluationSelected(indexSelect);
String nameFile = evaluation.getAttributs().get("analysis_filename");
JFileChooser fileChooser = new JFileChooser();
fileChooser.setDialogTitle("Enregistrer sous...");
File file = null;
String analysis_filename ="";
if(!evaluation.getAttributs().get("analysis_filename").isEmpty()) {
file = new File(commandes.PathFilenameAnalysis ); //+ "\\" + utils.filename + ".xml"
file = new File(commandes.PathBaseEvaluations);
analysis_filename = evaluation.getAttributs().get("analysis_filename");
}
fileChooser.setCurrentDirectory(file);
fileChooser.setSelectedFile(new File(nameFile));
int userSelection = fileChooser.showSaveDialog(null);
boolean notError = false;
if (userSelection == JFileChooser.APPROVE_OPTION) {
File fileToSave = fileChooser.getSelectedFile();
try {
if(commandes.os.contains("Win")) {
Run.ecritureNodeEnXML(evaluation, fileToSave.getName(), fileToSave.getPath().substring(0,fileToSave.getPath().lastIndexOf("\\")),Run.TypeFile.Sujet );
JOptionPane.showMessageDialog(null,"Le fichier d'analyse a été extrait.");
notError = Run.ecritureNodeEnXML(evaluation.retourneFirstEnfantsByName("fichier"), fileToSave.getName(), fileToSave.getPath().substring(0,fileToSave.getPath().lastIndexOf("\\")),Run.TypeFile.Sujet );
}else {
Run.ecritureNodeEnXML(evaluation, fileToSave.getName(), fileToSave.getPath().substring(0,fileToSave.getPath().lastIndexOf("/")),Run.TypeFile.Sujet );
JOptionPane.showMessageDialog(null,"Le fichier d'analyse a été extrait.");
notError = Run.ecritureNodeEnXML(evaluation.retourneFirstEnfantsByName("fichier"), fileToSave.getName(), fileToSave.getPath().substring(0,fileToSave.getPath().lastIndexOf("/")),Run.TypeFile.Sujet );
}
if(notError) {
JFrame frame = new JFrame("Extration");
JLabel texte = new JLabel("<html><h1>Extration réussie</h1><p>Le fichier d'analyse <b>"+ analysis_filename +"</b> a été extrait de la base.</p>"
+ "<p>"+fileToSave.getAbsolutePath()+"<p></html>");
JOptionPane.showMessageDialog(frame, texte);
}else {
JFrame frame = new JFrame("Erreur");
JLabel texte = new JLabel("<html><h1>Erreur</h1><p>Le fichier d'analyse n'a pas été extrait de la base.</p>"
+ "<p><p></html>");
JOptionPane.showMessageDialog(frame, texte);
}
} catch (IOException e1) {
e1.printStackTrace();
}
System.out.println("Save as file: " + fileToSave.getAbsolutePath());
new recupeNodeBaseEvaluations();
}
System.out.println( "Save as" );
}
@ -471,12 +490,12 @@ private void ListenerAction() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2) {
if (e.getClickCount() == 2 && e.getButton() == MouseEvent.BUTTON1) {
System.out.println("double clicked");
System.out.println("un click ou deux click");
if(lsm!=null) {
if (!lsm.isSelectionEmpty()) {
indexSelect = lsm.getMinSelectionIndex();
// new chargeEvaluationSelected(commandes.evaluationsBase.getNodes().get(indexSelect));
new chargeEvaluationSelected(indexSelect);
chargeEvaluation.chargeEnMémoireEvaluationSelected(indexSelect);
commandes.IndexEvaluationCharger = indexSelect;
if(!create.isDispose) {
create.getInstance();
@ -511,42 +530,32 @@ private void ListenerAction() {
/**
* Bouton Sauvegarde de l'évaluation en cours.</br>
* Bouton Sauvegarde de l'évaluation en cours</br>
* avec renommage de l'évaluation.</br>
*/
btnSaveEvaluation.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(commandes.fichierAnalyseValide) {
String name ="Nom de l'évaluation";
if(lsm!=null) {
if (!lsm.isSelectionEmpty()) {
indexSelect = lsm.getMinSelectionIndex();
name = model.getNameEvaluation(indexSelect);
}
}
name = JOptionPane.showInputDialog(null,"Donner un nom ou renommer l'évaluation.",name);
if(commandes.evaluationChargeEnMemoire!=null) {
String name = commandes.evaluationChargeEnMemoire.getAttributs().get("name");
name = JOptionPane.showInputDialog(null,"Voulez-vous renommer l'évaluation ?",name);
if(name!=null) {
if(!name.isBlank()) {
if(evaluationExist.isEvaluationExist(commandes.evaluationChargeEnMemoire.getAttributs().get("date"))) {
//L'évaluation existe déjà
new creerNouvelleEvaluation(commandes.evaluationChargeEnMemoire, name,true);
}else {
// Nouvelle évaluation
new creerNouvelleEvaluation(new node(), name, false);
}
new trierParDateDecroissanteLaBase();
new recupeNodeBaseEvaluations();
model.addOrUpdate();
table.setModel(model);
selectRow(commandes.IndexEvaluationCharger);
new creerNouvelleEvaluation(commandes.evaluationChargeEnMemoire, name,true);
}
}
}else {
JOptionPane.showMessageDialog(null, "Le fichier d'analyse n'est pas valide.");
String name = JOptionPane.showInputDialog(null,"Voulez-vous renommer l'évaluation ?","Nouvelle évaluation");
if(name!=null) {
if(!name.isBlank()) {
new creerNouvelleEvaluation(new node(), name,false);
}
}
}
new trierParDateDecroissanteLaBase();
new recupeNodeBaseEvaluations();
model.addOrUpdate();
table.setModel(model);
selectRow(commandes.IndexEvaluationCharger);
}
});
@ -561,23 +570,12 @@ private void ListenerAction() {
"Suppression", JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE)==JOptionPane.YES_OPTION) {
indexSelect = lsm.getMinSelectionIndex();
if(commandes.IndexEvaluationCharger==indexSelect) {
if(JOptionPane.showConfirmDialog(null,"Vous êtes sur le point de supprimer l'évaluation encours d'utilisation.\n"
+ "Voulez-vous vraiment supprimer cette évaluation?",
"Suppression", JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE)==JOptionPane.YES_OPTION) {
commandes.evaluationsBase.getNodes().remove(indexSelect);
commandes.IndexEvaluationCharger=-1;
commandes.evaluationChargeEnMemoire=null;
}
}else {
commandes.evaluationsBase.getNodes().remove(indexSelect);
if(commandes.IndexEvaluationCharger>indexSelect) commandes.IndexEvaluationCharger--;
}
node evaluation = chargeEvaluation.retourneEvaluationSelected(indexSelect);
new removeEvaluation(evaluation);
new recupeNodeBaseEvaluations();
model.addOrUpdate();
table.setModel(model);
//selectRow(commandes.IndexEvaluationCharger);
}
}
}
@ -591,7 +589,9 @@ private void ListenerAction() {
public void actionPerformed(ActionEvent e) {
if(lsm!=null)if (!lsm.isSelectionEmpty()) {
// indexSelect = lsm.getMinSelectionIndex();
node evaluation = commandes.evaluationsBase.getNodes().get(indexSelect);
node evaluation = chargeEvaluation.retourneEvaluationSelected(indexSelect);
String nomFichierAnalyse = "";
if(evaluation.retourneFirstEnfantsByName("fichier").getAttributs().get("analysis_filename")!=null) {
nomFichierAnalyse = evaluation.retourneFirstEnfantsByName("fichier").getAttributs().get("analysis_filename");
@ -615,7 +615,12 @@ private void ListenerAction() {
evaluation.retourneFirstEnfantsByName("fichier").getAttributs().put("analysis_filename", nomFichierAnalyse);
evaluation.retourneFirstEnfantsByName("fichier").getAttributs().put("filenameAnalyse", nomFichierAnalyse);
evaluation.getAttributs().put("analysis_filename", nomFichierAnalyse);
new recupeNodeBaseEvaluations();
new creerNouvelleEvaluation(evaluation);
new recupeNodeBaseEvaluations();
model.addOrUpdate();
table.setModel(model);
}
@ -627,13 +632,13 @@ private void ListenerAction() {
});
/**
* Renommer une évaluation
* Renommer une évaluation sélectionnée.
*/
btnRenommerEvaluation.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(lsm!=null)if (!lsm.isSelectionEmpty()) {
indexSelect = lsm.getMinSelectionIndex();
node evaluation = commandes.evaluationsBase.getNodes().get(indexSelect);
node evaluation = chargeEvaluation.retourneEvaluationSelected(indexSelect);
String nomEvaluation = "";
if(evaluation.getAttributs().get("name")!=null) {
nomEvaluation = evaluation.getAttributs().get("name");
@ -645,7 +650,6 @@ private void ListenerAction() {
model.addOrUpdate();
table.setModel(model);
}
}
}
});

View File

@ -23,7 +23,7 @@ import javax.swing.event.ListSelectionListener;
import MEPTL.commandes;
import action.actOpenBaseEvaluation;
import baseEvaluations.chargeEvaluationSelected;
import baseEvaluations.chargeEvaluation;
import baseEvaluations.myTableBaseEvaluation;
import net.miginfocom.swing.MigLayout;
@ -145,7 +145,7 @@ private void ListenerAction() {
if(lsm!=null) {
if (!lsm.isSelectionEmpty()) {
indexSelect = lsm.getMinSelectionIndex();
new chargeEvaluationSelected(indexSelect);
chargeEvaluation.chargeEnMémoireEvaluationSelected(indexSelect);
commandes.IndexEvaluationCharger = indexSelect;
evaluate.getInstance();
dispose();

View File

@ -498,6 +498,10 @@ public final class create extends JFrame {
toolBarPrincipal.addSeparator();
JButton btnSaveEvaluation = toolBarPrincipal.add( new actSaveEvaluation() );
btnSaveEvaluation.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
});
btnSaveEvaluation.setIcon(new ImageIcon(create.class.getResource("/resources/saveEvaluation.png")));
btnSaveEvaluation.setHideActionText(true);
toolBarPrincipal.add(btnSaveEvaluation);