maj
This commit is contained in:
parent
b17cf118d7
commit
f9a6dd8745
1
.~lock.ensembleResultats.csv#
Normal file
1
.~lock.ensembleResultats.csv#
Normal file
@ -0,0 +1 @@
|
||||
Pablo Rodriguez,LAPTOP-G5TBC6N3/pabr6,LAPTOP-G5TBC6N3,18.12.2024 17:48,file:///C:/Users/pabr6/AppData/Roaming/LibreOffice/4;
|
File diff suppressed because one or more lines are too long
12
bin/.gitignore
vendored
12
bin/.gitignore
vendored
@ -1,13 +1,3 @@
|
||||
/fenetres/
|
||||
/xml/
|
||||
/AnalyseCalc/
|
||||
/menu/
|
||||
/actions/
|
||||
/list/
|
||||
/resources/
|
||||
/evaluer/
|
||||
/outils/
|
||||
/calc/
|
||||
/baseEvaluation/
|
||||
/baseListesEtudiants/
|
||||
/calcul/
|
||||
/fenetres/
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
bin/actions/actAllContent.class
Normal file
BIN
bin/actions/actAllContent.class
Normal file
Binary file not shown.
BIN
bin/actions/actCopy.class
Normal file
BIN
bin/actions/actCopy.class
Normal file
Binary file not shown.
BIN
bin/actions/actEvalFormatageDirect.class
Normal file
BIN
bin/actions/actEvalFormatageDirect.class
Normal file
Binary file not shown.
BIN
bin/actions/actEvalTextUserDefinedNon.class
Normal file
BIN
bin/actions/actEvalTextUserDefinedNon.class
Normal file
Binary file not shown.
BIN
bin/actions/actEvalTextUserDefinedOui.class
Normal file
BIN
bin/actions/actEvalTextUserDefinedOui.class
Normal file
Binary file not shown.
BIN
bin/actions/actInsereInformationFalse.class
Normal file
BIN
bin/actions/actInsereInformationFalse.class
Normal file
Binary file not shown.
BIN
bin/actions/actInsereInformationMultipleFalse.class
Normal file
BIN
bin/actions/actInsereInformationMultipleFalse.class
Normal file
Binary file not shown.
BIN
bin/actions/actInsereInformationMultipleTrue.class
Normal file
BIN
bin/actions/actInsereInformationMultipleTrue.class
Normal file
Binary file not shown.
BIN
bin/actions/actInsereInformationTrue.class
Normal file
BIN
bin/actions/actInsereInformationTrue.class
Normal file
Binary file not shown.
BIN
bin/actions/actPaste.class
Normal file
BIN
bin/actions/actPaste.class
Normal file
Binary file not shown.
BIN
bin/actions/actRechercheContenuPlusProcheVoisinfalse.class
Normal file
BIN
bin/actions/actRechercheContenuPlusProcheVoisinfalse.class
Normal file
Binary file not shown.
BIN
bin/actions/actRechercheContenuPlusProcheVoisintrue.class
Normal file
BIN
bin/actions/actRechercheContenuPlusProcheVoisintrue.class
Normal file
Binary file not shown.
BIN
bin/actions/actRechercheContenufalse.class
Normal file
BIN
bin/actions/actRechercheContenufalse.class
Normal file
Binary file not shown.
BIN
bin/actions/actRechercheContenutrue.class
Normal file
BIN
bin/actions/actRechercheContenutrue.class
Normal file
Binary file not shown.
BIN
bin/actions/actmarquenodefalse.class
Normal file
BIN
bin/actions/actmarquenodefalse.class
Normal file
Binary file not shown.
BIN
bin/actions/actmarquenodetrue.class
Normal file
BIN
bin/actions/actmarquenodetrue.class
Normal file
Binary file not shown.
BIN
bin/actions/actsautmultiplefalse.class
Normal file
BIN
bin/actions/actsautmultiplefalse.class
Normal file
Binary file not shown.
BIN
bin/actions/actsautmultipletrue.class
Normal file
BIN
bin/actions/actsautmultipletrue.class
Normal file
Binary file not shown.
BIN
bin/actions/addTitreToutesLesPagesFalse.class
Normal file
BIN
bin/actions/addTitreToutesLesPagesFalse.class
Normal file
Binary file not shown.
BIN
bin/actions/addTitreToutesLesPagesTrue.class
Normal file
BIN
bin/actions/addTitreToutesLesPagesTrue.class
Normal file
Binary file not shown.
BIN
bin/calc/Student.class
Normal file
BIN
bin/calc/Student.class
Normal file
Binary file not shown.
BIN
bin/calcul/enumerations$LocationFile.class
Normal file
BIN
bin/calcul/enumerations$LocationFile.class
Normal file
Binary file not shown.
BIN
bin/calcul/enumerations$typeFichier.class
Normal file
BIN
bin/calcul/enumerations$typeFichier.class
Normal file
Binary file not shown.
BIN
bin/calcul/enumerations.class
Normal file
BIN
bin/calcul/enumerations.class
Normal file
Binary file not shown.
BIN
bin/evaluer/evaluer.class
Normal file
BIN
bin/evaluer/evaluer.class
Normal file
Binary file not shown.
BIN
bin/evaluer/evaluerAttributs.class
Normal file
BIN
bin/evaluer/evaluerAttributs.class
Normal file
Binary file not shown.
BIN
bin/evaluer/evaluerLesFichiersEtudiants.class
Normal file
BIN
bin/evaluer/evaluerLesFichiersEtudiants.class
Normal file
Binary file not shown.
BIN
bin/evaluer/evaluerNodesClasseurStudent.class
Normal file
BIN
bin/evaluer/evaluerNodesClasseurStudent.class
Normal file
Binary file not shown.
BIN
bin/evaluer/verificationHistorique.class
Normal file
BIN
bin/evaluer/verificationHistorique.class
Normal file
Binary file not shown.
Binary file not shown.
BIN
bin/list/listeDesNodesAllContent.class
Normal file
BIN
bin/list/listeDesNodesAllContent.class
Normal file
Binary file not shown.
BIN
bin/list/listeDesNodesFormatageDirect.class
Normal file
BIN
bin/list/listeDesNodesFormatageDirect.class
Normal file
Binary file not shown.
BIN
bin/list/listeDesNodesInfos.class
Normal file
BIN
bin/list/listeDesNodesInfos.class
Normal file
Binary file not shown.
BIN
bin/list/listeDesNodesPourEvaluerPage.class
Normal file
BIN
bin/list/listeDesNodesPourEvaluerPage.class
Normal file
Binary file not shown.
BIN
bin/list/listeDesNodesRechercheByContenu.class
Normal file
BIN
bin/list/listeDesNodesRechercheByContenu.class
Normal file
Binary file not shown.
BIN
bin/menu/CreatePopupMenu.class
Normal file
BIN
bin/menu/CreatePopupMenu.class
Normal file
Binary file not shown.
BIN
bin/menu/MnGroupeMethodeEvaluer.class
Normal file
BIN
bin/menu/MnGroupeMethodeEvaluer.class
Normal file
Binary file not shown.
BIN
bin/menu/MnGroupePourFeedback.class
Normal file
BIN
bin/menu/MnGroupePourFeedback.class
Normal file
Binary file not shown.
BIN
bin/menu/MnGroupePourFeedbackNiveau1.class
Normal file
BIN
bin/menu/MnGroupePourFeedbackNiveau1.class
Normal file
Binary file not shown.
BIN
bin/menu/mnAddMenuNiveau1.class
Normal file
BIN
bin/menu/mnAddMenuNiveau1.class
Normal file
Binary file not shown.
BIN
bin/menu/mnAddMenuNiveauSup1.class
Normal file
BIN
bin/menu/mnAddMenuNiveauSup1.class
Normal file
Binary file not shown.
BIN
bin/menu/mnArbre.class
Normal file
BIN
bin/menu/mnArbre.class
Normal file
Binary file not shown.
BIN
bin/menu/mnEvalTextUserDefined.class
Normal file
BIN
bin/menu/mnEvalTextUserDefined.class
Normal file
Binary file not shown.
BIN
bin/menu/mnEvaluer.class
Normal file
BIN
bin/menu/mnEvaluer.class
Normal file
Binary file not shown.
BIN
bin/menu/mnGroupeRechercheContenu.class
Normal file
BIN
bin/menu/mnGroupeRechercheContenu.class
Normal file
Binary file not shown.
BIN
bin/menu/mnInsereInformation.class
Normal file
BIN
bin/menu/mnInsereInformation.class
Normal file
Binary file not shown.
BIN
bin/menu/mnInsereInformationMultiple.class
Normal file
BIN
bin/menu/mnInsereInformationMultiple.class
Normal file
Binary file not shown.
BIN
bin/menu/mnMarqueNode.class
Normal file
BIN
bin/menu/mnMarqueNode.class
Normal file
Binary file not shown.
BIN
bin/menu/mnRechercheContenuExact.class
Normal file
BIN
bin/menu/mnRechercheContenuExact.class
Normal file
Binary file not shown.
BIN
bin/menu/mnRechercheContenuPlusProcheVoisin.class
Normal file
BIN
bin/menu/mnRechercheContenuPlusProcheVoisin.class
Normal file
Binary file not shown.
BIN
bin/menu/mnSaut.class
Normal file
BIN
bin/menu/mnSaut.class
Normal file
Binary file not shown.
BIN
bin/menu/mnSautMultiple.class
Normal file
BIN
bin/menu/mnSautMultiple.class
Normal file
Binary file not shown.
BIN
bin/menu/mnSautNiveau1.class
Normal file
BIN
bin/menu/mnSautNiveau1.class
Normal file
Binary file not shown.
BIN
bin/menu/mnTitre.class
Normal file
BIN
bin/menu/mnTitre.class
Normal file
Binary file not shown.
BIN
bin/menu/mnTitreNiveau1.class
Normal file
BIN
bin/menu/mnTitreNiveau1.class
Normal file
Binary file not shown.
BIN
bin/menu/mnaddTitreToutesLesPages.class
Normal file
BIN
bin/menu/mnaddTitreToutesLesPages.class
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
bin/resources/copy.png
Normal file
BIN
bin/resources/copy.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.0 KiB |
BIN
bin/resources/evaluer.png
Normal file
BIN
bin/resources/evaluer.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 931 B |
BIN
bin/resources/evaluermini.png
Normal file
BIN
bin/resources/evaluermini.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 554 B |
BIN
bin/resources/paste.png
Normal file
BIN
bin/resources/paste.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.3 KiB |
BIN
bin/xml/EnsembleFichiers.class
Normal file
BIN
bin/xml/EnsembleFichiers.class
Normal file
Binary file not shown.
BIN
bin/xml/LectureFichierXML.class
Normal file
BIN
bin/xml/LectureFichierXML.class
Normal file
Binary file not shown.
BIN
bin/xml/LecturesDossiers.class
Normal file
BIN
bin/xml/LecturesDossiers.class
Normal file
Binary file not shown.
BIN
bin/xml/StringSimilarity.class
Normal file
BIN
bin/xml/StringSimilarity.class
Normal file
Binary file not shown.
BIN
bin/xml/Zip.class
Normal file
BIN
bin/xml/Zip.class
Normal file
Binary file not shown.
BIN
bin/xml/creerNodeEvaluationEtudiant.class
Normal file
BIN
bin/xml/creerNodeEvaluationEtudiant.class
Normal file
Binary file not shown.
BIN
bin/xml/demarreTest.class
Normal file
BIN
bin/xml/demarreTest.class
Normal file
Binary file not shown.
BIN
bin/xml/ecritureFileXML.class
Normal file
BIN
bin/xml/ecritureFileXML.class
Normal file
Binary file not shown.
BIN
bin/xml/node.class
Normal file
BIN
bin/xml/node.class
Normal file
Binary file not shown.
BIN
bin/xml/transformeXLMtoNode.class
Normal file
BIN
bin/xml/transformeXLMtoNode.class
Normal file
Binary file not shown.
@ -1,87 +1,87 @@
|
||||
nomEtudiant;note;pourcentage
|
||||
Alex Marechal;8.0;1.0
|
||||
Alexandre Berthelin;6.331623931623931;0.7914529914529914
|
||||
Alexis Legrand;7.2615384615384615;0.9076923076923077
|
||||
Alexy Lefebvre;7.288888888888889;0.9111111111111111
|
||||
Amelie Bruniaux;7.726495726495727;0.9658119658119658
|
||||
Anais Blondel;6.714529914529915;0.8393162393162393
|
||||
Anais Najdecki;6.2905982905982905;0.7863247863247863
|
||||
Antoine Duponchelle;6.276923076923077;0.7846153846153846
|
||||
Antoine Ponchel;7.589743589743589;0.9487179487179487
|
||||
Apolline Michel;7.07008547008547;0.8837606837606837
|
||||
Arthur Willart;6.413675213675214;0.8017094017094017
|
||||
Aurelien Ben Yahia;7.1521367521367525;0.8940170940170941
|
||||
Axel Aoumat;4.4854700854700855;0.5606837606837607
|
||||
Axel Cadart;7.2615384615384615;0.9076923076923077
|
||||
Aymeric Grenier;7.726495726495727;0.9658119658119658
|
||||
Baptiste Fynnaert;7.2615384615384615;0.9076923076923077
|
||||
Charles Carron;6.55042735042735;0.8188034188034188
|
||||
Chloe Mazur;7.589743589743589;0.9487179487179487
|
||||
Clara Bruneau;5.2786324786324785;0.6598290598290598
|
||||
Clement Legrand;7.042735042735043;0.8803418803418803
|
||||
Cyril Massart;6.017094017094017;0.7521367521367521
|
||||
Doriane Bernard;6.878632478632479;0.8598290598290599
|
||||
Elliot Pilawa;4.658407079646017;0.5823008849557522
|
||||
Elodie Vaesken;6.441025641025641;0.8051282051282052
|
||||
Enora-Lou Deplanque;4.581196581196581;0.5726495726495726
|
||||
Esteban Devos Devulder;6.536752136752137;0.8170940170940171
|
||||
Gabriel Humain;7.288888888888889;0.9111111111111111
|
||||
Helene Adjal;6.276923076923077;0.7846153846153846
|
||||
Hugo Guffroy;6.427350427350428;0.8034188034188035
|
||||
Imen Belaiche;7.726495726495727;0.9658119658119658
|
||||
Ines Aubier;7.617094017094017;0.9521367521367521
|
||||
Ines El Karami;7.589743589743589;0.9487179487179487
|
||||
Issam Benzemra--Petit;7.671794871794872;0.958974358974359
|
||||
Jane Gosset;7.17948717948718;0.8974358974358975
|
||||
Jeremy Legros;5.032478632478632;0.629059829059829
|
||||
Julie Rohart;6.823931623931624;0.852991452991453
|
||||
Justine Bertin;6.933333333333334;0.8666666666666667
|
||||
Justine Mikolajczak;6.988034188034188;0.8735042735042735
|
||||
Lali Vin;7.562393162393162;0.9452991452991453
|
||||
Lea Denys;7.17948717948718;0.8974358974358975
|
||||
Leo Marin;7.097435897435897;0.8871794871794871
|
||||
Lilian Lamorille;5.264957264957265;0.6581196581196581
|
||||
Lisa Baran;6.960683760683761;0.8700854700854701
|
||||
Lucas Canon;7.671794871794872;0.958974358974359
|
||||
Lucie Delong;7.17948717948718;0.8974358974358975
|
||||
Luna Hemery;7.671794871794872;0.958974358974359
|
||||
Maeline Humez;7.562393162393162;0.9452991452991453
|
||||
Manon Cassel;7.726495726495727;0.9658119658119658
|
||||
Martin Pilot;6.851282051282051;0.8564102564102564
|
||||
Mateo Darras;6.358974358974359;0.7948717948717948
|
||||
Matheo Guerineau;7.206837606837607;0.9008547008547009
|
||||
Matheo Normand;7.671794871794872;0.958974358974359
|
||||
Mathilde Carlier;6.4683760683760685;0.8085470085470086
|
||||
Mathilde Konury;7.4393162393162395;0.9299145299145299
|
||||
Mathis Carlier;7.398290598290599;0.9247863247863248
|
||||
Mathys Calesse;7.124786324786324;0.8905982905982905
|
||||
Mehdi Boutchich;5.880341880341881;0.7350427350427351
|
||||
Melanie Bouchoir;7.220512820512821;0.9025641025641026
|
||||
Melusine Miletti;6.140170940170941;0.7675213675213676
|
||||
Mickael Lenclud;2.9168141592920356;0.36460176991150445
|
||||
Noah Desfachelles;5.798290598290598;0.7247863247863248
|
||||
Noah Halluin;3.157522123893805;0.39469026548672564
|
||||
Oceane Decroix;7.124786324786324;0.8905982905982905
|
||||
Pablo Rodriguez;6.769230769230769;0.8461538461538461
|
||||
Quentin Stautemas;6.5777777777777775;0.8222222222222222
|
||||
Raphael Rivaux;2.8034188034188032;0.3504273504273504
|
||||
Remi Delaval;6.65982905982906;0.8324786324786325
|
||||
Remi Delvalle;7.425641025641026;0.9282051282051282
|
||||
Remy Maeght;4.772649572649573;0.5965811965811966
|
||||
Romain Bruni;7.206837606837607;0.9008547008547009
|
||||
Romain Delrue;7.015384615384615;0.8769230769230769
|
||||
Ronan Bourdrel;7.617094017094017;0.9521367521367521
|
||||
Simon Ducrocq;7.316239316239316;0.9145299145299145
|
||||
Solene Marien;7.671794871794872;0.958974358974359
|
||||
Stefan Gaudin;4.3076923076923075;0.5384615384615384
|
||||
Tanguy Delavier;6.905982905982906;0.8632478632478633
|
||||
Theo Duprez;6.769230769230769;0.8461538461538461
|
||||
Theo Justin;7.124786324786324;0.8905982905982905
|
||||
Theo Rouze;7.671794871794872;0.958974358974359
|
||||
Theo Verlet;7.617094017094017;0.9521367521367521
|
||||
Thomas Renard;6.714529914529915;0.8393162393162393
|
||||
Thomas Thevenin;5.948717948717949;0.7435897435897436
|
||||
Tristan Quesson;6.208547008547009;0.7760683760683761
|
||||
Tyffene Viseur;7.288888888888889;0.9111111111111111
|
||||
Vytto Scilironi;5.894017094017094;0.7367521367521368
|
||||
Yvonnick Levis;7.17948717948718;0.8974358974358975
|
||||
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
|
||||
|
|
File diff suppressed because one or more lines are too long
@ -1,63 +0,0 @@
|
||||
package AnalyseCalc;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import AnalyseCalc.Classeur2.historique;
|
||||
|
||||
|
||||
public class AnalyseClasseur {
|
||||
|
||||
List<AnalyseFeuille> classeur = new ArrayList<AnalyseFeuille>();
|
||||
boolean vide = true;
|
||||
historique Histo = null;
|
||||
String informationTriche = "";
|
||||
int nombreOccurrenceIdentiqueHistorique = 0;
|
||||
|
||||
static String EnsembleHistoriqueDesClasseurAnalyse = "";
|
||||
|
||||
public AnalyseClasseur() {
|
||||
|
||||
}
|
||||
|
||||
public void addFeuille(AnalyseFeuille AFeuil, Classeur2 clas) {
|
||||
classeur.add(AFeuil);
|
||||
vide=false;
|
||||
}
|
||||
|
||||
// pour les étudiants qui n'ont pas remis le bon sujet
|
||||
public void addHistorique(historique histo) {
|
||||
Histo = histo;
|
||||
}
|
||||
|
||||
|
||||
public List<AnalyseFeuille> getClasseur() {
|
||||
return classeur;
|
||||
}
|
||||
|
||||
public boolean isVide() {
|
||||
return vide;
|
||||
}
|
||||
|
||||
public historique getHisto() {
|
||||
return Histo;
|
||||
}
|
||||
|
||||
|
||||
public String getInformationTriche() {
|
||||
return informationTriche;
|
||||
}
|
||||
|
||||
public int getNombreOccurrenceIdentiqueHistorique() {
|
||||
return nombreOccurrenceIdentiqueHistorique;
|
||||
}
|
||||
|
||||
public static String getEnsembleHistoriqueDesClasseurAnalyse() {
|
||||
return EnsembleHistoriqueDesClasseurAnalyse;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
@ -1,674 +0,0 @@
|
||||
package AnalyseCalc;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.TreeMap;
|
||||
|
||||
import AnalyseCalc.Classeur2.feuille;
|
||||
import AnalyseCalc.Classeur2.feuille.colonne;
|
||||
import AnalyseCalc.Classeur2.feuille.graphic;
|
||||
import AnalyseCalc.Classeur2.feuille.ligne;
|
||||
import AnalyseCalc.Classeur2.feuille.ligne.*;
|
||||
import outils.*;
|
||||
import outils.HTML;
|
||||
|
||||
public class AnalyseFeuille {
|
||||
|
||||
List<String> pl = new ArrayList<String>();
|
||||
private double point = 0;
|
||||
private double pointtotal = 0;
|
||||
private double propPoint = 0.0;
|
||||
private double poids = 1;
|
||||
private boolean evaluer = false;
|
||||
private HashMap<String,String> menu = new HashMap<String,String>();
|
||||
private TreeMap<String,sousTotal> sousTotaux = new TreeMap<String,sousTotal>();
|
||||
private String identifiantFeuille = "";
|
||||
|
||||
private boolean analyseVide = true;
|
||||
private String NomFeuille = "";
|
||||
|
||||
//Lorsque il n'y a pas de feuille student (feuille student null)
|
||||
public AnalyseFeuille(feuille feuilSujet, String id) {
|
||||
identifiantFeuille=id;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// Comparaison entre les deux feuilles
|
||||
public AnalyseFeuille(feuille feuilStudent, feuille feuilSujet, String id) throws UnsupportedEncodingException {
|
||||
|
||||
analyseVide=false;
|
||||
identifiantFeuille=id;
|
||||
|
||||
NomFeuille = feuilSujet.getNomFeuille();
|
||||
evaluer = Boolean.valueOf(feuilSujet.getEvaluer());
|
||||
poids = Double.valueOf(feuilSujet.getPoids());
|
||||
|
||||
|
||||
menu.put(identifiantFeuille, NomFeuille); // feuille dans le menu automatiquement
|
||||
|
||||
|
||||
pl.add(HTML.SautLigne(identifiantFeuille));
|
||||
pl.add(HTML.H1("Analyse de la feuille : " + NomFeuille.toUpperCase()));
|
||||
pl.add(HTML.Paragraph_classp8(feuilSujet.getCommunication()));
|
||||
if(!feuilSujet.getLink().isEmpty()) pl.add(HTML.SautPuisLien(feuilSujet.getLink(), feuilSujet.getLinktitle()));
|
||||
|
||||
outils o = new outils();
|
||||
o.initilisePointClass();
|
||||
sousTotaux.put(NomFeuille, new sousTotal(NomFeuille, o.getPointsClass(), o.getPointTotal(),identifiantFeuille));
|
||||
String Tst ="";
|
||||
|
||||
|
||||
// Nommage des cellules - titre et entete et menu automatique s'il y a le symbole ‽
|
||||
boolean flagNommageTitre=false;
|
||||
for(Entry<String, String> k : feuilSujet.getNommageCellulesFeuille().entrySet()) {
|
||||
if(Boolean.valueOf(k.getValue().contains("‽"))||Boolean.valueOf(k.getKey().contains("‽"))) {
|
||||
|
||||
if(!flagNommageTitre) {
|
||||
pl.add(HTML.SautLigne(identifiantFeuille+"ValeursGlobales"));
|
||||
pl.add(HTML.SautLigne());
|
||||
pl.add(HTML.H1("Valeurs globales"));
|
||||
pl.add(HTML.SautLigne());
|
||||
pl.add(HTML.TableEnteteTableur());
|
||||
flagNommageTitre=true;
|
||||
menu.put(identifiantFeuille+"ValeursGlobales","Valeurs globales");
|
||||
sousTotaux.put("Valeurs globales", new sousTotal("Valeurs globales", o.getPointsClass(), o.getPointTotal(),identifiantFeuille+"ValeursGlobales"));
|
||||
}
|
||||
|
||||
String valueStudentValue = feuilStudent.getNommageCellulesFeuille().get(outils.withoutPoint(k.getKey()));
|
||||
|
||||
|
||||
Tst = o.Compare1(valueStudentValue, k.getValue());
|
||||
int niveau = 3;
|
||||
if(Tst.contains("Correct")) niveau = 1;
|
||||
if(Tst.contains("Erreur")) niveau = 2;
|
||||
pl.add(HTML.TableTableur(Tst,"Nommage : <b>" + outils.withoutPoint(k.getKey()) + "</b>","Cells" ,valueStudentValue, outils.withoutPoint(k.getValue()), niveau) );
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
if(sousTotaux.get("Valeurs globales")!=null) sousTotaux.get("Valeurs globales").addPointSousTotal(o.getPointsClass(), o.getPointTotal());
|
||||
|
||||
|
||||
Tst="";
|
||||
// colonne
|
||||
for(Entry<Integer, colonne> k : feuilSujet.getColonnes().entrySet()) {
|
||||
for(Entry<String, String> k1 : k.getValue().getPropertiesColumn().entrySet()) {
|
||||
if(Boolean.valueOf(k1.getValue().contains("‽"))) {
|
||||
String RefC = k.getValue().getRefColonne();
|
||||
String RefCLettre = k.getValue().getRefColDansClasseur();
|
||||
colonne colStudent = feuilStudent.retourneColonne(RefC);
|
||||
|
||||
if(colStudent!=null) {
|
||||
String valueStudent = colStudent.getPropertiesColumn().get(k1.getKey());
|
||||
|
||||
Tst = o.Compare1(valueStudent, k1.getValue());
|
||||
|
||||
int niveau = 3;
|
||||
if(Tst.contains("Correct")) niveau = 1;
|
||||
if(Tst.contains("Erreur")) niveau = 2;
|
||||
pl.add(HTML.TableTableur(Tst,"Colonne :" + RefCLettre ,k1.getKey() ,valueStudent, outils.withoutPoint(k1.getValue()), niveau) );
|
||||
}else {
|
||||
Tst = o.Compare1("null", k1.getValue());
|
||||
|
||||
int niveau = 3;
|
||||
if(Tst.contains("Correct")) niveau = 1;
|
||||
if(Tst.contains("Erreur")) niveau = 2;
|
||||
pl.add(HTML.TableTableur(Tst,"Colonne :" + RefCLettre ,k1.getKey() ,"Colonne Student null", outils.withoutPoint(k1.getValue()), niveau) );
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//comparaison Ligne, cellule
|
||||
for(Entry<Integer, ligne> k : feuilSujet.getLignes().entrySet()) {
|
||||
|
||||
|
||||
|
||||
//Ajoute un titre, un sous-titre et un entete si evaluer est true à la ligne
|
||||
if(Boolean.valueOf(k.getValue().getEvaluer()) || k.getValue().isSaut()) {
|
||||
pl.add(HTML.SautLigne(identifiantFeuille+"Ligne : " + k.getValue().getRefLigne()));
|
||||
pl.add(HTML.SautLigne());
|
||||
|
||||
if(!k.getValue().getTitre().isEmpty()) {
|
||||
if(k.getValue().getStyletitrePrincipale().equals("H1")) pl.add(HTML.H1(k.getValue().getTitre()));
|
||||
if(k.getValue().getStyletitrePrincipale().equals("H2")) pl.add(HTML.H2(k.getValue().getTitre()));
|
||||
if(k.getValue().getStyletitrePrincipale().equals("H3")) pl.add(HTML.SautLigneOnduleBleu(k.getValue().getTitre()));
|
||||
if(k.getValue().getStyletitrePrincipale().equals("H4")) pl.add(HTML.SautLigneTitreOnduleRouge(k.getValue().getTitre()));
|
||||
}else {
|
||||
pl.add(HTML.H1("Ligne : " + k.getValue().getRefLigne()));
|
||||
}
|
||||
|
||||
pl.add(HTML.Paragraph_classp8(k.getValue().getCommunication()));
|
||||
|
||||
// si ce n'est pas un saut alors c'est evaluer donc entête et menu et soustotaux
|
||||
if(!k.getValue().isSaut()) {
|
||||
pl.add(HTML.TableEnteteTableur());
|
||||
if(k.getValue().getTitre().isEmpty()) menu.put(identifiantFeuille+"Ligne : " + k.getValue().getRefLigne(),"Ligne : " + k.getValue().getRefLigne() );
|
||||
if(!k.getValue().getTitre().isEmpty()) menu.put(identifiantFeuille+"Ligne : " + k.getValue().getRefLigne(),k.getValue().getTitre() );
|
||||
|
||||
// cloture sous total des lignes
|
||||
for(Entry<String,sousTotal> st : sousTotaux.entrySet()) {
|
||||
if( st.getKey().contains("Ligne") && !st.getValue().isFinish()) {
|
||||
st.getValue().addPointSousTotal(o.getPointsClass(), o.getPointTotal());;
|
||||
}
|
||||
}
|
||||
// nouveau soustotal
|
||||
if(k.getValue().getTitre().isEmpty()) {
|
||||
sousTotaux.put("Ligne : " + k.getValue().getRefLigne(), new sousTotal("Ligne : " + k.getValue().getRefLigne(), o.getPointsClass(), o.getPointTotal(),identifiantFeuille+"Ligne : " + k.getValue().getRefLigne()));
|
||||
}else {
|
||||
sousTotaux.put("Ligne : " + k.getValue().getRefLigne(), new sousTotal(k.getValue().getTitre(), o.getPointsClass(), o.getPointTotal(),identifiantFeuille+"Ligne : " + k.getValue().getRefLigne()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
//ligne properties
|
||||
for(Entry<String, String> k1 : k.getValue().getPropertiesRow().entrySet()) {
|
||||
if(Boolean.valueOf(k1.getValue().contains("‽"))) {
|
||||
String RefL = k.getValue().getRefLigne();
|
||||
ligne ligStudent = feuilStudent.retourneLigne(RefL);
|
||||
String valueStudent ="null";
|
||||
if(ligStudent!=null) {
|
||||
valueStudent = ligStudent.getPropertiesRow().get(k1.getKey());
|
||||
}
|
||||
|
||||
Tst = o.Compare1(valueStudent, k1.getValue());
|
||||
|
||||
int niveau = 3;
|
||||
if(Tst.contains("Correct")) niveau = 1;
|
||||
if(Tst.contains("Erreur")) niveau = 2;
|
||||
pl.add(HTML.TableTableur(Tst,"Ligne :" + RefL ,k1.getKey() ,valueStudent, outils.withoutPoint(k1.getValue()), niveau) );
|
||||
}
|
||||
}
|
||||
|
||||
//Cellule
|
||||
for(Entry<Integer, cellule> k2 : k.getValue().getCellules().entrySet()) {
|
||||
String RefL = k2.getValue().getRefLigne();
|
||||
String RefC = k2.getValue().getRefColonne();
|
||||
String RefCLettre = k2.getValue().getRefColDansClasseur();
|
||||
|
||||
//Ajoute un titre, un sous-titre et un entete si evaluer est true
|
||||
if(Boolean.valueOf(k2.getValue().getEvaluer())) {
|
||||
if(k2.getValue().isMenu()) {
|
||||
if(k2.getValue().getTitre().isEmpty()) {
|
||||
menu.put(identifiantFeuille+"Cellule "+ RefCLettre + RefL,"Cellule "+ RefCLettre + RefL);
|
||||
}else {
|
||||
menu.put(identifiantFeuille+"Cellule "+ RefCLettre + RefL,k2.getValue().getTitre());
|
||||
}
|
||||
}
|
||||
|
||||
pl.add(HTML.SautLigne(identifiantFeuille+"Cellule "+ RefCLettre + RefL));
|
||||
pl.add(HTML.SautLigne());
|
||||
if(k2.getValue().getTitre().isEmpty()) {
|
||||
if(k2.getValue().getStyletitre().equals("H4")) pl.add(HTML.SautLigneTitreOnduleRouge("Cellule : " + RefCLettre + RefL));
|
||||
if(k2.getValue().getStyletitre().equals("H3")) pl.add(HTML.SautLigneOnduleBleu("Cellule : " + RefCLettre + RefL));
|
||||
if(k2.getValue().getStyletitre().equals("H2")) pl.add(HTML.H2("Cellule : " + RefCLettre + RefL));
|
||||
if(k2.getValue().getStyletitre().equals("H1")) pl.add(HTML.H1("Cellule : " + RefCLettre + RefL));
|
||||
}else {
|
||||
if(k2.getValue().getStyletitre().equals("H4")) pl.add(HTML.SautLigneTitreOnduleRouge(k2.getValue().getTitre()));
|
||||
if(k2.getValue().getStyletitre().equals("H3")) pl.add(HTML.SautLigneOnduleBleu(k2.getValue().getTitre()));
|
||||
if(k2.getValue().getStyletitre().equals("H2")) pl.add(HTML.H2(k2.getValue().getTitre()));
|
||||
if(k2.getValue().getStyletitre().equals("H1")) pl.add(HTML.H1(k2.getValue().getTitre()));
|
||||
}
|
||||
|
||||
pl.add(HTML.TableEnteteTableur());
|
||||
if(k2.getValue().getTitre().isEmpty()) {
|
||||
sousTotaux.put("Cellule "+ RefCLettre + RefL, new sousTotal("Cellule "+ RefCLettre + RefL, o.getPointsClass(), o.getPointTotal(),identifiantFeuille+"Cellule "+ RefCLettre + RefL));
|
||||
}else {
|
||||
sousTotaux.put(k2.getValue().getTitre(), new sousTotal(k2.getValue().getTitre(), o.getPointsClass(), o.getPointTotal(),identifiantFeuille+"Cellule "+ RefCLettre + RefL));
|
||||
}
|
||||
}
|
||||
if(k2.getValue().isSaut() && !Boolean.valueOf(k2.getValue().getEvaluer())) {
|
||||
if(k2.getValue().getTitre().isEmpty()) {
|
||||
if(k2.getValue().getStyletitre().equals("H4")) pl.add(HTML.SautLigneTitreOnduleRouge("Cellule : " + RefCLettre + RefL));
|
||||
if(k2.getValue().getStyletitre().equals("H3")) pl.add(HTML.SautLigneOnduleBleu("Cellule : " + RefCLettre + RefL));
|
||||
if(k2.getValue().getStyletitre().equals("H2")) pl.add(HTML.H2("Cellule : " + RefCLettre + RefL));
|
||||
if(k2.getValue().getStyletitre().equals("H1")) pl.add(HTML.H1("Cellule : " + RefCLettre + RefL));
|
||||
}else {
|
||||
if(k2.getValue().getStyletitre().equals("H4")) pl.add(HTML.SautLigneTitreOnduleRouge(k2.getValue().getTitre()));
|
||||
if(k2.getValue().getStyletitre().equals("H3")) pl.add(HTML.SautLigneOnduleBleu(k2.getValue().getTitre()));
|
||||
if(k2.getValue().getStyletitre().equals("H2")) pl.add(HTML.H2(k2.getValue().getTitre()));
|
||||
if(k2.getValue().getStyletitre().equals("H1")) pl.add(HTML.H1(k2.getValue().getTitre()));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//Propriétés de la cellule
|
||||
for(Entry<String, String> k3 : k2.getValue().getPropertiesCell().entrySet()) {
|
||||
|
||||
if(k3.getValue()!=null) if(Boolean.valueOf(k3.getValue().contains("‽"))) {
|
||||
|
||||
|
||||
cellule celStudent = feuilStudent.retourneCellule(Integer.valueOf(RefC), Integer.valueOf(RefL));
|
||||
String valueStudent = "null";
|
||||
if(celStudent!=null) valueStudent = celStudent.getPropertiesCell().get(k3.getKey());
|
||||
|
||||
Tst = o.Compare1(valueStudent, k3.getValue());
|
||||
|
||||
int niveau = 3;
|
||||
if(Tst.contains("Correct")) niveau = 1;
|
||||
if(Tst.contains("Erreur")) niveau = 2;
|
||||
pl.add(HTML.TableTableur(Tst,RefCLettre+RefL ,k3.getKey() ,valueStudent, outils.withoutPoint(k3.getValue()), niveau) );
|
||||
}
|
||||
}
|
||||
|
||||
// boucle pour les validations
|
||||
for(Entry<String, String> k3 : k2.getValue().getPropertiesCell().entrySet()) {
|
||||
|
||||
//Validation (si la cellule possède une validation de données, le NomValidation n'est pas null)
|
||||
if(k3.getKey().equals("NomValidation")) {
|
||||
|
||||
//Ajoute un titre, un sous-titre et un entete si evaluer est true
|
||||
if(Boolean.valueOf(k2.getValue().getVal().isEvaluer())||k2.getValue().isSaut()){
|
||||
pl.add(HTML.SautLigne(identifiantFeuille+"Validation : " + RefCLettre + RefL));
|
||||
pl.add(HTML.SautLigne());
|
||||
if(k2.getValue().getVal().getStyletitre().equals("H4")) pl.add(HTML.SautLigneTitreOnduleRouge("Validation : " + RefCLettre + RefL));
|
||||
if(k2.getValue().getVal().getStyletitre().equals("H3")) pl.add(HTML.SautLigneOnduleBleu("Validation : " + RefCLettre + RefL));
|
||||
if(k2.getValue().getVal().getStyletitre().equals("H2")) pl.add(HTML.H2("Validation : " + RefCLettre + RefL));
|
||||
if(k2.getValue().getVal().getStyletitre().equals("H1")) pl.add(HTML.H1("Validation : " + RefCLettre + RefL));
|
||||
|
||||
if(!k2.getValue().isSaut()) {
|
||||
|
||||
pl.add(HTML.TableEnteteTableur());
|
||||
menu.put(identifiantFeuille+"Validation : " + RefCLettre + RefL,"Validation : " + RefCLettre + RefL);
|
||||
|
||||
sousTotaux.put("Validation "+ RefCLettre + RefL, new sousTotal("Validation "+ RefCLettre + RefL, o.getPointsClass(), o.getPointTotal(),identifiantFeuille+"Validation "+ RefCLettre + RefL));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
for(Entry<String, String> k4 : k2.getValue().getVal().getPropertiesValidation().entrySet()) {
|
||||
|
||||
|
||||
if(Boolean.valueOf(k4.getValue().contains("‽"))) {
|
||||
cellule celStudent = feuilStudent.retourneCellule(Integer.valueOf(RefC), Integer.valueOf(RefL));
|
||||
|
||||
// test si student possède une validation pas vide
|
||||
if(!celStudent.getVal().isEmpty()) {
|
||||
String valueStudent = celStudent.getVal().getPropertiesValidation().get(k4.getKey());
|
||||
|
||||
Tst = o.Compare1(valueStudent, k4.getValue());
|
||||
|
||||
int niveau = 3;
|
||||
if(Tst.contains("Correct")) niveau = 1;
|
||||
if(Tst.contains("Erreur")) niveau = 2;
|
||||
pl.add(HTML.TableTableur(Tst,RefCLettre+RefL ,k4.getKey() ,valueStudent, outils.withoutPoint(k4.getValue()), niveau) );
|
||||
}
|
||||
|
||||
// test si student possède une validation vide
|
||||
if(celStudent.getVal().isEmpty()){
|
||||
Tst = o.Compare1("null", k4.getValue());
|
||||
int niveau = 3;
|
||||
if(Tst.contains("Correct")) niveau = 1;
|
||||
if(Tst.contains("Erreur")) niveau = 2;
|
||||
pl.add(HTML.TableTableur(Tst,RefCLettre+RefL ,k4.getKey() ,"null", outils.withoutPoint(k4.getValue()), niveau) );
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
if(sousTotaux.get("Validation "+ RefCLettre + RefL)!=null) sousTotaux.get("Validation "+ RefCLettre + RefL).addPointSousTotal(o.getPointsClass(), o.getPointTotal());
|
||||
} // fin de la boucle pour les validation
|
||||
if(k2.getValue().getTitre().isEmpty()) {
|
||||
if(sousTotaux.get("Cellule "+ RefCLettre + RefL)!=null) sousTotaux.get("Cellule "+ RefCLettre + RefL).addPointSousTotal(o.getPointsClass(), o.getPointTotal());
|
||||
}else {
|
||||
if(sousTotaux.get(k2.getValue().getTitre())!=null) sousTotaux.get(k2.getValue().getTitre()).addPointSousTotal(o.getPointsClass(), o.getPointTotal());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}// Fin de la boucle de la ligne
|
||||
// cloture de précendent sous total de la ligne
|
||||
for(Entry<String,sousTotal> st : sousTotaux.entrySet()) {
|
||||
if( st.getKey().contains("Ligne") && !st.getValue().isFinish()) {
|
||||
st.getValue().addPointSousTotal(o.getPointsClass(), o.getPointTotal());;
|
||||
}
|
||||
}
|
||||
|
||||
// Les graphiques
|
||||
for(Entry<Integer, graphic> k1 : feuilSujet.getGraphics().entrySet()) {
|
||||
//ajoute un entête
|
||||
if(Boolean.valueOf(k1.getValue().getEvaluer())){
|
||||
String Titre = outils.withoutPoint(k1.getValue().getTitreGraphique());
|
||||
pl.add(HTML.SautLigne(identifiantFeuille+"Graph : "+ k1.getValue().getTitreAfficherFeedBack()));
|
||||
pl.add(HTML.SautLigne());
|
||||
pl.add(HTML.H1("Graphique : " + k1.getValue().getTitreAfficherFeedBack() ));
|
||||
if(!k1.getValue().getCommunication().isEmpty()) pl.add(HTML.Paragraph_classp8(k1.getValue().getCommunication()));
|
||||
pl.add(HTML.H2("Paramètre(s) du graphique : " + k1.getValue().getTitreAfficherFeedBack()));
|
||||
pl.add(HTML.TableEnteteTableur());
|
||||
menu.put(identifiantFeuille+"Graph : "+ k1.getValue().getTitreAfficherFeedBack(),"Graph : "+k1.getValue().getTitreAfficherFeedBack());
|
||||
|
||||
sousTotaux.put("Graph : "+ k1.getValue().getTitreAfficherFeedBack(), new sousTotal("Graph : "+k1.getValue().getTitreAfficherFeedBack(), o.getPointsClass(), o.getPointTotal(),identifiantFeuille+"Graph : "+ k1.getValue().getTitreAfficherFeedBack()));
|
||||
|
||||
String TitreNettoyer = outils.NetTexte(Titre, "");
|
||||
graphic graphicStudent = feuilStudent.retourneGraphicByName(TitreNettoyer);
|
||||
|
||||
|
||||
//propriétés du graphique
|
||||
for(Entry<String,String> k2 : k1.getValue().getPropertiesGraphic().entrySet()){
|
||||
if(k2.getValue().contains("‽")) {
|
||||
if(graphicStudent!=null) {
|
||||
String valueStudent =graphicStudent.getPropertiesGraphic().get(k2.getKey());
|
||||
Tst = o.Compare1(valueStudent, k2.getValue());
|
||||
|
||||
int niveau = 3;
|
||||
if(Tst.contains("Correct")) niveau = 1;
|
||||
if(Tst.contains("Erreur")) niveau = 2;
|
||||
pl.add(HTML.TableTableur(Tst,"<span style=\"color:#AA20FF\"><b><u>Propriété du graphique</u></b> : </span>\r" ,k2.getKey() ,valueStudent, outils.withoutPoint(k2.getValue()), niveau) );
|
||||
}else {
|
||||
Tst = o.Compare1("Pas d'objet graphique", k2.getValue());
|
||||
int niveau = 3;
|
||||
if(Tst.contains("Correct")) niveau = 1;
|
||||
if(Tst.contains("Erreur")) niveau = 2;
|
||||
pl.add(HTML.TableTableur(Tst,"<span style=\"color:#AA20FF\"><b><u>Propriété du graphique</u></b> : </span>\r" ,k2.getKey() ,"Pas d'objet graphique", outils.withoutPoint(k2.getValue()), niveau) );
|
||||
}
|
||||
}
|
||||
}//fin propriétés du graphique
|
||||
|
||||
//titre du graphique
|
||||
for(Entry<String,String> k2 : k1.getValue().getTitre().entrySet()){
|
||||
if(k2.getValue().contains("‽")) {
|
||||
|
||||
if(graphicStudent!=null) {
|
||||
String valueStudent = graphicStudent.getTitre().get(k2.getKey());
|
||||
Tst = o.Compare1(valueStudent, k2.getValue());
|
||||
|
||||
int niveau = 3;
|
||||
if(Tst.contains("Correct")) niveau = 1;
|
||||
if(Tst.contains("Erreur")) niveau = 2;
|
||||
pl.add(HTML.TableTableur(Tst,"<span style=\"color:#FF20AA\"><b><u>Titre</u></b> : </span>\r" ,k2.getKey() ,valueStudent, outils.withoutPoint(k2.getValue()), niveau) );
|
||||
}else {
|
||||
Tst = o.Compare1("Pas d'objet graphique", k2.getValue());
|
||||
int niveau = 3;
|
||||
if(Tst.contains("Correct")) niveau = 1;
|
||||
if(Tst.contains("Erreur")) niveau = 2;
|
||||
pl.add(HTML.TableTableur(Tst,"<span style=\"color:#FF20AA\"><b><u>Titre</u></b> : </span>\r" ,k2.getKey() ,"Pas d'objet graphique", outils.withoutPoint(k2.getValue()), niveau) );
|
||||
}
|
||||
}
|
||||
}//fin
|
||||
|
||||
//sous-titre du graphique
|
||||
for(Entry<String,String> k2 : k1.getValue().getSoustitre().entrySet()){
|
||||
if(k2.getValue().contains("‽")) {
|
||||
|
||||
if(graphicStudent!=null) {
|
||||
String valueStudent = graphicStudent.getSoustitre().get(k2.getKey());
|
||||
Tst = o.Compare1(valueStudent, k2.getValue());
|
||||
|
||||
int niveau = 3;
|
||||
if(Tst.contains("Correct")) niveau = 1;
|
||||
if(Tst.contains("Erreur")) niveau = 2;
|
||||
pl.add(HTML.TableTableur(Tst,"<span style=\"color:#20BB20\"><b><u>Sous-titre</u></b> : </span>\r" ,k2.getKey() ,valueStudent, outils.withoutPoint(k2.getValue()), niveau) );
|
||||
}else {
|
||||
Tst = o.Compare1("Pas d'objet graphique", k2.getValue());
|
||||
int niveau = 3;
|
||||
if(Tst.contains("Correct")) niveau = 1;
|
||||
if(Tst.contains("Erreur")) niveau = 2;
|
||||
pl.add(HTML.TableTableur(Tst,"<span style=\"color:#20BB20\"><b><u>Sous-titre</u></b> : </span>\r" ,k2.getKey() ,"Pas d'objet graphique", outils.withoutPoint(k2.getValue()), niveau) );
|
||||
}
|
||||
}
|
||||
}//fin
|
||||
|
||||
//aire du graphique
|
||||
for(Entry<String,String> k2 : k1.getValue().getAiregraphic().entrySet()){
|
||||
if(k2.getValue().contains("‽")) {
|
||||
|
||||
if(graphicStudent!=null) {
|
||||
String valueStudent = graphicStudent.getAiregraphic().get(k2.getKey());
|
||||
Tst = o.Compare1(valueStudent, k2.getValue());
|
||||
|
||||
int niveau = 3;
|
||||
if(Tst.contains("Correct")) niveau = 1;
|
||||
if(Tst.contains("Erreur")) niveau = 2;
|
||||
pl.add(HTML.TableTableur(Tst,"<span style=\"color:#20BBFF\"><b><u>Aire du graphique</u></b> : </span>\r" ,k2.getKey() ,valueStudent, outils.withoutPoint(k2.getValue()), niveau) );
|
||||
}else {
|
||||
Tst = o.Compare1("Pas d'objet graphique", k2.getValue());
|
||||
int niveau = 3;
|
||||
if(Tst.contains("Correct")) niveau = 1;
|
||||
if(Tst.contains("Erreur")) niveau = 2;
|
||||
pl.add(HTML.TableTableur(Tst,"<span style=\"color:#20BBFF\"><b><u>Aire du graphique</u></b> : </span>\r" ,k2.getKey() ,"Pas d'objet graphique", outils.withoutPoint(k2.getValue()), niveau) );
|
||||
}
|
||||
}
|
||||
}//fin
|
||||
|
||||
|
||||
//Axe principal X
|
||||
for(Entry<String,String> k2 : k1.getValue().getAxeXprincipal().entrySet()){
|
||||
if(k2.getValue().contains("‽")) {
|
||||
if(graphicStudent!=null) {
|
||||
String valueStudent = graphicStudent.getAxeXprincipal().get(k2.getKey());
|
||||
Tst = o.Compare1(valueStudent, k2.getValue());
|
||||
|
||||
int niveau = 3;
|
||||
if(Tst.contains("Correct")) niveau = 1;
|
||||
if(Tst.contains("Erreur")) niveau = 2;
|
||||
pl.add(HTML.TableTableur(Tst,"<span style=\"color:#0010EE\"><b><u>Axe principal X</u></b> : </span>\r" ,k2.getKey() ,valueStudent, outils.withoutPoint(k2.getValue()), niveau) );
|
||||
}else {
|
||||
Tst = o.Compare1("Pas d'objet graphique", k2.getValue());
|
||||
int niveau = 3;
|
||||
if(Tst.contains("Correct")) niveau = 1;
|
||||
if(Tst.contains("Erreur")) niveau = 2;
|
||||
pl.add(HTML.TableTableur(Tst,"<span style=\"color:#0010EE\"><b><u>Axe principal X</u></b> : </span>\r" ,k2.getKey() ,"Pas d'objet graphique", outils.withoutPoint(k2.getValue()), niveau) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}//fin axeX du graphique
|
||||
|
||||
for(Entry<String,String> k2 : k1.getValue().getAxeYprincipal().entrySet()){
|
||||
if(k2.getValue().contains("‽")) {
|
||||
|
||||
if(graphicStudent!=null) {
|
||||
String valueStudent = graphicStudent.getAxeYprincipal().get(k2.getKey());
|
||||
Tst = o.Compare1(valueStudent, k2.getValue());
|
||||
|
||||
int niveau = 3;
|
||||
if(Tst.contains("Correct")) niveau = 1;
|
||||
if(Tst.contains("Erreur")) niveau = 2;
|
||||
pl.add(HTML.TableTableur(Tst,"<span style=\"color:#BB1090\"><b><u>Axe principal Y</u></b> : </span>\r" ,k2.getKey() ,valueStudent, outils.withoutPoint(k2.getValue()), niveau) );
|
||||
}else {
|
||||
Tst = o.Compare1("Pas d'objet graphique", k2.getValue());
|
||||
int niveau = 3;
|
||||
if(Tst.contains("Correct")) niveau = 1;
|
||||
if(Tst.contains("Erreur")) niveau = 2;
|
||||
pl.add(HTML.TableTableur(Tst,"<span style=\"color:#BB1090\"><b><u>Axe principal Y</u></b> : </span>\r" ,k2.getKey() ,"Pas d'objet graphique", outils.withoutPoint(k2.getValue()), niveau) );
|
||||
}
|
||||
}
|
||||
}//fin axeY du graphique
|
||||
|
||||
|
||||
// Axe X secondaire
|
||||
for(Entry<String,String> k2 : k1.getValue().getAxeXsecondaire().entrySet()){
|
||||
if(k2.getValue().contains("‽")) {
|
||||
|
||||
if(graphicStudent!=null) {
|
||||
String valueStudent = graphicStudent.getAxeXsecondaire().get(k2.getKey());
|
||||
Tst = o.Compare1(valueStudent, k2.getValue());
|
||||
|
||||
int niveau = 3;
|
||||
if(Tst.contains("Correct")) niveau = 1;
|
||||
if(Tst.contains("Erreur")) niveau = 2;
|
||||
pl.add(HTML.TableTableur(Tst,"<span style=\"color:#404080\"><b><u>Axe secondaire X</u></b> : </span>\r" ,k2.getKey() ,valueStudent, outils.withoutPoint(k2.getValue()), niveau) );
|
||||
}else {
|
||||
Tst = o.Compare1("Pas d'objet graphique", k2.getValue());
|
||||
int niveau = 3;
|
||||
if(Tst.contains("Correct")) niveau = 1;
|
||||
if(Tst.contains("Erreur")) niveau = 2;
|
||||
pl.add(HTML.TableTableur(Tst,"<span style=\"color:#404080\"><b><u>Axe secondaire X</u></b> : </span>\r" ,k2.getKey() ,"Pas d'objet graphique", outils.withoutPoint(k2.getValue()), niveau) );
|
||||
}
|
||||
}
|
||||
}//fin
|
||||
// axe secondaire Y
|
||||
for(Entry<String,String> k2 : k1.getValue().getAxeYsecondaire().entrySet()){
|
||||
if(k2.getValue().contains("‽")) {
|
||||
|
||||
if(graphicStudent!=null) {
|
||||
String valueStudent = graphicStudent.getAxeYsecondaire().get(k2.getKey());
|
||||
Tst = o.Compare1(valueStudent, k2.getValue());
|
||||
|
||||
int niveau = 3;
|
||||
if(Tst.contains("Correct")) niveau = 1;
|
||||
if(Tst.contains("Erreur")) niveau = 2;
|
||||
pl.add(HTML.TableTableur(Tst,"<span style=\"color:#800080\"><b><u>Axe secondaire Y</u></b> : </span>\r" ,k2.getKey() ,valueStudent, outils.withoutPoint(k2.getValue()), niveau) );
|
||||
}else {
|
||||
Tst = o.Compare1("Pas d'objet graphique", k2.getValue());
|
||||
int niveau = 3;
|
||||
if(Tst.contains("Correct")) niveau = 1;
|
||||
if(Tst.contains("Erreur")) niveau = 2;
|
||||
pl.add(HTML.TableTableur(Tst,"<span style=\"color:#800080\"><b><u>Axe secondaire Y</u></b> : </span>\r" ,k2.getKey() ,"Pas d'objet graphique", outils.withoutPoint(k2.getValue()), niveau) );
|
||||
}
|
||||
}
|
||||
}//fin
|
||||
// series
|
||||
for(Entry<String,String> k2 : k1.getValue().getSeries().entrySet()){
|
||||
if(k2.getValue().contains("‽")) {
|
||||
|
||||
if(graphicStudent!=null) {
|
||||
String valueStudent = graphicStudent.getSeries().get(k2.getKey());
|
||||
Tst = o.Compare1(valueStudent, k2.getValue());
|
||||
|
||||
int niveau = 3;
|
||||
if(Tst.contains("Correct")) niveau = 1;
|
||||
if(Tst.contains("Erreur")) niveau = 2;
|
||||
pl.add(HTML.TableTableur(Tst,"<span style=\"color:#8000FF\"><b><u>Série de données</u></b> : </span>\r" ,k2.getKey() ,valueStudent, outils.withoutPoint(k2.getValue()), niveau) );
|
||||
}else {
|
||||
Tst = o.Compare1("Pas d'objet graphique", k2.getValue());
|
||||
int niveau = 3;
|
||||
if(Tst.contains("Correct")) niveau = 1;
|
||||
if(Tst.contains("Erreur")) niveau = 2;
|
||||
pl.add(HTML.TableTableur(Tst,"<span style=\"color:#8000FF\"><b><u>Série de données</u></b> : </span>\r" ,k2.getKey() ,"Pas d'objet graphique", outils.withoutPoint(k2.getValue()), niveau) );
|
||||
}
|
||||
}
|
||||
}//fin
|
||||
|
||||
|
||||
|
||||
|
||||
// legend
|
||||
for(Entry<String,String> k2 : k1.getValue().getLegend().entrySet()){
|
||||
if(k2.getValue().contains("‽")) {
|
||||
|
||||
if(graphicStudent!=null) {
|
||||
String valueStudent = graphicStudent.getLegend().get(k2.getKey());
|
||||
Tst = o.Compare1(valueStudent, k2.getValue());
|
||||
|
||||
int niveau = 3;
|
||||
if(Tst.contains("Correct")) niveau = 1;
|
||||
if(Tst.contains("Erreur")) niveau = 2;
|
||||
pl.add(HTML.TableTableur(Tst,"<span style=\"color:#408040\"><b><u>Legende</u></b> : </span>\r" ,k2.getKey() ,valueStudent, outils.withoutPoint(k2.getValue()), niveau) );
|
||||
}else {
|
||||
Tst = o.Compare1("Pas d'objet graphique", k2.getValue());
|
||||
int niveau = 3;
|
||||
if(Tst.contains("Correct")) niveau = 1;
|
||||
if(Tst.contains("Erreur")) niveau = 2;
|
||||
pl.add(HTML.TableTableur(Tst,"<span style=\"color:#408040\"><b><u>Legende</u></b> : </span>\r" ,k2.getKey() ,"Pas d'objet graphique", outils.withoutPoint(k2.getValue()), niveau) );
|
||||
}
|
||||
}
|
||||
}//fin
|
||||
|
||||
if(sousTotaux.get("Graph : "+ k1.getValue().getTitreAfficherFeedBack())!=null) sousTotaux.get("Graph : "+ k1.getValue().getTitreAfficherFeedBack()).addPointSousTotal(o.getPointsClass(), o.getPointTotal());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
point=o.getPointsClass();
|
||||
pointtotal=o.getPointTotal();
|
||||
propPoint = o.getPropClass();
|
||||
|
||||
sousTotaux.get(NomFeuille).addPointSousTotal(point, pointtotal);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public TreeMap<String, sousTotal> getSousTotaux() {
|
||||
return sousTotaux;
|
||||
}
|
||||
|
||||
|
||||
public List<String> getPl() {
|
||||
return pl;
|
||||
}
|
||||
|
||||
public void setPl(List<String> pl) {
|
||||
this.pl = pl;
|
||||
}
|
||||
|
||||
public double getPoint() {
|
||||
return point;
|
||||
}
|
||||
|
||||
public void setPoint(int point) {
|
||||
this.point = point;
|
||||
}
|
||||
|
||||
public double getPointtotal() {
|
||||
return pointtotal;
|
||||
}
|
||||
|
||||
public void setPointtotal(int pointtotal) {
|
||||
this.pointtotal = pointtotal;
|
||||
}
|
||||
|
||||
public double getPropPoint() {
|
||||
return propPoint;
|
||||
}
|
||||
|
||||
public void setPropPoint(double propPoint) {
|
||||
this.propPoint = propPoint;
|
||||
}
|
||||
|
||||
public double getPoids() {
|
||||
return poids;
|
||||
}
|
||||
|
||||
public void setPoids(double poids) {
|
||||
this.poids = poids;
|
||||
}
|
||||
|
||||
public boolean isEvaluer() {
|
||||
return evaluer;
|
||||
}
|
||||
|
||||
public void setEvaluer(boolean evaluer) {
|
||||
this.evaluer = evaluer;
|
||||
}
|
||||
|
||||
public HashMap<String,String> getMenu() {
|
||||
return menu;
|
||||
}
|
||||
|
||||
public boolean isAnalyseVide() {
|
||||
return analyseVide;
|
||||
}
|
||||
|
||||
public void setAnalyseVide(boolean analyseVide) {
|
||||
this.analyseVide = analyseVide;
|
||||
}
|
||||
|
||||
public String getIdentifiantFeuille() {
|
||||
return identifiantFeuille;
|
||||
}
|
||||
|
||||
public String getNomFeuille() {
|
||||
return NomFeuille;
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -2647,7 +2647,12 @@ public class Classeur2 {
|
||||
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<String, String> k1 : b.getAttributs().entrySet()) {
|
||||
styleFormatConditionnel.put(k1.getKey() , k1.getValue()) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Chargement depuis le classeur de l'étudiant.
|
||||
@ -2657,7 +2662,10 @@ public class Classeur2 {
|
||||
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"));
|
||||
node nodeStyle = nod.retourneFirstEnfant("style:style", "style:display-name", condition.getAttributs().get("calcext:apply-style-name"));
|
||||
|
||||
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"));
|
||||
|
@ -27,6 +27,11 @@ public class evaluerAttributs {
|
||||
evaluerAttributLigne();
|
||||
evaluerAttributCellule();
|
||||
}
|
||||
if(nodeSujet.getNameNode().equals("formatConditionnel")) {
|
||||
evaluerAttributFormatConditionnel();
|
||||
evaluerAttributStyleFormatConditionnel();
|
||||
|
||||
}
|
||||
if(nodeSujet.getNameNode().equals("graphic")) {
|
||||
evaluerAttributGraphic();
|
||||
evaluerLesNodesEnfantsGraphic();
|
||||
@ -92,6 +97,38 @@ public class evaluerAttributs {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluer les attributs du node formatConditionnel.<br>
|
||||
*/
|
||||
private void evaluerAttributFormatConditionnel() {
|
||||
for (Map.Entry<String, String> entry : nSujet.getAttributs().entrySet()){
|
||||
if(nSujet.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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluer les attributs du node styleFormatConditionnel.<br>
|
||||
*/
|
||||
private void evaluerAttributStyleFormatConditionnel() {
|
||||
node styleFormatConditionnel = nSujet.retourneFirstEnfant("styleFormatConditionnel");
|
||||
if(styleFormatConditionnel.isEvaluer()) {
|
||||
node styleFormatConditionnelEtudiant = null;
|
||||
if(nEtudiant!=null) styleFormatConditionnelEtudiant = nEtudiant.retourneFirstEnfant("styleFormatConditionnel");
|
||||
for (Map.Entry<String, String> 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 ));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Evaluer les attributs du node graphic.<br>
|
||||
*/
|
||||
|
@ -65,8 +65,8 @@ public class evaluerLesFichiersEtudiants implements Runnable{
|
||||
|
||||
commandes.message.append("<hr>");
|
||||
|
||||
LecturesDossiers.getEC().Initialise();
|
||||
if(commandes.fichierStudentMoodle) {
|
||||
LecturesDossiers.getEC().Initialise();
|
||||
commandes.tousLesResultats.clear();
|
||||
txt.setText("");
|
||||
try {
|
||||
@ -100,6 +100,7 @@ public class evaluerLesFichiersEtudiants implements Runnable{
|
||||
//*****************************************
|
||||
//** Nombre de fichier writer à analyser **
|
||||
//*****************************************
|
||||
|
||||
int nbClasseur = EnsembleFichiers.getListeContentTableur().size();
|
||||
String NbFichiers = String.valueOf(nbClasseur);
|
||||
commandes.analyse_Nbre_Fichier_Student = nbClasseur;
|
||||
@ -196,7 +197,7 @@ public class evaluerLesFichiersEtudiants implements Runnable{
|
||||
System.out.println(nomEtudiant);
|
||||
nodStudent.getAttributs().put("nomEtudiant", nomEtudiant);
|
||||
|
||||
nodStudent.saveNodeEnXMLinNewFile("nodStudent.xml", commandes.pathApp);
|
||||
// nodStudent.saveNodeEnXMLinNewFile("nodStudent.xml", commandes.pathApp);
|
||||
|
||||
if(commandes.analyse) {
|
||||
creerNodeEvaluationEtudiant ana = new creerNodeEvaluationEtudiant(nomEtudiant, i);
|
||||
|
@ -20,6 +20,7 @@ public class evaluerNodesClasseurStudent {
|
||||
nodeEtudiant = nodStudent;
|
||||
nAna = ana;
|
||||
evaluerLesFeuilles();
|
||||
evaluerLesFormatsConditionnels();
|
||||
evaluerLesGraphics();
|
||||
}
|
||||
|
||||
@ -55,6 +56,23 @@ public class evaluerNodesClasseurStudent {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* evaluer les formats conditionnels.<br>
|
||||
*/
|
||||
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"));
|
||||
nAna.addEnfant(anaFormatConditionnel);
|
||||
new evaluerAttributs(formatConditionnel, formatConditionnelEtudiant , nAna);
|
||||
anaFormatConditionnel.calculPoints();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Trouve la feuille de l'étudiant.<br>
|
||||
* @param nomFeuille
|
||||
@ -70,6 +88,9 @@ public class evaluerNodesClasseurStudent {
|
||||
* @return
|
||||
*/
|
||||
private node trouveLeGraphicEtudiant(String nomObjet, String TitreGraphic, String type) {
|
||||
if(TitreGraphic.indexOf("‽")!=-1) TitreGraphic = TitreGraphic.substring(0, TitreGraphic.indexOf("‽"));
|
||||
if(type.indexOf("‽")!=-1) type = type.substring(0, type.indexOf("‽"));
|
||||
|
||||
node graph = nodeEtudiant.retourneFirstEnfant("graphic", "nomObjet", nomObjet);
|
||||
if(graph==null) graph = nodeEtudiant.retourneFirstEnfant("graphic", "TitreGraphique", TitreGraphic);
|
||||
if(graph==null) graph = nodeEtudiant.retourneFirstEnfant("graphic", "type", type);
|
||||
@ -77,6 +98,34 @@ public class evaluerNodesClasseurStudent {
|
||||
return graph;
|
||||
}
|
||||
|
||||
/**
|
||||
* Trouve le format conditionnel de l'étudiant.<br>
|
||||
* @param baseCellAddress
|
||||
* @return
|
||||
*/
|
||||
private node trouveLeFormatConditionnelEtudiant(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
|
||||
int ligneCellSujet = Integer.parseInt(number);
|
||||
String name = baseCellAddress.replaceAll("[^a-zA-Z\\.]+", "");
|
||||
if(nodeEtudiant!=null) {
|
||||
for (node enfantsEtudiant : nodeEtudiant.retourneAllEnfants("formatConditionnel")) {
|
||||
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))) {
|
||||
return enfantsEtudiant;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluer les colonnes les unes après les autres.<br>
|
||||
* @param feuilleSujet
|
||||
|
@ -61,7 +61,7 @@ public class afficheText extends JEditorPane {
|
||||
sb.append(baliseStyle.balise());
|
||||
|
||||
if(nodeParent!=null) sb.append("<p class=\"p1\">Parent = " + nodeParent.getNameNode() + "</p><br>");
|
||||
sb.append("<hr><br><h1>Nom du nodeAC : " + nod.toString() + "</h1><br><hr>");
|
||||
sb.append("<hr><br><h1>Nom du node : " + nod.toString() + "</h1><br><hr>");
|
||||
|
||||
//*********************************************
|
||||
//** sous titre pour identifier les éléments **
|
||||
|
@ -1,103 +0,0 @@
|
||||
package outils;
|
||||
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.IOException;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.text.DecimalFormat;
|
||||
|
||||
import AnalyseCalc.AnalyseClasseur;
|
||||
|
||||
public class notation {
|
||||
|
||||
private String note = "0";
|
||||
private double totalpoints =0.0;
|
||||
private double points =0.0;
|
||||
private String proportionString = "0";
|
||||
private static String noteCSV = "Nom;Note\n\r";
|
||||
|
||||
|
||||
DecimalFormat df = new DecimalFormat("###.##");
|
||||
|
||||
public notation(node touslesResultats) {
|
||||
|
||||
for(int i = 0 ; i < AClas.getClasseur().size();i++) {
|
||||
points = AClas.getClasseur().get(i).getPoint()*AClas.getClasseur().get(i).getPoids() + points;
|
||||
totalpoints = AClas.getClasseur().get(i).getPointtotal()*AClas.getClasseur().get(i).getPoids() + totalpoints;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if(fichierCorrespondSujet && totalpoints>0 && !AClas.getHisto().isTriche() && !AClas.getHisto().isEmpty() && !AClas.getHisto().isTropCopier() && !AClas.getHisto().isTropModifications()) {
|
||||
double proportion = points/totalpoints;
|
||||
proportion= Math.pow(proportion, calc.commandes.analyse_progression);
|
||||
proportionString = df.format(proportion*100) + "%";
|
||||
note = df.format(calc.commandes.analyse_bareme*proportion);
|
||||
}else {
|
||||
proportionString=df.format(0.00) + "%";
|
||||
note =df.format(0.00);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public String getNote() {
|
||||
return note;
|
||||
}
|
||||
|
||||
public void setNote(String note) {
|
||||
this.note = note;
|
||||
}
|
||||
|
||||
public double getTotalpoints() {
|
||||
return totalpoints;
|
||||
}
|
||||
|
||||
public double getPoints() {
|
||||
return points;
|
||||
}
|
||||
|
||||
public void setTotalpoints(double totalpoints) {
|
||||
this.totalpoints = totalpoints;
|
||||
}
|
||||
|
||||
public void setPoints(double points) {
|
||||
this.points = points;
|
||||
}
|
||||
|
||||
public String getProportionString() {
|
||||
return proportionString;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public String pointbareme(double prop, double bareme) {
|
||||
double a = (bareme/totalpoints)*bareme;
|
||||
double note = prop*a;
|
||||
|
||||
return df.format(note) + " / " + df.format(a);
|
||||
}
|
||||
|
||||
public static String getNoteCSV() {
|
||||
return noteCSV;
|
||||
}
|
||||
|
||||
public static void publieNotesCSV(String patch) throws IOException {
|
||||
System.getProperty("file.encoding","UTF-8");
|
||||
Path outputFilePath = Paths.get(patch + "/" +"notes.csv");
|
||||
BufferedWriter fichier = Files.newBufferedWriter(outputFilePath, StandardCharsets.UTF_8);
|
||||
fichier.write(noteCSV);
|
||||
fichier.close();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
@ -309,79 +309,6 @@ public class verificationFichierAnalyse {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Mise à jour du hash et du nom du fichier d'analyse.</br>
|
||||
* @throws CloneNotSupportedException
|
||||
* @throws IOException
|
||||
*/
|
||||
public void MiseAJourFichierAnalyse() throws CloneNotSupportedException, IOException {
|
||||
|
||||
calc.commandes.hash = String.valueOf(calc.commandes.sujet.hashCode());
|
||||
|
||||
boolean maj =false;
|
||||
if(calc.commandes.sujet.getAttributs().get("hash")==null) {
|
||||
maj=true;
|
||||
}else {
|
||||
if(!calc.commandes.sujet.getAttributs().get("hash").equals(calc.commandes.hash)) {
|
||||
maj=true;
|
||||
}
|
||||
}
|
||||
if(calc.commandes.sujet.getAttributs().get("analysis_filename")==null) {
|
||||
maj=true;
|
||||
}else {
|
||||
if(!calc.commandes.sujet.getAttributs().get("analysis_filename").equals(calc.commandes.analysis_filename)) {
|
||||
maj=true;
|
||||
}
|
||||
}
|
||||
if(maj) {
|
||||
int nbespace = "───────────────────────────┐".length()-calc.commandes.hash.length();
|
||||
if (nbespace<0) nbespace=1;
|
||||
int nbespace2 = "───────────────────────────────┐".length()-calc.commandes.analysis_filename.length();
|
||||
if (nbespace2<0) nbespace2=1;
|
||||
System.out.println("\t\t┌────────────────────────────────────────────────────────────────────┐");
|
||||
System.out.println("\t\t│ Le hash du code de l'évaluation ou le nom du fichier d'analyse │");
|
||||
System.out.println("\t\t│ a été mise à jour dans le fichier d'analyse. │");
|
||||
System.out.println("\t\t│ │");
|
||||
System.out.println("\t\t│ Le hash du code de l'évaluation est : " + calc.commandes.hash + new String(new char[nbespace]).replace("\0", " ") +"│" );
|
||||
System.out.println("\t\t│ Le nom du fichier d'analyse est : " + calc.commandes.analysis_filename + new String(new char[nbespace2]).replace("\0", " ") +"│" );
|
||||
System.out.println("\t\t│ │");
|
||||
System.out.println("\t\t└────────────────────────────────────────────────────────────────────┘");
|
||||
System.out.println();
|
||||
calc.commandes.sujet.getAttributs().put("hash", calc.commandes.hash);
|
||||
calc.commandes.sujet.getAttributs().put("analysis_filename", calc.commandes.nameSujet);
|
||||
|
||||
calc.commandes.message.append("<hr><h1>Le hash du code de l'évaluation ou le nom du fichier d'analyse</h1><hr>");
|
||||
calc.commandes.message.append("<p> a été mise à jour dans le fichier d'analyse.</p>");
|
||||
calc.commandes.message.append("<br>");
|
||||
calc.commandes.message.append("<p> Le hash du code de l'évaluation est : " + calc.commandes.hash +"</p>");
|
||||
calc.commandes.message.append("<p> Le nom du fichier d'analyse est : " + calc.commandes.analysis_filename + "</p>");
|
||||
calc.commandes.message.append("<hr>");
|
||||
calc.commandes.message.append("<br>");
|
||||
|
||||
String cheminVersFichierAnalyse = calc.commandes.PathFilenameAnalysis;
|
||||
if(calc.commandes.analysis_filename.contains(".")) {
|
||||
Ecriture.ecritureNodeEnXML(calc.commandes.sujet,calc.commandes.analysis_filename.substring(0, calc.commandes.nameSujet.lastIndexOf(".")),cheminVersFichierAnalyse,Ecriture.typeFichier.fichier_analyse);
|
||||
}else {
|
||||
Ecriture.ecritureNodeEnXML(calc.commandes.sujet,calc.commandes.analysis_filename,cheminVersFichierAnalyse,Ecriture.typeFichier.fichier_analyse);
|
||||
}
|
||||
|
||||
}else {
|
||||
System.out.println("\t\t┌─────────────────────────────────────────────────────┐");
|
||||
System.out.println("\t\t│ Vérification du hash et du nom du fichier correct. │");
|
||||
System.out.println("\t\t└─────────────────────────────────────────────────────┘");
|
||||
System.out.println();
|
||||
calc.commandes.message.append("<p>**********************************************************</p>");
|
||||
calc.commandes.message.append("<p> Vérification du hash et du nom du fichier correct.</p>");
|
||||
calc.commandes.message.append("<p>**********************************************************</p>");
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param nomFichier
|
||||
|
@ -27,6 +27,9 @@ public class EnsembleFichiers {
|
||||
ListeNomFichierFeedBack.clear();
|
||||
ListeFichierods.clear();
|
||||
ListeObjetGraphicTableur.clear();
|
||||
ListeContentTableur.clear();
|
||||
ListeFichierods.clear();
|
||||
ListeHistoriqueTableur.clear();
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user