From f72f66af470f8daa71aa21bc851f4e6297df93c1 Mon Sep 17 00:00:00 2001 From: pablo rodriguez <58742538+1-pablo-rodriguez@users.noreply.github.com> Date: Sat, 14 Dec 2024 15:20:04 +0100 Subject: [PATCH] maj --- base_evaluations_analyseCalc.xml | 2 +- .../Classeur2$feuille$colonne.class | Bin 3657 -> 3657 bytes .../Classeur2$feuille$graphic.class | Bin 25656 -> 25656 bytes ...ur2$feuille$ligne$cellule$validation.class | Bin 3748 -> 3748 bytes .../Classeur2$feuille$ligne$cellule.class | Bin 15317 -> 15317 bytes bin/AnalyseCalc/Classeur2$feuille$ligne.class | Bin 6461 -> 6461 bytes bin/AnalyseCalc/Classeur2$feuille.class | Bin 12798 -> 12798 bytes bin/AnalyseCalc/Classeur2$historique.class | Bin 7565 -> 7565 bytes bin/AnalyseCalc/Classeur2$modification.class | Bin 2498 -> 2498 bytes bin/AnalyseCalc/Classeur2.class | Bin 22337 -> 21356 bytes bin/actions/actNewFichierAnalyse.class | Bin 6583 -> 6563 bytes bin/calc/commandes.class | Bin 12089 -> 13157 bytes nodStudent.xml | 1 + src/AnalyseCalc/Classeur2.java | 81 +++++++-------- src/actions/actNewFichierAnalyse.java | 53 +++------- src/calc/commandes.java | 35 +++++-- src/calcul/enumerations.java | 30 ++++++ src/evaluer/crearNodeAna.java | 40 ++++++++ src/evaluer/evaluer.java | 59 +++++++++++ src/evaluer/evaluerAttributEtContenu.java | 16 +++ src/evaluer/evaluerLesFichiersEtudiants.java | 93 +++++++++++------- src/evaluer/evaluerNodesClasseurStudent.java | 55 +++++++++++ src/fenetres/proprieteFichierAnalyse.java | 2 +- src/xml/LecturesDossiers.java | 9 +- src/xml/ecritureFileXML.java | 25 ++--- src/xml/node.java | 6 ++ sujet.xml | 2 +- 27 files changed, 368 insertions(+), 141 deletions(-) create mode 100644 nodStudent.xml create mode 100644 src/calcul/enumerations.java create mode 100644 src/evaluer/crearNodeAna.java create mode 100644 src/evaluer/evaluer.java create mode 100644 src/evaluer/evaluerAttributEtContenu.java create mode 100644 src/evaluer/evaluerNodesClasseurStudent.java diff --git a/base_evaluations_analyseCalc.xml b/base_evaluations_analyseCalc.xml index eebd5f3..d1fd3cf 100644 --- a/base_evaluations_analyseCalc.xml +++ b/base_evaluations_analyseCalc.xml @@ -1 +1 @@ - EJ - ???Page 1(???)???, 00/00/000000:00:00Page 1/ 99 \ No newline at end of file + EJ - ???Page 1(???)???, 00/00/000000:00:00Page 1/ 99 EJ - ???Page 1(???)???, 00/00/000000:00:00Page 1/ 99 \ No newline at end of file diff --git a/bin/AnalyseCalc/Classeur2$feuille$colonne.class b/bin/AnalyseCalc/Classeur2$feuille$colonne.class index 1eb2e1d9afc78619dad4850275d82dbf5e67cc08..0ee05070d24b2887117b8c1c68a7f8cfd25ea2b3 100644 GIT binary patch delta 176 zcmX>pb5dplE0=CA11C!g13ybDgD6WHg91w)gDOitg9%FkLl{dTLj_9_!z`9!hCM7L z4EI<{Hyd$PFbUh&D#c=Q?POcvv{WnBmqTLc!%=QU?sHhDR(E9+{Y*czZ% F1OQjpb5dplE0=B#11C!|13ya&gD6WXg91w~gDOiNg9%GMLl{c|Lj_AA!z`8}hCM9B z4EI<{HXCtOF7b8DQ@8qZ4 z%NZw5?&Yy%oyNe*GJWz#Uh&D#c=Q=(PZr~~WnBOiTL>1*=QU?sI(a#-E9)wt*lM6y F1OQ6YE?xit diff --git a/bin/AnalyseCalc/Classeur2$feuille$graphic.class b/bin/AnalyseCalc/Classeur2$feuille$graphic.class index b1b872bc421886aebbeff139ba8934b47897ea2f..4095841452a193ec82ccfb83d6240d09b0a7f9c2 100644 GIT binary patch delta 2078 zcmb`{=VO&c76$Ms=XvJ6HwjIVjzLNYWkZNkg7o52l+I$15E2$yr0jwL62z+@t{{pK z5m#v<5K2}8K?uD!g-`-4kf0#aLs1F6?A`k}?5Fvi^X-{AXL9%H+vR8d9`_vb* zUwtEo)n+-OPRUVKEcv>$9M|RLgsv+mbwfF&d&y}%Mhf(oQm8k`8C@tp=_m5Di44eD z(?-sjLGp|FP|lmB@~inlE|?;@XiLZyTUM^x#&XTJl_LAPT(_xm(@vIKcB=elr%SP2 zC3kGT+_lAWPs+)CX(|t-pFETa@<`^(W7#fGCAa2xAL`GYJu#h?1OwQe1)3Jcu&9iDz7CJnQ06&c&m=Ym17m6Dql$sNxb()ukZP z4MjCK8r5AoYPdP5>9(MjJBujKpte^7(Ow7C@rIzTHx>1~EY$b%5Hrj>jt1Uc#QG|r zp|2U@eEspFFMyYP-=L9iCmQ=Mpo!n1sXrR={?2ITAC8y()6v|&3N8HkXz4FTtFUrt z9o7_W!up|Y*aWl-n~(Nk+tDHHJYEU+@aORQ=osDuopVaPv`qqC|35E|ZfZBWt1IZC zBhXXFqL=QC-Z~9^^jy5I7a&0|LqEL^Z|Fnlug@V-Kg9qO7QjGL0m&v7gH1f%G%Yd2 z^u{ogh~Xv$BTO1bnHd;uvhcRaL#jD}G3FA+nj(y|Wsqi@Al)Wny!`<0+gbR)uE2*j z8&mCeOtbs(nJvH!dl|E|Q%Vh1ex>Xc?P*`I`k(wdCoewJ7nq|w%v0f*uc}~ys*A-c z4og&HWU78xs#35_y@};26)V&fWT^%Cw_1enR2EjMY-ForSf%bEM=Pw+g70;0tkqqx zPX8Ub`g5$;x!9l!vC$}OGBvQv)WdGm0DDX?>@{y-pGgW}zZroa&14)fQ*baCIM1xW zA+r*PO+Jp8yT~_Bam-pAw^2A@JL5lgBu?54oU-e1IvBFRK1HEa$FEWs7bFH3r6(>) z5-!VFT#-+4Rc7Lve1#&JhwHKfH{>F2!jD_Q75E*2M)(8qxQ#>}{i{Y+0BV22iaGhAvb!90xhNazHmT|jS z(H&qVca&A!Emrjmt9g-p!E4BxUN_c?^pY9vy~jGMT2G!&h_-cGPXzN&l5y^gsEkUdGq- zkL;?iv%4wD9wwGOO;7eRsqAfLvyWNNznB8{HIJEKpJzYYn*D7G2iVC>vY8xc_cPgE zV~Rxd;UJ0OVCl{wGMayrS$s>@ahROqaCyiPsKSwG$$wxVM`04*#$u*oFUQ~t#|E!z z9P2QRT{xa^@g07`30%o{d4z$SI}@(Xo|v(;UGsWtzl$**)Beyv~R9Nm|5^*fxW7jV8_&ILM;3w0sC)pxka zXf8HkTw-FFX_|7W>Ca{6eJ(ePxyq~zaJ5;(9CMOu%p-npBe~YL<2pNpxpo@Y+iY&I z$GFkn<0h%h&C-fnWDvK?N8Bb^+%AW?LvC{?%5x81;9f*=A3AeCM)CmCf$+ z!X6&R)nMup!O>~ReD>inrt>5NlX!|B@iZ5*fSD}hDxTq5{uJ!|%qKkOJpSS$c;3bG zSJ#^tTpF*ri7axY%lth!U4M9vx4qIV_MYP%FP?Y3MBeiz@{yOx z$KGl_@ec5*cf={Lz-jNSGvPjQ)>qq!uZxSw>6}ncdOxS4T{+dml~?0k1+~akR9jpn zwbNBr2VE6))K%4f_q=Z7B6Yf}rdPY_dXuZ6x4WA9zN=+oU2W6MMVnTxjv43bnrv6k zTy`-T2NIX*xQx~V%VvB$AWAn0Y2Sbt-8`g-q!`^gq#i-F4{3H#9YZQiiqfx!RAFG0 z?jBS--6vFkJupTmgmgBj#E@zx$LQpch6Xh_q?O50dT2;RL5&D0IweMr3TZ@21B_8{ TV>7-@>8sO&y=O8?4vPLSC=M*S delta 2078 zcmb`{=YQ2j76$Ms=XvILZ$fpc!V)1ELJI)_3DS{8V38J<8d7LWQ^e2|FAK{qMMVjS zD;;pRcfX7xI&d2*`g- zbICV-<)ZnA{A`xXC38?Nn_F_l7M5$agj~1v<%Vq`H*I&hWmDyjog{bdRJmuT%YC~> z3hYUFU<>4-l#)l%Kpsm^c_QQFsVtCZvQwVRB`CQ8jc^#$ghdAkJ^(NiL|{D}&ceeJ z_*f2pHbxi|5zYxH%qb|sRVd0MD8{=e?uy|RR|h3s97?$sDC63otm}+&t_RAy6jX47 z5aC9kq8p1!ZZ0C-HdJ=`c-=FI@*+{iYlUcUAgX#(QO(OhbuR}shj^zE<2^(zUm3*u z8ltwZH|qETc*C~{b$z>0&vym&{SI&XqtU?M7IFTeXy~7gxBP3+$bS-z{RLX(*Q{kAe%4315h9#;F zma6(#rg|b>rC_-lfE6kgE7cUNQVWrxmf+ti1K+7ktX8LxsUBgiR>;zVb-D_^*X^)g zzmE-iCbD%lHtIZVG76hbBzBwX*kfv8ujzt)rWf{`!~hPMVK`_e;gFev!@yONvh$p#Ndi_#xIhH zt1=4LTL;N5>QN_<%lFmVWm-!(1bVyJjrp+OV*Dmqpx27IpJj%ol3B$Y&uDK3%X;$}<1J$?FN3k(-r#zib+d}M zy5j3awy7k7@F{XByl(<(Fy` zXQ=I*sg7`#y2`KAL(bNkUu*JTx+=fXZ*Y$8#<}`q&eIDyU$5i>ox?>skBjvKerq(B zm@qCiFonFW8q-(+QISZ%9Fv4oMB)h&vG))aWT&`ow;1YJg(=3VD%GUFyDE+=nC;?7t2d7 zo|oMi-f$Cm)2-xfm&H3Sn|Iv>-gDRZYjC=L^BjNoit)Zzk_BEIA9x9T=uO~LFP+c4 zwS4X!=8NE9z4UUO^75Sy_lYyUD$e@ax$vyEJ*rE52^H;1s!pzy`pA`5OI#VX&6QQV z-K*+|E2mDl^4jnIsGGYAdaR4kYh6XX#Z}TfU8H{ODw|jrWg5CFrm2fIqg_>#>8hD) zu4dZdgcZ7WTC=1QY18^d>G~lZ=o6#g3aL}1T>2@KNNs7`P zf@-PbL-m}b7~MUj{GfV=R5>|DCxtX9sD2@>PL9%l4e3@;Lqm#AiP6JD8kSNEsS0jn S+P5j)^qAn@D``dgM*kOLQ7hR1 diff --git a/bin/AnalyseCalc/Classeur2$feuille$ligne$cellule$validation.class b/bin/AnalyseCalc/Classeur2$feuille$ligne$cellule$validation.class index 40d10ae08f7e8fbb9e8eeff4ca659a895cba005e..35f4ef2b0ad4f9b99e8564ab5a99f9df1c5b63b1 100644 GIT binary patch delta 221 zcmW;AJxhXN7>42NzMmxT%lCQH)W}E?gWiOoAZT)Eur1mGho**x#>SS`hQQ%j9UYp) z{y@JWaBFI8(2PFmiwu{OgR@)imit$k^HT-!GW_Jce7#e@A} zOh}F*TU0rqlS9tP31{V!Y3b4AmXv2^w7^KW>9xgJ&p4+YX7z?Sz304B=3Rvax5EXu z%MwljR6`Pl(h|&uh;4+tJz~+usMr(gTn>Y%A=Qxe4O#hbF&z1|)GAU;Lfh|4efnN} PBI{Fa#))i%R=hU>=QlDR delta 221 zcmW;AKTCp97>4otc@9?3?R(xd6O_p5e+=Aw3)(I;k|a>CM%g4p`V*((b6hO!N?$(7KHYO)$Kz9yAv^P%Odsdc2d5!(Jps2 diff --git a/bin/AnalyseCalc/Classeur2$feuille$ligne$cellule.class b/bin/AnalyseCalc/Classeur2$feuille$ligne$cellule.class index d8a811c5c21aa27a21b79337d4590def7e77cc79..4e699e7b101f39af2c3c7015060b690ef7992676 100644 GIT binary patch delta 1214 zcma)){ZG|p7{;I1@44w13qJoj+}ogYI6AHf5V+O6zgRX@?|3mWG4#cMQo7&;#uX1Viki@m5+_80h`o8Jf|*Ti<&~2z8_n4Br0?c zD)lZ@>2_4>bJ(UQU^hIl-3UjGk%d}g2kMLi*lF}*mvJ30SlrNH2?)W9mJIB%*wJWt z2QOJpqscM~2Q>D=3$Gvs&B(%Q$VUsR@K&d{&t`3JzfEZ$n9@2-X&;)>4w}*qnbJOH z_2^>n<1ib*5jKHOxCf5%a2(@V_>}L!aee^ZydNj{b)4k4@R@MKDKQH@!Uw&=52uCA zjy{osevyH%L=Mi1LJSBy&WUCWiZ+}V9T*ZlxFCMOu(*t`#T3p;g%Rn3%hDBBq!)gY zff$vc_*ur_s*J-gG7Z1V0$h`&7?V}_P1aysw%~?r#h^a8r)smYl(V%7SU-iWxPFxU!N^0VGuzDHTO`s6=v6d32|$CRbHYZmNOqQTxfG z^OFA;{Jsa63q8nYlP9y%LoA5A*kYQ)lF7UC$Xv46{g@B=vv``zQfMAar2v*gfvl3| zvpQP9_R!;OA1!396wC%GgiTW@e~fHAox=GxTEtr^g7;DsAE0PHM2q<(E#cD?D+DbS zkI*s^PYEK05=AOKAu1_Jyh+L8BrO+LDMkEFPl_9MS}EOWm9$Z+jHcBxm(t`jlrBpt zLsruo`8H+B9$G7}QI>L{b!t9kt5uYvGAUPOQ=TfO^{R>TRTmYg@2F5s(*`|0T<=XK1UwLKTLlD#PD}o;U8MY9om3Mg(m)qN&EnqgrD( z)fr8+(`cr8ql0!C=V`ZNEa=Ne8*lG6>1D_F!Hf7_$6$!NV_t}r?{iX-NpCo*&7}P% zMd){#ruQ7#wtF4Ep@F>3*%pUdd54qQLw)rjbJ6Ks{9!J-ocThVuRdz#$ILvIcRRD= zHY-2nq?@(?-s_~uFkgMf-1R%(*MgSAS zgb?-s!k8Dr*%a8A5A5u5I9MPeSs0#SF^Fbyc!4D$fz3lA%SRF`!CY2`WLAk3wjD3B z6PU*aF`rwI#-}5lr{HB?fdzaEGWaoM@&RNCiELp-j!42nQHEUM!Xk0Vi9B%yi^W~! zOFtCIcofPKERh>gB-^l5_M=$d#xmuDS5+*^R1wNm6PBw_QK7!V3N?n6`XN;6Xsp)x zSfgJ@mEMcB`XXxdEz}y`a2gRT7kn4mc{h&pVVvN1a8gXfDKQzRg+Dq(AUcKJ zi8CSGHAz6oExeX(-1vh0Y{xCn|Px&SOl4mh0rqH9zN3Jb2 zPCP;JB9RhBDkX_@nj@-cuGm4z;v}VrpJ<-=jZ(!;C(V~$^pdnwnv9`zSwIWqGRlzU zlqqW{OMXPzvV(Hu4O*x?C|8BhB9%sqRSxB=JStG7RH!!55_OP@)VH)$jZ?9nO0VcR zD%HtUrctcpXsR-%dr-A8fz}$KRBJ?$(}rscL=DDfT5q&cqtQoix`sl}O>4fl+oZQ$--ShTm#a72%QY+9%D1?w#H8(R+HKMY zCPnF;Ow-4%Jo_Y9fGwEsa<`>6E8pj)y|w_o-&}m|Ui@w@4!HBD?E(6TnIARtINt8g z+U-_;%1!^;gLsFVq8$PHoVn|AzkkgU%rCg}vkoiobB#EnbidhtW47L|goq%1)wL!f F`+s*PJtzPG diff --git a/bin/AnalyseCalc/Classeur2$feuille$ligne.class b/bin/AnalyseCalc/Classeur2$feuille$ligne.class index ba1c870ac60644756ad7c79d07006d8f4cee5806..b3e3842f3cb2928538680e109db037dcff2d7015 100644 GIT binary patch delta 394 zcmajYJ4=FL7{>AYe%|cT3N*r09Bhz^rV;`Xm!PExsZS6MP1)4e;ub`u$vbq^qUcD4 zAT6bIK#C3!lvxgG2g^>MATWA(zd+Od0< zq!xt9i&<*J9Ccux1`(k!qO^+z%3_g9SYjQP*@jha#Txfuorkc&A#Cv!wmE_wzLqzS zSUh5CE(`4aliHW51a;zo{5Yf_j%WrcTEQtLa7HPdQyLdCeJRs7GM#2UZn+W}uErhv zaL+2Te2)jtA;$&e1>;fJ@FW~~7F`~^hyfJDFkVFfZ( XZD6~mJ}HN$sFYJZv3hw_RcxL=1_5xM delta 394 zcmajYODjZi7{~GF`5&j>nWh+OZWM})te8@gjj|z$S0D>3V`XPEJIOFZXEC|Vh;qp# zYO-(_lFLGk8Ah24hH-fZLjIjMVD)@@ev9wEd*8j;VCfB#2_sYhA6YR3)nVUn6LMXi{oe$3DWLbQc2-D8%1Fvlw9*@*?N$0B!Oi3hOE0jzQmYaGHlN99dp zBNDRI=6SdON$tqgF16u+JUApjj%X4mw16|(!#SPef?~Lo=_{Fz%JdCuh_M-QF2pT& z;Er`9IDrRFA<0>!1S2h+$cQpLiuOi4i9S4wL1cv&FT#gc;YUs!<4s)SU8M0LzVIo2 zkx@#JRBG_8bR({KG>!~e8<q?_jh1wQ#<%tk_*#WGE+PGgRqt Xaj~HusZv8>sS5qf(Zs{L;%xi_zkhH_ diff --git a/bin/AnalyseCalc/Classeur2$feuille.class b/bin/AnalyseCalc/Classeur2$feuille.class index c39ef16a9bda4bc5b039ae9bf46f379418dd6dca..dda6adaa52b775dcb3a3676d7ad5c2add1bb3daf 100644 GIT binary patch delta 1036 zcma)&{ZH3b9L3N3ecr?~f{7(y`UUMvJj^g#D1qQJ*n9|evCL|gR%$qGE5Q6pzNdqKvE=Lb*y6KRpO&dwWWv#HF+xIW%mwR6Kym#+8_YSWfUfr}k zIq*IrwH~9?L!$0Ovc3hM?uTFB##C)Uz8=5=J&000gmV1=b^0L=>tS^1N9fg$aa$Wj z^{6E4amm#tS>|+=o|H8jl=a#y?>KGLPbH|W(yE`yfYTvulM!v#aP838B<<892aEKq zuFx-arJmDjr`z>>(3dj90^k47ei!kiUcx%#^_nb>Q{`@0jEQZ*MFG6J2*C&;wuqJ@%mB|z0Ik9NefY{qYOv+ zVL1rnR4*-Up5%rmfwc6nna(Tpj;1Y=*}(iE8=qUDYjhNxkZUmgw7B}Zi;8Z+51 zPyI*1rIW8oU>%ej5WyGWV>xoT5z|vX z0RH4wQPxN}Uy}sBF3EgD9^^L3Wv%3KrxdeJp5`vuz}>Qud!&kQN`UpUgL}oJC&%Kr zPnx)2f~=G?Jm`JlzasC2+O?$TN%1k)?i0lDI7YJxnLL3!o`G~Lr7d+Di7rNltm}qm5X>(oZJQP?7=G#Inu}56kVmxC@P;N`H*-BAo%g|!W M(PL%atem!g0Rd?UVgLXD delta 1036 zcma)&`%l+Z9LAsb`*{=h0F{|s(l1C~6r7SZF9;^732mrh4wvbgrDYg}Kd3-{rJEv_ z$|tvit=Y0{;05|hg*pLmtEDv8vSs3BEnOJX$~MIToxXoTzntfFp7+jqo^u9Q46bO| zk{tLLk-7tMT8~8akgV^+r@P?S5Ad*lh&*k;JZ(gYeu8q{gF5{bd-XG%(7m{j9an2W64dW!fq$^$RJ}pnT-CS-+B?el6|VE`3h>^@t4VF%8!ajZM-{o#mid zPwHYlrAzg+Ryp0G-voUr(=G7B|Lpf8mg{-EtQWCXdr+m9P^*`*U9X_aX}A7{3wjN` zdR?f$OPuz~XuTOOf7|Rr-%?(>wB|+n>+@Ia8p6a$Sd{mylZ&9Y)n9 zG<}=UdPZm?BXu{Uw29GriZS{fW3|s|KjUR&?Jza8J6$7nclwiVkroD@na{-+z>tOs3=4YWBsx)L_awy4bg}U zzbyZcf(tXQNnkaUWr*M!`1lHPSdK^d8cJA!7q}KLy4gCeLlxJfh8xhpN;I(=-|}^w z;YQqHK$M##oHdfbHzb*F%A4z+8`%$34@uHAmb@BoJKAhOtkT(%;gK|IStC}$fg+^mL& zv6)A(hevUU$8e4v_?2DwlgA~3hh-#Bd(*}bC7g9%){Sg_k7YcIGM@7av(Bgf>|TEX zQM`zF_Fx(>q15pzUO^?VdNZ;+6K=S3e;|c@n9LiP#hYI2gziyyo!gI8-g7q&pooKb zhIjFjN$~cBXbD6i%%Tx)F^IHS#8@2SEgr*dIFf7xe3pnz8;MEw0H)X|Ot&OFW~rEG z4`RNJ#$p?TCFa9YOT%i*K!rVo4d%xt%fx0Ihpjdq?^+giS~i+(GCBaPM3h@w(TOe~ zxN%}Y=FC8Z<+{%}2Q{K(#%EIx9h& NEkci#dIdR0{{;$02z&ql diff --git a/bin/AnalyseCalc/Classeur2$historique.class b/bin/AnalyseCalc/Classeur2$historique.class index 98fc3909e5526b17c25c0a81be2aed62bb49ceb6..c76090a075dabbce5465c006d737d20dc5c6c7d8 100644 GIT binary patch delta 456 zcmW;CZ)nT`0LJm>`)o7QZFbwP-MAIT&P_9WrFQCyD=zfw@7TvnPZ%5YVi7|>Pv~O$=!P!)j+ltGKOg+)+Pwm1R_U?rD_! zD)B%wJS4;;VmxLUPv~Kc4A0oWb9xzPJ4JT$g8jVYAQK$p6@yH2i`T*XU9i4qiVu{6 z{N2GvSM$luOgq76C;8%yeDw~#c`w60M9C-k?vwm19FFARS0UWIhh2YUW>m>v&E}s% zMhRCa`)p&&ZQR+~VJoiLIhx~*7k9E+mz>xenl}nBq^77TUWqq~7xzM^ zl=pM~Tdo*qn8^P>$E?VolaUvum3Nr@x_6)F>3Q+w(z*1|c(`jw4GgM@)0#&?9h^~; zvr2JJ-JDm33(9g)y>_R4`|~d%XmbJ$7FfN2A99jO>PDS#lTLcJZaAzbj;QRpnshUbju5qo z1z(msT6`NFqbsI5cPQ+|TIo*pIIeYGqJ2*2RN%p&zwDSsoYYgV$iJIE#j5nzb#HrRfRxntC|S3zN$s-aeDLF_RN1S26A!$ diff --git a/bin/AnalyseCalc/Classeur2$modification.class b/bin/AnalyseCalc/Classeur2$modification.class index 8bfb0acc41aa531ad9860a08b9bab61d0efeecb5..e12d5b57a8b0ca2f8137d5c25438762a313b3ea9 100644 GIT binary patch delta 96 zcmX>kd`Ni19yZ=Y22Q3p1`(!s26?9B%_rH|85PqQn3>WU1eh`y#F(-e8kw>grZVL) yYykd`Ni19yZ26?8W%_rH|85L6*n3>WT1enqp#F#P}8kw>frZQzS yYyZeS#ti8B)gtqY1v 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 bB2-ya9OAEq`SXa~;w}8O1Jj=jnl=9oJLcZs literal 22337 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 diff --git a/bin/actions/actNewFichierAnalyse.class b/bin/actions/actNewFichierAnalyse.class index b718ba7509f2507b37f8905021d8e9ae0265f865..69e2a87aabc7f7f1b6b112bbb66915a630441856 100644 GIT binary patch delta 2263 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 diff --git a/bin/calc/commandes.class b/bin/calc/commandes.class index 735e9d74fa87c08a54bcf1c712bdb5807ed3299a..08f1ecec978b30dde57f2841e6aa28173688612c 100644 GIT binary patch delta 3515 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 IU?SuH4LLxWI{*Lx diff --git a/nodStudent.xml b/nodStudent.xml new file mode 100644 index 0000000..c5cdae9 --- /dev/null +++ b/nodStudent.xml @@ -0,0 +1 @@ + EJ - ???Page 1(???)???, 00/00/000000:00:00Page 1/ 99 \ No newline at end of file diff --git a/src/AnalyseCalc/Classeur2.java b/src/AnalyseCalc/Classeur2.java index a29ce80..ec9a118 100644 --- a/src/AnalyseCalc/Classeur2.java +++ b/src/AnalyseCalc/Classeur2.java @@ -16,14 +16,14 @@ import AnalyseCalc.Classeur2.feuille.graphic; import AnalyseCalc.Classeur2.feuille.ligne; import AnalyseCalc.Classeur2.feuille.ligne.cellule; import calc.commandes; +import calcul.enumerations; +import calcul.enumerations.typeFichier; import xml.EnsembleFichiers; -import xml.ecritureFileXML; -import xml.ecritureFileXML.typeFichier; import xml.node; import xml.transformeXLMtoNode; /** - * Cette class permet de lire les feuilles de calcul de libreOffice Calc + * Cette class permet de lire les feuilles de calcul de libreOffice Calc.
* @author Pablo * */ @@ -55,30 +55,34 @@ public class Classeur2 { /** - * Création des feuilles du classeur - * @param nod : node permettant de rechercher les feuilles "table:table" - * @throws CloneNotSupportedException - * @throws IOException + * Création des feuilles du classeur
+ * Si typeFichier = fichier_analyse : Création d'un fichier pour analyser les fichiers des étudiants.
+ * Si typeFichier = : Création d'un fichier étudiant à partir du classeur remis par l'étudiant.
+ * @param nod : node permettant de rechercher les feuilles "table:table". + * @param indexStudent : index du fichier dans le répertoire contenant l'ensemble des dossiers ou fichiers remis par les étudiants. + * @param typeClasseurACreer : type de fichier à créer (analyse ou student). + * @throws CloneNotSupportedException + * @throws IOException */ - public Classeur2(node nod, Integer indexStudent, typeFichier type) throws CloneNotSupportedException, IOException { + public Classeur2(node nod, Integer indexStudent, typeFichier typeClasseurACreer) throws CloneNotSupportedException, IOException { - if(type.equals(ecritureFileXML.typeFichier.fichier_analyse)) { - if(nod.getAttributs().get("bareme")!=null)calc.commandes.analyse_bareme = Double.valueOf(nod.getAttributs().get("bareme")); - if(nod.getAttributs().get("version")!=null)calc.commandes.version = nod.getAttributs().get("version"); - if(nod.getAttributs().get("controleDateCreation")!=null)calc.commandes.analyse_controleDateCreation = Boolean.valueOf(nod.getAttributs().get("controleDateCreation")); - if(nod.getAttributs().get("presenceMetaSujet")!=null)calc.commandes.analyse_presenceMetaSujet = Boolean.valueOf(nod.getAttributs().get("presenceMetaSujet")); - if(nod.getAttributs().get("dateModification")!=null)calc.commandes.analyse_date = nod.getAttributs().get("dateModification"); - if(nod.getAttributs().get("NbreFeuille")!=null) calc.commandes.analysis_nbr_feuilles = Integer.valueOf(nod.getAttributs().get("NbreFeuille")); - if(nod.getAttributs().get("auteur")!=null) calc.commandes.analyse_auteur = nod.getAttributs().get("auteur"); - if(nod.getAttributs().get("baremeABC")!=null) calc.commandes.analyse_baremeABC = Boolean.valueOf(nod.getAttributs().get("baremeABC")); - if(nod.getAttributs().get("controle_Initial_Creator")!=null) calc.commandes.analyse_controle_Initial_Creator = Boolean.valueOf(nod.getAttributs().get("controle_Initial_Creator")); - if(nod.getAttributs().get("historiquePresent")!=null) calc.commandes.setting_historiquePresent = Boolean.valueOf(nod.getAttributs().get("historiquePresent")); - if(nod.getAttributs().get("titre")!=null) calc.commandes.analyse_titre = nod.getAttributs().get("titre"); - if(nod.getAttributs().get("filename")!=null) calc.commandes.analysis_filename = nod.getAttributs().get("filename"); - if(nod.getAttributs().get("producteur")!=null) calc.commandes.analysis_producteur= nod.getAttributs().get("producteur"); - if(nod.getAttributs().get("hash")!=null) calc.commandes.hash = nod.getAttributs().get("hash"); - - } +// if(typeClasseurACreer.equals(typeFichier.fichier_analyse)) { +// nod.getAttributs().put("bareme",String.valueOf(calc.commandes.analyse_bareme)) ; //= Double.valueOf(nod.getAttributs().get("bareme")); +// nod.getAttributs().put("version",String.valueOf(calc.commandes.version)); //= nod.getAttributs().get("version"); +// nod.getAttributs().put("controleDateCreation",String.valueOf(calc.commandes.analyse_controleDateCreation)); // = Boolean.valueOf(nod.getAttributs().get("controleDateCreation")); +// nod.getAttributs().put("presenceMetaSujet", String.valueOf(calc.commandes.analyse_presenceMetaSujet)); // = Boolean.valueOf(nod.getAttributs().get("presenceMetaSujet")); +// nod.getAttributs().put("dateModification",String.valueOf(calc.commandes.analyse_date)); // = nod.getAttributs().get("dateModification"); +// nod.getAttributs().put("NbreFeuille",String.valueOf(calc.commandes.analysis_nbr_feuilles)); // = Integer.valueOf(nod.getAttributs().get("NbreFeuille")); +// nod.getAttributs().put("auteur",String.valueOf(calc.commandes.analyse_auteur));// = nod.getAttributs().get("auteur"); +// nod.getAttributs().put("baremeABC",String.valueOf(calc.commandes.analyse_baremeABC));// = Boolean.valueOf(nod.getAttributs().get("baremeABC")); +// nod.getAttributs().put("controle_Initial_Creator",String.valueOf(calc.commandes.analyse_controle_Initial_Creator));// = Boolean.valueOf(nod.getAttributs().get("controle_Initial_Creator")); +// nod.getAttributs().put("historiquePresent",String.valueOf(calc.commandes.setting_historiquePresent));// = Boolean.valueOf(nod.getAttributs().get("historiquePresent")); +// nod.getAttributs().put("titre", String.valueOf(calc.commandes.analyse_titre));// = nod.getAttributs().get("titre"); +// nod.getAttributs().put("filename", String.valueOf(calc.commandes.analysis_filename));// = nod.getAttributs().get("filename"); +// nod.getAttributs().put("producteur", String.valueOf(calc.commandes.analysis_producteur));//= nod.getAttributs().get("producteur"); +// nod.getAttributs().put("hash", String.valueOf(calc.commandes.hash));// = nod.getAttributs().get("hash"); +// } + //Les meta-données pour tous les classeurs analyse et students node nMeta = nod.retourneFirstEnfant("office:meta"); @@ -87,49 +91,46 @@ public class Classeur2 { node n = nMeta.retourneFirstEnfant("meta:creation-date"); if(n!=null) { dateCreation = n.getContenu().get(0); - if(type.equals(ecritureFileXML.typeFichier.fichier_analyse)) { + if(typeClasseurACreer.equals(typeFichier.fichier_analyse)) { calc.commandes.analyse_creationDate = dateCreation; } } n = nMeta.retourneFirstEnfant("dc:date"); if(n!=null) { dateModification = n.getContenu().get(0); - if(type.equals(ecritureFileXML.typeFichier.fichier_analyse)) { + if(typeClasseurACreer.equals(typeFichier.fichier_analyse)) { calc.commandes.analyse_date = dateModification; } } n = nMeta.retourneFirstEnfant("meta:initial-creator"); if(n!=null) { Initial_Creator = n.getContenu().get(0); - if(type.equals(ecritureFileXML.typeFichier.fichier_analyse)) { + if(typeClasseurACreer.equals(typeFichier.fichier_analyse)) { calc.commandes.analyse_Initial_Creator = Initial_Creator; } } n = nMeta.retourneFirstEnfant("dc:creator"); if(n!=null) { auteur=n.getContenu().get(0); - if(type.equals(ecritureFileXML.typeFichier.fichier_analyse)) { + if(typeClasseurACreer.equals(typeFichier.fichier_analyse)) { calc.commandes.analyse_auteur = auteur; } } n = nMeta.retourneFirstEnfant("meta:generator"); if(n!=null) { producteur=n.getContenu().get(0); - if(type.equals(ecritureFileXML.typeFichier.fichier_analyse)) { + if(typeClasseurACreer.equals(typeFichier.fichier_analyse)) { calc.commandes.analysis_producteur = producteur; } } } - - - - + node n = nod.retourneFirstEnfant("meta:user-defined"); if(n!=null) { if(n.getAttributs().get("meta:name").equalsIgnoreCase("sujet")) { metaSujet = n.getAttributs().get("meta:name"); - if(type.equals(ecritureFileXML.typeFichier.fichier_analyse)) { + if(typeClasseurACreer.equals(typeFichier.fichier_analyse)) { calc.commandes.analyse_metaSujet=metaSujet; } metaSujetContent = n.getContenuAvecTousLesContenusDesEnfants(); @@ -140,7 +141,7 @@ public class Classeur2 { //feuilles. A partir des feuilles -> en partie lignes, cellules ArrayList feuilles = nod.retourneAllEnfants("table:table"); NbreFeuille = feuilles.size(); - if(type.equals(ecritureFileXML.typeFichier.fichier_analyse)) commandes.analysis_nbr_feuilles = NbreFeuille; + if(typeClasseurACreer.equals(typeFichier.fichier_analyse)) commandes.analysis_nbr_feuilles = NbreFeuille; for(int i = 0 ; i"); fichier.append(""); } - if(type.equals(ecritureFileXML.typeFichier.fichier_etudiant)) { + if(type.equals(typeFichier.fichier_etudiant)) { fichier.append(">"); } diff --git a/src/actions/actNewFichierAnalyse.java b/src/actions/actNewFichierAnalyse.java index 4fcea3a..a5e174f 100644 --- a/src/actions/actNewFichierAnalyse.java +++ b/src/actions/actNewFichierAnalyse.java @@ -18,10 +18,11 @@ import org.xml.sax.SAXException; import AnalyseCalc.Classeur2; import calc.commandes; +import calcul.enumerations; +import calcul.enumerations.LocationFile; import fenetres.evaluate; import xml.EnsembleFichiers; import xml.LecturesDossiers; -import xml.ecritureFileXML; import xml.node; import xml.transformeXLMtoNode; @@ -54,8 +55,7 @@ public class actNewFichierAnalyse extends AbstractAction{ System.out.println("getCurrentDirectory(): " + chooser.getCurrentDirectory()); System.out.println("getSelectedFile() : " + chooser.getSelectedFile().getAbsolutePath()); - // réinitialise les commandes - commandes.initialiseParametresSettingsProprietes();; + commandes.fichierAnalyseValide=true; commandes.path = chooser.getCurrentDirectory().getAbsolutePath(); commandes.PathFilenameAnalysis = chooser.getCurrentDirectory().getAbsolutePath(); @@ -65,54 +65,31 @@ public class actNewFichierAnalyse extends AbstractAction{ try { - new LecturesDossiers(ecritureFileXML.LocationFile.CreerFichierAnalyse, cheminVersFichier); + new LecturesDossiers(LocationFile.PourUnSeulFichier, cheminVersFichier); new transformeXLMtoNode(EnsembleFichiers.getListeContentTableur().get(0), false, null); node nod = transformeXLMtoNode.getNodeRoot(); - - Classeur2 ClasseurAnalyse; - + try { - ClasseurAnalyse = new Classeur2(nod,0,ecritureFileXML.typeFichier.fichier_analyse); - node nodAnalyse = ClasseurAnalyse.convertClasseurToNode(ecritureFileXML.typeFichier.fichier_etudiant); + Classeur2 ClasseurAnalyse; + commandes.initialiseParametresEvaluation(); + commandes.initialiseParametresSettingsProprietes(); + ClasseurAnalyse = new Classeur2(nod,0,enumerations.typeFichier.fichier_analyse); + node nodAnalyse = ClasseurAnalyse.convertClasseurToNode(enumerations.typeFichier.fichier_analyse); node styleAuto = nod.retourneFirstEnfant("office:document-content").retourneFirstEnfant("office:automatic-styles"); styleAuto.addAllEnfants(nod.retourneAllEnfants("office:document-styles")); styleAuto.retourneFirstEnfant("office:document-styles").removeAllAttributs(); nodAnalyse.retourneFirstEnfant("classeur").addEnfant(styleAuto); - - nodAnalyse.saveNodeEnXMLinNewFile("nodStudent.xml", commandes.pathApp); - + commandes.sujet = nodAnalyse.retourneFirstEnfant("classeur"); + } catch (CloneNotSupportedException | IOException e1) { e1.printStackTrace(); } - - -// Classeur2 ClasseurAnalyse = new Classeur2(commandes.sujet,0,ecritureFileXML.typeFichier.fichier_analyse); -// commandes.sujet = ClasseurAnalyse.convertClasseurToNode(ecritureFileXML.typeFichier.fichier_analyse); - -// node styleAuto = commandes.sujet.retourneFirstEnfant("office:document-content"); -// if(styleAuto!=null) { -// styleAuto = styleAuto.retourneFirstEnfant("office:automatic-styles"); -// styleAuto.addAllEnfants(commandes.sujet.retourneAllEnfants("office:document-styles")); -// styleAuto.retourneFirstEnfant("office:document-styles").removeAllAttributs(); -// }else { -// styleAuto = transformeXLMtoNode.getNodeRoot().retourneFirstEnfant("office:document-styles"); -// if(styleAuto!=null)styleAuto.retourneFirstEnfant("office:document-styles").removeAllAttributs(); -// } -// if(styleAuto!=null) commandes.sujet.addEnfant(styleAuto); - - -// commandes.sujet = commandes.sujet.getEnfant(0); commandes.sujet.getAttributs().put("analysis_filename",commandes.nameSujet); - -// commandes.sujet.removeAllEnfantWithThisName("office:document-content"); -// commandes.sujet.removeAllEnfantWithThisName("office:document-meta"); - - commandes.sujet.saveNodeEnXMLinNewFile("sujet1.xml", commandes.pathApp); // new verificationFichierAnalyse(); @@ -125,9 +102,7 @@ public class actNewFichierAnalyse extends AbstractAction{ commandes.IndexEvaluationCharger=-1; //Car ce n'est pas une évaluation commandes.NameEvaluationCharger = ""; commandes.analysis_filename = commandes.sujet.getAttributs().get("analysis_filename"); - - commandes.initialiseParametresEvaluation(); - commandes.initialiseParametresSettingsProprietes(); + commandes.chargementParametresDepuisNodeSujet(); fenetres.create.getTree().setVisible(true); fenetres.create.constructionTree(); @@ -149,7 +124,7 @@ public class actNewFichierAnalyse extends AbstractAction{ fenetres.create.getTextNodeSelect().refreshAffichage(null); } - + commandes.sujet.saveNodeEnXMLinNewFile("sujet.xml", commandes.pathApp); commandes.ecritCode = true; } diff --git a/src/calc/commandes.java b/src/calc/commandes.java index 14c38d2..f027c2f 100644 --- a/src/calc/commandes.java +++ b/src/calc/commandes.java @@ -69,7 +69,7 @@ public class commandes { //** Les commandes par défaut à travers la console ** //*************************************************** public static String nameSujet = ""; //sujet par défaut - public static boolean analyse = false; //analyse des fichiers étudiants + public static boolean analyse = false; //analyse les fichiers étudiants. Si vrai alors évalue les fichiers des étudiants. public static boolean ecritCode = false; // -write : ecriture du code du sujet public static boolean ecritSujet = false; // -sujet : ecriture 2 du code du sujet, uniquement lesnodeACs évalués public static boolean ecritNodeAnalyse = false; @@ -102,10 +102,6 @@ public class commandes { //** setting valeur par défaut public static String culture = "FR"; - - - - //** Variables de mise à jour du fichier d'analyse public static boolean MAJnameAnalysisFile =false; public static boolean MAJFichierAnalyse = false; @@ -175,7 +171,9 @@ public class commandes { public static int analyse_index_Fichier_Student = 0; public static StringBuilder message = new StringBuilder(); - + /** + * Initialisation des paramètres pour l'application.
+ */ public static void initialiseParametresSettingsProprietes() { //** setting valeur par défaut @@ -236,6 +234,9 @@ public class commandes { message = new StringBuilder(); } + /** + * Initilalisation des paramètres pour l'évaluation des classeurs des étudiants.
+ */ public static void initialiseParametresEvaluation() { fourniCSV=false; ecritCode = false; @@ -259,6 +260,28 @@ public class commandes { nameSVG=""; } + /** + * Chargment dans le fihier d'analyse venant d'être créer des paramètres pour les évaluations.
+ * @param nodFichierAnalyseJusteCreer + */ + public static void chargementParametresDepuisNodeSujet() { + commandes.analyse_bareme = Double.valueOf(sujet.getAttributs().get("bareme")); + commandes.analyse_version = sujet.getAttributs().get("version"); + commandes.analyse_controleDateCreation = Boolean.valueOf(sujet.getAttributs().get("controleDateCreation")); + commandes.analyse_presenceMetaSujet = Boolean.valueOf(sujet.getAttributs().get("presenceMetaSujet"));; // + commandes.analyse_date = sujet.getAttributs().get("dateModification"); + commandes.analysis_nbr_feuilles = Integer.valueOf(sujet.getAttributs().get("NbreFeuille")); + commandes.analyse_auteur = sujet.getAttributs().get("auteur"); + commandes.analyse_baremeABC = Boolean.valueOf(sujet.getAttributs().get("baremeABC")); + commandes.analyse_controle_Initial_Creator = Boolean.valueOf(sujet.getAttributs().get("controle_Initial_Creator")); + commandes.setting_historiquePresent = Boolean.valueOf(sujet.getAttributs().get("historiquePresent")); + commandes.analyse_titre = sujet.getAttributs().get("titre"); + commandes.analysis_filename = sujet.getAttributs().get("filename"); + commandes.analysis_producteur = sujet.getAttributs().get("producteur"); + commandes.hash = sujet.getAttributs().get("hash"); + } + + /** * Clôture avec une erreur de commande */ diff --git a/src/calcul/enumerations.java b/src/calcul/enumerations.java new file mode 100644 index 0000000..d8fd24e --- /dev/null +++ b/src/calcul/enumerations.java @@ -0,0 +1,30 @@ +package calcul; + +public class enumerations { + + /** + * + * @author pabr6 + * + */ + public enum LocationFile { + DansDossier, + UniquementFichier, + PourUnSeulFichier, + } + + /** + * + * @author pabr6 + * + */ + public enum typeFichier { + fichier_analyse, + verification_etudiant, + fichier_etudiant, + } + + + + +} diff --git a/src/evaluer/crearNodeAna.java b/src/evaluer/crearNodeAna.java new file mode 100644 index 0000000..bb927e2 --- /dev/null +++ b/src/evaluer/crearNodeAna.java @@ -0,0 +1,40 @@ +package evaluer; + +import java.text.ParseException; +import java.util.Date; +import xml.node; + +/** + * + * @author pabr6 + * + */ +public class crearNodeAna { + + node ana = new node("analyse"); + + /** + * Création du node analyse.
+ * Ce node permet de stocker l'analyse (évaluation) du fichier remis par l'étudiant.
+ */ + public crearNodeAna(String nomEtudiant , int indexStudent) { + ana.getAttributs().put("nomEtudiant", nomEtudiant); + ana.getAttributs().put("indexFichier", String.valueOf(indexStudent)); + try { + ana.getAttributs().put("dateEvaluation", calcul.formatDateWriter.DateLibreOffice(new Date())); + } catch (ParseException e) { + e.printStackTrace(); + } + } + + public node getAna() { + return ana; + } + + public void setAna(node ana) { + this.ana = ana; + } + + + +} diff --git a/src/evaluer/evaluer.java b/src/evaluer/evaluer.java new file mode 100644 index 0000000..1678c87 --- /dev/null +++ b/src/evaluer/evaluer.java @@ -0,0 +1,59 @@ +package evaluer; + +import javax.swing.JEditorPane; + +import xml.EnsembleFichiers; +import xml.node; + + + +public class evaluer { + + public evaluer() { + + } + + public static node analyse(node nodStudent, node nodSujet, Integer indexStudent,JEditorPane txt, String texteAfficher) { + + node ana = new node("evaluation"); + + // informations + node nodouverture = new node(); + nodouverture.setNameNode("informations"); + nodouverture.getAttributs().put("dossier",EnsembleFichiers.getListeNomDossier().get(indexStudent)); + if(nodSujet.getAttributs().get("analysis_filename")!=null) nodouverture.getAttributs().put("filenameAnalyse", nodSujet.getAttributs().get("analysis_filename")); + if(nodStudent.getAttributs().get("producteur")!=null) nodouverture.getAttributs().put("producteur", nodStudent.getAttributs().get("producteur")); + if(nodStudent.getAttributs().get("dureeEdition")!=null) nodouverture.getAttributs().put("dureeEdition", nodStudent.getAttributs().get("dureeEdition")); + if(nodStudent.getAttributs().get("dateModification")!=null) nodouverture.getAttributs().put("dateModification", nodStudent.getAttributs().get("dateModification")); + if(nodSujet.getAttributs().get("historiquePresent")!=null) nodouverture.getAttributs().put("historiquePresent", nodSujet.getAttributs().get("historiquePresent")); + if(nodSujet.getAttributs().get("controleDateCreation")!=null) nodouverture.getAttributs().put("controleDateCreation", nodSujet.getAttributs().get("controleDateCreation")); + if(nodSujet.getAttributs().get("presenceMetaSujet")!=null) nodouverture.getAttributs().put("presenceMetaSujet", nodSujet.getAttributs().get("presenceMetaSujet")); + if(nodSujet.getAttributs().get("baremeABC")!=null) nodouverture.getAttributs().put("baremeABC", nodSujet.getAttributs().get("baremeABC")); + nodouverture.setNodeClose(true); + ana.addEnfant(nodouverture); + + texteAfficher = texteAfficher + "\n" + nodouverture.getAttributs().get("dossier"); + txt.setText(texteAfficher); + + node note = new node("notation"); + note.getAttributs().put("note", "0"); + note.getAttributs().put("pointsWin", "0"); + note.getAttributs().put("pointsTotal", "0"); + note.getAttributs().put("commentaire", ""); + note.getAttributs().put("proportioncorrect", "0"); + note.getAttributs().put("baremeABC", "false"); + if(nodSujet.getAttributs().get("baremeABC")!=null) note.getAttributs().put("baremeABC", nodSujet.getAttributs().get("baremeABC")); + note.setNodeClose(true); + ana.addEnfant(note); + + node compare = new node("compare"); + compare.setNodeClose(true); + ana.addEnfant(compare); + + + + return ana; + } + + +} diff --git a/src/evaluer/evaluerAttributEtContenu.java b/src/evaluer/evaluerAttributEtContenu.java new file mode 100644 index 0000000..3ddacde --- /dev/null +++ b/src/evaluer/evaluerAttributEtContenu.java @@ -0,0 +1,16 @@ +package evaluer; + +import xml.node; + +public class evaluerAttributEtContenu { + + public evaluerAttributEtContenu(node nodeSujet, node nodeEtudiant, node analyse) { + + + + + } + + + +} diff --git a/src/evaluer/evaluerLesFichiersEtudiants.java b/src/evaluer/evaluerLesFichiersEtudiants.java index 7cf6441..3eb16a5 100644 --- a/src/evaluer/evaluerLesFichiersEtudiants.java +++ b/src/evaluer/evaluerLesFichiersEtudiants.java @@ -2,6 +2,7 @@ package evaluer; import java.io.IOException; import java.text.ParseException; +import java.util.zip.ZipException; import javax.swing.JEditorPane; import javax.xml.parsers.ParserConfigurationException; @@ -12,6 +13,8 @@ import AnalyseCalc.Classeur2; import calc.Student; import calc.commandes; import calcul.calculIntervalleBaremeABCDE; +import calcul.enumerations; +import calcul.enumerations.typeFichier; import fenetres.baliseStyle; import xml.EnsembleFichiers; import xml.LecturesDossiers; @@ -65,7 +68,7 @@ public class evaluerLesFichiersEtudiants implements Runnable{ if(commandes.fichierStudentMoodle) { try { - new LecturesDossiers(ecritureFileXML.LocationFile.UniquementFichier, commandes.path); + new LecturesDossiers(enumerations.LocationFile.UniquementFichier, commandes.path); } catch (ParserConfigurationException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -78,7 +81,7 @@ public class evaluerLesFichiersEtudiants implements Runnable{ } }else { try { - new LecturesDossiers(ecritureFileXML.LocationFile.DansDossier, commandes.path); + new LecturesDossiers(enumerations.LocationFile.DansDossier, commandes.path); } catch (ParserConfigurationException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -175,17 +178,25 @@ public class evaluerLesFichiersEtudiants implements Runnable{ Classeur2 ClasseurStudent; try { - ClasseurStudent = new Classeur2(nod,i,ecritureFileXML.typeFichier.fichier_etudiant); - node nodStudent = ClasseurStudent.convertClasseurToNode(ecritureFileXML.typeFichier.fichier_etudiant); + ClasseurStudent = new Classeur2(nod,i,typeFichier.fichier_etudiant); + node nodStudent = ClasseurStudent.convertClasseurToNode(typeFichier.fichier_etudiant); node styleAuto = nod.retourneFirstEnfant("office:document-content").retourneFirstEnfant("office:automatic-styles"); styleAuto.addAllEnfants(nod.retourneAllEnfants("office:document-styles")); styleAuto.retourneFirstEnfant("office:document-styles").removeAllAttributs(); nodStudent.retourneFirstEnfant("classeur").addEnfant(styleAuto); - nodStudent = nodStudent.retourneFirstEnfant("classeur"); + String nomEtudiant = EnsembleFichiers.getListeNomDossier().get(i); + nodStudent.getAttributs().put("nomEtudiant", nomEtudiant); + + nodStudent.saveNodeEnXMLinNewFile("nodStudent.xml", commandes.pathApp); + + if(commandes.analyse) { + node ana = new crearNodeAna(nomEtudiant, i).getAna(); + new evaluerNodesClasseurStudent(ana, nodStudent); + ana.saveNodeEnXMLinNewFile("ana.xml", commandes.pathApp); + } -// nodStudent.saveNodeEnXMLinNewFile("nodStudent.xml", commandes.pathApp); } catch (CloneNotSupportedException | IOException e) { @@ -197,8 +208,11 @@ public class evaluerLesFichiersEtudiants implements Runnable{ //********************************** if(commandes.analyse||commandes.ecritNodeAnalyse) { + + + // Run.ecritureNodeEnXML(nodStudent, "fichier student","",false,""); //écriture du node nodStudent de l'étudiant - node ana = analyseFichier.analyse(nodStudent, commandes.sujet, i, a, txt,texteAfficher); +// node ana = analyseFichier.analyse(nodStudent, commandes.sujet, i, a, txt,texteAfficher); // try { // Run.ecritureNodeEnXML(ana, "analyse", commandes.path, Run.TypeFile.Verif); // } catch (IOException e1) { @@ -209,11 +223,14 @@ public class evaluerLesFichiersEtudiants implements Runnable{ //** Ecriture des fichiers d'analyse des students ** //************************************************** if(commandes.ecritNodeAnalyse) { - try { - Run.ecritureNodeEnXML(ana, "nodana"+ana.retourneFirstEnfantsByName("ouverture").getAttributs().get("dossier"),commandes.path,Run.TypeFile.Analyse); - } catch (IOException e) { - e.printStackTrace(); - } + + + +// try { +//// Run.ecritureNodeEnXML(ana, "nodana"+ana.retourneFirstEnfantsByName("ouverture").getAttributs().get("dossier"),commandes.path,Run.TypeFile.Analyse); +// } catch (IOException e) { +// e.printStackTrace(); +// } } //**************************** @@ -222,44 +239,44 @@ public class evaluerLesFichiersEtudiants implements Runnable{ if(!commandes.sansFeeback&&!commandes.ecritNodeAnalyse) { if(!commandes.zipfeedback) { //feedback(ana, verif); //classique directement dans le répertoire - try { - feedbacks.feedback(ana,verif, false,false); - } catch (IOException e) { - e.printStackTrace(); - } catch (ParseException e) { - e.printStackTrace(); - } +// try { +//// feedbacks.feedback(ana,verif, false,false); +// } catch (IOException e) { +// e.printStackTrace(); +// } catch (ParseException e) { +// e.printStackTrace(); +// } } if(commandes.zipfeedback) { // Dans une archive pour Moodle - try { -// a.AddStreamToZip(feedbacks.feedback(ana, verif, true,false), meptl.retourneLeNomDuFeedback(a.getLectDossiers().getEC().getListeNomFichierFeedBack().get(i),ana, verif),commandes.analyse_size,commandes.analyse_nameZip); - // Modification imposé par Moodle 4 - if(commandes.fichierStudentMoodle) { - a.AddStreamToZip(feedbacks.feedback(ana, verif, true,false), meptl.retourneLeNomDuFeedbackMoodle4(a.getLectDossiers().getEC().getListeFichierodt().get(i),ana, verif),commandes.analyse_size,commandes.analyse_nameZip); - }else { - String nomFichiermoodle4 = a.getLectDossiers().getEC().getListeNomFichierFeedBack().get(i)+"_"+a.getLectDossiers().getEC().getListeFichierodt().get(i); - a.AddStreamToZip(feedbacks.feedback(ana, verif, true,false), meptl.retourneLeNomDuFeedbackMoodle4(nomFichiermoodle4,ana, verif),commandes.analyse_size,commandes.analyse_nameZip); - } - - } catch (ZipException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } catch (ParseException e) { - e.printStackTrace(); - } +// try { +//// a.AddStreamToZip(feedbacks.feedback(ana, verif, true,false), meptl.retourneLeNomDuFeedback(a.getLectDossiers().getEC().getListeNomFichierFeedBack().get(i),ana, verif),commandes.analyse_size,commandes.analyse_nameZip); +// // Modification imposé par Moodle 4 +// if(commandes.fichierStudentMoodle) { +//// a.AddStreamToZip(feedbacks.feedback(ana, verif, true,false), meptl.retourneLeNomDuFeedbackMoodle4(a.getLectDossiers().getEC().getListeFichierodt().get(i),ana, verif),commandes.analyse_size,commandes.analyse_nameZip); +// }else { +//// String nomFichiermoodle4 = a.getLectDossiers().getEC().getListeNomFichierFeedBack().get(i)+"_"+a.getLectDossiers().getEC().getListeFichierodt().get(i); +//// a.AddStreamToZip(feedbacks.feedback(ana, verif, true,false), meptl.retourneLeNomDuFeedbackMoodle4(nomFichiermoodle4,ana, verif),commandes.analyse_size,commandes.analyse_nameZip); +// } +// +// } catch (ZipException e) { +// e.printStackTrace(); +// } catch (IOException e) { +// e.printStackTrace(); +// } catch (ParseException e) { +// e.printStackTrace(); +// } } } //******************************************************************************** //** Ajoute au node ensembleanalyse lorsque -csv file.csv ou -verifcsv file.scv ** //******************************************************************************** - if(commandes.ecritNoteCSV) ensembleanalyse.addNode(ana); +// if(commandes.ecritNoteCSV) ensembleanalyse.addNode(ana); //********************************************************* //** Message dans la console sur l'analyse de l'étudiant ** //********************************************************* - commandes.message.append(meptl.messageSystem(ana).toString()); +// commandes.message.append(meptl.messageSystem(ana).toString()); } } // diff --git a/src/evaluer/evaluerNodesClasseurStudent.java b/src/evaluer/evaluerNodesClasseurStudent.java new file mode 100644 index 0000000..5d7ced7 --- /dev/null +++ b/src/evaluer/evaluerNodesClasseurStudent.java @@ -0,0 +1,55 @@ +package evaluer; + +import calc.commandes; +import xml.node; + +public class evaluerNodesClasseurStudent { + + private node analyse = new node(); + private node nodeEtudiant = new node(); + + public evaluerNodesClasseurStudent(node ana, node nodStudent) { + nodeEtudiant = nodStudent; + analyse = ana; + evaluerLesFeuilles(); + analyse.getAttributs().put("test", "reussi"); + } + + /** + * Evaluer les feuilles les unes après les autres. + */ + private void evaluerLesFeuilles() { + for (node feuilleSujet : commandes.sujet.retourneAllEnfants("feuille")) { + if(feuilleSujet.isEvaluer()) { + node evaluerFeuille = new node("feuille"); + evaluerFeuille.getAttributs().put("nomFeuille", feuilleSujet.getAttributs().get("nomFeuille")); + analyse.addEnfant(evaluerFeuille); + evaluerLesColonnes(feuilleSujet, evaluerFeuille); + } + } + } + + /** + * Evaluer les colonnes les unes après les autres. + * @param feuilleSujet + * @param evaluerFeuille + */ + private void evaluerLesColonnes(node feuilleSujet, node evaluerFeuille) { + for (node colonne : feuilleSujet.retourneAllEnfants("colonne")) { + if(colonne.isEvaluer()) { + new evaluerAttributEtContenu(colonne,nodeEtudiant,analyse); + } + } + } + + public node getAnalyse() { + return analyse; + } + + public node getNodeEtudaint() { + return nodeEtudiant; + } + + + +} diff --git a/src/fenetres/proprieteFichierAnalyse.java b/src/fenetres/proprieteFichierAnalyse.java index f9b7d04..9340896 100644 --- a/src/fenetres/proprieteFichierAnalyse.java +++ b/src/fenetres/proprieteFichierAnalyse.java @@ -717,7 +717,7 @@ public final class proprieteFichierAnalyse extends JFrame { } /** - * Actualisation des zone de texte et des combos à l'ouverture de la fenêtre.
+ * Actualisation des zones de texte et des combos à l'ouverture de la fenêtre.
*/ public void actualise() { if(commandes.sujet.getAttributs().get("titre")!=null){ diff --git a/src/xml/LecturesDossiers.java b/src/xml/LecturesDossiers.java index b0e003b..91343d2 100644 --- a/src/xml/LecturesDossiers.java +++ b/src/xml/LecturesDossiers.java @@ -15,6 +15,7 @@ import javax.xml.parsers.ParserConfigurationException; import org.xml.sax.SAXException; +import calcul.enumerations.LocationFile; import net.lingala.zip4j.core.ZipFile; import net.lingala.zip4j.model.FileHeader; @@ -27,7 +28,7 @@ public class LecturesDossiers { private static EnsembleFichiers EC = new EnsembleFichiers(); - public LecturesDossiers( ecritureFileXML.LocationFile location, String patch) throws ParserConfigurationException, SAXException, IOException { + public LecturesDossiers( LocationFile location, String patch) throws ParserConfigurationException, SAXException, IOException { String NomDossier = null; String leNomDuRepertoire = patch; String ContentT = null; @@ -38,7 +39,7 @@ public class LecturesDossiers { File rep = new File(leNomDuRepertoire); - if(location==ecritureFileXML.LocationFile.DansDossier) { + if(location==LocationFile.DansDossier) { System.out.println(); if(rep.isDirectory()) { @@ -100,7 +101,7 @@ public class LecturesDossiers { } - if(location == ecritureFileXML.LocationFile.UniquementFichier) { + if(location == LocationFile.UniquementFichier) { System.out.println(); File[] fichiers = rep.listFiles(); @@ -146,7 +147,7 @@ public class LecturesDossiers { } } - if(location == ecritureFileXML.LocationFile.CreerFichierAnalyse) { + if(location == LocationFile.PourUnSeulFichier) { System.out.println(); if(!rep.isFile()) return; diff --git a/src/xml/ecritureFileXML.java b/src/xml/ecritureFileXML.java index 98531a7..ccdb937 100644 --- a/src/xml/ecritureFileXML.java +++ b/src/xml/ecritureFileXML.java @@ -13,17 +13,20 @@ import java.nio.file.Paths; public class ecritureFileXML { - public enum LocationFile { - DansDossier, - UniquementFichier, - CreerFichierAnalyse - } - - public enum typeFichier { - fichier_analyse, - verification_etudiant, - fichier_etudiant, - } +// public enum LocationFile { +// DansDossier, +// UniquementFichier, +// /** +// * Permet de créer un fichier d'analyse +// */ +// CreerFichierAnalyse +// } +// +// public enum typeFichier { +// fichier_analyse, +// verification_etudiant, +// fichier_etudiant, +// } diff --git a/src/xml/node.java b/src/xml/node.java index 818cfb0..95448b7 100644 --- a/src/xml/node.java +++ b/src/xml/node.java @@ -53,6 +53,12 @@ private boolean nodeClose = false; public void setNodeClose(boolean nodeClose) { this.nodeClose = nodeClose; } + + public boolean isEvaluer() { + if(!this.attributs.containsKey("evaluer")) return false; + if(!Boolean.valueOf(this.getAttributs().get("evaluer"))) return false; + return true; + } public String getNameNode() { if(this.equals(null)) return ""; diff --git a/sujet.xml b/sujet.xml index 6dfe4fe..f9ace53 100644 --- a/sujet.xml +++ b/sujet.xml @@ -1 +1 @@ -AnnéeConsommation énergétique globale (exajoules)Emissions mondiales de CO₂ (milliards de tonnes)Émissions CO₂ (élevée/faible)Catégorie de consommation énergétique1980250 EJ20,3faibleFaible1981255 EJ20,5faibleFaible1982260 EJ20,7faibleFaible1983265 EJ20,8faibleFaible1984270 EJ21,1faibleFaible1985275 EJ21,3faibleFaible1986280 EJ21,6faibleFaible1987290 EJ22,1faibleFaible1988300 EJ22,8faibleMoyenne1989310 EJ23,4faibleMoyenne1990320 EJ23,9faibleMoyenne1991330 EJ24,2faibleMoyenne1992340 EJ24,5faibleMoyenne1993350 EJ24,9faibleMoyenne1994360 EJ25,4faibleMoyenne1995370 EJ25,9faibleMoyenne1996380 EJ26,3faibleMoyenne1997390 EJ26,8faibleMoyenne1998400 EJ27,5faibleMoyenne1999410 EJ28faibleMoyenne2000420 EJ28,7faibleMoyenne2001430 EJ29faibleMoyenne2002440 EJ29,5faibleMoyenne2003450 EJ30,2élevéeMoyenne2004460 EJ30,8élevéeMoyenne2005470 EJ31,5élevéeMoyenne2006480 EJ32,2élevéeMoyenne2007490 EJ33élevéeMoyenne2008500 EJ33,8élevéeMoyenne2009510 EJ33,5élevéeElevée2010520 EJ34,5élevéeElevée2011530 EJ35,2élevéeElevée2012540 EJ35,8élevéeElevée2013550 EJ36,3élevéeElevée2014560 EJ36,8élevéeElevée2015570 EJ37,5élevéeElevée2016580 EJ38,2élevéeElevée2017590 EJ38,8élevéeElevée2018600 EJ39,4élevéeElevée2019610 EJ40,1élevéeElevée2020620 EJ39élevéeElevée2021630 EJ40,8élevéeElevée2022640 EJ41,5élevéeElevée EJ - ???Page 1(???)???, 00/00/000000:00:00Page 1/ 99Pablo Rodriguez2024-11-30T10:28:19.6860000007PT23H53M11S2024-12-01T10:34:42.097000000Pablo RodriguezLibreOffice/24.2.5.2$Windows_X86_64 LibreOffice_project/bffef4ea93e59bebbeaf7f431bb02b1a39ee8a59 \ No newline at end of file + EJ - ???Page 1(???)???, 00/00/000000:00:00Page 1/ 99 \ No newline at end of file