diff --git a/ana.xml b/ana.xml index 32a6cd4..54711ac 100644 --- a/ana.xml +++ b/ana.xml @@ -1 +1 @@ -Alex Marechal;6.780620577027762;0.8475775721284703Alexandre Berthelin;3.0615133369624385;0.3826891671203048Alexis Legrand;5.4001088731627656;0.6750136091453457Alexy Lefebvre;5.574305933587371;0.6967882416984214Amelie Bruniaux;5.857376156777354;0.7321720195971693Anais Blondel;4.415895481763745;0.5519869352204682Anais Najdecki;2.900381056069679;0.3625476320087099Antoine Duponchelle;4.489929232444203;0.5612411540555253Antoine Ponchel;5.596080566140446;0.6995100707675558Apolline Michel;5.456722917800762;0.6820903647250952Arthur Willart;3.9891126837234623;0.4986390854654328Aurelien Ben Yahia;5.308655416439848;0.663581927054981Axel Aoumat;3.2400653238976593;0.4050081654872074Axel Cadart;5.186717474142624;0.648339684267828Aymeric Grenier;5.809471965160588;0.7261839956450735Baptiste Fynnaert;3.723462166575939;0.46543277082199236Charles Carron;3.780076211213936;0.472509526401742Chloe Mazur;5.735438214480131;0.7169297768100164Clara Bruneau;3.0571584104518235;0.38214480130647793Clement Legrand;5.430593358737071;0.6788241698421339Cyril Massart;3.7974959172563962;0.47468698965704953Doriane Bernard;4.938486663037561;0.6173108328796951Elliot Pilawa;2.5834701696770663;0.3229337712096333Elodie Vaesken;4.520413718018508;0.5650517147523135Enora-Lou Deplanque;2.6173108328796952;0.3271638541099619Esteban Devos Devulder;3.653783342406097;0.45672291780076213Gabriel Humain;5.539466521502449;0.6924333151878062Helene Adjal;4.507348938486663;0.5634186173108329Hugo Guffroy;4.71638541099619;0.5895481763745237Imen Belaiche;5.613500272182907;0.7016875340228633Ines Aubier;4.794774088187262;0.5993467610234078Ines El Karami;5.596080566140446;0.6995100707675558Issam Benzemra--Petit;5.70930865541644;0.713663581927055Jane Gosset;5.365269461077844;0.6706586826347305Jeremy Legros;3.618943930321176;0.452367991290147Julie Rohart;3.923788786064235;0.4904735982580294Justine Bertin;4.629286880783887;0.5786608600979859Justine Mikolajczak;4.350571584104518;0.5438214480130648Lali Vin;5.657049537289058;0.7071311921611323Lea Denys;5.487207403375068;0.6859009254218835Leo Marin;4.990745781164943;0.6238432226456179Lilian Lamorille;2.9657049537289057;0.3707131192161132Lisa Baran;5.2084921066957;0.6510615133369625Lucas Canon;5.70930865541644;0.713663581927055Lucie Delong;4.72509526401742;0.5906369080021775Luna Hemery;5.295590636908003;0.6619488296135003Maeline Humez;5.652694610778443;0.7065868263473054Manon Cassel;5.4001088731627656;0.6750136091453457Martin Pilot;4.498639085465433;0.5623298856831791Mateo Darras;3.5710397387044095;0.4463799673380512Matheo Guerineau;5.508982035928144;0.688622754491018Matheo Normand;5.70930865541644;0.713663581927055Mathilde Carlier;2.970059880239521;0.3712574850299401Mathilde Konury;5.199782253674469;0.6499727817093086Mathis Carlier;5.569951007076756;0.6962438758845945Mathys Calesse;4.489929232444203;0.5612411540555253Mehdi Boutchich;3.497005988023952;0.437125748502994Melanie Bouchoir;5.221556886227545;0.6526946107784432Melusine Miletti;4.25040827436037;0.5313010342950463Mickael Lenclud;2.3645320197044337;0.2955665024630542Noah Desfachelles;3.035383777898748;0.3794229722373435Noah Halluin;1.3267651888341543;0.16584564860426929Oceane Decroix;4.010887316276538;0.5013609145345672Pablo Rodriguez;4.3810560696788245;0.5476320087098531Quentin Stautemas;4.838323353293413;0.6047904191616766Raphael Rivaux;1.5764833968426784;0.1970604246053348Remi Delaval;3.9629831246597713;0.4953728905824714Remi Delvalle;5.204137180185084;0.6505171475231355Remy Maeght;2.569406641262929;0.3211758301578661Romain Bruni;5.500272182906913;0.6875340228633642Romain Delrue;5.0647795318454;0.633097441480675Ronan Bourdrel;5.583015786608601;0.6978769733260751Simon Ducrocq;5.552531301034295;0.6940664126292869Solene Marien;5.7180185084376705;0.7147523135547088Stefan Gaudin;2.1774632553075666;0.2721829069134458Tanguy Delavier;4.459444746869897;0.5574305933587371Theo Duprez;4.346216657593903;0.5432770821992379Theo Justin;4.446379967338051;0.5557974959172564Theo Rouze;5.456722917800762;0.6820903647250952Theo Verlet;5.565596080566141;0.6956995100707676Thomas Renard;4.010887316276538;0.5013609145345672Thomas Thevenin;3.6668481219379423;0.4583560152422428Tristan Quesson;3.5362003266194884;0.44202504082743604Tyffene Viseur;5.204137180185084;0.6505171475231355Vytto Scilironi;3.5449101796407185;0.4431137724550898Yvonnick Levis;5.517691888949374;0.6897114861186717 \ No newline at end of file +Alex Marechal;8.0;1.0Alexandre Berthelin;2.5107142857142857;0.3138392857142857Alexis Legrand;5.867857142857143;0.7334821428571429Alexy Lefebvre;6.010714285714286;0.7513392857142858Amelie Bruniaux;6.242857142857143;0.7803571428571429Anais Blondel;4.521428571428571;0.5651785714285714Anais Najdecki;3.3892857142857142;0.4236607142857143Antoine Duponchelle;5.121428571428571;0.6401785714285714Antoine Ponchel;6.207142857142857;0.7758928571428572Apolline Michel;5.914285714285715;0.7392857142857143Arthur Willart;4.496428571428571;0.5620535714285714Aurelien Ben Yahia;5.792857142857143;0.7241071428571428Axel Aoumat;4.310714285714286;0.5388392857142857Axel Cadart;5.692857142857143;0.7116071428571429Aymeric Grenier;6.203571428571428;0.7754464285714285Baptiste Fynnaert;3.9571428571428573;0.49464285714285716Camille Henneton - - Hecquet;6.117857142857143;0.7647321428571429Charles Carron;3.6714285714285713;0.4589285714285714Chloe Mazur;6.071428571428571;0.7589285714285714Clara Bruneau;3.1214285714285714;0.39017857142857143Clement Legrand;6.428571428571429;0.8035714285714286Cyril Massart;4.232142857142857;0.5290178571428571Doriane Bernard;5.057142857142857;0.6321428571428571Elliot Pilawa;2.557847533632287;0.3197309417040359Elodie Vaesken;5.110714285714286;0.6388392857142857Enora-Lou Deplanque;2.3964285714285714;0.2995535714285714Esteban Devos Devulder;3.460714285714286;0.43258928571428573Gabriel Humain;6.125;0.765625Helene Adjal;5.492857142857143;0.6866071428571429Hugo Guffroy;5.307142857142857;0.6633928571428571Imen Belaiche;6.042857142857143;0.7553571428571428Ines Aubier;5.728571428571429;0.7160714285714286Ines El Karami;6.1;0.7625Issam Benzemra--Petit;6.121428571428571;0.7651785714285714Jane Gosset;6.053571428571429;0.7566964285714286Jeremy Legros;3.835714285714286;0.47946428571428573Julie Rohart;4.264285714285714;0.5330357142857143Justine Bertin;4.771428571428571;0.5964285714285714Justine Mikolajczak;4.792857142857143;0.5991071428571428Lali Vin;6.078571428571428;0.7598214285714285Lea Denys;5.939285714285714;0.7424107142857143Leo Marin;5.675;0.709375Lilian Lamorille;3.692857142857143;0.4616071428571429Lisa Baran;6.175;0.771875Lucas Canon;5.832142857142857;0.7290178571428572Lucie Delong;5.064285714285714;0.6330357142857143Luna Hemery;5.675;0.709375Maeline Humez;6.4678571428571425;0.8084821428571428Manon Cassel;5.796428571428572;0.7245535714285715Martin Pilot;5.057142857142857;0.6321428571428571Mateo Darras;3.5821428571428573;0.44776785714285716Matheo Guerineau;5.957142857142857;0.7446428571428572Matheo Normand;6.121428571428571;0.7651785714285714Mathilde Carlier;2.9464285714285716;0.36830357142857145Mathilde Konury;5.560714285714286;0.6950892857142857Mathis Carlier;6.185714285714286;0.7732142857142857Mathys Calesse;4.942857142857143;0.6178571428571429Mehdi Boutchich;2.867857142857143;0.35848214285714286Melanie Bouchoir;5.65;0.70625Melusine Miletti;4.639285714285714;0.5799107142857143Mickael Lenclud;3.1318385650224214;0.3914798206278027Noah Desfachelles;3.607142857142857;0.45089285714285715Noah Halluin;1.0869955156950672;0.1358744394618834Oceane Decroix;4.55;0.56875Quentin Stautemas;5.4071428571428575;0.6758928571428572Raphael Rivaux;1.9464285714285714;0.24330357142857142Remi Delaval;3.25;0.40625Remi Delvalle;5.421428571428572;0.6776785714285715Remy Maeght;2.7607142857142857;0.3450892857142857Romain Bruni;5.95;0.74375Romain Delrue;5.5928571428571425;0.6991071428571428Ronan Bourdrel;6.017857142857143;0.7522321428571429Simon Ducrocq;6.5285714285714285;0.8160714285714286Solene Marien;6.128571428571429;0.7660714285714286Stefan Gaudin;1.7857142857142858;0.22321428571428573Tanguy Delavier;5.382142857142857;0.6727678571428571Theo Duprez;4.932142857142857;0.6165178571428571Theo Justin;4.182142857142857;0.5227678571428571Theo Rouze;6.2;0.775Theo Verlet;6.003571428571429;0.7504464285714286Thomas Renard;4.55;0.56875Thomas Thevenin;3.6607142857142856;0.4575892857142857Tristan Quesson;3.9107142857142856;0.4888392857142857Tyffene Viseur;5.703571428571428;0.7129464285714285Vytto Scilironi;3.407142857142857;0.42589285714285713Yvonnick Levis;5.964285714285714;0.7455357142857143Alex Marechal;8.0;1.0Alexandre Berthelin;2.527640449438202;0.31595505617977526Alexis Legrand;6.105168539325843;0.7631460674157303Alexy Lefebvre;5.997303370786517;0.7496629213483146Amelie Bruniaux;6.231011235955056;0.778876404494382Anais Blondel;4.5519101123595505;0.5689887640449438Anais Najdecki;3.358202247191011;0.4197752808988764Antoine Duponchelle;5.3537078651685395;0.6692134831460674Antoine Ponchel;6.195056179775281;0.7743820224719101Apolline Michel;6.151910112359551;0.7689887640449439Arthur Willart;4.526741573033708;0.5658426966292135Aurelien Ben Yahia;6.029662921348314;0.7537078651685393Axel Aoumat;4.5375280898876404;0.5671910112359551Axel Cadart;5.928988764044944;0.741123595505618Aymeric Grenier;6.1914606741573035;0.7739325842696629Baptiste Fynnaert;3.9298876404494383;0.4912359550561798Camille Henneton - - Hecquet;6.105168539325843;0.7631460674157303Charles Carron;3.8292134831460674;0.4786516853932584Chloe Mazur;6.058426966292135;0.7573033707865169Clara Bruneau;3.0885393258426967;0.3860674157303371Clement Legrand;6.47191011235955;0.8089887640449438Cyril Massart;4.260674157303371;0.5325842696629214Doriane Bernard;5.288988764044944;0.661123595505618Elliot Pilawa;2.520993227990971;0.31512415349887135Elodie Vaesken;5.09123595505618;0.6364044943820225Enora-Lou Deplanque;2.3586516853932586;0.29483146067415733Esteban Devos Devulder;3.4840449438202246;0.43550561797752807Gabriel Humain;6.166292134831461;0.7707865168539326Helene Adjal;5.727640449438202;0.7159550561797753Hugo Guffroy;5.54067415730337;0.6925842696629213Imen Belaiche;6.029662921348314;0.7537078651685393Ines Aubier;5.713258426966292;0.7141573033707865Ines El Karami;6.087191011235955;0.7608988764044944Issam Benzemra--Petit;6.10876404494382;0.7635955056179775Jane Gosset;6.09438202247191;0.7617977528089888Jeremy Legros;3.8076404494382023;0.4759550561797753Julie Rohart;4.293033707865169;0.5366292134831461Justine Bertin;4.749662921348315;0.5937078651685394Justine Mikolajczak;4.77123595505618;0.5964044943820225Lali Vin;6.06561797752809;0.7582022471910113Lea Denys;5.979325842696629;0.7474157303370786Leo Marin;5.713258426966292;0.7141573033707865Lilian Lamorille;3.663820224719101;0.4579775280898876Lisa Baran;6.216629213483146;0.7770786516853933Lucas Canon;5.817528089887641;0.7271910112359551Lucie Delong;5.044494382022472;0.630561797752809Luna Hemery;5.659325842696629;0.7074157303370786Maeline Humez;6.45752808988764;0.807191011235955Manon Cassel;5.781573033707865;0.7226966292134831Martin Pilot;5.288988764044944;0.661123595505618Mateo Darras;3.804044943820225;0.4755056179775281Matheo Guerineau;6.195056179775281;0.7743820224719101Matheo Normand;6.10876404494382;0.7635955056179775Mathilde Carlier;2.912359550561798;0.36404494382022473Mathilde Konury;5.544269662921348;0.6930337078651685Mathis Carlier;6.173483146067416;0.771685393258427Mathys Calesse;4.922247191011236;0.6152808988764045Mehdi Boutchich;2.844044943820225;0.3555056179775281Melanie Bouchoir;5.634157303370786;0.7042696629213483Melusine Miletti;4.670561797752809;0.5838202247191011Mickael Lenclud;3.0988713318284424;0.3873589164785553Noah Desfachelles;3.581123595505618;0.44764044943820225Noah Halluin;1.1593679458239277;0.14492099322799096Oceane Decroix;4.526741573033708;0.5658426966292135Quentin Stautemas;5.641348314606741;0.7051685393258427Raphael Rivaux;1.90561797752809;0.23820224719101124Remi Delaval;3.2179775280898877;0.40224719101123596Remi Delvalle;5.4040449438202245;0.6755056179775281Remy Maeght;2.7793258426966294;0.3474157303370787Romain Bruni;6.187865168539326;0.7734831460674157Romain Delrue;5.828314606741573;0.7285393258426967Ronan Bourdrel;6.004494382022472;0.750561797752809Simon Ducrocq;6.770337078651686;0.8462921348314607Solene Marien;6.115955056179775;0.7644943820224719Stefan Gaudin;1.743820224719101;0.21797752808988763Tanguy Delavier;5.616179775280899;0.7020224719101124Theo Duprez;4.965393258426967;0.6206741573033708Theo Justin;4.156404494382023;0.5195505617977528Theo Rouze;6.187865168539326;0.7734831460674157Theo Verlet;5.990112359550562;0.7487640449438202Thomas Renard;4.778426966292135;0.5973033707865169Thomas Thevenin;3.6853932584269664;0.4606741573033708Tristan Quesson;3.9370786516853933;0.49213483146067416Tyffene Viseur;5.939775280898877;0.7424719101123596Vytto Scilironi;3.376179775280899;0.4220224719101124Yvonnick Levis;6.202247191011236;0.7752808988764045Alex Marechal;8.0;1.0Alexandre Berthelin;2.527640449438202;0.31595505617977526Alexis Legrand;6.112359550561798;0.7640449438202247Alexy Lefebvre;6.000898876404494;0.7501123595505618Amelie Bruniaux;6.238202247191011;0.7797752808988764Anais Blondel;4.5591011235955055;0.5698876404494382Anais Najdecki;3.358202247191011;0.4197752808988764Antoine Duponchelle;5.357303370786517;0.6696629213483146Antoine Ponchel;6.202247191011236;0.7752808988764045Apolline Michel;6.159101123595506;0.7698876404494382Arthur Willart;4.533932584269663;0.5667415730337079Aurelien Ben Yahia;6.03685393258427;0.7546067415730338Axel Aoumat;4.5447191011235955;0.5680898876404494Axel Cadart;5.928988764044944;0.741123595505618Aymeric Grenier;6.1986516853932585;0.7748314606741573Baptiste Fynnaert;3.9298876404494383;0.4912359550561798Camille Henneton - - Hecquet;6.112359550561798;0.7640449438202247Charles Carron;3.832808988764045;0.4791011235955056Chloe Mazur;6.058426966292135;0.7573033707865169Clara Bruneau;3.0921348314606742;0.3865168539325843Clement Legrand;6.479101123595505;0.8098876404494382Cyril Massart;4.264269662921349;0.5330337078651686Doriane Bernard;5.296179775280899;0.6620224719101123Elliot Pilawa;2.520993227990971;0.31512415349887135Elodie Vaesken;5.094831460674158;0.6368539325842697Enora-Lou Deplanque;2.3586516853932586;0.29483146067415733Esteban Devos Devulder;3.487640449438202;0.43595505617977526Gabriel Humain;6.166292134831461;0.7707865168539326Helene Adjal;5.727640449438202;0.7159550561797753Hugo Guffroy;5.544269662921348;0.6930337078651685Imen Belaiche;6.0332584269662926;0.7541573033707866Ines Aubier;5.713258426966292;0.7141573033707865Ines El Karami;6.09438202247191;0.7617977528089888Issam Benzemra--Petit;6.115955056179775;0.7644943820224719Jane Gosset;6.101573033707865;0.7626966292134831Jeremy Legros;3.8076404494382023;0.4759550561797753Julie Rohart;4.296629213483146;0.5370786516853933Justine Bertin;4.753258426966292;0.5941573033707865Justine Mikolajczak;4.774831460674157;0.5968539325842697Lali Vin;6.072808988764045;0.7591011235955056Lea Denys;5.979325842696629;0.7474157303370786Leo Marin;5.713258426966292;0.7141573033707865Lilian Lamorille;3.671011235955056;0.458876404494382Lisa Baran;6.223820224719101;0.7779775280898876Lucas Canon;5.824719101123596;0.7280898876404495Lucie Delong;5.051685393258427;0.6314606741573033Luna Hemery;5.662921348314606;0.7078651685393258Maeline Humez;6.464719101123595;0.8080898876404494Manon Cassel;5.785168539325842;0.7231460674157303Martin Pilot;5.288988764044944;0.661123595505618Mateo Darras;3.8076404494382023;0.4759550561797753Matheo Guerineau;6.195056179775281;0.7743820224719101Matheo Normand;6.115955056179775;0.7644943820224719Mathilde Carlier;2.912359550561798;0.36404494382022473Mathilde Konury;5.547865168539325;0.6934831460674157Mathis Carlier;6.173483146067416;0.771685393258427Mathys Calesse;4.922247191011236;0.6152808988764045Mehdi Boutchich;2.844044943820225;0.3555056179775281Melanie Bouchoir;5.637752808988764;0.7047191011235955Melusine Miletti;4.670561797752809;0.5838202247191011Mickael Lenclud;3.102483069977427;0.38781038374717836Noah Desfachelles;3.581123595505618;0.44764044943820225Noah Halluin;1.1593679458239277;0.14492099322799096Oceane Decroix;4.526741573033708;0.5658426966292135Quentin Stautemas;5.641348314606741;0.7051685393258427Raphael Rivaux;1.90561797752809;0.23820224719101124Remi Delaval;3.221573033707865;0.40269662921348315Remi Delvalle;5.4040449438202245;0.6755056179775281Remy Maeght;2.782921348314607;0.34786516853932586Romain Bruni;6.195056179775281;0.7743820224719101Romain Delrue;5.831910112359551;0.7289887640449438Ronan Bourdrel;6.004494382022472;0.750561797752809Simon Ducrocq;6.777528089887641;0.8471910112359551Solene Marien;6.115955056179775;0.7644943820224719Stefan Gaudin;1.7474157303370788;0.21842696629213484Tanguy Delavier;5.623370786516854;0.7029213483146067Theo Duprez;4.965393258426967;0.6206741573033708Theo Justin;4.156404494382023;0.5195505617977528Theo Rouze;6.187865168539326;0.7734831460674157Theo Verlet;5.993707865168539;0.7492134831460674Thomas Renard;4.778426966292135;0.5973033707865169Thomas Thevenin;3.688988764044944;0.461123595505618Tristan Quesson;3.9370786516853933;0.49213483146067416Tyffene Viseur;5.939775280898877;0.7424719101123596Vytto Scilironi;3.376179775280899;0.4220224719101124Yvonnick Levis;6.202247191011236;0.7752808988764045 \ No newline at end of file diff --git a/base_evaluations_analyseCalc.xml b/base_evaluations_analyseCalc.xml index 8aca7a7..0f2899f 100644 --- a/base_evaluations_analyseCalc.xml +++ b/base_evaluations_analyseCalc.xml @@ -1 +1 @@ - 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 + EJ - - ???Page 1(???)???, 00/00/000000:00:00Page 1/ 99 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/.gitignore b/bin/.gitignore index ba9b02c..aa9f0f9 100644 --- a/bin/.gitignore +++ b/bin/.gitignore @@ -1,3 +1,5 @@ /AnalyseCalc/ /outils/ /fenetres/ +/evaluer/ +/xml/ diff --git a/bin/AnalyseCalc/Classeur2$feuille$colonne.class b/bin/AnalyseCalc/Classeur2$feuille$colonne.class index aa33f5b..b4a6bfd 100644 Binary files a/bin/AnalyseCalc/Classeur2$feuille$colonne.class and b/bin/AnalyseCalc/Classeur2$feuille$colonne.class differ diff --git a/bin/AnalyseCalc/Classeur2$feuille$graphic.class b/bin/AnalyseCalc/Classeur2$feuille$graphic.class index 47c156f..1dfeff9 100644 Binary files a/bin/AnalyseCalc/Classeur2$feuille$graphic.class and b/bin/AnalyseCalc/Classeur2$feuille$graphic.class differ diff --git a/bin/AnalyseCalc/Classeur2$feuille$ligne$cellule$validation.class b/bin/AnalyseCalc/Classeur2$feuille$ligne$cellule$validation.class index 50a0c71..eb29d50 100644 Binary files a/bin/AnalyseCalc/Classeur2$feuille$ligne$cellule$validation.class and b/bin/AnalyseCalc/Classeur2$feuille$ligne$cellule$validation.class differ diff --git a/bin/AnalyseCalc/Classeur2$feuille$ligne$cellule.class b/bin/AnalyseCalc/Classeur2$feuille$ligne$cellule.class index 667eda2..a9368a1 100644 Binary files a/bin/AnalyseCalc/Classeur2$feuille$ligne$cellule.class and b/bin/AnalyseCalc/Classeur2$feuille$ligne$cellule.class differ diff --git a/bin/AnalyseCalc/Classeur2$feuille$ligne.class b/bin/AnalyseCalc/Classeur2$feuille$ligne.class index 3b47a84..447e9c7 100644 Binary files a/bin/AnalyseCalc/Classeur2$feuille$ligne.class and b/bin/AnalyseCalc/Classeur2$feuille$ligne.class differ diff --git a/bin/AnalyseCalc/Classeur2$feuille.class b/bin/AnalyseCalc/Classeur2$feuille.class index b9ddf7e..113233e 100644 Binary files a/bin/AnalyseCalc/Classeur2$feuille.class and b/bin/AnalyseCalc/Classeur2$feuille.class differ diff --git a/bin/AnalyseCalc/Classeur2$historique.class b/bin/AnalyseCalc/Classeur2$historique.class index c76090a..e67e1a2 100644 Binary files a/bin/AnalyseCalc/Classeur2$historique.class and b/bin/AnalyseCalc/Classeur2$historique.class differ diff --git a/bin/AnalyseCalc/Classeur2$modification.class b/bin/AnalyseCalc/Classeur2$modification.class index e12d5b5..2bf4b27 100644 Binary files a/bin/AnalyseCalc/Classeur2$modification.class and b/bin/AnalyseCalc/Classeur2$modification.class differ diff --git a/bin/AnalyseCalc/Classeur2.class b/bin/AnalyseCalc/Classeur2.class index b7bdafd..1358a67 100644 Binary files a/bin/AnalyseCalc/Classeur2.class and b/bin/AnalyseCalc/Classeur2.class differ diff --git a/bin/evaluer/evaluerAttributs.class b/bin/evaluer/evaluerAttributs.class index 8d3260b..2f7dfd0 100644 Binary files a/bin/evaluer/evaluerAttributs.class and b/bin/evaluer/evaluerAttributs.class differ diff --git a/bin/evaluer/evaluerLesFichiersEtudiants.class b/bin/evaluer/evaluerLesFichiersEtudiants.class index 2c6af37..d30c1c0 100644 Binary files a/bin/evaluer/evaluerLesFichiersEtudiants.class and b/bin/evaluer/evaluerLesFichiersEtudiants.class differ diff --git a/bin/evaluer/evaluerNodesClasseurStudent.class b/bin/evaluer/evaluerNodesClasseurStudent.class index ab805bd..d4e0b56 100644 Binary files a/bin/evaluer/evaluerNodesClasseurStudent.class and b/bin/evaluer/evaluerNodesClasseurStudent.class differ diff --git a/bin/xml/node.class b/bin/xml/node.class index 62c1518..e5040d8 100644 Binary files a/bin/xml/node.class and b/bin/xml/node.class differ diff --git a/ensembleResultats.csv b/ensembleResultats.csv index 8ae2d41..fa5f8ab 100644 --- a/ensembleResultats.csv +++ b/ensembleResultats.csv @@ -1,87 +1,87 @@ nomEtudiant;note;pourcentage -Alex Marechal;6.780620577027762;0.8475775721284703 -Alexandre Berthelin;3.0615133369624385;0.3826891671203048 -Alexis Legrand;5.4001088731627656;0.6750136091453457 -Alexy Lefebvre;5.574305933587371;0.6967882416984214 -Amelie Bruniaux;5.857376156777354;0.7321720195971693 -Anais Blondel;4.415895481763745;0.5519869352204682 -Anais Najdecki;2.900381056069679;0.3625476320087099 -Antoine Duponchelle;4.489929232444203;0.5612411540555253 -Antoine Ponchel;5.596080566140446;0.6995100707675558 -Apolline Michel;5.456722917800762;0.6820903647250952 -Arthur Willart;3.9891126837234623;0.4986390854654328 -Aurelien Ben Yahia;5.308655416439848;0.663581927054981 -Axel Aoumat;3.2400653238976593;0.4050081654872074 -Axel Cadart;5.186717474142624;0.648339684267828 -Aymeric Grenier;5.809471965160588;0.7261839956450735 -Baptiste Fynnaert;3.723462166575939;0.46543277082199236 -Charles Carron;3.780076211213936;0.472509526401742 -Chloe Mazur;5.735438214480131;0.7169297768100164 -Clara Bruneau;3.0571584104518235;0.38214480130647793 -Clement Legrand;5.430593358737071;0.6788241698421339 -Cyril Massart;3.7974959172563962;0.47468698965704953 -Doriane Bernard;4.938486663037561;0.6173108328796951 -Elliot Pilawa;2.5834701696770663;0.3229337712096333 -Elodie Vaesken;4.520413718018508;0.5650517147523135 -Enora-Lou Deplanque;2.6173108328796952;0.3271638541099619 -Esteban Devos Devulder;3.653783342406097;0.45672291780076213 -Gabriel Humain;5.539466521502449;0.6924333151878062 -Helene Adjal;4.507348938486663;0.5634186173108329 -Hugo Guffroy;4.71638541099619;0.5895481763745237 -Imen Belaiche;5.613500272182907;0.7016875340228633 -Ines Aubier;4.794774088187262;0.5993467610234078 -Ines El Karami;5.596080566140446;0.6995100707675558 -Issam Benzemra--Petit;5.70930865541644;0.713663581927055 -Jane Gosset;5.365269461077844;0.6706586826347305 -Jeremy Legros;3.618943930321176;0.452367991290147 -Julie Rohart;3.923788786064235;0.4904735982580294 -Justine Bertin;4.629286880783887;0.5786608600979859 -Justine Mikolajczak;4.350571584104518;0.5438214480130648 -Lali Vin;5.657049537289058;0.7071311921611323 -Lea Denys;5.487207403375068;0.6859009254218835 -Leo Marin;4.990745781164943;0.6238432226456179 -Lilian Lamorille;2.9657049537289057;0.3707131192161132 -Lisa Baran;5.2084921066957;0.6510615133369625 -Lucas Canon;5.70930865541644;0.713663581927055 -Lucie Delong;4.72509526401742;0.5906369080021775 -Luna Hemery;5.295590636908003;0.6619488296135003 -Maeline Humez;5.652694610778443;0.7065868263473054 -Manon Cassel;5.4001088731627656;0.6750136091453457 -Martin Pilot;4.498639085465433;0.5623298856831791 -Mateo Darras;3.5710397387044095;0.4463799673380512 -Matheo Guerineau;5.508982035928144;0.688622754491018 -Matheo Normand;5.70930865541644;0.713663581927055 -Mathilde Carlier;2.970059880239521;0.3712574850299401 -Mathilde Konury;5.199782253674469;0.6499727817093086 -Mathis Carlier;5.569951007076756;0.6962438758845945 -Mathys Calesse;4.489929232444203;0.5612411540555253 -Mehdi Boutchich;3.497005988023952;0.437125748502994 -Melanie Bouchoir;5.221556886227545;0.6526946107784432 -Melusine Miletti;4.25040827436037;0.5313010342950463 -Mickael Lenclud;2.3645320197044337;0.2955665024630542 -Noah Desfachelles;3.035383777898748;0.3794229722373435 -Noah Halluin;1.3267651888341543;0.16584564860426929 -Oceane Decroix;4.010887316276538;0.5013609145345672 -Pablo Rodriguez;4.3810560696788245;0.5476320087098531 -Quentin Stautemas;4.838323353293413;0.6047904191616766 -Raphael Rivaux;1.5764833968426784;0.1970604246053348 -Remi Delaval;3.9629831246597713;0.4953728905824714 -Remi Delvalle;5.204137180185084;0.6505171475231355 -Remy Maeght;2.569406641262929;0.3211758301578661 -Romain Bruni;5.500272182906913;0.6875340228633642 -Romain Delrue;5.0647795318454;0.633097441480675 -Ronan Bourdrel;5.583015786608601;0.6978769733260751 -Simon Ducrocq;5.552531301034295;0.6940664126292869 -Solene Marien;5.7180185084376705;0.7147523135547088 -Stefan Gaudin;2.1774632553075666;0.2721829069134458 -Tanguy Delavier;4.459444746869897;0.5574305933587371 -Theo Duprez;4.346216657593903;0.5432770821992379 -Theo Justin;4.446379967338051;0.5557974959172564 -Theo Rouze;5.456722917800762;0.6820903647250952 -Theo Verlet;5.565596080566141;0.6956995100707676 -Thomas Renard;4.010887316276538;0.5013609145345672 -Thomas Thevenin;3.6668481219379423;0.4583560152422428 -Tristan Quesson;3.5362003266194884;0.44202504082743604 -Tyffene Viseur;5.204137180185084;0.6505171475231355 -Vytto Scilironi;3.5449101796407185;0.4431137724550898 -Yvonnick Levis;5.517691888949374;0.6897114861186717 +Alex Marechal;8.0;1.0 +Alexandre Berthelin;2.527640449438202;0.31595505617977526 +Alexis Legrand;6.112359550561798;0.7640449438202247 +Alexy Lefebvre;6.000898876404494;0.7501123595505618 +Amelie Bruniaux;6.238202247191011;0.7797752808988764 +Anais Blondel;4.5591011235955055;0.5698876404494382 +Anais Najdecki;3.358202247191011;0.4197752808988764 +Antoine Duponchelle;5.357303370786517;0.6696629213483146 +Antoine Ponchel;6.202247191011236;0.7752808988764045 +Apolline Michel;6.159101123595506;0.7698876404494382 +Arthur Willart;4.533932584269663;0.5667415730337079 +Aurelien Ben Yahia;6.03685393258427;0.7546067415730338 +Axel Aoumat;4.5447191011235955;0.5680898876404494 +Axel Cadart;5.928988764044944;0.741123595505618 +Aymeric Grenier;6.1986516853932585;0.7748314606741573 +Baptiste Fynnaert;3.9298876404494383;0.4912359550561798 +Camille Henneton - - Hecquet;6.112359550561798;0.7640449438202247 +Charles Carron;3.832808988764045;0.4791011235955056 +Chloe Mazur;6.058426966292135;0.7573033707865169 +Clara Bruneau;3.0921348314606742;0.3865168539325843 +Clement Legrand;6.479101123595505;0.8098876404494382 +Cyril Massart;4.264269662921349;0.5330337078651686 +Doriane Bernard;5.296179775280899;0.6620224719101123 +Elliot Pilawa;2.520993227990971;0.31512415349887135 +Elodie Vaesken;5.094831460674158;0.6368539325842697 +Enora-Lou Deplanque;2.3586516853932586;0.29483146067415733 +Esteban Devos Devulder;3.487640449438202;0.43595505617977526 +Gabriel Humain;6.166292134831461;0.7707865168539326 +Helene Adjal;5.727640449438202;0.7159550561797753 +Hugo Guffroy;5.544269662921348;0.6930337078651685 +Imen Belaiche;6.0332584269662926;0.7541573033707866 +Ines Aubier;5.713258426966292;0.7141573033707865 +Ines El Karami;6.09438202247191;0.7617977528089888 +Issam Benzemra--Petit;6.115955056179775;0.7644943820224719 +Jane Gosset;6.101573033707865;0.7626966292134831 +Jeremy Legros;3.8076404494382023;0.4759550561797753 +Julie Rohart;4.296629213483146;0.5370786516853933 +Justine Bertin;4.753258426966292;0.5941573033707865 +Justine Mikolajczak;4.774831460674157;0.5968539325842697 +Lali Vin;6.072808988764045;0.7591011235955056 +Lea Denys;5.979325842696629;0.7474157303370786 +Leo Marin;5.713258426966292;0.7141573033707865 +Lilian Lamorille;3.671011235955056;0.458876404494382 +Lisa Baran;6.223820224719101;0.7779775280898876 +Lucas Canon;5.824719101123596;0.7280898876404495 +Lucie Delong;5.051685393258427;0.6314606741573033 +Luna Hemery;5.662921348314606;0.7078651685393258 +Maeline Humez;6.464719101123595;0.8080898876404494 +Manon Cassel;5.785168539325842;0.7231460674157303 +Martin Pilot;5.288988764044944;0.661123595505618 +Mateo Darras;3.8076404494382023;0.4759550561797753 +Matheo Guerineau;6.195056179775281;0.7743820224719101 +Matheo Normand;6.115955056179775;0.7644943820224719 +Mathilde Carlier;2.912359550561798;0.36404494382022473 +Mathilde Konury;5.547865168539325;0.6934831460674157 +Mathis Carlier;6.173483146067416;0.771685393258427 +Mathys Calesse;4.922247191011236;0.6152808988764045 +Mehdi Boutchich;2.844044943820225;0.3555056179775281 +Melanie Bouchoir;5.637752808988764;0.7047191011235955 +Melusine Miletti;4.670561797752809;0.5838202247191011 +Mickael Lenclud;3.102483069977427;0.38781038374717836 +Noah Desfachelles;3.581123595505618;0.44764044943820225 +Noah Halluin;1.1593679458239277;0.14492099322799096 +Oceane Decroix;4.526741573033708;0.5658426966292135 +Quentin Stautemas;5.641348314606741;0.7051685393258427 +Raphael Rivaux;1.90561797752809;0.23820224719101124 +Remi Delaval;3.221573033707865;0.40269662921348315 +Remi Delvalle;5.4040449438202245;0.6755056179775281 +Remy Maeght;2.782921348314607;0.34786516853932586 +Romain Bruni;6.195056179775281;0.7743820224719101 +Romain Delrue;5.831910112359551;0.7289887640449438 +Ronan Bourdrel;6.004494382022472;0.750561797752809 +Simon Ducrocq;6.777528089887641;0.8471910112359551 +Solene Marien;6.115955056179775;0.7644943820224719 +Stefan Gaudin;1.7474157303370788;0.21842696629213484 +Tanguy Delavier;5.623370786516854;0.7029213483146067 +Theo Duprez;4.965393258426967;0.6206741573033708 +Theo Justin;4.156404494382023;0.5195505617977528 +Theo Rouze;6.187865168539326;0.7734831460674157 +Theo Verlet;5.993707865168539;0.7492134831460674 +Thomas Renard;4.778426966292135;0.5973033707865169 +Thomas Thevenin;3.688988764044944;0.461123595505618 +Tristan Quesson;3.9370786516853933;0.49213483146067416 +Tyffene Viseur;5.939775280898877;0.7424719101123596 +Vytto Scilironi;3.376179775280899;0.4220224719101124 +Yvonnick Levis;6.202247191011236;0.7752808988764045 diff --git a/src/AnalyseCalc/Classeur2.java b/src/AnalyseCalc/Classeur2.java index 5b2700b..3947f27 100644 --- a/src/AnalyseCalc/Classeur2.java +++ b/src/AnalyseCalc/Classeur2.java @@ -12,7 +12,8 @@ import java.util.Map.Entry; import java.util.TreeMap; import AnalyseCalc.Classeur2.feuille.colonne; -import AnalyseCalc.Classeur2.feuille.formatConditionnel; +import AnalyseCalc.Classeur2.feuille.formatsConditionnels; +import AnalyseCalc.Classeur2.feuille.formatsConditionnels.formatConditionnelConditions; import AnalyseCalc.Classeur2.feuille.graphic; import AnalyseCalc.Classeur2.feuille.ligne; import AnalyseCalc.Classeur2.feuille.ligne.cellule; @@ -66,24 +67,6 @@ public class Classeur2 { */ public Classeur2(node nod, Integer indexStudent, typeFichier typeClasseurACreer) throws CloneNotSupportedException, IOException { -// 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"); @@ -665,7 +648,7 @@ public class Classeur2 { private TreeMap colonnes = new TreeMap(); private TreeMap lignes = new TreeMap(); private TreeMap graphics = new TreeMap(); - private TreeMap formatConditionnel = new TreeMap(); + private TreeMap formatConditionnel = new TreeMap(); private TreeMap nommageCellulesFeuille = new TreeMap(); /** @@ -716,7 +699,7 @@ public class Classeur2 { //format conditionnel nods= fe.retourneAllEnfants("formatsConditionnels"); for(int i=0 ; i < nods.size();i++) { - formatConditionnel.put(i, new formatConditionnel(nods.get(i))); + formatConditionnel.put(i, new formatsConditionnels(nods.get(i))); } } @@ -724,7 +707,7 @@ public class Classeur2 { /** - * Chargement d'une nouvelle feuille depuis le classeur + * Chargement d'une nouvelle feuille depuis le classeur de l'étudiant.
* @param fe * @param XMLContent * @param a @@ -798,7 +781,7 @@ public class Classeur2 { ArrayList A = LesFormatsConditionnels.retourneAllEnfants("calcext:conditional-format"); System.out.println("Nbr de format conditionnels = " + A.size()); for(int i = 0 ; i < A.size();i++) { - formatConditionnel.put(i, new formatConditionnel(A.get(i), nod, indexStudent)); + formatConditionnel.put(i, new formatsConditionnels(A.get(i), nod, indexStudent)); } }else { System.out.println("Il n'y a pas de graphique"); @@ -862,7 +845,7 @@ public class Classeur2 { return graphics; } - public TreeMap getFormatsConditionnels() { + public TreeMap getFormatsConditionnels() { return formatConditionnel; } /** @@ -2226,7 +2209,7 @@ public class Classeur2 { /** - * Chargement d'un nouvelle cellule + * Chargement d'une nouvelle cellule.
* @param cel * @param numLigne * @param numColonne @@ -2637,74 +2620,114 @@ public class Classeur2 { * @author Pablo * *******************************************/ - public class formatConditionnel{ - private TreeMap conditionalformat = new TreeMap(); - private TreeMap styleFormatConditionnel = new TreeMap(); + public class formatsConditionnels{ + private String targetRangeAddress = ""; + private TreeMap conditionalformatConditions = new TreeMap(); + // chargement dans le node sujet. - public formatConditionnel(node nodeFormatsConditionnels ) { - if(nodeFormatsConditionnels.getAttributs().get("targetRangeAddress")!=null) conditionalformat.put("targetRangeAddress", nodeFormatsConditionnels.getAttributs().get("targetRangeAddress")); - if(nodeFormatsConditionnels.getAttributs().get("styleName")!=null) conditionalformat.put("styleName", nodeFormatsConditionnels.getAttributs().get("styleName")); - if(nodeFormatsConditionnels.getAttributs().get("condition")!=null) conditionalformat.put("condition", nodeFormatsConditionnels.getAttributs().get("condition")); - if(nodeFormatsConditionnels.getAttributs().get("baseCellAddress")!=null) conditionalformat.put("baseCellAddress", nodeFormatsConditionnels.getAttributs().get("baseCellAddress")); - node b = nodeFormatsConditionnels.retourneFirstEnfant("styleFormatConditionnel"); - if(b!=null) { - for (Entry k1 : b.getAttributs().entrySet()) { - styleFormatConditionnel.put(k1.getKey() , k1.getValue()) ; - } + public formatsConditionnels(node nodeFormatsConditionnels ) { + if(nodeFormatsConditionnels.getAttributs().get("targetRangeAddress")!=null) targetRangeAddress = nodeFormatsConditionnels.getAttributs().get("targetRangeAddress"); + for (node enfant : nodeFormatsConditionnels.getEnfants()) { + } } // Chargement depuis le classeur de l'étudiant. - public formatConditionnel(node nodeFormatConditionnel,node nod, Integer indexStudent ) { - if(nodeFormatConditionnel.getAttributs().get("calcext:target-range-address")!=null) conditionalformat.put("targetRangeAddress", nodeFormatConditionnel.getAttributs().get("calcext:target-range-address")); - for (node condition : nodeFormatConditionnel.getEnfants()) { - if(condition.getAttributs().get("calcext:apply-style-name")!=null) conditionalformat.put("styleName", condition.getAttributs().get("calcext:apply-style-name")); - if(condition.getAttributs().get("calcext:value")!=null) conditionalformat.put("condition", condition.getAttributs().get("calcext:value")); - if(condition.getAttributs().get("calcext:base-cell-address")!=null) conditionalformat.put("baseCellAddress", condition.getAttributs().get("calcext:base-cell-address")); - - String styleName = conditionalformat.get("styleName").replaceAll(" ", "_20_"); - node nodeStyle = nod.retourneFirstEnfant("style:style", "style:name", styleName); - - if(nodeStyle!=null) { - if(nodeStyle.getAttributs().get("style:family")!=null) styleFormatConditionnel.put("styleFamily", nodeStyle.getAttributs().get("style:family")); - if(nodeStyle.getAttributs().get("style:parent-style-name")!=null) styleFormatConditionnel.put("parentStyleName", nodeStyle.getAttributs().get("style:parent-style-name")); - if(nodeStyle.getAttributs().get("style:data-style-name")!=null) styleFormatConditionnel.put("dataStyleName", nodeStyle.getAttributs().get("style:data-style-name")); - - node b = nodeStyle.retourneFirstEnfant("style:table-cell-properties"); - if(b!=null) { - if(b.getAttributs().get("fo:background-color")!=null) styleFormatConditionnel.put("arrierPlan", b.getAttributs().get("fo:background-color")); - } - - b = nodeStyle.retourneFirstEnfant("style:text-properties"); - if(b!=null) { - if(b.getAttributs().get("style:font-name")!=null) styleFormatConditionnel.put("police", b.getAttributs().get("style:font-name")); - if(b.getAttributs().get("fo:font-family")!=null) styleFormatConditionnel.put("policeFamille", b.getAttributs().get("fo:font-family")); - if(b.getAttributs().get("style:font-style-name")!=null) styleFormatConditionnel.put("nomStylePolice", b.getAttributs().get("style:font-style-name")); - if(b.getAttributs().get("fo:font-size")!=null) styleFormatConditionnel.put("taille", b.getAttributs().get("fo:font-size")); - if(b.getAttributs().get("fo:font-style")!=null) styleFormatConditionnel.put("stylePolice", b.getAttributs().get("fo:font-style")); - if(b.getAttributs().get("fo:font-weight")!=null) styleFormatConditionnel.put("policeGras", b.getAttributs().get("fo:font-weight")); - } - } - - - - } + public formatsConditionnels(node nodeFormatConditionnel,node nod, Integer indexStudent ) { + if(nodeFormatConditionnel.getAttributs().get("calcext:target-range-address")!=null) targetRangeAddress= nodeFormatConditionnel.getAttributs().get("calcext:target-range-address"); + // les formats conditionnels conditions et style + int numCondition = 0; + for (node conditions : nodeFormatConditionnel.getEnfants()) { + numCondition++; + conditionalformatConditions.put(numCondition, new formatConditionnelConditions(conditions,nod,indexStudent, numCondition)); + } } + - public TreeMap getConditionalformat() { - return conditionalformat; + public String getTargetRangeAddress() { + return targetRangeAddress; } - public TreeMap getStyleFormatConditionnel() { - return styleFormatConditionnel; + public TreeMap getConditionalformatConditions() { + return conditionalformatConditions; } + + /** + * Les différentes conditions et style.
+ * @author pabr6 + * + */ + public class formatConditionnelConditions { + private TreeMap formatConditionnel = new TreeMap(); + private TreeMap styleFormatConditionnel = new TreeMap(); + + // chargement depuis le sujet + public formatConditionnelConditions(node nodeFormatsConditionnels) { + if(nodeFormatsConditionnels.getAttributs().get("numCondition")!=null) formatConditionnel.put("numCondition", nodeFormatsConditionnels.getAttributs().get("numCondition")); + if(nodeFormatsConditionnels.getAttributs().get("styleName")!=null) formatConditionnel.put("styleName", nodeFormatsConditionnels.getAttributs().get("styleName")); + if(nodeFormatsConditionnels.getAttributs().get("condition")!=null) formatConditionnel.put("condition", nodeFormatsConditionnels.getAttributs().get("condition")); + if(nodeFormatsConditionnels.getAttributs().get("baseCellAddress")!=null) formatConditionnel.put("baseCellAddress", nodeFormatsConditionnels.getAttributs().get("baseCellAddress")); + + } + + + // chargement depuis le classeur de l'étudiant.
+ public formatConditionnelConditions(node conditions,node nod, Integer indexStudent, Integer numCondition) { + formatConditionnel.put("numCondition", String.valueOf(numCondition)); + + if(conditions.getAttributs().get("calcext:apply-style-name")!=null) formatConditionnel.put("styleName", conditions.getAttributs().get("calcext:apply-style-name")); + if(conditions.getAttributs().get("calcext:value")!=null) formatConditionnel.put("condition", conditions.getAttributs().get("calcext:value")); + if(conditions.getAttributs().get("calcext:base-cell-address")!=null) formatConditionnel.put("baseCellAddress", conditions.getAttributs().get("calcext:base-cell-address")); + + String styleName = formatConditionnel.get("styleName").replaceAll(" ", "_20_"); + node nodeStyle = nod.retourneFirstEnfant("style:style", "style:name", styleName); + + if(nodeStyle!=null) { + if(nodeStyle.getAttributs().get("style:family")!=null) styleFormatConditionnel.put("styleFamily", nodeStyle.getAttributs().get("style:family")); + if(nodeStyle.getAttributs().get("style:parent-style-name")!=null) styleFormatConditionnel.put("parentStyleName", nodeStyle.getAttributs().get("style:parent-style-name")); + if(nodeStyle.getAttributs().get("style:data-style-name")!=null) styleFormatConditionnel.put("dataStyleName", nodeStyle.getAttributs().get("style:data-style-name")); + + node b = nodeStyle.retourneFirstEnfant("style:table-cell-properties"); + if(b!=null) { + if(b.getAttributs().get("fo:background-color")!=null) styleFormatConditionnel.put("arrierPlan", b.getAttributs().get("fo:background-color")); + } + + b = nodeStyle.retourneFirstEnfant("style:text-properties"); + if(b!=null) { + if(b.getAttributs().get("style:font-name")!=null) styleFormatConditionnel.put("police", b.getAttributs().get("style:font-name")); + if(b.getAttributs().get("fo:font-family")!=null) styleFormatConditionnel.put("policeFamille", b.getAttributs().get("fo:font-family")); + if(b.getAttributs().get("style:font-style-name")!=null) styleFormatConditionnel.put("nomStylePolice", b.getAttributs().get("style:font-style-name")); + if(b.getAttributs().get("fo:font-size")!=null) styleFormatConditionnel.put("taille", b.getAttributs().get("fo:font-size")); + if(b.getAttributs().get("fo:font-style")!=null) styleFormatConditionnel.put("stylePolice", b.getAttributs().get("fo:font-style")); + if(b.getAttributs().get("fo:font-weight")!=null) styleFormatConditionnel.put("policeGras", b.getAttributs().get("fo:font-weight")); + } + } + + + } + + + + public TreeMap getFormatConditionnel() { + return formatConditionnel; + } + + + + public TreeMap getStyleFormatConditionnel() { + return styleFormatConditionnel; + } + + + } // formatConditionnelConditions + - } // formatConditionnel + } // formatsConditionnels } // feuille @@ -2818,7 +2841,7 @@ public class Classeur2 { } // formats conditionnels - for (Entry k1 : k.getValue().getFormatsConditionnels().entrySet()) { + for (Entry k1 : k.getValue().getFormatsConditionnels().entrySet()) { ecritureFormatsConditionnels(fichier,k1.getValue(),""); } @@ -2914,24 +2937,21 @@ public class Classeur2 { * @param prefix * @throws IOException */ - private void ecritureFormatsConditionnels(StringBuilder fichier, formatConditionnel k1, String prefix ) throws IOException { - fichier.append(prefix+""); - + private void ecritureFormatsConditionnels(StringBuilder fichier, formatsConditionnels k1, String prefix ) throws IOException { + fichier.append(prefix+""); fichier.append("" ) ; - fichier.append(prefix+" k2 : k1.getConditionalformat().entrySet()) { - fichier.append(" " + k2.getKey() + "=\"" + k2.getValue() + "\"" ) ; + for(Entry k2 : k1.getConditionalformatConditions().entrySet()) { + fichier.append(prefix+" k3 : k2.getValue().getFormatConditionnel().entrySet()) { + fichier.append(" " + k3.getKey() + "=\"" + k3.getValue() + "\"" ) ; + } + fichier.append("> k3 : k2.getValue().getStyleFormatConditionnel().entrySet()) { + fichier.append(" " + k3.getKey() + "=\"" + k3.getValue() + "\"" ) ; + } + fichier.append(">"); } - fichier.append(">"); - - fichier.append(" k2 : k1.getStyleFormatConditionnel().entrySet()) { - fichier.append(" " + k2.getKey() + "=\"" + k2.getValue() + "\"" ) ; - } - fichier.append(">"); - - fichier.append(""); fichier.append(prefix+""); } diff --git a/src/evaluer/evaluerAttributs.java b/src/evaluer/evaluerAttributs.java index 8a6d76f..5933708 100644 --- a/src/evaluer/evaluerAttributs.java +++ b/src/evaluer/evaluerAttributs.java @@ -22,15 +22,19 @@ public class evaluerAttributs { nEtudiant = nodeEtudiant; nAnalyse = analyse; nSujet = nodeSujet; - if(nodeSujet.getNameNode().equals("colonne")) evaluerAttributColonne(); + if(nodeSujet.getNameNode().equals("colonne")) { + evaluerAttributColonne(); + } if(nodeSujet.getNameNode().equals("ligne")) { evaluerAttributLigne(); evaluerAttributCellule(); } - if(nodeSujet.getNameNode().equals("formatConditionnel")) { - evaluerAttributFormatConditionnel(); - evaluerAttributStyleFormatConditionnel(); - + if(nodeSujet.getNameNode().equals("formatsConditionnels")) { + for (node nFormatConditionnelSujet : nSujet.getEnfants()) { + node nFormatConditionnelEtudiant = trouveFormatConditionnelEtudaint(nFormatConditionnelSujet.getAttributs().get("numCondition")); + evaluerAttributFormatConditionnel(nFormatConditionnelSujet,nFormatConditionnelEtudiant); + evaluerAttributStyleFormatConditionnel(nFormatConditionnelSujet,nFormatConditionnelEtudiant); + } } if(nodeSujet.getNameNode().equals("graphic")) { evaluerAttributGraphic(); @@ -100,12 +104,12 @@ public class evaluerAttributs { /** * Evaluer les attributs du node formatConditionnel.
*/ - private void evaluerAttributFormatConditionnel() { - for (Map.Entry entry : nSujet.getAttributs().entrySet()){ - if(nSujet.isAttributEvaluer(entry.getKey())) { + private void evaluerAttributFormatConditionnel(node nFormatConditionnelSujet, node nFormatConditionnelEtudiant) { + for (Map.Entry entry : nFormatConditionnelSujet.getAttributs().entrySet()){ + if(nFormatConditionnelSujet.isAttributEvaluer(entry.getKey())) { String valeurEtudiant = ""; - if(nEtudiant!=null) valeurEtudiant=nEtudiant.getAttributs().get(entry.getKey()); - nAnalyse.retourneLastEnfant("formatConditionnel").addEnfant(new outils().Compare("formatConditionnel",entry.getKey(), entry.getValue(), valeurEtudiant)); + if(nFormatConditionnelEtudiant!=null) valeurEtudiant=nFormatConditionnelEtudiant.getAttributs().get(entry.getKey()); + nAnalyse.retourneLastEnfant("formatsConditionnels").addEnfant(new outils().Compare("formatConditionnel",entry.getKey(), entry.getValue(), valeurEtudiant)); } } } @@ -113,16 +117,16 @@ public class evaluerAttributs { /** * Evaluer les attributs du node styleFormatConditionnel.
*/ - private void evaluerAttributStyleFormatConditionnel() { - node styleFormatConditionnel = nSujet.retourneFirstEnfant("styleFormatConditionnel"); + private void evaluerAttributStyleFormatConditionnel(node nFormatConditionnelSujet, node nFormatConditionnelEtudiant) { + node styleFormatConditionnel = nFormatConditionnelSujet.retourneFirstEnfant("styleFormatConditionnel"); if(styleFormatConditionnel.isEvaluer()) { node styleFormatConditionnelEtudiant = null; - if(nEtudiant!=null) styleFormatConditionnelEtudiant = nEtudiant.retourneFirstEnfant("styleFormatConditionnel"); + if(nFormatConditionnelEtudiant!=null) styleFormatConditionnelEtudiant = nFormatConditionnelEtudiant.retourneFirstEnfant("styleFormatConditionnel"); for (Map.Entry entry : styleFormatConditionnel.getAttributs().entrySet()){ if(styleFormatConditionnel.isAttributEvaluer(entry.getKey())) { String valeurEtudiant = ""; if(styleFormatConditionnelEtudiant!=null) if(styleFormatConditionnelEtudiant.getAttributs().get(entry.getKey())!=null) valeurEtudiant = styleFormatConditionnelEtudiant.getAttributs().get(entry.getKey()); - nAnalyse.retourneLastEnfant("formatConditionnel").addEnfant(new outils().Compare("formatConditionnel",entry.getKey(), entry.getValue(), valeurEtudiant )); + nAnalyse.retourneLastEnfant("formatsConditionnels").addEnfant(new outils().Compare("formatConditionnel",entry.getKey(), entry.getValue(), valeurEtudiant )); } } } @@ -198,6 +202,17 @@ public class evaluerAttributs { return nEtudiant.retourneFirstEnfant(nameNode); } + /** + * Trouve le format conditionnel par le numéro de la condition.
+ * @param numCondition + * @return + */ + private node trouveFormatConditionnelEtudaint(String numCondition) { + numCondition = numCondition.substring(0,numCondition.indexOf("‽")); + if(nEtudiant==null) return null; + return nEtudiant.retourneFirstEnfant("formatConditionnel","numCondition", numCondition); + } + } diff --git a/src/evaluer/evaluerLesFichiersEtudiants.java b/src/evaluer/evaluerLesFichiersEtudiants.java index 8cf8a33..1927c40 100644 --- a/src/evaluer/evaluerLesFichiersEtudiants.java +++ b/src/evaluer/evaluerLesFichiersEtudiants.java @@ -66,6 +66,7 @@ public class evaluerLesFichiersEtudiants implements Runnable{ commandes.message.append("
"); LecturesDossiers.getEC().Initialise(); + if(commandes.fichierStudentMoodle) { commandes.tousLesResultats.clear(); txt.setText(""); @@ -203,7 +204,9 @@ public class evaluerLesFichiersEtudiants implements Runnable{ creerNodeEvaluationEtudiant ana = new creerNodeEvaluationEtudiant(nomEtudiant, i); new evaluerNodesClasseurStudent(ana, nodStudent); ana.calculResultatDuNode(); + ana.saveNodeEnXMLinNewFile(EnsembleFichiers.getListeNomFichierFeedBack().get(i), commandes.pathApp + "/feedback" ); fichierCSV.append(ana.retourneFirstEnfant("csv").getContenu(0)+"\n"); + commandes.tousLesResultats.addEnfant(ana); } commandes.tousLesResultats.saveNodeEnXMLinNewFile("ana.xml", commandes.pathApp); diff --git a/src/evaluer/evaluerNodesClasseurStudent.java b/src/evaluer/evaluerNodesClasseurStudent.java index fc66e2f..d6dc91e 100644 --- a/src/evaluer/evaluerNodesClasseurStudent.java +++ b/src/evaluer/evaluerNodesClasseurStudent.java @@ -1,5 +1,8 @@ package evaluer; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + import calc.commandes; import xml.creerNodeEvaluationEtudiant; import xml.node; @@ -60,13 +63,13 @@ public class evaluerNodesClasseurStudent { * evaluer les formats conditionnels.
*/ private void evaluerLesFormatsConditionnels() { - for (node formatConditionnel : commandes.sujet.retourneAllEnfants("formatConditionnel")) { - if(formatConditionnel.isEvaluer()) { - node formatConditionnelEtudiant = trouveLeFormatConditionnelEtudiant(formatConditionnel.getAttributs().get("baseCellAddress")); - node anaFormatConditionnel = new node("formatConditionnel"); - anaFormatConditionnel.getAttributs().put("baseCellAddress", formatConditionnel.getAttributs().get("baseCellAddress")); + for (node formatsConditionnels : commandes.sujet.retourneAllEnfants("formatsConditionnels")) { + if(formatsConditionnels.isEvaluer()) { + node formatConditionnelEtudiant = trouveLesFormatsConditionnelsEtudiant(formatsConditionnels.getAttributs().get("baseCellAddress")); + node anaFormatConditionnel = new node("formatsConditionnels"); + anaFormatConditionnel.getAttributs().put("baseCellAddress", formatsConditionnels.getAttributs().get("baseCellAddress")); nAna.addEnfant(anaFormatConditionnel); - new evaluerAttributs(formatConditionnel, formatConditionnelEtudiant , nAna); + new evaluerAttributs(formatsConditionnels, formatConditionnelEtudiant , nAna); anaFormatConditionnel.calculPoints(); } } @@ -84,6 +87,7 @@ public class evaluerNodesClasseurStudent { /** * Trouve le graphic de l'étudiant.
+ * pour trouver le graphic, référence au nom de l'objet, puis titreGraphique, puis type, et enfin n'importe quel graphique.
* @param nomObjet * @return */ @@ -100,29 +104,36 @@ public class evaluerNodesClasseurStudent { /** * Trouve le format conditionnel de l'étudiant.
+ * Pour trouver le format conditionnel, référence à baseCellAddress avec + ou - 2 lignes.
* @param baseCellAddress * @return */ - private node trouveLeFormatConditionnelEtudiant(String baseCellAddress) { + private node trouveLesFormatsConditionnelsEtudiant(String baseCellAddress) { if(baseCellAddress.indexOf("‽")!=-1) baseCellAddress = baseCellAddress.substring(0, baseCellAddress.indexOf("‽")); - if(baseCellAddress.matches("[0-9]")) { - String number = baseCellAddress.replaceAll("[^0-9]+", ""); // Supprime tout sauf les chiffres + // 🔥 Regex pour capturer le texte avant et après le 2e nombre + String regex = "(.*?)(\\d+)(.*?\\d+)"; + + // ⚙️ Supprimer tout ce qui suit le 2e nombre + String name = baseCellAddress.replaceAll(regex, "$1"); + + String number = baseCellAddress.replaceAll(regex, "$2"); // Supprime tout sauf les chiffres int ligneCellSujet = Integer.parseInt(number); - String name = baseCellAddress.replaceAll("[^a-zA-Z\\.]+", ""); + String name1 = "^"+name+String.valueOf(ligneCellSujet)+".*"; + String name2 = "^"+name+String.valueOf(ligneCellSujet-1)+".*"; + String name3 = "^"+name+String.valueOf(ligneCellSujet+1)+".*"; + if(nodeEtudiant!=null) { - for (node enfantsEtudiant : nodeEtudiant.retourneAllEnfants("formatConditionnel")) { + for (node enfantsEtudiant : nodeEtudiant.retourneAllEnfants("formatsConditionnels")) { String A = enfantsEtudiant.getAttributs().get("baseCellAddress"); if(A!=null) { - if(A.equals(name+String.valueOf(ligneCellSujet)) || A.equals(name+String.valueOf(ligneCellSujet-1)) - || A.equals(name+String.valueOf(ligneCellSujet-2)) || A.equals(name+String.valueOf(ligneCellSujet+1)) - || A.equals(name+String.valueOf(ligneCellSujet+2))) { + if(A.matches(name1) || A.matches(name2) || A.matches(name3)) { return enfantsEtudiant; } } } } - } + return null; } diff --git a/src/xml/node.java b/src/xml/node.java index 75f9554..ab2c54f 100644 --- a/src/xml/node.java +++ b/src/xml/node.java @@ -995,12 +995,22 @@ protected boolean nodeClose = false; * @return */ public boolean saveNodeEnXMLinNewFile(String filenameWithExtension, String pathDestination) { + if(filenameWithExtension.contains(".xml")) { filenameWithExtension = filenameWithExtension.substring(0,filenameWithExtension.lastIndexOf(".xml")); } Path outputFilePath = Paths.get(pathDestination +"/"+ filenameWithExtension + ".xml"); + + if (!(Files.exists(outputFilePath.getParent()) && Files.isDirectory(outputFilePath.getParent()))) { + try { + Files.createDirectories(outputFilePath.getParent()); + } catch (IOException e) { + e.printStackTrace(); + } + } + try { BufferedWriter fichier = Files.newBufferedWriter(outputFilePath, StandardCharsets.UTF_8); fichier.write(this.ecritureXML().toString()); diff --git a/sujet.xml b/sujet.xml index b6adc64..a24b11a 100644 --- a/sujet.xml +++ b/sujet.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 \ No newline at end of file