Compare commits
48 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
dedda3faf0 | ||
|
00f08babd0 | ||
|
e162eae002 | ||
|
37da4aacce | ||
|
a62bcc40c6 | ||
|
d93bdad582 | ||
|
ef9e61087a | ||
|
a64c140435 | ||
|
0706a9114f | ||
|
c06e565122 | ||
|
a11b42bd6b | ||
|
9e468315da | ||
|
739a53afa1 | ||
|
39883626d8 | ||
|
0ff44760e4 | ||
|
2fe927add5 | ||
|
fc5a68802e | ||
|
5d7060f6d8 | ||
|
e9ea186de8 | ||
|
46e758ede3 | ||
|
a382e0866f | ||
|
92ec2cd32d | ||
|
6830896291 | ||
|
0db701da4d | ||
|
15ec763fe8 | ||
|
90467fd81e | ||
|
09918899d8 | ||
|
0804f63eee | ||
|
4e29736e91 | ||
|
4e589bd57d | ||
|
87a66cde63 | ||
|
699f38f6fe | ||
|
8b840b1134 | ||
|
8d8c07d802 | ||
|
85887a5f4c | ||
|
5158ffac21 | ||
|
515bcde2dd | ||
|
6684f79b3d | ||
|
1a4259b94b | ||
|
2fca54cd47 | ||
|
e0ba437987 | ||
|
92ef17cc0e | ||
|
d3bd8cc9bc | ||
|
34edf5646c | ||
|
bf1a6ba1bb | ||
|
668fa04b3c | ||
|
305e5748e2 | ||
|
d399e03314 |
1
.gitignore
vendored
@ -1 +1,2 @@
|
||||
/bin/
|
||||
/base/
|
||||
|
BIN
base/archiveBase.zip
Normal file
Before Width: | Height: | Size: 328 KiB |
Before Width: | Height: | Size: 1.2 MiB |
@ -1,630 +0,0 @@
|
||||
Individu - Code Etudiant;IAE - Etape (lib.);IAE - Version d'étape (lib. web);Individu - Nom;Individu - Prénom;Profil étudiant (lib.);Dossier d’inscription validé;Inscription première (O/N);Redoublant à l'étape (O/N/NA);Inscription annulée (O/N);Bac ou équivalence (lib.);Bac - Année d'obtention;Adresse annuelle - Ligne 1;Adresse annuelle - Code postal;Adresse annuelle - Commune (lib.);Individu - Tél. portable;Individu - Email personnel;Individu - Email
|
||||
20185426;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;ABDALLAH;ZALIA;normal;N;O;O;N;L-littérat;2018;4 Rue Thérèse wang;62000;ARRAS;0766399731;ninaabdh1@gmail.com;zalia_abdallah@ens.univ-artois.fr
|
||||
22204143;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;ALEXANDRENNE;ADELAIDE;normal;N;O;N;N;NBGE;2021;182 rue Félix Faure;62110;HENIN-BEAUMONT;+33785373389;alexandrenneadelaide@gmail.com;
|
||||
22205168;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;BAILLY;LAURA;normal;N;O;N;N;S-Sciences;2020;7;62223;SAINT-LAURENT-BLANGY;+33616873040;laura.bailly1212@gmail.com;
|
||||
22203137;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;BARAS;NOLAN;normal;O;O;N;N;NBGE;2022;61 RUE DE BUCQUOY;62000;ARRAS;+33687134642;stephanie.lecrenier@gmail.com;nolan_baras@ens.univ-artois.fr
|
||||
22201045;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;BASZYNSKI;LOUISE;normal;O;O;N;N;STAV;2022;133 RUE DE LOFFRE;59287;LEWARDE;+33786686943;louise.bsynkiii@gmail.com;louise_baszynski@ens.univ-artois.fr
|
||||
22204119;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;BEUGIN;CORENTIN;normal;N;O;N;N;STI2D;2019;1 Rue des Carbonniers;62118;MONCHY-LE-PREUX;+33785574987;coco.beugin@laposte.net;
|
||||
20180231;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;BILLAUD;MATTHIEU;normal;O;O;N;N;L-littérat;2018;6 CHEMIN DES 24;62270;ECOIVRES;0767650621;mbillaud2000@gmail.com;matthieu_billaud@ens.univ-artois.fr
|
||||
22201222;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;BISSCHOP;ANTHONY;normal;O;O;N;N;NBGE;2022;1 RUE DU MOULIN;62760;SARTON;+33695226669;anthonybis@free.fr;anthony_bisschop@ens.univ-artois.fr
|
||||
22202319;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;BLASIAK;BASTIEN;normal;O;O;N;N;NBGE;2022;1 RUELLE PARMENTIER;02450;FESMY-LE-SART;+33787841415;bastien-blasiak@orange.fr;bastien_blasiak@ens.univ-artois.fr
|
||||
22004045;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;CARON;KASSANDRA;normal;O;O;O;N;STMG-Man.G;2020;1 7 RUE UTRILLO;62000;ARRAS;0952447217;kassandracaron9@gmail.com;kassandra_caron@ens.univ-artois.fr
|
||||
22102540;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;CHERIGIE;ALEXIS;normal;O;O;O;N;NBGE;2021;21 RUE D'ANVIN;62550;SAINS-LES-PERNES;+33615585688;alexischerigie010@gmail.com;alexis_cherigie@ens.univ-artois.fr
|
||||
22202416;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;COUSIN;EMILIE;normal;O;O;N;N;NBGE;2022;319 RUE D'OLHAIN;62150;REBREUVE-RANCHICOURT;+33782794246;emilie092004@gmail.com;emilie_cousin1@ens.univ-artois.fr
|
||||
22202110;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;DEFOSSE;ELISE;normal;N;O;N;N;NBGE;2022;60 rue Grassin Baledans;62000;ARRAS;+33766140903;elise.defosse30@gmail.com;
|
||||
22205094;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;DEMAILLY;SOLINE;normal;N;O;N;N;NBGE;2022;150 AVENUE DE L HIPPODROME;62000;ARRAS;+33651658231;solinedemailly8@gmail.com;
|
||||
22201107;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;DHERSIN;CYPRIEN;normal;O;O;N;N;NBGE;2022;19 RUE CASIMIR BEUGNET;62470;CAMBLAIN-CHATELAIN;+33658633792;d-dhersin@live.fr;cyprien_dhersin@ens.univ-artois.fr
|
||||
22201654;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;FAUCHOIS;ROMAIN;normal;N;O;N;N;NBGE;2022;428 CHEMIN DES 4 FOSSES;62117;BREBIERES;+33698200546;romain123.fauchois@gmail.com;
|
||||
22105894;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;GALACH;HUGO;normal;O;O;O;N;STMG-Man.G;2021;51 Avenue Emile Duquesnoy;62217;ACHICOURT;0673703376;hugo.62bad@gmail.com;hugo_galach@ens.univ-artois.fr
|
||||
22106617;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;HERMETZ;ALEXANDRE;normal;N;O;N;N;NBGE;2021;13 ROUTE NATIONALE;62150;REBREUVE-RANCHICOURT;+33782813532;hermetzalexandre124@gmail.com;alexandre_hermetz@ens.univ-artois.fr
|
||||
22204955;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;HOLLEMAERT;CLEMENT;normal;N;O;N;N;NBGE;2022;85 RUE DE TOURAINE;62700;BRUAY-LA-BUISSIERE;+33629957666;clement.hollemaert2004@gmail.com;
|
||||
22204407;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;LABOISSE;DYLAN;normal;O;O;N;N;STMG-Man.G;2017;5 rue de Strasbourg;62620;MAISNIL-LES-RUITZ;+33623992174;dylan62620@live.fr;dylan_laboisse@ens.univ-artois.fr
|
||||
22201220;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;LEGRAND;LEA;normal;O;O;N;N;NBGE;2022;17 RUE DU FAUBOURG;62144;HAUTE-AVESNES;+33767543487;lea.legrand3107@gmail.com;lea_legrand@ens.univ-artois.fr
|
||||
22204523;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;LEGRAND;AXELLE;normal;N;O;N;N;NBGE;2021;469 Résidence Les Sablons Rue;62122;LABEUVRIERE;+33695504129;axelle.leg.0409@gmail.com;
|
||||
22201119;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;LESAGE;JULIEN;normal;O;O;N;N;NBGE;2022;67 RUE DE MIRAUMONT;62450;LIGNY-THILLOY;+33641537606;julien.lesage2004@gmail.com;julien_lesage1@ens.univ-artois.fr
|
||||
22204959;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;LOYER;CYPRIEN;normal;O;O;N;N;NBGE;2022;9 IMPASSE DES NÉNUPHARS;62980;VERMELLES;+33787214755;cyp.loy@gmail.com;cyprien_loyer@ens.univ-artois.fr
|
||||
22201247;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;MENARD;THIBAULT;normal;O;O;N;N;NBGE;2022;8 RUE DU COHEM;62920;GONNEHEM;+33643849812;thibo.men12@gmail.com;thibault_menard@ens.univ-artois.fr
|
||||
22204312;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;NAVEL;ALEX;normal;N;O;N;N;NBGE;2022;48 RUE DE CARENCY;62153;ABLAIN-SAINT-NAZAIRE;+33783521392;navelalex563@gmail.com;
|
||||
22204117;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;PARMENTIER;PIERRE;normal;O;O;N;N;NBGE;2022;17 Rue d'Izel;62690;HERMAVILLE;0671404916;pierreparmentier7@icloud.com;
|
||||
22203095;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;PATIN;TIFENN;normal;O;O;N;N;NBGE;2022;60 RUE DE L'URUGUAY;62700;BRUAY-LA-BUISSIERE;+33659447428;tifennhatos62@outlook.fr;tifenn_patin@ens.univ-artois.fr
|
||||
22204845;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;ROUSSEL;MARTIN;normal;O;O;N;N;NBGE;2022;65 BIS CHAUSSEE BRUNEHAUT;62460;DIVION;+33648605079;fafi.roussel@laposte.net;martin_roussel@ens.univ-artois.fr
|
||||
22105887;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;RZEPKA;BAPTISTE;normal;O;O;O;N;0022-terti;2020;18 rue de Colmar;62620;MAISNIL-LES-RUITZ;+33652051111;baptisterzepkaaa@gmail.com;baptiste_rzepka@ens.univ-artois.fr
|
||||
22202936;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;SOUILLARD;JEANNE;normal;O;O;N;N;NBGE;2022;57 Route départementale 227;62610;AUTINGUES;+33768400894;souillardjeanne@gmail.com;jeanne_souillard@ens.univ-artois.fr
|
||||
22202030;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;SZYMCZYK;LOUCA;normal;O;O;N;N;NBGE;2022;4 RUE JEAN DESENNE;62410;HULLUCH;+33642275866;louszymm@gmail.com;louca_szymczyk@ens.univ-artois.fr
|
||||
22202139;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;THOMAS;DYLAN;normal;O;O;N;N;NBGE;2022;22 RÉSIDENCE DU STADE;62112;GOUY-SOUS-BELLONNE;+33782531307;dylan28052004@gmail.com;dylan_thomas@ens.univ-artois.fr
|
||||
20054890;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;USAGER;DEMO;Aucun paie;O;O;N;N;L-littérat;2005;9 rue du Temple, adresse perso;62000;ARRAS;0607081010;test-modif-mail-perso@demo-usager.fr;demo_usager@ens.univ-artois.fr
|
||||
22202699;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;VERHAEGHE;LOUIS;normal;N;O;N;N;STL-Tech.L;2022;33 RUE ST MICHEL;62000;ARRAS;+33615522107;louisverhaeghe2003@gmail.com;
|
||||
22201079;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;VIEIRA;NEO;normal;O;O;N;N;NBGE;2022;55 chaussée Brunehaut;62460;DIVION;+33627955447;logicomneo@gmail.com;neo_vieira@ens.univ-artois.fr
|
||||
22200846;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;VIN;THEO;normal;O;O;N;N;NBGE;2022;71 RUE DE SATURNE;62460;DIVION;+33641537671;theovn624@gmail.com;theo_vin@ens.univ-artois.fr
|
||||
22203647;L1 Géo et amé _ Aménag.;L1 Géographie et aménagement _ Aménagement;WILZIUS;TITOUAN;normal;O;O;N;N;NBGE;2022;41 RUE DE LA PAIX;62300;LENS;+33674315129;titouan.wilzius971@orange.fr;titouan_wilzius@ens.univ-artois.fr
|
||||
22205157;L1 Histoire;L1 Histoire;ADAMIAK;LENA;normal;N;O;N;N;NBGE;2022;22/1 RUE PAUL ADAM;62000;ARRAS;+33768446506;admk.lena@gmail.com;
|
||||
22205132;L1 Histoire;L1 Histoire;ALLARD;PRIMAEL;normal;N;O;N;N;NBGE;2021;17 RUE DE LA SOMME;62670;MAZINGARBE;+33782287497;primaell@outlook.fr;
|
||||
22201786;L1 Histoire;L1 Histoire;AMAND;GASPARD;normal;O;O;N;N;NBGE;2022;40 RUE LEON BAILLOT;62160;BULLY-LES-MINES;+33767461558;gaspardamand.tra@gmail.com;gaspard_amand@ens.univ-artois.fr
|
||||
22203670;L1 Histoire;L1 Histoire;ANCELIN;CLAIRE;normal;O;O;N;N;NBGE;2022;36 RUE DE PAS;62217;WAILLY;+33785237279;c05ancelin@gmail.com;claire_ancelin@ens.univ-artois.fr
|
||||
22200485;L1 Histoire;L1 Histoire;ANQUEZ;OCEANNE;normal;O;O;N;N;NBGE;2021;54 rue Camille Desmoulins,;62680;MERICOURT;+33664494335;oceanneanquez@outlook.fr;oceanne_anquez@ens.univ-artois.fr
|
||||
22202361;L1 Histoire;L1 Histoire;AOUMAT;LUCAS;normal;O;O;N;N;STMG-Man.G;2021;10 Rue de Vermelles;62980;NOYELLES-LES-VERMELLES;+33677845982;aoumatlucas0@gmail.com;lucas_aoumat@ens.univ-artois.fr
|
||||
22202371;L1 Histoire;L1 Histoire;AUDUGE;ALEXANDRE;normal;N;O;N;N;0021-indus;2022;143 RUE FERNARND DESMAZIERES;62131;VERQUIN;+33660919957;boblennon31@gmail.com;
|
||||
22104383;L1 Histoire;L1 Histoire;BAZIN;OCEANE;normal;O;O;O;N;NBGE;2021;19B Rue Emile zola Porte B5;62232;ANNEZIN;+33771659500;ocebzn@gmail.com;oceane_bazin@ens.univ-artois.fr
|
||||
22104173;L1 Histoire;L1 Histoire;BENOIT;ANAIS;normal;O;O;N;N;NBGE;2021;10 RUE DE MONASTIR;62440;HARNES;+33624042445;anaisbenoit2003@gmail.com;anais_benoit1@ens.univ-artois.fr
|
||||
22202411;L1 Histoire;L1 Histoire;BERNARDOU;CHARLOTTE;normal;O;O;N;N;NBGE;2022;87 rue du temple;62000;ARRAS;+33681627103;charlottebernardou@gmail.com;charlotte_bernardou@ens.univ-artois.fr
|
||||
22204672;L1 Histoire;L1 Histoire;BERTHELIN;ALEXANDRE;normal;O;O;N;N;NBGE;2022;25 RUE DES RESISTANTS;62149;ANNEQUIN;+33659433790;alexandreberthelin0@gmail.com;alexandre_berthelin@ens.univ-artois.fr
|
||||
22201437;L1 Histoire;L1 Histoire;BERTRAND;EMILIE;normal;O;O;N;N;NBGE;2022;14 RUE DU MARIN;60940;CINQUEUX;+33640775361;bertrand.emilie60@orange.fr;emilie_bertrand@ens.univ-artois.fr
|
||||
22100600;L1 Histoire;L1 Histoire;BEUGIN;EOWYN;normal;O;O;O;N;NBGE;2021;7 BIS RUE DES VAULX;62770;AUCHY-LES-HESDIN;+33782268396;eowyn.beugin@gmail.com;eowyn_beugin@ens.univ-artois.fr
|
||||
22202633;L1 Histoire;L1 Histoire;BOLLENGIER;ATHENAIS;normal;N;O;N;N;S-Sciences;2019;41 résidence le buisson aux oeuf;62580;GIVENCHY-EN-GOHELLE;+33781279853;atheboll@gmail.com;
|
||||
22203757;L1 Histoire;L1 Histoire;BONIN;DANIELLE;normal;N;O;N;N;ST2S;2021;435 rue Faidherbe;59119;WAZIERS;+33783169764;bonindanielle802@gmail.com;
|
||||
22106742;L1 Histoire;L1 Histoire;BONINGUE;MATHEO;normal;O;O;N;N;NBGE;2021;139 rue d'Alsace Lorraine;62470;CALONNE-RICOUART;+33618362480;boningue.matheo@gmail.com;matheo_boningue@ens.univ-artois.fr
|
||||
22203929;L1 Histoire;L1 Histoire;BONNEL;LUKAS;normal;O;O;N;N;NBGE;2022;20 RUE LAVOISIER;62530;HERSIN-COUPIGNY;+33698719015;lukas.bonnel@outlook.com;lukas_bonnel@ens.univ-artois.fr
|
||||
22203420;L1 Histoire;L1 Histoire;BOUCKAERT;ANDY;normal;O;O;N;N;0021-indus;2022;23 RUE D'EPERNAY;62740;FOUQUIERES-LES-LENS;+33642286167;andybouckaert62740@gmail.com;andy_bouckaert@ens.univ-artois.fr
|
||||
22203778;L1 Histoire;L1 Histoire;BOUREZ;ELLIOT;normal;N;O;N;N;NBGE;2022;126 rue de Willeman;62770;NOYELLES-LES-HUMIERES;+33784562503;bourezelliot0@gmail.com;
|
||||
22001171;L1 Histoire;L1 Histoire;BRIQUET;KATHLEEN;AJAC;O;N;O;N;ST2S;2020;83 rue hélène boucher appt 235;59500;DOUAI;0603820622;kath.bqt@gmail.com;kathleen_briquet@ens.univ-artois.fr
|
||||
22200971;L1 Histoire;L1 Histoire;BROUEZ;ANTOINE;normal;O;O;N;N;NBGE;2022;19 RESIDENCE LA ROSERAIE;62122;LAPUGNOY;+33783682661;antoine.brouez.62122@gmail.com;antoine_brouez@ens.univ-artois.fr
|
||||
22201716;L1 Histoire;L1 Histoire;BRUNEEL;LUCILE;normal;O;O;N;N;NBGE;2022;2, RUE DU DU 8 MAI;62540;MARLES-LES-MINES;+33787634154;lulu.bru6@gmail.com;lucile_bruneel@ens.univ-artois.fr
|
||||
22103342;L1 Histoire;L1 Histoire;BUIRETTE;CHEMSDINE;normal;O;O;N;N;NBGE;2021;1179 rue de Courtaigne;62221;NOYELLES-SOUS-LENS;+33699261443;chemsdine.buirette62110@gmail.com;chemsdine_buirette@ens.univ-artois.fr
|
||||
22202401;L1 Histoire;L1 Histoire;BULCOURT;CLARA;normal;O;O;N;N;NBGE;2022;6 bis, rue crèvecoeur;62116;DOUCHY-LES-AYETTE;+33656883385;bulcourtclara@gmail.com;clara_bulcourt@ens.univ-artois.fr
|
||||
22001029;L1 Histoire;L1 Histoire;BULLARA;ANGELA;normal;O;O;O;N;L-littérat;2020;2 RUE DE BETHUNE;62620;RUITZ;+33675509053;bullaraangela97@gmail.com;angela_bullara@ens.univ-artois.fr
|
||||
22204487;L1 Histoire;L1 Histoire;BULOT;THEO;normal;O;O;N;N;NBGE;2022;53 RUE PASTEUR;62114;SAINS-EN-GOHELLE;+33782305945;theo.bulot62@gmail.com;theo_bulot@ens.univ-artois.fr
|
||||
22101986;L1 Histoire;L1 Histoire;CABRE;MELANIE;normal;O;O;O;N;NBGE;2021;17 PLACE R;59176;ECAILLON;+33652703770;cabre.melanie@orange.fr;melanie_cabre@ens.univ-artois.fr
|
||||
22102568;L1 Histoire;L1 Histoire;CAFFET;CORENTIN;normal;N;O;N;N;NBGE;2021;11 RUE VICTOR HUGO;62980;VERMELLES;+33640825746;corentin.caffet03@gmail.com;corentin_caffet@ens.univ-artois.fr
|
||||
22103332;L1 Histoire;L1 Histoire;CAILLIERET;LALY;normal;O;O;O;N;NBGE;2021;54.4 rue Georges Clemenceau;62143;ANGRES;+33640647591;laly.caillieret@gmail.com;laly_caillieret@ens.univ-artois.fr
|
||||
22104246;L1 Histoire;L1 Histoire;CARAIANNIS;LAURA;normal;O;O;O;N;NBGE;2021;18 allée Julien Sevin Apt 18;62223;SAINT-NICOLAS;+33682066538;laura.caraiannis@outlook.com;laura_caraiannis@ens.univ-artois.fr
|
||||
22204524;L1 Histoire;L1 Histoire;CARLIER;MATHILDE;normal;N;O;N;N;NBGE;2021;9, rue de Montdidier;62790;LEFOREST;+33634250407;mathildecarlier1512@icloud.com;
|
||||
22201661;L1 Histoire;L1 Histoire;CASSEL;MANON;normal;N;O;N;N;NBGE;2022;200 RUE D ARRAS;62161;AGNEZ-LES-DUISANS;+33783656967;manon.cassel@free.fr;
|
||||
22008431;L1 Histoire;L1 Histoire;CAULLET;MAELLE;normal;O;O;O;N;0000-sans;;69 rue du chemin brûlé;62112;CORBEHEM;0768901137;mamacaullet@live.fr;maelle_caullet@ens.univ-artois.fr
|
||||
22101470;L1 Histoire;L1 Histoire;CHMIELINSKI;TOM;normal;O;O;O;N;NBGE;2021;80 IMPASSE DE BAPAUME;59169;FERIN;+33782735130;tomchmiel59169@gmail.com;tom_chmielinski@ens.univ-artois.fr
|
||||
22201559;L1 Histoire;L1 Histoire;CHRUSCIEL;LUCAS;normal;O;O;N;N;NBGE;2022;59 RUE DULCIE SEPTEMBER;62680;MERICOURT;+33760545030;lucaschrusciel6268062110@gmail.com;lucas_chrusciel@ens.univ-artois.fr
|
||||
22106775;L1 Histoire;L1 Histoire;COLAERT;MAXIME;normal;N;O;N;N;0000-sans;;5RUE JEAN LECANUET;62000;ARRAS;+33675375574;maxime.colaert@hotmail.com;maxime_colaert@ens.univ-artois.fr
|
||||
22103012;L1 Histoire;L1 Histoire;COMBLEZ;ALEX;normal;O;O;O;N;NBGE;2021;10B rue Jean Lecanuet;62000;ARRAS;+33695885125;curnyb@gmail.com;alex_comblez@ens.univ-artois.fr
|
||||
22203706;L1 Histoire;L1 Histoire;CONSTANT;JORDAN;normal;O;O;N;N;0022-terti;2022;24 ALLÉE FRANÇOIS BOUCHER;62000;ARRAS;+33767286010;jordanconstant.pro@gmail.com;jordan_constant@ens.univ-artois.fr
|
||||
22201464;L1 Histoire;L1 Histoire;CORNE;LOWAN;normal;O;O;N;N;NBGE;2022;13 CHEMIN DE LA NEUVILLE;60490;RICQUEBOURG;+33638995395;lowancorne@gmail.com;lowan_corne@ens.univ-artois.fr
|
||||
22204728;L1 Histoire;L1 Histoire;CORNU;LEANNE;normal;N;O;N;N;NBGE;2021;3 rue de Bourre;80150;GUESCHART;0612543781;leannecornu@gmail.com;
|
||||
22200989;L1 Histoire;L1 Histoire;CROENNE;SULLYVAN;normal;O;O;N;N;NBGE;2022;144, RUE NOTRE DAME DE LORETTE;62300;LENS;+33663188606;sullyvancroenne@hotmail.com;sullyvan_croenne@ens.univ-artois.fr
|
||||
22000463;L1 Histoire;L1 Histoire;CUCHEVAL;LEO;normal;O;O;O;N;ST2S;2020;34 RUE DE LA MARCHE;62160;GRENAY;+33660379862;leo.betremieux1234@gmail.com;leo_cucheval@ens.univ-artois.fr
|
||||
22201060;L1 Histoire;L1 Histoire;CYTER;SARAH;normal;O;O;N;N;NBGE;2022;7 RUE FREDERIC CHOPIN;62150;HOUDAIN;+33608862745;sarah.cyter@gmail.com;sarah_cyter@ens.univ-artois.fr
|
||||
22104871;L1 Histoire;L1 Histoire;DA COSTA VEIGA;PAULINE;normal;N;O;O;N;NBGE;2021;9 BIS RUE PIERRE BAVOIR;60127;FRESNOY-LA-RIVIERE;+33695089127;pauline25003@gmail.com;pauline_dacostaveiga@ens.univ-artois.fr
|
||||
22203753;L1 Histoire;L1 Histoire;DALLE;ENZO;normal;O;O;N;N;NBGE;2022;131 RUE DE LA CHAPELLE;62160;AIX-NOULETTE;+33783517529;enzo.dalle@outlook.fr;enzo_dalle@ens.univ-artois.fr
|
||||
22204161;L1 Histoire;L1 Histoire;DAUCHY;CLARA;normal;O;O;N;N;NBGE;2022;61 RUE DU CAPITAINE DULIEUX;62138;DOUVRIN;+33671308345;claradauchy4@gmail.com;clara_dauchy@ens.univ-artois.fr
|
||||
22201434;L1 Histoire;L1 Histoire;DEBAIL;HUGO;normal;O;O;N;N;NBGE;2022;9 RUE D'EN HAUT;59151;BRUNEMONT;+33772353990;marlene.vincent0189@orange.fr;hugo_debail@ens.univ-artois.fr
|
||||
22203290;L1 Histoire;L1 Histoire;DEBAS;ALEXIS;normal;O;O;N;N;NBGE;2022;24 RUE DE BRETAGNE;62300;LENS;+33629244338;alexis.debas9@gmail.com;alexis_debas@ens.univ-artois.fr
|
||||
22204219;L1 Histoire;L1 Histoire;DEBLIQUI;PIERRE-ALAIN;normal;O;O;N;N;NBGE;2022;9 GRAND RUE;59259;LECLUSE;+33788498145;pierrealaindebliqui852@gmail.com;pierre-alain_debliqui@ens.univ-artois.fr
|
||||
22203852;L1 Histoire;L1 Histoire;DECORE;ESTEBAN;normal;N;O;N;N;STMG-Man.G;2019;18;62980;VERMELLES;+33769922316;esteban.decore@gmail.com;
|
||||
22101546;L1 Histoire;L1 Histoire;DECOUDU;LEA;normal;O;O;O;N;NBGE;2021;82 Boulevard Henri Martel;62210;AVION;+33769328731;leadecoudu18@gmail.com;lea_decoudu@ens.univ-artois.fr
|
||||
22203842;L1 Histoire;L1 Histoire;DEFAUX;FLORENT;normal;N;O;N;N;STI2D;2021;61TER RUE SAINT ETTON;62111;BIENVILLERS-AU-BOIS;+33679901703;florent.defaux62111@gmail.com;
|
||||
22201680;L1 Histoire;L1 Histoire;DELANNOY;FLAVY;normal;O;O;N;N;NBGE;2022;1396 RUE PRINCIPALE;62120;SAINT-HILAIRE-COTTES;+33635444930;flavydel16@gmail.com;flavy_delannoy@ens.univ-artois.fr
|
||||
22200648;L1 Histoire;L1 Histoire;DELATTRE;VICTOR;normal;O;O;N;N;NBGE;2022;2, RUE EUGENE MOMAL;62860;OISY-LE-VERGER;+33645886430;victor.delattre@nordnet.fr;victor_delattre@ens.univ-artois.fr
|
||||
22202624;L1 Histoire;L1 Histoire;DELETREZ;GILIAN;normal;O;O;N;N;NBGE;2022;258 BOULEVARD ALEXANDRE DUMAS;62110;HENIN-BEAUMONT;+33750932628;thegymliangamerfr@gmail.com;gilian_deletrez@ens.univ-artois.fr
|
||||
22202355;L1 Histoire;L1 Histoire;DELETTRE;MORGANE;normal;N;O;N;N;NBGE;2022;13 rue de Bas;62560;VERCHOCQ;+33661071146;morgandell62@gmail.com;
|
||||
22201296;L1 Histoire;L1 Histoire;DELEVALLEZ;MATHIS;normal;N;O;N;N;STMG-Man.G;2022;9 BIS RUE JEAN BART;62118;BIACHE-SAINT-VAAST;+33783225870;mathis04.delevallez@gmail.com;
|
||||
22101849;L1 Histoire;L1 Histoire;DELONG;LUCIE;normal;N;O;O;N;NBGE;2021;14 RUE MASSENET;62800;LIEVIN;0699515433;lucie.delong@gmail.com;lucie_delong@ens.univ-artois.fr
|
||||
22202920;L1 Histoire;L1 Histoire;DELRUE;ROMAIN;normal;N;O;N;N;0022-terti;2019;155 rue d'Houdain;62150;LA COMTE;+33669281849;romain.delrue2106@gmail.com;
|
||||
22201226;L1 Histoire;L1 Histoire;DERENONCOURT;ADRIEN;normal;O;O;N;N;NBGE;2022;1 bis rue Emile Didier;62000;ARRAS;+33781240481;derenoncourtadrien0804@gmail.com;adrien_derenoncourt@ens.univ-artois.fr
|
||||
22202452;L1 Histoire;L1 Histoire;DERETZ;ELISA;normal;O;O;N;N;NBGE;2022;14 RUE MAURICE SCHUMANN;59500;DOUAI;+33666696197;deretzelisa@gmail.com;elisa_deretz@ens.univ-artois.fr
|
||||
22202998;L1 Histoire;L1 Histoire;DERGAOUI;MELYANA;normal;N;O;N;N;NBGE;2022;15 RUE FELIX FAURE;62210;AVION;+33761457731;melyana.dergaoui01@gmail.com;
|
||||
22200706;L1 Histoire;L1 Histoire;DEVASSINE;YANIS;normal;O;O;N;N;NBGE;2022;45 rue charles capelle;59940;NEUF-BERQUIN;+33679049687;devassine.yanis@gmail.com;yanis_devassine@ens.univ-artois.fr
|
||||
22202126;L1 Histoire;L1 Histoire;DEVOS;MANON;normal;O;O;N;N;ST2S;2022;19 ALLÉE DES JACINTHES;62160;AIX-NOULETTE;+33676036441;manondevos62@gmail.com;manon_devos@ens.univ-artois.fr
|
||||
22202765;L1 Histoire;L1 Histoire;DIDDEN;QUENTIN;normal;O;O;N;N;NBGE;2022;41 RUE JEAN STABLINSKI;62110;HENIN-BEAUMONT;+33783419350;cqr.didden@orange.fr;quentin_didden@ens.univ-artois.fr
|
||||
22201075;L1 Histoire;L1 Histoire;DJEDA;HUGO;normal;O;O;N;N;NBGE;2022;31 RUE DES PEUPLIERS;59480;LA BASSEE;+33641022226;hugo.djeda@hotmail.com;hugo_djeda@ens.univ-artois.fr
|
||||
21905071;L1 Histoire;L1 Histoire;DORCHIES;STEVEN;normal;O;O;N;N;ES-Eco;2019;20 RUE DE RABAT;62620;BARLIN;+33699856684;stevenb2107@gmail.com;steven_dorchies@ens.univ-artois.fr
|
||||
22200905;L1 Histoire;L1 Histoire;DOUILLY;FLORIAN;normal;O;O;N;N;NBGE;2022;73 RUE FLORENT EVRARD;62260;AUCHEL;+33647466115;flodouilly62@gmail.com;florian_douilly@ens.univ-artois.fr
|
||||
22202123;L1 Histoire;L1 Histoire;DRUELLE;MAXENCE;normal;N;O;N;N;NBGE;2022;27 RUE ALBERT FILLIAERT;62410;HULLUCH;+33769355519;Maxence.Druelle.Fourniez@gmail.com;
|
||||
22201493;L1 Histoire;L1 Histoire;DUCANDAS;LILY;normal;N;O;N;N;NBGE;2022;60 RUE GRASSIN BALEDANS;62000;ARRAS;+33763442009;lilyducandas@yahoo.com;
|
||||
22202437;L1 Histoire;L1 Histoire;DUCATEL;NATHANAEL;normal;O;O;N;N;NBGE;2022;11 RUE DES ENCLOS;62130;HUMIERES;+33786889033;nathduc@orange.fr;nathanael_ducatel@ens.univ-artois.fr
|
||||
22203573;L1 Histoire;L1 Histoire;DUCATEZ;DAMIEN;normal;N;O;N;N;NBGE;2022;57 ROUTE DEPARTEMENTALE 943;62120;WITTES;+33661583180;laurentducatez@sfr.fr;
|
||||
22204195;L1 Histoire;L1 Histoire;DUCATEZ;REMI;normal;N;O;N;N;NBGE;2022;17 RUE JEAN JAURÈS;62153;ABLAIN-SAINT-NAZAIRE;+33671281707;remidtz62@gmail.com;
|
||||
22203102;L1 Histoire;L1 Histoire;DUCHENE;ENZO;normal;N;O;N;N;NBGE;2022;19 CARRIERE DUBAR;59390;LYS-LEZ-LANNOY;+33785553853;enzodudu59650@gmail.com;
|
||||
22203436;L1 Histoire;L1 Histoire;DUHAUPAS;WILFRIED;normal;N;O;N;N;NBGE;2022;26 rue de Wancourt;62128;GUEMAPPE;+33673763561;duhaupas.wilfrief@gmail.com;
|
||||
22002985;L1 Histoire;L1 Histoire;DUPONTREUE;MAXIME;normal;O;O;N;N;STMG-Man.G;2020;26 rue Mozart;62300;LENS;0666536827;maximedupontreue02@gmail.com;maxime_dupontreue@ens.univ-artois.fr
|
||||
22101843;L1 Histoire;L1 Histoire;DUROT;VENUS;normal;O;O;N;N;NBGE;2021;138 boulevard des italiens;62320;ROUVROY;+33664438687;venusdurot43@gmail.com;venus_durot@ens.univ-artois.fr
|
||||
22202334;L1 Histoire;L1 Histoire;EDOIRE;SAMUEL;normal;O;O;N;N;NBGE;2022;5 rue Jean Moulin;62800;LIEVIN;+33785861141;Samueledoire@gmail.com;samuel_edoire@ens.univ-artois.fr
|
||||
22103597;L1 Histoire;L1 Histoire;EL KARAMI;INES;normal;N;O;O;N;NBGE;2021;4 rue de Rouen;62800;LIEVIN;+33769517154;i.elkarami@yahoo.com;ines_elkarami@ens.univ-artois.fr
|
||||
22204986;L1 Histoire;L1 Histoire;FARRANDO;FELIX;normal;O;O;N;N;NBGE;2022;54 rue de Condé;59000;LILLE;+33782286383;farrandofelix@gmail.com;felix_farrando@ens.univ-artois.fr
|
||||
22201144;L1 Histoire;L1 Histoire;FAUQUEMBERG;KERWANN;normal;O;O;N;N;NBGE;2022;2 RUE DE LA VICTOIRE;62160;GRENAY;0695687796;kerwann.fauquemberg@gmail.com;kerwann_fauquemberg@ens.univ-artois.fr
|
||||
22203292;L1 Histoire;L1 Histoire;FAUQUEUR;MATHEO;normal;O;O;N;N;NBGE;2022;28 RUE ARTHUR LAMENDIN;62160;GRENAY;+33662706783;matheofauqueur@gmx.fr;matheo_fauqueur@ens.univ-artois.fr
|
||||
22202833;L1 Histoire;L1 Histoire;FURGAL;KERYAN;normal;O;O;N;N;STMG-Man.G;2022;54 RUE ROLAND GARROS;62700;BRUAY-LA-BUISSIERE;+33615640640;furgalkeryan7@gmail.com;keryan_furgal@ens.univ-artois.fr
|
||||
22201845;L1 Histoire;L1 Histoire;GAIGNAIRE;ROMAIN;normal;O;O;N;N;STI2D;2022;14 RUE DES JASMINS;62000;ARRAS;+33788447578;romain.gaignaire@gmail.com;romain_gaignaire@ens.univ-artois.fr
|
||||
22203286;L1 Histoire;L1 Histoire;GAUDUIN;ALEXIS;normal;N;O;N;N;STMG-Man.G;2018;9 rue du petit feutre;62000;ARRAS;+33648880572;alexisgauduin62@gmail.com;
|
||||
22204842;L1 Histoire;L1 Histoire;GLORIAN;LAURINE;normal;O;O;N;N;NBGE;2022;18 RUE DES MYOSOTIS;62223;SAINTE-CATHERINE;+33783633066;Laurine.glorian@yahoo.fr;laurine_glorian1@ens.univ-artois.fr
|
||||
22204679;L1 Histoire;L1 Histoire;GUILBERT;MARVIN;normal;N;O;N;N;NBGE;2022;76 RUE LA FONTAINE;62320;DROCOURT;+33668992391;marvinguilbert4@gmail.com;
|
||||
22202958;L1 Histoire;L1 Histoire;GUILLARD;PIERRE;normal;O;O;N;N;NBGE;2022;4 place Charles de Gaulle;95710;CHAUSSY;+33607529963;pierre.guillard03@gmail.com;pierre_guillard@ens.univ-artois.fr
|
||||
22204657;L1 Histoire;L1 Histoire;GUISELIN;ELINA;normal;N;O;N;N;NBGE;2022;135 RUE H ET C BOUILLEZ;62700;BRUAY-LA-BUISSIERE;+33783487606;elinaguiselin2@gmail.com;
|
||||
22202815;L1 Histoire;L1 Histoire;HADDIOUI;IMAN;normal;N;O;N;N;NBGE;2022;3 RUE DE STRASBOURG;62410;WINGLES;+33699244118;haddiouiiman9@gmail.com;
|
||||
22102572;L1 Histoire;L1 Histoire;HAVEZ;EULALIE;normal;N;O;N;N;NBGE;2021;5 rue Roger Salengro;62232;ANNEZIN;+33782909888;Lilyhavet@icloud.com;eulalie_havez@ens.univ-artois.fr
|
||||
22102132;L1 Histoire;L1 Histoire;HERLANT;CLARA;normal;O;O;O;N;NBGE;2021;15 RUE DU MUGUET;62118;BIACHE-SAINT-VAAST;+33783529662;claraherlant@gmail.com;clara_herlant@ens.univ-artois.fr
|
||||
22204016;L1 Histoire;L1 Histoire;HERLIN;CORALY;normal;O;O;N;N;NBGE;2022;10 RUE DU MARECHAL DE LATTRE;62710;COURRIERES;+33629769283;coraly210804@gmail.com;coraly_herlin@ens.univ-artois.fr
|
||||
22201343;L1 Histoire;L1 Histoire;HERY;VIRGINIE;normal;O;O;N;N;NBGE;2022;515 RUE PASTEUR;59134;FOURNES-EN-WEPPES;+33786451960;hery.virginie11@gmail.com;virginie_hery@ens.univ-artois.fr
|
||||
22105476;L1 Histoire;L1 Histoire;HORNOY;LANA;normal;N;O;O;N;ST2S;2021;27 RUE CHATEAUBRIAND;62670;MAZINGARBE;+33602441009;lana.hornoy1429@icloud.com;lana_hornoy@ens.univ-artois.fr
|
||||
22104571;L1 Histoire;L1 Histoire;HOSAERT;MANON;normal;N;O;O;N;ST2S;2021;12 rue Raoul François;62000;ARRAS;+33609345726;manon.hosaert2831@gmail.com;manon_hosaert@ens.univ-artois.fr
|
||||
22105135;L1 Histoire;L1 Histoire;HOURDEQUIN;BAPTISTE;normal;O;O;O;N;NBGE;2021;155 AVENUE JEAN JAURES;62800;LIEVIN;+33760651792;baptiste.h62300@gmail.com;baptiste_hourdequin@ens.univ-artois.fr
|
||||
22203783;L1 Histoire;L1 Histoire;HOUSSAYS;TANGUY;normal;N;O;N;N;NBGE;2022;79 RUE DU TOUQUET;62670;MAZINGARBE;+33646107901;tanguyhoussays080@gmail.com;
|
||||
22204470;L1 Histoire;L1 Histoire;HU;CAMILLE;normal;N;O;N;N;NBGE;2022;26 RUE DU MONT BLANC;62540;LOZINGHEM;+33781507257;camille.hu1903@gmail.com;
|
||||
22101121;L1 Histoire;L1 Histoire;HUBAUT;JOSHUA;normal;O;O;O;N;NBGE;2021;14, RUE DU LANGUEDOC;62790;LEFOREST;+33685306604;joshubaut@gmail.com;joshua_hubaut@ens.univ-artois.fr
|
||||
22203734;L1 Histoire;L1 Histoire;HUBERT;ROBIN;normal;O;O;N;N;NBGE;2022;99 RUE JULIEN LHOMMET;62430;SALLAUMINES;+33665963223;hubertrobin1478@gmail.com;robin_hubert@ens.univ-artois.fr
|
||||
22203059;L1 Histoire;L1 Histoire;HUMEZ;ZOE;normal;N;O;N;N;ES-Eco;2018;2 RUE DE LA COUTURE AUX BUISSO;62223;ECURIE;+33650399379;zoehumez@orange.fr;
|
||||
22203907;L1 Histoire;L1 Histoire;HURET;ENZO;normal;O;O;N;N;NBGE;2022;8 RESIDENCE DE LA CHAPELLE;62980;NOYELLES-LES-VERMELLES;+33652934396;enzohuret7@gmail.com;enzo_huret@ens.univ-artois.fr
|
||||
22205152;L1 Histoire;L1 Histoire;IDRI;ERWAN;normal;N;O;N;N;S-Sciences;2019;6 rue Lezoux leforest;62790;LEFOREST;+33611984835;idrierwan2205@gmail.com;
|
||||
22000290;L1 Histoire;L1 Histoire;IWINSKI;LOUIS;normal;O;O;N;N;S-Sciences;2020;153 rue Pierre Bachelet;62550;PERNES;+33625501142;iwinski.louis542@gmail.com;louis_iwinski@ens.univ-artois.fr
|
||||
22201158;L1 Histoire;L1 Histoire;JAKUBOWSKI;LOU;normal;O;O;N;N;NBGE;2022;44 RUE DE MERVILLE;62540;MARLES-LES-MINES;+33666682902;lou.jakubowski62@gmail.com;lou_jakubowski@ens.univ-artois.fr
|
||||
22203491;L1 Histoire;L1 Histoire;JANICKI-PONCHANT;AXEL;normal;O;O;N;N;NBGE;2022;118 RUE DU FG DE PARIS;59500;DOUAI;+33766093293;axel.janickiponchant@gmail.com;axel_janicki-ponchant@ens.univ-artois.fr
|
||||
22201923;L1 Histoire;L1 Histoire;JANKOWSKI;NOEMIE;normal;O;O;N;N;NBGE;2022;6 RUE PIERRE-EMILE ROUX;62740;FOUQUIERES-LES-LENS;+33611030015;noemiejankowski@icloud.com;noemie_jankowski@ens.univ-artois.fr
|
||||
22202571;L1 Histoire;L1 Histoire;JASINSKI;CLEMENT;normal;O;O;N;N;NBGE;2022;40 RUE MARCEL DUQUESNOY;62440;HARNES;+33659458916;jerome.jasinski@yahoo.fr;clement_jasinski@ens.univ-artois.fr
|
||||
22201767;L1 Histoire;L1 Histoire;JASSERAND;REMI;normal;N;O;N;N;S-Sciences;2020;228 rue des colverts;62220;CARVIN;+33788551423;jasserand.remi@yahoo.com;
|
||||
22202301;L1 Histoire;L1 Histoire;KESTELOOT;ANTOINE;normal;O;O;N;N;NBGE;2022;1 RESIDENCE LE COURANT DU VAL;62136;LESTREM;0631122383;KEST59@HOTMAIL.COM;antoine_kesteloot@ens.univ-artois.fr
|
||||
22103651;L1 Histoire;L1 Histoire;KHIAL;NESREDINE;normal;N;O;N;N;NBGE;2021;95 Boulevard Salvador Allende;62110;HENIN-BEAUMONT;0767750748;nesredine62110@live.fr;nesredine_khial@ens.univ-artois.fr
|
||||
22103088;L1 Histoire;L1 Histoire;KLIMA;ROMANE;normal;O;O;N;N;NBGE;2021;12 résidence des Primevères;62460;DIVION;+33688787484;romane.klm03@gmail.com;romane_klima@ens.univ-artois.fr
|
||||
22205063;L1 Histoire;L1 Histoire;KLIMCZAK--BIET;LEO;normal;O;O;N;N;NBGE;2022;146 RUE DU MANÈGE;59182;MONTIGNY-EN-OSTREVENT;+33767192253;Leo.Klimczak5904@hotmail.com;leo_klimczak--biet@ens.univ-artois.fr
|
||||
22201758;L1 Histoire;L1 Histoire;KONIECZNY;AXELLE;normal;O;O;N;N;NBGE;2022;41 RUE DE CASABLANCA;62620;BARLIN;+33615351763;axellekonieczny@gmail.com;axelle_konieczny@ens.univ-artois.fr
|
||||
22205076;L1 Histoire;L1 Histoire;KRAJ;FLORINE;normal;N;O;N;N;NBGE;2022;427 RUE DE LA CAVÉE;62700;BRUAY-LA-BUISSIERE;+33628571509;florine.kraj@gmail.com;
|
||||
22204425;L1 Histoire;L1 Histoire;KRITSCH;CELYA;normal;O;O;N;N;ST2S;2022;16 RUE KAOLACK;62118;ROEUX;+33624820829;celyakritsch@gmail.com;celya_kritsch@ens.univ-artois.fr
|
||||
20181643;L1 Histoire;L1 Histoire;LAFORCE;MATTEO;normal;O;O;O;N;ES-Eco;2018;107 rue Lambrecht;59500;DOUAI;0768162266;matteolaforce0310@gmail.com;matteo_laforce@ens.univ-artois.fr
|
||||
22202384;L1 Histoire;L1 Histoire;LALLEMENT;LAURE;normal;O;O;N;N;NBGE;2022;87 rue du temple;62000;ARRAS;+33664539985;lalallement@gmail.com;laure_lallement@ens.univ-artois.fr
|
||||
22102260;L1 Histoire;L1 Histoire;LAPOTRE;CORENTIN;normal;O;O;O;N;STMG-Man.G;2021;25 RUE GUSTAVE DELORY;62210;AVION;0611748041;lapotre.corentin@outlook.fr;corentin_lapotre@ens.univ-artois.fr
|
||||
22204727;L1 Histoire;L1 Histoire;LARUE;QUENTIN;normal;N;O;N;N;NBGE;2022;39 RUE MARTHA DESRUMAUX;62143;ANGRES;+33618747211;laruequentin25@gmail.com;
|
||||
22200742;L1 Histoire;L1 Histoire;LAWUY;CHARLES;normal;O;O;N;N;NBGE;2022;661,rue de cochendal;62120;ROQUETOIRE;+33762748071;charleslawuylycee@gmail.com;charles_lawuy@ens.univ-artois.fr
|
||||
22205328;L1 Histoire;L1 Histoire;LECAT;AXEL;normal;N;O;N;N;L-littérat;2020;Résidence Lionel Menut;80600;DOULLENS;+33667245708;costly.psg@gmail.com;
|
||||
22200754;L1 Histoire;L1 Histoire;LECIGNE;LEA;normal;O;O;N;N;NBGE;2022;344 RUE RAOUL BRIQUET;62260;AUCHEL;+33637606220;lealecigne@hotmail.com;lea_lecigne1@ens.univ-artois.fr
|
||||
22202758;L1 Histoire;L1 Histoire;LECONTE;JUSTINE;normal;O;O;N;N;NBGE;2022;355 Rue Léon Poutrain;59169;ROUCOURT;+33789525010;justine181203@gmail.com;justine_leconte@ens.univ-artois.fr
|
||||
22200893;L1 Histoire;L1 Histoire;LEDHE;MELISSA;normal;O;O;N;N;ST2S;2021;7 rue du moulin Jérôme;62000;DAINVILLE;+33782657561;ledhemelissa@icloud.com;melissa_ledhe@ens.univ-artois.fr
|
||||
22104214;L1 Histoire;L1 Histoire;LEFEBVRE;LEA;normal;O;O;O;N;NBGE;2021;4 RUE DU BOIS;62111;BIENVILLERS-AU-BOIS;+33665337302;lea.lefebvre2812@orange.fr;lea_lefebvre2@ens.univ-artois.fr
|
||||
22201772;L1 Histoire;L1 Histoire;LEFEBVRE;ENZO;normal;O;O;N;N;NBGE;2022;45 rue de Solesmes;62430;SALLAUMINES;+33662120287;enzo.lefebvre0204@gmail.com;enzo_lefebvre@ens.univ-artois.fr
|
||||
22202037;L1 Histoire;L1 Histoire;LELEU;LUCAS;normal;O;O;N;N;NBGE;2022;31 RUE DES GRANDS BOIS;62380;SENINGHEM;+33613324128;lucasleleu13@gmail.com;lucas_leleu@ens.univ-artois.fr
|
||||
22201181;L1 Histoire;L1 Histoire;LEMAIRE;LUCILE;normal;O;O;N;N;NBGE;2022;226 AVENUE DU CATEAU;59400;CAMBRAI;+33766222597;lucilemaire2005@gmail.com;lucile_lemaire1@ens.univ-artois.fr
|
||||
22202578;L1 Histoire;L1 Histoire;LEMBREZ;LILA;normal;O;O;N;N;NBGE;2022;36;62000;ARRAS;+33782698727;lila.62350@orange.fr;lila_lembrez@ens.univ-artois.fr
|
||||
22201218;L1 Histoire;L1 Histoire;LESAGE;DAMIEN;normal;O;O;N;N;NBGE;2022;4 RUE DE LA HERSE;62118;FAMPOUX;0783773949;lesagedamien7@gmail.com;damien_lesage@ens.univ-artois.fr
|
||||
22200674;L1 Histoire;L1 Histoire;LESPAGNOL;CLEMENT;normal;O;O;N;N;NBGE;2022;2 RUE E. HERRIOT;62118;BIACHE-SAINT-VAAST;+33652714420;clementlespagnol62@gmail.com;clement_lespagnol@ens.univ-artois.fr
|
||||
22100398;L1 Histoire;L1 Histoire;LEVASSEUR;PAUL;normal;O;O;O;N;NBGE;2021;216 RUE DE BOULOGNE;62700;BRUAY-LA-BUISSIERE;+33782625129;levasseurp39@gmail.com;paul_levasseur@ens.univ-artois.fr
|
||||
22201907;L1 Histoire;L1 Histoire;LEVEL;ALIZEE;normal;N;O;N;N;NBGE;2021;18 rue Ste Barbe;62320;DROCOURT;+33744577144;alizeelevel.a@gmail.com;
|
||||
22202507;L1 Histoire;L1 Histoire;LEVIEZ;CORENTIN;normal;O;O;N;N;0021-indus;2021;30 Rue d'en haut;62490;SAILLY-EN-OSTREVENT;+33679742265;leviezcorentin@gmail.com;corentin_leviez@ens.univ-artois.fr
|
||||
22201497;L1 Histoire;L1 Histoire;LOGET;MAEL;normal;O;O;N;N;NBGE;2022;101 RUE JULES FERRY;62110;HENIN-BEAUMONT;+33766332207;loget.mael@gmail.com;mael_loget@ens.univ-artois.fr
|
||||
21900680;L1 Histoire;L1 Histoire;LOGEZ;ANTHONY;normal;N;O;N;N;S-Sciences;2019;26 RUE MARC LANVIN;62160;GRENAY;+33695972706;anthony.logez62@gmail.com;
|
||||
22201920;L1 Histoire;L1 Histoire;LOMBARD;LUCAS;normal;O;O;N;N;NBGE;2022;14 RUE VOLTAIRE;62153;SOUCHEZ;0647119398;lucminecrafter01@gmail.com;lucas_lombard1@ens.univ-artois.fr
|
||||
22102569;L1 Histoire;L1 Histoire;LUCAS;EMMA;normal;O;O;N;N;NBGE;2021;20 RUE LAMARTINE;62490;VITRY-EN-ARTOIS;+33778310962;lucas-emma@outlook.com;emma_lucas@ens.univ-artois.fr
|
||||
22205367;L1 Histoire;L1 Histoire;LUCZAK;JENNY;normal;N;O;N;N;NBGE;2021;112 avenue Alfred Van Pelt;62300;LENS;+33656780189;Jennylucluc@gmail.com;
|
||||
22104156;L1 Histoire;L1 Histoire;MACKOWIAK;ROMAIN;normal;N;O;O;N;NBGE;2021;449 RUE DU PRE;62131;DROUVIN-LE-MARAIS;+33695339906;romain.m62131@gmail.com;romain_mackowiak@ens.univ-artois.fr
|
||||
22203037;L1 Histoire;L1 Histoire;MAGNIEZ;JADE;normal;O;O;N;N;NBGE;2022;67, BOULEVARD DU MARAIS;62300;LENS;+33610710943;magniez.legrand@gmail.com;jade_magniez@ens.univ-artois.fr
|
||||
22203149;L1 Histoire;L1 Histoire;MAGRON;MATHEO;normal;N;O;N;N;NBGE;2022;15 RUE VAUBAN;62290;NOEUX-LES-MINES;+33781919812;magronmatheo719@gmail.com;
|
||||
22202015;L1 Histoire;L1 Histoire;MANNECHEZ;THOMAS;normal;N;O;N;N;NBGE;2022;137 QUAI DU HAUT PONT;62500;SAINT-OMER;+33783651750;thomasmannechez23@gmail.com;
|
||||
22204108;L1 Histoire;L1 Histoire;MAREMME;AMAURY;normal;N;O;N;N;NBGE;2022;21 RESIDENCE JEAN FERRAT;62119;DOURGES;+33640655692;amaury.maremme.gri@gmail.com;
|
||||
22100818;L1 Histoire;L1 Histoire;MARTINAGE;JULIE;normal;O;O;O;N;ST2S;2021;5 RUE DU CHEMINET;80300;MIRAUMONT;+33683807527;julie.martinage05@gmail.com;julie_martinage@ens.univ-artois.fr
|
||||
22202808;L1 Histoire;L1 Histoire;MASCLET;ZOE;normal;O;O;N;N;NBGE;2022;251 RUE DE TROISVAUX;62130;GAUCHIN-VERLOINGT;+33689470348;zoemasclet0@gmail.com;zoe_masclet@ens.univ-artois.fr
|
||||
22204066;L1 Histoire;L1 Histoire;MASCRE-HURTEBISE;MATHIEU;normal;O;O;N;N;NBGE;2022;110 RUE ANATOLE FRANCE;62660;BEUVRY;+33781520567;mjo26011@gmail.com;mathieu_mascre-hurtebise@ens.univ-artois.fr
|
||||
22203293;L1 Histoire;L1 Histoire;MAYEUX;DAMIEN;normal;O;O;N;N;NBGE;2022;89 BOULEVARD DE LA LIBERTE;62114;SAINS-EN-GOHELLE;+33652839553;damienmayeux309@gmail.com;damien_mayeux@ens.univ-artois.fr
|
||||
22201546;L1 Histoire;L1 Histoire;MAZUR;CHLOE;normal;O;O;N;N;NBGE;2022;120 RUE DE FRESNICOURT;62620;BARLIN;+33782258091;chloemazur@gmail.com;chloe_mazur@ens.univ-artois.fr
|
||||
21906859;L1 Histoire;L1 Histoire;MERABTI;SLIMANE;normal;O;O;O;N;STI2D;2018;23 RUE DE BOUCHAIN;62430;SALLAUMINES;+33662096330;slimane.mer50@gmail.com;slimane_merabti@ens.univ-artois.fr
|
||||
22204627;L1 Histoire;L1 Histoire;MEUNIER;LOUIS;normal;N;O;N;N;NBGE;2022;211 RUE JULES GUESDE;62700;BRUAY-LA-BUISSIERE;+33768203604;meunierlouis62@gmail.com;
|
||||
22203553;L1 Histoire;L1 Histoire;MICHEL;APOLLINE;normal;O;O;N;N;NBGE;2022;47 CHEMIN D'ANGRES;62160;AIX-NOULETTE;+33652724995;apomichel04@gmail.com;apolline_michel@ens.univ-artois.fr
|
||||
22202190;L1 Histoire;L1 Histoire;MICHON--CLEMENT;EVERINE;normal;O;O;N;N;NBGE;2022;21 RUE DU MARECHAL LECLERC;62156;HAUCOURT;+33783083724;michoneverine@gmail.com;everine_michon--clement@ens.univ-artois.fr
|
||||
22103350;L1 Histoire;L1 Histoire;MONIER;MAEVA;normal;O;O;O;N;ST2S;2021;18 chemin vert;62800;LIEVIN;+33672359337;maeva.monier.2105@gmail.com;maeva_monier@ens.univ-artois.fr
|
||||
22203886;L1 Histoire;L1 Histoire;MONNAERT;OCEANE;normal;N;O;N;N;ST2S;2022;169 BD DES ITALIENS;62320;ROUVROY;+33636982675;monnaert.oceane@gmail.com;
|
||||
22201148;L1 Histoire;L1 Histoire;MONSAURET;LOUISE;normal;O;O;N;N;NBGE;2022;245 RUE DES PÂTURES;62920;CHOCQUES;0783428676;monsauret.louise@icloud.com;louise_monsauret@ens.univ-artois.fr
|
||||
22202127;L1 Histoire;L1 Histoire;MOREAU;IRINA;normal;N;O;N;N;NBGE;2022;32 RUE M.LANVIN;59179;FENAIN;+33652942691;irinamoreau00@gmail.com;
|
||||
22200597;L1 Histoire;L1 Histoire;MOREL;COLIN;normal;O;O;N;N;STI2D;2021;25 5 Rue Edouard Devaux;62500;SAINT-OMER;+33617280957;c.morel.pouly@gmail.com;colin_morel@ens.univ-artois.fr
|
||||
22103643;L1 Histoire;L1 Histoire;MUCHEMBLED;CALVIN;normal;O;O;O;N;NBGE;2021;2TER RUE DE FER;62123;BERLES-AU-BOIS;+33782813308;calvinmuch@gmail.com;calvin_muchembled@ens.univ-artois.fr
|
||||
22203325;L1 Histoire;L1 Histoire;NAGI;ZINEB;normal;O;O;N;N;NBGE;2022;47 RUE HECTOR BOMBEKE;62110;HENIN-BEAUMONT;+33627775894;zineb.nagi0@gmail.com;zineb_nagi@ens.univ-artois.fr
|
||||
22204359;L1 Histoire;L1 Histoire;NAZARIE;LENA;normal;O;O;N;N;NBGE;2022;15 RUE DE MONCHY;62127;CHELERS;+33608455527;lenanazarie39@gmail.com;lena_nazarie@ens.univ-artois.fr
|
||||
22201962;L1 Histoire;L1 Histoire;OLDMAN;LENA;normal;N;O;N;N;NBGE;2021;115 RUE MAURICE BOUCHERY;59113;SECLIN;+33671906919;lenaaa.3107@gmail.com;
|
||||
22202499;L1 Histoire;L1 Histoire;OUTREBON;RONAN;normal;O;O;N;N;NBGE;2022;34 RUE VAN GOGH;62114;SAINS-EN-GOHELLE;+33768518370;ronanoutrebon@gmail.com;ronan_outrebon@ens.univ-artois.fr
|
||||
22202131;L1 Histoire;L1 Histoire;OUTREMAN;TOM;normal;N;O;N;N;NBGE;2022;691 rue de Saint-Omer;62129;ECQUES;+33602256563;tomoutreman2004@gmail.com;
|
||||
22203654;L1 Histoire;L1 Histoire;PADIE;MARIE;normal;N;O;N;N;STI2D;2021;Appartement 6 Bâtiment 1;62700;BRUAY-LA-BUISSIERE;0749599313;Sanmacha@yahoo.fr;
|
||||
22200714;L1 Histoire;L1 Histoire;PAGEON;OCEANE;normal;O;O;N;N;NBGE;2022;20 RUE DES IRIS;62000;DAINVILLE;+33631473078;pageonoceane@orange.fr;oceane_pageon@ens.univ-artois.fr
|
||||
22202340;L1 Histoire;L1 Histoire;PARENT;MARINE;normal;N;O;N;N;NBGE;2022;21 RUE DES GENÊTS;62217;AGNY;+33626224413;marineparent62217@gmail.com;
|
||||
22201771;L1 Histoire;L1 Histoire;PARMENTIER;PABLO;normal;O;O;N;N;NBGE;2022;4 RUE DES JACINTHES;62300;LENS;+33651509347;parmentierpablo@gmail.com;pablo_parmentier@ens.univ-artois.fr
|
||||
22201281;L1 Histoire;L1 Histoire;PAVEAUX;NOVAN;normal;O;O;N;N;NBGE;2021;12 RUE COURBET APPT 7;62210;AVION;+33641172851;paveaux.novan@gmail.com;novan_paveaux@ens.univ-artois.fr
|
||||
22203595;L1 Histoire;L1 Histoire;PAWLOWSKI;VALENTIN;normal;O;O;N;N;NBGE;2022;192 RUE GERMAIN DELBECQUE;62800;LIEVIN;0616993326;Stef.lievin@hotmail.fr;valentin_pawlowski@ens.univ-artois.fr
|
||||
22100920;L1 Histoire;L1 Histoire;PECQUEUR;GUILLAUME;normal;O;O;O;N;0021-indus;2021;74 RUE DE GRIGNY;62000;ARRAS;+33633135694;g.pecqueur62@gmail.com;guillaume_pecqueur@ens.univ-artois.fr
|
||||
22200515;L1 Histoire;L1 Histoire;PELONG;JADE;normal;O;O;N;N;NBGE;2022;113 RUE ST EXUPERY APPT 333;59500;DOUAI;+33760793872;jadepelong@bbox.fr;jade_pelong@ens.univ-artois.fr
|
||||
22102447;L1 Histoire;L1 Histoire;PENIN;MARTIN;normal;O;O;N;N;NBGE;2021;15 RUE RENE CASSIN;62290;NOEUX-LES-MINES;+33618883355;martin.penin2003@gmail.com;martin_penin@ens.univ-artois.fr
|
||||
22201757;L1 Histoire;L1 Histoire;PERDRIGEAT;MERYL;normal;N;O;N;N;NBGE;2021;292 rue Solférino;59000;LILLE;+33782093091;perdrigeat.meryl@gmail.com;
|
||||
22100680;L1 Histoire;L1 Histoire;PESIN;LEA;normal;O;O;O;N;NBGE;2021;130 RUE DE GASCOGNE;62700;BRUAY-LA-BUISSIERE;0621344055;lea.pesin21@gmail.com;lea_pesin@ens.univ-artois.fr
|
||||
22201327;L1 Histoire;L1 Histoire;PILLARD;ANTHONY;normal;O;O;N;N;NBGE;2022;3 rue des fréres desjardin;59137;BUSIGNY;+33641053460;pillard_anthony@yahoo.com;anthony_pillard@ens.univ-artois.fr
|
||||
22205396;L1 Histoire;L1 Histoire;PLET;WESLEY;normal;N;O;N;N;0022-terti;2021;4 rue Philippe Gerber;62000;ARRAS;+33652650413;pletwesley2162@gmail.com;
|
||||
22204455;L1 Histoire;L1 Histoire;POIRE;PAUL;normal;O;O;N;N;NBGE;2022;25 RÉSIDENCE LES PALOMBES;62800;LIEVIN;+33698663620;Paulpoire19@gmail.com;paul_poire@ens.univ-artois.fr
|
||||
22203448;L1 Histoire;L1 Histoire;PONTIEUX;MANON;normal;N;O;N;N;NBGE;2022;15 RUE DU MOULIN;62182;HENDECOURT-LES-CAGNICOURT;+33673541792;pontieuxmanon4@gmail.com;
|
||||
22103207;L1 Histoire;L1 Histoire;POT;VALENTIN;normal;O;O;O;N;0021-indus;2018;754 rue gabriel péri;59194;ANHIERS;+33633239867;gweden59194@gmail.com;valentin_pot@ens.univ-artois.fr
|
||||
22204067;L1 Histoire;L1 Histoire;POUILLE;FLORINE;normal;O;O;N;N;NBGE;2022;9 RUE ANDRÉ MANCEY;62470;CALONNE-RICOUART;+33634361295;floflopouille2004@gmail.com;florine_pouille@ens.univ-artois.fr
|
||||
22204382;L1 Histoire;L1 Histoire;POULOT;ANAIS;normal;N;O;N;N;STMG-Man.G;2022;64 ROUTE DE BLOIS;41220;SAINT-LAURENT-NOUAN;+33665145289;anaispoulot39@gmail.com;
|
||||
22202818;L1 Histoire;L1 Histoire;POUX;THIBAUT;normal;O;O;N;N;NBGE;2022;2 RUE DE DOUAI;62490;TORTEQUESNE;+33611104289;thibautpoux87@gmail.com;thibaut_poux@ens.univ-artois.fr
|
||||
22200839;L1 Histoire;L1 Histoire;PROVO;LOGAN;normal;N;O;N;N;STI2D;2021;16 RUE DU BOURG;62196;HESDIGNEUL-LES-BETHUNE;+33788416262;logan.provo@gmail.com;
|
||||
22204311;L1 Histoire;L1 Histoire;PRUVOST;ASTRID;normal;N;O;N;N;NBGE;2022;84 RUE DE NICE;62540;MARLES-LES-MINES;+33695617454;astrid.pruvost04@gmail.com;
|
||||
22101474;L1 Histoire;L1 Histoire;PRUVOT;HUGO;normal;O;O;O;N;NBGE;2021;33 RUE DESCARTES;62000;DAINVILLE;+33781668302;hugoprvt89@gmail.com;hugo_pruvot@ens.univ-artois.fr
|
||||
22200784;L1 Histoire;L1 Histoire;PULLY;EMY;normal;O;O;N;N;NBGE;2022;24 RUE GASTON MIONT;62232;FOUQUEREUIL;+33622688551;pully.emy@gmail.com;emy_pully@ens.univ-artois.fr
|
||||
22201627;L1 Histoire;L1 Histoire;QUESSON;TRISTAN;normal;O;O;N;N;NBGE;2022;16 rue Sadi Carnot;62221;NOYELLES-SOUS-LENS;+33648486645;nquesson@noyelles.net;tristan_quesson@ens.univ-artois.fr
|
||||
22202430;L1 Histoire;L1 Histoire;QUESTE;LILIAN;normal;O;O;N;N;NBGE;2022;20 RUE DE LA PLACE;62120;MAMETZ;+33785751658;lilianqueste@gmail.com;lilian_queste@ens.univ-artois.fr
|
||||
22204261;L1 Histoire;L1 Histoire;RIQUET;THEOPHILE;normal;O;O;N;N;NBGE;2022;9 RUE BASSE BOULOGNE;62145;ENQUIN-LEZ-GUINEGATTE;+33630004456;toyo544@hotmail.com;theophile_riquet@ens.univ-artois.fr
|
||||
22202845;L1 Histoire;L1 Histoire;RITAINE;JULES;normal;O;O;N;N;NBGE;2022;19 rue du Temple;62000;ARRAS;+33627822776;julesritaine@gmail.com;jules_ritaine@ens.univ-artois.fr
|
||||
22202150;L1 Histoire;L1 Histoire;ROCCAZZELLA;BASTIEN;normal;O;O;N;N;NBGE;2022;196 RUE EDOUART VAILLANT;59450;SIN-LE-NOBLE;+33651701152;bastiendu59450@hotmail.com;bastien_roccazzella@ens.univ-artois.fr
|
||||
22101434;L1 Histoire;L1 Histoire;ROUSSEAU;CLAIRE;normal;O;O;N;N;NBGE;2021;26, rue Gambetta;62141;EVIN-MALMAISON;+33782732326;claire62141@gmail.com;claire_rousseau@ens.univ-artois.fr
|
||||
22203412;L1 Histoire;L1 Histoire;ROUZE;THEO;normal;O;O;N;N;NBGE;2022;1 RUE DE L'ESCAUT;62160;BULLY-LES-MINES;+33631446776;theo.rze@gmail.com;theo_rouze@ens.univ-artois.fr
|
||||
22103058;L1 Histoire;L1 Histoire;RYCKEWAERT;REMY;normal;O;O;O;N;NBGE;2021;11 rue de la réunion;62290;NOEUX-LES-MINES;+33767205966;remyryckewaert36@gmail.com;remy_ryckewaert@ens.univ-artois.fr
|
||||
22203943;L1 Histoire;L1 Histoire;SAINTYVES;NATHAN;normal;N;O;N;N;STMG-Man.G;2020;8 rue d'athènes;62000;ARRAS;+33662926299;nathan.saintyves@laposte.net;
|
||||
22201709;L1 Histoire;L1 Histoire;SECEMBER;ROMAIN;normal;O;O;N;N;NBGE;2022;16 RUE BREGUET;62530;HERSIN-COUPIGNY;+33622612077;romainsecember@gmail.com;romain_secember@ens.univ-artois.fr
|
||||
22203663;L1 Histoire;L1 Histoire;SEVIN;MAELLE;normal;O;O;N;N;NBGE;2022;2 TER RUE DUTOUQUET;62670;MAZINGARBE;+33687599337;maellesevin@laposte.net;maelle_sevin@ens.univ-artois.fr
|
||||
22203892;L1 Histoire;L1 Histoire;SKRZYPCZAK;MORGANE;normal;O;O;N;N;NBGE;2022;22 AVENUE DU 1ER MAI;62420;BILLY-MONTIGNY;+33626265495;skrzypczakmorgane@gmail.com;morgane_skrzypczak@ens.univ-artois.fr
|
||||
22204972;L1 Histoire;L1 Histoire;STEPHAN;ALEXIS;normal;O;O;N;N;0021-indus;2020;10 Rue Briquet Tailliandier;62000;ARRAS;0626811997;alexis.stephan22@gmail.com;alexis_stephan@ens.univ-artois.fr
|
||||
22201954;L1 Histoire;L1 Histoire;STOLARSKI;SAMUEL;normal;O;O;N;N;NBGE;2022;21 RUE LOUIS DOISY;62320;DROCOURT;+33626259243;samuel.stolarski@gmail.com;samuel_stolarski@ens.univ-artois.fr
|
||||
22202468;L1 Histoire;L1 Histoire;SZMIGECKI;ADRIEN;normal;O;O;N;N;NBGE;2022;44 RUE GUSTAVE DELOEIL;59119;WAZIERS;+33632390889;a.szmigecki@orange.fr;adrien_van-labeke@ens.univ-artois.fr
|
||||
22202825;L1 Histoire;L1 Histoire;SZPAK;PAOLINA;normal;O;O;N;N;STMG-Man.G;2022;4 rue saint édouard;62300;LENS;+33629777665;paolinaasz@gmail.com;paolina_szpak@ens.univ-artois.fr
|
||||
22104783;L1 Histoire;L1 Histoire;THERY;DYLAN;normal;O;O;O;N;STMG-Man.G;2021;2 RUE AUGUSTIN LOBRY;62117;BREBIERES;0767300481;dylanthery059@gmail.com;dylan_thery@ens.univ-artois.fr
|
||||
22203641;L1 Histoire;L1 Histoire;THOMAS;MAXENCE;normal;O;O;N;N;NBGE;2022;4, rue du president rene coty;62800;LIEVIN;+33767736799;maxencethomass@icloud.com;maxence_thomas@ens.univ-artois.fr
|
||||
22203421;L1 Histoire;L1 Histoire;TRUFFIER;CAMILLE;normal;O;O;N;N;NBGE;2022;224 RUE DE BAJUS;62460;DIEVAL;+33615912515;camilletruffier@hotmail.fr;camille_truffier@ens.univ-artois.fr
|
||||
22205250;L1 Histoire;L1 Histoire;VANDEVOORDE;JULIE;normal;N;O;N;N;NBGE;2021;24rés de la meunerie du chapitre;62223;SAINTE-CATHERINE;+33770337631;jujuvdv25@gmail.com;
|
||||
22104170;L1 Histoire;L1 Histoire;VASSEUR;ELSA;normal;O;O;O;N;NBGE;2021;13;59187;DECHY;0641129318;vasseurelsa1@gmail.com;elsa_vasseur1@ens.univ-artois.fr
|
||||
22204115;L1 Histoire;L1 Histoire;VASSEUR;VALENTIN;normal;N;O;N;N;STMG-Man.G;2020;9 rue mauriac;62880;ANNAY;+33664780769;Vasseurdu62880@gmail.com;
|
||||
22103895;L1 Histoire;L1 Histoire;VERDRON;ANGELIQUE;normal;N;O;O;N;STMG-Man.G;2017;48 Rue Daniel Langlet;62450;BAPAUME;0769043997;obey5931@gmail.com;angelique_verdron@ens.univ-artois.fr
|
||||
21907384;L1 Histoire;L1 Histoire;VERET;GINO;normal;N;O;N;N;0000-sans;;125 rue de la Brayelle ;59500;DOUAI;0627938143;gino.veret@gmail.com;gino_veret@ens.univ-artois.fr
|
||||
22200447;L1 Histoire;L1 Histoire;VERIN;TONY;normal;O;O;N;N;STMG-Man.G;2021;62 RUE JARZEMBOWSKI;62460;DIVION;+33647085933;verintony35@gmail.com;tony_verin@ens.univ-artois.fr
|
||||
22203606;L1 Histoire;L1 Histoire;VERWAERDE;FELIX;normal;O;O;N;N;NBGE;2022;8, RUE DU SAC;62128;HENIN-SUR-COJEUL;+33645831639;verwaerde.felix@gmail.com;felix_verwaerde@ens.univ-artois.fr
|
||||
22203872;L1 Histoire;L1 Histoire;VIAL;THOMAS;normal;N;O;N;N;NBGE;2022;425 BD FOSSE 2;62320;ROUVROY;0668056574;ludivineduquenoy@hotmail.fr;
|
||||
22202902;L1 Histoire;L1 Histoire;VIDELAINE;MAEL;normal;N;O;N;N;NBGE;2022;29 RUE JEAN JAURES;62580;GIVENCHY-EN-GOHELLE;+33767511370;mael.videlaine@gmail.com;
|
||||
20180323;L1 Histoire;L1 Histoire;VIGNACOURT;ADRIEN;normal;O;O;O;N;STMG-Man.G;2015;55B rue des déportés ;62157;ALLOUAGNE;0637557374;adrienvignacourt@gmail.com;adrien_vignacourt@ens.univ-artois.fr
|
||||
22202804;L1 Histoire;L1 Histoire;VISEUR;TYFFENE;normal;O;O;N;N;NBGE;2022;40 rue de la mairie;62217;MERCATEL;+33683004413;tyffenev62@gmail.com;tyffene_viseur@ens.univ-artois.fr
|
||||
22203278;L1 Histoire;L1 Histoire;WAVRANT;BAPTISTE;normal;O;O;N;N;NBGE;2022;1 RUE D'HAILLICOURT;62196;HESDIGNEUL-LES-BETHUNE;+33644301036;baptistew28@gmail.com;baptiste_wavrant@ens.univ-artois.fr
|
||||
22002192;L1 Histoire;L1 Histoire;WIERZYK;GAETAN;normal;O;O;O;N;L-littérat;2011;48 pavillon Bourges;62300;LENS;+0763642542;gaetan.wierzyk@outlook.fr;gaetan_wierzyk@ens.univ-artois.fr
|
||||
22201005;L1 Histoire;L1 Histoire;WILLART;ARTHUR;normal;O;O;N;N;NBGE;2022;206 RUE BASSE;62330;ISBERGUES;+33770025845;Arthur.willart62@gmail.com;arthur_willart@ens.univ-artois.fr
|
||||
22202378;L1 Histoire;L1 Histoire;WUJKOWSKI;THEO;normal;O;O;N;N;NBGE;2022;69 RUE DENFERT ROCHEREAU;62750;LOOS-EN-GOHELLE;+33783012065;Theowuj@gmail.com;theo_wujkowski@ens.univ-artois.fr
|
||||
22203036;L1 Histoire;L1 Histoire;ZAJAC;ALEXINE;normal;N;O;N;N;NBGE;2022;129 RUE J.LEFEBVRE;62660;BEUVRY;+33616405609;alex129zjc@gmail.com;
|
||||
21901536;L2 Géo et amé _ Aménag.;L2 Géographie et aménagement _ Aménagement;ABDOUN;AHMED;normal;O;O;N;N;S-Sciences;2019;173 AVENUE WINSTON CHURCHILL;62000;ARRAS;+33695538620;mounirabdoun62@gmail.com;ahmed_abdoun@ens.univ-artois.fr
|
||||
22004433;L2 Géo et amé _ Aménag.;L2 Géographie et aménagement _ Aménagement;BACROT-RICQ;SAHTEENE;normal;O;O;O;N;ES-Eco;2020;177 AVENUE DE PARIS;62980;NOYELLES-LES-VERMELLES;0609127582;sahteene.bacrotricq@gmail.com;sahteene_bacrot-ricq@ens.univ-artois.fr
|
||||
21903683;L2 Géo et amé _ Aménag.;L2 Géographie et aménagement _ Aménagement;BAILLEUL;GAUTHIER;normal;O;O;N;N;L-littérat;2019;18 RUE DU PROFOND CHEMIN;62117;BREBIERES;0783615617;gauthier.bailleul15@gmail.com;gauthier_bailleul@ens.univ-artois.fr
|
||||
22101784;L2 Géo et amé _ Aménag.;L2 Géographie et aménagement _ Aménagement;BAJARD;ALEX;normal;O;O;N;N;NBGE;2021;4 rue Margueritaire;62860;QUEANT;+33643647412;alex.bajard05@gmail.com;alex_bajard@ens.univ-artois.fr
|
||||
22101063;L2 Géo et amé _ Aménag.;L2 Géographie et aménagement _ Aménagement;BATORI;MARIUS;normal;O;O;N;N;NBGE;2021;115 Rue du Commandant Dumetz;62000;ARRAS;+33786934924;marius.batori1@gmail.com;marius_batori@ens.univ-artois.fr
|
||||
22102994;L2 Géo et amé _ Aménag.;L2 Géographie et aménagement _ Aménagement;BIAUSSE;THEO;normal;O;O;N;N;NBGE;2021;309, Rue Jules Ferry;59283;RAIMBEAUCOURT;+33674530481;biausse.theo@gmail.com;theo_biausse@ens.univ-artois.fr
|
||||
22100147;L2 Géo et amé _ Aménag.;L2 Géographie et aménagement _ Aménagement;COCQUEMPOT;THEO;normal;O;O;N;N;STAV;2019;608 Rue de la chapelle;62610;BREMES;+33616937490;theococq2@outlook.fr;theo_cocquempot@ens.univ-artois.fr
|
||||
22101333;L2 Géo et amé _ Aménag.;L2 Géographie et aménagement _ Aménagement;COURTOIS;LIONEL;normal;O;O;N;N;STAV;2019;22 rue de Saint-Omer;62145;ENQUIN-LEZ-GUINEGATTE;+33664247598;lionelcourtois99@gmail.com;lionel_courtois@ens.univ-artois.fr
|
||||
22100516;L2 Géo et amé _ Aménag.;L2 Géographie et aménagement _ Aménagement;DEMAUBUS;CHARLES;normal;N;O;N;N;NBGE;2021;8 DOMAINE DE LA ROUE;62223;SAINTE-CATHERINE;+33785543727;charles.demaubus@icloud.com;charles_demaubus@ens.univ-artois.fr
|
||||
22002645;L2 Géo et amé _ Aménag.;L2 Géographie et aménagement _ Aménagement;DENYS;BENOIT;normal;O;O;N;N;ES-Eco;2020;19, Rue Alfred de Musset;24000;PERIGUEUX;+33659689175;benoit.denys62@gmail.com;benoit_denys@ens.univ-artois.fr
|
||||
22104285;L2 Géo et amé _ Aménag.;L2 Géographie et aménagement _ Aménagement;DESSENNE;LEO;normal;O;O;N;N;NBGE;2021;Résidence Saint Jean;62000;ARRAS;+33611900434;leodessenne@gmail.com;leo_dessenne@ens.univ-artois.fr
|
||||
22104649;L2 Géo et amé _ Aménag.;L2 Géographie et aménagement _ Aménagement;GEUNS;ANTOINE;normal;O;O;N;N;NBGE;2021;846 AVENUE DU GENERAL DE GAULLE;59167;LALLAING;+33663033669;antoine.geuns@gmail.com;antoine_geuns@ens.univ-artois.fr
|
||||
22101765;L2 Géo et amé _ Aménag.;L2 Géographie et aménagement _ Aménagement;HANNEDOUCHE;CELIA;normal;O;O;N;N;NBGE;2021;8 RUE ACHILLE HIBON;62540;LOZINGHEM;+33782553649;celiahde@gmail.com;celia_hannedouche@ens.univ-artois.fr
|
||||
22105424;L2 Géo et amé _ Aménag.;L2 Géographie et aménagement _ Aménagement;HARLE;SACHA;normal;O;O;N;N;STAV;2019;103 rue Jean-Marie Dannel;62610;ARDRES;+33782252397;sacha.harle13@gmail.com;sacha_harle@ens.univ-artois.fr
|
||||
22102044;L2 Géo et amé _ Aménag.;L2 Géographie et aménagement _ Aménagement;JOLY;EA;normal;O;O;N;N;NBGE;2021;27 RUE DU ROUSSILLON;62000;ARRAS;+33627335775;jolco@laposte.net;ea_joly@ens.univ-artois.fr
|
||||
20180274;L2 Géo et amé _ Aménag.;L2 Géographie et aménagement _ Aménagement;LEFEBVRE;DYLAN;normal;O;O;N;N;L-littérat;2018;159 rue Molière;62300;LENS;0767722197;lefebvre.artois@gmail.com;dylan_lefebvre@ens.univ-artois.fr
|
||||
22001693;L2 Géo et amé _ Aménag.;L2 Géographie et aménagement _ Aménagement;LHERBIER;NOA;normal;O;O;N;N;ES-Eco;2020;71 AVENUE DE FRANCE;62680;MERICOURT;+33625211551;noa.62lherbier@gmail.com;noa_lherbier@ens.univ-artois.fr
|
||||
22103340;L2 Géo et amé _ Aménag.;L2 Géographie et aménagement _ Aménagement;LOUCHART;HUGO;normal;O;O;N;N;NBGE;2021;65 RUE DE SAINT POL;62550;PERNES;0782856387;hugo62550louchart@gmail.com;hugo_louchart@ens.univ-artois.fr
|
||||
22003368;L2 Géo et amé _ Aménag.;L2 Géographie et aménagement _ Aménagement;MESSEANT;THOMAS;AJAC;N;N;O;N;S-Sciences;2020;46, RUE GEORGE SAND;62223;SAINT-LAURENT-BLANGY;+33783735587;thomasm132701@gmail.com;thomas_messeant@ens.univ-artois.fr
|
||||
22000060;L2 Géo et amé _ Aménag.;L2 Géographie et aménagement _ Aménagement;MOUVET;QUENTIN;normal;O;O;N;N;S-Sciences;2020;7 RUE THIERS;62880;ANNAY;+33699467556;quentin.mouvet@live.com;quentin_mouvet@ens.univ-artois.fr
|
||||
22105260;L2 Géo et amé _ Aménag.;L2 Géographie et aménagement _ Aménagement;MRUGALSKI;BAPTISTE;normal;O;O;N;N;L-littérat;2018;8 Bis Route Nationale;62580;NEUVILLE-SAINT-VAAST;+33666479755;mrugalski.baptiste@outlook.fr;baptiste_mrugalski@ens.univ-artois.fr
|
||||
22003745;L2 Géo et amé _ Aménag.;L2 Géographie et aménagement _ Aménagement;PONTHIEU;LOGAN;AJAC;O;N;O;N;STAV;2020;Rue de Bruxelles;62000;ARRAS;+33667375260;logan.ponthieu@gmail.com;logan_ponthieu@ens.univ-artois.fr
|
||||
22005850;L2 Géo et amé _ Aménag.;L2 Géographie et aménagement _ Aménagement;SERGEANT;CLEMENT;normal;N;O;N;N;0021-indus;2019;18 rue gay lussac;62218;LOISON-SOUS-LENS;+33749187208;clementsergeant.pro@gmail.com;clement_sergeant@ens.univ-artois.fr
|
||||
22000345;L2 Géo et amé _ Aménag.;L2 Géographie et aménagement _ Aménagement;TAVERNE;THOMAS;normal;O;O;N;N;ES-Eco;2020;1 TER ROUTE NATIONALE;62260;CAUCHY-A-LA-TOUR;0649347267;annette6307@outlook.fr;thomas_taverne@ens.univ-artois.fr
|
||||
22007350;L2 Histoire;L2 Histoire;BACOT;SYLVAIN;normal;O;O;N;N;0022-terti;2020;34 RÉSIDENCE JEAN POPEREN;62217;BEAURAINS;+33682254729;sylvainbacot2@gmail.com;sylvain_bacot@ens.univ-artois.fr
|
||||
22103290;L2 Histoire;L2 Histoire;BAILLEUL;ANTHONY;normal;O;O;N;N;NBGE;2021;14 RUE JEAN DESENNE;62410;HULLUCH;0617879411;anthonybailleul15@gmail.com;anthony_bailleul2@ens.univ-artois.fr
|
||||
22102207;L2 Histoire;L2 Histoire;BAUX;GAETANE;normal;O;O;N;N;NBGE;2021;14 rue aux ours;62000;ARRAS;+33640643358;Bauxgaetane@orange.fr;gaetane_baux@ens.univ-artois.fr
|
||||
22104248;L2 Histoire;L2 Histoire;BOUCHER;MADISON;normal;O;O;N;N;NBGE;2021;5 RUE DU GÉNÉRAL JOUBERT;62460;DIVION;+33646538432;madison.boucher.anya@gmail.com;madison_boucher@ens.univ-artois.fr
|
||||
22001171;L2 Histoire;L2 Histoire;BRIQUET;KATHLEEN;AJAC;O;O;O;N;ST2S;2020;83 rue hélène boucher appt 235;59500;DOUAI;0603820622;kath.bqt@gmail.com;kathleen_briquet@ens.univ-artois.fr
|
||||
22004505;L2 Histoire;L2 Histoire;BROUTIN;MAXIME;normal;O;O;N;N;L-littérat;2020;20 CHEMIN DU BRACHEUIL;62860;ECOURT-SAINT-QUENTIN;+33783501244;Stendhalstarliena222@gmail.com;maxime_broutin@ens.univ-artois.fr
|
||||
22103672;L2 Histoire;L2 Histoire;BURLET;THEO;normal;O;O;N;N;NBGE;2021;318 rue Marc Lanvin;59287;GUESNAIN;+33749325468;thehotep.b@gmail.com;theo_burlet@ens.univ-artois.fr
|
||||
22101274;L2 Histoire;L2 Histoire;CABRITO LEITAO;CORENTIN;normal;O;O;N;N;NBGE;2021;97 RUE SAINT EXUPERY;80300;ALBERT;+33782990068;corentin.cabrito80@gmail.com;corentin_cabritoleitao@ens.univ-artois.fr
|
||||
22105310;L2 Histoire;L2 Histoire;CAPLAIN;EMMA;normal;O;O;N;N;NBGE;2021;31 rue Victor Hugo;62300;LENS;+33635217109;capem1801@gmail.com;emma_caplain@ens.univ-artois.fr
|
||||
22103880;L2 Histoire;L2 Histoire;CARON;ALEXIS;normal;O;O;N;N;NBGE;2021;27 RUE HAUTE;08090;THIS;+33673718485;ahelix@orange.fr;alexis_caron4@ens.univ-artois.fr
|
||||
22102626;L2 Histoire;L2 Histoire;CHARLES;AXELLE;normal;O;O;N;N;NBGE;2021;63 RUE DES PYRÉNÉES;62700;BRUAY-LA-BUISSIERE;+33750443377;axelle.charles13@gmail.com;axelle_charles@ens.univ-artois.fr
|
||||
22100253;L2 Histoire;L2 Histoire;CLAMOT;REMI;normal;O;O;N;N;NBGE;2021;99 RUE CONDORCET;59171;ERRE;+33676630175;remi.clamot@gmail.com;remi_clamot@ens.univ-artois.fr
|
||||
22000636;L2 Histoire;L2 Histoire;CLERBOUT;THOMAS;AJAC;N;N;O;N;STI2D;2017;42 rue MARECHAL FOCH;62330;ISBERGUES;+33603525977;thomas.clerbout62@gmail.com;thomas_clerbout@ens.univ-artois.fr
|
||||
22102206;L2 Histoire;L2 Histoire;COCRELLE;ALEXANDRE;AJAC;N;O;N;N;NBGE;2021;2 CHAUSSÉE D'ARRAS;02490;PONTRUET;+33601882585;alexandrecocrelle@gmail.com;alexandre_cocrelle@ens.univ-artois.fr
|
||||
22101243;L2 Histoire;L2 Histoire;CUVILLIER;MARIE;normal;N;O;N;N;NBGE;2021;20 PLACE DU 8 MAI 1945;80600;LUCHEUX;+33783355744;mcuvillier03@gmail.com;marie_cuvillier@ens.univ-artois.fr
|
||||
22001667;L2 Histoire;L2 Histoire;DARRAS;BENOIT;AJAC;O;O;O;N;STMG-Man.G;2020;106 RÉSIDENCE JEAN-MARIE DARRAS;62113;LABOURSE;0781960969;benoitdarras62113@gmail.com;benoit_darras@ens.univ-artois.fr
|
||||
22102724;L2 Histoire;L2 Histoire;DECLERCQ;CAMILLE;normal;O;O;N;N;NBGE;2021;109 RUE VICTOR HUGO;59450;SIN-LE-NOBLE;+33787015079;camilledeclercq0509@gmail.com;camille_declercq2@ens.univ-artois.fr
|
||||
22104789;L2 Histoire;L2 Histoire;DECOOP;ROMAIN;normal;O;O;N;N;NBGE;2021;55 ROUTE NATIONALE;62980;VERMELLES;+33768182890;romain.decoop@gmail.com;romain_decoop@ens.univ-artois.fr
|
||||
22000234;L2 Histoire;L2 Histoire;DECOUPIGNY;MAXENCE;AJAC;O;O;N;N;ES-Eco;2020;8 BIS RUE GAMBETTA;62144;CARENCY;+33782199557;maxencedecoupigny2002@orange.fr;maxence_decoupigny@ens.univ-artois.fr
|
||||
22101300;L2 Histoire;L2 Histoire;DECROUY;LEO;normal;O;O;N;N;NBGE;2021;4 RUE DES BAINS NAUCHES;08700;NEUFMANIL;+33648151927;leo.decrouy@live.fr;leo_decrouy@ens.univ-artois.fr
|
||||
22101080;L2 Histoire;L2 Histoire;DELAFONT;CALYPSO;normal;O;O;N;N;NBGE;2021;32 RUE DU CHARDON VERT;02420;SEQUEHART;+33635156913;delafontcalypso@gmail.com;calypso_delafont@ens.univ-artois.fr
|
||||
22102742;L2 Histoire;L2 Histoire;DELMARRE;ANTOINE;normal;O;O;N;N;NBGE;2021;126 ROUTE DE DIVION;62150;HOUDAIN;+33641527536;a.delmarre@yahoo.com;antoine_delmarre@ens.univ-artois.fr
|
||||
22107941;L2 Histoire;L2 Histoire;DEMESSE;PIERRE;normal;O;O;N;N;NBGE;2021;26 rue Pierre Curie;62217;ACHICOURT;0651654261;demessepierre@gmail.com;pierre_demesse@ens.univ-artois.fr
|
||||
22100278;L2 Histoire;L2 Histoire;DEPROYART;YANN;normal;O;O;N;N;NBGE;2021;13 ALLEE GEORGES BRASSENS;59190;HAZEBROUCK;+33641295072;yanndeproyart1@gmail.com;yann_deproyart@ens.univ-artois.fr
|
||||
22102307;L2 Histoire;L2 Histoire;DESFACHELLES;LUCAS;normal;O;O;N;N;NBGE;2021;169 RUE DES LUCIOLES;62700;BRUAY-LA-BUISSIERE;+33636486034;lucas.desfachelles@gmail.com;lucas_desfachelles@ens.univ-artois.fr
|
||||
22101091;L2 Histoire;L2 Histoire;DESSENNE;ENGUERRAN;normal;O;O;N;N;NBGE;2021;2 RUE DU COLONEL FABIEN;59730;SOLESMES;+33633099428;enguelulu@gmail.com;enguerran_dessenne@ens.univ-artois.fr
|
||||
22100913;L2 Histoire;L2 Histoire;DICQUE;LEA;normal;O;O;N;N;NBGE;2021; 3;62000;ARRAS;+33630630134;leadicque1@gmail.com;lea_dicque@ens.univ-artois.fr
|
||||
22101639;L2 Histoire;L2 Histoire;DIERENS;JASON;AJAC;O;O;N;N;NBGE;2021;19 RUE DE LA GARE;62690;AGNIERES;+33636175991;dierensjason3@gmail.com;jason_dierens@ens.univ-artois.fr
|
||||
22102324;L2 Histoire;L2 Histoire;DIEU;AXELLE;normal;O;O;N;N;NBGE;2021;160 RUE DES CHASSES MAREES;80210;AIGNEVILLE;+33621903920;axelle300803@gmail.com;axelle_dieu@ens.univ-artois.fr
|
||||
22102299;L2 Histoire;L2 Histoire;DUEZ;YANIS;normal;O;O;N;N;NBGE;2021;378 RUE DU MARÉCHAL LECLERC;59552;LAMBRES-LEZ-DOUAI;+33781589713;zetun@free.fr;yanis_duez@ens.univ-artois.fr
|
||||
22100929;L2 Histoire;L2 Histoire;DUMORTIER;ALESSIO;normal;O;O;N;N;NBGE;2021;4 RUE DE LA GÉHARIE;62150;HOUDAIN;+33678161504;alessio.dumortier1@gmail.com;alessio_dumortier@ens.univ-artois.fr
|
||||
22105178;L2 Histoire;L2 Histoire;DUQUESNE;SOPHIA;normal;O;O;N;N;NBGE;2021;19TER ROUTE NATIONALE;62260;CAUCHY-A-LA-TOUR;+33674661554;so.duk@orange.fr;sophia_duquesne@ens.univ-artois.fr
|
||||
22100310;L2 Histoire;L2 Histoire;FACON;ANAIS;normal;O;O;N;N;NBGE;2021;12 rue Raoul François;62000;ARRAS;+33684747588;anaisfa59115@gmail.com;anais_facon2@ens.univ-artois.fr
|
||||
22101772;L2 Histoire;L2 Histoire;FISTEBERG;NOHAN;normal;O;O;N;N;NBGE;2021;33 rue d'Hamblain;62156;BOIRY-NOTRE-DAME;0652130468;nohan.fisteberg.7@gmail.com;nohan_fisteberg@ens.univ-artois.fr
|
||||
22103149;L2 Histoire;L2 Histoire;FOURNIER;FLORIAN;normal;O;O;N;N;NBGE;2021;116 rue Simone Veil;62217;BEAURAINS;+33782948514;Florianfournier62.FF@gmail.com;florian_fournier@ens.univ-artois.fr
|
||||
22106963;L2 Histoire;L2 Histoire;GADEYNE;SÉBASTIEN;normal;O;O;N;N;ES-Eco;2001;11 Faubourg de Péronne;62450;BAPAUME;0661710394;gadeyne.seb@gmail.com;sebastien_gadeyne@ens.univ-artois.fr
|
||||
22001645;L2 Histoire;L2 Histoire;GALANT;MARGOT;normal;O;O;N;N;ES-Eco;2020;17 RUE D'ABBEVILLE;62800;LIEVIN;+33609552699;margot.galant2217@gmail.com;margot_galant@ens.univ-artois.fr
|
||||
22105195;L2 Histoire;L2 Histoire;GALLE;FIONA;normal;O;O;N;N;NBGE;2021;233 RUE DE PARIS;62980;NOYELLES-LES-VERMELLES;0616621451;fionagalle.fg@gmail.com;fiona_galle@ens.univ-artois.fr
|
||||
22102337;L2 Histoire;L2 Histoire;GALLET;LOUIS;normal;O;O;N;N;NBGE;2021;90 RUE Alexandre Ponnelle;62400;BETHUNE;0623813365;gallet.louis150103@gmail.com;louis_gallet@ens.univ-artois.fr
|
||||
22100715;L2 Histoire;L2 Histoire;GANTIEZ;MARINE;normal;O;O;N;N;NBGE;2021;28, RUE DE BUFFON;62300;LENS;+33634117703;gantiez@icloud.com;marine_gantiez@ens.univ-artois.fr
|
||||
22100722;L2 Histoire;L2 Histoire;GARNIER;JUSTINE;normal;O;O;N;N;NBGE;2021;9 rue BEAUMARCHAIS;62000;ARRAS;+33783729980;justine.garnier2003@laposte.net;justine_garnier1@ens.univ-artois.fr
|
||||
22101802;L2 Histoire;L2 Histoire;GLENNON;EVAN;normal;O;O;N;N;NBGE;2021;16 RUE AMEDEE DOUTREMEPUICH;62223;SAINT-LAURENT-BLANGY;+33783051782;glennon.carole@gmail.com;evan_glennon@ens.univ-artois.fr
|
||||
22101622;L2 Histoire;L2 Histoire;GUIDEZ;AUDREY;normal;O;O;N;N;NBGE;2021;20 ROUTE NATIONALE;62121;ERVILLERS;+33673963136;audflo@orange.fr;audrey_guidez@ens.univ-artois.fr
|
||||
22100487;L2 Histoire;L2 Histoire;GUILBERT;JADE;AJAC;O;O;N;N;NBGE;2021;9 ROUTE DE MÉRICOURT;62420;BILLY-MONTIGNY;+33781006038;gaetanguilbert@orange.fr;jade_guilbert@ens.univ-artois.fr
|
||||
22000022;L2 Histoire;L2 Histoire;GUINCHI;MATTEO;normal;O;O;N;N;ES-Eco;2020;42 RUE STANISLAS LUKOWIAK;59182;MONTIGNY-EN-OSTREVENT;0781571565;jean-christophe.guinchi@laposte.net;matteo_guinchi@ens.univ-artois.fr
|
||||
22105025;L2 Histoire;L2 Histoire;HARMANT;MANON;normal;O;O;N;N;NBGE;2021;52 RESIDENCE LES HIRSONS;62800;LIEVIN;+33754841967;manonhrmt291203@gmail.com;manon_harmant@ens.univ-artois.fr
|
||||
22002141;L2 Histoire;L2 Histoire;HEBANT;CLEMENT;normal;O;O;N;N;ST2S;2019;32 RUE D ECURIE;62223;ROCLINCOURT;+33689548574;clem.heb.2001.62@gmail.com;clement_hebant@ens.univ-artois.fr
|
||||
22000869;L2 Histoire;L2 Histoire;HENAUT;LAURA;normal;O;O;N;N;S-Sciences;2020;431 A rue principale;62920;CHOCQUES;0768012219;laurabeuvry@hotmail.com;laura_henaut@ens.univ-artois.fr
|
||||
22001204;L2 Histoire;L2 Histoire;HENIART;ROMAIN;AJAC;O;O;N;N;0021-indus;2018;17 Rue des Glatignies;62660;BEUVRY;+33648378941;r.heniart@gmail.com;romain_heniart@ens.univ-artois.fr
|
||||
22100442;L2 Histoire;L2 Histoire;HUOT;JUSTINE;normal;O;O;N;N;NBGE;2021;22 rue de Rochefort;62114;SAINS-EN-GOHELLE;+33769915840;justinehuot62@gmail.com;justine_huot@ens.univ-artois.fr
|
||||
22100443;L2 Histoire;L2 Histoire;HUOT;CHLOE;normal;O;O;N;N;NBGE;2021;22 rue de rochefort;62114;SAINS-EN-GOHELLE;0749629579;chloehuot62@gmail.com;chloe_huot@ens.univ-artois.fr
|
||||
22102039;L2 Histoire;L2 Histoire;JEANNETEAU;CEDRIC;normal;O;O;N;N;NBGE;2021;9 RUE DE L'ESTRÉE;62410;MEURCHIN;+33658874620;cedric.jeanneteau@gmail.com;cedric_jeanneteau@ens.univ-artois.fr
|
||||
22102275;L2 Histoire;L2 Histoire;KOWALK;MAXIME;normal;O;O;N;N;NBGE;2021;1 RUE CHENIER;62670;MAZINGARBE;+33782223528;maxko260219@gmail.com;maxime_kowalk@ens.univ-artois.fr
|
||||
22102585;L2 Histoire;L2 Histoire;LAVIE;BENJAMIN;normal;O;O;N;N;NBGE;2021;62 RUE DU FROMENT;62370;NOUVELLE-EGLISE;+33782877642;benji.lavie62@gmail.com;benjamin_lavie@ens.univ-artois.fr
|
||||
22002850;L2 Histoire;L2 Histoire;LECOCQ;HUGO;normal;O;O;N;N;S-Sciences;2020;4 RUE DU SMETZ;62120;CAMPAGNE-LES-WARDRECQUES;+33782644191;hugolecocq2111@gmail.com;hugo_lecocq@ens.univ-artois.fr
|
||||
22101678;L2 Histoire;L2 Histoire;LEMAIRE;FANNY;normal;O;O;N;N;NBGE;2021;2 RUE DE L'YSER;62400;BETHUNE;+33782150308;lemairefanny4@gmail.com;fanny_lemaire@ens.univ-artois.fr
|
||||
22103509;L2 Histoire;L2 Histoire;LEMAIRE;LAURYNE;AJAC;O;O;N;N;NBGE;2021;22 RUE DES TEINTURIERES;62217;AGNY;0645322326;lemairelauryne30@icloud.com;lauryne_lemaire@ens.univ-artois.fr
|
||||
22103422;L2 Histoire;L2 Histoire;LEMOINE;ENZO;AJAC;N;O;N;N;NBGE;2021;43 RUE D'HOUDAIN;62620;MAISNIL-LES-RUITZ;+33762737981;enzolemoine62@gmail.com;enzo_lemoine@ens.univ-artois.fr
|
||||
22103761;L2 Histoire;L2 Histoire;LEPARREE;MATHIEU;normal;O;O;N;N;NBGE;2021;39 RUE DE LA CONCORDE;62121;ACHIET-LE-GRAND;+33772356206;math.leparree@gmail.com;mathieu_leparree@ens.univ-artois.fr
|
||||
22100670;L2 Histoire;L2 Histoire;LEROUGE;LEA-MARIE;AJAC;O;O;N;N;NBGE;2021;68 RUE DU CURÉ;59141;THUN-L'EVEQUE;+33645156272;leamarielerouge@gmail.com;lea-marie_lerouge@ens.univ-artois.fr
|
||||
22100235;L2 Histoire;L2 Histoire;LEROUX;THOMAS;normal;O;O;N;N;NBGE;2021;2 RUE DU DAUPHINE;62410;WINGLES;+33638029143;thomaslrx@yahoo.com;thomas_leroux2@ens.univ-artois.fr
|
||||
22109211;L2 Histoire;L2 Histoire;LESAGE;YOAN;normal;O;O;N;N;NBGE;2021;27 Rue Arthur Lamendin;62970;COURCELLES-LES-LENS;07 66 53 21 73;yoanlesage18@gmail.com;yoan_lesage@ens.univ-artois.fr
|
||||
22100233;L2 Histoire;L2 Histoire;LHERBIER;LOIC;AJAC;O;O;N;N;NBGE;2021;26 RUE PAUL ELUARD;62430;SALLAUMINES;+33782638494;loiclherbier717@gmail.com;loic_lherbier@ens.univ-artois.fr
|
||||
22102635;L2 Histoire;L2 Histoire;LOIRE;MATHILDE;normal;O;O;N;N;NBGE;2021;21 RUE DU 11 NOVEMBRE;62172;BOUVIGNY-BOYEFFLES;+33769773323;mathilde-ca.loire@laposte.net;mathilde_loire@ens.univ-artois.fr
|
||||
22100291;L2 Histoire;L2 Histoire;LOTELLIER;OPHELIE;normal;O;O;N;N;NBGE;2021;552 rue d'houvin;62270;MONCHEAUX-LES-FREVENT;0611824225;Lotellier.ophelie03@gmail.com;ophelie_lotellier@ens.univ-artois.fr
|
||||
22102527;L2 Histoire;L2 Histoire;LUDWIG;LOUIS;normal;O;O;N;N;NBGE;2021;6 RUE ROGER SALENGRO;62310;FRUGES;+33768583240;Nobitamo1@gmail.com;louis_ludwig@ens.univ-artois.fr
|
||||
22102534;L2 Histoire;L2 Histoire;MAKHLOUFI;JULIAN;normal;O;O;N;N;NBGE;2021;8a rue Berthelot;62530;HERSIN-COUPIGNY;+33614165135;julianmakhloufi1903@gmail.com;julian_makhloufi@ens.univ-artois.fr
|
||||
22100446;L2 Histoire;L2 Histoire;MATHIEU;MAREVA;normal;O;O;N;N;NBGE;2021;3 RUE DU PARADIS AUX CHEVAUX;62161;MAROEUIL;+33643863802;mareva.math14@gmail.com;mareva_mathieu@ens.univ-artois.fr
|
||||
22000259;L2 Histoire;L2 Histoire;OWCZAREK;JEAN-CHARLES;normal;O;O;N;N;0021-indus;2016;275 Rue d'Houdain;62620;BARLIN;+33650652922;j-c.o@hotmail.fr;jean-charles_owczarek@ens.univ-artois.fr
|
||||
22101017;L2 Histoire;L2 Histoire;PAIE;AXELLE;normal;O;O;N;N;NBGE;2021;9 RUE BERTHOLET;62210;AVION;+33788444229;paie.axelle20@gmail.com;axelle_paie@ens.univ-artois.fr
|
||||
22005275;L2 Histoire;L2 Histoire;PAPA;ALEXIS;normal;O;O;N;N;ES-Eco;2020;10 rue d'enquin, Ligny-lès-Aires;62960;LIGNY-LES-AIRE;+33635561105;alexispapa2002@gmail.com;alexis_papa@ens.univ-artois.fr
|
||||
22101164;L2 Histoire;L2 Histoire;PESCHAUD;CHARLOTTE;normal;O;O;N;N;NBGE;2021;74 rue Léon Gambetta;62000;ARRAS;0688153596;charlotte.peschaud@gmail.com;charlotte_peschaud@ens.univ-artois.fr
|
||||
22101151;L2 Histoire;L2 Histoire;PLAQUIN;EMMY;normal;O;O;N;N;NBGE;2021;90 rue de Masny;59165;AUBERCHICOURT;+33782370737;emmyplaq1@gmail.com;emmy_plaquin@ens.univ-artois.fr
|
||||
22101448;L2 Histoire;L2 Histoire;POISON;TRISTAN;normal;O;O;N;N;NBGE;2021;33 RUE MARIN LA MESLÉE;62100;CALAIS;+33627246073;tristan.tp62@gmail.com;tristan_poison@ens.univ-artois.fr
|
||||
22100472;L2 Histoire;L2 Histoire;PONTOIS;NOAH;AJAC;O;O;N;N;S-Sciences;2020;1 bis rue Emile Didier;62000;ARRAS;+33782548931;noahpontois@gmail.com;noah_pontois@ens.univ-artois.fr
|
||||
21906793;L2 Histoire;L2 Histoire;QUINION;LUDIVINE;normal;O;O;N;N;S-Sciences;2019;6 RUE GALILEE;62000;ARRAS;+33787995638;ludiquinion@gmail.com;ludivine_quinion@ens.univ-artois.fr
|
||||
22102535;L2 Histoire;L2 Histoire;RAIMBEAUX;MARIE;normal;O;O;N;N;NBGE;2021;87 RUE VOLTAIRE;08000;CHARLEVILLE-MEZIERES;+33641556353;marie.raimbeaux@orange.fr;marie_raimbeaux@ens.univ-artois.fr
|
||||
22101925;L2 Histoire;L2 Histoire;RENAUX;CORENTIN;normal;O;O;N;N;NBGE;2021;261 sentier de Boisencourt;62232;HINGES;0767433563;corentinrenaux2@gmail.com;corentin_renaux@ens.univ-artois.fr
|
||||
22000123;L2 Histoire;L2 Histoire;RICART;DAVID;normal;O;O;N;N;L-littérat;2020;18 RUE DES GUERETS;62400;BETHUNE;+33631487720;pidix.62@orange.fr;david_ricart@ens.univ-artois.fr
|
||||
22004346;L2 Histoire;L2 Histoire;ROBA;JOHAN;normal;N;O;N;N;ES-Eco;2020;16 E PLACE DE FLAKENSTEIN;62440;HARNES;+33684348971;robajohan@gmail.com;johan_roba@ens.univ-artois.fr
|
||||
22103758;L2 Histoire;L2 Histoire;ROBIN;GLADYS;normal;O;O;N;N;NBGE;2021;2 RUE NEUVE;62121;BIHUCOURT;+33782588075;gladysrob03@gmail.com;gladys_robin@ens.univ-artois.fr
|
||||
22100379;L2 Histoire;L2 Histoire;ROUSSEL;MATHIS;normal;O;O;N;N;NBGE;2021;72 rue d hesdin;62770;BLANGY-SUR-TERNOISE;+33786168923;mathis.roussel2507@gmail.com;mathis_roussel@ens.univ-artois.fr
|
||||
22102926;L2 Histoire;L2 Histoire;SANTHUNE;AXEL;normal;O;O;N;N;NBGE;2021;202 RUE JEAN JAURES;62160;BULLY-LES-MINES;0661869018;axel.snth@gmail.com;axel_santhune@ens.univ-artois.fr
|
||||
22101887;L2 Histoire;L2 Histoire;SAVARY;LUCAS;normal;O;O;N;N;NBGE;2021;1 RUE DU LAOS;62160;GRENAY;+33782835878;lucas.savary4@gmail.com;lucas_savary1@ens.univ-artois.fr
|
||||
22101152;L2 Histoire;L2 Histoire;SEDIRA;SOFIAN;normal;O;O;N;N;NBGE;2021;11 rue renard;59220;DENAIN;0777931730;sofian.sedira@laposte.net;sofian_sedira@ens.univ-artois.fr
|
||||
22005880;L2 Histoire;L2 Histoire;SIGGILLINO;LAURA;normal;O;O;N;N;L-littérat;2020;27 RUE VAN DER MEERSCH;62320;ROUVROY;0644984819;laurasiggillino2@gmail.com;laura_siggillino@ens.univ-artois.fr
|
||||
22100661;L2 Histoire;L2 Histoire;STRZELEWICZ;FLAVIE;normal;O;O;N;N;NBGE;2021;5 ALLÉE DES MANDARINS;62210;AVION;+33769397064;Strzelewiczflavie@gmail.com;flavie_strzelewicz@ens.univ-artois.fr
|
||||
22100825;L2 Histoire;L2 Histoire;SZYMCZAK;JEAN;AJAC;O;O;N;N;NBGE;2021;110 RUE LÉON BLUM;62218;LOISON-SOUS-LENS;+33782584979;jean.simon.szymczak@gmail.com;jean_szymczak@ens.univ-artois.fr
|
||||
22101917;L2 Histoire;L2 Histoire;TEDESCHI;LIVIO;normal;O;O;N;N;NBGE;2021;20 rue Arthur Mayeur;62172;BOUVIGNY-BOYEFFLES;0698187828;livio62.tedeschi@laposte.net;livio_tedeschi@ens.univ-artois.fr
|
||||
22104564;L2 Histoire;L2 Histoire;TESO;LEO;normal;O;O;N;N;NBGE;2021;11 RUE JEAN JACQUES ROUSSEAU;62114;SAINS-EN-GOHELLE;0625796390;teso.pro.renov@gmail.com;leo_teso@ens.univ-artois.fr
|
||||
22101143;L2 Histoire;L2 Histoire;TONNOIR;CAMILLE;normal;N;O;N;N;NBGE;2021;1 RUE GAMBETTA;62740;FOUQUIERES-LES-LENS;+33784063482;camille.tonnoir@sfr.fr;camille_tonnoir@ens.univ-artois.fr
|
||||
22004177;L2 Histoire;L2 Histoire;TRENET;AMELINE;AJAC;O;O;N;N;ES-Eco;2020;5 rue de Laon;62430;SALLAUMINES;0631888451;ameline7trenet@gmail.com;ameline_trenet@ens.univ-artois.fr
|
||||
22100425;L2 Histoire;L2 Histoire;VANDAMME;MAGDALENA;normal;O;O;N;N;NBGE;2021;13 RESIDENCE DU DR CATHELIN;59173;RENESCURE;+33750027949;magdalenavandamme59@gmail.com;magdalena_vandamme@ens.univ-artois.fr
|
||||
22100979;L2 Histoire;L2 Histoire;VANTOURNHOUDT;JULIE;normal;O;O;N;N;NBGE;2021;17 RUE DE REIMS;59128;FLERS-EN-ESCREBIEUX;+33608147098;vtnt.lili@yahoo.com;julie_vantournhoudt@ens.univ-artois.fr
|
||||
22100264;L2 Histoire;L2 Histoire;VINCENT;IVANA;normal;O;O;N;N;NBGE;2021;48 RUE D'HAMELINCOURT 62121;62121;MOYENNEVILLE;+33769032680;ivanavincent8@gmail.com;ivana_vincent@ens.univ-artois.fr
|
||||
22100654;L2 Histoire;L2 Histoire;VISSE;SEBASTIEN;normal;O;O;N;N;NBGE;2021;54, RUE MOZART;59540;CAUDRY;+33749505626;sebastienvissefenelon@gmail.com;sebastien_visse@ens.univ-artois.fr
|
||||
22106712;L2 Histoire;L2 Histoire;WALLYN;THIBAULT;normal;O;O;N;N;0021-indus;2021;21 RUE GHESQUIERE;59221;BAUVIN;+33644391436;wallyn.thibault@gmail.com;thibault_wallyn@ens.univ-artois.fr
|
||||
22102743;L2 Histoire;L2 Histoire;WATTELIER;ELOI;AJAC;O;O;N;N;NBGE;2021;54 RUE MICHELET;62800;LIEVIN;+33781628897;eloiwatt@gmail.com;eloi_wattelier@ens.univ-artois.fr
|
||||
22103769;L2 Histoire;L2 Histoire;WILLERVAL;MATTEO;normal;O;O;N;N;NBGE;2021;13 Rue des Fleurs 62440 Harnes;62440;HARNES;+33652515224;matwillerval@gmail.com;matteo_willerval@ens.univ-artois.fr
|
||||
22102136;L2 Histoire;L2 Histoire;ZIELINSKI;SEBASTIEN;normal;O;O;N;N;NBGE;2021;711 RUE DE VAUDRICOURT PROLONGÉE;62400;BETHUNE;+33601215846;sebastien.zielinski@orange.fr;sebastien_zielinski@ens.univ-artois.fr
|
||||
22102815;L2 Histoire _ Science po;L2 Histoire _ Science politique;CARPENTIER;CORENTIN;normal;O;O;N;N;NBGE;2021;4 RUE HENRI CRAMMER;62210;AVION;+33698761779;CC62210@outlook.com;corentin_carpentier@ens.univ-artois.fr
|
||||
22102387;L2 Histoire _ Science po;L2 Histoire _ Science politique;THIEBAULT;MAXIME;normal;N;O;N;N;NBGE;2021;TERRE DE GRUCHET;76880;ARQUES-LA-BATAILLE;+33783281221;maximethiebault7@gmail.com;maxime_thiebault@ens.univ-artois.fr
|
||||
22102353;L2 Histoire _ Science po;L2 Histoire _ Science politique;WATTEBLED;ROMAIN;normal;O;O;N;N;NBGE;2021;22 RUE JOSEPH NOEL;62320;DROCOURT;+33611721280;romainwattebled6@gmail.com;romain_wattebled@ens.univ-artois.fr
|
||||
22003520;L3 Géo et amé _ Aménag.;L3 Géographie et aménagement _ Aménagement;BEAUCAMP;ODILE;normal;O;O;N;N;ES-Eco;2020;7 RUE CONDORCET;59950;AUBY;+33695877484;odilebeauc1506@gmail.com;odile_beaucamp@ens.univ-artois.fr
|
||||
22001407;L3 Géo et amé _ Aménag.;L3 Géographie et aménagement _ Aménagement;BOCKTAEL;ELEA;normal;N;O;N;N;ES-Eco;2020;7 RUE MARCEL BUNS;59187;DECHY;+33762632276;bocktaele@gmail.com;elea_bocktael@ens.univ-artois.fr
|
||||
22000068;L3 Géo et amé _ Aménag.;L3 Géographie et aménagement _ Aménagement;BOISARD;CORENTIN;normal;O;O;N;N;ES-Eco;2020;23 RUE DES TULIPES;59552;COURCHELETTES;0695587497;boisard.corentin@gmail.com;corentin_boisard@ens.univ-artois.fr
|
||||
22004060;L3 Géo et amé _ Aménag.;L3 Géographie et aménagement _ Aménagement;BOUCHEZ;CORENTIN;normal;O;O;N;N;ES-Eco;2020;72 RUE PAILLEUX RES. LES;62190;LILLERS;0772331661;supermn4@outlook.fr;corentin_bouchez@ens.univ-artois.fr
|
||||
22004481;L3 Géo et amé _ Aménag.;L3 Géographie et aménagement _ Aménagement;CAGNIART;LEA;normal;O;O;N;N;S-Sciences;2020;8 rue du bois;62127;TINCQUES;0667598009;leacagniart4@gmail.com;lea_cagniart@ens.univ-artois.fr
|
||||
22001841;L3 Géo et amé _ Aménag.;L3 Géographie et aménagement _ Aménagement;CZAINSKI;MARGAUX;normal;O;O;N;N;ES-Eco;2020;1 rue mahaut d'artois;62000;ARRAS;0631189704;margauxczainski5@gmail.com;margaux_czainski@ens.univ-artois.fr
|
||||
22001607;L3 Géo et amé _ Aménag.;L3 Géographie et aménagement _ Aménagement;DECLETY;YOHANN;normal;O;O;N;N;ES-Eco;2020;40 RUE ROGER SALENGRO;62144;CARENCY;0601324377;decletyyohann@gmail.com;yohann_declety@ens.univ-artois.fr
|
||||
22000526;L3 Géo et amé _ Aménag.;L3 Géographie et aménagement _ Aménagement;DELALEAU;YOANN;normal;O;O;N;N;ES-Eco;2020;3 rue du 14 juillet;62260;AUCHEL;+33666067489;yoanndll9@gmail.com;yoann_delaleau@ens.univ-artois.fr
|
||||
22003091;L3 Géo et amé _ Aménag.;L3 Géographie et aménagement _ Aménagement;DELVALLET;BERTILLE;normal;O;O;N;N;ST2S;2020;47 BIS RUE CARNOT;62750;LOOS-EN-GOHELLE;+33788065176;bertille.delvallet@icloud.com;bertille_delvallet@ens.univ-artois.fr
|
||||
22001322;L3 Géo et amé _ Aménag.;L3 Géographie et aménagement _ Aménagement;DEMAGNY;THIBAUT;normal;O;O;N;N;S-Sciences;2020;16 AVENUE DU BOIS;62550;BAILLEUL-LES-PERNES;+33781590368;demagnythibaut@gmail.com;thibaut_demagny@ens.univ-artois.fr
|
||||
22002247;L3 Géo et amé _ Aménag.;L3 Géographie et aménagement _ Aménagement;DIDELET;SAMIA;normal;O;O;N;N;ES-Eco;2020;2 avenue jean zay;62000;ARRAS;+33618194861;dideletsamia@gmail.com;samia_didelet@ens.univ-artois.fr
|
||||
22000898;L3 Géo et amé _ Aménag.;L3 Géographie et aménagement _ Aménagement;FAVIER;AMANDINE;normal;O;O;N;N;S-Sciences;2020;2 RUE PIERRE BROSSOLETTE;59128;FLERS-EN-ESCREBIEUX;+33644904489;fvramandine@gmail.com;amandine_favier2@ens.univ-artois.fr
|
||||
20181139;L3 Géo et amé _ Aménag.;L3 Géographie et aménagement _ Aménagement;FLAMENT;SARAH;normal;O;O;N;N;L-littérat;2018;13 RUE DE L'EUROPE;62127;MAGNICOURT-EN-COMTE;+33611134216;sarahflament@laposte.net;sarah_flament@ens.univ-artois.fr
|
||||
22000248;L3 Géo et amé _ Aménag.;L3 Géographie et aménagement _ Aménagement;GODART;ALEXANDRE;normal;O;O;N;N;S-Sciences;2020;2 RUE DE SÉVELINGUE;62400;ESSARS;0656720149;godartalexandre624@gmail.com;alexandre_godart@ens.univ-artois.fr
|
||||
22000186;L3 Géo et amé _ Aménag.;L3 Géographie et aménagement _ Aménagement;GONDRY;JOEY;normal;O;O;N;N;S-Sciences;2020;58 rue Florent evrard;62980;VERMELLES;+33656842181;joeygondry62@gmail.com;joey_gondry@ens.univ-artois.fr
|
||||
21900880;L3 Géo et amé _ Aménag.;L3 Géographie et aménagement _ Aménagement;GOULOIS;JULIAN;normal;O;O;N;N;ES-Eco;2019;4 RUE BOLLET;62190;BOURECQ;0665267874;juliangoulois62@gmail.com;julian_goulois@ens.univ-artois.fr
|
||||
22005782;L3 Géo et amé _ Aménag.;L3 Géographie et aménagement _ Aménagement;HERMANT;BAPTISTE;normal;O;O;N;N;S-Sciences;2020;10 PLACE DU JEU DE PAUME;62127;MAGNICOURT-EN-COMTE;0684424022;62baptistehermant@gmail.com;baptiste_hermant@ens.univ-artois.fr
|
||||
21904943;L3 Géo et amé _ Aménag.;L3 Géographie et aménagement _ Aménagement;IANNUZZI;MATTEO;normal;N;O;N;N;S-Sciences;2019;497 RUE EDOUART VAILLANT;59286;ROOST-WARENDIN;+33781533056;matteoiannuzzi19@gmail.com;matteo_iannuzzi@ens.univ-artois.fr
|
||||
22003688;L3 Géo et amé _ Aménag.;L3 Géographie et aménagement _ Aménagement;KACZMAREK CAMBRONNE;PAUL;normal;O;O;N;N;ES-Eco;2020;16 IMPASSE DAMBRINE;62000;ARRAS;+33768487120;paul.kaczmarek@orange.fr;paul_kaczmarekcambronne@ens.univ-artois.fr
|
||||
22001780;L3 Géo et amé _ Aménag.;L3 Géographie et aménagement _ Aménagement;LABITTE;CHLOE;normal;N;O;N;N;ES-Eco;2020;17 petite rue;52110;MERTRUD;0645356610;chloelabitte62@gmail.com;chloe_labitte@ens.univ-artois.fr
|
||||
20160529;L3 Géo et amé _ Aménag.;L3 Géographie et aménagement _ Aménagement;LECANU;THEO;normal;O;O;N;N;ES-Eco;2016;286 RUE MOREL;59500;DOUAI;06.17.59.07.61;lecanu.theo59@gmail.com;theo_lecanu@ens.univ-artois.fr
|
||||
22009830;L3 Géo et amé _ Aménag.;L3 Géographie et aménagement _ Aménagement;MANIEZ;HELENE;normal;N;O;N;N;L-littérat;2020;35 rue de Lens;62490;IZEL-LES-EQUERCHIN;0781982974;helene62490@laposte.net;helene_maniez@ens.univ-artois.fr
|
||||
22100475;L3 Géo et amé _ Aménag.;L3 Géographie et aménagement _ Aménagement;MATHON;CHLOEY;normal;O;O;N;N;L-littérat;2019;12 RUE CH'CAFARA;62460;DIVION;0677835593;chloey62@hotmail.fr;chloey_mathon@ens.univ-artois.fr
|
||||
22003368;L3 Géo et amé _ Aménag.;L3 Géographie et aménagement _ Aménagement;MESSEANT;THOMAS;AJAC;N;O;N;N;S-Sciences;2020;46, RUE GEORGE SAND;62223;SAINT-LAURENT-BLANGY;+33783735587;thomasm132701@gmail.com;thomas_messeant@ens.univ-artois.fr
|
||||
22002436;L3 Géo et amé _ Aménag.;L3 Géographie et aménagement _ Aménagement;MOUCHON;JUSTINE;normal;O;O;N;N;S-Sciences;2020;9 RUE LOUIS BRETON;62710;COURRIERES;+33695879274;justine_mouchon@ens.univ-artois.fr;justine_mouchon@ens.univ-artois.fr
|
||||
22003745;L3 Géo et amé _ Aménag.;L3 Géographie et aménagement _ Aménagement;PONTHIEU;LOGAN;AJAC;O;O;N;N;STAV;2020;Rue de Bruxelles;62000;ARRAS;+33667375260;logan.ponthieu@gmail.com;logan_ponthieu@ens.univ-artois.fr
|
||||
22005815;L3 Géo et amé _ Aménag.;L3 Géographie et aménagement _ Aménagement;RAHMOUNI;YASSINE;normal;O;O;N;N;ES-Eco;2019;10 RUE DES NARCISSES;62680;MERICOURT;+33659361576;yassine62680@hotmail.fr;yassine_rahmouni@ens.univ-artois.fr
|
||||
22002115;L3 Géo et amé _ Aménag.;L3 Géographie et aménagement _ Aménagement;ROGER-LHEUREUX;FAUSTINE;normal;O;O;N;N;S-Sciences;2020;10 BIS RUE GEORGES CAMUS;62123;BERLES-AU-BOIS;0698222224;faustineroger@hotmail.fr;faustine_roger-lheureux@ens.univ-artois.fr
|
||||
22001964;L3 Géo et amé _ Aménag.;L3 Géographie et aménagement _ Aménagement;WINOCK;QUENTIN;normal;N;O;N;N;ES-Eco;2020;9 Rue Emile Didier;62000;ARRAS;0786737972;winock.quentin@gmail.com;quentin_winock@ens.univ-artois.fr
|
||||
22001598;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;BECOURT;FLORENTIN;normal;O;O;N;N;ES-Eco;2020;56 RESIDENCE MARCEL CACHIN;62190;LILLERS;+33778070388;flobecourt43@gmail.com;florentin_becourt@ens.univ-artois.fr
|
||||
22104376;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;BEIRNAERT;SIMEON;normal;O;O;N;N;ES-Eco;2018;73 Boulevard Saly;59300;VALENCIENNES;0689398869;simeon.beirnaert@orange.fr;simeon_beirnaert@ens.univ-artois.fr
|
||||
22001357;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;BELLAZEM;IMAN;normal;O;O;N;N;S-Sciences;2020;88 Rue de la Mairie;59500;DOUAI;+33644736470;iman.bellazem@gmail.com;iman_bellazem@ens.univ-artois.fr
|
||||
22000507;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;BENALI;YANIS;normal;O;O;N;N;ES-Eco;2020;9 rue Emile Didier;62000;ARRAS;+33644094605;ynsb17@gmail.com;yanis_benali@ens.univ-artois.fr
|
||||
22001310;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;BERTHELOT;ELISE;normal;O;O;N;N;L-littérat;2020;35 Rue du Guit;62550;PERNES;0781639078;elise.berthelot62@outlook.fr;elise_berthelot@ens.univ-artois.fr
|
||||
20170328;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;BOUCHARD;JASON;normal;N;O;O;N;ES-Eco;2017;79 résidence les hautes prairies;62540;LOZINGHEM;06.31.87.19.13;jason.bouchard2101@gmail.com;jason_bouchard@ens.univ-artois.fr
|
||||
22002236;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;BOURGEOIS;SIMON;normal;N;O;N;N;S-Sciences;2020;235 Rue de l'Egalité, ;59287;GUESNAIN;0673639716;simonbourgeois919@gmail.com;simon_bourgeois@ens.univ-artois.fr
|
||||
22002514;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;BROGNIART;SOLENE;normal;O;O;N;N;ES-Eco;2020;112 RUE ALSACE LORRAINE;62470;CALONNE-RICOUART;+33644305551;sosodu6259@gmail.com;solene_brogniart@ens.univ-artois.fr
|
||||
22003582;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;CARETTE;JULIEN;normal;O;O;N;N;ST2S;2016;4 RUE DUGAY TROUIN;62320;ROUVROY;+33649243822;julien.carette17@gmail.com;julien_carette@ens.univ-artois.fr
|
||||
22106128;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;CATALA;NELSON;normal;O;O;N;N;ES-Eco;2014;2 rue de la Libération;62000;ARRAS;0682383476;nelson.catala.pro@gmail.com;nelson_catala@ens.univ-artois.fr
|
||||
21903193;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;COLLET;ALEXIA;normal;O;O;N;N;S-Sciences;2019;25 RUE PRINCIPALE;62770;SAINT-GEORGES;+33673908383;aem22@orange.fr;alexia_collet@ens.univ-artois.fr
|
||||
22002258;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;COQUEL;PAUL;normal;O;O;N;N;ES-Eco;2020;19 RUE SALVADOR ALLENDE;62172;BOUVIGNY-BOYEFFLES;+33768498643;christophecoquel@me.com;paul_coquel@ens.univ-artois.fr
|
||||
22004235;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;DA COSTA VEIGA;LUCAS;normal;O;O;N;N;S-Sciences;2017;17 RUE ETIENNE DOLET;62640;MONTIGNY-EN-GOHELLE;+33605175243;rene.dacosta@wanadoo.fr;lucas_dacostaveiga@ens.univ-artois.fr
|
||||
22001287;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;DASSONVAL;LILY;normal;O;O;N;N;L-littérat;2020;14 RUE NEUVE;62190;LILLERS;+33772179216;dassonval1@gmail.com;lily_dassonval@ens.univ-artois.fr
|
||||
20180676;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;DEMOL;MANUREVA;normal;N;O;N;N;L-littérat;2018;65 rue Camille DESMOULINS;62740;FOUQUIERES-LES-LENS;0675893302;manureva.demol@hotmail.fr;manureva_demol@ens.univ-artois.fr
|
||||
22000128;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;DENOEUD;VALENTIN;normal;O;O;N;N;S-Sciences;2020;1376 RUE ROGER SALENGRO;62122;LABEUVRIERE;0660665716;valentin2noeuds@gmail.com;valentin_denoeud@ens.univ-artois.fr
|
||||
20181844;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;DIDDENS;LOGAN;normal;O;O;N;N;ES-Eco;2018;141 Cité Bruno;62119;DOURGES;+33612817526;logan.diddens@gmail.com;logan_diddens@ens.univ-artois.fr
|
||||
22004503;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;DOUCHIN;BAPTISTE;normal;O;O;N;N;ES-Eco;2020;707 RUE DE LOFFRE;59287;LEWARDE;0676534905;baptiste.douchin8@gmail.com;baptiste_douchin@ens.univ-artois.fr
|
||||
21904141;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;DUPRE;MANON;normal;O;O;N;N;L-littérat;2019;43 Rue de Niedermarsberg;62190;LILLERS;0766156384;manon.dupre.laposte.net@gmail.com;manon_dupre@ens.univ-artois.fr
|
||||
22003304;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;DUTAILLY;LUCIE;normal;O;O;N;N;ES-Eco;2020;271 RUE ST LUCE;62700;BRUAY-LA-BUISSIERE;+33778421275;dutailly.lucie@hotmail.fr;lucie_dutailly@ens.univ-artois.fr
|
||||
20186556;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;DUVAUCHELLE;FLORIAN;normal;N;O;O;N;ST2S;2017;résidence Pierre Bérégovoy;62217;BEAURAINS;0760068749;crepin.delphinecd@gmail.com;florian_duvauchelle@ens.univ-artois.fr
|
||||
22002543;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;EL OUNI;AMIN;normal;O;O;N;N;ES-Eco;2020;2325 rue de l'université;;;0781146356;amin.elouni78@gmail.com;amin_elouni@ens.univ-artois.fr
|
||||
22003214;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;FLEURY;ALEXIS;normal;O;O;N;N;L-littérat;2020;15 rue Albert Michel;62128;CROISILLES;+33782065397;alexisfleury62@orange.fr;alexis_fleury@ens.univ-artois.fr
|
||||
22003319;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;GIOT;CHARLES;normal;O;O;N;N;S-Sciences;2020;15 ROUTE D HAPPEGARBES;59550;LANDRECIES;+33683783614;cjgq@hotmail.fr;charles_giot@ens.univ-artois.fr
|
||||
22001491;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;GRANDSART;LEA;normal;O;O;N;N;L-littérat;2020;52 rue Paul Eluard;62320;ROUVROY;+33641994507;lea.grandsart@laposte.net;lea_grandsart@ens.univ-artois.fr
|
||||
22009829;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;HERNOUT;ROMAIN;normal;N;O;N;N;S-Sciences;2020;RUE DU 8 MAI 1945, 7;62144;CARENCY;0744552952;rorohernout@orange.fr;romain_hernout@ens.univ-artois.fr
|
||||
21902477;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;HOFFMAN;GUILLAUME;normal;O;O;N;N;STMG-Man.G;2019;21 RUE DU 1ER MAI;59179;FENAIN;0642351688;guillaume.hooffmaan@gmail.com;guillaume_hoffman@ens.univ-artois.fr
|
||||
22001752;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;HUAUME;MANON;normal;O;O;N;N;ES-Eco;2020;24 RUE VERTE;62310;CREPY;+33674302875;joel.huaume@orange.fr;manon_huaume@ens.univ-artois.fr
|
||||
21901864;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;KAPOLA;ESTELLE;normal;O;O;N;N;L-littérat;2018;3 Rue Louis Bleriot;62290;NOEUX-LES-MINES;+33669268466;kapola.estelle@gmail.com;estelle_kapola@ens.univ-artois.fr
|
||||
22002524;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;KROL;LOGAN;normal;O;O;N;N;ES-Eco;2020;536 Rue de la Cardonnerie;59235;BERSEE;+33619100208;logan.krl59@gmail.com;logan_krol@ens.univ-artois.fr
|
||||
22002842;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;LAMANT;GUILLAUME;normal;O;O;N;N;S-Sciences;2020;1Bis Rue Emile Didier;62000;ARRAS;+33782847944;guillaume.lam559@gmail.com;guillaume_lamant@ens.univ-artois.fr
|
||||
22001000;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;LEFEBVRE;ARTHUR;normal;O;O;N;N;L-littérat;2020;24 RUE DES PRESLES;62470;CALONNE-RICOUART;+33602722643;arthur.parcoursup62@gmail.com;arthur_lefebvre1@ens.univ-artois.fr
|
||||
22000047;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;LEGRAND;CHLOE;normal;O;O;N;N;L-littérat;2018;176 haute rue;62136;LESTREM;+33638749009;legrandchloe340@gmail.com;chloe_legrand3@ens.univ-artois.fr
|
||||
22001432;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;LINCLAU;MAXIME;normal;O;O;N;N;ES-Eco;2020;188 rue de la canche;62110;HENIN-BEAUMONT;+33768583964;maximelinclau26@gmail.com;maxime_linclau@ens.univ-artois.fr
|
||||
22001513;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;MARSALA;LAURA;normal;O;O;N;N;ES-Eco;2020;167 RUE CASIMIR BEUGNET;62660;BEUVRY;0783904960;marsala.laura0202@gmail.com;laura_marsala@ens.univ-artois.fr
|
||||
22010063;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;MERLOT;LISA;normal;O;O;N;N;S-Sciences;2020;26 rue de la longeville;62650;HUCQUELIERS;07.81.97.32.45;lisa.merlot62@gmail.com;lisa_merlot@ens.univ-artois.fr
|
||||
22003009;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;MONTAGNINO;ENZO;normal;N;O;N;N;S-Sciences;2020;242 RUE DE BETHUNE;62920;CHOCQUES;+33761368899;enzomontagnino.pro@gmail.com;enzo_montagnino@ens.univ-artois.fr
|
||||
20183221;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;MORONVAL;THIBAULT;normal;O;O;N;N;ES-Eco;2018;69 Rue de Bruxelles;62000;ARRAS;0624226223;tinymbo@gmail.com;thibault_moronval@ens.univ-artois.fr
|
||||
22007255;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;PETIT;QUENTIN;normal;N;O;N;N;STG-Tech.G;2012;36 rue Henri Peucelle;62113;LABOURSE;0676923023;quentin.petit.62@gmail.com;quentin_petit2@ens.univ-artois.fr
|
||||
22005278;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;PETITPAS;ESTELLE;normal;O;O;N;N;S-Sciences;2020;64 rue d'en bas;62920;CHOCQUES;+33615820397;petitpasestelle8@gmail.com;estelle_petitpas@ens.univ-artois.fr
|
||||
20182110;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;PIGEON;ALICIA;normal;O;O;N;N;L-littérat;2018;49 bis rue baudimont;62000;ARRAS;0633834708;pigeonalicia04@gmail.com;alicia_pigeon@ens.univ-artois.fr
|
||||
21909529;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;PRIEM;JUSTINE;normal;O;O;N;N;ES-Eco;2019;91 rue supervielle;62750;LOOS-EN-GOHELLE;0613976761;justine.priem8@gmail.com;justine_priem@ens.univ-artois.fr
|
||||
22002968;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;REFFAY;ALICIA;normal;O;O;N;N;S-Sciences;2020;14 RUE DE MADRID;78400;CHATOU;0622774618;alice.reffay@gmail.com;alicia_reffay@ens.univ-artois.fr
|
||||
22009826;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;SIMONI;ERWAN;normal;O;O;N;N;ES-Eco;2020;10 rue Pasteur;62118;HAMBLAIN-LES-PRES;0695544779;simonilouis50@gmail.com;erwan_simoni@ens.univ-artois.fr
|
||||
21900659;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;WERQUIN;FRANÇOIS;normal;O;O;N;N;S-Sciences;2019;15 résidence de la plaine;62620;BARLIN;+33627059115;francoiswerquin0210@gmail.com;francois_werquin2@ens.univ-artois.fr
|
||||
21902950;L3 Histoire _ Ens et rech;L3 Histoire _ Enseignement et recherche;YOUSFI;ISMAEL;normal;O;O;N;N;ES-Eco;2019;182 RUE OCTAVE LEGRAND;62110;HENIN-BEAUMONT;+33699909783;ismael62110@icloud.com;ismael_yousfi@ens.univ-artois.fr
|
||||
20180557;L3 Histoire _ Patrimoine;L3 Histoire _ Patrimoine;BLONDIAU;CLEMENT;AJAC;O;O;N;N;ES-Eco;2018;15 RUE PASTEUR;59490;BRUILLE-LEZ-MARCHIENNES;+33667084614;clemblondiau@gmail.com;clement_blondiau@ens.univ-artois.fr
|
||||
21902108;L3 Histoire _ Patrimoine;L3 Histoire _ Patrimoine;BOUFFLERS;TEO;normal;N;O;N;N;L-littérat;2019;10 rue Gaziot;62147;HERMIES;0783617924;teo.boufflers@gmail.com;teo_boufflers@ens.univ-artois.fr
|
||||
22003801;L3 Histoire _ Patrimoine;L3 Histoire _ Patrimoine;BRISSET;CAPUCINE;normal;O;O;N;N;ES-Eco;2020;399 rue de la canche;62270;MAGNICOURT-SUR-CANCHE;+33750915510;brisset.capucine@gmail.com;capucine_brisset@ens.univ-artois.fr
|
||||
22000636;L3 Histoire _ Patrimoine;L3 Histoire _ Patrimoine;CLERBOUT;THOMAS;AJAC;N;O;N;N;STI2D;2017;42 rue MARECHAL FOCH;62330;ISBERGUES;+33603525977;thomas.clerbout62@gmail.com;thomas_clerbout@ens.univ-artois.fr
|
||||
22001064;L3 Histoire _ Patrimoine;L3 Histoire _ Patrimoine;DELMOTTE;FLORINE;normal;O;O;N;N;L-littérat;2020;16 RUE DE L EGLISE;62128;BOIRY-BECQUERELLE;+33646624932;florine.delm@gmail.com;florine_delmotte1@ens.univ-artois.fr
|
||||
21905136;L3 Histoire _ Patrimoine;L3 Histoire _ Patrimoine;DELVALLEZ;ALICE;normal;N;O;N;N;ST2S;2017;5 allée des huileries;62000;ARRAS;+33684111534;alice.delvallez@orange.fr;alice_delvallez@ens.univ-artois.fr
|
||||
20171839;L3 Histoire _ Patrimoine;L3 Histoire _ Patrimoine;DEMARTHE;WANESLA;normal;O;O;N;N;L-littérat;2017;12 RUE ELIE WIESEL;62000;ARRAS;0614113959;wanesla_demarthe@ens.univ-artois.fr;wanesla_demarthe@ens.univ-artois.fr
|
||||
22000502;L3 Histoire _ Patrimoine;L3 Histoire _ Patrimoine;DEMARTHE;NICOLAS;normal;O;O;N;N;STI2D;2017;10 Rue Louise Michel;62223;SAINT-LAURENT-BLANGY;0610692625;nicolas_demarthe@ens.univ-artois.fr;nicolas_demarthe@ens.univ-artois.fr
|
||||
21903064;L3 Histoire _ Patrimoine;L3 Histoire _ Patrimoine;FOULON;PAULINE;normal;O;O;N;N;L-littérat;2019;54 rue Paul Vaillant Couturier;62118;BIACHE-SAINT-VAAST;+33620874966;pauline.foulon2@gmail.com;pauline_foulon2@ens.univ-artois.fr
|
||||
22002838;L3 Histoire _ Patrimoine;L3 Histoire _ Patrimoine;GAREAU;NOEMIE;normal;O;O;N;N;ES-Eco;2020;59, le clos du fief;62113;SAILLY-LABOURSE;+33622823970;noemiegareau10@gmail.com;noemie_gareau@ens.univ-artois.fr
|
||||
22004298;L3 Histoire _ Patrimoine;L3 Histoire _ Patrimoine;GHERBAOUI;YACINE;normal;O;O;N;N;S-Sciences;2020;4 Allée du Charpentier;62580;BAILLEUL-SIR-BERTHOULT;+33695789268;yaya.gherbaoui@gmail.com;yacine_gherbaoui@ens.univ-artois.fr
|
||||
22004932;L3 Histoire _ Patrimoine;L3 Histoire _ Patrimoine;HERBET;CORENTIN;normal;O;O;N;N;S-Sciences;2020;5 RUE DU FOUR;62530;SERVINS;+33644726559;corentin.herbet1@icloud.com;corentin_herbet@ens.univ-artois.fr
|
||||
21905925;L3 Histoire _ Patrimoine;L3 Histoire _ Patrimoine;HERR;THOMAS;normal;O;O;N;N;STI2D;2017;6 rue du 8 mai 1945;62134;ANVIN;+33771579502;thomasherrtravail@gmail.com;thomas_herr@ens.univ-artois.fr
|
||||
21900900;L3 Histoire _ Patrimoine;L3 Histoire _ Patrimoine;HOCHART;ERWAN;normal;O;O;N;N;ES-Eco;2019;17 RUE DE LOLLIETTE;62000;ARRAS;+33680063937;erwan.hochart@ens.univ-artois.fr;erwan_hochart@ens.univ-artois.fr
|
||||
21902244;L3 Histoire _ Patrimoine;L3 Histoire _ Patrimoine;LOY;PIERRE;normal;N;O;N;N;S-Sciences;2019;12 les Ciseaux;59189;BOESEGHEM;0601133022;severineloy1974@gmail.com;pierre_loy@ens.univ-artois.fr
|
||||
22000058;L3 Histoire _ Patrimoine;L3 Histoire _ Patrimoine;MALLET;KEVIN;normal;O;O;N;N;L-littérat;2020;1 bis rue Emile Didier;62000;ARRAS;+33642179910;malletkevin1@gmail.com;kevin_mallet@ens.univ-artois.fr
|
||||
22002676;L3 Histoire _ Patrimoine;L3 Histoire _ Patrimoine;MORVAN;LEA;normal;O;O;N;N;L-littérat;2020;1 RUE POSTEAU;62000;ARRAS;0695750580;lea.morvan23@gmail.com;lea_morvan@ens.univ-artois.fr
|
||||
22002164;L3 Histoire _ Patrimoine;L3 Histoire _ Patrimoine;SAUVESTRE;ANOUCK;normal;O;O;N;N;ES-Eco;2019;3 CHEMIN DU PETIT ETANG;86000;POITIERS;+33750423575;anouck.sauvestre13@gmail.com;anouck_sauvestre@ens.univ-artois.fr
|
||||
21900437;L3 Histoire _ Patrimoine;L3 Histoire _ Patrimoine;SOBKOWIAK;WILLIAM;normal;O;O;O;N;STMG-Man.G;2019;85 RUE LUCIEN MOREAU;59119;WAZIERS;+33651072343;william-sobkowiak@outlook.fr;william_sobkowiak@ens.univ-artois.fr
|
||||
21900598;L3 Histoire _ Patrimoine;L3 Histoire _ Patrimoine;TREHOU;PERRINE;normal;O;O;N;N;L-littérat;2019;4 IMPASSE DE LA FLOTTE;62710;COURRIERES;0650721141;perrine33362@gmail.com;perrine_trehou@ens.univ-artois.fr
|
||||
22002838;L3 Histoire _ Science po;L3 Histoire _ Science politique;GAREAU;NOEMIE;normal;O;N;N;O;ES-Eco;2020;59, le clos du fief;62113;SAILLY-LABOURSE;+33622823970;noemiegareau10@gmail.com;noemie_gareau@ens.univ-artois.fr
|
||||
22204446;LP Aménag. paysager_GDEV;LP Aménagement paysager : conception, gestion, entretien _ Gestion différenciée des espaces verts;BONDUELLE;CAPUCINE;normal;N;O;N;N;STAV;2020;19 Boulevard de Berlaimont;59400;CAMBRAI;0679603049;bonduellecapucine1109@gmail.com;
|
||||
22203756;LP Aménag. paysager_GDEV;LP Aménagement paysager : conception, gestion, entretien _ Gestion différenciée des espaces verts;BUTEZ;ANTHONY;normal;N;O;N;N;STAV;2020;8;59242;CAPPELLE-EN-PEVELE;+33625369725;but3z.anth0ny@gmail.com;
|
||||
22204410;LP Aménag. paysager_GDEV;LP Aménagement paysager : conception, gestion, entretien _ Gestion différenciée des espaces verts;DORCHIES;ALEXIS;normal;N;O;N;N;STAV;2020;30 rue Pasteur;59127;WALINCOURT-SELVIGNY;0660344232;alexisdorchies@bbox.fr;
|
||||
22201258;LP Aménag. paysager_GDEV;LP Aménagement paysager : conception, gestion, entretien _ Gestion différenciée des espaces verts;GAMBERT;GUILLAUME;normal;N;O;N;N;S-Sciences;2016;les gilardieres;53360;HOUSSAY;0786323657;gambertguillaume53@orange.fr;
|
||||
22204744;LP Aménag. paysager_GDEV;LP Aménagement paysager : conception, gestion, entretien _ Gestion différenciée des espaces verts;HUDELLE;GEOFFREY;normal;N;O;N;N;S-Sciences;2019;1 rue de ficheux;62217;WAILLY;0607505997;hudelle.geoffrey@wanadoo.fr;
|
||||
22204752;LP Aménag. paysager_GDEV;LP Aménagement paysager : conception, gestion, entretien _ Gestion différenciée des espaces verts;LESAGE;ALOIS;normal;N;O;N;N;0023-agri;2020;4426 Route de Cassel;59470;WORMHOUT;07/68/78/12/00;lesagealois.perso@gmail.com;
|
||||
22203542;LP Aménag. paysager_GDEV;LP Aménagement paysager : conception, gestion, entretien _ Gestion différenciée des espaces verts;LESIX;FLORIAN;normal;O;O;N;N;STAV;2019;8 rue du moulinel;62960;FEBVIN-PALFART;0625711075;florian.lesix@gmail.com;florian_lesix@ens.univ-artois.fr
|
||||
22202149;LP Aménag. paysager_GDEV;LP Aménagement paysager : conception, gestion, entretien _ Gestion différenciée des espaces verts;SAMSON;ELOI;normal;N;O;N;N;STAV;2020;43 Rue du Maréchal Foch;59110;LA MADELEINE;0767364948;eloisamson59@gmail.com;
|
||||
20181998;LP Aménag. paysager_GDEV;LP Aménagement paysager : conception, gestion, entretien _ Gestion différenciée des espaces verts;TROUILLET;CAMILLE;normal;O;O;N;N;S-Sciences;2018;16 Rue de Londres;62217;ACHICOURT;+33782080279;camilletrouillet.ct@gmail.com;camille_trouillet@ens.univ-artois.fr
|
||||
22202338;LP Guide conférencier_MMS;LP Guide conférencier _ Monuments, musées et sites;COMMEIGNES;CHANTAL;normal;O;O;N;N;A4-lan mat;1975;187, boulevard Constantin Descat;59200;TOURCOING;0684794152;chantal.bedoy@gmail.com;chantal_commeignes@ens.univ-artois.fr
|
||||
22204132;LP Guide conférencier_MMS;LP Guide conférencier _ Monuments, musées et sites;DEHENNE;PIERRE;normal;N;O;N;N;ES-Eco;2016;84 avenue du peuple Belge;59800;LILLE;0618473382;dehenne.pierre@outlook.fr;
|
||||
22205372;LP Guide conférencier_MMS;LP Guide conférencier _ Monuments, musées et sites;PLEE;BARNABE;normal;N;O;N;N;L-littérat;2018;115 Avenue Michel malingre;62600;BERCK;0674328161;barnabe.plee@laposte.net;
|
||||
22204665;LP Guide conférencier_MMS;LP Guide conférencier _ Monuments, musées et sites;PRZYGONSKI;MATHILDE;normal;N;O;N;N;ES-Eco;2017;19, Rue des Thuilettes;62000;ARRAS;+33777380605;przygonskimathilde@gmail.com;
|
||||
22202532;LP Guide conférencier_MMS;LP Guide conférencier _ Monuments, musées et sites;RAFFAELLI;LUCIE;normal;N;O;N;N;L-littérat;2018;93 rue du Commandant Dumetz;62000;ARRAS;0633306822;lucieraffaelli@orange.fr;
|
||||
21900801;M1 GTDL _ DTAE;M1 Gestion des territoires et développement local _ Développement des territoires, aménagement et environnement;BARRAULT;ANNE-LISE;normal;O;O;N;N;ES-Eco;2019;41 RUE DE BERGUES;62540;MARLES-LES-MINES;+33651461426;bal62540@gmail.com;anne-lise_barrault@ens.univ-artois.fr
|
||||
21900518;M1 GTDL _ DTAE;M1 Gestion des territoires et développement local _ Développement des territoires, aménagement et environnement;BOUVAERE;REMI;normal;O;O;N;N;S-Sciences;2019;3 Rue du Général Gallieni;62880;VENDIN-LE-VIEIL;+33651031149;bkloirem@gmail.com;remi_bouvaere@ens.univ-artois.fr
|
||||
21900633;M1 GTDL _ DTAE;M1 Gestion des territoires et développement local _ Développement des territoires, aménagement et environnement;DALLONGEVILLE;ANTOINE;normal;O;O;N;N;S-Sciences;2018;5, rue du Fort-Mahon;62870;GOUY-SAINT-ANDRE;+33750983935;antoine_dallongeville@ens.univ-artois.fr;antoine_dallongeville@ens.univ-artois.fr
|
||||
21901402;M1 GTDL _ DTAE;M1 Gestion des territoires et développement local _ Développement des territoires, aménagement et environnement;DAUCHELLE;SIMON;normal;O;O;N;N;S-Sciences;2019;2BIS RUE DES FONTINETTES;62190;LILLERS;+33623719199;simon.dauchelle.pro@gmail.com;simon_dauchelle@ens.univ-artois.fr
|
||||
21909530;M1 GTDL _ DTAE;M1 Gestion des territoires et développement local _ Développement des territoires, aménagement et environnement;GRAVELINE;ELISE;normal;O;O;N;N;S-Sciences;2019;34 rue Jeanne d'Arc;62000;ARRAS;0619331837;gravelineelise@gmail.com;elise_graveline@ens.univ-artois.fr
|
||||
22200119;M1 GTDL _ DTAE;M1 Gestion des territoires et développement local _ Développement des territoires, aménagement et environnement;LEMUNIER;CLARA;normal;O;O;N;N;ES-Eco;2019;Le haut castel;14500;VIRE-NORMANDIE;06.95.15.66.78;clara.lemunier@gmail.com;clara_lemunier@ens.univ-artois.fr
|
||||
22200121;M1 GTDL _ DTAE;M1 Gestion des territoires et développement local _ Développement des territoires, aménagement et environnement;MIGNET;CLAIRE;normal;N;O;N;N;S-Sciences;2018;13 chemin de Dancourt;80700;ROYE;0643225883;claire.mignet15@gmail.com;
|
||||
21900458;M1 GTDL _ DTAE;M1 Gestion des territoires et développement local _ Développement des territoires, aménagement et environnement;ROTH;JULIE;normal;O;O;N;N;ES-Eco;2019;6 RUE DES MOUETTES;62220;CARVIN;+33695827291;julie.roth194@gmail.com;julie_roth@ens.univ-artois.fr
|
||||
21904374;M1 GTDL _ DTAE;M1 Gestion des territoires et développement local _ Développement des territoires, aménagement et environnement;VILAIN;PAUL-EMILE;normal;O;O;N;N;S-Sciences;2019;7 rue Ernest de Lannoy;62000;ARRAS;+33627827710;paulemilevilain@gmail.com;paul-emile_vilain@ens.univ-artois.fr
|
||||
20181611;M1 Hist civ pat_GPC;M1 Histoire, civilisations, patrimoine _ Gestion du patrimoine culturel;ATTAGNANT;CHARLOTTE;normal;O;O;N;N;L-littérat;2017;199 RUE DE LA POSTE;62810;SUS-SAINT-LEGER;0785017779;attagnantcharlotte@gmail.com;charlotte_attagnant@ens.univ-artois.fr
|
||||
22202540;M1 Hist civ pat_GPC;M1 Histoire, civilisations, patrimoine _ Gestion du patrimoine culturel;DELHORME;WILLIAM;normal;O;O;N;N;ES-Eco;2019;2 Bis Rue de la Croisie;02800;VENDEUIL;0641326425;williamdelhorme.pro@gmail.com;william_delhorme@ens.univ-artois.fr
|
||||
20182050;M1 Hist civ pat_GPC;M1 Histoire, civilisations, patrimoine _ Gestion du patrimoine culturel;DE PRAET;CAMILLE;normal;O;O;N;N;L-littérat;2018;33 rue Ernest Renan;62220;CARVIN;+33605257944;camille.depraet@gmail.com;camille_depraet@ens.univ-artois.fr
|
||||
22200354;M1 Hist civ pat_GPC;M1 Histoire, civilisations, patrimoine _ Gestion du patrimoine culturel;DEROO;CHLOE;normal;O;O;N;N;L-littérat;2019;3, Rue du Commandant Chuillet;59140;DUNKERQUE;0668443205;chloederoo1708@gmail.com;chloe_deroo@ens.univ-artois.fr
|
||||
22200047;M1 Hist civ pat_GPC;M1 Histoire, civilisations, patrimoine _ Gestion du patrimoine culturel;EL MASAOUDI;SANAA;normal;N;O;N;N;L-littérat;2017;86 rue Simone Signoret;80090;AMIENS;0695761668;sanaa.elmasaoudi@gmail.com;
|
||||
22200324;M1 Hist civ pat_GPC;M1 Histoire, civilisations, patrimoine _ Gestion du patrimoine culturel;JALABERT;MARIE;normal;N;O;N;N;L-littérat;2018;127 rue de Cambrai;62000;ARRAS;06 95 18 97 26;ma.jalabert@gmail.com;
|
||||
22200245;M1 Hist civ pat_GPC;M1 Histoire, civilisations, patrimoine _ Gestion du patrimoine culturel;KLICH;INESS;normal;O;O;N;N;ES-Eco;2017;20 Rue Anatole France;93370;MONTFERMEIL;0613973119;inessklich@gmail.com;iness_klich@ens.univ-artois.fr
|
||||
20181724;M1 Hist civ pat_GPC;M1 Histoire, civilisations, patrimoine _ Gestion du patrimoine culturel;MOUILLE;ALEXANDRE;normal;O;O;N;N;ES-Eco;2018;14 RUE PASTEUR;62590;OIGNIES;+33695503109;mouille.alexandre2511@laposte.net;alexandre_mouille@ens.univ-artois.fr
|
||||
22200210;M1 Hist civ pat_GPC;M1 Histoire, civilisations, patrimoine _ Gestion du patrimoine culturel;PACIOCCO;LUCIE;normal;O;O;N;N;S-Sciences;2018;4 rue de la paix;59610;FOURMIES;0783317383;pacioccolucie@gmail.com;lucie_paciocco@ens.univ-artois.fr
|
||||
21900667;M1 Hist civ pat_GPC;M1 Histoire, civilisations, patrimoine _ Gestion du patrimoine culturel;PIHERY;APOLLINE;normal;O;O;N;N;ES-Eco;2019;5b rue du 8 mai 1945;62000;ARRAS;+33611154449;apolline.pihery@gmail.com;apolline_pihery@ens.univ-artois.fr
|
||||
22200353;M1 Hist civ pat_GPC;M1 Histoire, civilisations, patrimoine _ Gestion du patrimoine culturel;RELIGIEUX;GABRIELLE;normal;O;O;N;N;L-littérat;2019;248 RUE DU FAUBOURG DE ROUBAIX;59800;LILLE;0670158582;igabrieller@gmail.com;gabrielle_religieux@ens.univ-artois.fr
|
||||
22200371;M1 Hist civ pat_GPC;M1 Histoire, civilisations, patrimoine _ Gestion du patrimoine culturel;SAUER;INES;normal;O;O;N;N;L-littérat;2019;5 Parc des 4 Moulins;62200;BOULOGNE-SUR-MER;0652636719;ines.sauer2001@gmail.com;ines_sauer@ens.univ-artois.fr
|
||||
20162103;M1 Hist civ pat_Hist civ;M1 Histoire, civilisations, patrimoine _ Histoire et civilisations;BLEUZET;JONATHAN;normal;O;O;N;N;S-Sciences;2016;24 rue du bonnier Avion;62210;AVION;+33662306101;bleuzetjohn@hotmail.com;jonathan_bleuzet@ens.univ-artois.fr
|
||||
20181294;M1 Hist civ pat_Hist civ;M1 Histoire, civilisations, patrimoine _ Histoire et civilisations;BLONDEL;ZACK;normal;O;O;N;N;S-Sciences;2018;61 RUE DU BERRY;62000;ARRAS;+33695602242;zack.blondel@gmail.com;zack_blondel@ens.univ-artois.fr
|
||||
21901741;M1 Hist civ pat_Hist civ;M1 Histoire, civilisations, patrimoine _ Histoire et civilisations;BROUWERS;THIBAUT;normal;O;O;N;N;S-Sciences;2019;112 RUE DU MAL LECLERC;59182;MONTIGNY-EN-OSTREVENT;+33646070664;brouwersthibaut@hotmail.fr;thibaut_brouwers@ens.univ-artois.fr
|
||||
20180233;M1 Hist civ pat_Hist civ;M1 Histoire, civilisations, patrimoine _ Histoire et civilisations;BULCOURT;STANISLAS;normal;O;O;N;N;ES-Eco;2018;209 rue Roger Perus;59287;GUESNAIN;+33662938857;stanislas.bulcourt@gmail.com;stanislas_bulcourt@ens.univ-artois.fr
|
||||
21902721;M1 Hist civ pat_Hist civ;M1 Histoire, civilisations, patrimoine _ Histoire et civilisations;CARDON;ROMAIN;normal;O;O;N;N;L-littérat;2019;30 rue Victor Hugo;62710;COURRIERES;+33784376332;romain.cardon5962@gmail.com;romain_cardon@ens.univ-artois.fr
|
||||
21909525;M1 Hist civ pat_Hist civ;M1 Histoire, civilisations, patrimoine _ Histoire et civilisations;CHARLET;MELCHIOR;normal;O;O;N;N;L-littérat;2019;12 r de l'alouette;62690;ESTREE-CAUCHY;0683618132;charletmelchior@gmail.com;melchior_charlet@ens.univ-artois.fr
|
||||
20186108;M1 Hist civ pat_Hist civ;M1 Histoire, civilisations, patrimoine _ Histoire et civilisations;CHARPIOT;ANGELINA;normal;N;O;N;N;L-littérat;2018;1 HAMEAU DE L_ALOUETTE;62270;LIGNY-SUR-CANCHE;0686254629;angelinacharpiot@gmail.com;angelina_charpiot@ens.univ-artois.fr
|
||||
21900650;M1 Hist civ pat_Hist civ;M1 Histoire, civilisations, patrimoine _ Histoire et civilisations;DANNE;VALENTIN;normal;O;O;N;N;L-littérat;2019;18 RUE DE L_AUTHIE;62320;ROUVROY;+33646828916;valentindanne7@gmail.com;valentin_danne@ens.univ-artois.fr
|
||||
21901069;M1 Hist civ pat_Hist civ;M1 Histoire, civilisations, patrimoine _ Histoire et civilisations;DAVID;MORGAN;normal;N;O;N;N;L-littérat;2019;58 rue Grassin Balédans;62000;ARRAS;0651175734;morgandavid2603@gmail.com;morgan_david@ens.univ-artois.fr
|
||||
21907352;M1 Hist civ pat_Hist civ;M1 Histoire, civilisations, patrimoine _ Histoire et civilisations;DUBOIS;MAXIMILIEN;normal;O;O;N;N;ES-Eco;2019;218 RUE LEON GAMBETTA;59000;LILLE;07 82 99 34 72;maximilien.dub0is@laposte.net;maximilien_dubois@ens.univ-artois.fr
|
||||
21902319;M1 Hist civ pat_Hist civ;M1 Histoire, civilisations, patrimoine _ Histoire et civilisations;DUCROCQ;CLEMENCE;normal;O;O;N;N;S-Sciences;2019;12, rue Raoul François;62000;ARRAS;+33652624473;clemence.ducrocq1@gmail.com;clemence_ducrocq1@ens.univ-artois.fr
|
||||
21900443;M1 Hist civ pat_Hist civ;M1 Histoire, civilisations, patrimoine _ Histoire et civilisations;DUHAYON;ERWAN;normal;O;O;N;N;L-littérat;2019;15 ROUTE NATIONALE;59114;SAINT-SYLVESTRE-CAPPEL;+33622930496;erwan.duhayon48@gmail.com;erwan_duhayon@ens.univ-artois.fr
|
||||
21901434;M1 Hist civ pat_Hist civ;M1 Histoire, civilisations, patrimoine _ Histoire et civilisations;EVIN;YANN-ERIC;normal;O;O;N;N;L-littérat;2019;6 RUE THEOPHILE GAUTIER;62620;BARLIN;0780379108;eyanneric@gmail.com;yann-eric_evin@ens.univ-artois.fr
|
||||
21901921;M1 Hist civ pat_Hist civ;M1 Histoire, civilisations, patrimoine _ Histoire et civilisations;FROISSART;CAMILLE;normal;O;O;N;N;ES-Eco;2019;416 RUE DU GENERAL DE GAULLE;62110;HENIN-BEAUMONT;+33760427028;camfroissart12@gmail.com;camille_froissart1@ens.univ-artois.fr
|
||||
21902063;M1 Hist civ pat_Hist civ;M1 Histoire, civilisations, patrimoine _ Histoire et civilisations;GESLAIN;ELISE;normal;O;O;N;N;L-littérat;2019;2 RUE DU PRE AU PONT;62690;AUBIGNY-EN-ARTOIS;+33762017510;elise.ges@laposte.net;elise_geslain@ens.univ-artois.fr
|
||||
21902449;M1 Hist civ pat_Hist civ;M1 Histoire, civilisations, patrimoine _ Histoire et civilisations;GILBERT;RODRIGUE;normal;O;O;N;N;L-littérat;2019;1 avenue du mémorial des fusillé;62000;ARRAS;+33695986916;rodriguegilbertpro@gmail.com;rodrigue_gilbert@ens.univ-artois.fr
|
||||
21902055;M1 Hist civ pat_Hist civ;M1 Histoire, civilisations, patrimoine _ Histoire et civilisations;GUERLAIN;MANON;normal;O;O;N;N;L-littérat;2019;1 rue aimé Césaire villa 185;62210;AVION;+33623956720;manonguerlain62420@gmail.com;manon_guerlain@ens.univ-artois.fr
|
||||
20162305;M1 Hist civ pat_Hist civ;M1 Histoire, civilisations, patrimoine _ Histoire et civilisations;HO;TSZ YAN;normal;O;O;N;N;0031-étran;2014;2 Rue Neuve des Ardents;62000;ARRAS;0617992179;joycetszyanho@gmail.com;tszyan_ho@ens.univ-artois.fr
|
||||
21900305;M1 Hist civ pat_Hist civ;M1 Histoire, civilisations, patrimoine _ Histoire et civilisations;HONNART;AXEL;normal;O;O;N;N;ES-Eco;2019;13 RUE DES PEUPLIERS;62217;ACHICOURT;+33677234018;axel.honnart02@gmail.com;axel_honnart@ens.univ-artois.fr
|
||||
20183433;M1 Hist civ pat_Hist civ;M1 Histoire, civilisations, patrimoine _ Histoire et civilisations;LAPLACE;JULIE;normal;O;O;N;N;L-littérat;2018;22 place au marché aux chevaux;62310;FRUGES;+33656844663;julielaplace99@hotmail.fr;julie_laplace@ens.univ-artois.fr
|
||||
20172050;M1 Hist civ pat_Hist civ;M1 Histoire, civilisations, patrimoine _ Histoire et civilisations;LEMAN;AMAURY;normal;O;O;N;N;L-littérat;2015;23 rue de Busnettes;62190;LILLERS;0634771215;amaury-leman@laposte.net;amaury_leman@ens.univ-artois.fr
|
||||
21900704;M1 Hist civ pat_Hist civ;M1 Histoire, civilisations, patrimoine _ Histoire et civilisations;LEVASSEUR;THOMAS;normal;O;O;N;N;S-Sciences;2019;111 RUE D_ARRAS;62217;WAILLY;+33685721348;tom-le@orange.fr;thomas_levasseur@ens.univ-artois.fr
|
||||
21900377;M1 Hist civ pat_Hist civ;M1 Histoire, civilisations, patrimoine _ Histoire et civilisations;LOURDELLE;CLEMENT;normal;O;O;N;N;L-littérat;2018;20 bis Rue de Gomiécourt;62121;ERVILLERS;0666935217;clement.lourdelle@icloud.com;clement_lourdelle@ens.univ-artois.fr
|
||||
20184044;M1 Hist civ pat_Hist civ;M1 Histoire, civilisations, patrimoine _ Histoire et civilisations;LOUVIN;BLANDINE;normal;O;O;N;N;ES-Eco;2018;7 Rue Alexandre Dumas ;62220;CARVIN;0682590565;blandine.louvin@gmail.com;blandine_louvin@ens.univ-artois.fr
|
||||
21900909;M1 Hist civ pat_Hist civ;M1 Histoire, civilisations, patrimoine _ Histoire et civilisations;MARCOTTE;ZOE;normal;O;O;N;N;L-littérat;2019;53 RUE DE TANNAY;59189;THIENNES;+33685234337;zoe.marcotte12@gmail.com;zoe_marcotte@ens.univ-artois.fr
|
||||
20180495;M1 Hist civ pat_Hist civ;M1 Histoire, civilisations, patrimoine _ Histoire et civilisations;SENELLART;TIMOTHEE;normal;O;O;N;N;S-Sciences;2018;53 RUE DE FAMPOUX;62580;BAILLEUL-SIR-BERTHOULT;+33781332213;timosenellart@gmail.com;timothee_senellart@ens.univ-artois.fr
|
||||
21901517;M1 Hist civ pat_Hist civ;M1 Histoire, civilisations, patrimoine _ Histoire et civilisations;SZCZEPANIAK;ROMAIN;normal;O;O;N;N;ES-Eco;2019;56 RUE DU TOUQUET;62670;MAZINGARBE;+33626892683;romain.szczepaniak1@gmail.com;romain_szczepaniak@ens.univ-artois.fr
|
||||
21903304;M1 Hist civ pat_Hist civ;M1 Histoire, civilisations, patrimoine _ Histoire et civilisations;VASSEUR;ALICIA;normal;O;O;N;N;S-Sciences;2019;18 RUE DE LA HAYE;62111;FONCQUEVILLERS;+33651250878;vasseur.alicia@yahoo.fr;alicia_vasseur@ens.univ-artois.fr
|
||||
21902575;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;ACHETOUANE IDRISSI;ASSIA;normal;O;O;N;N;L-littérat;2019;25 rue de la maladrerie;62143;ANGRES;+33640163665;soassia27@gmail.com;assia_achetouaneidrissi@ens.univ-artois.fr
|
||||
21909523;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;BALESDENT;LEA;normal;O;O;N;N;L-littérat;2019;16T avenue roger Salengro;62223;SAINT-LAURENT-BLANGY;0782432789;leabalesdent@yahoo.com;lea_balesdent@ens.univ-artois.fr
|
||||
21900546;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;BECU;SEBASTIEN;normal;O;O;N;N;L-littérat;2019;24 rue de la gare;62470;CAMBLAIN-CHATELAIN;0645915674;becu.sebastien13@gmail.com;sebastien_becu@ens.univ-artois.fr
|
||||
20182969;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;BIGOTTE;BAPTISTE;normal;O;O;N;N;L-littérat;2018;29 Rue Des Fusillés;62220;CARVIN;+33772337608;baptiste.bigotte05@orange.fr;baptiste_bigotte@ens.univ-artois.fr
|
||||
22203680;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;BOUCAU;SOPHIE;normal;O;O;N;N;L-littérat;2019;1 Av. du Mémorial des Fusillés;62000;ARRAS;0762275168;sophieboucau@gmail.com;sophie_boucau@ens.univ-artois.fr
|
||||
21902620;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;BRAS;MEROVEE;normal;O;O;N;N;ES-Eco;2019;31 Rue Uriane Sorriaux;62220;CARVIN;+33612501277;merobras62@gmail.com;merovee_bras@ens.univ-artois.fr
|
||||
21901650;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;COLLE;REMI;normal;O;O;N;N;ES-Eco;2019;107 rue d'Arras;62223;FEUCHY;+33769002145;remicolle09@gmail.com;remi_colle1@ens.univ-artois.fr
|
||||
22201671;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;DEBUT;JORDAN;normal;O;O;N;N;L-littérat;2019;21 ALLEE DES PRIMEVERES;59241;MASNIERES;0676402139;debutjordan6@gmail.com;jordan_debut@ens.univ-artois.fr
|
||||
20182851;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;DELARCHE;JOEY;normal;N;O;N;N;S-Sciences;2018;2 rue fontaine delattre;62270;FREVENT;0652845663;joey.delarche@gmail.com;joey_delarche@ens.univ-artois.fr
|
||||
21901312;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;DEMARET;THEO;normal;O;O;N;N;ES-Eco;2019;100 rue houvin;80600;NEUVILLETTE;+33678140865;theodemaret74@gmail.com;theo_demaret@ens.univ-artois.fr
|
||||
20180763;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;DERAMAUX;CORALIE;normal;O;O;N;N;ES-Eco;2018;56 rue Jean goujon;62210;AVION;0687226416;coralie.drx020300@gmail.com;coralie_deramaux@ens.univ-artois.fr
|
||||
21900611;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;DESBACQ;QUENTIN;normal;O;O;N;N;S-Sciences;2018;8 rue du Moulinet;62000;ARRAS;+33648304348;desbacqquentin@orange.fr;quentin_desbacq@ens.univ-artois.fr
|
||||
20172983;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;DESPREZ;JASON;normal;O;O;N;N;L-littérat;2017;38 rue henri matisse;59400;CAMBRAI;0659280403;Jasondesprez59400@gmail.com;jason_desprez@ens.univ-artois.fr
|
||||
22200392;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;DUHAIN;LEA;normal;O;O;N;N;ES-Eco;2019;19 RUE KLEBER DELAPORTE;59680;FERRIERE-LA-PETITE;0785886605;duhainlea@gmail.com;lea_duhain@ens.univ-artois.fr
|
||||
21902131;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;HERNU;HUGO;normal;O;O;N;N;ST2S;2019;37 rue Léonce Breuvart;62920;GONNEHEM;+33621163842;hugo.hernu@gmail.com;hugo_hernu@ens.univ-artois.fr
|
||||
21900621;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;HOCQ;ROMANE;normal;O;O;N;N;ES-Eco;2019;2B rue de l'église;62120;RELY;+33613491900;romanehcq2909@gmail.com;romane_hocq@ens.univ-artois.fr
|
||||
21901913;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;JOLY;SARAH;normal;O;O;N;N;ES-Eco;2019;530 rue de l'Abbaye;62110;HENIN-BEAUMONT;+33612754250;joly_sarah2001@yahoo.com;sarah_joly@ens.univ-artois.fr
|
||||
20172151;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;KEIGNAERT;MATHIS;normal;N;O;N;N;STMG-Man.G;2017;8 rue Casimir Beugnet;62980;VERMELLES;0611863676;mathis.keignaert62980@gmail.com;mathis_keignaert@ens.univ-artois.fr
|
||||
20185696;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;KOSTUJ;DENIS;normal;N;O;O;N;A1-science;1992;1313 Pavé de Laventie;59253;LA GORGUE;0617424702;kostuj.denis@gmail.com;denis_kostuj@ens.univ-artois.fr
|
||||
20180702;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;LAGACHE;FAUSTIN;normal;N;O;N;N;L-littérat;2018;36 rue Bocquet Flochel;62000;ARRAS;+33781562536;faustin.lagachesn@gmail.com;faustin_lagache@ens.univ-artois.fr
|
||||
21909531;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;LANNOOTE;ELOISE;normal;N;O;N;N;ES-Eco;2019;4 boulevard de Strasbourg;62000;ARRAS;0783548937;eloise.lannoote@laposte.net;
|
||||
21901869;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;LAPORTE;LESLIE;normal;O;O;N;N;L-littérat;2019;29 rue du Général Leclerc;80370;BERNAVILLE;0636373193;leslie.laporte80@gmail.com;leslie_laporte@ens.univ-artois.fr
|
||||
21901010;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;LECLUSE;ANTOINE;normal;O;O;N;N;ES-Eco;2019;245 Rue Aristide Briand;62110;HENIN-BEAUMONT;+33624606762;toinou.leclus@gmail.com;antoine_lecluse@ens.univ-artois.fr
|
||||
21901476;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;LEFEBVRE;ANTOINE;normal;O;O;N;N;S-Sciences;2019;59 rue haute;62120;AIRE-SUR-LA-LYS;+33637965023;antoinelefebvrefrance@gmail.com;antoine_lefebvre6@ens.univ-artois.fr
|
||||
21900603;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;LOHEZ;ALYZEE;normal;O;O;N;N;ES-Eco;2019;15 rue Mirabeau;62410;WINGLES;0695639980;alyzeelohez02@gmail.com;alyzee_lohez@ens.univ-artois.fr
|
||||
21902585;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;MANGNIERS;MATHILDE;normal;O;O;N;N;ES-Eco;2019;14 RUE DU VIEUX COJEUL;62128;HENIN-SUR-COJEUL;+33634111962;mathilde.mangniers62128@orange.fr;mathilde_mangniers@ens.univ-artois.fr
|
||||
21901464;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;ODOARD;MAXIME;normal;O;O;N;N;ES-Eco;2019;24 RUE LURCAT;62000;ARRAS;+33782506598;maxou.od.62@gmail.com;maxime_odoard@ens.univ-artois.fr
|
||||
20173045;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;PALINIEWICZ;CLEMENT;normal;O;O;N;N;S-Sciences;2017;1106 rue Roger Salengro;62122;LABEUVRIERE;06.84.72.26.51;paliclem@gmail.com;clement_paliniewicz@ens.univ-artois.fr
|
||||
20180608;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;PAPILLAUD;FLORIAN;normal;O;O;N;N;S-Sciences;2018;27 rue d'Arras;62153;ABLAIN-SAINT-NAZAIRE;+33762470910;florian_papillaud@ens.univ-artois.fr;florian_papillaud@ens.univ-artois.fr
|
||||
20184801;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;POLAN;NICOLAS;normal;N;O;O;N;ES-Eco;2015;20 rue du 11 novembre;62151;BURBURE;+33681157455;polan.nicolas@orange.fr;nicolas_polan@ens.univ-artois.fr
|
||||
20071797;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;POTEL;ANNE SOPHIE;INSPE CONT;O;O;N;N;L-littérat;2007;2 Rés la BRAVA APPT5;62800;LIEVIN;0658813989;;annesophie_potel@ens.univ-artois.fr
|
||||
22201591;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;ROBLIN;LAURA;normal;O;O;N;N;S-Sciences;2019;32 rue Florent Evrard;62790;LEFOREST;0767291535;laura.roblin62790@gmail.com;laura_roblin@ens.univ-artois.fr
|
||||
20171112;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;SORRIAUX;MARGAUX;normal;O;O;N;N;ES-Eco;2017;22 rue émile breton;62000;ARRAS;0683732879;margaux_sorriaux@ens.univ-artois.fr;margaux_sorriaux@ens.univ-artois.fr
|
||||
20171052;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;SWAELS;THIBAULT;normal;O;O;N;N;L-littérat;2017;12 rue Raoul François;62000;ARRAS;0602360618;swaels.thibault@gmail.com;thibault_swaels@ens.univ-artois.fr
|
||||
20181560;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;VANLANDE;NOEMIE;normal;N;O;N;N;ES-Eco;2017;88 RUE JULES GUESDE;62800;LIEVIN;0640964584;noemie.vanlande@icloud.com;noemie_vanlande@ens.univ-artois.fr
|
||||
22200455;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;VELTZ;JOEL;normal;N;O;N;N;ES-Eco;2017;2 Rue de la 2ème D.B;57560;LAFRIMBOLLE;0617543652;joel.veltz@gmail.com;
|
||||
20184308;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;WATTEL;THOMAS;normal;O;O;N;N;STMG-Man.G;2018;59 rue d'Anvin;62470;CALONNE-RICOUART;+33616362715;thomas_wattel@ens.univ-artois.fr;thomas_wattel@ens.univ-artois.fr
|
||||
21900867;M1 MEEF 2nd deg Hist Géo;M1 MEEF 2nd degré Histoire-Géographie;WUIOT--XAVIER;CLEMENT;normal;O;O;N;N;ES-Eco;2019;88 rue Carnot;62950;NOYELLES-GODAULT;+33762607945;clemwx62@gmail.com;clement_wuiot--xavier@ens.univ-artois.fr
|
||||
22204861;M1 Sc religions_EFR_FOAD;M1 Sciences des religions et sociétés _ Etudes des faits religieux (FOAD);ADAME;NADJIMA;normal;N;O;N;N;L-littérat;2018;6 rue Pierre Deley;31400;TOULOUSE;0752863521;a.nadjima29@gmail.com;
|
||||
22201159;M1 Sc religions_EFR_FOAD;M1 Sciences des religions et sociétés _ Etudes des faits religieux (FOAD);BAL;SELIM;normal;N;O;N;N;S-Sciences;2016;21 Bis Bd Batonnier Cholet;44100;NANTES;0652264497;balselim61@gmail.com;
|
||||
22200406;M1 Sc religions_EFR_FOAD;M1 Sciences des religions et sociétés _ Etudes des faits religieux (FOAD);DE GROEVE;CATHY;normal;O;O;N;N;B-éco soc;1990;18 rue Louis Pasteur;59217;CATTENIERES;0685227135;cathy.de-groeve@wanadoo.fr;cathy_degroeve@ens.univ-artois.fr
|
||||
20171376;M1 Sc religions_EFR_FOAD;M1 Sciences des religions et sociétés _ Etudes des faits religieux (FOAD);DELELIS;EVAN;normal;O;O;N;N;L-littérat;2017;32 RUE DE SAINT QUENTIN;02100;FAYET;0660974401;evan.delelis@gmail.com;evan_delelis@ens.univ-artois.fr
|
||||
20180616;M1 Sc religions_EFR_FOAD;M1 Sciences des religions et sociétés _ Etudes des faits religieux (FOAD);DUBOIS;CASSANDRE;normal;O;O;N;N;ES-Eco;2018;10 RUE DE KATOWICE;62470;CALONNE-RICOUART;0676401892;duboiscassandre0@gmail.com;cassandre_dubois@ens.univ-artois.fr
|
||||
21909807;M1 Sc religions_EFR_FOAD;M1 Sciences des religions et sociétés _ Etudes des faits religieux (FOAD);GARCIA;ANGEL;normal;O;O;N;N;0030-capac;2007;3 rue Robert Schuman;62300;LENS;06 02 07 93 26;angel.garcia@ac-lille.fr;angel_garcia@ens.univ-artois.fr
|
||||
20112565;M1 Sc religions_EFR_FOAD;M1 Sciences des religions et sociétés _ Etudes des faits religieux (FOAD);GAUDRAT;AXEL;normal;O;O;N;N;ES-Eco;2007;111 impasse Clabaut;62400;BETHUNE;+33679619500;axelgaudrat@gmail.com;axel_gaudrat@ens.univ-artois.fr
|
||||
22200391;M1 Sc religions_EFR_FOAD;M1 Sciences des religions et sociétés _ Etudes des faits religieux (FOAD);GIBOURET;DAVID;normal;O;O;N;N;C-mathémat;1991;1 rue Arthur Auger;92120;MONTROUGE;06 63 07 44 78;gibouretdavid@yahoo.fr;david_gibouret@ens.univ-artois.fr
|
||||
22202240;M1 Sc religions_EFR_FOAD;M1 Sciences des religions et sociétés _ Etudes des faits religieux (FOAD);MANDON;GEOFFREY;normal;N;O;N;N;S-Sciences;2016;5 ter rue du pont Trouca;84000;AVIGNON;0679532963;geoffrey.mandon@gmail.com;
|
||||
22200276;M1 Sc religions_EFR_FOAD;M1 Sciences des religions et sociétés _ Etudes des faits religieux (FOAD);MAROUF;RYAN;normal;O;O;N;N;STMG-Man.G;2018;22 rue André Breton;91250;SAINT-GERMAIN-LES-CORBEIL;0632152428;ryanmarouf@outlook.fr;ryan_marouf@ens.univ-artois.fr
|
||||
22200459;M1 Sc religions_EFR_FOAD;M1 Sciences des religions et sociétés _ Etudes des faits religieux (FOAD);MESMOUDI FAIZ;SOUMAYA;normal;O;O;N;N;0031-étran;2004;4 Rue Moulay Rachid Apt 22 ETG 3;;;+212648751962;soumaya.mesmoudi@protonmail.com;soumaya_mesmoudifaiz@ens.univ-artois.fr
|
||||
22200208;M1 Sc religions_EFR_FOAD;M1 Sciences des religions et sociétés _ Etudes des faits religieux (FOAD);NKI DIMITHE;SAMUEL;normal;N;O;N;N;ES-Eco;2014;100 Bd de l'Ouest;59650;VILLENEUVE-D'ASCQ;;filmneal@gmail.com;
|
||||
22200197;M1 Sc religions_EFR_FOAD;M1 Sciences des religions et sociétés _ Etudes des faits religieux (FOAD);OHLEN;OLIVIA;normal;O;O;N;N;0031-étran;1982;lieu dit Pesquies;09500;ROUMENGOUX;0614383412;ohlenolivia@gmail.com;olivia_ohlen@ens.univ-artois.fr
|
||||
22200001;M1 Sc religions_EFR_FOAD;M1 Sciences des religions et sociétés _ Etudes des faits religieux (FOAD);ROUBAUD;VALERIE;normal;O;O;N;N;A2-langues;1986;70 IMPASSE DES AMANDIERS;73130;SAINT-MARTIN-SUR-LA-CHAMBRE;06 88 41 45 34;val.savoie@orange.fr;valerie_roubaud@ens.univ-artois.fr
|
||||
22202263;M1 Sc religions_EFR_FOAD;M1 Sciences des religions et sociétés _ Etudes des faits religieux (FOAD);ROUDIES;SIDI HAMZA;normal;N;O;N;N;0031-étran;1998;930 Domaine de la vigne;59910;BONDUES;+33670250777;sh.roudies@gmail.com;
|
||||
22204806;M1 Sc religions_EFR_FOAD;M1 Sciences des religions et sociétés _ Etudes des faits religieux (FOAD);SOLTANI;SAFIA;Géré AC;O;O;N;N;STT-Tech.T;1995;16 rue de l'ancien Moulin;89120;CHARNY-OREE-DE-PUISAYE;;;safia_soltani@ens.univ-artois.fr
|
||||
22200055;M1 Sc religions_EFR_FOAD;M1 Sciences des religions et sociétés _ Etudes des faits religieux (FOAD);TUGAN;ELIF;normal;O;O;N;N;L-littérat;2017;49 ALLÉE ROBESPIERRE;59150;WATTRELOS;0664158456;tuganelif@hotmail.com;elif_tugan@ens.univ-artois.fr
|
||||
22205341;M1 Sc religions_EFR_FOAD;M1 Sciences des religions et sociétés _ Etudes des faits religieux (FOAD);YOUSFI;SAMIRA;normal;N;O;N;N;0031-étran;2006;33 Rue Wimppeling;68000;COLMAR;0624868933;yousfi.samira.cfpp68@gmail.com;
|
||||
20162162;M2 GTDL _ DTAE;M2 Gestion des territoires et développement local _ Développement des territoires, aménagement et environnement;BAKALARZ;HUGO;normal;O;O;N;N;ES-Eco;2016;40 rue Estenne Cauchy;62223;SAINT-LAURENT-BLANGY;0788383956;bakalarz.hugo@gmail.com;hugo_bakalarz@ens.univ-artois.fr
|
||||
22103161;M2 GTDL _ DTAE;M2 Gestion des territoires et développement local _ Développement des territoires, aménagement et environnement;BALLANDRAS;MAELLE;normal;O;O;N;N;ES-Eco;2017;329A allée des Ursulines ;;;+33783516706;maelle.ballandras@gmail.com;maelle_ballandras@ens.univ-artois.fr
|
||||
22000593;M2 GTDL _ DTAE;M2 Gestion des territoires et développement local _ Développement des territoires, aménagement et environnement;BOUSSEKEY;ROMANE;normal;O;O;N;N;S-Sciences;2016;41 rue de Cambrai;59225;CLARY;0643710022;boussekeyromane@gmail.com;romane_boussekey@ens.univ-artois.fr
|
||||
22104365;M2 GTDL _ DTAE;M2 Gestion des territoires et développement local _ Développement des territoires, aménagement et environnement;CARION;CORENTIN;normal;O;O;N;N;ES-Eco;2017;15 route d'haudroy;02260;LA FLAMENGRIE;0677114506;corentincarion@orange.fr;corentin_carion@ens.univ-artois.fr
|
||||
22100984;M2 GTDL _ DTAE;M2 Gestion des territoires et développement local _ Développement des territoires, aménagement et environnement;CASSARD;SOIZIC;normal;O;O;N;N;ES-Eco;2017;1 rue de la draisine;44450;SAINT-JULIEN-DE-CONCELLES;0782661389;cassard.soizic@gmail.com;soizic_cassard@ens.univ-artois.fr
|
||||
22104539;M2 GTDL _ DTAE;M2 Gestion des territoires et développement local _ Développement des territoires, aménagement et environnement;LE GOUANVIC;ALEXANDRE;normal;O;O;N;N;ES-Eco;2017;8 rue des gourlis;92500;RUEIL-MALMAISON;;legouanvic.alexandre@gmail.com;alexandre_legouanvic@ens.univ-artois.fr
|
||||
20184904;M2 GTDL _ DTAE;M2 Gestion des territoires et développement local _ Développement des territoires, aménagement et environnement;POMMART;ADELINE;normal;O;O;N;N;S-Sciences;2017;14 résidence les saules;62223;SAINTE-CATHERINE;0768754618;adel.pom22@gmail.com;adeline_pommart@ens.univ-artois.fr
|
||||
20181355;M2 GTDL _ DTAE;M2 Gestion des territoires et développement local _ Développement des territoires, aménagement et environnement;SAURO;TESSA;normal;O;O;N;N;ES-Eco;2018;51 RUE BASLY;62790;LEFOREST;+33768745394;tessasau@gmail.com;tessa_sauro@ens.univ-artois.fr
|
||||
22204457;M2 Hist civ pat_GPC;M2 Histoire, civilisations, patrimoine _ Gestion du patrimoine culturel;ROBLOT;LAURA;normal;O;O;N;N;L-littérat;2018;38 rue des Prieurs;80560;PUCHEVILLERS;0628925427;laura.roblot@outlook.fr;laura_roblot@ens.univ-artois.fr
|
||||
20171162;M2 Hist civ pat_Hist civ;M2 Histoire, civilisations, patrimoine _ Histoire et civilisations;LEICHT;ARTHUR;normal;O;O;N;N;ES-Eco;2017;126 rue George Sand;62575;BLENDECQUES;+33616985875;arthur.leicht@sfr.fr;arthur_leicht@ens.univ-artois.fr
|
||||
20165035;M2 MEEF 2nd deg Hist Géo;M2 MEEF 2nd degré Histoire-Géographie;BACOT;MAXIME;normal;O;O;O;N;STMG-Man.G;2016;9 rue Emile Didier;62000;ARRAS;06.70.07.15.09;maximebacot6@gmail.com;maxime_bacot@ens.univ-artois.fr
|
||||
20171803;M2 MEEF 2nd deg Hist Géo;M2 MEEF 2nd degré Histoire-Géographie;BLAS;CELESTIN;normal;O;O;O;N;L-littérat;2017;33 RUE DU MONT DE LA VIGNE;59151;ESTREES;0658940561;blas.celestin@gmail.com;celestin_blas@ens.univ-artois.fr
|
||||
20181598;M2 MEEF 2nd deg Hist Géo;M2 MEEF 2nd degré Histoire-Géographie;DECAMP;LUCIE;normal;O;O;N;N;ES-Eco;2018;74 rue dAmiens;62000;ARRAS;+33750359690;lucie_decamp@ens.univ-artois.fr;lucie_decamp@ens.univ-artois.fr
|
||||
20180570;M2 MEEF 2nd deg Hist Géo;M2 MEEF 2nd degré Histoire-Géographie;DEFRANCE;APOLLINE;normal;O;O;N;N;ES-Eco;2018;57 rue de Constantinople;62120;AIRE-SUR-LA-LYS;+33682942331;apolline.defrance@ens.univ-artois.fr;apolline_defrance@ens.univ-artois.fr
|
||||
20180836;M2 MEEF 2nd deg Hist Géo;M2 MEEF 2nd degré Histoire-Géographie;DELAVIER;FLORE;normal;O;O;N;N;S-Sciences;2018;209B Rue Roger Salengro;62330;ISBERGUES;+33628154064;flore_delavier@ens.univ-artois.fr;flore_delavier@ens.univ-artois.fr
|
||||
20180747;M2 MEEF 2nd deg Hist Géo;M2 MEEF 2nd degré Histoire-Géographie;DUHAMEL;THOMAS;normal;N;O;N;N;S-Sciences;2018;153 RUE DELALLEAU;62350;BUSNES;+33789582157;thom.duhamel18@gmail.com;thomas_duhamel1@ens.univ-artois.fr
|
||||
20173014;M2 MEEF 2nd deg Hist Géo;M2 MEEF 2nd degré Histoire-Géographie;IHALOUINE;WARI;normal;N;O;O;N;ES-Eco;2017;164 rue de l'authie;62110;HENIN-BEAUMONT;06.95.46.97.01;ihalouine.wari@gmail.com;wari_ihalouine@ens.univ-artois.fr
|
||||
20170589;M2 MEEF 2nd deg Hist Géo;M2 MEEF 2nd degré Histoire-Géographie;LEFRERE;MAXIME;normal;O;O;O;N;S-Sciences;2017;26 Rue Jean Jaurès;62580;GIVENCHY-EN-GOHELLE;06.29.86.59.26;max5962ld@gmail.com;maxime_lefrere@ens.univ-artois.fr
|
||||
20171105;M2 MEEF 2nd deg Hist Géo;M2 MEEF 2nd degré Histoire-Géographie;PRESEAU;MARIETTE;normal;O;O;N;N;ES-Eco;2017;14 RUE LOUIS MAILLET;59169;ROUCOURT;0688255140;premariette@gmail.com;mariette_preseau@ens.univ-artois.fr
|
||||
20182735;M2 MEEF 2nd deg Hist Géo;M2 MEEF 2nd degré Histoire-Géographie;QUEANT;ANTOINE;normal;O;O;N;N;L-littérat;2018;5 rue de Douai;62128;GUEMAPPE;+33684009936;antoine.queant@orange.fr;antoine_queant@ens.univ-artois.fr
|
||||
22101679;M2 Sc religions_EFR_FOAD;M2 Sciences des religions et sociétés_Etudes des faits religieux (FOAD);BOUKORRAS;MELANIE;normal;O;O;N;N;L-littérat;2018;4 rue d'Hermaville;62123;HABARCQ;0652740015;melanieboukorras@gmail.com;melanie_boukorras@ens.univ-artois.fr
|
||||
22203326;M2 Sc religions_EFR_FOAD;M2 Sciences des religions et sociétés_Etudes des faits religieux (FOAD);CALARD;FRANCK;normal;N;O;N;N;L-littérat;2016;4632 Avenue de Repentigny;;;+1 514-886-4062;franck.calard@outlook.fr;
|
||||
20171597;M2 Sc religions_EFR_FOAD;M2 Sciences des religions et sociétés_Etudes des faits religieux (FOAD);DUPONT;ALEXANDRE;normal;O;O;N;N;S-Sciences;2017;2 RUE D'ALBERT;62540;MARLES-LES-MINES;06.41.48.65.47;alex.dupont62540@gmail.com;alexandre_dupont2@ens.univ-artois.fr
|
||||
622;;;;;dont AJAC : 23;;;;;;;;;;;;
|
||||
;;;;;;;;;;;;;;;;;
|
|
Before Width: | Height: | Size: 148 KiB |
Before Width: | Height: | Size: 47 KiB |
@ -1,355 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
inkscape:export-ydpi="128"
|
||||
inkscape:export-xdpi="128"
|
||||
inkscape:export-filename="accueil.png"
|
||||
sodipodi:docname="accueil.svg"
|
||||
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
|
||||
id="svg8"
|
||||
version="1.1"
|
||||
viewBox="0 0 142.2828 23.797365"
|
||||
height="89.942802"
|
||||
width="537.76178"
|
||||
xml:space="preserve"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"><defs
|
||||
id="defs2"><linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient1932"><stop
|
||||
style="stop-color:#ffffff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop1928" /><stop
|
||||
style="stop-color:#ed60c9;stop-opacity:1;"
|
||||
offset="0.71511286"
|
||||
id="stop2786" /><stop
|
||||
style="stop-color:#db9d60;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop1930" /></linearGradient><linearGradient
|
||||
id="k"
|
||||
gradientTransform="matrix(7.99974,0,0,7.9977797,-873.96742,-7808.7674)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="122.75008"
|
||||
x2="111.74973"
|
||||
xlink:href="#b"
|
||||
y1="991.62115"
|
||||
y2="977.11713" /><linearGradient
|
||||
id="b"><stop
|
||||
offset="0"
|
||||
stop-color="#0369a3"
|
||||
id="stop7" /><stop
|
||||
offset="1"
|
||||
stop-color="#1c99e0"
|
||||
id="stop9" /></linearGradient><linearGradient
|
||||
id="j"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="108.00134"
|
||||
x2="20.001341"
|
||||
y1="122"
|
||||
y2="6"><stop
|
||||
offset="0"
|
||||
stop-color="#e6e6e6"
|
||||
id="stop35" /><stop
|
||||
offset="1"
|
||||
stop-color="#fff"
|
||||
id="stop37" /></linearGradient><linearGradient
|
||||
id="i"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="108.00134"
|
||||
x2="20.001341"
|
||||
xlink:href="#b"
|
||||
y1="130"
|
||||
y2="14" /><linearGradient
|
||||
id="h"
|
||||
gradientTransform="matrix(4.4999,0,0,3.66665,-942.97741,2199.6564)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x2="0"
|
||||
y1="-581.63782"
|
||||
y2="-578.63782"><stop
|
||||
offset="0"
|
||||
stop-color="#63bbee"
|
||||
id="stop29" /><stop
|
||||
offset="1"
|
||||
stop-color="#aadcf7"
|
||||
id="stop31" /></linearGradient><linearGradient
|
||||
id="g"
|
||||
gradientTransform="matrix(-4.19983,0,0,3.9111,1540.9405,-4523.1636)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x2="0"
|
||||
xlink:href="#a"
|
||||
y1="1173"
|
||||
y2="1178" /><linearGradient
|
||||
id="a"><stop
|
||||
offset="0"
|
||||
stop-color="#666"
|
||||
id="stop2" /><stop
|
||||
offset="1"
|
||||
stop-color="#333"
|
||||
id="stop4" /></linearGradient><linearGradient
|
||||
id="f"
|
||||
gradientTransform="matrix(4.19983,0,0,3.9111,-1392.9394,-4521.9436)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x2="0"
|
||||
xlink:href="#a"
|
||||
y1="1173"
|
||||
y2="1178" /><linearGradient
|
||||
id="e"
|
||||
gradientTransform="matrix(1.19997,0,0,1.22222,-281.19161,858.5534)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x2="0"
|
||||
y1="-629.66907"
|
||||
y2="-635.54944"><stop
|
||||
offset="0"
|
||||
stop-color="#18a303"
|
||||
id="stop22" /><stop
|
||||
offset="1"
|
||||
stop-color="#106802"
|
||||
id="stop24" /></linearGradient><linearGradient
|
||||
id="d"
|
||||
gradientTransform="matrix(4.19983,0,0,3.9111,-1392.9394,-4517.0536)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x2="0"
|
||||
y1="1173"
|
||||
y2="1178"><stop
|
||||
offset="0"
|
||||
stop-color="#0369a3"
|
||||
id="stop17" /><stop
|
||||
offset="1"
|
||||
stop-color="#023f62"
|
||||
id="stop19" /></linearGradient><linearGradient
|
||||
id="c"
|
||||
gradientTransform="matrix(0,0.791084,-1.28,0,1499.6005,-282.0136)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="445.69522"
|
||||
x2="441.38797"
|
||||
y1="1103.5776"
|
||||
y2="1099.8198"><stop
|
||||
offset="0"
|
||||
stop-color="#e9b913"
|
||||
id="stop12" /><stop
|
||||
offset="1"
|
||||
stop-color="#ff0"
|
||||
id="stop14" /></linearGradient><radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient1932"
|
||||
id="radialGradient1934"
|
||||
cx="75.284492"
|
||||
cy="52.004837"
|
||||
fx="75.284492"
|
||||
fy="52.004837"
|
||||
r="37.683716"
|
||||
gradientTransform="matrix(1.4493524,0,0,0.13268325,-32.195302,47.700862)"
|
||||
gradientUnits="userSpaceOnUse" /></defs><sodipodi:namedview
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-height="1009"
|
||||
inkscape:window-width="1920"
|
||||
lock-margins="true"
|
||||
units="px"
|
||||
fit-margin-bottom="2"
|
||||
fit-margin-right="2"
|
||||
fit-margin-left="2"
|
||||
fit-margin-top="2"
|
||||
inkscape:guide-bbox="true"
|
||||
showguides="true"
|
||||
inkscape:snap-global="true"
|
||||
showgrid="false"
|
||||
inkscape:document-rotation="0"
|
||||
inkscape:current-layer="layer1"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:cy="45.848777"
|
||||
inkscape:cx="320.94144"
|
||||
inkscape:zoom="1.6903395"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
borderopacity="1.0"
|
||||
bordercolor="#666666"
|
||||
pagecolor="#ffffff"
|
||||
id="base"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:snap-midpoints="true"
|
||||
inkscape:snap-intersection-paths="true"
|
||||
inkscape:snap-smooth-nodes="true"
|
||||
inkscape:object-paths="true"
|
||||
inkscape:snap-page="true"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:deskcolor="#d1d1d1"><sodipodi:guide
|
||||
id="guide1680"
|
||||
orientation="0,-1"
|
||||
position="49.468369,9.3105083"
|
||||
inkscape:locked="false" /><sodipodi:guide
|
||||
position="22.573103,16.883296"
|
||||
orientation="0,-1"
|
||||
id="guide946"
|
||||
inkscape:locked="false" /></sodipodi:namedview><metadata
|
||||
id="metadata5"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><g
|
||||
transform="translate(-18.860632,-46.160183)"
|
||||
id="layer1"
|
||||
inkscape:groupmode="layer"
|
||||
inkscape:label="Calque 1"><text
|
||||
xml:space="preserve"
|
||||
style="font-size:7.1582px;line-height:1.25;font-family:sans-serif;text-align:center;letter-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1"
|
||||
x="85.525116"
|
||||
y="55.261539"
|
||||
id="text1493"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1489"
|
||||
x="85.525116"
|
||||
y="55.261539"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.1582px;font-family:Pacifico;-inkscape-font-specification:Pacifico;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1">Gestion des inscriptions, des groupes, </tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="85.525116"
|
||||
y="64.515999"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.1582px;font-family:Pacifico;-inkscape-font-specification:Pacifico;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1"
|
||||
id="tspan1491"> et exportation des feuilles d'émargement</tspan></text><g
|
||||
id="g854"
|
||||
transform="matrix(0.46962342,0,0,0.46954938,34.68549,31.42631)"
|
||||
style="stroke-width:1.56539"><g
|
||||
id="g919"
|
||||
transform="matrix(2.0256057,0,0,2.085527,3.858094,-3.9539377)"
|
||||
style="stroke:#000000;stroke-width:1.20891;stroke-opacity:1"><rect
|
||||
ry="0.56339979"
|
||||
y="4.3255968"
|
||||
x="0.92013353"
|
||||
height="3.7594025"
|
||||
width="3.8382711"
|
||||
id="rect12"
|
||||
style="fill:#de0000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.078579;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
|
||||
rx="0.5800662" /><path
|
||||
style="fill:#ffffff;stroke:#ffffff;stroke-width:0.683033;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 1.6159,5.0384659 3.9724208,7.4062084"
|
||||
id="path841" /><path
|
||||
id="path843"
|
||||
d="M 3.9724208,5.0384659 1.6159,7.4062084"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.683033;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /></g><g
|
||||
id="g923"
|
||||
transform="matrix(1.9487365,0,0,2.0063839,-0.66234441,-0.08147761)"
|
||||
style="stroke-width:1.20891"><rect
|
||||
style="fill:#00bf00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.078579;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
|
||||
id="rect10"
|
||||
width="3.8382711"
|
||||
height="3.7594025"
|
||||
x="0.92013353"
|
||||
y="0.34176376"
|
||||
ry="0.56339979"
|
||||
rx="0.5800662" /><path
|
||||
style="fill:#ffffff;stroke:none;stroke-width:0.319856px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 1.4619106,1.7500935 C 1.3627577,2.4034195 1.7869697,2.7038331 2.3820759,3.4752278 2.7236407,3.2105071 3.8437643,1.6082077 4.3539528,0.68451321 3.7444013,1.2569625 3.3467309,1.6796751 2.3752981,2.7432214 1.891109,2.378332 1.7782083,2.0571129 1.4619106,1.7500935 Z"
|
||||
id="path16"
|
||||
sodipodi:nodetypes="ccccc" /></g></g><rect
|
||||
style="fill:none;stroke:none;stroke-width:0.148;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke;stop-color:#000000"
|
||||
id="rect4845"
|
||||
width="66.024391"
|
||||
height="16.182283"
|
||||
x="31.987135"
|
||||
y="46.825306" /><text
|
||||
xml:space="preserve"
|
||||
style="font-size:7.1582px;line-height:1.25;font-family:sans-serif;text-align:center;letter-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.278467"
|
||||
x="85.525116"
|
||||
y="55.261539"
|
||||
id="text835"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan833"
|
||||
x="85.525116"
|
||||
y="55.261539"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.1582px;font-family:Pacifico;-inkscape-font-specification:Pacifico;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.278467">Gestion des inscriptions, des groupes, </tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="85.525116"
|
||||
y="64.515999"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.1582px;font-family:Pacifico;-inkscape-font-specification:Pacifico;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.278467"
|
||||
id="tspan1481"> et exportation des feuilles d'émargement</tspan></text><g
|
||||
transform="matrix(0.1376497,0,0,0.15959018,15.807283,23.767637)"
|
||||
id="g884"
|
||||
style="stroke-width:1.89623;stroke-miterlimit:4;stroke-dasharray:none"><rect
|
||||
style="fill:#00ff00;fill-rule:evenodd;stroke:#000000;stroke-width:1.89623;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect880"
|
||||
width="38.433739"
|
||||
height="35.890331"
|
||||
x="37.868542"
|
||||
y="83.64991"
|
||||
ry="2.5985754"
|
||||
rx="2.5985754" /><path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:7.58474;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
|
||||
d="M 71.512572,88.41099 60.11298,113.78783 43.185151,105.76978 55.59032,107.11953 Z"
|
||||
id="path882"
|
||||
sodipodi:nodetypes="ccccc" /></g><g
|
||||
id="g707"
|
||||
transform="matrix(-1.3014879,0,0,1.3013395,90.568179,-27.473987)"
|
||||
style="stroke-width:0.768395"><path
|
||||
style="fill:#ffaaaa;stroke:#ffaaaa;stroke-width:0.145387px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 32.868516,47.600605 -0.366612,-0.401844 c -0.130653,-0.0014 -0.244136,-0.02956 -0.445709,0.07959 -0.223557,0.171563 -0.330967,0.316158 -0.426213,0.457928 -0.08585,0.16678 -0.06788,0.284727 -0.04862,0.402065 l 0.389419,0.37004 z"
|
||||
id="path1605"
|
||||
sodipodi:nodetypes="ccccccc" /><path
|
||||
id="path903"
|
||||
d="m 33.069673,47.791562 0.480667,-0.318663 c 0.418787,0.621828 0.209483,0.808821 1.279672,1.881624"
|
||||
style="fill:none;stroke:#686868;stroke-width:0.27145;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
sodipodi:nodetypes="ccc" /><g
|
||||
id="g901"
|
||||
style="stroke-width:1.35985;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
transform="matrix(0.05389082,-0.02832206,0.02707528,0.05589484,22.682222,45.978325)"><path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.35985;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 165.60421,210.25518 -16.67346,-14.97786 19.49947,-6.49982 z"
|
||||
id="path886" /><path
|
||||
style="fill:#ffcc00;stroke:#000000;stroke-width:1.35985;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 148.93075,195.27732 -29.6731,-89.58453 19.78207,-6.217222 29.3905,89.301932 z"
|
||||
id="path888"
|
||||
sodipodi:nodetypes="ccccc" /><path
|
||||
style="fill:#cccccc;stroke:#000000;stroke-width:1.35985;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 119.25765,105.69279 19.78206,-6.217223 5.18467,15.184943 -20.19347,6.3466 z"
|
||||
id="path896"
|
||||
sodipodi:nodetypes="ccccc" /><path
|
||||
style="fill:#000000;stroke:none;stroke-width:1.35985;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 165.60421,210.25518 1.82913,-13.90142 c -1.86721,0.41019 -1.24071,5.14178 -2.26609,5.73964 -0.90416,0.52717 -2.9307,-2.35026 -4.06786,-2.12548 -1.70014,0.33605 2.39156,6.64425 -1.96215,4.47795 z"
|
||||
id="path1247"
|
||||
sodipodi:nodetypes="ccsscc" /></g></g><g
|
||||
id="g2449"
|
||||
transform="matrix(1.1432259,0,0,1.1432259,-22.591005,-7.8839574)"><g
|
||||
id="g2362"
|
||||
transform="matrix(0.11481241,0,0,0.11481241,235.1247,60.097108)"
|
||||
style="fill:#ffffff;stroke-width:3.16928"><path
|
||||
id="path2352"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:3.16928"
|
||||
sodipodi:type="inkscape:offset"
|
||||
inkscape:radius="2.0816321"
|
||||
inkscape:original="M -728.79883 -97.443359 C -732.61758 -96.26711 -738.63867 -95.09375 -738.63867 -95.09375 C -738.63867 -95.09375 -731.7393 -94.94546 -734.5293 -86.136719 C -736.23429 -80.742974 -739.26673 -71.237174 -743.76172 -58.554688 C -773.79669 -47.838448 -794.21289 -33.363281 -794.21289 -33.363281 C -776.76041 -43.084522 -760.15804 -50.147114 -744.93555 -55.255859 C -748.2818 -45.744619 -751.71015 -32.848903 -742.44141 -29.222656 C -735.68766 -26.578909 -724.97811 -32.985711 -719.10938 -40.470703 C -727.91562 -34.454459 -732.76531 -31.661254 -736.28906 -35.1875 C -739.8153 -38.713747 -735.13773 -50.611801 -733.64648 -54.716797 C -733.35773 -55.508046 -732.81602 -57.089455 -732.10352 -59.220703 C -688.15606 -71.58319 -658.54102 -67.646484 -658.54102 -67.646484 C -684.16725 -72.34523 -709.35393 -68.898744 -730.94141 -62.6875 C -728.91517 -68.778744 -726.13547 -77.251336 -723.54297 -85.205078 C -720.90172 -93.945069 -723.40509 -97.443359 -728.79883 -97.443359 z M -743.58984 -92.960938 C -747.07792 -92.973888 -754.66383 -91.342252 -759.5332 -78.111328 C -764.0182 -67.993838 -763.25172 -68.759604 -765.85547 -63.318359 C -768.65047 -57.477115 -771.31492 -55.392032 -770.51367 -55.800781 C -770.51367 -55.800781 -760.73539 -54.098532 -752.61914 -70.541016 C -748.14165 -79.613507 -746.74741 -90.766252 -741.35742 -92.78125 L -741.7168 -92.767578 C -741.7168 -92.767578 -742.42714 -92.956621 -743.58984 -92.960938 z M -777.41992 -90.025391 C -777.58874 -90.030791 -777.75313 -90.02411 -777.91406 -90 C -780.49281 -89.607501 -785.21484 -88.433594 -785.21484 -88.433594 C -785.21484 -88.433594 -783.62508 -88.631949 -782.39258 -85.314453 C -781.42258 -82.708205 -787.74805 -64.636719 -787.74805 -64.636719 C -787.74805 -64.636719 -791.83727 -52.92445 -787.57227 -49.189453 C -781.72978 -45.219457 -775.08016 -50.570706 -772.37891 -52.970703 C -771.80016 -53.591953 -771.47852 -54.009766 -771.47852 -54.009766 C -778.81352 -50.10727 -780.08008 -52.346175 -780.67383 -55.076172 C -781.26258 -57.80617 -777.36805 -67.953526 -774.43555 -77.509766 C -771.68634 -86.474601 -774.8876 -89.944573 -777.41992 -90.025391 z "
|
||||
d="m -728.79883,-99.525391 a 2.0818403,2.0818403 0 0 0 -0.61328,0.0918 c -3.60265,1.109687 -9.625,2.296875 -9.625,2.296875 a 2.0818403,2.0818403 0 0 0 -0.85742,2.988281 2.0818403,2.0818403 0 0 0 -1.39063,-0.642578 2.0818403,2.0818403 0 0 0 -0.15234,-0.07031 l -0.35938,0.01367 c -0.3556,-0.07346 -0.75505,-0.191488 -1.78515,-0.195313 -4.14843,-0.0154 -12.81206,2.376395 -17.9043,16.212891 l 0.0508,-0.125 c -4.50484,10.162242 -3.72896,9.371923 -6.29687,14.738281 -1.32796,2.775296 -2.60457,4.622948 -3.45508,5.738281 -0.42526,0.557667 -0.72389,0.903422 -0.96484,1.208985 -0.0602,0.07639 -0.11604,0.146904 -0.19922,0.271484 -0.0832,0.12458 -0.32442,0.03224 -0.38477,1.115235 -0.002,0.03343 0.0315,0.101142 0.0312,0.138671 -3.26321,1.68424 -4.9809,1.794931 -5.27148,1.703125 -0.15001,-0.04739 -0.12895,-0.02558 -0.25196,-0.232422 -0.12259,-0.206164 -0.28204,-0.655001 -0.41015,-1.242187 0.009,0.03958 0.006,-1.043993 0.31055,-2.423828 0.30499,-1.379836 0.81616,-3.1654 1.4414,-5.175781 1.25048,-4.020764 2.95996,-8.955559 4.44141,-13.783204 a 2.0818403,2.0818403 0 0 0 0,-0.002 c 1.46308,-4.770917 1.45024,-8.337021 0.43945,-10.949218 -1.01079,-2.612197 -3.1601,-4.186045 -5.34766,-4.25586 -0.26681,-0.0085 -0.55851,3.38e-4 -0.86914,0.04687 a 2.0818403,2.0818403 0 0 0 -0.004,0 c -2.81544,0.428524 -7.49024,1.605469 -7.49024,1.605469 a 2.0818403,2.0818403 0 0 0 0.75977,4.085937 c 0,0 -0.31156,0.0121 -0.39258,-0.0039 -0.081,-0.016 -0.11211,-0.04327 -0.0644,-0.01172 0.0953,0.0631 0.56053,0.420807 1.07031,1.792968 a 2.0818403,2.0818403 0 0 0 0,0.002 c -0.14489,-0.389294 -0.004,0.06941 -0.0703,0.6875 -0.0666,0.618091 -0.21927,1.481906 -0.4375,2.466797 -0.43646,1.969783 -1.12592,4.439751 -1.84766,6.833985 -1.44348,4.788466 -3.01367,9.27539 -3.01367,9.27539 a 2.0818403,2.0818403 0 0 0 0,0.002 c 0,0 -1.08395,3.07802 -1.60742,6.710938 -0.26174,1.816459 -0.39818,3.78972 -0.14258,5.707031 0.2556,1.917312 0.9236,3.883641 2.51953,5.28125 a 2.0818403,2.0818403 0 0 0 0.20117,0.15625 c 3.58452,2.435692 7.63432,1.997155 10.74805,0.695313 3.11373,-1.301843 5.58767,-3.389493 6.99805,-4.642578 a 2.0818403,2.0818403 0 0 0 0.14062,-0.138672 c 0.63385,-0.680395 1.02734,-1.1875 1.02735,-1.1875 a 2.0818403,2.0818403 0 0 0 0.20507,-0.992188 c 0.37683,0.0153 0.41104,0.0646 0.95703,0.01367 1.25802,-0.117332 2.97958,-0.477113 4.94336,-1.402344 3.92756,-1.850462 8.7531,-5.95371 12.97071,-14.498047 2.35061,-4.76291 3.83139,-9.898945 5.36718,-13.951171 1.5358,-4.052227 3.18566,-6.674713 4.75586,-7.261719 a 2.0818403,2.0818403 0 0 0 0.92383,-3.138672 2.0818403,2.0818403 0 0 0 1.02149,0.958984 c 0,0 1.08346,0.08943 1.81836,0.697266 0.7349,0.607836 1.5964,1.618533 0.35156,5.548828 a 2.0818403,2.0818403 0 0 0 0,0.002 c -1.64769,5.212463 -4.66559,14.57949 -8.91211,26.619141 -29.76401,10.777034 -49.99024,25.083984 -49.99024,25.083984 a 2.0818403,2.0818403 0 0 0 2.2168,3.515625 c 15.88496,-8.848113 30.99725,-15.392092 45.04688,-20.339844 -1.19533,3.842774 -2.25362,7.884246 -2.34766,11.802735 -0.0637,2.6552 0.28607,5.241932 1.42383,7.527343 1.13739,2.284674 3.12879,4.194391 5.875,5.269532 4.25616,1.666068 9.15965,0.447437 13.71679,-1.916016 4.55715,-2.363452 8.87789,-5.984987 12.01368,-9.984375 a 2.0818403,2.0818403 0 0 0 -2.8125,-3.003906 c -4.38006,2.992364 -7.75617,5.120208 -10.11328,5.984375 -1.17856,0.432083 -2.05684,0.542866 -2.69336,0.460937 -0.63653,-0.08193 -1.11151,-0.298574 -1.72657,-0.914062 a 2.0818403,2.0818403 0 0 0 0,-0.002 c -0.30497,-0.304974 -0.64745,-1.137453 -0.67578,-2.53125 -0.0283,-1.393798 0.23561,-3.207647 0.66992,-5.072266 0.86863,-3.729238 2.36908,-7.639825 3.13282,-9.742187 0.23425,-0.641978 0.70952,-2.052502 1.1875,-3.46875 43.00147,-11.899251 71.6875,-8.107422 71.6875,-8.107422 a 2.0818403,2.0818403 0 0 0 0.64843,-4.111328 c -24.61757,-4.513802 -48.64727,-1.519514 -69.63281,4.109375 1.8888,-5.707466 4.04998,-12.274864 6.23438,-18.976563 a 2.0818403,2.0818403 0 0 0 0.0137,-0.04297 c 1.39555,-4.617942 1.61694,-8.165472 0.25976,-10.917968 -1.35717,-2.752497 -4.3609,-4.003907 -7.50781,-4.003907 z" /></g><g
|
||||
id="g489"
|
||||
transform="matrix(0.11481241,0,0,0.11481241,235.1247,60.097108)"
|
||||
style="stroke-width:3.16928"><path
|
||||
d="m -741.71893,-92.768085 c 0,0 -11.32,-2.98625 -17.8125,14.655 -4.485,10.1175 -3.72125,9.35625 -6.325,14.7975 -2.795,5.84125 -5.46125,7.92125 -4.66,7.5125 0,0 9.78,1.7025 17.89625,-14.74 4.4775,-9.0725 5.87125,-20.2225 11.26125,-22.2375"
|
||||
style="fill:#193476;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.16928"
|
||||
id="path2574" /><path
|
||||
d="m -772.37643,-52.971835 c 0.57875,-0.62125 0.89875,-1.0375 0.89875,-1.0375 -7.335,3.9025 -8.60125,1.665 -9.195,-1.065 -0.58875,-2.73 3.30375,-12.87625 6.23625,-22.4325 2.9325,-9.5625 -0.9025,-12.87625 -3.4775,-12.49 -2.57875,0.3925 -7.3,1.5625 -7.3,1.5625 0,0 1.58875,-0.195 2.82125,3.1225 0.97,2.60625 -5.3575,20.6775 -5.3575,20.6775 0,0 -4.09,11.70875 0.175,15.44375 5.8425,3.97 12.4975,-1.38125 15.19875,-3.78125"
|
||||
style="fill:#f46717;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.16928"
|
||||
id="path2576" /><path
|
||||
d="m -658.54018,-67.648085 c -25.62625,-4.69875 -50.81375,-1.24875 -72.40125,4.9625 -0.42375,1.26875 -0.81,2.43 -1.16,3.465 43.9475,-12.3625 73.56125,-8.4275 73.56125,-8.4275"
|
||||
style="fill:#b3bbe5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.16928"
|
||||
id="path2578" /><path
|
||||
d="m -743.76143,-58.555585 c -30.035,10.71625 -50.45125,25.19 -50.45125,25.19 17.4525,-9.72125 34.0525,-16.78 49.275,-21.88875 0.0937,-0.26625 0.1875,-0.525 0.27875,-0.78375 0.30375,-0.8525 0.605,-1.69 0.8975,-2.5175"
|
||||
style="fill:#b3bbe5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.16928"
|
||||
id="path2580" /><path
|
||||
d="m -736.28768,-35.186835 c -3.52625,-3.52625 1.15,-15.425 2.64125,-19.53 0.28875,-0.79125 0.8325,-2.3725 1.545,-4.50375 0.35,-1.035 0.73625,-2.19625 1.16,-3.465 2.02625,-6.09125 4.805,-14.565 7.3975,-22.51875 2.64125,-8.74 0.1375,-12.23875 -5.25625,-12.23875 -3.81875,1.17625 -9.83875,2.34875 -9.83875,2.34875 0,0 6.9,0.1475 4.11,8.95625 -1.705,5.39375 -4.7375,14.9 -9.2325,27.5825 -0.2925,0.8275 -0.59375,1.665 -0.8975,2.5175 -0.0912,0.25875 -0.185,0.5175 -0.27875,0.78375 -3.34625,9.51125 -6.77125,22.40375 2.4975,26.03 6.75375,2.64375 17.46,-3.76 23.32875,-11.245 -8.80625,6.01625 -13.6525,8.80875 -17.17625,5.2825"
|
||||
style="fill:#35af3f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.16928"
|
||||
id="path2582" /></g></g><g
|
||||
id="g2056"
|
||||
transform="translate(-35.154076,-15.621205)"><g
|
||||
id="g1248"
|
||||
transform="translate(-3.4089682,16.030063)"><rect
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
|
||||
id="rect1446"
|
||||
width="6.6498156"
|
||||
height="6.4167376"
|
||||
x="50.830681"
|
||||
y="75.350082"
|
||||
ry="1.3043859" /><path
|
||||
style="fill:#03b7ea;fill-opacity:1;stroke:#000000;stroke-width:0.465;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 53.653937,84.776494 -0.02333,-7.326466 5.78651,5.249857 -3.803231,-0.863312 z"
|
||||
id="path633" /></g></g></g></svg>
|
Before Width: | Height: | Size: 24 KiB |
@ -1,324 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
inkscape:export-ydpi="128"
|
||||
inkscape:export-xdpi="128"
|
||||
inkscape:export-filename="accueil.png"
|
||||
sodipodi:docname="accueil.svg"
|
||||
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
|
||||
id="svg8"
|
||||
version="1.1"
|
||||
viewBox="0 0 174.66718 10.000005"
|
||||
height="37.795296"
|
||||
width="660.15942"
|
||||
xml:space="preserve"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"><defs
|
||||
id="defs2"><linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient1932"><stop
|
||||
style="stop-color:#ffffff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop1928" /><stop
|
||||
style="stop-color:#ed60c9;stop-opacity:1;"
|
||||
offset="0.71511286"
|
||||
id="stop2786" /><stop
|
||||
style="stop-color:#db9d60;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop1930" /></linearGradient><linearGradient
|
||||
id="k"
|
||||
gradientTransform="matrix(7.99974,0,0,7.9977797,-873.96742,-7808.7674)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="122.75008"
|
||||
x2="111.74973"
|
||||
xlink:href="#b"
|
||||
y1="991.62115"
|
||||
y2="977.11713" /><linearGradient
|
||||
id="b"><stop
|
||||
offset="0"
|
||||
stop-color="#0369a3"
|
||||
id="stop7" /><stop
|
||||
offset="1"
|
||||
stop-color="#1c99e0"
|
||||
id="stop9" /></linearGradient><linearGradient
|
||||
id="j"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="108.00134"
|
||||
x2="20.001341"
|
||||
y1="122"
|
||||
y2="6"><stop
|
||||
offset="0"
|
||||
stop-color="#e6e6e6"
|
||||
id="stop35" /><stop
|
||||
offset="1"
|
||||
stop-color="#fff"
|
||||
id="stop37" /></linearGradient><linearGradient
|
||||
id="i"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="108.00134"
|
||||
x2="20.001341"
|
||||
xlink:href="#b"
|
||||
y1="130"
|
||||
y2="14" /><linearGradient
|
||||
id="h"
|
||||
gradientTransform="matrix(4.4999,0,0,3.66665,-942.97741,2199.6564)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x2="0"
|
||||
y1="-581.63782"
|
||||
y2="-578.63782"><stop
|
||||
offset="0"
|
||||
stop-color="#63bbee"
|
||||
id="stop29" /><stop
|
||||
offset="1"
|
||||
stop-color="#aadcf7"
|
||||
id="stop31" /></linearGradient><linearGradient
|
||||
id="g"
|
||||
gradientTransform="matrix(-4.19983,0,0,3.9111,1540.9405,-4523.1636)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x2="0"
|
||||
xlink:href="#a"
|
||||
y1="1173"
|
||||
y2="1178" /><linearGradient
|
||||
id="a"><stop
|
||||
offset="0"
|
||||
stop-color="#666"
|
||||
id="stop2" /><stop
|
||||
offset="1"
|
||||
stop-color="#333"
|
||||
id="stop4" /></linearGradient><linearGradient
|
||||
id="f"
|
||||
gradientTransform="matrix(4.19983,0,0,3.9111,-1392.9394,-4521.9436)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x2="0"
|
||||
xlink:href="#a"
|
||||
y1="1173"
|
||||
y2="1178" /><linearGradient
|
||||
id="e"
|
||||
gradientTransform="matrix(1.19997,0,0,1.22222,-281.19161,858.5534)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x2="0"
|
||||
y1="-629.66907"
|
||||
y2="-635.54944"><stop
|
||||
offset="0"
|
||||
stop-color="#18a303"
|
||||
id="stop22" /><stop
|
||||
offset="1"
|
||||
stop-color="#106802"
|
||||
id="stop24" /></linearGradient><linearGradient
|
||||
id="d"
|
||||
gradientTransform="matrix(4.19983,0,0,3.9111,-1392.9394,-4517.0536)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x2="0"
|
||||
y1="1173"
|
||||
y2="1178"><stop
|
||||
offset="0"
|
||||
stop-color="#0369a3"
|
||||
id="stop17" /><stop
|
||||
offset="1"
|
||||
stop-color="#023f62"
|
||||
id="stop19" /></linearGradient><linearGradient
|
||||
id="c"
|
||||
gradientTransform="matrix(0,0.791084,-1.28,0,1499.6005,-282.0136)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="445.69522"
|
||||
x2="441.38797"
|
||||
y1="1103.5776"
|
||||
y2="1099.8198"><stop
|
||||
offset="0"
|
||||
stop-color="#e9b913"
|
||||
id="stop12" /><stop
|
||||
offset="1"
|
||||
stop-color="#ff0"
|
||||
id="stop14" /></linearGradient><radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient1932"
|
||||
id="radialGradient1934"
|
||||
cx="75.284492"
|
||||
cy="52.004837"
|
||||
fx="75.284492"
|
||||
fy="52.004837"
|
||||
r="37.683716"
|
||||
gradientTransform="matrix(1.4493524,0,0,0.13268325,-32.195302,47.700862)"
|
||||
gradientUnits="userSpaceOnUse" /></defs><sodipodi:namedview
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-height="1009"
|
||||
inkscape:window-width="1920"
|
||||
lock-margins="true"
|
||||
units="px"
|
||||
fit-margin-bottom="2"
|
||||
fit-margin-right="2"
|
||||
fit-margin-left="2"
|
||||
fit-margin-top="2"
|
||||
inkscape:guide-bbox="true"
|
||||
showguides="true"
|
||||
inkscape:snap-global="true"
|
||||
showgrid="false"
|
||||
inkscape:document-rotation="0"
|
||||
inkscape:current-layer="layer1"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:cy="61.201468"
|
||||
inkscape:cx="144.09683"
|
||||
inkscape:zoom="2.8348993"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
borderopacity="1.0"
|
||||
bordercolor="#666666"
|
||||
pagecolor="#ffffff"
|
||||
id="base"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:snap-midpoints="true"
|
||||
inkscape:snap-intersection-paths="true"
|
||||
inkscape:snap-smooth-nodes="true"
|
||||
inkscape:object-paths="true"
|
||||
inkscape:snap-page="true"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:deskcolor="#d1d1d1"><sodipodi:guide
|
||||
id="guide1680"
|
||||
orientation="0,-1"
|
||||
position="46.02753,-1.0460123"
|
||||
inkscape:locked="false" /><sodipodi:guide
|
||||
position="19.132263,6.5267754"
|
||||
orientation="0,-1"
|
||||
id="guide946"
|
||||
inkscape:locked="false" /></sodipodi:namedview><metadata
|
||||
id="metadata5"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><g
|
||||
transform="translate(-22.301472,-49.601023)"
|
||||
id="layer1"
|
||||
inkscape:groupmode="layer"
|
||||
inkscape:label="Calque 1"><g
|
||||
id="g854"
|
||||
transform="matrix(0.46962342,0,0,0.46954938,34.68549,31.42631)"
|
||||
style="stroke-width:1.56539"><g
|
||||
id="g919"
|
||||
transform="matrix(2.0256057,0,0,2.085527,3.858094,-3.9539377)"
|
||||
style="stroke:#000000;stroke-width:1.20891;stroke-opacity:1"><rect
|
||||
ry="0.56339979"
|
||||
y="4.3255968"
|
||||
x="0.92013353"
|
||||
height="3.7594025"
|
||||
width="3.8382711"
|
||||
id="rect12"
|
||||
style="fill:#de0000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.078579;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
|
||||
rx="0.5800662" /><path
|
||||
style="fill:#ffffff;stroke:#ffffff;stroke-width:0.683033;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 1.6159,5.0384659 3.9724208,7.4062084"
|
||||
id="path841" /><path
|
||||
id="path843"
|
||||
d="M 3.9724208,5.0384659 1.6159,7.4062084"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.683033;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /></g><g
|
||||
id="g923"
|
||||
transform="matrix(1.9487365,0,0,2.0063839,-0.66234441,-0.08147761)"
|
||||
style="stroke-width:1.20891"><rect
|
||||
style="fill:#00bf00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.078579;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
|
||||
id="rect10"
|
||||
width="3.8382711"
|
||||
height="3.7594025"
|
||||
x="0.92013353"
|
||||
y="0.34176376"
|
||||
ry="0.56339979"
|
||||
rx="0.5800662" /><path
|
||||
style="fill:#ffffff;stroke:none;stroke-width:0.319856px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 1.4619106,1.7500935 C 1.3627577,2.4034195 1.7869697,2.7038331 2.3820759,3.4752278 2.7236407,3.2105071 3.8437643,1.6082077 4.3539528,0.68451321 3.7444013,1.2569625 3.3467309,1.6796751 2.3752981,2.7432214 1.891109,2.378332 1.7782083,2.0571129 1.4619106,1.7500935 Z"
|
||||
id="path16"
|
||||
sodipodi:nodetypes="ccccc" /></g></g><rect
|
||||
style="fill:none;stroke:none;stroke-width:0.148;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke;stop-color:#000000"
|
||||
id="rect4845"
|
||||
width="66.024391"
|
||||
height="16.182283"
|
||||
x="31.987135"
|
||||
y="46.825306" /><text
|
||||
xml:space="preserve"
|
||||
style="font-size:7.1582px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.278467"
|
||||
x="21.843348"
|
||||
y="56.329731"
|
||||
id="text835"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan833"
|
||||
x="21.843348"
|
||||
y="56.329731"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.1582px;font-family:Pacifico;-inkscape-font-specification:Pacifico;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.278467">Gestion des inscriptions, des groupes, feuilles d'émargement</tspan></text><g
|
||||
transform="matrix(0.1376497,0,0,0.15959018,15.807283,23.767637)"
|
||||
id="g884"
|
||||
style="stroke-width:1.89623;stroke-miterlimit:4;stroke-dasharray:none"><rect
|
||||
style="fill:#00ff00;fill-rule:evenodd;stroke:#000000;stroke-width:1.89623;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect880"
|
||||
width="38.433739"
|
||||
height="35.890331"
|
||||
x="37.868542"
|
||||
y="83.64991"
|
||||
ry="2.5985754"
|
||||
rx="2.5985754" /><path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-width:7.58474;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
|
||||
d="M 71.512572,88.41099 60.11298,113.78783 43.185151,105.76978 55.59032,107.11953 Z"
|
||||
id="path882"
|
||||
sodipodi:nodetypes="ccccc" /></g><g
|
||||
id="g707"
|
||||
transform="matrix(-1.3014879,0,0,1.3013395,90.568179,-27.473987)"
|
||||
style="stroke-width:0.768395"><path
|
||||
style="fill:#ffaaaa;stroke:#ffaaaa;stroke-width:0.145387px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 32.868516,47.600605 -0.366612,-0.401844 c -0.130653,-0.0014 -0.244136,-0.02956 -0.445709,0.07959 -0.223557,0.171563 -0.330967,0.316158 -0.426213,0.457928 -0.08585,0.16678 -0.06788,0.284727 -0.04862,0.402065 l 0.389419,0.37004 z"
|
||||
id="path1605"
|
||||
sodipodi:nodetypes="ccccccc" /><path
|
||||
id="path903"
|
||||
d="m 33.069673,47.791562 0.480667,-0.318663 c 0.418787,0.621828 0.209483,0.808821 1.279672,1.881624"
|
||||
style="fill:none;stroke:#686868;stroke-width:0.27145;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
sodipodi:nodetypes="ccc" /><g
|
||||
id="g901"
|
||||
style="stroke-width:1.35985;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
transform="matrix(0.05389082,-0.02832206,0.02707528,0.05589484,22.682222,45.978325)"><path
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.35985;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 165.60421,210.25518 -16.67346,-14.97786 19.49947,-6.49982 z"
|
||||
id="path886" /><path
|
||||
style="fill:#ffcc00;stroke:#000000;stroke-width:1.35985;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 148.93075,195.27732 -29.6731,-89.58453 19.78207,-6.217222 29.3905,89.301932 z"
|
||||
id="path888"
|
||||
sodipodi:nodetypes="ccccc" /><path
|
||||
style="fill:#cccccc;stroke:#000000;stroke-width:1.35985;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 119.25765,105.69279 19.78206,-6.217223 5.18467,15.184943 -20.19347,6.3466 z"
|
||||
id="path896"
|
||||
sodipodi:nodetypes="ccccc" /><path
|
||||
style="fill:#000000;stroke:none;stroke-width:1.35985;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 165.60421,210.25518 1.82913,-13.90142 c -1.86721,0.41019 -1.24071,5.14178 -2.26609,5.73964 -0.90416,0.52717 -2.9307,-2.35026 -4.06786,-2.12548 -1.70014,0.33605 2.39156,6.64425 -1.96215,4.47795 z"
|
||||
id="path1247"
|
||||
sodipodi:nodetypes="ccsscc" /></g></g><g
|
||||
id="g489"
|
||||
transform="matrix(0.08348366,0,0,0.08348366,79.288682,57.922646)"
|
||||
style="stroke-width:3.16928"><path
|
||||
d="m -741.71893,-92.768085 c 0,0 -11.32,-2.98625 -17.8125,14.655 -4.485,10.1175 -3.72125,9.35625 -6.325,14.7975 -2.795,5.84125 -5.46125,7.92125 -4.66,7.5125 0,0 9.78,1.7025 17.89625,-14.74 4.4775,-9.0725 5.87125,-20.2225 11.26125,-22.2375"
|
||||
style="fill:#193476;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.16928"
|
||||
id="path2574" /><path
|
||||
d="m -772.37643,-52.971835 c 0.57875,-0.62125 0.89875,-1.0375 0.89875,-1.0375 -7.335,3.9025 -8.60125,1.665 -9.195,-1.065 -0.58875,-2.73 3.30375,-12.87625 6.23625,-22.4325 2.9325,-9.5625 -0.9025,-12.87625 -3.4775,-12.49 -2.57875,0.3925 -7.3,1.5625 -7.3,1.5625 0,0 1.58875,-0.195 2.82125,3.1225 0.97,2.60625 -5.3575,20.6775 -5.3575,20.6775 0,0 -4.09,11.70875 0.175,15.44375 5.8425,3.97 12.4975,-1.38125 15.19875,-3.78125"
|
||||
style="fill:#f46717;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.16928"
|
||||
id="path2576" /><path
|
||||
d="m -658.54018,-67.648085 c -25.62625,-4.69875 -50.81375,-1.24875 -72.40125,4.9625 -0.42375,1.26875 -0.81,2.43 -1.16,3.465 43.9475,-12.3625 73.56125,-8.4275 73.56125,-8.4275"
|
||||
style="fill:#b3bbe5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.16928"
|
||||
id="path2578" /><path
|
||||
d="m -743.76143,-58.555585 c -30.035,10.71625 -50.45125,25.19 -50.45125,25.19 17.4525,-9.72125 34.0525,-16.78 49.275,-21.88875 0.0937,-0.26625 0.1875,-0.525 0.27875,-0.78375 0.30375,-0.8525 0.605,-1.69 0.8975,-2.5175"
|
||||
style="fill:#b3bbe5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.16928"
|
||||
id="path2580" /><path
|
||||
d="m -736.28768,-35.186835 c -3.52625,-3.52625 1.15,-15.425 2.64125,-19.53 0.28875,-0.79125 0.8325,-2.3725 1.545,-4.50375 0.35,-1.035 0.73625,-2.19625 1.16,-3.465 2.02625,-6.09125 4.805,-14.565 7.3975,-22.51875 2.64125,-8.74 0.1375,-12.23875 -5.25625,-12.23875 -3.81875,1.17625 -9.83875,2.34875 -9.83875,2.34875 0,0 6.9,0.1475 4.11,8.95625 -1.705,5.39375 -4.7375,14.9 -9.2325,27.5825 -0.2925,0.8275 -0.59375,1.665 -0.8975,2.5175 -0.0912,0.25875 -0.185,0.5175 -0.27875,0.78375 -3.34625,9.51125 -6.77125,22.40375 2.4975,26.03 6.75375,2.64375 17.46,-3.76 23.32875,-11.245 -8.80625,6.01625 -13.6525,8.80875 -17.17625,5.2825"
|
||||
style="fill:#35af3f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.16928"
|
||||
id="path2582" /></g><g
|
||||
id="g2056"
|
||||
transform="translate(-18.759485,-28.372554)"><g
|
||||
id="g1248"
|
||||
transform="translate(-3.4089682,16.030063)"><rect
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
|
||||
id="rect1446"
|
||||
width="6.6498156"
|
||||
height="6.4167376"
|
||||
x="50.830681"
|
||||
y="75.350082"
|
||||
ry="1.3043859" /><path
|
||||
style="fill:#03b7ea;fill-opacity:1;stroke:#000000;stroke-width:0.465;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 53.653937,84.776494 -0.02333,-7.326466 5.78651,5.249857 -3.803231,-0.863312 z"
|
||||
id="path633" /></g></g></g></svg>
|
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 3.5 KiB |
@ -1,174 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 12.7 12.7"
|
||||
version="1.1"
|
||||
id="svg401"
|
||||
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
|
||||
sodipodi:docname="bouton_inscription_excel.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview403"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
inkscape:zoom="9.7882727"
|
||||
inkscape:cx="24.059403"
|
||||
inkscape:cy="24.059403"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1009"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs398">
|
||||
<linearGradient
|
||||
id="SVGID_1_"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="203.5132"
|
||||
y1="1729.0183"
|
||||
x2="967.98682"
|
||||
y2="404.98169"
|
||||
gradientTransform="matrix(1,0,0,-1,0,2132)">
|
||||
<stop
|
||||
offset="0"
|
||||
style="stop-color:#18884F"
|
||||
id="stop240" />
|
||||
|
||||
<stop
|
||||
offset="0.5"
|
||||
style="stop-color:#117E43"
|
||||
id="stop242" />
|
||||
|
||||
<stop
|
||||
offset="1"
|
||||
style="stop-color:#0B6631"
|
||||
id="stop244" />
|
||||
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g
|
||||
inkscape:label="Calque 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<g
|
||||
id="g388"
|
||||
transform="matrix(0.00449684,0,0,0.0047145,2.1207223,2.4102833)"
|
||||
style="stroke-width:93.5788">
|
||||
<path
|
||||
fill="#185c37"
|
||||
d="M 1437.75,1011.75 532.5,852 v 1180.393 c 0,53.907 43.7,97.607 97.607,97.607 v 0 h 1562.036 c 53.907,0 97.607,-43.7 97.607,-97.607 v 0 -434.893 z"
|
||||
id="path226"
|
||||
style="stroke-width:4152.57" />
|
||||
<path
|
||||
fill="#21a366"
|
||||
d="M 1437.75,0 H 630.107 C 576.2,0 532.5,43.7 532.5,97.607 c 0,0 0,0 0,0 V 532.5 L 1437.75,1065 1917,1224.75 2289.75,1065 V 532.5 Z"
|
||||
id="path228"
|
||||
style="stroke-width:4152.57" />
|
||||
<path
|
||||
fill="#107c41"
|
||||
d="m 532.5,532.5 h 905.25 V 1065 H 532.5 Z"
|
||||
id="path230"
|
||||
style="stroke-width:4152.57" />
|
||||
<path
|
||||
opacity="0.1"
|
||||
enable-background="new "
|
||||
d="M 1180.393,426 H 532.5 v 1331.25 h 647.893 c 53.834,-0.175 97.432,-43.773 97.607,-97.607 V 523.607 c -0.175,-53.834 -43.773,-97.432 -97.607,-97.607 z"
|
||||
id="path232"
|
||||
style="stroke-width:4152.57" />
|
||||
<path
|
||||
opacity="0.2"
|
||||
enable-background="new "
|
||||
d="M 1127.143,479.25 H 532.5 V 1810.5 h 594.643 c 53.834,-0.175 97.432,-43.773 97.607,-97.607 V 576.857 c -0.175,-53.834 -43.773,-97.432 -97.607,-97.607 z"
|
||||
id="path234"
|
||||
style="stroke-width:4152.57" />
|
||||
<path
|
||||
opacity="0.2"
|
||||
enable-background="new "
|
||||
d="M 1127.143,479.25 H 532.5 V 1704 h 594.643 c 53.834,-0.175 97.432,-43.773 97.607,-97.607 V 576.857 c -0.175,-53.834 -43.773,-97.432 -97.607,-97.607 z"
|
||||
id="path236"
|
||||
style="stroke-width:4152.57" />
|
||||
<path
|
||||
opacity="0.2"
|
||||
enable-background="new "
|
||||
d="M 1073.893,479.25 H 532.5 V 1704 h 541.393 c 53.834,-0.175 97.432,-43.773 97.607,-97.607 V 576.857 c -0.175,-53.834 -43.773,-97.432 -97.607,-97.607 z"
|
||||
id="path238"
|
||||
style="stroke-width:4152.57" />
|
||||
<path
|
||||
fill="url(#SVGID_1_)"
|
||||
d="m 97.607,479.25 h 976.285 c 53.907,0 97.607,43.7 97.607,97.607 v 976.285 c 0,53.907 -43.7,97.607 -97.607,97.607 H 97.607 C 43.7,1650.75 0,1607.05 0,1553.143 V 576.857 C 0,522.95 43.7,479.25 97.607,479.25 Z"
|
||||
id="path247"
|
||||
style="fill:url(#SVGID_1_);stroke-width:4152.57" />
|
||||
<path
|
||||
fill="#ffffff"
|
||||
d="M 302.3,1382.264 507.632,1064.095 319.5,747.683 h 151.336 l 102.666,202.35 c 9.479,19.223 15.975,33.494 19.49,42.919 h 1.331 c 6.745,-15.336 13.845,-30.228 21.3,-44.677 L 725.371,747.79 H 864.3 L 671.375,1062.338 869.2,1382.263 H 721.378 L 602.79,1160.158 c -5.586,-9.45 -10.326,-19.376 -14.164,-29.66 h -1.757 c -3.474,10.075 -8.083,19.722 -13.739,28.755 l -122.102,223.011 z"
|
||||
id="path249"
|
||||
style="stroke-width:4152.57" />
|
||||
<path
|
||||
fill="#33c481"
|
||||
d="M 2192.143,0 H 1437.75 v 532.5 h 852 V 97.607 C 2289.75,43.7 2246.05,0 2192.143,0 Z"
|
||||
id="path251"
|
||||
style="stroke-width:4152.57" />
|
||||
<path
|
||||
fill="#107c41"
|
||||
d="m 1437.75,1065 h 852 v 532.5 h -852 z"
|
||||
id="path253"
|
||||
style="stroke-width:4152.57" />
|
||||
</g>
|
||||
<g
|
||||
id="g2449"
|
||||
transform="matrix(0.61470352,0,0,0.61470352,-88.108146,-29.73954)"
|
||||
style="stroke-width:13.7079">
|
||||
<g
|
||||
id="g2362"
|
||||
transform="matrix(0.11481241,0,0,0.11481241,235.1247,60.097108)"
|
||||
style="fill:#ffffff;stroke-width:3.16928">
|
||||
<path
|
||||
id="path2352"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:3.16928"
|
||||
sodipodi:type="inkscape:offset"
|
||||
inkscape:radius="2.0816321"
|
||||
inkscape:original="M -728.79883 -97.443359 C -732.61758 -96.26711 -738.63867 -95.09375 -738.63867 -95.09375 C -738.63867 -95.09375 -731.7393 -94.94546 -734.5293 -86.136719 C -736.23429 -80.742974 -739.26673 -71.237174 -743.76172 -58.554688 C -773.79669 -47.838448 -794.21289 -33.363281 -794.21289 -33.363281 C -776.76041 -43.084522 -760.15804 -50.147114 -744.93555 -55.255859 C -748.2818 -45.744619 -751.71015 -32.848903 -742.44141 -29.222656 C -735.68766 -26.578909 -724.97811 -32.985711 -719.10938 -40.470703 C -727.91562 -34.454459 -732.76531 -31.661254 -736.28906 -35.1875 C -739.8153 -38.713747 -735.13773 -50.611801 -733.64648 -54.716797 C -733.35773 -55.508046 -732.81602 -57.089455 -732.10352 -59.220703 C -688.15606 -71.58319 -658.54102 -67.646484 -658.54102 -67.646484 C -684.16725 -72.34523 -709.35393 -68.898744 -730.94141 -62.6875 C -728.91517 -68.778744 -726.13547 -77.251336 -723.54297 -85.205078 C -720.90172 -93.945069 -723.40509 -97.443359 -728.79883 -97.443359 z M -743.58984 -92.960938 C -747.07792 -92.973888 -754.66383 -91.342252 -759.5332 -78.111328 C -764.0182 -67.993838 -763.25172 -68.759604 -765.85547 -63.318359 C -768.65047 -57.477115 -771.31492 -55.392032 -770.51367 -55.800781 C -770.51367 -55.800781 -760.73539 -54.098532 -752.61914 -70.541016 C -748.14165 -79.613507 -746.74741 -90.766252 -741.35742 -92.78125 L -741.7168 -92.767578 C -741.7168 -92.767578 -742.42714 -92.956621 -743.58984 -92.960938 z M -777.41992 -90.025391 C -777.58874 -90.030791 -777.75313 -90.02411 -777.91406 -90 C -780.49281 -89.607501 -785.21484 -88.433594 -785.21484 -88.433594 C -785.21484 -88.433594 -783.62508 -88.631949 -782.39258 -85.314453 C -781.42258 -82.708205 -787.74805 -64.636719 -787.74805 -64.636719 C -787.74805 -64.636719 -791.83727 -52.92445 -787.57227 -49.189453 C -781.72978 -45.219457 -775.08016 -50.570706 -772.37891 -52.970703 C -771.80016 -53.591953 -771.47852 -54.009766 -771.47852 -54.009766 C -778.81352 -50.10727 -780.08008 -52.346175 -780.67383 -55.076172 C -781.26258 -57.80617 -777.36805 -67.953526 -774.43555 -77.509766 C -771.68634 -86.474601 -774.8876 -89.944573 -777.41992 -90.025391 z "
|
||||
d="m -728.79883,-99.525391 a 2.0818403,2.0818403 0 0 0 -0.61328,0.0918 c -3.60265,1.109687 -9.625,2.296875 -9.625,2.296875 a 2.0818403,2.0818403 0 0 0 -0.85742,2.988281 2.0818403,2.0818403 0 0 0 -1.39063,-0.642578 2.0818403,2.0818403 0 0 0 -0.15234,-0.07031 l -0.35938,0.01367 c -0.3556,-0.07346 -0.75505,-0.191488 -1.78515,-0.195313 -4.14843,-0.0154 -12.81206,2.376395 -17.9043,16.212891 l 0.0508,-0.125 c -4.50484,10.162242 -3.72896,9.371923 -6.29687,14.738281 -1.32796,2.775296 -2.60457,4.622948 -3.45508,5.738281 -0.42526,0.557667 -0.72389,0.903422 -0.96484,1.208985 -0.0602,0.07639 -0.11604,0.146904 -0.19922,0.271484 -0.0832,0.12458 -0.32442,0.03224 -0.38477,1.115235 -0.002,0.03343 0.0315,0.101142 0.0312,0.138671 -3.26321,1.68424 -4.9809,1.794931 -5.27148,1.703125 -0.15001,-0.04739 -0.12895,-0.02558 -0.25196,-0.232422 -0.12259,-0.206164 -0.28204,-0.655001 -0.41015,-1.242187 0.009,0.03958 0.006,-1.043993 0.31055,-2.423828 0.30499,-1.379836 0.81616,-3.1654 1.4414,-5.175781 1.25048,-4.020764 2.95996,-8.955559 4.44141,-13.783204 a 2.0818403,2.0818403 0 0 0 0,-0.002 c 1.46308,-4.770917 1.45024,-8.337021 0.43945,-10.949218 -1.01079,-2.612197 -3.1601,-4.186045 -5.34766,-4.25586 -0.26681,-0.0085 -0.55851,3.38e-4 -0.86914,0.04687 a 2.0818403,2.0818403 0 0 0 -0.004,0 c -2.81544,0.428524 -7.49024,1.605469 -7.49024,1.605469 a 2.0818403,2.0818403 0 0 0 0.75977,4.085937 c 0,0 -0.31156,0.0121 -0.39258,-0.0039 -0.081,-0.016 -0.11211,-0.04327 -0.0644,-0.01172 0.0953,0.0631 0.56053,0.420807 1.07031,1.792968 a 2.0818403,2.0818403 0 0 0 0,0.002 c -0.14489,-0.389294 -0.004,0.06941 -0.0703,0.6875 -0.0666,0.618091 -0.21927,1.481906 -0.4375,2.466797 -0.43646,1.969783 -1.12592,4.439751 -1.84766,6.833985 -1.44348,4.788466 -3.01367,9.27539 -3.01367,9.27539 a 2.0818403,2.0818403 0 0 0 0,0.002 c 0,0 -1.08395,3.07802 -1.60742,6.710938 -0.26174,1.816459 -0.39818,3.78972 -0.14258,5.707031 0.2556,1.917312 0.9236,3.883641 2.51953,5.28125 a 2.0818403,2.0818403 0 0 0 0.20117,0.15625 c 3.58452,2.435692 7.63432,1.997155 10.74805,0.695313 3.11373,-1.301843 5.58767,-3.389493 6.99805,-4.642578 a 2.0818403,2.0818403 0 0 0 0.14062,-0.138672 c 0.63385,-0.680395 1.02734,-1.1875 1.02735,-1.1875 a 2.0818403,2.0818403 0 0 0 0.20507,-0.992188 c 0.37683,0.0153 0.41104,0.0646 0.95703,0.01367 1.25802,-0.117332 2.97958,-0.477113 4.94336,-1.402344 3.92756,-1.850462 8.7531,-5.95371 12.97071,-14.498047 2.35061,-4.76291 3.83139,-9.898945 5.36718,-13.951171 1.5358,-4.052227 3.18566,-6.674713 4.75586,-7.261719 a 2.0818403,2.0818403 0 0 0 0.92383,-3.138672 2.0818403,2.0818403 0 0 0 1.02149,0.958984 c 0,0 1.08346,0.08943 1.81836,0.697266 0.7349,0.607836 1.5964,1.618533 0.35156,5.548828 a 2.0818403,2.0818403 0 0 0 0,0.002 c -1.64769,5.212463 -4.66559,14.57949 -8.91211,26.619141 -29.76401,10.777034 -49.99024,25.083984 -49.99024,25.083984 a 2.0818403,2.0818403 0 0 0 2.2168,3.515625 c 15.88496,-8.848113 30.99725,-15.392092 45.04688,-20.339844 -1.19533,3.842774 -2.25362,7.884246 -2.34766,11.802735 -0.0637,2.6552 0.28607,5.241932 1.42383,7.527343 1.13739,2.284674 3.12879,4.194391 5.875,5.269532 4.25616,1.666068 9.15965,0.447437 13.71679,-1.916016 4.55715,-2.363452 8.87789,-5.984987 12.01368,-9.984375 a 2.0818403,2.0818403 0 0 0 -2.8125,-3.003906 c -4.38006,2.992364 -7.75617,5.120208 -10.11328,5.984375 -1.17856,0.432083 -2.05684,0.542866 -2.69336,0.460937 -0.63653,-0.08193 -1.11151,-0.298574 -1.72657,-0.914062 a 2.0818403,2.0818403 0 0 0 0,-0.002 c -0.30497,-0.304974 -0.64745,-1.137453 -0.67578,-2.53125 -0.0283,-1.393798 0.23561,-3.207647 0.66992,-5.072266 0.86863,-3.729238 2.36908,-7.639825 3.13282,-9.742187 0.23425,-0.641978 0.70952,-2.052502 1.1875,-3.46875 43.00147,-11.899251 71.6875,-8.107422 71.6875,-8.107422 a 2.0818403,2.0818403 0 0 0 0.64843,-4.111328 c -24.61757,-4.513802 -48.64727,-1.519514 -69.63281,4.109375 1.8888,-5.707466 4.04998,-12.274864 6.23438,-18.976563 a 2.0818403,2.0818403 0 0 0 0.0137,-0.04297 c 1.39555,-4.617942 1.61694,-8.165472 0.25976,-10.917968 -1.35717,-2.752497 -4.3609,-4.003907 -7.50781,-4.003907 z" />
|
||||
</g>
|
||||
<g
|
||||
id="g489"
|
||||
transform="matrix(0.11481241,0,0,0.11481241,235.1247,60.097108)"
|
||||
style="stroke-width:3.16928">
|
||||
<path
|
||||
d="m -741.71893,-92.768085 c 0,0 -11.32,-2.98625 -17.8125,14.655 -4.485,10.1175 -3.72125,9.35625 -6.325,14.7975 -2.795,5.84125 -5.46125,7.92125 -4.66,7.5125 0,0 9.78,1.7025 17.89625,-14.74 4.4775,-9.0725 5.87125,-20.2225 11.26125,-22.2375"
|
||||
style="fill:#193476;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.16928"
|
||||
id="path2574" />
|
||||
<path
|
||||
d="m -772.37643,-52.971835 c 0.57875,-0.62125 0.89875,-1.0375 0.89875,-1.0375 -7.335,3.9025 -8.60125,1.665 -9.195,-1.065 -0.58875,-2.73 3.30375,-12.87625 6.23625,-22.4325 2.9325,-9.5625 -0.9025,-12.87625 -3.4775,-12.49 -2.57875,0.3925 -7.3,1.5625 -7.3,1.5625 0,0 1.58875,-0.195 2.82125,3.1225 0.97,2.60625 -5.3575,20.6775 -5.3575,20.6775 0,0 -4.09,11.70875 0.175,15.44375 5.8425,3.97 12.4975,-1.38125 15.19875,-3.78125"
|
||||
style="fill:#f46717;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.16928"
|
||||
id="path2576" />
|
||||
<path
|
||||
d="m -658.54018,-67.648085 c -25.62625,-4.69875 -50.81375,-1.24875 -72.40125,4.9625 -0.42375,1.26875 -0.81,2.43 -1.16,3.465 43.9475,-12.3625 73.56125,-8.4275 73.56125,-8.4275"
|
||||
style="fill:#b3bbe5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.16928"
|
||||
id="path2578" />
|
||||
<path
|
||||
d="m -743.76143,-58.555585 c -30.035,10.71625 -50.45125,25.19 -50.45125,25.19 17.4525,-9.72125 34.0525,-16.78 49.275,-21.88875 0.0937,-0.26625 0.1875,-0.525 0.27875,-0.78375 0.30375,-0.8525 0.605,-1.69 0.8975,-2.5175"
|
||||
style="fill:#b3bbe5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.16928"
|
||||
id="path2580" />
|
||||
<path
|
||||
d="m -736.28768,-35.186835 c -3.52625,-3.52625 1.15,-15.425 2.64125,-19.53 0.28875,-0.79125 0.8325,-2.3725 1.545,-4.50375 0.35,-1.035 0.73625,-2.19625 1.16,-3.465 2.02625,-6.09125 4.805,-14.565 7.3975,-22.51875 2.64125,-8.74 0.1375,-12.23875 -5.25625,-12.23875 -3.81875,1.17625 -9.83875,2.34875 -9.83875,2.34875 0,0 6.9,0.1475 4.11,8.95625 -1.705,5.39375 -4.7375,14.9 -9.2325,27.5825 -0.2925,0.8275 -0.59375,1.665 -0.8975,2.5175 -0.0912,0.25875 -0.185,0.5175 -0.27875,0.78375 -3.34625,9.51125 -6.77125,22.40375 2.4975,26.03 6.75375,2.64375 17.46,-3.76 23.32875,-11.245 -8.80625,6.01625 -13.6525,8.80875 -17.17625,5.2825"
|
||||
style="fill:#35af3f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.16928"
|
||||
id="path2582" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 14 KiB |
@ -1,174 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="72"
|
||||
height="52"
|
||||
viewBox="0 0 19.049999 13.758333"
|
||||
version="1.1"
|
||||
id="svg401"
|
||||
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
|
||||
sodipodi:docname="bouton_inscription_excel.svg.2023_07_03_12_39_37.0.svg"
|
||||
inkscape:export-filename="bouton_inscription_excel.png"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview403"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
inkscape:zoom="9.7882727"
|
||||
inkscape:cx="45.820137"
|
||||
inkscape:cy="24.059403"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1009"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs398">
|
||||
<linearGradient
|
||||
id="SVGID_1_"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="203.5132"
|
||||
y1="1729.0183"
|
||||
x2="967.98682"
|
||||
y2="404.98169"
|
||||
gradientTransform="matrix(1,0,0,-1,0,2132)">
|
||||
<stop
|
||||
offset="0"
|
||||
style="stop-color:#18884F"
|
||||
id="stop240" />
|
||||
<stop
|
||||
offset="0.5"
|
||||
style="stop-color:#117E43"
|
||||
id="stop242" />
|
||||
<stop
|
||||
offset="1"
|
||||
style="stop-color:#0B6631"
|
||||
id="stop244" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g
|
||||
inkscape:label="Calque 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<g
|
||||
id="g388"
|
||||
transform="matrix(0.00528564,0,0,0.00572812,6.2425699,1.1432967)"
|
||||
style="stroke-width:93.5788">
|
||||
<path
|
||||
fill="#185c37"
|
||||
d="M 1437.75,1011.75 532.5,852 v 1180.393 c 0,53.907 43.7,97.607 97.607,97.607 v 0 h 1562.036 c 53.907,0 97.607,-43.7 97.607,-97.607 v 0 -434.893 z"
|
||||
id="path226"
|
||||
style="stroke-width:4152.57" />
|
||||
<path
|
||||
fill="#21a366"
|
||||
d="M 1437.75,0 H 630.107 C 576.2,0 532.5,43.7 532.5,97.607 c 0,0 0,0 0,0 V 532.5 L 1437.75,1065 1917,1224.75 2289.75,1065 V 532.5 Z"
|
||||
id="path228"
|
||||
style="stroke-width:4152.57" />
|
||||
<path
|
||||
fill="#107c41"
|
||||
d="m 532.5,532.5 h 905.25 V 1065 H 532.5 Z"
|
||||
id="path230"
|
||||
style="stroke-width:4152.57" />
|
||||
<path
|
||||
opacity="0.1"
|
||||
enable-background="new "
|
||||
d="M 1180.393,426 H 532.5 v 1331.25 h 647.893 c 53.834,-0.175 97.432,-43.773 97.607,-97.607 V 523.607 c -0.175,-53.834 -43.773,-97.432 -97.607,-97.607 z"
|
||||
id="path232"
|
||||
style="stroke-width:4152.57" />
|
||||
<path
|
||||
opacity="0.2"
|
||||
enable-background="new "
|
||||
d="M 1127.143,479.25 H 532.5 V 1810.5 h 594.643 c 53.834,-0.175 97.432,-43.773 97.607,-97.607 V 576.857 c -0.175,-53.834 -43.773,-97.432 -97.607,-97.607 z"
|
||||
id="path234"
|
||||
style="stroke-width:4152.57" />
|
||||
<path
|
||||
opacity="0.2"
|
||||
enable-background="new "
|
||||
d="M 1127.143,479.25 H 532.5 V 1704 h 594.643 c 53.834,-0.175 97.432,-43.773 97.607,-97.607 V 576.857 c -0.175,-53.834 -43.773,-97.432 -97.607,-97.607 z"
|
||||
id="path236"
|
||||
style="stroke-width:4152.57" />
|
||||
<path
|
||||
opacity="0.2"
|
||||
enable-background="new "
|
||||
d="M 1073.893,479.25 H 532.5 V 1704 h 541.393 c 53.834,-0.175 97.432,-43.773 97.607,-97.607 V 576.857 c -0.175,-53.834 -43.773,-97.432 -97.607,-97.607 z"
|
||||
id="path238"
|
||||
style="stroke-width:4152.57" />
|
||||
<path
|
||||
fill="url(#SVGID_1_)"
|
||||
d="m 97.607,479.25 h 976.285 c 53.907,0 97.607,43.7 97.607,97.607 v 976.285 c 0,53.907 -43.7,97.607 -97.607,97.607 H 97.607 C 43.7,1650.75 0,1607.05 0,1553.143 V 576.857 C 0,522.95 43.7,479.25 97.607,479.25 Z"
|
||||
id="path247"
|
||||
style="fill:url(#SVGID_1_);stroke-width:4152.57" />
|
||||
<path
|
||||
fill="#ffffff"
|
||||
d="M 302.3,1382.264 507.632,1064.095 319.5,747.683 h 151.336 l 102.666,202.35 c 9.479,19.223 15.975,33.494 19.49,42.919 h 1.331 c 6.745,-15.336 13.845,-30.228 21.3,-44.677 L 725.371,747.79 H 864.3 L 671.375,1062.338 869.2,1382.263 H 721.378 L 602.79,1160.158 c -5.586,-9.45 -10.326,-19.376 -14.164,-29.66 h -1.757 c -3.474,10.075 -8.083,19.722 -13.739,28.755 l -122.102,223.011 z"
|
||||
id="path249"
|
||||
style="stroke-width:4152.57" />
|
||||
<path
|
||||
fill="#33c481"
|
||||
d="M 2192.143,0 H 1437.75 v 532.5 h 852 V 97.607 C 2289.75,43.7 2246.05,0 2192.143,0 Z"
|
||||
id="path251"
|
||||
style="stroke-width:4152.57" />
|
||||
<path
|
||||
fill="#107c41"
|
||||
d="m 1437.75,1065 h 852 v 532.5 h -852 z"
|
||||
id="path253"
|
||||
style="stroke-width:4152.57" />
|
||||
</g>
|
||||
<g
|
||||
id="g2449"
|
||||
transform="matrix(0.78875217,0,0,0.83562547,-112.84789,-40.104611)"
|
||||
style="stroke-width:13.7079">
|
||||
<g
|
||||
id="g2362"
|
||||
transform="matrix(0.11481241,0,0,0.11481241,235.1247,60.097108)"
|
||||
style="fill:#ffffff;stroke-width:3.16928">
|
||||
<path
|
||||
id="path2352"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:3.16928"
|
||||
sodipodi:type="inkscape:offset"
|
||||
inkscape:radius="2.0816321"
|
||||
inkscape:original="M -728.79883 -97.443359 C -732.61758 -96.26711 -738.63867 -95.09375 -738.63867 -95.09375 C -738.63867 -95.09375 -731.7393 -94.94546 -734.5293 -86.136719 C -736.23429 -80.742974 -739.26673 -71.237174 -743.76172 -58.554688 C -773.79669 -47.838448 -794.21289 -33.363281 -794.21289 -33.363281 C -776.76041 -43.084522 -760.15804 -50.147114 -744.93555 -55.255859 C -748.2818 -45.744619 -751.71015 -32.848903 -742.44141 -29.222656 C -735.68766 -26.578909 -724.97811 -32.985711 -719.10938 -40.470703 C -727.91562 -34.454459 -732.76531 -31.661254 -736.28906 -35.1875 C -739.8153 -38.713747 -735.13773 -50.611801 -733.64648 -54.716797 C -733.35773 -55.508046 -732.81602 -57.089455 -732.10352 -59.220703 C -688.15606 -71.58319 -658.54102 -67.646484 -658.54102 -67.646484 C -684.16725 -72.34523 -709.35393 -68.898744 -730.94141 -62.6875 C -728.91517 -68.778744 -726.13547 -77.251336 -723.54297 -85.205078 C -720.90172 -93.945069 -723.40509 -97.443359 -728.79883 -97.443359 z M -743.58984 -92.960938 C -747.07792 -92.973888 -754.66383 -91.342252 -759.5332 -78.111328 C -764.0182 -67.993838 -763.25172 -68.759604 -765.85547 -63.318359 C -768.65047 -57.477115 -771.31492 -55.392032 -770.51367 -55.800781 C -770.51367 -55.800781 -760.73539 -54.098532 -752.61914 -70.541016 C -748.14165 -79.613507 -746.74741 -90.766252 -741.35742 -92.78125 L -741.7168 -92.767578 C -741.7168 -92.767578 -742.42714 -92.956621 -743.58984 -92.960938 z M -777.41992 -90.025391 C -777.58874 -90.030791 -777.75313 -90.02411 -777.91406 -90 C -780.49281 -89.607501 -785.21484 -88.433594 -785.21484 -88.433594 C -785.21484 -88.433594 -783.62508 -88.631949 -782.39258 -85.314453 C -781.42258 -82.708205 -787.74805 -64.636719 -787.74805 -64.636719 C -787.74805 -64.636719 -791.83727 -52.92445 -787.57227 -49.189453 C -781.72978 -45.219457 -775.08016 -50.570706 -772.37891 -52.970703 C -771.80016 -53.591953 -771.47852 -54.009766 -771.47852 -54.009766 C -778.81352 -50.10727 -780.08008 -52.346175 -780.67383 -55.076172 C -781.26258 -57.80617 -777.36805 -67.953526 -774.43555 -77.509766 C -771.68634 -86.474601 -774.8876 -89.944573 -777.41992 -90.025391 z "
|
||||
d="m -728.79883,-99.525391 a 2.0818403,2.0818403 0 0 0 -0.61328,0.0918 c -3.60265,1.109687 -9.625,2.296875 -9.625,2.296875 a 2.0818403,2.0818403 0 0 0 -0.85742,2.988281 2.0818403,2.0818403 0 0 0 -1.39063,-0.642578 2.0818403,2.0818403 0 0 0 -0.15234,-0.07031 l -0.35938,0.01367 c -0.3556,-0.07346 -0.75505,-0.191488 -1.78515,-0.195313 -4.14843,-0.0154 -12.81206,2.376395 -17.9043,16.212891 l 0.0508,-0.125 c -4.50484,10.162242 -3.72896,9.371923 -6.29687,14.738281 -1.32796,2.775296 -2.60457,4.622948 -3.45508,5.738281 -0.42526,0.557667 -0.72389,0.903422 -0.96484,1.208985 -0.0602,0.07639 -0.11604,0.146904 -0.19922,0.271484 -0.0832,0.12458 -0.32442,0.03224 -0.38477,1.115235 -0.002,0.03343 0.0315,0.101142 0.0312,0.138671 -3.26321,1.68424 -4.9809,1.794931 -5.27148,1.703125 -0.15001,-0.04739 -0.12895,-0.02558 -0.25196,-0.232422 -0.12259,-0.206164 -0.28204,-0.655001 -0.41015,-1.242187 0.009,0.03958 0.006,-1.043993 0.31055,-2.423828 0.30499,-1.379836 0.81616,-3.1654 1.4414,-5.175781 1.25048,-4.020764 2.95996,-8.955559 4.44141,-13.783204 a 2.0818403,2.0818403 0 0 0 0,-0.002 c 1.46308,-4.770917 1.45024,-8.337021 0.43945,-10.949218 -1.01079,-2.612197 -3.1601,-4.186045 -5.34766,-4.25586 -0.26681,-0.0085 -0.55851,3.38e-4 -0.86914,0.04687 a 2.0818403,2.0818403 0 0 0 -0.004,0 c -2.81544,0.428524 -7.49024,1.605469 -7.49024,1.605469 a 2.0818403,2.0818403 0 0 0 0.75977,4.085937 c 0,0 -0.31156,0.0121 -0.39258,-0.0039 -0.081,-0.016 -0.11211,-0.04327 -0.0644,-0.01172 0.0953,0.0631 0.56053,0.420807 1.07031,1.792968 a 2.0818403,2.0818403 0 0 0 0,0.002 c -0.14489,-0.389294 -0.004,0.06941 -0.0703,0.6875 -0.0666,0.618091 -0.21927,1.481906 -0.4375,2.466797 -0.43646,1.969783 -1.12592,4.439751 -1.84766,6.833985 -1.44348,4.788466 -3.01367,9.27539 -3.01367,9.27539 a 2.0818403,2.0818403 0 0 0 0,0.002 c 0,0 -1.08395,3.07802 -1.60742,6.710938 -0.26174,1.816459 -0.39818,3.78972 -0.14258,5.707031 0.2556,1.917312 0.9236,3.883641 2.51953,5.28125 a 2.0818403,2.0818403 0 0 0 0.20117,0.15625 c 3.58452,2.435692 7.63432,1.997155 10.74805,0.695313 3.11373,-1.301843 5.58767,-3.389493 6.99805,-4.642578 a 2.0818403,2.0818403 0 0 0 0.14062,-0.138672 c 0.63385,-0.680395 1.02734,-1.1875 1.02735,-1.1875 a 2.0818403,2.0818403 0 0 0 0.20507,-0.992188 c 0.37683,0.0153 0.41104,0.0646 0.95703,0.01367 1.25802,-0.117332 2.97958,-0.477113 4.94336,-1.402344 3.92756,-1.850462 8.7531,-5.95371 12.97071,-14.498047 2.35061,-4.76291 3.83139,-9.898945 5.36718,-13.951171 1.5358,-4.052227 3.18566,-6.674713 4.75586,-7.261719 a 2.0818403,2.0818403 0 0 0 0.92383,-3.138672 2.0818403,2.0818403 0 0 0 1.02149,0.958984 c 0,0 1.08346,0.08943 1.81836,0.697266 0.7349,0.607836 1.5964,1.618533 0.35156,5.548828 a 2.0818403,2.0818403 0 0 0 0,0.002 c -1.64769,5.212463 -4.66559,14.57949 -8.91211,26.619141 -29.76401,10.777034 -49.99024,25.083984 -49.99024,25.083984 a 2.0818403,2.0818403 0 0 0 2.2168,3.515625 c 15.88496,-8.848113 30.99725,-15.392092 45.04688,-20.339844 -1.19533,3.842774 -2.25362,7.884246 -2.34766,11.802735 -0.0637,2.6552 0.28607,5.241932 1.42383,7.527343 1.13739,2.284674 3.12879,4.194391 5.875,5.269532 4.25616,1.666068 9.15965,0.447437 13.71679,-1.916016 4.55715,-2.363452 8.87789,-5.984987 12.01368,-9.984375 a 2.0818403,2.0818403 0 0 0 -2.8125,-3.003906 c -4.38006,2.992364 -7.75617,5.120208 -10.11328,5.984375 -1.17856,0.432083 -2.05684,0.542866 -2.69336,0.460937 -0.63653,-0.08193 -1.11151,-0.298574 -1.72657,-0.914062 a 2.0818403,2.0818403 0 0 0 0,-0.002 c -0.30497,-0.304974 -0.64745,-1.137453 -0.67578,-2.53125 -0.0283,-1.393798 0.23561,-3.207647 0.66992,-5.072266 0.86863,-3.729238 2.36908,-7.639825 3.13282,-9.742187 0.23425,-0.641978 0.70952,-2.052502 1.1875,-3.46875 43.00147,-11.899251 71.6875,-8.107422 71.6875,-8.107422 a 2.0818403,2.0818403 0 0 0 0.64843,-4.111328 c -24.61757,-4.513802 -48.64727,-1.519514 -69.63281,4.109375 1.8888,-5.707466 4.04998,-12.274864 6.23438,-18.976563 a 2.0818403,2.0818403 0 0 0 0.0137,-0.04297 c 1.39555,-4.617942 1.61694,-8.165472 0.25976,-10.917968 -1.35717,-2.752497 -4.3609,-4.003907 -7.50781,-4.003907 z" />
|
||||
</g>
|
||||
<g
|
||||
id="g489"
|
||||
transform="matrix(0.11481241,0,0,0.11481241,235.1247,60.097108)"
|
||||
style="stroke-width:3.16928">
|
||||
<path
|
||||
d="m -741.71893,-92.768085 c 0,0 -11.32,-2.98625 -17.8125,14.655 -4.485,10.1175 -3.72125,9.35625 -6.325,14.7975 -2.795,5.84125 -5.46125,7.92125 -4.66,7.5125 0,0 9.78,1.7025 17.89625,-14.74 4.4775,-9.0725 5.87125,-20.2225 11.26125,-22.2375"
|
||||
style="fill:#193476;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.16928"
|
||||
id="path2574" />
|
||||
<path
|
||||
d="m -772.37643,-52.971835 c 0.57875,-0.62125 0.89875,-1.0375 0.89875,-1.0375 -7.335,3.9025 -8.60125,1.665 -9.195,-1.065 -0.58875,-2.73 3.30375,-12.87625 6.23625,-22.4325 2.9325,-9.5625 -0.9025,-12.87625 -3.4775,-12.49 -2.57875,0.3925 -7.3,1.5625 -7.3,1.5625 0,0 1.58875,-0.195 2.82125,3.1225 0.97,2.60625 -5.3575,20.6775 -5.3575,20.6775 0,0 -4.09,11.70875 0.175,15.44375 5.8425,3.97 12.4975,-1.38125 15.19875,-3.78125"
|
||||
style="fill:#f46717;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.16928"
|
||||
id="path2576" />
|
||||
<path
|
||||
d="m -658.54018,-67.648085 c -25.62625,-4.69875 -50.81375,-1.24875 -72.40125,4.9625 -0.42375,1.26875 -0.81,2.43 -1.16,3.465 43.9475,-12.3625 73.56125,-8.4275 73.56125,-8.4275"
|
||||
style="fill:#b3bbe5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.16928"
|
||||
id="path2578" />
|
||||
<path
|
||||
d="m -743.76143,-58.555585 c -30.035,10.71625 -50.45125,25.19 -50.45125,25.19 17.4525,-9.72125 34.0525,-16.78 49.275,-21.88875 0.0937,-0.26625 0.1875,-0.525 0.27875,-0.78375 0.30375,-0.8525 0.605,-1.69 0.8975,-2.5175"
|
||||
style="fill:#b3bbe5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.16928"
|
||||
id="path2580" />
|
||||
<path
|
||||
d="m -736.28768,-35.186835 c -3.52625,-3.52625 1.15,-15.425 2.64125,-19.53 0.28875,-0.79125 0.8325,-2.3725 1.545,-4.50375 0.35,-1.035 0.73625,-2.19625 1.16,-3.465 2.02625,-6.09125 4.805,-14.565 7.3975,-22.51875 2.64125,-8.74 0.1375,-12.23875 -5.25625,-12.23875 -3.81875,1.17625 -9.83875,2.34875 -9.83875,2.34875 0,0 6.9,0.1475 4.11,8.95625 -1.705,5.39375 -4.7375,14.9 -9.2325,27.5825 -0.2925,0.8275 -0.59375,1.665 -0.8975,2.5175 -0.0912,0.25875 -0.185,0.5175 -0.27875,0.78375 -3.34625,9.51125 -6.77125,22.40375 2.4975,26.03 6.75375,2.64375 17.46,-3.76 23.32875,-11.245 -8.80625,6.01625 -13.6525,8.80875 -17.17625,5.2825"
|
||||
style="fill:#35af3f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.16928"
|
||||
id="path2582" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 44 KiB |
Before Width: | Height: | Size: 53 KiB |
Before Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 18 KiB |
@ -1,171 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="60.822716mm"
|
||||
height="23.199778mm"
|
||||
viewBox="0 0 60.822718 23.199778"
|
||||
version="1.1"
|
||||
id="svg697"
|
||||
inkscape:export-filename="gestionnaire_bouton.png"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96"
|
||||
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
|
||||
sodipodi:docname="gestionnaire_bouton.svg"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview699"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
inkscape:zoom="2.661934"
|
||||
inkscape:cx="132.79818"
|
||||
inkscape:cy="47.146172"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1009"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs694">
|
||||
<filter
|
||||
inkscape:collect="always"
|
||||
style="color-interpolation-filters:sRGB"
|
||||
id="filter1684"
|
||||
x="-0.084534255"
|
||||
y="-0.077001516"
|
||||
width="1.2345152"
|
||||
height="1.2085568">
|
||||
<feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="0.19827"
|
||||
id="feGaussianBlur1686" />
|
||||
</filter>
|
||||
<filter
|
||||
inkscape:collect="always"
|
||||
style="color-interpolation-filters:sRGB"
|
||||
id="filter1925"
|
||||
x="-0.053745272"
|
||||
y="-0.13395218"
|
||||
width="1.1074905"
|
||||
height="1.2679044">
|
||||
<feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="0.52775079"
|
||||
id="feGaussianBlur1927" />
|
||||
</filter>
|
||||
</defs>
|
||||
<g
|
||||
inkscape:label="Calque 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-24.120718,-70.288142)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:7.05556px;line-height:1.2;font-family:Arial;-inkscape-font-specification:Arial;text-align:center;text-anchor:middle;opacity:0.59;mix-blend-mode:normal;stroke:#000000;stroke-width:1.5;filter:url(#filter1925)"
|
||||
x="62.151932"
|
||||
y="79.682144"
|
||||
id="text1923"
|
||||
transform="matrix(1.0652891,0,0,1.0652891,-3.9271645,-5.3643318)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1919"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05556px;font-family:Pacifico;-inkscape-font-specification:Pacifico;text-align:center;text-anchor:middle;stroke:#000000;stroke-width:1.5"
|
||||
x="62.151932"
|
||||
y="79.682144">Gestionnaire</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05556px;font-family:Pacifico;-inkscape-font-specification:Pacifico;text-align:center;text-anchor:middle;stroke:#000000;stroke-width:1.5"
|
||||
x="62.151932"
|
||||
y="88.38678"
|
||||
id="tspan1921"> de la base</tspan></text>
|
||||
<g
|
||||
id="g1890" />
|
||||
<g
|
||||
id="g1696"
|
||||
transform="translate(-0.09034016,2.1612525)">
|
||||
<g
|
||||
id="g1128"
|
||||
transform="matrix(1.9155881,0,0,1.9155881,-64.04049,-104.63377)"
|
||||
style="opacity:0.586011;fill:#000000;filter:url(#filter1684)">
|
||||
<g
|
||||
id="g1126"
|
||||
transform="translate(-3.4089682,16.030063)"
|
||||
style="fill:#000000">
|
||||
<rect
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
|
||||
id="rect1122"
|
||||
width="6.6498156"
|
||||
height="6.4167376"
|
||||
x="50.830681"
|
||||
y="75.350082"
|
||||
ry="1.3043859" />
|
||||
<path
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.465;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 53.653937,84.776494 -0.02333,-7.326466 5.78651,5.249857 -3.803231,-0.863312 z"
|
||||
id="path1124" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g2056"
|
||||
transform="matrix(1.9155881,0,0,1.9155881,-65.098824,-103.57543)">
|
||||
<g
|
||||
id="g1248"
|
||||
transform="translate(-3.4089682,16.030063)">
|
||||
<rect
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
|
||||
id="rect1446"
|
||||
width="6.6498156"
|
||||
height="6.4167376"
|
||||
x="50.830681"
|
||||
y="75.350082"
|
||||
ry="1.3043859" />
|
||||
<path
|
||||
style="fill:#03b7ea;fill-opacity:1;stroke:#000000;stroke-width:0.465;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 53.653937,84.776494 -0.02333,-7.326466 5.78651,5.249857 -3.803231,-0.863312 z"
|
||||
id="path633" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:7.51621px;line-height:1.2;font-family:Arial;-inkscape-font-specification:Arial;text-align:center;text-anchor:middle;stroke:#000000;stroke-width:1.59793"
|
||||
x="60.906113"
|
||||
y="80.684921"
|
||||
id="text1885"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1881"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.51621px;font-family:Pacifico;-inkscape-font-specification:Pacifico;text-align:center;text-anchor:middle;stroke:#000000;stroke-width:1.59793"
|
||||
x="60.906113"
|
||||
y="80.684921">Gestionnaire</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.51621px;font-family:Pacifico;-inkscape-font-specification:Pacifico;text-align:center;text-anchor:middle;stroke:#000000;stroke-width:1.59793"
|
||||
x="60.906113"
|
||||
y="89.95787"
|
||||
id="tspan1883"> de la base</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:7.51621px;line-height:1.2;font-family:Arial;-inkscape-font-specification:Arial;text-align:center;text-anchor:middle;fill:#ffffff;stroke-width:0.281857"
|
||||
x="60.906113"
|
||||
y="80.684921"
|
||||
id="text1817"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1815"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.51621px;font-family:Pacifico;-inkscape-font-specification:Pacifico;text-align:center;text-anchor:middle;fill:#ffffff;stroke-width:0.281857"
|
||||
x="60.906113"
|
||||
y="80.684921">Gestionnaire</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.51621px;font-family:Pacifico;-inkscape-font-specification:Pacifico;text-align:center;text-anchor:middle;fill:#ffffff;stroke-width:0.281857"
|
||||
x="60.906113"
|
||||
y="89.95787"
|
||||
id="tspan1869"> de la base</tspan></text>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 7.2 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 873 B |
Before Width: | Height: | Size: 809 B |
@ -1,63 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 6.35 6.3500001"
|
||||
version="1.1"
|
||||
id="svg359"
|
||||
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
|
||||
sodipodi:docname="logo.svg"
|
||||
inkscape:export-filename="logo.png"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview361"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
inkscape:zoom="6.5899774"
|
||||
inkscape:cx="21.472001"
|
||||
inkscape:cy="23.748185"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1009"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<defs
|
||||
id="defs356" />
|
||||
<g
|
||||
inkscape:label="Calque 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-64.391907,-33.792385)">
|
||||
<g
|
||||
id="g528"
|
||||
transform="matrix(0.60819933,0,0,0.60819933,25.228792,13.239879)">
|
||||
<rect
|
||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stop-color:#000000"
|
||||
id="rect1446"
|
||||
width="6.6498156"
|
||||
height="6.4167376"
|
||||
x="64.641907"
|
||||
y="34.042385"
|
||||
ry="1.3043859" />
|
||||
<path
|
||||
style="fill:#03b7ea;fill-opacity:1;stroke:#000000;stroke-width:0.465;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 67.465163,43.468795 -0.02333,-7.326466 5.78651,5.249857 -3.803231,-0.863312 z"
|
||||
id="path633" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.6 KiB |
@ -1,4 +1,4 @@
|
||||
package baseUFRHG;
|
||||
package Inscriptions;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
@ -1,4 +1,4 @@
|
||||
package baseUFRHG;
|
||||
package Inscriptions;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
@ -6,6 +6,11 @@ import javax.swing.JLabel;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
|
||||
import base.recupeBases;
|
||||
import outils.FileChooserCSV;
|
||||
import outils.commandes;
|
||||
import outils.noeud;
|
||||
|
||||
public class importInscriptionCSV {
|
||||
|
||||
|
||||
@ -30,7 +35,7 @@ public class importInscriptionCSV {
|
||||
|
||||
|
||||
// ajoute les étudiants qui n'existent pas, dans la base.
|
||||
commandes.nBase = majBase.addStudents(nBase,noeudCSV);
|
||||
commandes.nBase = majBaseWithCSV.addStudents(nBase,noeudCSV);
|
||||
|
||||
}else {
|
||||
JPanel panel = new JPanel();
|
283
src/Inscriptions/importInscriptionXLS.java
Normal file
@ -0,0 +1,283 @@
|
||||
package Inscriptions;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.swing.JOptionPane;
|
||||
|
||||
import org.apache.poi.ss.usermodel.Cell;
|
||||
import org.apache.poi.ss.usermodel.CellType;
|
||||
import org.apache.poi.ss.usermodel.Row;
|
||||
import org.apache.poi.ss.usermodel.Sheet;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
|
||||
import base.sauvegardeXMLBase;
|
||||
import outils.commandes;
|
||||
import outils.noeud;
|
||||
import outils.supprimeCaracatresSpeciaux;
|
||||
|
||||
public class importInscriptionXLS {
|
||||
|
||||
public static void importe(File file) {
|
||||
|
||||
noeud nYear = null;
|
||||
if(commandes.nBase.getAttributes("defaut_Year")!=null) {
|
||||
String defautYear = commandes.nBase.getAttributes("defaut_Year");
|
||||
if(commandes.nBase.getChild(defautYear)!=null) {
|
||||
nYear = commandes.nBase.getChild(defautYear);
|
||||
}else {
|
||||
JOptionPane.showMessageDialog(null, "Il n'y a pas d'année universitaire par défaut.", "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
return;
|
||||
}
|
||||
}else {
|
||||
JOptionPane.showMessageDialog(null, "Il n'y a pas d'année universitaire par défaut.", "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int compteurInscription = 0;
|
||||
|
||||
try (FileInputStream fileInputStream = new FileInputStream(file.getAbsolutePath());
|
||||
|
||||
|
||||
|
||||
// Récupère le classeur
|
||||
Workbook workbook = new XSSFWorkbook(fileInputStream)) {
|
||||
|
||||
// La première feuille du classeur contient toute les inscriptions.
|
||||
// Il n'est pas utile de parcourir toutes les feuilles (sheet).
|
||||
Sheet sheet = workbook.getSheetAt(0);
|
||||
|
||||
// Vérification du nom de la feuille
|
||||
if(!sheet.getSheetName().equals(commandes.nomFeuilleExcel_Inscription)) {
|
||||
JOptionPane.showMessageDialog(null, "<html>Ce n'est pas une feuille d'inscription de luniversité d'Artois.<br>"
|
||||
+ "Le nom de la feuille doit être : "+commandes.nomFeuilleExcel_Inscription+"</html>");
|
||||
return;
|
||||
}
|
||||
|
||||
//Vérification de la présence des colonnes obligatoires
|
||||
boolean nomPresent = false;
|
||||
boolean prenomPresent = false;
|
||||
boolean codePresent = false;
|
||||
boolean formationPresent = false;
|
||||
boolean profilPresent = false;
|
||||
boolean bacPresent = false;
|
||||
boolean mailpersoPresent = false;
|
||||
boolean mailPresent = false;
|
||||
boolean portablePresent = false;
|
||||
|
||||
for (Cell cell : sheet.getRow(0)) {
|
||||
if(cell.getCellType()==CellType.STRING) {
|
||||
String nameColumns = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(cell.getStringCellValue());
|
||||
if(nameColumns.equals(commandes.nomColonneNomEtudiant)) nomPresent=true;
|
||||
if(nameColumns.equals(commandes.nomColonnePrenomEtudiant)) prenomPresent=true;
|
||||
if(nameColumns.equals(commandes.nomColonneCodeEtudiant)) codePresent=true;
|
||||
if(nameColumns.equals(commandes.nomColonneFormation)) formationPresent=true;
|
||||
if(nameColumns.equals(commandes.nomColonneProfilEtudiant)) profilPresent=true;
|
||||
if(nameColumns.equals(commandes.nomColonneBacEtudiant)) bacPresent=true;
|
||||
if(nameColumns.equals(commandes.nomColonneMailPersoEtudiant)) mailpersoPresent=true;
|
||||
if(nameColumns.equals(commandes.nomColonneMailUnivEtudiant)) mailPresent=true;
|
||||
if(nameColumns.equals(commandes.nomColonnePortableEtudiant)) portablePresent=true;
|
||||
}
|
||||
}
|
||||
|
||||
if(!(nomPresent&&prenomPresent&&codePresent&&formationPresent&&profilPresent
|
||||
&&bacPresent&&mailpersoPresent&&mailPresent&&portablePresent)) {
|
||||
JOptionPane.showMessageDialog(null, "Ce n'est pas une feuille d'inscription de luniversité d'Artois.");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
// Entête de la table. Correspond à la première ligne de la feuille
|
||||
Map<Integer,String> Head = new HashMap<Integer, String>();
|
||||
|
||||
// Parcour les lignes de la feuille.
|
||||
// Pour chaque ligne : récupérer les informations dans des HashMap.
|
||||
// Head : uniquement pour la première ligne
|
||||
// Student : les informations d'un étudiant.
|
||||
for (Row row : sheet) {
|
||||
|
||||
Map<String, String> Student = new HashMap<String, String>();
|
||||
for (Cell cell : row) {
|
||||
if(row.getRowNum()==0) {
|
||||
Head.put(cell.getColumnIndex(),cell.getStringCellValue());
|
||||
}else {
|
||||
if(cell.getCellType()== CellType.STRING) {
|
||||
Student.put(Head.get(cell.getColumnIndex()), String.valueOf(cell.getStringCellValue()));
|
||||
}
|
||||
if (cell.getCellType()== CellType.NUMERIC) {
|
||||
Student.put(Head.get(cell.getColumnIndex()), String.valueOf(Integer.valueOf((int) cell.getNumericCellValue())));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Création ou insertion des informations récupéré dans le HashMap Student;
|
||||
if(Student.get(commandes.nomColonneExcel_Formation)!=null) {
|
||||
String nameFormation = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(Student.get(commandes.nomColonneExcel_Formation));
|
||||
noeud nFormation = null;
|
||||
|
||||
// récupère le noeud formation ou bien création du noeud formation
|
||||
if(nYear.getChild(nameFormation)!=null) {
|
||||
nFormation = nYear.getChild(nameFormation);
|
||||
}else {
|
||||
//Création du noeud formation
|
||||
nFormation = new noeud(supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nameFormation));
|
||||
nFormation.setAttribut("Colonne_Groupe_Documentation", "true");
|
||||
nFormation.setAttribut("Colonne_Groupe_Informatique", "true");
|
||||
nFormation.setAttribut("Colonne_Groupe_LV1", "true");
|
||||
nFormation.setAttribut("Colonne_Groupe_LV2", "true");
|
||||
nFormation.setAttribut("Colonne_Groupe_Principal", "true");
|
||||
nFormation.setAttribut("Colonne_Groupe_Projet", "true");
|
||||
nFormation.setAttribut("Colonne_Groupe_TD", "true");
|
||||
nFormation.setAttribut("Colonne_Groupe_TP", "true");
|
||||
nFormation.setAttribut("Colonne_LV1", "true");
|
||||
nFormation.setAttribut("Colonne_LV2", "true");
|
||||
nFormation.setAttribut("Colonne_Regime", "true");
|
||||
nFormation.setAttribut("ToutesLesColonnes", "true");
|
||||
nFormation.setAttribut("Colonne_Stage1", "true");
|
||||
nFormation.setAttribut("Colonne_Stage2", "true");
|
||||
|
||||
nFormation.setAttribut("nomColonne_Option_1", "Option_1");
|
||||
nFormation.setAttribut("Enabled_Colonne_Option_1", "false");
|
||||
nFormation.setAttribut("nomColonne_Option_2", "Atelier-rentree_horaire");
|
||||
nFormation.setAttribut("Enabled_Colonne_Option_2", "true");
|
||||
nFormation.setAttribut("nomColonne_Option_3", "Atelier_pre-rentree_enseignant");
|
||||
nFormation.setAttribut("Enabled_Colonne_Option_3", "true");
|
||||
nFormation.setAttribut("nomColonne_Option_4", "Atelier_pre-rentree_salle");
|
||||
nFormation.setAttribut("Enabled_Colonne_Option_4", "true");
|
||||
nFormation.setAttribut("nomColonne_Option_5", "Information");
|
||||
nFormation.setAttribut("Enabled_Colonne_Option_5", "false");
|
||||
|
||||
nFormation.setAttribut("Verouillage_Groupe_Principal", "false");
|
||||
nFormation.setAttribut("Verouillage_Groupe_TD", "false");
|
||||
nFormation.setAttribut("Verouillage_Groupe_TP", "false");
|
||||
nFormation.setAttribut("Verouillage_Groupe_LV1", "false");
|
||||
nFormation.setAttribut("Verouillage_Groupe_LV2", "false");
|
||||
nFormation.setAttribut("Verouillage_Groupe_Informatique", "false");
|
||||
nFormation.setAttribut("Verouillage_Groupe_Documentation", "false");
|
||||
nFormation.setAttribut("Verouillage_Groupe_Projet", "false");
|
||||
nFormation.setAttribut("Verouillage_Tous_Les_Groupes", "true");
|
||||
|
||||
nFormation.setAttribut("pattern_Groupe_Principal", "groupe @");
|
||||
nFormation.setAttribut("nombre_Student_Groupe_Principal", "30");
|
||||
nFormation.setAttribut("aleatoire_Groupe_Principal", "false");
|
||||
|
||||
nFormation.setAttribut("pattern_Groupe_TD", "groupe TD n°#");
|
||||
nFormation.setAttribut("nombre_Student_Groupe_Principal", "30");
|
||||
nFormation.setAttribut("aleatoire_Groupe_TD", "false");
|
||||
|
||||
nFormation.setAttribut("pattern_Groupe_LV1", "groupe LV1 n°#");
|
||||
nFormation.setAttribut("nombre_Student_Groupe_LV1", "30");
|
||||
nFormation.setAttribut("aleatoire_Groupe_LV1", "false");
|
||||
|
||||
nFormation.setAttribut("pattern_Groupe_LV2", "groupe LV2 n°#");
|
||||
nFormation.setAttribut("nombre_Student_Groupe_LV2", "30");
|
||||
nFormation.setAttribut("aleatoire_Groupe_LV2", "false");
|
||||
|
||||
nFormation.setAttribut("pattern_Groupe_Informatique", "grp #");
|
||||
nFormation.setAttribut("nombre_Student_Groupe_Informatique", "24");
|
||||
nFormation.setAttribut("aleatoire_Groupe_Informatique", "false");
|
||||
|
||||
nFormation.setAttribut("pattern_Groupe_Doc", "grp #");
|
||||
nFormation.setAttribut("nombre_Student_Groupe_Doc", "24");
|
||||
nFormation.setAttribut("aleatoire_Groupe_Doc", "false");
|
||||
|
||||
nFormation.setAttribut("pattern_Groupe_Projet", "groupe @");
|
||||
nFormation.setAttribut("nombre_Student_Groupe_Projet", "8");
|
||||
nFormation.setAttribut("aleatoire_Groupe_Projet", "false");
|
||||
|
||||
nFormation.setAttribut("pattern_Groupe_TP", "groupe TP n°#");
|
||||
nFormation.setAttribut("nombre_Student_Groupe_TP", "24");
|
||||
nFormation.setAttribut("aleatoire_Groupe_TP", "false");
|
||||
|
||||
nYear.addChild(nFormation);
|
||||
}
|
||||
|
||||
String nameNoeudStudent = "n"+String.valueOf(Student.get(commandes.nomColonneExcel_CodeEtudiant));
|
||||
noeud nStudent = null;
|
||||
if(nFormation.getChild(nameNoeudStudent)!=null) {
|
||||
nStudent = nFormation.getChild(nameNoeudStudent);
|
||||
} else {
|
||||
nStudent = new noeud(nameNoeudStudent);
|
||||
nFormation.addChild(nStudent);
|
||||
}
|
||||
|
||||
// Les noms de colonnes obligatoires pour la création
|
||||
// Le noms des colonnes subissent un traitement pour supprimer les espaces et les carcatères spéciaux.
|
||||
for (Map.Entry<String, String> entry : Student.entrySet()) {
|
||||
if(entry.getKey().equals(commandes.nomColonneExcel_NomEtudiant)
|
||||
|| entry.getKey().equals(commandes.nomColonneExcel_PrenomEtudiant)
|
||||
|| entry.getKey().equals(commandes.nomColonneExcel_CodeEtudiant)
|
||||
|| entry.getKey().equals(commandes.nomColonneExcel_Formation)
|
||||
|| entry.getKey().equals(commandes.nomColonneExcel_ProfilEtudiant)
|
||||
|| entry.getKey().equals(commandes.nomColonneExcel_BacEtudiant)
|
||||
|| entry.getKey().equals(commandes.nomColonneExcel_MailPersoEtudiant)
|
||||
|| entry.getKey().equals(commandes.nomColonneExcel_MailUnivEtudiant)
|
||||
|| entry.getKey().equals(commandes.nomColonneExcel_PortableEtudiant)) {
|
||||
nStudent.setAttribut(supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(entry.getKey()), entry.getValue());
|
||||
}
|
||||
}
|
||||
|
||||
// Ajoute les attributs de l'application
|
||||
if(nStudent.getAttributes("Groupe_Principal")==null) nStudent.setAttribut("Groupe_Principal","");
|
||||
if(nStudent.getAttributes("Groupe_Informatique")==null) nStudent.setAttribut("Groupe_Informatique","");
|
||||
if(nStudent.getAttributes("Groupe_TD")==null) nStudent.setAttribut("Groupe_TD","");
|
||||
if(nStudent.getAttributes("Groupe_TP")==null) nStudent.setAttribut("Groupe_TP","");
|
||||
if(nStudent.getAttributes("Groupe_LV1")==null) nStudent.setAttribut("Groupe_LV1","");
|
||||
if(nStudent.getAttributes("Groupe_LV2")==null) nStudent.setAttribut("Groupe_LV2","");
|
||||
if(nStudent.getAttributes("Groupe_Doc")==null) nStudent.setAttribut("Groupe_Doc","");
|
||||
if(nStudent.getAttributes("Groupe_Projet")==null) nStudent.setAttribut("Groupe_Projet","");
|
||||
if(nStudent.getAttributes("Covoiturage")==null) nStudent.setAttribut("Covoiturage","non");
|
||||
if(nStudent.getAttributes("Etudiant_Covoiturage")==null) nStudent.setAttribut("Etudiant_Covoiturage","");
|
||||
if(nStudent.getAttributes("LV1")==null) nStudent.setAttribut("LV1","");
|
||||
if(nStudent.getAttributes("LV2")==null) nStudent.setAttribut("LV2","");
|
||||
if(nStudent.getAttributes("UE_Libre")==null) nStudent.setAttribut("UE_Libre","");
|
||||
if(nStudent.getAttributes(commandes.nomColonne_Option_1)==null) nStudent.setAttribut(commandes.nomColonne_Option_1,"");
|
||||
if(nStudent.getAttributes("Stage_1")==null) nStudent.setAttribut("Stage_1","");
|
||||
if(nStudent.getAttributes("Num_convention_1")==null) nStudent.setAttribut("Num_convention_1","");
|
||||
if(nStudent.getAttributes("Periode_1")==null) nStudent.setAttribut("Periode_1","");
|
||||
if(nStudent.getAttributes("Stage_2")==null) nStudent.setAttribut("Stage_2","");
|
||||
if(nStudent.getAttributes("Num_convention_2")==null) nStudent.setAttribut("Num_convention_2","");
|
||||
if(nStudent.getAttributes("Periode_2")==null) nStudent.setAttribut("Periode_2","");
|
||||
if(nStudent.getAttributes(commandes.nomColonne_Option_5)==null) nStudent.setAttribut(commandes.nomColonne_Option_5,"");
|
||||
if(nStudent.getAttributes(commandes.nomColonne_Option_2)==null) nStudent.setAttribut(commandes.nomColonne_Option_2,"");
|
||||
if(nStudent.getAttributes(commandes.nomColonne_Option_3)==null) nStudent.setAttribut(commandes.nomColonne_Option_3,"");
|
||||
if(nStudent.getAttributes(commandes.nomColonne_Option_4)==null) nStudent.setAttribut(commandes.nomColonne_Option_4,"");
|
||||
if(nStudent.getAttributes("Regime")==null) nStudent.setAttribut("Regime","");
|
||||
}
|
||||
compteurInscription++;
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
JOptionPane.showInternalMessageDialog(null, e.toString());
|
||||
}
|
||||
|
||||
// trie les noeuds enfant (les formations) par ordre alphabétique de le nom.
|
||||
for(noeud nfirst : commandes.nBase.getChildren()) {
|
||||
nfirst.triAlphabetiqueDesEnfants();
|
||||
}
|
||||
|
||||
|
||||
//trie les noeuds enfants des formations par ordre alphabétique des noms des étudiants.
|
||||
for(noeud nFormation : commandes.nBase.getFirstChild().getChildren()) {
|
||||
nFormation.triAlphabetiqueDesEnfants(commandes.nomColonneNomEtudiant);
|
||||
}
|
||||
|
||||
|
||||
sauvegardeXMLBase.save(commandes.nBase,sauvegardeXMLBase.saveType.SANS_MESSAGE,"");
|
||||
|
||||
if(compteurInscription>1) JOptionPane.showMessageDialog(null, "<html>Les importations ou les mises à jour<br>des " + String.valueOf(compteurInscription) +" étudiants sont réussies.</html>");
|
||||
if(compteurInscription==1) JOptionPane.showMessageDialog(null, "<html>L'importation ou la mise à jour<br>du seul étudiant est réussi.</html>");
|
||||
if(compteurInscription==0) JOptionPane.showMessageDialog(null, "<html>Il n'y a pas eu d'importation ou de mise à jour.</html>");
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package baseUFRHG;
|
||||
package Inscriptions;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.FileInputStream;
|
||||
@ -9,6 +9,9 @@ import javax.swing.JFrame;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JOptionPane;
|
||||
|
||||
import outils.noeud;
|
||||
import outils.supprimeCaracatresSpeciaux;
|
||||
|
||||
public class lectureCSV {
|
||||
|
||||
|
||||
@ -32,7 +35,7 @@ public class lectureCSV {
|
||||
entete = false;
|
||||
int compteur = 0 ;
|
||||
for (String value : data) {
|
||||
value = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(value);
|
||||
value = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(value);
|
||||
Head.setAttribut("C"+String.valueOf(compteur), value);
|
||||
compteur++;
|
||||
}
|
@ -1,10 +1,14 @@
|
||||
package baseUFRHG;
|
||||
package Inscriptions;
|
||||
|
||||
import javax.swing.JOptionPane;
|
||||
|
||||
import baseUFRHG.sauvegardeXMLBase.saveType;
|
||||
import base.sauvegardeXMLBase;
|
||||
import base.sauvegardeXMLBase.saveType;
|
||||
import outils.commandes;
|
||||
import outils.noeud;
|
||||
import outils.supprimeCaracatresSpeciaux;
|
||||
|
||||
public class majBase {
|
||||
public class majBaseWithCSV {
|
||||
|
||||
static int compteurAddStudent = 0 ;
|
||||
static String defaut_Year = null;
|
||||
@ -18,13 +22,15 @@ public class majBase {
|
||||
if(nCSV.getChildren().get(i).getAttributes("IAE_-_Etape_lib.")!=null) {
|
||||
if(!nCSV.getChildren().get(i).getAttributes("IAE_-_Etape_lib.").isEmpty()) {
|
||||
if(!isExisteFormationIntoBase(nBase, nCSV.getChildren().get(i).getAttributes("IAE_-_Etape_lib."))) {
|
||||
noeud nFormation = new noeud( supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(nCSV.getChildren().get(i).getAttributes("IAE_-_Etape_lib.")));
|
||||
noeud nFormation = new noeud( supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nCSV.getChildren().get(i).getAttributes("IAE_-_Etape_lib.")));
|
||||
nFormation.setAttribut("Colonne_Groupe_Documentation", "true");
|
||||
nFormation.setAttribut("Colonne_Groupe_Informatique", "true");
|
||||
nFormation.setAttribut("Colonne_Groupe_Langue", "true");
|
||||
nFormation.setAttribut("Colonne_Groupe_LV1", "true");
|
||||
nFormation.setAttribut("Colonne_Groupe_LV2", "true");
|
||||
nFormation.setAttribut("Colonne_Groupe_Principal", "true");
|
||||
nFormation.setAttribut("Colonne_Groupe_Projet", "true");
|
||||
nFormation.setAttribut("Colonne_Groupe_TD", "true");
|
||||
nFormation.setAttribut("Colonne_Groupe_TP", "true");
|
||||
nFormation.setAttribut("Colonne_LV1", "true");
|
||||
nFormation.setAttribut("Colonne_LV2", "true");
|
||||
nFormation.setAttribut("Colonne_Regime", "true");
|
||||
@ -41,7 +47,7 @@ public class majBase {
|
||||
}
|
||||
|
||||
// Sauvegarde de la base
|
||||
sauvegardeXMLBase.save(nBase, saveType.WITH_MESSAGE);
|
||||
sauvegardeXMLBase.save(nBase, saveType.WITH_DEFAULT_MESSAGE,"");
|
||||
|
||||
//Affiche le nombre d'étudiant ajouté à la base.
|
||||
JOptionPane.showMessageDialog(null, "Nombre d'étudiant ajouté à la base : " + String.valueOf(compteurAddStudent));
|
||||
@ -51,7 +57,7 @@ public class majBase {
|
||||
|
||||
private static boolean isExisteFormationIntoBase(noeud nBase , String attribut) {
|
||||
if(defaut_Year!=null) {
|
||||
if(nBase.getChild(defaut_Year).getChild(supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(attribut))!=null) {
|
||||
if(nBase.getChild(defaut_Year).getChild(supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(attribut))!=null) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -71,7 +77,7 @@ public class majBase {
|
||||
if(isValidEightDigits(nStudent.getAttributes("Individu_-_Code_Etudiant")) && !isOnlySpace ) {
|
||||
if(isExisteFormationIntoBase(nBase, nStudent.getAttributes("IAE_-_Etape_lib."))) {
|
||||
|
||||
noeud nBF = nBase.getChild(defaut_Year).getChild(supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(nStudent.getAttributes("IAE_-_Etape_lib.")));
|
||||
noeud nBF = nBase.getChild(defaut_Year).getChild(supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nStudent.getAttributes("IAE_-_Etape_lib.")));
|
||||
|
||||
if(nBF.getChild("n"+nStudent.getAttributes("Individu_-_Code_Etudiant").trim())==null) {
|
||||
|
||||
@ -93,7 +99,9 @@ public class majBase {
|
||||
n.setAttribut("Groupe_Principal","");
|
||||
n.setAttribut("Groupe_Informatique","");
|
||||
n.setAttribut("Groupe_TD","");
|
||||
n.setAttribut("Groupe_Langue","");
|
||||
n.setAttribut("Groupe_TP","");
|
||||
n.setAttribut("Groupe_LV1","");
|
||||
n.setAttribut("Groupe_LV2","");
|
||||
n.setAttribut("Groupe_Doc","");
|
||||
n.setAttribut("Groupe_Projet","");
|
||||
n.setAttribut("Covoiturage","non");
|
||||
@ -101,20 +109,19 @@ public class majBase {
|
||||
n.setAttribut("LV1","");
|
||||
n.setAttribut("LV2","");
|
||||
n.setAttribut("UE_Libre","");
|
||||
n.setAttribut("Option","");
|
||||
n.setAttribut(commandes.nomColonne_Option_1,"");
|
||||
n.setAttribut("Stage_1","");
|
||||
n.setAttribut("Num_convention_1","");
|
||||
n.setAttribut("Periode_1","");
|
||||
n.setAttribut("Stage_2","");
|
||||
n.setAttribut("Num_convention_2","");
|
||||
n.setAttribut("Periode_2","");
|
||||
n.setAttribut("Information","");
|
||||
n.setAttribut("Atelier-rentree_horaire","");
|
||||
n.setAttribut("Atelier_pre-rentree_enseignant","");
|
||||
n.setAttribut("Atelier_pre-rentree_salle","");
|
||||
n.setAttribut(commandes.nomColonne_Option_5,"");
|
||||
n.setAttribut(commandes.nomColonne_Option_2,"");
|
||||
n.setAttribut(commandes.nomColonne_Option_3,"");
|
||||
n.setAttribut(commandes.nomColonne_Option_4,"");
|
||||
n.setAttribut("Regime","");
|
||||
|
||||
// nBase.getChild(defaut_Year).getChild(supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(nStudent.getAttributes("IAE_-_Etape_lib."))).addChild(n);
|
||||
nBF.addChild(n);
|
||||
nBF.setAttribut("number_Student",String.valueOf(nBF.getNumberChildren()));
|
||||
compteurAddStudent++;
|
46
src/Windows/Window_Help_download_and_install.java
Normal file
@ -0,0 +1,46 @@
|
||||
package Windows;
|
||||
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JLabel;
|
||||
import java.awt.BorderLayout;
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.SwingConstants;
|
||||
|
||||
public class Window_Help_download_and_install extends JFrame{
|
||||
|
||||
private JFrame frame;
|
||||
|
||||
public Window_Help_download_and_install() {
|
||||
init();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public void init() {
|
||||
frame = new JFrame();
|
||||
frame.setTitle("Gestion des inscriptions et des groupes - langues - informatique - stage - rentrée");
|
||||
frame.setBounds(0, 0, 1300, 100);
|
||||
int screenWidth = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getWidth();
|
||||
int screenHeight = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getHeight();
|
||||
|
||||
// frame.setLocation(( (screenWidth) - frame.getWidth()) / 2, (screenHeight - frame.getHeight()) / 2);
|
||||
frame.setSize(screenWidth, screenHeight);
|
||||
|
||||
JLabel lblNewLabel = new JLabel("");
|
||||
lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
lblNewLabel.setIcon(new ImageIcon(Window_Help_download_and_install.class.getResource("/resources/downloadAndInstall.png")));
|
||||
frame.getContentPane().add(lblNewLabel, BorderLayout.CENTER);
|
||||
|
||||
|
||||
ImageIcon img = new ImageIcon(Window_demarre.class.getResource("/resources/logo.png"));
|
||||
frame.setIconImage(img.getImage());
|
||||
|
||||
frame.setResizable(false);
|
||||
frame.setVisible(true);
|
||||
}
|
||||
|
||||
}
|
44
src/Windows/Window_Help_inscriptionXLSX.java
Normal file
@ -0,0 +1,44 @@
|
||||
package Windows;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.SwingConstants;
|
||||
|
||||
public class Window_Help_inscriptionXLSX extends JFrame{
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 1L;
|
||||
private JFrame frame;
|
||||
|
||||
public Window_Help_inscriptionXLSX() {
|
||||
init();
|
||||
|
||||
}
|
||||
|
||||
public void init() {
|
||||
frame = new JFrame();
|
||||
frame.setTitle("Gestion des inscriptions et des groupes - langues - informatique - stage - rentrée");
|
||||
frame.setBounds(0, 0, 1300, 100);
|
||||
int screenWidth = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getWidth();
|
||||
int screenHeight = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getHeight();
|
||||
|
||||
// frame.setLocation(( (screenWidth) - frame.getWidth()) / 2, (screenHeight - frame.getHeight()) / 2);
|
||||
frame.setSize(screenWidth, screenHeight);
|
||||
|
||||
JLabel lblNewLabel = new JLabel("");
|
||||
lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
lblNewLabel.setIcon(new ImageIcon(Window_Help_inscriptionXLSX.class.getResource("/resources/AideInscriptionXLSX.png")));
|
||||
frame.getContentPane().add(lblNewLabel, BorderLayout.CENTER);
|
||||
|
||||
|
||||
ImageIcon img = new ImageIcon(Window_demarre.class.getResource("/resources/logo.png"));
|
||||
frame.setIconImage(img.getImage());
|
||||
|
||||
frame.setResizable(false);
|
||||
frame.setVisible(true);
|
||||
}
|
||||
}
|
46
src/Windows/Window_Help_maj_data.java
Normal file
@ -0,0 +1,46 @@
|
||||
package Windows;
|
||||
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JLabel;
|
||||
import java.awt.BorderLayout;
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.SwingConstants;
|
||||
|
||||
public class Window_Help_maj_data extends JFrame{
|
||||
|
||||
private JFrame frame;
|
||||
|
||||
public Window_Help_maj_data() {
|
||||
init();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public void init() {
|
||||
frame = new JFrame();
|
||||
frame.setTitle("Gestion des inscriptions et des groupes - langues - informatique - stage - rentrée");
|
||||
frame.setBounds(0, 0, 1300, 100);
|
||||
int screenWidth = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getWidth();
|
||||
int screenHeight = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getHeight();
|
||||
|
||||
// frame.setLocation(( (screenWidth) - frame.getWidth()) / 2, (screenHeight - frame.getHeight()) / 2);
|
||||
frame.setSize(screenWidth, screenHeight);
|
||||
|
||||
JLabel lblNewLabel = new JLabel("");
|
||||
lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
lblNewLabel.setIcon(new ImageIcon(Window_Help_maj_data.class.getResource("/resources/Exemple de mise à jour.png")));
|
||||
frame.getContentPane().add(lblNewLabel, BorderLayout.CENTER);
|
||||
|
||||
|
||||
ImageIcon img = new ImageIcon(Window_demarre.class.getResource("/resources/logo.png"));
|
||||
frame.setIconImage(img.getImage());
|
||||
|
||||
frame.setResizable(false);
|
||||
frame.setVisible(true);
|
||||
}
|
||||
|
||||
}
|
584
src/Windows/Window_demarre.java
Normal file
@ -0,0 +1,584 @@
|
||||
package Windows;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.Desktop;
|
||||
import java.awt.Font;
|
||||
import java.awt.Image;
|
||||
import java.awt.SystemColor;
|
||||
import java.awt.Window;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.WindowAdapter;
|
||||
import java.awt.event.WindowEvent;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.Random;
|
||||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JTabbedPane;
|
||||
import javax.swing.SwingConstants;
|
||||
import javax.swing.UIManager;
|
||||
|
||||
import Inscriptions.importInscriptionXLS;
|
||||
import base.CreateUpdateZipArchive;
|
||||
import base.Hash;
|
||||
import base.NomDeColonneInscriptionTable;
|
||||
import base.recupeBases;
|
||||
import base.sauvegardeXMLBase;
|
||||
import base.sauvegardeXMLBase.saveType;
|
||||
import exportations.exportBaseToExcel;
|
||||
import gestion_version.VersionChecker;
|
||||
import importations.importAllBaseToExcel;
|
||||
import outils.FileChooserXLSX;
|
||||
import outils.commandes;
|
||||
|
||||
public class Window_demarre extends JFrame {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 1L;
|
||||
private static JFrame frmEvalwriter;
|
||||
JButton btnExporterTouteLaBase;
|
||||
JButton actImporterInscriptionDepuisCSV;
|
||||
JButton btnNewVersion = new JButton("<html>Nouvelle version disponible</html>");
|
||||
JButton btnMiseAJourDepuisClasseur = new JButton("<html>Mise à jour de la base depuis<br>un classeur Ms Excel</html>");
|
||||
JButton btnGestionnaire = new JButton("");
|
||||
JButton btnLicence = new JButton("Licence GNU GPL 3.0");
|
||||
JButton btnimporterDesInscriptionsdepuisClasseur = new JButton("<html>Importer des inscriptions<br>depuis un classeur Ms Excel</html>");
|
||||
static JLabel lblAuteurVersion = new JLabel("<html>Pablo Rodriguez - 2023<br>Version "+ commandes.version+"</html>");
|
||||
static JLabel lblFondImage = new JLabel();
|
||||
|
||||
|
||||
/**
|
||||
* Launch the application.
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
|
||||
try {
|
||||
|
||||
// Définir la police par défaut pour les JOptionPane
|
||||
Font police = new Font("Arial", Font.PLAIN, 14);
|
||||
UIManager.put("OptionPane.messageFont", police);
|
||||
|
||||
// Vérification d'une nouvelle version dans la forge de Chapril
|
||||
VersionChecker.verificationNewVersion();
|
||||
|
||||
// mise à jour de la base de données si nouvelle version de l'application utilisé.
|
||||
commandes.nBase=recupeBases.recupeLaBase();
|
||||
|
||||
// Chargement des noms des colonnes qui ont servi pendant l'inscription des étudiant
|
||||
NomDeColonneInscriptionTable.chargement();
|
||||
|
||||
// Mise à jour de la version
|
||||
VersionChecker.UpdateVersion(commandes.nBase);
|
||||
|
||||
// Vérification du blocage de l'application
|
||||
if(VerificationBlocageApplication()) {
|
||||
JOptionPane.showMessageDialog(null, "<html>Blocage de l'application.<br>"
|
||||
+ "<br>Erreur : <b><u>Autorisation refusée.</u></b></html>");
|
||||
return;
|
||||
}
|
||||
|
||||
// Création de la fenêtre
|
||||
new Window_demarre();
|
||||
|
||||
|
||||
//Affichage de la fenêtre
|
||||
Window_demarre.frmEvalwriter.setVisible(true);
|
||||
|
||||
|
||||
// Créez un Timer
|
||||
Timer timer = new Timer();
|
||||
|
||||
// Créez une tâche de sauvegarde automatique
|
||||
TimerTask autoSaveTask = new TimerTask() {
|
||||
@Override
|
||||
public void run() {
|
||||
// Appeler la méthode de sauvegarde ici
|
||||
if(Hash.faireLaSauvegarde()) {
|
||||
sauvegardeXMLBase.saveSauvegarde(commandes.nBase);
|
||||
CreateUpdateZipArchive.save();
|
||||
}
|
||||
affichageImageDeFond();
|
||||
}
|
||||
};
|
||||
|
||||
// Planification de la tâche de sauvegarde automatique à exécuter toutes les 2 minutes 2 * 60 * 1000
|
||||
timer.schedule(autoSaveTask, 0, commandes.nombreMinuteEntreDeuxSauvegarde * 60 * 1000);
|
||||
|
||||
// Affichage des messages de version ou d'information
|
||||
boolean affichagePremierInformation = false;
|
||||
if(commandes.newVersion && (!commandes.messageVersion.isEmpty() || !commandes.messageAlerte.isEmpty()) ) {
|
||||
String message = "<html>" + commandes.messageVersion + commandes.messageAlerte + "</html>";
|
||||
if(commandes.noMessageAlerte) message = "<html>" + commandes.messageVersion + "</html>";
|
||||
JOptionPane.showMessageDialog(null, message,"Information version",JOptionPane.INFORMATION_MESSAGE);
|
||||
affichagePremierInformation = true;
|
||||
}
|
||||
|
||||
if(!commandes.messageAlerte.isEmpty() && !affichagePremierInformation && !commandes.noMessageAlerte) {
|
||||
String message = "<html>" + commandes.messageAlerte + "</html>";
|
||||
JOptionPane.showMessageDialog(null, message,"Information",JOptionPane.INFORMATION_MESSAGE);
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialisation de la fenêtre de démarrage.
|
||||
*/
|
||||
public Window_demarre() {
|
||||
initialize();
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialisation de la fenêtre de démarrage.
|
||||
*/
|
||||
private void initialize() {
|
||||
frmEvalwriter = new JFrame();
|
||||
frmEvalwriter.setTitle("Gestion des inscriptions et des groupes - langues - informatique - stage - rentrée");
|
||||
|
||||
|
||||
//frmEvalwriter.setBounds(100, 100, 765, 640);
|
||||
frmEvalwriter.setBounds(100, 100, 765, 640);
|
||||
|
||||
//Aggrandissement la fenêtre pour afficher le bouton "Nouvelle version disponible".
|
||||
if(commandes.newVersion) frmEvalwriter.setBounds(100, 100, 765, 712);
|
||||
|
||||
int screenWidth = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getWidth();
|
||||
int screenHeight = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getHeight();
|
||||
frmEvalwriter.setLocation(( (screenWidth) - frmEvalwriter.getWidth()) / 2, (screenHeight - frmEvalwriter.getHeight()) / 2);
|
||||
|
||||
frmEvalwriter.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||
frmEvalwriter.getContentPane().setLayout(null);
|
||||
ImageIcon img = new ImageIcon(Window_demarre.class.getResource("/resources/logo.png"));
|
||||
frmEvalwriter.setIconImage(img.getImage());
|
||||
|
||||
frmEvalwriter.setResizable(false);
|
||||
|
||||
|
||||
JLabel lblTitre = new JLabel();
|
||||
lblTitre.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/accueil.png")));
|
||||
if(commandes.helpme1) lblTitre.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/helpme1.png")));
|
||||
lblTitre.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
lblTitre.setFont(new Font("Pacifico", Font.PLAIN, 26));
|
||||
lblTitre.setBounds(10, 49, 730, 202);
|
||||
frmEvalwriter.getContentPane().add(lblTitre);
|
||||
|
||||
lblAuteurVersion.setVerticalAlignment(SwingConstants.TOP);
|
||||
lblAuteurVersion.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
lblAuteurVersion.setFont(new Font("Tahoma", Font.BOLD, 16));
|
||||
lblAuteurVersion.setForeground(new Color(255, 255, 255));
|
||||
lblAuteurVersion.setBounds(22, 11, 307, 55);
|
||||
frmEvalwriter.getContentPane().add(lblAuteurVersion);
|
||||
|
||||
lblFondImage.setVerticalAlignment(SwingConstants.BOTTOM);
|
||||
lblFondImage.setBounds(10, 0, 730, 317);
|
||||
frmEvalwriter.getContentPane().add(lblFondImage);
|
||||
|
||||
affichageImageDeFond();
|
||||
|
||||
JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
|
||||
tabbedPane.setBounds(10, 320, 729, 271);
|
||||
tabbedPane.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
|
||||
|
||||
JPanel tabGestionnaire = new JPanel();
|
||||
tabbedPane.addTab("<html>Gestionnaire de la<br>base de données</html>", tabGestionnaire);
|
||||
|
||||
JPanel tabInscriptions = new JPanel();
|
||||
tabbedPane.addTab("<html>Importer des<br>inscriptions</html>", tabInscriptions);
|
||||
|
||||
JPanel tabExporteImporte = new JPanel();
|
||||
tabbedPane.addTab("<html>Importer des données<br>depuis Ms Excel</html>", tabExporteImporte);
|
||||
tabbedPane.setEnabledAt(2, true);
|
||||
tabExporteImporte.setLayout(null);
|
||||
|
||||
JPanel tabAides = new JPanel();
|
||||
tabbedPane.addTab("<html>Wikidoc-Tutoriels<br>Tickets-Versions</html>", tabAides);
|
||||
|
||||
JPanel tabLicence = new JPanel();
|
||||
tabbedPane.addTab("<html>Crédits<br>Licences</html>", tabLicence);
|
||||
tabLicence.setLayout(null);
|
||||
|
||||
btnLicence.setBounds(390, 173, 324, 50);
|
||||
btnLicence.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
String url = "https://www.gnu.org/licenses/gpl-3.0.html#license-text";
|
||||
try {
|
||||
Desktop.getDesktop().browse(new URI(url));
|
||||
} catch (IOException | URISyntaxException ex) {
|
||||
JOptionPane.showMessageDialog(null, "Problème avec la connexion internet.");
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
});
|
||||
btnLicence.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/gplv3-127x51.png")));
|
||||
btnLicence.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
|
||||
tabLicence.add(btnLicence);
|
||||
|
||||
|
||||
JLabel lblCredits = new JLabel("<html><h3>Auteur : Pablo Rodriguez</h3>\r\n<p><i>Mon programme a été créé de manière totalement désintéressée, avec pour seul objectif de vous aider. Mon souhait sincère est qu'il vous soit véritablement utile. N'hésitez pas à l'utiliser pleinement ou à le partager. Si vous avez des questions ou des suggestions pour l'améliorer, vous pouvez aisément publier un ticket pour me faire part de vos suggestions ou commentaires.</i></p>\r\n<hr>\r\n<p>Enseignant à l'Université d'Artois, je suis agrégé de génie mécanique, diplomé de l'I.N.S.A. (ingénieur mécanique). Spécialisé dans les matières suivantes : T.I.C.E., Informatique, Automatisme, Gestion de projet, Statistique, Mécanique, Productique.</p><br>\r\n<p>Email : <b>pablo.rodriguez@univ-artois.fr</b></p>");
|
||||
lblCredits.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
lblCredits.setVerticalAlignment(SwingConstants.TOP);
|
||||
lblCredits.setFont(new Font("Arial", Font.PLAIN, 14));
|
||||
lblCredits.setToolTipText("");
|
||||
lblCredits.setBounds(10, 10, 704, 204);
|
||||
tabLicence.add(lblCredits);
|
||||
|
||||
JLabel lblVersion = new JLabel("<html><h2>Version : "+ commandes.version + " - " + commandes.dateversion+"</h2></html>");
|
||||
lblVersion.setForeground(SystemColor.textHighlight);
|
||||
lblVersion.setVerticalAlignment(SwingConstants.TOP);
|
||||
lblVersion.setHorizontalAlignment(SwingConstants.RIGHT);
|
||||
lblVersion.setBounds(278, 6, 436, 33);
|
||||
tabLicence.add(lblVersion);
|
||||
|
||||
|
||||
frmEvalwriter.getContentPane().add(tabbedPane);
|
||||
|
||||
btnExporterTouteLaBase = new JButton("<html>Exporter toute la base dans<br>un classeur MS Excel</html>");
|
||||
btnExporterTouteLaBase.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/exportbasetoexcel.png")));
|
||||
btnExporterTouteLaBase.setFont(new Font("Arial", Font.BOLD, 16));
|
||||
btnExporterTouteLaBase.setBounds(370, 10, 340, 80);
|
||||
|
||||
tabExporteImporte.add(btnExporterTouteLaBase);
|
||||
|
||||
btnMiseAJourDepuisClasseur = new JButton("");
|
||||
btnMiseAJourDepuisClasseur.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/importer_data_bouton.png")));
|
||||
btnMiseAJourDepuisClasseur.setFont(new Font("Arial", Font.BOLD, 16));
|
||||
btnMiseAJourDepuisClasseur.setBounds(10, 10, 340, 200);
|
||||
tabExporteImporte.add(btnMiseAJourDepuisClasseur);
|
||||
|
||||
JLabel lblInformation_Importer = new JLabel("<html>Vous avez la possibilité d'importer ou de modifier les données à partir d'un classeur Ms Excel. Cependant, il convient de noter que les données d'identification des étudiants ne peuvent pas être modifiées.<br>Pour obtenir un classeur, deux options s'offrent à vous : exporter l'intégralité de la base de données ou bien exporter une table spécifique à partir du gestionnaire de la base.</html>");
|
||||
lblInformation_Importer.setFont(new Font("Arial", Font.PLAIN, 12));
|
||||
lblInformation_Importer.setVerticalAlignment(SwingConstants.TOP);
|
||||
lblInformation_Importer.setBounds(370, 101, 340, 111);
|
||||
tabExporteImporte.add(lblInformation_Importer);
|
||||
tabGestionnaire.setLayout(null);
|
||||
|
||||
|
||||
btnGestionnaire = new JButton("");
|
||||
btnGestionnaire.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/gestionnaire_bouton.png")));
|
||||
btnGestionnaire.setFont(new Font("Arial", Font.BOLD, 16));
|
||||
btnGestionnaire.setBounds(10, 10, 340, 200);
|
||||
tabGestionnaire.add(btnGestionnaire);
|
||||
tabInscriptions.setLayout(null);
|
||||
|
||||
btnimporterDesInscriptionsdepuisClasseur = new JButton("");
|
||||
btnimporterDesInscriptionsdepuisClasseur.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/importer_inscriptions_bouton.png")));
|
||||
btnimporterDesInscriptionsdepuisClasseur.setFont(new Font("Arial", Font.BOLD, 16));
|
||||
btnimporterDesInscriptionsdepuisClasseur.setBounds(10, 10, 340, 200);
|
||||
|
||||
tabInscriptions.add(btnimporterDesInscriptionsdepuisClasseur);
|
||||
tabAides.setLayout(null);
|
||||
|
||||
if(commandes.newVersion) {
|
||||
btnNewVersion = new JButton("<html>Nouvelle version disponible : "+ commandes.nameNewVersion + "</html>");
|
||||
}
|
||||
btnNewVersion.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/newVersion.png")));
|
||||
btnNewVersion.setFont(new Font("Tahoma", Font.BOLD, 16));
|
||||
btnNewVersion.setBounds(20, 602, 705, 63);
|
||||
btnNewVersion.setVisible(commandes.newVersion);
|
||||
frmEvalwriter.getContentPane().add(btnNewVersion);
|
||||
|
||||
JButton btnNewButton = new JButton("");
|
||||
btnNewButton.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/tickets_bouton.png")));
|
||||
btnNewButton.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
String url = "https://forge.chapril.org/pablo/GestionDesInscriptions/issues";
|
||||
try {
|
||||
Desktop.getDesktop().browse(new URI(url));
|
||||
} catch (IOException | URISyntaxException ex) {
|
||||
JOptionPane.showMessageDialog(null, "Problème avec la connexion internet.");
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
});
|
||||
btnNewButton.setBounds(10, 10, 340, 95);
|
||||
tabAides.add(btnNewButton);
|
||||
|
||||
JButton btnTutoriels = new JButton("");
|
||||
btnTutoriels.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
String url = "https://artoistv.univ-artois.fr/search/?q=gestion+inscription+pablo";
|
||||
try {
|
||||
Desktop.getDesktop().browse(new URI(url));
|
||||
} catch (IOException | URISyntaxException ex) {
|
||||
JOptionPane.showMessageDialog(null, "Problème avec la connexion internet.");
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
});
|
||||
btnTutoriels.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/tutoriels_bouton.png")));
|
||||
btnTutoriels.setBounds(10, 116, 340, 95);
|
||||
tabAides.add(btnTutoriels);
|
||||
|
||||
JButton btnVersions = new JButton("");
|
||||
btnVersions.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
String url = "https://forge.chapril.org/pablo/GestionDesInscriptions/releases";
|
||||
try {
|
||||
Desktop.getDesktop().browse(new URI(url));
|
||||
} catch (IOException | URISyntaxException ex) {
|
||||
JOptionPane.showMessageDialog(null, "Problème avec la connexion internet.");
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
});
|
||||
btnVersions.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/versions_bouton.png")));
|
||||
btnVersions.setBounds(370, 116, 340, 95);
|
||||
tabAides.add(btnVersions);
|
||||
|
||||
JButton btnWiki = new JButton("");
|
||||
btnWiki.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/wiki_bouton.png")));
|
||||
btnWiki.setBounds(370, 10, 340, 95);
|
||||
tabAides.add(btnWiki);
|
||||
btnWiki.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
String url = "https://forge.chapril.org/pablo/GestionDesInscriptions/wiki/?action=_pages";
|
||||
try {
|
||||
Desktop.getDesktop().browse(new URI(url));
|
||||
} catch (IOException | URISyntaxException ex) {
|
||||
JOptionPane.showMessageDialog(null, "Problème avec la connexion internet.");
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
JButton btnParametresClasseurInscription = new JButton("<html>Paramètres classeur<br>des inscriptions</html>");
|
||||
btnParametresClasseurInscription.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
Window_parametreImportationInscription.Affiche();
|
||||
}
|
||||
});
|
||||
|
||||
btnParametresClasseurInscription.setFont(new Font("Arial", Font.BOLD, 16));
|
||||
btnParametresClasseurInscription.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/parametreImportationIncriptions.png")));
|
||||
btnParametresClasseurInscription.setBounds(370, 10, 340, 80);
|
||||
tabInscriptions.add(btnParametresClasseurInscription);
|
||||
|
||||
JLabel lblInformation_Inscription = new JLabel("<html>L'importation d'inscriptions constitue <b>le moyen exclusif pour ajouter de nouveaux étudiants</b> à la base de données.<br><br>Le fichier Ms Excel doit posséder certaines caractéristiques spécifiques. Pour découvrir et modifier ces caractéristiques, il vous suffit de cliquer sur le bouton \"Paramètres du classeur des inscriptions\".</html>");
|
||||
lblInformation_Inscription.setFont(new Font("Arial", Font.PLAIN, 12));
|
||||
lblInformation_Inscription.setVerticalAlignment(SwingConstants.TOP);
|
||||
lblInformation_Inscription.setBounds(370, 101, 340, 111);
|
||||
tabInscriptions.add(lblInformation_Inscription);
|
||||
|
||||
JButton btnRenommerActiverColonne = new JButton("<html>Renommer et activer<br>des colonnes</html>");
|
||||
btnRenommerActiverColonne.setIcon(new ImageIcon(Window_demarre.class.getResource("/resources/newColumnsApplication.png")));
|
||||
btnRenommerActiverColonne.setFont(new Font("Arial", Font.BOLD, 16));
|
||||
btnRenommerActiverColonne.setBounds(370, 10, 340, 80);
|
||||
btnRenommerActiverColonne.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
Window_renommerColonne.Affiche();
|
||||
}
|
||||
});
|
||||
tabGestionnaire.add(btnRenommerActiverColonne);
|
||||
|
||||
JLabel lblNewLabel = new JLabel("<html>Grâce au gestionnaire, vous pouvez sélectionner une formation. Ensuite, vous pouvez modifier directement les données de chaque étudiant. Une fonction vous permet de créer des groupes.<br>Si nécessaire, vous pouvez exporter une formation avec les données filtrées, ou bien exporter les feuilles d'émargements en fonction des critères de filtrage choisis.</html>");
|
||||
lblNewLabel.setVerticalAlignment(SwingConstants.TOP);
|
||||
lblNewLabel.setFont(new Font("Arial", Font.PLAIN, 12));
|
||||
lblNewLabel.setBounds(370, 101, 340, 109);
|
||||
tabGestionnaire.add(lblNewLabel);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ListenerAction();
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Les écouteurs d'évènements de la fenêtre.
|
||||
*/
|
||||
private void ListenerAction() {
|
||||
|
||||
|
||||
// Ajoutez un WindowListener à la fenêtre principale.
|
||||
// Permet de fermer la fenêtre.
|
||||
frmEvalwriter.addWindowListener(new WindowAdapter() {
|
||||
@Override
|
||||
public void windowClosing(WindowEvent e) {
|
||||
// Parcourez tous les secondaryFrame existants et fermez-les
|
||||
for (Window window : Window.getWindows()) {
|
||||
if (window instanceof JFrame && window != Window_demarre.this) {
|
||||
window.dispose();
|
||||
}
|
||||
}
|
||||
System.exit(0);
|
||||
}
|
||||
});
|
||||
|
||||
// Bouton gestionnaire de la base.
|
||||
btnGestionnaire.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
if(commandes.nBase==null) {
|
||||
commandes.nBase = recupeBases.recupeLaBase();
|
||||
}
|
||||
if(VersionChecker.matchVersion(commandes.nBase)) {
|
||||
afficheGestionnaire();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Bouton exporter toute la base dans un classeur Ms Excel
|
||||
btnExporterTouteLaBase.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
if(commandes.nBase==null) commandes.nBase = recupeBases.recupeLaBase();
|
||||
//Exporte la base dans un classeur Excel.
|
||||
exportBaseToExcel.exportBase();
|
||||
}
|
||||
});
|
||||
|
||||
// Bouton importer des inscription depuis un classeur Ms Excel.
|
||||
btnimporterDesInscriptionsdepuisClasseur.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
File f = FileChooserXLSX.retourneFileXLSX();
|
||||
if(f!=null) {
|
||||
// chargement des noms des colonne pour incription
|
||||
NomDeColonneInscriptionTable.chargement();
|
||||
|
||||
// Importation des inscription
|
||||
importInscriptionXLS.importe(f);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Bouton Aide à la mise à jour de la base depuis un classeur Ms Excel.
|
||||
btnMiseAJourDepuisClasseur.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
if(VersionChecker.matchVersion(commandes.nBase)) {
|
||||
File f = FileChooserXLSX.retourneFileXLSX();
|
||||
if(f!=null) {
|
||||
importAllBaseToExcel.lecture(f);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Bouton nouvelle version disponible.
|
||||
btnNewVersion.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
String url = "https://forge.chapril.org/pablo/GestionDesInscriptions/releases"; // Remplacez cette URL par celle que vous souhaitez afficher
|
||||
try {
|
||||
Desktop.getDesktop().browse(new URI(url));
|
||||
} catch (IOException | URISyntaxException ex) {
|
||||
JOptionPane.showMessageDialog(null, "Problème avec la connexion internet.");
|
||||
ex.printStackTrace();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Affichage du gestionnaire de la base.
|
||||
*/
|
||||
private void afficheGestionnaire() {
|
||||
if(commandes.nBase.getNumberChildren()>0) {
|
||||
if(commandes.nBase.getAttributes("defaut_Year")!=null) {
|
||||
String defautYear = commandes.nBase.getAttributes("defaut_Year");
|
||||
if(commandes.nBase.getChild(defautYear)!=null) {
|
||||
if(commandes.nBase.getChild(defautYear).getNumberChildren()>0) {
|
||||
new Window_gestionnaire();
|
||||
}else {
|
||||
JPanel panel = new JPanel();
|
||||
JLabel message = new JLabel("<html><p>Dans la base de données, il n'y a pas de donnée"
|
||||
+ "<br>pour l'année universitaire " + defautYear +"</p></html>");
|
||||
panel.add(message);
|
||||
JOptionPane.showMessageDialog(null, panel, "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
}
|
||||
}else {
|
||||
JPanel panel = new JPanel();
|
||||
JLabel message = new JLabel("<html><p>Dans la base de données, il n'y a pas d'année universitaire par défaut.</p></html>");
|
||||
panel.add(message);
|
||||
JOptionPane.showMessageDialog(null, panel, "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
}else {
|
||||
JPanel panel = new JPanel();
|
||||
JLabel message = new JLabel("<html><p>Dans la base de données est vide.</p></html>");
|
||||
panel.add(message);
|
||||
JOptionPane.showMessageDialog(null, panel, "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Vérification du blocage de l'application
|
||||
* @return
|
||||
*/
|
||||
private static Boolean VerificationBlocageApplication() {
|
||||
|
||||
//Vérification du blocage
|
||||
if(commandes.nBase.getAttributes("bapp")!=null) {
|
||||
if(Boolean.valueOf(commandes.nBase.getAttributes("bapp"))) return true;
|
||||
}
|
||||
|
||||
|
||||
//Par défaut le blocage de l'application est false.
|
||||
if(commandes.blocageApplication && !commandes.pasDeConnexion) {
|
||||
commandes.nBase.setAttribut("bapp", "true");
|
||||
sauvegardeXMLBase.save(commandes.nBase, saveType.SANS_MESSAGE, null);
|
||||
return true;
|
||||
}
|
||||
|
||||
// Le deblocage de l'application doit être placé ici car besoin d'une connexion internet.
|
||||
if(!commandes.blocageApplication && !commandes.pasDeConnexion) {
|
||||
commandes.nBase.setAttribut("bapp", "false");
|
||||
sauvegardeXMLBase.save(commandes.nBase, saveType.SANS_MESSAGE, null);
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Affichage de l'image de fond avec l'auteur et la version.
|
||||
*/
|
||||
private static void affichageImageDeFond() {
|
||||
Random random = new Random();
|
||||
int randomNumber = random.nextInt(commandes.nombreImage) + 1;
|
||||
ImageIcon imageIcon = new ImageIcon(Window_demarre.class.getResource("/resources/Sans titre_"+ String.valueOf(randomNumber) +".jpg"));
|
||||
Image image = imageIcon.getImage();
|
||||
|
||||
// Détermination de la taille souhaitée pour l'image
|
||||
int newWidth = frmEvalwriter.getWidth();
|
||||
int newHeight = frmEvalwriter.getHeight()-300;
|
||||
if(commandes.newVersion ) newHeight = frmEvalwriter.getHeight()-400;
|
||||
|
||||
// Redimensionnement de l'image pour qu'elle s'adapte à la taille souhaitée
|
||||
Image resizedImage = image.getScaledInstance(newWidth, newHeight, Image.SCALE_SMOOTH);
|
||||
|
||||
|
||||
if(randomNumber==7
|
||||
|| randomNumber==10 || randomNumber==11 || randomNumber==12
|
||||
|| randomNumber==14 || randomNumber==18 || randomNumber==21
|
||||
|| randomNumber==22 || randomNumber==23 || randomNumber==25
|
||||
|| randomNumber==27 || randomNumber==28
|
||||
) {
|
||||
lblAuteurVersion.setForeground(new Color(0, 0, 0));
|
||||
}else {
|
||||
lblAuteurVersion.setForeground(new Color(255, 255, 255));
|
||||
}
|
||||
lblFondImage.setIcon(new ImageIcon(resizedImage));
|
||||
}
|
||||
|
||||
}
|
@ -1,16 +1,17 @@
|
||||
package baseUFRHG;
|
||||
package Windows;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JLabel;
|
||||
import java.awt.BorderLayout;
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.SwingConstants;
|
||||
|
||||
public class ExempleMAJ extends JFrame{
|
||||
public class Window_exempleMAJ extends JFrame{
|
||||
|
||||
private JFrame frame;
|
||||
|
||||
public ExempleMAJ() {
|
||||
public Window_exempleMAJ() {
|
||||
init();
|
||||
|
||||
}
|
||||
@ -32,11 +33,11 @@ public class ExempleMAJ extends JFrame{
|
||||
|
||||
JLabel lblNewLabel = new JLabel("");
|
||||
lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
lblNewLabel.setIcon(new ImageIcon(ExempleMAJ.class.getResource("/resources/Exemple de mise à jour.png")));
|
||||
lblNewLabel.setIcon(new ImageIcon(Window_exempleMAJ.class.getResource("/resources/Exemple de mise à jour.png")));
|
||||
frame.getContentPane().add(lblNewLabel, BorderLayout.CENTER);
|
||||
|
||||
|
||||
ImageIcon img = new ImageIcon(demarre.class.getResource("/resources/logo.png"));
|
||||
ImageIcon img = new ImageIcon(Window_demarre.class.getResource("/resources/logo.png"));
|
||||
frame.setIconImage(img.getImage());
|
||||
|
||||
frame.setResizable(false);
|
640
src/Windows/Window_genere_groupe.java
Normal file
@ -0,0 +1,640 @@
|
||||
package Windows;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.Font;
|
||||
import java.awt.Image;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Random;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import javax.swing.Icon;
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JRadioButton;
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.SwingConstants;
|
||||
import javax.swing.UIManager;
|
||||
import javax.swing.border.EmptyBorder;
|
||||
import javax.swing.event.DocumentEvent;
|
||||
import javax.swing.event.DocumentListener;
|
||||
|
||||
import base.sauvegardeXMLBase;
|
||||
import base.sauvegardeXMLBase.saveType;
|
||||
import outils.commandes;
|
||||
import outils.noeud;
|
||||
|
||||
public class Window_genere_groupe extends JFrame {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 1L;
|
||||
private JPanel contentPane = new JPanel();
|
||||
private JTextField textPattern_Groupe;
|
||||
private JTextField textNombre_Etudiant_Groupe;
|
||||
private int nombreEtudiantDansGroupe = 30;
|
||||
static JLabel lblAuteurVersion = new JLabel("<html>Pablo Rodriguez - 2023<br>Version "+ commandes.version+"</html>");
|
||||
private JTextField textFirstLettreChiffre;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Create the frame.
|
||||
*/
|
||||
public Window_genere_groupe( String nameGroupe, Window_gestionnaire instance) {
|
||||
initialize(nameGroupe, instance);
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void initialize( String nameGroupe,Window_gestionnaire instance) {
|
||||
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||
setBounds(0, 0, 863, 500);
|
||||
setTitle("Générer des groupes");
|
||||
setLocationRelativeTo(null); // Centre la fenêtre à l'écran
|
||||
|
||||
|
||||
ImageIcon img = new ImageIcon(Window_demarre.class.getResource("/resources/logo.png"));
|
||||
setIconImage(img.getImage());
|
||||
|
||||
|
||||
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||
contentPane.setLayout(null);
|
||||
getContentPane().setLayout(null);
|
||||
|
||||
noeud nFormation = commandes.nBase.getChild(instance.getTable().getAttributes("Formation"));
|
||||
|
||||
|
||||
|
||||
JLabel lblInformation = new JLabel("<html><p>La formation est : "+ nFormation.getName()+"<br>"
|
||||
+ "Le groupe sélectionné est : " + nameGroupe +"</p><hr></html>");
|
||||
lblInformation.setVerticalAlignment(SwingConstants.TOP);
|
||||
|
||||
|
||||
lblInformation.setFont(new Font("Tahoma", Font.BOLD, 16));
|
||||
lblInformation.setBounds(10, 261, 827, 47);
|
||||
getContentPane().add(lblInformation);
|
||||
|
||||
JButton btnGenere_Groupe = new JButton("Générer les groupes");
|
||||
btnGenere_Groupe.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
btnGenere_Groupe.setBounds(487, 396, 350, 58);
|
||||
getContentPane().add(btnGenere_Groupe);
|
||||
|
||||
textPattern_Groupe = new JTextField();
|
||||
textPattern_Groupe.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
textPattern_Groupe.setBounds(170, 321, 177, 34);
|
||||
getContentPane().add(textPattern_Groupe);
|
||||
textPattern_Groupe.setColumns(12);
|
||||
textPattern_Groupe.setText(commandes.nBase.getChild(instance.getTable().getAttributes("Formation")).getAttributes("pattern_"+nameGroupe));
|
||||
|
||||
JLabel lblNewLabel = new JLabel("Pattern du groupe (1)");
|
||||
lblNewLabel.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
lblNewLabel.setBounds(10, 320, 163, 34);
|
||||
getContentPane().add(lblNewLabel);
|
||||
|
||||
textNombre_Etudiant_Groupe = new JTextField();
|
||||
textNombre_Etudiant_Groupe.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
textNombre_Etudiant_Groupe.setBounds(724, 321, 113, 34);
|
||||
getContentPane().add(textNombre_Etudiant_Groupe);
|
||||
textNombre_Etudiant_Groupe.setColumns(6);
|
||||
textNombre_Etudiant_Groupe.setText(nFormation.getAttributes("nombre_Student_" + nameGroupe));
|
||||
textNombre_Etudiant_Groupe.getDocument().addDocumentListener(new DocumentListener() {
|
||||
@Override
|
||||
public void insertUpdate(DocumentEvent e) {
|
||||
checkIsNumber();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeUpdate(DocumentEvent e) {
|
||||
checkIsNumber();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void changedUpdate(DocumentEvent e) {
|
||||
checkIsNumber();
|
||||
}
|
||||
|
||||
private void checkIsNumber() {
|
||||
String inputText = textNombre_Etudiant_Groupe.getText().trim();
|
||||
|
||||
if (inputText.isEmpty()) {
|
||||
System.out.println("Le champ est vide.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (inputText.matches("\\d+")) {
|
||||
nombreEtudiantDansGroupe = Integer.parseInt(inputText);
|
||||
System.out.println("Le texte est un nombre : " + nombreEtudiantDansGroupe);
|
||||
} else {
|
||||
JOptionPane.showMessageDialog(null, "Ce n'est pas un nombre entier.", "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
textNombre_Etudiant_Groupe.setText(nFormation.getAttributes("nombre_Student_"+nameGroupe));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
JLabel lblNombre_Etudiant_Groupe = new JLabel("<html>Nombre maximum d'étudiants dans un groupe</html>");
|
||||
lblNombre_Etudiant_Groupe.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
lblNombre_Etudiant_Groupe.setBounds(382, 318, 332, 36);
|
||||
getContentPane().add(lblNombre_Etudiant_Groupe);
|
||||
|
||||
JLabel lblNewLabel_1 = new JLabel("<html>(1) - Si le caractère @ ou # n'est pas présent alors pattern fixe.<br>@ : correspond à une lettre de A à Z<br># : correspond à un nombre de 1 à 100</html>");
|
||||
lblNewLabel_1.setForeground(Color.BLUE);
|
||||
lblNewLabel_1.setFont(new Font("Arial", Font.BOLD | Font.ITALIC, 14));
|
||||
lblNewLabel_1.setVerticalAlignment(SwingConstants.TOP);
|
||||
lblNewLabel_1.setBounds(10, 396, 441, 58);
|
||||
getContentPane().add(lblNewLabel_1);
|
||||
|
||||
|
||||
Random random = new Random();
|
||||
int randomNumber = random.nextInt(commandes.nombreImage) + 1;
|
||||
|
||||
lblAuteurVersion = new JLabel("<html>Pablo Rodriguez - 2023<br>Version "+ commandes.version+"</html>");
|
||||
lblAuteurVersion.setVerticalAlignment(SwingConstants.TOP);
|
||||
lblAuteurVersion.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
lblAuteurVersion.setFont(new Font("Tahoma", Font.BOLD, 16));
|
||||
lblAuteurVersion.setForeground(new Color(255, 255, 255));
|
||||
lblAuteurVersion.setBounds(22, 11, 344, 87);
|
||||
if(randomNumber==7
|
||||
|| randomNumber==10 || randomNumber==11 || randomNumber==12
|
||||
|| randomNumber==14 || randomNumber==18 || randomNumber==21
|
||||
|| randomNumber==22 || randomNumber==23 || randomNumber==25
|
||||
|| randomNumber==27 || randomNumber==28
|
||||
) {
|
||||
lblAuteurVersion.setForeground(new Color(0, 0, 0));
|
||||
}else {
|
||||
lblAuteurVersion.setForeground(new Color(255, 255, 255));
|
||||
}
|
||||
getContentPane().add(lblAuteurVersion);
|
||||
|
||||
|
||||
ImageIcon imageIcon = new ImageIcon(Window_demarre.class.getResource("/resources/Sans titre_"+ String.valueOf(randomNumber) +".jpg"));
|
||||
|
||||
Image image = imageIcon.getImage();
|
||||
|
||||
// Détermination de la taille souhaitée pour l'image
|
||||
int newWidth = getWidth();
|
||||
int newHeight = getHeight()-100;
|
||||
|
||||
// Redimensionnement de l'image pour qu'elle s'adapte à la taille souhaitée
|
||||
Image resizedImage = image.getScaledInstance(newWidth, newHeight, Image.SCALE_SMOOTH);
|
||||
|
||||
|
||||
JLabel lblImage = new JLabel("");
|
||||
lblImage.setIcon(new ImageIcon(resizedImage));
|
||||
lblImage.setBounds(0, 0, 847, 260);
|
||||
getContentPane().add(lblImage);
|
||||
|
||||
JRadioButton rdbtnAleatoire = new JRadioButton("Ordre aléatoire");
|
||||
rdbtnAleatoire.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
rdbtnAleatoire.setBounds(487, 366, 167, 23);
|
||||
getContentPane().add(rdbtnAleatoire);
|
||||
|
||||
|
||||
JRadioButton rdbtnAlphabetique = new JRadioButton("Ordre alphabétique");
|
||||
rdbtnAlphabetique.setSelected(true);
|
||||
rdbtnAlphabetique.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
rdbtnAlphabetique.setBounds(670, 366, 167, 23);
|
||||
getContentPane().add(rdbtnAlphabetique);
|
||||
|
||||
JLabel lblNewLabel_2 = new JLabel("À partir de ...");
|
||||
lblNewLabel_2.setFont(new Font("Arial", Font.BOLD, 13));
|
||||
lblNewLabel_2.setBounds(66, 365, 94, 20);
|
||||
getContentPane().add(lblNewLabel_2);
|
||||
|
||||
textFirstLettreChiffre = new JTextField();
|
||||
textFirstLettreChiffre.setBounds(170, 357, 86, 28);
|
||||
getContentPane().add(textFirstLettreChiffre);
|
||||
textFirstLettreChiffre.setColumns(2);
|
||||
|
||||
rdbtnAlphabetique.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
rdbtnAleatoire.setSelected(false);
|
||||
}
|
||||
});
|
||||
rdbtnAleatoire.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
rdbtnAlphabetique.setSelected(false);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
btnGenere_Groupe.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
boolean verrouillageGroupe = false;
|
||||
switch (nameGroupe) {
|
||||
case "Groupe_Principal":
|
||||
verrouillageGroupe = instance.verouillage_Groupe_Principal || instance.verouillage_Tous_Les_Groupes;
|
||||
break;
|
||||
case "Groupe_TD":
|
||||
verrouillageGroupe = instance.verouillage_Groupe_TD || instance.verouillage_Tous_Les_Groupes;
|
||||
break;
|
||||
case "Groupe_LV1":
|
||||
verrouillageGroupe = instance.verouillage_Groupe_LV1 || instance.verouillage_Tous_Les_Groupes;
|
||||
break;
|
||||
case "Groupe_LV2":
|
||||
verrouillageGroupe = instance.verouillage_Groupe_LV2 || instance.verouillage_Tous_Les_Groupes;
|
||||
break;
|
||||
case "Groupe_Informatique":
|
||||
verrouillageGroupe = instance.verouillage_Groupe_Informatique || instance.verouillage_Tous_Les_Groupes;
|
||||
break;
|
||||
case "Groupe_Doc":
|
||||
verrouillageGroupe = instance.verouillage_Groupe_Documentation || instance.verouillage_Tous_Les_Groupes;
|
||||
break;
|
||||
case "Groupe_Projet":
|
||||
verrouillageGroupe = instance.verouillage_Groupe_Projet || instance.verouillage_Tous_Les_Groupes;
|
||||
break;
|
||||
case "Groupe_TP":
|
||||
verrouillageGroupe = instance.verouillage_Groupe_TP || instance.verouillage_Tous_Les_Groupes;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if(!textFirstLettreChiffre.getText().isEmpty()) {
|
||||
boolean erreur=false;
|
||||
if(textPattern_Groupe.getText().contains("@") && verifieChiffre(textFirstLettreChiffre.getText()) ) erreur =true;
|
||||
if(textPattern_Groupe.getText().contains("#") && verifieLettre(textFirstLettreChiffre.getText()) ) erreur =true;
|
||||
if(erreur) {
|
||||
showCustomDialogErreurPattern();
|
||||
return ;
|
||||
}
|
||||
if(textPattern_Groupe.getText().contains("@") && textPattern_Groupe.getText().contains("#")) {
|
||||
JOptionPane.showMessageDialog(null, "<html>Ce n'est pas possible dans le pattern<r>"
|
||||
+ "d'avoir @ et #.</html>","Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if(!verrouillageGroupe) {
|
||||
int choice = showCustomDialog();
|
||||
if (choice == JOptionPane.YES_OPTION) {
|
||||
if(rdbtnAleatoire.isSelected()) {
|
||||
generateAleatoireGroupe(nameGroupe, instance, textPattern_Groupe.getText(), Integer.parseInt(textNombre_Etudiant_Groupe.getText()),verrouillageGroupe, textFirstLettreChiffre.getText());
|
||||
dispose();
|
||||
}
|
||||
if(rdbtnAlphabetique.isSelected()) {
|
||||
generateAlphabetiqueGroupe(nameGroupe, instance, textPattern_Groupe.getText(), Integer.parseInt(textNombre_Etudiant_Groupe.getText()),verrouillageGroupe, textFirstLettreChiffre.getText());
|
||||
dispose();
|
||||
}
|
||||
}
|
||||
}else {
|
||||
if(rdbtnAleatoire.isSelected()) {
|
||||
generateAleatoireGroupe(nameGroupe, instance, textPattern_Groupe.getText(), Integer.parseInt(textNombre_Etudiant_Groupe.getText()),verrouillageGroupe, textFirstLettreChiffre.getText());
|
||||
}
|
||||
if(rdbtnAlphabetique.isSelected()) {
|
||||
generateAlphabetiqueGroupe(nameGroupe, instance, textPattern_Groupe.getText(), Integer.parseInt(textNombre_Etudiant_Groupe.getText()),verrouillageGroupe, textFirstLettreChiffre.getText());
|
||||
}
|
||||
dispose();
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
setVisible(true);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Génération aléatoire des groupes en suivant un pattern.
|
||||
* @param table
|
||||
* @param nameGroupe
|
||||
* @param instance
|
||||
* @param patternGroupe
|
||||
* @param tailleDesGroupes
|
||||
*/
|
||||
private static void generateAleatoireGroupe(String nameGroupe,Window_gestionnaire instance, String patternGroupe, Integer tailleDesGroupes,boolean verrouillageGroupe,String firstLettreChiffre) {
|
||||
noeud nFormation = commandes.nBase.getChild(instance.getTable().getAttributes("Formation"));
|
||||
int compteurEtudiantInsereDansGroupe=0;
|
||||
List<noeud> tableChild = instance.getTable().getChildren();
|
||||
|
||||
int totalElements = tableChild.size();
|
||||
int nombreDeGroupes = (int) Math.ceil((double) totalElements / tailleDesGroupes);
|
||||
|
||||
nFormation.setAttribut("pattern_"+nameGroupe, patternGroupe);
|
||||
nFormation.setAttribut("nombre_Student_"+nameGroupe,String.valueOf(tailleDesGroupes));
|
||||
|
||||
|
||||
if(patternGroupe.contains("@")) {
|
||||
String patternCopy = new String(patternGroupe);
|
||||
Random random = new Random();
|
||||
String caractereDebut = "A";
|
||||
if(!firstLettreChiffre.isEmpty()) {
|
||||
if(verifieLettre(firstLettreChiffre)) caractereDebut = firstLettreChiffre;
|
||||
}
|
||||
|
||||
String str = patternCopy.replaceAll("@", caractereDebut);
|
||||
|
||||
for (noeud child : tableChild) {
|
||||
if(!verrouillageGroupe || child.getAttributes(nameGroupe).isEmpty()) {
|
||||
do {
|
||||
char randomChar = (char) ( caractereDebut.toCharArray()[0] + random.nextInt(nombreDeGroupes));
|
||||
String caractere = String.valueOf(randomChar);
|
||||
patternCopy = new String(patternGroupe);
|
||||
str = patternCopy.replaceAll("@", caractere);
|
||||
}while(nFormation.getNumberAttribut(nameGroupe, str)>=tailleDesGroupes);
|
||||
compteurEtudiantInsereDansGroupe++;
|
||||
nFormation.getChild(child.getName()).setAttribut(nameGroupe, str);
|
||||
}
|
||||
}
|
||||
sauvegardeXMLBase.save(commandes.nBase,saveType.SANS_MESSAGE,null);
|
||||
instance.majFiltres();
|
||||
}else if (patternGroupe.contains("#")) {
|
||||
String patternCopy = new String(patternGroupe);
|
||||
int debut = 1;
|
||||
Random random = new Random();
|
||||
String str = patternCopy.replaceAll("#",String.valueOf(debut));
|
||||
|
||||
|
||||
if(!firstLettreChiffre.isEmpty()) {
|
||||
if(verifieChiffre(firstLettreChiffre)) {
|
||||
patternCopy = new String(patternGroupe);
|
||||
debut = Integer.valueOf(firstLettreChiffre);
|
||||
str = patternCopy.replaceAll("#",String.valueOf(debut));
|
||||
}
|
||||
}
|
||||
|
||||
for (noeud child : tableChild) {
|
||||
if(!verrouillageGroupe || child.getAttributes(nameGroupe).isEmpty()) {
|
||||
do {
|
||||
int randomInteger = (debut + random.nextInt(nombreDeGroupes));
|
||||
patternCopy = new String(patternGroupe);
|
||||
str = patternCopy.replaceAll("#",String.valueOf(randomInteger));
|
||||
}while(nFormation.getNumberAttribut(nameGroupe, str)>=tailleDesGroupes);
|
||||
compteurEtudiantInsereDansGroupe++;
|
||||
nFormation.getChild(child.getName()).setAttribut(nameGroupe, str);
|
||||
}
|
||||
}
|
||||
sauvegardeXMLBase.save(commandes.nBase,saveType.SANS_MESSAGE,null);
|
||||
instance.majFiltres();
|
||||
}else {
|
||||
for (noeud child : tableChild) {
|
||||
if(!verrouillageGroupe || child.getAttributes(nameGroupe).isEmpty()) {
|
||||
if(nFormation.getNumberAttribut(nameGroupe, patternGroupe)<=tailleDesGroupes+1) {
|
||||
compteurEtudiantInsereDansGroupe++;
|
||||
nFormation.getChild(child.getName()).setAttribut(nameGroupe, patternGroupe);
|
||||
}
|
||||
}
|
||||
}
|
||||
sauvegardeXMLBase.save(commandes.nBase,saveType.SANS_MESSAGE,null);
|
||||
instance.majFiltres();
|
||||
}
|
||||
|
||||
if(compteurEtudiantInsereDansGroupe>0) {
|
||||
showCustomMessage(compteurEtudiantInsereDansGroupe,nameGroupe,0);
|
||||
}else {
|
||||
showCustomMessage(compteurEtudiantInsereDansGroupe,nameGroupe,1);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Insère les étudiants dans des groupes par ordre alphabétique.
|
||||
* @param nameGroupe
|
||||
* @param instance
|
||||
* @param patternGroupe
|
||||
* @param tailleDesGroupes
|
||||
* @param verrouillageGroupe
|
||||
*/
|
||||
private static void generateAlphabetiqueGroupe(String nameGroupe, Window_gestionnaire instance, String patternGroupe, Integer tailleDesGroupes, boolean verrouillageGroupe, String firstLettreChiffre) {
|
||||
noeud nFormation = commandes.nBase.getChild(instance.getTable().getAttributes("Formation"));
|
||||
int compteurEtudiantInsereDansGroupe =0;
|
||||
List<noeud> tableChild = instance.getTable().getChildren();
|
||||
|
||||
|
||||
// ecriture du nouveau pattern et du nombre d'étudiant par groupe
|
||||
nFormation.setAttribut("pattern_"+nameGroupe, patternGroupe);
|
||||
nFormation.setAttribut("nombre_Student_"+nameGroupe,String.valueOf(tailleDesGroupes));
|
||||
|
||||
|
||||
if(patternGroupe.contains("@")) {
|
||||
String patternCopy = new String(patternGroupe);
|
||||
int nombreDeGroupes=0;
|
||||
String caractereDebut = "A";
|
||||
if(!firstLettreChiffre.isEmpty()) {
|
||||
if(verifieLettre(firstLettreChiffre)) caractereDebut = firstLettreChiffre;
|
||||
}
|
||||
|
||||
String str = patternCopy.replaceAll("@", caractereDebut);
|
||||
int compteur = 0;
|
||||
for (noeud child : tableChild) {
|
||||
//Groupes non verrouillés
|
||||
if(!verrouillageGroupe) {
|
||||
if(compteur==tailleDesGroupes) {
|
||||
compteur = 0;
|
||||
nombreDeGroupes++;
|
||||
String caractere = String.valueOf( (char) (caractereDebut.toCharArray()[0] + nombreDeGroupes));
|
||||
patternCopy = new String(patternGroupe);
|
||||
str = patternCopy.replaceAll("@", caractere);
|
||||
}
|
||||
compteur++;
|
||||
compteurEtudiantInsereDansGroupe++;
|
||||
nFormation.getChild(child.getName()).setAttribut(nameGroupe, str);
|
||||
}else if(child.getAttributes(nameGroupe).isEmpty()) {
|
||||
int nombreGroupeDejaPresent = nFormation.getNumberAttribut(nameGroupe, str);
|
||||
|
||||
if(nombreGroupeDejaPresent>=tailleDesGroupes) {
|
||||
do {
|
||||
nombreDeGroupes++;
|
||||
String caractere = String.valueOf((char) (caractereDebut.toCharArray()[0] + nombreDeGroupes));
|
||||
patternCopy = new String(patternGroupe);
|
||||
str = patternCopy.replaceAll("@", caractere);
|
||||
}while(nFormation.getNumberAttribut(nameGroupe, str)>=tailleDesGroupes);
|
||||
}
|
||||
compteurEtudiantInsereDansGroupe++;
|
||||
nFormation.getChild(child.getName()).setAttribut(nameGroupe, str);
|
||||
}
|
||||
}
|
||||
sauvegardeXMLBase.save(commandes.nBase,saveType.SANS_MESSAGE,null);
|
||||
instance.majFiltres();
|
||||
}else if (patternGroupe.contains("#")) {
|
||||
String patternCopy = new String(patternGroupe);
|
||||
|
||||
int nombreDeGroupes = 1;
|
||||
int compteur = 0;
|
||||
|
||||
|
||||
String str = patternCopy.replaceAll("#", String.valueOf(nombreDeGroupes));
|
||||
|
||||
if(!firstLettreChiffre.isEmpty()) {
|
||||
if(verifieChiffre(firstLettreChiffre)) {
|
||||
patternCopy = new String(patternGroupe);
|
||||
nombreDeGroupes = Integer.valueOf(firstLettreChiffre);
|
||||
str = patternCopy.replaceAll("#", firstLettreChiffre);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
for (noeud child : tableChild) {
|
||||
if(!verrouillageGroupe) {
|
||||
if(compteur==tailleDesGroupes) {
|
||||
compteur = 0;
|
||||
nombreDeGroupes++;
|
||||
patternCopy = new String(patternGroupe);
|
||||
str = patternCopy.replaceAll("#", String.valueOf(nombreDeGroupes));
|
||||
}
|
||||
compteur++;
|
||||
compteurEtudiantInsereDansGroupe++;
|
||||
nFormation.getChild(child.getName()).setAttribut(nameGroupe, str);
|
||||
}else if(child.getAttributes(nameGroupe).isEmpty()) {
|
||||
int nombreGroupeDejaPresent = nFormation.getNumberAttribut(nameGroupe, str);
|
||||
|
||||
if(nombreGroupeDejaPresent>=tailleDesGroupes) {
|
||||
do {
|
||||
nombreDeGroupes++;
|
||||
patternCopy = new String(patternGroupe);
|
||||
str = patternCopy.replaceAll("#", String.valueOf(nombreDeGroupes));
|
||||
}while(nFormation.getNumberAttribut(nameGroupe, str)>=tailleDesGroupes);
|
||||
}
|
||||
compteurEtudiantInsereDansGroupe++;
|
||||
nFormation.getChild(child.getName()).setAttribut(nameGroupe, str);
|
||||
}
|
||||
}
|
||||
sauvegardeXMLBase.save(commandes.nBase,saveType.SANS_MESSAGE,null);
|
||||
instance.majFiltres();
|
||||
}else {
|
||||
for (noeud child : tableChild) {
|
||||
if(!verrouillageGroupe || child.getAttributes(nameGroupe).isEmpty()) {
|
||||
if(nFormation.getNumberAttribut(nameGroupe, patternGroupe)<=tailleDesGroupes+1) {
|
||||
compteurEtudiantInsereDansGroupe++;
|
||||
nFormation.getChild(child.getName()).setAttribut(nameGroupe, patternGroupe);
|
||||
}
|
||||
}
|
||||
}
|
||||
sauvegardeXMLBase.save(commandes.nBase,saveType.SANS_MESSAGE,null);
|
||||
instance.majFiltres();
|
||||
}
|
||||
|
||||
if(compteurEtudiantInsereDansGroupe>0) {
|
||||
showCustomMessage(compteurEtudiantInsereDansGroupe,nameGroupe,0);
|
||||
}else {
|
||||
showCustomMessage(compteurEtudiantInsereDansGroupe,nameGroupe,1);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Liste des groupes déjà présents.
|
||||
* @param nFormation
|
||||
* @param nameGroupe
|
||||
* @return
|
||||
*/
|
||||
private static Map<String, Integer> listeDesGroupesPresents(noeud nFormation, String nameGroupe){
|
||||
Map<String, Integer> dictionary = new HashMap<>();
|
||||
|
||||
|
||||
|
||||
for(noeud student : nFormation.getChildren()) {
|
||||
String groupe = student.getAttributes(nameGroupe);
|
||||
if(dictionary.containsKey(groupe)) {
|
||||
int nombre = dictionary.get(groupe) + 1;
|
||||
dictionary.put(groupe, nombre);
|
||||
}else {
|
||||
dictionary.put(groupe, 1);
|
||||
}
|
||||
}
|
||||
|
||||
return dictionary;
|
||||
}
|
||||
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
private static String retourneLeGroupeAvecLeMoinsEtudiant(noeud nFormation, String nameGroupe) {
|
||||
String groupe = null;
|
||||
int taille = 10000;
|
||||
Map<String, Integer> TouslesGroupes = listeDesGroupesPresents(nFormation,nameGroupe);
|
||||
for(Entry<String,Integer> entry : TouslesGroupes.entrySet()) {
|
||||
if(entry.getValue()<taille) {
|
||||
groupe = entry.getKey();
|
||||
taille = entry.getValue();
|
||||
}
|
||||
}
|
||||
return groupe;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Boite de dialogue personnalisé avec une image de danger.
|
||||
* @return
|
||||
*/
|
||||
private static int showCustomDialog() {
|
||||
String message = "<html>Quelques étudiants peuvent être déjà placés dans des groupes.<br>"
|
||||
+ "Ces étudiants vont se retrouver dans d'autres groupes.<br>"
|
||||
+ "Il serait peut-être préférable de verrouiller le groupe avant de poursuivre !<br><br>"
|
||||
+ "<b>Cependant, voulez-vous poursuivre et placer tous les étudiants<br>dans des nouveaux groupes ?</b></html>";
|
||||
String title = "Confirmation";
|
||||
int optionType = JOptionPane.YES_NO_OPTION;
|
||||
Icon icon = new ImageIcon(Window_demarre.class.getResource("/resources/Danger.png"));
|
||||
|
||||
return JOptionPane.showOptionDialog(null, message, title, optionType, JOptionPane.QUESTION_MESSAGE, icon, null, null);
|
||||
}
|
||||
|
||||
private static int showCustomDialogErreurPattern() {
|
||||
String message = "<html>Il y a une erreur entre le pattern (@ ou #), et la valeur de début.<br><br>"
|
||||
+ "<b>Si c'est un chiffre ou un nombre (#), saisissez une valeur numérique entière.<br>"
|
||||
+ "Si c'est une lettre (@), saisissez une lettre alphabétique.</b></html>";
|
||||
String title = "Erreur";
|
||||
int optionType = JOptionPane.PLAIN_MESSAGE;
|
||||
Icon icon = new ImageIcon(Window_demarre.class.getResource("/resources/rien_compris.png"));
|
||||
|
||||
return JOptionPane.showOptionDialog(null, message, title, optionType, JOptionPane.QUESTION_MESSAGE, icon, null, null);
|
||||
}
|
||||
|
||||
private static int showCustomMessage(int nombreEtudiant, String nameGroupe, int codeImage) {
|
||||
String message = "<html>Vous avez inséré "+ String.valueOf(nombreEtudiant) +" étudiants,<br>"
|
||||
+ "dans le " + nameGroupe +"</b></html>";
|
||||
if(nombreEtudiant==0) {
|
||||
message = "<html>Vous n'avez pas inséré d'étudiant,<br>"
|
||||
+ "dans le " + nameGroupe +"</b></html>";
|
||||
}
|
||||
String title = "Message";
|
||||
int optionType = JOptionPane.PLAIN_MESSAGE ;
|
||||
Icon icon = new ImageIcon(Window_demarre.class.getResource("/resources/groupe_student.png"));
|
||||
if(codeImage==1) icon = new ImageIcon(Window_demarre.class.getResource("/resources/erreur.png"));
|
||||
|
||||
// Define the custom font
|
||||
Font customFont = new Font("Arial", Font.BOLD, 14);
|
||||
|
||||
// Set the custom font for the message
|
||||
UIManager.put("OptionPane.messageFont", customFont);
|
||||
|
||||
return JOptionPane.showOptionDialog(null, message, title, optionType, JOptionPane.QUESTION_MESSAGE, icon, null, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne TRUE si l'utilisateur à saisie une lettre de a à Z en minuscule ou majuscule.
|
||||
* @param chaine
|
||||
* @return
|
||||
*/
|
||||
public static boolean verifieLettre(String chaine) {
|
||||
// Pattern pour vérifier si la chaine contient une lettre de A à Z (majuscule ou minuscule)
|
||||
Pattern pattern = Pattern.compile("^[a-zA-Z]$");
|
||||
Matcher matcher = pattern.matcher(chaine);
|
||||
return matcher.matches();
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne TRUE si l'utilisateur à saisie un chiffre de 0 à 9.
|
||||
* @param chaine
|
||||
* @return
|
||||
*/
|
||||
public static boolean verifieChiffre(String chaine) {
|
||||
// Pattern pour vérifier si la chaine contient un chiffre de 0 à 9
|
||||
Pattern pattern = Pattern.compile("^[0-9]{1,2}$");
|
||||
Matcher matcher = pattern.matcher(chaine);
|
||||
return matcher.matches();
|
||||
}
|
||||
|
||||
}
|
||||
|
2510
src/Windows/Window_gestionnaire.java
Normal file
325
src/Windows/Window_parametreImportationInscription.java
Normal file
@ -0,0 +1,325 @@
|
||||
package Windows;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.EventQueue;
|
||||
import java.awt.Font;
|
||||
import java.awt.Image;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.util.HashMap;
|
||||
import java.util.Random;
|
||||
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.SwingConstants;
|
||||
import javax.swing.border.EmptyBorder;
|
||||
|
||||
import base.NomDeColonneInscriptionTable;
|
||||
import outils.commandes;
|
||||
|
||||
/**
|
||||
* Fenêtre permettant de changer les paramètres (nom de la feuille, noms des colonnes).
|
||||
* Pour importer les inscriptions depuis un classeur Ms Excel.
|
||||
* @author pabr6
|
||||
*
|
||||
*/
|
||||
public class Window_parametreImportationInscription extends JFrame {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 1L;
|
||||
private JPanel contentPane;
|
||||
private JTextField txtNomFeuille;
|
||||
private JTextField txtNomColonneExcel_Formation;
|
||||
private JTextField txtNomColonneExcel_NomEtudiant;
|
||||
private JLabel lblleNomColonneExcel_PrenomEtudiant;
|
||||
private JTextField txtNomColonneExcel_PrenomEtudiant;
|
||||
private JLabel lblleNomColonneExcel_CodeEtudiant;
|
||||
private JTextField txtNomColonneExcel_CodeEtudiant;
|
||||
private JLabel lblleNomColonneExcel_ProfilEtudiant;
|
||||
private JTextField txtNomColonneExcel_ProfilEtudiant;
|
||||
private JLabel lblleNomColonneExcel_BacEtudiant;
|
||||
private JTextField txtNomColonneExcel_BacEtudiant;
|
||||
private JLabel lblleNomColonneExcel_PortableEtudiant;
|
||||
private JTextField txtNomColonneExcel_PortableEtudiant;
|
||||
private JLabel lblleNomColonneExcel_MailPersoEtudiant;
|
||||
private JTextField txtNomColonneExcel_MailPersoEtudiant;
|
||||
private JLabel lblleNomColonneExcel_MailPersoEtudiant_1;
|
||||
private JTextField txtNomColonneExcel_MailUnivEtudiant;
|
||||
private JButton btnEnregistrer;
|
||||
private JLabel lblImage;
|
||||
private JLabel lblAuteurVersion;
|
||||
|
||||
/**
|
||||
* Lancement de l'affichage de la fenêtre.
|
||||
*/
|
||||
public static void Affiche() {
|
||||
EventQueue.invokeLater(new Runnable() {
|
||||
public void run() {
|
||||
try {
|
||||
// récupération des noms des colonnes et de la feuille.
|
||||
NomDeColonneInscriptionTable.chargement();
|
||||
// chargemente te affichage de la fenêtre.
|
||||
Window_parametreImportationInscription frame = new Window_parametreImportationInscription();
|
||||
frame.setVisible(true);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Crréation de la fenêtre.
|
||||
*/
|
||||
public Window_parametreImportationInscription() {
|
||||
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
contentPane = new JPanel();
|
||||
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||
|
||||
setContentPane(contentPane);
|
||||
|
||||
setTitle("Gestion des inscriptions et des groupes - langues - informatique - stage - rentrée");
|
||||
setBounds(0, 0, 1200, 860);
|
||||
|
||||
int screenWidth = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getWidth();
|
||||
int screenHeight = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getHeight();
|
||||
setLocation(( (screenWidth) - getWidth()) / 2, (screenHeight - getHeight()) / 2);
|
||||
|
||||
ImageIcon img = new ImageIcon(Window_demarre.class.getResource("/resources/logo.png"));
|
||||
setIconImage(img.getImage());
|
||||
|
||||
setResizable(false);
|
||||
|
||||
|
||||
setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
|
||||
getContentPane().setLayout(null);
|
||||
|
||||
JLabel lblNomFeuilleExcel = new JLabel("<html>Le nom de la feuille contenant<br>les inscriptions</html>");
|
||||
lblNomFeuilleExcel.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
lblNomFeuilleExcel.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
lblNomFeuilleExcel.setBounds(20, 527, 307, 34);
|
||||
contentPane.add(lblNomFeuilleExcel);
|
||||
|
||||
txtNomFeuille = new JTextField();
|
||||
txtNomFeuille.setText(commandes.nomFeuilleExcel_Inscription);
|
||||
txtNomFeuille.setFont(new Font("Tahoma", Font.BOLD, 14));
|
||||
txtNomFeuille.setBounds(326, 526, 244, 34);
|
||||
contentPane.add(txtNomFeuille);
|
||||
txtNomFeuille.setColumns(32);
|
||||
|
||||
JLabel lblleNomColonneExcel_Formation = new JLabel("<html>Le nom de la colonne : formation</html>");
|
||||
lblleNomColonneExcel_Formation.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
lblleNomColonneExcel_Formation.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
lblleNomColonneExcel_Formation.setBounds(20, 570, 348, 34);
|
||||
contentPane.add(lblleNomColonneExcel_Formation);
|
||||
|
||||
txtNomColonneExcel_Formation = new JTextField();
|
||||
txtNomColonneExcel_Formation.setText(commandes.nomColonneExcel_Formation);
|
||||
txtNomColonneExcel_Formation.setFont(new Font("Tahoma", Font.BOLD, 14));
|
||||
txtNomColonneExcel_Formation.setColumns(60);
|
||||
txtNomColonneExcel_Formation.setBounds(326, 571, 244, 34);
|
||||
contentPane.add(txtNomColonneExcel_Formation);
|
||||
|
||||
JLabel lblNewLabel = new JLabel("<html><p>Si vous rencontrez des difficultés pour importer les données à partir du classeur fourni par le service de récupération des inscriptions des étudiants, il est probable que le nom de la feuille dans le classeur ou le nom des colonnes ne correspondent pas à ceux de l'application.</p><br>\r\n<p>Pour résoudre ce problème, veuillez suivre les étapes suivantes :<br>\r\n1 - Ouvrez le classeur fourni.<br>\r\n2 - Copiez les différents noms des colonnes correspondant à chaque information requise par l'application.<br>\r\n3 - Collez ces noms dans les emplacements appropriés ci-dessous.<br>\r\n4 - Cliquez sur le bouton \"Enregistrer\"</p><br>\r\n<p>Une fois ces étapes complétées, les informations seront importées et conservées dans la base de données de l'application. Cela devrait permettre une importation correcte des données et assurer leur enregistrement dans la base de données.</p>");
|
||||
lblNewLabel.setForeground(Color.BLUE);
|
||||
lblNewLabel.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
lblNewLabel.setVerticalAlignment(SwingConstants.TOP);
|
||||
lblNewLabel.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
lblNewLabel.setBounds(10, 319, 1164, 201);
|
||||
contentPane.add(lblNewLabel);
|
||||
|
||||
JLabel lblleNomColonneExcel_NomEtudiant = new JLabel("<html>Le nom de la colonne : nom de l'étudiant</html>");
|
||||
lblleNomColonneExcel_NomEtudiant.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
lblleNomColonneExcel_NomEtudiant.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
lblleNomColonneExcel_NomEtudiant.setBounds(20, 615, 348, 34);
|
||||
contentPane.add(lblleNomColonneExcel_NomEtudiant);
|
||||
|
||||
txtNomColonneExcel_NomEtudiant = new JTextField();
|
||||
txtNomColonneExcel_NomEtudiant.setText(commandes.nomColonneExcel_NomEtudiant);
|
||||
txtNomColonneExcel_NomEtudiant.setFont(new Font("Tahoma", Font.BOLD, 14));
|
||||
txtNomColonneExcel_NomEtudiant.setColumns(60);
|
||||
txtNomColonneExcel_NomEtudiant.setBounds(326, 614, 244, 34);
|
||||
contentPane.add(txtNomColonneExcel_NomEtudiant);
|
||||
|
||||
lblleNomColonneExcel_PrenomEtudiant = new JLabel("<html>Le nom de la colonne : prénom de<br>l'étudiant</html>");
|
||||
lblleNomColonneExcel_PrenomEtudiant.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
lblleNomColonneExcel_PrenomEtudiant.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
lblleNomColonneExcel_PrenomEtudiant.setBounds(20, 660, 338, 34);
|
||||
contentPane.add(lblleNomColonneExcel_PrenomEtudiant);
|
||||
|
||||
txtNomColonneExcel_PrenomEtudiant = new JTextField();
|
||||
txtNomColonneExcel_PrenomEtudiant.setText(commandes.nomColonneExcel_PrenomEtudiant);
|
||||
txtNomColonneExcel_PrenomEtudiant.setFont(new Font("Tahoma", Font.BOLD, 14));
|
||||
txtNomColonneExcel_PrenomEtudiant.setColumns(60);
|
||||
txtNomColonneExcel_PrenomEtudiant.setBounds(326, 660, 244, 34);
|
||||
contentPane.add(txtNomColonneExcel_PrenomEtudiant);
|
||||
|
||||
lblleNomColonneExcel_CodeEtudiant = new JLabel("<html>Le nom de la colonne : code de l'étudiant</html>");
|
||||
lblleNomColonneExcel_CodeEtudiant.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
lblleNomColonneExcel_CodeEtudiant.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
lblleNomColonneExcel_CodeEtudiant.setBounds(20, 704, 307, 34);
|
||||
contentPane.add(lblleNomColonneExcel_CodeEtudiant);
|
||||
|
||||
txtNomColonneExcel_CodeEtudiant = new JTextField();
|
||||
txtNomColonneExcel_CodeEtudiant.setText(commandes.nomColonneExcel_CodeEtudiant);
|
||||
txtNomColonneExcel_CodeEtudiant.setFont(new Font("Tahoma", Font.BOLD, 14));
|
||||
txtNomColonneExcel_CodeEtudiant.setColumns(60);
|
||||
txtNomColonneExcel_CodeEtudiant.setBounds(326, 705, 244, 34);
|
||||
contentPane.add(txtNomColonneExcel_CodeEtudiant);
|
||||
|
||||
lblleNomColonneExcel_ProfilEtudiant = new JLabel("<html>Le nom de la colonne : profil de<br>l'étudiant</html>");
|
||||
lblleNomColonneExcel_ProfilEtudiant.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
lblleNomColonneExcel_ProfilEtudiant.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
lblleNomColonneExcel_ProfilEtudiant.setBounds(606, 528, 286, 34);
|
||||
contentPane.add(lblleNomColonneExcel_ProfilEtudiant);
|
||||
|
||||
txtNomColonneExcel_ProfilEtudiant = new JTextField();
|
||||
txtNomColonneExcel_ProfilEtudiant.setText(commandes.nomColonneExcel_ProfilEtudiant);
|
||||
txtNomColonneExcel_ProfilEtudiant.setFont(new Font("Tahoma", Font.BOLD, 14));
|
||||
txtNomColonneExcel_ProfilEtudiant.setColumns(60);
|
||||
txtNomColonneExcel_ProfilEtudiant.setBounds(905, 527, 244, 34);
|
||||
contentPane.add(txtNomColonneExcel_ProfilEtudiant);
|
||||
|
||||
lblleNomColonneExcel_BacEtudiant = new JLabel("<html>Le nom de la colonne : bac de l'étudiant</html>");
|
||||
lblleNomColonneExcel_BacEtudiant.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
lblleNomColonneExcel_BacEtudiant.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
lblleNomColonneExcel_BacEtudiant.setBounds(606, 571, 307, 34);
|
||||
contentPane.add(lblleNomColonneExcel_BacEtudiant);
|
||||
|
||||
txtNomColonneExcel_BacEtudiant = new JTextField();
|
||||
txtNomColonneExcel_BacEtudiant.setText(commandes.nomColonneExcel_BacEtudiant);
|
||||
txtNomColonneExcel_BacEtudiant.setFont(new Font("Tahoma", Font.BOLD, 14));
|
||||
txtNomColonneExcel_BacEtudiant.setColumns(60);
|
||||
txtNomColonneExcel_BacEtudiant.setBounds(905, 571, 244, 34);
|
||||
contentPane.add(txtNomColonneExcel_BacEtudiant);
|
||||
|
||||
lblleNomColonneExcel_PortableEtudiant = new JLabel("<html>Le nom de la colonne : tél. de l'étudiant</html>");
|
||||
lblleNomColonneExcel_PortableEtudiant.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
lblleNomColonneExcel_PortableEtudiant.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
lblleNomColonneExcel_PortableEtudiant.setBounds(606, 616, 307, 34);
|
||||
contentPane.add(lblleNomColonneExcel_PortableEtudiant);
|
||||
|
||||
txtNomColonneExcel_PortableEtudiant = new JTextField();
|
||||
txtNomColonneExcel_PortableEtudiant.setText(commandes.nomColonneExcel_PortableEtudiant);
|
||||
txtNomColonneExcel_PortableEtudiant.setFont(new Font("Tahoma", Font.BOLD, 14));
|
||||
txtNomColonneExcel_PortableEtudiant.setColumns(60);
|
||||
txtNomColonneExcel_PortableEtudiant.setBounds(905, 616, 244, 34);
|
||||
contentPane.add(txtNomColonneExcel_PortableEtudiant);
|
||||
|
||||
lblleNomColonneExcel_MailPersoEtudiant = new JLabel("<html>Le nom de la colonne : mail personnelle<br>de l'étudiant</html>");
|
||||
lblleNomColonneExcel_MailPersoEtudiant.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
lblleNomColonneExcel_MailPersoEtudiant.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
lblleNomColonneExcel_MailPersoEtudiant.setBounds(606, 661, 307, 34);
|
||||
contentPane.add(lblleNomColonneExcel_MailPersoEtudiant);
|
||||
|
||||
txtNomColonneExcel_MailPersoEtudiant = new JTextField();
|
||||
txtNomColonneExcel_MailPersoEtudiant.setText(commandes.nomColonneExcel_MailPersoEtudiant);
|
||||
txtNomColonneExcel_MailPersoEtudiant.setFont(new Font("Tahoma", Font.BOLD, 14));
|
||||
txtNomColonneExcel_MailPersoEtudiant.setColumns(60);
|
||||
txtNomColonneExcel_MailPersoEtudiant.setBounds(905, 661, 244, 34);
|
||||
contentPane.add(txtNomColonneExcel_MailPersoEtudiant);
|
||||
|
||||
lblleNomColonneExcel_MailPersoEtudiant_1 = new JLabel("<html>Le nom de la colonne : mail institutionnel<br>de l'étudiant</html>");
|
||||
lblleNomColonneExcel_MailPersoEtudiant_1.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
lblleNomColonneExcel_MailPersoEtudiant_1.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
lblleNomColonneExcel_MailPersoEtudiant_1.setBounds(606, 705, 307, 34);
|
||||
contentPane.add(lblleNomColonneExcel_MailPersoEtudiant_1);
|
||||
|
||||
txtNomColonneExcel_MailUnivEtudiant = new JTextField();
|
||||
txtNomColonneExcel_MailUnivEtudiant.setText(commandes.nomColonneExcel_MailUnivEtudiant);
|
||||
txtNomColonneExcel_MailUnivEtudiant.setFont(new Font("Tahoma", Font.BOLD, 14));
|
||||
txtNomColonneExcel_MailUnivEtudiant.setColumns(60);
|
||||
txtNomColonneExcel_MailUnivEtudiant.setBounds(905, 705, 244, 34);
|
||||
contentPane.add(txtNomColonneExcel_MailUnivEtudiant);
|
||||
|
||||
btnEnregistrer = new JButton("Enregistrer");
|
||||
btnEnregistrer.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
HashMap<String, String> nomColonnesFeuille = new HashMap<String,String>();
|
||||
nomColonnesFeuille.put("Excel_Formation", txtNomColonneExcel_Formation.getText());
|
||||
nomColonnesFeuille.put("Excel_Individu_-_Nom", txtNomColonneExcel_NomEtudiant.getText());
|
||||
nomColonnesFeuille.put("Excel_Individu_-_Prenom", txtNomColonneExcel_PrenomEtudiant.getText());
|
||||
nomColonnesFeuille.put("Excel_Individu_-_Code_Etudiant", txtNomColonneExcel_CodeEtudiant.getText());
|
||||
nomColonnesFeuille.put("Excel_Profil_etudiant_lib.", txtNomColonneExcel_ProfilEtudiant.getText());
|
||||
nomColonnesFeuille.put("Excel_Bac_ou_equivalence_lib.", txtNomColonneExcel_BacEtudiant.getText());
|
||||
nomColonnesFeuille.put("Excel_Individu_-_Tel._portable", txtNomColonneExcel_PortableEtudiant.getText());
|
||||
nomColonnesFeuille.put("Excel_Individu_-_Email_personnel", txtNomColonneExcel_MailPersoEtudiant.getText());
|
||||
nomColonnesFeuille.put("Excel_Individu_-_Email", txtNomColonneExcel_MailUnivEtudiant.getText());
|
||||
nomColonnesFeuille.put("Excel_Feuille_Inscription", txtNomFeuille.getText());
|
||||
|
||||
if(!NomDeColonneInscriptionTable.colitionNomDesColonnes(nomColonnesFeuille)) {
|
||||
NomDeColonneInscriptionTable.modifierLesNoms(nomColonnesFeuille);
|
||||
dispose();
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
btnEnregistrer.setFont(new Font("Tahoma", Font.BOLD, 18));
|
||||
btnEnregistrer.setBounds(20, 750, 555, 61);
|
||||
contentPane.add(btnEnregistrer);
|
||||
|
||||
Random random = new Random();
|
||||
int randomNumber = random.nextInt(commandes.nombreImage) + 1;
|
||||
ImageIcon imageIcon = new ImageIcon(Window_demarre.class.getResource("/resources/Sans titre_"+ String.valueOf(randomNumber) +".jpg"));
|
||||
Image image = imageIcon.getImage();
|
||||
|
||||
// Détermination de la taille souhaitée pour l'image
|
||||
int newWidth = getWidth();
|
||||
int newHeight = getHeight()-290;
|
||||
|
||||
// Redimensionnement de l'image pour qu'elle s'adapte à la taille souhaitée
|
||||
Image resizedImage = image.getScaledInstance(newWidth, newHeight, Image.SCALE_SMOOTH);
|
||||
|
||||
// label Auteur
|
||||
lblAuteurVersion = new JLabel("<html>Pablo Rodriguez - 2023<br>Version " + commandes.version +"</html>");
|
||||
lblAuteurVersion.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
lblAuteurVersion.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
lblAuteurVersion.setBounds(20, 11, 325, 53);
|
||||
if(randomNumber==7
|
||||
|| randomNumber==10 || randomNumber==11 || randomNumber==12
|
||||
|| randomNumber==14 || randomNumber==18 || randomNumber==21
|
||||
|| randomNumber==22 || randomNumber==23 || randomNumber==25
|
||||
|| randomNumber==27 || randomNumber==28
|
||||
) {
|
||||
lblAuteurVersion.setForeground(new Color(0, 0, 0));
|
||||
}else {
|
||||
lblAuteurVersion.setForeground(new Color(255, 255, 255));
|
||||
}
|
||||
contentPane.add(lblAuteurVersion);
|
||||
|
||||
lblImage = new JLabel("");
|
||||
lblImage.setIcon(new ImageIcon(resizedImage));
|
||||
lblImage.setBounds(10, 11, 1164, 297);
|
||||
contentPane.add(lblImage);
|
||||
|
||||
JButton btnValeurParDfaut = new JButton("Valeur par défaut");
|
||||
btnValeurParDfaut.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
NomDeColonneInscriptionTable.chargementParDefaut();
|
||||
txtNomColonneExcel_Formation.setText(commandes.nomColonneExcel_Formation);
|
||||
txtNomColonneExcel_NomEtudiant.setText(commandes.nomColonneExcel_NomEtudiant);
|
||||
txtNomColonneExcel_PrenomEtudiant.setText(commandes.nomColonneExcel_PrenomEtudiant);
|
||||
txtNomColonneExcel_CodeEtudiant.setText(commandes.nomColonneExcel_CodeEtudiant);
|
||||
txtNomColonneExcel_ProfilEtudiant.setText(commandes.nomColonneExcel_ProfilEtudiant);
|
||||
txtNomColonneExcel_BacEtudiant.setText(commandes.nomColonneExcel_BacEtudiant);
|
||||
txtNomColonneExcel_PortableEtudiant.setText(commandes.nomColonneExcel_PortableEtudiant);
|
||||
txtNomColonneExcel_MailPersoEtudiant.setText(commandes.nomColonneExcel_MailPersoEtudiant);
|
||||
txtNomColonneExcel_MailUnivEtudiant.setText(commandes.nomColonneExcel_MailUnivEtudiant);
|
||||
txtNomFeuille.setText(commandes.nomFeuilleExcel_Inscription);
|
||||
}
|
||||
});
|
||||
|
||||
btnValeurParDfaut.setFont(new Font("Tahoma", Font.BOLD, 18));
|
||||
btnValeurParDfaut.setBounds(605, 750, 544, 61);
|
||||
contentPane.add(btnValeurParDfaut);
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
312
src/Windows/Window_renommerColonne.java
Normal file
@ -0,0 +1,312 @@
|
||||
package Windows;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.EventQueue;
|
||||
import java.awt.Font;
|
||||
import java.awt.Image;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.util.HashMap;
|
||||
import java.util.Random;
|
||||
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.JTextField;
|
||||
import javax.swing.SwingConstants;
|
||||
import javax.swing.border.EmptyBorder;
|
||||
|
||||
import base.NomDeColonneInscriptionTable;
|
||||
import outils.commandes;
|
||||
import javax.swing.JCheckBox;
|
||||
|
||||
/**
|
||||
* Fenêtre permettant de changer les paramètres (nom de la feuille, noms des colonnes).
|
||||
* Pour importer les inscriptions depuis un classeur Ms Excel.
|
||||
* @author pabr6
|
||||
*
|
||||
*/
|
||||
public class Window_renommerColonne extends JFrame {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 1L;
|
||||
private JPanel contentPane;
|
||||
private JTextField txtNomOption_1;
|
||||
private JTextField txtNomOption_5;
|
||||
private JTextField txtNomOption_2;
|
||||
private JLabel lblOption_3;
|
||||
private JTextField txtNomOption_3;
|
||||
private JLabel lblAtelierPreRentreeSalle;
|
||||
private JTextField txtNomOption_4;
|
||||
private JButton btnEnregistrer;
|
||||
private JLabel lblImage;
|
||||
private JLabel lblAuteurVersion;
|
||||
private JCheckBox chckbxOption_1 = new JCheckBox("activé");
|
||||
private JCheckBox chckbxOption_2 = new JCheckBox("activé");
|
||||
private JCheckBox chckbxOption_3 = new JCheckBox("activé");
|
||||
private JCheckBox chckbxOption_4 = new JCheckBox("activé");
|
||||
private JCheckBox chckbxOption_5 = new JCheckBox("activé");
|
||||
|
||||
/**
|
||||
* Lancement de l'affichage de la fenêtre.
|
||||
*/
|
||||
public static void Affiche() {
|
||||
EventQueue.invokeLater(new Runnable() {
|
||||
public void run() {
|
||||
try {
|
||||
// récupération des noms des colonnes et de la feuille.
|
||||
NomDeColonneInscriptionTable.chargement();
|
||||
// chargemente te affichage de la fenêtre.
|
||||
Window_renommerColonne frame = new Window_renommerColonne();
|
||||
frame.setVisible(true);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Crréation de la fenêtre.
|
||||
*/
|
||||
public Window_renommerColonne() {
|
||||
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
contentPane = new JPanel();
|
||||
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||
|
||||
setContentPane(contentPane);
|
||||
|
||||
setTitle("Gestion des inscriptions et des groupes - langues - informatique - stage - rentrée");
|
||||
setBounds(0, 0, 1200, 860);
|
||||
|
||||
int screenWidth = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getWidth();
|
||||
int screenHeight = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getHeight();
|
||||
setLocation(( (screenWidth) - getWidth()) / 2, (screenHeight - getHeight()) / 2);
|
||||
|
||||
ImageIcon img = new ImageIcon(Window_demarre.class.getResource("/resources/logo.png"));
|
||||
setIconImage(img.getImage());
|
||||
|
||||
setResizable(false);
|
||||
|
||||
|
||||
setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
|
||||
getContentPane().setLayout(null);
|
||||
|
||||
JLabel lblOption_1 = new JLabel("<html>Renommer la colonne :<br>\r\nOption_1</html>");
|
||||
lblOption_1.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
lblOption_1.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
lblOption_1.setBounds(10, 428, 231, 34);
|
||||
contentPane.add(lblOption_1);
|
||||
|
||||
txtNomOption_1 = new JTextField();
|
||||
txtNomOption_1.setText(commandes.nomColonne_Option_1);
|
||||
txtNomOption_1.setFont(new Font("Tahoma", Font.BOLD, 14));
|
||||
txtNomOption_1.setBounds(251, 428, 244, 34);
|
||||
contentPane.add(txtNomOption_1);
|
||||
txtNomOption_1.setColumns(32);
|
||||
|
||||
JLabel lblOption_5 = new JLabel("<html>Renommer la colonne :<br>Option_5</html>");
|
||||
lblOption_5.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
lblOption_5.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
lblOption_5.setBounds(612, 428, 220, 34);
|
||||
contentPane.add(lblOption_5);
|
||||
|
||||
txtNomOption_5 = new JTextField();
|
||||
txtNomOption_5.setText(commandes.nomColonne_Option_5);
|
||||
txtNomOption_5.setFont(new Font("Tahoma", Font.BOLD, 14));
|
||||
txtNomOption_5.setColumns(32);
|
||||
txtNomOption_5.setBounds(842, 428, 244, 34);
|
||||
contentPane.add(txtNomOption_5);
|
||||
|
||||
JLabel lblNewLabel = new JLabel("<html><p>Les colonnes ci-dessous peuvent être renommées ou désactivées.</p><p>Si vous choisissez de les renommer, les changements seront appliqués à toutes les formations de la base de données. En revanche, si vous les désactivez, elles ne s'afficheront pas dans le gestionnaire, mais resteront présentes dans les classeurs exportés au format Ms Excel.</p><br><p>Il est important de noter que renommer ou désactiver ces colonnes n'entraînera pas la perte des données qui y sont enregistrées, mais simplement leur masquage.</p></html>");
|
||||
lblNewLabel.setForeground(Color.BLUE);
|
||||
lblNewLabel.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
lblNewLabel.setVerticalAlignment(SwingConstants.TOP);
|
||||
lblNewLabel.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
lblNewLabel.setBounds(10, 319, 1164, 98);
|
||||
contentPane.add(lblNewLabel);
|
||||
|
||||
JLabel lbllOption_2 = new JLabel("<html>Le nom de la colonne :<br>Option_2</html>");
|
||||
lbllOption_2.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
lbllOption_2.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
lbllOption_2.setBounds(10, 481, 231, 34);
|
||||
contentPane.add(lbllOption_2);
|
||||
|
||||
txtNomOption_2 = new JTextField();
|
||||
txtNomOption_2.setFont(new Font("Tahoma", Font.BOLD, 14));
|
||||
txtNomOption_2.setColumns(32);
|
||||
txtNomOption_2.setBounds(251, 481, 244, 34);
|
||||
txtNomOption_2.setText(commandes.nomColonne_Option_2);
|
||||
contentPane.add(txtNomOption_2);
|
||||
|
||||
lblOption_3 = new JLabel("<html>Le nom de la colonne : <br>\r\nOption_3</html>");
|
||||
lblOption_3.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
lblOption_3.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
lblOption_3.setBounds(10, 540, 220, 34);
|
||||
contentPane.add(lblOption_3);
|
||||
|
||||
txtNomOption_3 = new JTextField();
|
||||
txtNomOption_3.setFont(new Font("Tahoma", Font.BOLD, 14));
|
||||
txtNomOption_3.setColumns(32);
|
||||
txtNomOption_3.setBounds(251, 539, 244, 34);
|
||||
txtNomOption_3.setText(commandes.nomColonne_Option_3);
|
||||
contentPane.add(txtNomOption_3);
|
||||
|
||||
lblAtelierPreRentreeSalle = new JLabel("<html>Le nom de la colonne :<br>\r\nOption_4</html>");
|
||||
lblAtelierPreRentreeSalle.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
lblAtelierPreRentreeSalle.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
lblAtelierPreRentreeSalle.setBounds(10, 593, 231, 34);
|
||||
contentPane.add(lblAtelierPreRentreeSalle);
|
||||
|
||||
txtNomOption_4 = new JTextField();
|
||||
txtNomOption_4.setText(commandes.nomColonne_Option_4);
|
||||
txtNomOption_4.setFont(new Font("Tahoma", Font.BOLD, 14));
|
||||
txtNomOption_4.setColumns(32);
|
||||
txtNomOption_4.setBounds(251, 593, 244, 34);
|
||||
contentPane.add(txtNomOption_4);
|
||||
|
||||
btnEnregistrer = new JButton("Enregistrer");
|
||||
btnEnregistrer.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
HashMap<String, String> nomColonnesFeuille = new HashMap<String,String>();
|
||||
|
||||
nomColonnesFeuille.put("nomColonne_Option_1", txtNomOption_1.getText());
|
||||
if(chckbxOption_1.isSelected()) {
|
||||
nomColonnesFeuille.put("Enabled_Colonne_Option_1", "true");
|
||||
}else {
|
||||
nomColonnesFeuille.put("Enabled_Colonne_Option_1", "false");
|
||||
}
|
||||
|
||||
nomColonnesFeuille.put("nomColonne_Option_2", txtNomOption_2.getText());
|
||||
if(chckbxOption_2.isSelected()) {
|
||||
nomColonnesFeuille.put("Enabled_Colonne_Option_2", "true");
|
||||
}else {
|
||||
nomColonnesFeuille.put("Enabled_Colonne_Option_2", "false");
|
||||
}
|
||||
|
||||
nomColonnesFeuille.put("nomColonne_Option_3", txtNomOption_3.getText());
|
||||
if(chckbxOption_3.isSelected()) {
|
||||
nomColonnesFeuille.put("Enabled_Colonne_Option_3", "true");
|
||||
}else {
|
||||
nomColonnesFeuille.put("Enabled_Colonne_Option_3", "false");
|
||||
}
|
||||
|
||||
nomColonnesFeuille.put("nomColonne_Option_4", txtNomOption_4.getText());
|
||||
if(chckbxOption_4.isSelected()) {
|
||||
nomColonnesFeuille.put("Enabled_Colonne_Option_4", "true");
|
||||
}else {
|
||||
nomColonnesFeuille.put("Enabled_Colonne_Option_4", "false");
|
||||
}
|
||||
|
||||
nomColonnesFeuille.put("nomColonne_Option_5", txtNomOption_5.getText());
|
||||
if(chckbxOption_5.isSelected()) {
|
||||
nomColonnesFeuille.put("Enabled_Colonne_Option_5", "true");
|
||||
}else {
|
||||
nomColonnesFeuille.put("Enabled_Colonne_Option_5", "false");
|
||||
}
|
||||
|
||||
if(!NomDeColonneInscriptionTable.colitionNomDesColonnes(nomColonnesFeuille)) {
|
||||
NomDeColonneInscriptionTable.modifierLesNoms(nomColonnesFeuille);
|
||||
dispose();
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
btnEnregistrer.setFont(new Font("Tahoma", Font.BOLD, 18));
|
||||
btnEnregistrer.setBounds(20, 750, 555, 61);
|
||||
contentPane.add(btnEnregistrer);
|
||||
|
||||
Random random = new Random();
|
||||
int randomNumber = random.nextInt(commandes.nombreImage) + 1;
|
||||
|
||||
ImageIcon imageIcon = new ImageIcon(Window_demarre.class.getResource("/resources/Sans titre_"+ String.valueOf(randomNumber) +".jpg"));
|
||||
|
||||
Image image = imageIcon.getImage();
|
||||
|
||||
// Détermination de la taille souhaitée pour l'image
|
||||
int newWidth = getWidth();
|
||||
int newHeight = 430; //getHeight()-290;
|
||||
|
||||
// Redimensionnement de l'image pour qu'elle s'adapte à la taille souhaitée
|
||||
Image resizedImage = image.getScaledInstance(newWidth, newHeight, Image.SCALE_SMOOTH);
|
||||
|
||||
// label Auteur
|
||||
lblAuteurVersion = new JLabel("<html>Pablo Rodriguez - 2023<br>Version " + commandes.version +"</html>");
|
||||
lblAuteurVersion.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
lblAuteurVersion.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
lblAuteurVersion.setBounds(20, 11, 325, 53);
|
||||
if(randomNumber==7
|
||||
|| randomNumber==10 || randomNumber==11 || randomNumber==12
|
||||
|| randomNumber==14 || randomNumber==18 || randomNumber==21
|
||||
|| randomNumber==22 || randomNumber==23 || randomNumber==25
|
||||
|| randomNumber==27 || randomNumber==28
|
||||
) {
|
||||
lblAuteurVersion.setForeground(new Color(0, 0, 0));
|
||||
}else {
|
||||
lblAuteurVersion.setForeground(new Color(255, 255, 255));
|
||||
}
|
||||
contentPane.add(lblAuteurVersion);
|
||||
|
||||
lblImage = new JLabel("");
|
||||
lblImage.setIcon(new ImageIcon(resizedImage));
|
||||
lblImage.setBounds(10, 11, 1164, 297);
|
||||
contentPane.add(lblImage);
|
||||
|
||||
JButton btnValeurParDfaut = new JButton("Valeur par défaut");
|
||||
btnValeurParDfaut.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
NomDeColonneInscriptionTable.chargementParDefaut();
|
||||
|
||||
txtNomOption_1.setText(commandes.nomColonne_Option_1);
|
||||
chckbxOption_1.setSelected(commandes.enabled_Colonne_Option_1);
|
||||
|
||||
txtNomOption_2.setText(commandes.nomColonne_Option_2);
|
||||
chckbxOption_2.setSelected(commandes.enabled_Colonne_Option_2);
|
||||
|
||||
txtNomOption_3.setText(commandes.nomColonne_Option_3);
|
||||
chckbxOption_3.setSelected(commandes.enabled_Colonne_Option_3);
|
||||
|
||||
txtNomOption_4.setText(commandes.nomColonne_Option_4);
|
||||
chckbxOption_4.setSelected(commandes.enabled_Colonne_Option_4);
|
||||
|
||||
txtNomOption_5.setText(commandes.nomColonne_Option_5);
|
||||
chckbxOption_5.setSelected(commandes.enabled_Colonne_Option_5);
|
||||
}
|
||||
});
|
||||
|
||||
btnValeurParDfaut.setFont(new Font("Tahoma", Font.BOLD, 18));
|
||||
btnValeurParDfaut.setBounds(605, 750, 544, 61);
|
||||
contentPane.add(btnValeurParDfaut);
|
||||
|
||||
chckbxOption_1.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
chckbxOption_1.setBounds(501, 426, 82, 23);
|
||||
chckbxOption_1.setSelected(commandes.enabled_Colonne_Option_1);
|
||||
contentPane.add(chckbxOption_1);
|
||||
|
||||
chckbxOption_5.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
chckbxOption_5.setBounds(1092, 426, 82, 23);
|
||||
chckbxOption_5.setSelected(commandes.enabled_Colonne_Option_5);
|
||||
contentPane.add(chckbxOption_5);
|
||||
|
||||
chckbxOption_2.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
chckbxOption_2.setBounds(501, 479, 82, 23);
|
||||
chckbxOption_2.setSelected(commandes.enabled_Colonne_Option_2);
|
||||
contentPane.add(chckbxOption_2);
|
||||
|
||||
chckbxOption_3.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
chckbxOption_3.setBounds(501, 539, 82, 23);
|
||||
chckbxOption_3.setSelected(commandes.enabled_Colonne_Option_3);
|
||||
contentPane.add(chckbxOption_3);
|
||||
|
||||
chckbxOption_4.setFont(new Font("Arial", Font.BOLD, 14));
|
||||
chckbxOption_4.setBounds(501, 591, 82, 23);
|
||||
chckbxOption_4.setSelected(commandes.enabled_Colonne_Option_4);
|
||||
contentPane.add(chckbxOption_4);
|
||||
|
||||
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package baseUFRHG.actions;
|
||||
package actions;
|
||||
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.InputEvent;
|
||||
@ -9,25 +9,25 @@ import javax.swing.Action;
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.KeyStroke;
|
||||
|
||||
import baseUFRHG.exportBaseToExcel;
|
||||
import baseUFRHG.exportBaseToExcel.exportType;
|
||||
import baseUFRHG.gestionnaire;
|
||||
import baseUFRHG.noeud;
|
||||
import Windows.Window_gestionnaire;
|
||||
import exportations.exportBaseToExcel;
|
||||
import exportations.exportBaseToExcel.exportType;
|
||||
import outils.noeud;
|
||||
|
||||
|
||||
|
||||
public class exportEmargement extends AbstractAction{
|
||||
private noeud nTable = null;
|
||||
private gestionnaire instance;
|
||||
private Window_gestionnaire instance;
|
||||
|
||||
public exportEmargement(gestionnaire instance) {
|
||||
public exportEmargement(Window_gestionnaire instance) {
|
||||
|
||||
this.instance = instance;
|
||||
putValue( Action.NAME, "Exporter émargement Ms Excel" );
|
||||
putValue( Action.SMALL_ICON, new ImageIcon(gestionnaire.class.getResource("/resources/emargement.png")) );
|
||||
putValue( Action.LARGE_ICON_KEY, new ImageIcon(gestionnaire.class.getResource("/resources/emargement.png")) );
|
||||
putValue( Action.NAME, "<html>Créer feuille d'émargement<br>en tenant compte des filtres</html>" );
|
||||
putValue( Action.SMALL_ICON, new ImageIcon(Window_gestionnaire.class.getResource("/resources/emargement.png")) );
|
||||
putValue( Action.LARGE_ICON_KEY, new ImageIcon(Window_gestionnaire.class.getResource("/resources/emargement.png")) );
|
||||
putValue( Action.SHORT_DESCRIPTION, "Exporter l'émargement dans un classeur Ms Excel." );
|
||||
putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_T, InputEvent.CTRL_DOWN_MASK));
|
||||
putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_E, InputEvent.CTRL_DOWN_MASK));
|
||||
|
||||
}
|
||||
/**
|
||||
@ -38,7 +38,7 @@ public class exportEmargement extends AbstractAction{
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
// TODO Auto-generated method stub
|
||||
instance.majTableGroupes();
|
||||
instance.majTable();
|
||||
this.nTable = instance.nTable;
|
||||
if(nTable!=null) {
|
||||
exportBaseToExcel.exportTable(nTable, exportType.EMARGEMENT);
|
51
src/actions/exportTable.java
Normal file
@ -0,0 +1,51 @@
|
||||
package actions;
|
||||
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.InputEvent;
|
||||
import java.awt.event.KeyEvent;
|
||||
|
||||
import javax.swing.AbstractAction;
|
||||
import javax.swing.Action;
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.KeyStroke;
|
||||
|
||||
import Windows.Window_gestionnaire;
|
||||
import exportations.exportBaseToExcel;
|
||||
import exportations.exportBaseToExcel.exportType;
|
||||
|
||||
|
||||
|
||||
public class exportTable extends AbstractAction{
|
||||
// private noeud nTable = null;
|
||||
private Window_gestionnaire instance;
|
||||
|
||||
public exportTable(Window_gestionnaire instance) {
|
||||
|
||||
this.instance = instance;
|
||||
putValue( Action.NAME, "Exporter la table Ms Excel" );
|
||||
putValue( Action.SMALL_ICON, new ImageIcon(Window_gestionnaire.class.getResource("/resources/exportTableToExcel.png")) );
|
||||
putValue( Action.LARGE_ICON_KEY, new ImageIcon(Window_gestionnaire.class.getResource("/resources/exportTableToExcel.png")) );
|
||||
putValue( Action.SHORT_DESCRIPTION, "Exporter la table en tenant compte des filtres." );
|
||||
putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_T, InputEvent.CTRL_DOWN_MASK));
|
||||
|
||||
}
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
// TODO Auto-generated method stub
|
||||
// instance.majTable();
|
||||
// this.nTable = instance.nTable;
|
||||
System.out.println(instance.nTable.toWrite());
|
||||
if(instance.nTable!=null) {
|
||||
exportBaseToExcel.exportTable(instance.nTable, exportType.TABLE);
|
||||
}else {
|
||||
JOptionPane.showMessageDialog(null, "Erreur, la table est null","erreur", JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package baseUFRHG.actions;
|
||||
package actions;
|
||||
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.InputEvent;
|
||||
@ -9,22 +9,19 @@ import javax.swing.Action;
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.KeyStroke;
|
||||
|
||||
import baseUFRHG.commandes;
|
||||
import baseUFRHG.gestionnaire;
|
||||
import baseUFRHG.sauvegardeXMLBase;
|
||||
import baseUFRHG.sauvegardeXMLBase.saveType;
|
||||
import Windows.Window_gestionnaire;
|
||||
import base.CreateUpdateZipArchive;
|
||||
import base.sauvegardeXMLBase;
|
||||
import base.sauvegardeXMLBase.saveType;
|
||||
import outils.commandes;
|
||||
|
||||
public class saveTable extends AbstractAction{
|
||||
|
||||
private gestionnaire instance;
|
||||
|
||||
|
||||
public saveTable(gestionnaire instance) {
|
||||
public saveTable(Window_gestionnaire instance) {
|
||||
|
||||
this.instance = instance;
|
||||
putValue( Action.NAME, "Sauvegarder les modifications" );
|
||||
putValue( Action.SMALL_ICON, new ImageIcon(gestionnaire.class.getResource("/resources/saveTable.png")) );
|
||||
putValue( Action.LARGE_ICON_KEY, new ImageIcon(gestionnaire.class.getResource("/resources/saveTable.png")) );
|
||||
putValue( Action.SMALL_ICON, new ImageIcon(Window_gestionnaire.class.getResource("/resources/saveTable.png")) );
|
||||
putValue( Action.LARGE_ICON_KEY, new ImageIcon(Window_gestionnaire.class.getResource("/resources/saveTable.png")) );
|
||||
putValue( Action.SHORT_DESCRIPTION, "Sauvegarder les modifications" );
|
||||
putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_DOWN_MASK));
|
||||
|
||||
@ -38,10 +35,7 @@ public class saveTable extends AbstractAction{
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
|
||||
// Sauvegarde de la base
|
||||
sauvegardeXMLBase.save(commandes.nBase,saveType.WITH_MESSAGE);
|
||||
|
||||
instance.majTableFormation();
|
||||
instance.majTableGroupes();
|
||||
|
||||
sauvegardeXMLBase.save(commandes.nBase,saveType.WITH_DEFAULT_MESSAGE,"");
|
||||
CreateUpdateZipArchive.save();
|
||||
}
|
||||
}
|
175
src/base/CreateUpdateZipArchive.java
Normal file
@ -0,0 +1,175 @@
|
||||
package base;
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.DirectoryStream;
|
||||
import java.nio.file.FileSystem;
|
||||
import java.nio.file.FileSystems;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.nio.file.StandardCopyOption;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.zip.ZipOutputStream;
|
||||
|
||||
import outils.commandes;
|
||||
|
||||
public class CreateUpdateZipArchive {
|
||||
|
||||
|
||||
public static void save() {
|
||||
String archiveFilePath = Paths.get("").toAbsolutePath().toString()+ "/base/archiveBase.zip";
|
||||
String texteIntoString = commandes.nBase.toWrite();
|
||||
|
||||
// Vérifier si l'archive existe, sinon la créer
|
||||
if (!archiveExists(archiveFilePath)) {
|
||||
createEmptyArchive(archiveFilePath);
|
||||
}
|
||||
|
||||
// Vérifier le nombre de fichiers dans l'archive
|
||||
int numFilesInArchive = countFilesInArchive(archiveFilePath);
|
||||
|
||||
// Si l'archive contient déjà 5 fichiers, supprimer le plus ancien
|
||||
if (numFilesInArchive >= commandes.nombreMaxSauvegardeArchive) {
|
||||
removeOldestFileFromArchive(archiveFilePath);
|
||||
}
|
||||
|
||||
|
||||
// Créer le fichier XML avec le contenu de la chaîne
|
||||
String xmlContent = texteIntoString;
|
||||
String fileName = createFileNameWithDateTime("sauvbase", ".xml");
|
||||
String filePath = Paths.get("").toAbsolutePath().toString() + "/base/" + fileName;
|
||||
createFile(filePath, xmlContent);
|
||||
|
||||
// Ajouter le fichier XML à l'archive
|
||||
addFileToArchive(archiveFilePath, filePath);
|
||||
|
||||
|
||||
}
|
||||
|
||||
private static boolean archiveExists(String archiveFilePath) {
|
||||
File file = new File(archiveFilePath);
|
||||
return file.exists();
|
||||
}
|
||||
|
||||
private static void createEmptyArchive(String archiveFilePath) {
|
||||
try {
|
||||
FileOutputStream fos = new FileOutputStream(archiveFilePath);
|
||||
ZipOutputStream zos = new ZipOutputStream(fos);
|
||||
zos.close();
|
||||
System.out.println("Archive created successfully.");
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private static String createFileNameWithDateTime(String prefix, String extension) {
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
|
||||
String dateTimeString = now.format(formatter);
|
||||
return prefix + "_" + dateTimeString + extension;
|
||||
}
|
||||
|
||||
private static void createFile(String filePath, String content) {
|
||||
try {
|
||||
FileWriter fileWriter = new FileWriter(filePath);
|
||||
fileWriter.write(content);
|
||||
fileWriter.close();
|
||||
System.out.println("File created successfully: " + filePath);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private static void addFileToArchive(String archiveFilePath, String filePath) {
|
||||
try {
|
||||
File archiveFile = new File(archiveFilePath);
|
||||
File fileToAdd = new File(filePath);
|
||||
|
||||
Path archivePath = archiveFile.toPath();
|
||||
Path fileToAddPath = fileToAdd.toPath();
|
||||
|
||||
String fileToAddName = fileToAdd.getName();
|
||||
|
||||
try (FileSystem fs = FileSystems.newFileSystem(archivePath, null)) {
|
||||
Path fileInArchive = fs.getPath(fileToAddName);
|
||||
Files.copy(fileToAddPath, fileInArchive, StandardCopyOption.REPLACE_EXISTING);
|
||||
System.out.println("File added to the archive successfully.");
|
||||
|
||||
// Suppression du fichier après ajout à l'archive
|
||||
Files.deleteIfExists(fileToAddPath);
|
||||
System.out.println("File deleted successfully: " + filePath);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}catch (Exception e) {
|
||||
// TODO: handle exception
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private static int countFilesInArchive(String archiveFilePath) {
|
||||
int count = 0;
|
||||
try (FileSystem fs = FileSystems.newFileSystem(Paths.get(archiveFilePath), null)) {
|
||||
for (Path rootDirectory : fs.getRootDirectories()) {
|
||||
count += countFilesRecursive(rootDirectory);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
private static int countFilesRecursive(Path directory) {
|
||||
int count = 0;
|
||||
try (DirectoryStream<Path> directoryStream = Files.newDirectoryStream(directory)) {
|
||||
for (Path path : directoryStream) {
|
||||
if (Files.isDirectory(path)) {
|
||||
count += countFilesRecursive(path);
|
||||
} else {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
|
||||
private static void removeOldestFileFromArchive(String archiveFilePath) {
|
||||
try (FileSystem fs = FileSystems.newFileSystem(Paths.get(archiveFilePath), null)) {
|
||||
Path archivePath = fs.getPath("/");
|
||||
DirectoryStream<Path> directoryStream = Files.newDirectoryStream(archivePath, "sauvbase_*.xml");
|
||||
List<Path> files = new ArrayList<>();
|
||||
for (Path file : directoryStream) {
|
||||
files.add(file);
|
||||
}
|
||||
|
||||
if (!files.isEmpty()) {
|
||||
files.sort(Comparator.comparingLong(path -> getTimestampFromFileName(path)));
|
||||
Path oldestFile = files.get(0);
|
||||
Files.deleteIfExists(oldestFile);
|
||||
System.out.println("Oldest file deleted from the archive: " + oldestFile.getFileName());
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private static long getTimestampFromFileName(Path filePath) {
|
||||
String fileName = filePath.getFileName().toString();
|
||||
String timestampString = fileName.substring(fileName.lastIndexOf('_') + 1, fileName.lastIndexOf('.'));
|
||||
return Long.parseLong(timestampString);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
77
src/base/Hash.java
Normal file
@ -0,0 +1,77 @@
|
||||
package base;
|
||||
|
||||
import java.security.MessageDigest;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
|
||||
import outils.commandes;
|
||||
import outils.noeud;
|
||||
|
||||
public class Hash {
|
||||
|
||||
/**
|
||||
* Retourne TRUE si doit réaliser une sauvegarde de la base.
|
||||
* @return
|
||||
*/
|
||||
public static boolean faireLaSauvegarde() {
|
||||
boolean result = false;
|
||||
noeud nSauvgardeBase = recupeBases.recupereLaSauvegardeBase();
|
||||
String nSauvegardeBaseString = "";
|
||||
String nBaseString = "";
|
||||
|
||||
boolean sauvegareExiste = false;
|
||||
String defaut_Year = "";
|
||||
if(nSauvgardeBase!=null) {
|
||||
if(nSauvgardeBase.getAttributes("defaut_Year")!=null) {
|
||||
defaut_Year = nSauvgardeBase.getAttributes("defaut_Year");
|
||||
if(nSauvgardeBase.getChild(defaut_Year)!=null) {
|
||||
nSauvegardeBaseString = nSauvgardeBase.getChild(defaut_Year).toWrite();
|
||||
if(commandes.nBase.getChild(defaut_Year)!=null) {
|
||||
nBaseString = commandes.nBase.getChild(defaut_Year).toWrite();
|
||||
sauvegareExiste = true;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}else {
|
||||
// Si le fichier de sauvegarde n'existe pas alors doit créer une sauvegarde.
|
||||
result = true;
|
||||
}
|
||||
|
||||
if(!sauvegareExiste) return result;
|
||||
|
||||
try {
|
||||
// Calculer le hachage (hash) du contenu du fichier
|
||||
String fileHashFileSave = calculateHash(nSauvegardeBaseString);
|
||||
|
||||
// Hachage de référence à comparer
|
||||
String fileHashBase = calculateHash(nBaseString);
|
||||
|
||||
// Comparer les hachages
|
||||
if (!fileHashFileSave.equals(fileHashBase)) {
|
||||
System.out.println("Les hachages sont différents. Sauvegarde.");
|
||||
result = true;
|
||||
} else {
|
||||
System.out.println("Les hachages sont identiques. Pas de sauvegarde.");
|
||||
}
|
||||
} catch (NoSuchAlgorithmException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static String calculateHash(String input) throws NoSuchAlgorithmException {
|
||||
MessageDigest md = MessageDigest.getInstance("SHA-256");
|
||||
byte[] hashBytes = md.digest(input.getBytes());
|
||||
|
||||
StringBuilder hash = new StringBuilder();
|
||||
for (byte b : hashBytes) {
|
||||
hash.append(String.format("%02x", b));
|
||||
}
|
||||
|
||||
return hash.toString();
|
||||
}
|
||||
}
|
||||
|
350
src/base/NomDeColonneInscriptionTable.java
Normal file
@ -0,0 +1,350 @@
|
||||
package base;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.swing.JOptionPane;
|
||||
|
||||
import base.sauvegardeXMLBase.saveType;
|
||||
import outils.commandes;
|
||||
import outils.noeud;
|
||||
import outils.supprimeCaracatresSpeciaux;
|
||||
|
||||
/**
|
||||
* Classe permettant de charger, de modifier, de mettre à jour dans la base les noms des colonnes
|
||||
* du classeur fourni par l'administration.
|
||||
* @author pabr6
|
||||
*
|
||||
*/
|
||||
public class NomDeColonneInscriptionTable {
|
||||
|
||||
/**
|
||||
* Chargement des valeurs qui sont présentes dans la base.
|
||||
* Ce sont les valeurs des différents attributs du noeud base.
|
||||
*/
|
||||
public static void chargement() {
|
||||
// Valeurs par défaut
|
||||
if(commandes.nBase!=null) {
|
||||
// Ces attributs sont les noms des colonnes présentant dans les noeud de la base.
|
||||
commandes.nomColonneFormation = commandes.nBase.getAttributes("Formation");
|
||||
commandes.nomColonneNomEtudiant = commandes.nBase.getAttributes("Individu_-_Nom");
|
||||
commandes.nomColonnePrenomEtudiant = commandes.nBase.getAttributes("Individu_-_Prenom");
|
||||
commandes.nomColonneCodeEtudiant = commandes.nBase.getAttributes("Individu_-_Code_Etudiant");
|
||||
commandes.nomColonneProfilEtudiant = commandes.nBase.getAttributes("Profil_etudiant_lib.");
|
||||
commandes.nomColonneBacEtudiant = commandes.nBase.getAttributes("Bac_ou_equivalence_lib.");
|
||||
commandes.nomColonnePortableEtudiant = commandes.nBase.getAttributes("Individu_-_Tel._portable");
|
||||
commandes.nomColonneMailPersoEtudiant = commandes.nBase.getAttributes("Individu_-_Email_personnel");
|
||||
commandes.nomColonneMailUnivEtudiant = commandes.nBase.getAttributes("Individu_-_Email");
|
||||
|
||||
// Ces attributs permettent l'inscription à partir du classeur Ms Excel fourni.
|
||||
// Les noms de ces colonnes sont enregistré dans les attributs qui commencent par Excel_...
|
||||
commandes.nomColonneExcel_Formation = commandes.nBase.getAttributes("Excel_Formation");
|
||||
commandes.nomColonneExcel_NomEtudiant = commandes.nBase.getAttributes("Excel_Individu_-_Nom");
|
||||
commandes.nomColonneExcel_PrenomEtudiant = commandes.nBase.getAttributes("Excel_Individu_-_Prenom");
|
||||
commandes.nomColonneExcel_CodeEtudiant = commandes.nBase.getAttributes("Excel_Individu_-_Code_Etudiant");
|
||||
commandes.nomColonneExcel_ProfilEtudiant = commandes.nBase.getAttributes("Excel_Profil_etudiant_lib.");
|
||||
commandes.nomColonneExcel_BacEtudiant = commandes.nBase.getAttributes("Excel_Bac_ou_equivalence_lib.");
|
||||
commandes.nomColonneExcel_PortableEtudiant = commandes.nBase.getAttributes("Excel_Individu_-_Tel._portable");
|
||||
commandes.nomColonneExcel_MailPersoEtudiant = commandes.nBase.getAttributes("Excel_Individu_-_Email_personnel");
|
||||
commandes.nomColonneExcel_MailUnivEtudiant = commandes.nBase.getAttributes("Excel_Individu_-_Email");
|
||||
|
||||
commandes.nomFeuilleExcel_Inscription = commandes.nBase.getAttributes("Excel_Feuille_Inscription");
|
||||
|
||||
// nom des colonnes modifiables
|
||||
commandes.nomColonne_Option_1 = commandes.nBase.getAttributes("nomColonne_Option_1");
|
||||
commandes.enabled_Colonne_Option_1 = Boolean.valueOf(commandes.nBase.getAttributes("Enabled_Colonne_Option_1"));
|
||||
|
||||
commandes.nomColonne_Option_2 = commandes.nBase.getAttributes("nomColonne_Option_2");
|
||||
commandes.enabled_Colonne_Option_2 = Boolean.valueOf(commandes.nBase.getAttributes("Enabled_Colonne_Option_2"));
|
||||
|
||||
commandes.nomColonne_Option_3 = commandes.nBase.getAttributes("nomColonne_Option_3");
|
||||
commandes.enabled_Colonne_Option_3 = Boolean.valueOf(commandes.nBase.getAttributes("Enabled_Colonne_Option_3"));
|
||||
|
||||
commandes.nomColonne_Option_4 = commandes.nBase.getAttributes("nomColonne_Option_4");
|
||||
commandes.enabled_Colonne_Option_4 = Boolean.valueOf(commandes.nBase.getAttributes("Enabled_Colonne_Option_4"));
|
||||
|
||||
commandes.nomColonne_Option_5= commandes.nBase.getAttributes("nomColonne_Option_5");
|
||||
commandes.enabled_Colonne_Option_5 = Boolean.valueOf(commandes.nBase.getAttributes("Enabled_Colonne_Option_5"));
|
||||
|
||||
}else {
|
||||
chargementParDefaut();
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Chargement des noms des colonnes dans le classeur des inscriptions.
|
||||
* Ce classeur est fourni par le service administratif DSI qui le transmet au secrétarait de chaque UFR.
|
||||
* Ce classeur doit contenir ces colonnes après traitement des caractères.
|
||||
*/
|
||||
public static void chargementParDefaut() {
|
||||
|
||||
// Les noms des colonnes par défaut (classeur Ms Excel fourni)
|
||||
commandes.nomColonneExcel_Formation = "IAE - Version d'étape (lib. web)";
|
||||
commandes.nomColonneExcel_NomEtudiant = "Individu - Nom";
|
||||
commandes.nomColonneExcel_PrenomEtudiant = "Individu - Prénom";
|
||||
commandes.nomColonneExcel_CodeEtudiant = "Individu - Code Etudiant";
|
||||
commandes.nomColonneExcel_ProfilEtudiant = "Profil étudiant (lib.)";
|
||||
commandes.nomColonneExcel_BacEtudiant = "Bac ou équivalence (lib.)";
|
||||
commandes.nomColonneExcel_PortableEtudiant = "Individu - Tél. portable";
|
||||
commandes.nomColonneExcel_MailPersoEtudiant = "Individu - Email personnel";
|
||||
commandes.nomColonneExcel_MailUnivEtudiant = "Individu - Email";
|
||||
|
||||
commandes.nomFeuilleExcel_Inscription = "Inscrits détail";
|
||||
|
||||
commandes.nomColonneFormation = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_Formation);//"IAE_-_Version_detape_lib._web";
|
||||
commandes.nomColonneNomEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_NomEtudiant);//"Individu_-_Nom";
|
||||
commandes.nomColonnePrenomEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_PrenomEtudiant);; //"Individu_-_Prenom";
|
||||
commandes.nomColonneCodeEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_CodeEtudiant);//"Individu_-_Code_Etudiant";
|
||||
commandes.nomColonneProfilEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_ProfilEtudiant); //"Profil_etudiant_lib.";
|
||||
commandes.nomColonneBacEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_BacEtudiant);//"Bac_ou_equivalence_lib.";
|
||||
commandes.nomColonnePortableEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_PortableEtudiant);//"Individu_-_Tel._portable";
|
||||
commandes.nomColonneMailPersoEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_MailPersoEtudiant);//"Individu_-_Email_personnel";
|
||||
commandes.nomColonneMailUnivEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_MailUnivEtudiant);//"Individu_-_Email";
|
||||
|
||||
|
||||
commandes.nomColonne_Option_1 = "Option_1";
|
||||
commandes.enabled_Colonne_Option_1 = false;
|
||||
|
||||
commandes.nomColonne_Option_2 = "Atelier-rentree_horaire";
|
||||
commandes.enabled_Colonne_Option_2 = true;
|
||||
|
||||
commandes.nomColonne_Option_3 = "Atelier_pre-rentree_enseignant";
|
||||
commandes.enabled_Colonne_Option_3 = true;
|
||||
|
||||
commandes.nomColonne_Option_4 = "Atelier_pre-rentree_salle";
|
||||
commandes.enabled_Colonne_Option_4 = true;
|
||||
|
||||
commandes.nomColonne_Option_5 = "Information";
|
||||
commandes.enabled_Colonne_Option_5 = false;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Apporte les modification dans la base avec les nouveaux nons des colonnes ou de la feuille.
|
||||
* @param nomColonne
|
||||
*/
|
||||
public static void modifierLesNoms(HashMap<String, String> nomColonne) {
|
||||
|
||||
if(nomColonne.containsKey("Excel_Formation")) {
|
||||
commandes.nomColonneExcel_Formation = nomColonne.get("Excel_Formation");
|
||||
commandes.nomColonneFormation = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_Formation);
|
||||
}
|
||||
if(nomColonne.containsKey("Excel_Individu_-_Nom")) {
|
||||
commandes.nomColonneExcel_NomEtudiant = nomColonne.get("Excel_Individu_-_Nom");
|
||||
commandes.nomColonneNomEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_NomEtudiant);
|
||||
}
|
||||
if(nomColonne.containsKey("Excel_Individu_-_Prenom")) {
|
||||
commandes.nomColonneExcel_PrenomEtudiant = nomColonne.get("Excel_Individu_-_Prenom");
|
||||
commandes.nomColonnePrenomEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_PrenomEtudiant);
|
||||
}
|
||||
if(nomColonne.containsKey("Excel_Individu_-_Code_Etudiant")) {
|
||||
commandes.nomColonneExcel_CodeEtudiant = nomColonne.get("Excel_Individu_-_Code_Etudiant");
|
||||
commandes.nomColonneCodeEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_CodeEtudiant);
|
||||
}
|
||||
if(nomColonne.containsKey("Excel_Profil_etudiant_lib.")) {
|
||||
commandes.nomColonneExcel_ProfilEtudiant = nomColonne.get("Excel_Profil_etudiant_lib.");
|
||||
commandes.nomColonneProfilEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_ProfilEtudiant);
|
||||
}
|
||||
if(nomColonne.containsKey("Excel_Bac_ou_equivalence_lib.")) {
|
||||
commandes.nomColonneExcel_BacEtudiant = nomColonne.get("Excel_Bac_ou_equivalence_lib.");
|
||||
commandes.nomColonneBacEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_BacEtudiant);
|
||||
}
|
||||
if(nomColonne.containsKey("Excel_Individu_-_Tel._portable")) {
|
||||
commandes.nomColonneExcel_PortableEtudiant = nomColonne.get("Excel_Individu_-_Tel._portable");
|
||||
commandes.nomColonnePortableEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_PortableEtudiant);
|
||||
}
|
||||
if(nomColonne.containsKey("Excel_Individu_-_Email_personnel")) {
|
||||
commandes.nomColonneExcel_MailPersoEtudiant = nomColonne.get("Excel_Individu_-_Email_personnel");
|
||||
commandes.nomColonneMailPersoEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_MailPersoEtudiant);
|
||||
}
|
||||
if(nomColonne.containsKey("Excel_Individu_-_Email")) {
|
||||
commandes.nomColonneExcel_MailUnivEtudiant = nomColonne.get("Excel_Individu_-_Email");
|
||||
commandes.nomColonneMailUnivEtudiant = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(commandes.nomColonneExcel_MailUnivEtudiant);
|
||||
}
|
||||
|
||||
if(nomColonne.containsKey("Excel_Feuille_Inscription")) commandes.nomFeuilleExcel_Inscription = nomColonne.get("Excel_Feuille_Inscription");
|
||||
|
||||
if(nomColonne.containsKey("nomColonne_Option_1")) {
|
||||
commandes.nomColonne_Option_1 = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nomColonne.get("nomColonne_Option_1"));
|
||||
commandes.enabled_Colonne_Option_1 =Boolean.valueOf(nomColonne.get("Enabled_Colonne_Option_1"));
|
||||
}
|
||||
if(nomColonne.containsKey("nomColonne_Option_2")) {
|
||||
commandes.nomColonne_Option_2 = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nomColonne.get("nomColonne_Option_2"));
|
||||
commandes.enabled_Colonne_Option_2 =Boolean.valueOf(nomColonne.get("Enabled_Colonne_Option_2"));
|
||||
}
|
||||
if(nomColonne.containsKey("nomColonne_Option_3")) {
|
||||
commandes.nomColonne_Option_3 = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nomColonne.get("nomColonne_Option_3"));
|
||||
commandes.enabled_Colonne_Option_3 =Boolean.valueOf(nomColonne.get("Enabled_Colonne_Option_3"));
|
||||
}
|
||||
if(nomColonne.containsKey("nomColonne_Option_4")) {
|
||||
commandes.nomColonne_Option_4 = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nomColonne.get("nomColonne_Option_4"));
|
||||
commandes.enabled_Colonne_Option_4 =Boolean.valueOf(nomColonne.get("Enabled_Colonne_Option_4"));
|
||||
}
|
||||
if(nomColonne.containsKey("nomColonne_Option_5")) {
|
||||
commandes.nomColonne_Option_5 = supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(nomColonne.get("nomColonne_Option_5"));
|
||||
commandes.enabled_Colonne_Option_5 =Boolean.valueOf(nomColonne.get("Enabled_Colonne_Option_5"));
|
||||
}
|
||||
|
||||
// Ecriture dans la base pour prendre en compte les nouvelles colonnes et feuille
|
||||
if(commandes.nBase!=null) {
|
||||
// Ecriture de la formation
|
||||
String oldNameFormation = commandes.nBase.getAttributes("Formation");
|
||||
commandes.nBase.setAttribut("Formation", commandes.nomColonneFormation);
|
||||
commandes.nBase.setAttribut("Excel_Formation", commandes.nomColonneExcel_Formation);
|
||||
// ecriture du nom de l'étudiant
|
||||
String oldNameNomEtudiant = commandes.nBase.getAttributes("Individu_-_Nom");
|
||||
commandes.nBase.setAttribut("Individu_-_Nom", commandes.nomColonneNomEtudiant);
|
||||
commandes.nBase.setAttribut("Excel_Individu_-_Nom", commandes.nomColonneExcel_NomEtudiant);
|
||||
// ecriture du prénom de l'étudiant
|
||||
String oldNamePrenomEtudiant = commandes.nBase.getAttributes("Individu_-_Prenom");
|
||||
commandes.nBase.setAttribut("Individu_-_Prenom", commandes.nomColonnePrenomEtudiant);
|
||||
commandes.nBase.setAttribut("Excel_Individu_-_Prenom", commandes.nomColonneExcel_PrenomEtudiant);
|
||||
// ecriture du code de l'étudiant
|
||||
String oldNameCodeEtudiant = commandes.nBase.getAttributes("Individu_-_Code_Etudiant");
|
||||
commandes.nBase.setAttribut("Individu_-_Code_Etudiant", commandes.nomColonneCodeEtudiant);
|
||||
commandes.nBase.setAttribut("Excel_Individu_-_Code_Etudiant", commandes.nomColonneExcel_CodeEtudiant);
|
||||
// ecriture du profil de l'étudiant
|
||||
String oldNameProfilEtudiant = commandes.nBase.getAttributes("Profil_etudiant_lib.");
|
||||
commandes.nBase.setAttribut("Profil_etudiant_lib.", commandes.nomColonneProfilEtudiant);
|
||||
commandes.nBase.setAttribut("Excel_Profil_etudiant_lib.", commandes.nomColonneExcel_ProfilEtudiant);
|
||||
// ecriture du bac de l'étudiant
|
||||
String oldNameBacEtudiant = commandes.nBase.getAttributes("Bac_ou_equivalence_lib.");
|
||||
commandes.nBase.setAttribut("Bac_ou_equivalence_lib.", commandes.nomColonneBacEtudiant);
|
||||
commandes.nBase.setAttribut("Excel_Bac_ou_equivalence_lib.", commandes.nomColonneExcel_BacEtudiant);
|
||||
// ecriture du portable de l'étudiant
|
||||
String oldNamePortableEtudiant = commandes.nBase.getAttributes("Individu_-_Tel._portable");
|
||||
commandes.nBase.setAttribut("Individu_-_Tel._portable", commandes.nomColonnePortableEtudiant);
|
||||
commandes.nBase.setAttribut("Excel_Individu_-_Tel._portable", commandes.nomColonneExcel_PortableEtudiant);
|
||||
// ecriture du mail personnel de l'étudiant
|
||||
String oldNameMailPersoEtudiant = commandes.nBase.getAttributes("Individu_-_Email_personnel");
|
||||
commandes.nBase.setAttribut("Individu_-_Email_personnel", commandes.nomColonneMailPersoEtudiant);
|
||||
commandes.nBase.setAttribut("Excel_Individu_-_Email_personnel", commandes.nomColonneExcel_MailPersoEtudiant);
|
||||
// ecriture du mail université de l'étudiant
|
||||
String oldNameMailUnivEtudiant = commandes.nBase.getAttributes("Individu_-_Email");
|
||||
commandes.nBase.setAttribut("Individu_-_Email", commandes.nomColonneMailUnivEtudiant);
|
||||
commandes.nBase.setAttribut("Excel_Individu_-_Email", commandes.nomColonneExcel_MailUnivEtudiant);
|
||||
// ecriture nom de la feuille
|
||||
commandes.nBase.setAttribut("Excel_Feuille_Inscription", commandes.nomFeuilleExcel_Inscription);
|
||||
// Les colonnes Option
|
||||
String oldNameOption_1 = commandes.nBase.getAttributes("nomColonne_Option_1");
|
||||
commandes.nBase.setAttribut("nomColonne_Option_1", commandes.nomColonne_Option_1);
|
||||
commandes.nBase.setAttribut("Enabled_Colonne_Option_1",String.valueOf(commandes.enabled_Colonne_Option_1));
|
||||
String oldNameOption_2 = commandes.nBase.getAttributes("nomColonne_Option_2");
|
||||
commandes.nBase.setAttribut("nomColonne_Option_2", commandes.nomColonne_Option_2);
|
||||
commandes.nBase.setAttribut("Enabled_Colonne_Option_2",String.valueOf(commandes.enabled_Colonne_Option_2));
|
||||
String oldNameOption_3 = commandes.nBase.getAttributes("nomColonne_Option_3");
|
||||
commandes.nBase.setAttribut("nomColonne_Option_3", commandes.nomColonne_Option_3);
|
||||
commandes.nBase.setAttribut("Enabled_Colonne_Option_3",String.valueOf(commandes.enabled_Colonne_Option_3));
|
||||
String oldNameOption_4 = commandes.nBase.getAttributes("nomColonne_Option_4");
|
||||
commandes.nBase.setAttribut("nomColonne_Option_4", commandes.nomColonne_Option_4);
|
||||
commandes.nBase.setAttribut("Enabled_Colonne_Option_4",String.valueOf(commandes.enabled_Colonne_Option_4));
|
||||
String oldNameOption_5 = commandes.nBase.getAttributes("nomColonne_Option_5");
|
||||
commandes.nBase.setAttribut("nomColonne_Option_5", commandes.nomColonne_Option_5);
|
||||
commandes.nBase.setAttribut("Enabled_Colonne_Option_5",String.valueOf(commandes.enabled_Colonne_Option_5));
|
||||
|
||||
|
||||
if( commandes.nBase.getFirstChild()!=null) {
|
||||
for(noeud formation : commandes.nBase.getFirstChild().getChildren()) {
|
||||
for(noeud nStudent : formation.getChildren()) {
|
||||
nStudent.changeAttributName(oldNameFormation, commandes.nomColonneFormation);
|
||||
nStudent.changeAttributName(oldNameNomEtudiant, commandes.nomColonneNomEtudiant);
|
||||
nStudent.changeAttributName(oldNamePrenomEtudiant, commandes.nomColonnePrenomEtudiant);
|
||||
nStudent.changeAttributName(oldNameCodeEtudiant, commandes.nomColonneCodeEtudiant);
|
||||
nStudent.changeAttributName(oldNameProfilEtudiant, commandes.nomColonneProfilEtudiant);
|
||||
nStudent.changeAttributName(oldNameBacEtudiant, commandes.nomColonneBacEtudiant);
|
||||
nStudent.changeAttributName(oldNamePortableEtudiant, commandes.nomColonnePortableEtudiant);
|
||||
nStudent.changeAttributName(oldNameMailPersoEtudiant, commandes.nomColonneMailPersoEtudiant);
|
||||
nStudent.changeAttributName(oldNameMailUnivEtudiant, commandes.nomColonneMailUnivEtudiant);
|
||||
nStudent.changeAttributName(oldNameOption_1, commandes.nomColonne_Option_1);
|
||||
nStudent.changeAttributName(oldNameOption_2, commandes.nomColonne_Option_2);
|
||||
nStudent.changeAttributName(oldNameOption_3, commandes.nomColonne_Option_3);
|
||||
nStudent.changeAttributName(oldNameOption_4, commandes.nomColonne_Option_4);
|
||||
nStudent.changeAttributName(oldNameOption_5, commandes.nomColonne_Option_5);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sauvegardeXMLBase.save(commandes.nBase, saveType.SANS_MESSAGE, "");
|
||||
|
||||
JOptionPane.showMessageDialog(null, "Changement enregistré.");
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Vérification de collision entre les noms des colonnes.<br>
|
||||
* Les noms des colonnes de la table doivent être unique.
|
||||
* @param nomColonne
|
||||
* @return
|
||||
*/
|
||||
public static boolean colitionNomDesColonnes(HashMap<String, String> nomColonne) {
|
||||
boolean result = false;
|
||||
StringBuilder message = new StringBuilder();
|
||||
commandes.listNomDesColonnes.clear();
|
||||
|
||||
commandes.listNomDesColonnes.add("Groupe_Principal");
|
||||
commandes.listNomDesColonnes.add("Formation");
|
||||
commandes.listNomDesColonnes.add("Groupe_TD");
|
||||
commandes.listNomDesColonnes.add("Groupe_LV1");
|
||||
commandes.listNomDesColonnes.add("Groupe_LV2");
|
||||
commandes.listNomDesColonnes.add("LV1");
|
||||
commandes.listNomDesColonnes.add("LV2");
|
||||
commandes.listNomDesColonnes.add("Regime");
|
||||
commandes.listNomDesColonnes.add("Groupe_TP");
|
||||
commandes.listNomDesColonnes.add("Groupe_Informatique");
|
||||
commandes.listNomDesColonnes.add("Groupe_Projet");
|
||||
commandes.listNomDesColonnes.add("Groupe_Doc");
|
||||
commandes.listNomDesColonnes.add("UE_Libre");
|
||||
commandes.listNomDesColonnes.add("Covoiturage");
|
||||
commandes.listNomDesColonnes.add("Etudiant_Covoiturage");
|
||||
commandes.listNomDesColonnes.add("Stage_1");
|
||||
commandes.listNomDesColonnes.add("Num_convention_1");
|
||||
commandes.listNomDesColonnes.add("Periode_1");
|
||||
commandes.listNomDesColonnes.add("Stage_2");
|
||||
commandes.listNomDesColonnes.add("Num_convention_2");
|
||||
commandes.listNomDesColonnes.add("Periode_2");
|
||||
|
||||
verificationCollisition(nomColonne, message, result);
|
||||
|
||||
if(result) {
|
||||
JOptionPane.showMessageDialog(null, "<html>"+ message.toString() + "<p>Recommencer votre saisie.</p></html>");
|
||||
}
|
||||
|
||||
return result ;
|
||||
}
|
||||
|
||||
/**
|
||||
* Vérification de collision entre les noms des colonnes.<br>
|
||||
* Les noms des colonnes de la table doivent être unique.
|
||||
* @param nomColonne
|
||||
* @param message
|
||||
* @param result
|
||||
*/
|
||||
private static void verificationCollisition(HashMap<String, String> nomColonne, StringBuilder message, boolean result) {
|
||||
|
||||
for(Map.Entry<String, String> entry : commandes.nBase.getAttributes().entrySet()) {
|
||||
commandes.listNomDesColonnes.add(entry.getValue());
|
||||
}
|
||||
|
||||
|
||||
// Remplissage de la listNomDesColonnes et vérification
|
||||
for (Map.Entry<String, String> entry : nomColonne.entrySet()) {
|
||||
if(!commandes.listNomDesColonnes.contains(supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(entry.getValue()))) {
|
||||
commandes.listNomDesColonnes.add(supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(entry.getValue()));
|
||||
}else {
|
||||
message.append("<p>Le nom de la colonne " + entry.getKey() + " = "+ entry.getValue() + " est en double.</p>");
|
||||
result =true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
135
src/base/base.java
Normal file
@ -0,0 +1,135 @@
|
||||
package base;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
|
||||
import base.sauvegardeXMLBase.saveType;
|
||||
import outils.commandes;
|
||||
import outils.noeud;
|
||||
import outils.supprimeCaracatresSpeciaux;
|
||||
|
||||
public class base {
|
||||
|
||||
/**
|
||||
* Création d'une nouvelle base de données. (commentaire)
|
||||
* Enregistrement de la base de données dans le dossier de l'application.
|
||||
* @throws IOException
|
||||
*/
|
||||
public static noeud createBase() {
|
||||
noeud nBase = new noeud("base");
|
||||
|
||||
Date aujourdhui = new Date();
|
||||
nBase.setAttribut("date_creation",DateEnClairFR(aujourdhui));
|
||||
nBase.setAttribut("date_derniere_modification",DateEnClairFR(aujourdhui));
|
||||
nBase.setAttribut("version",commandes.version);
|
||||
|
||||
// Chargement des noms des colonnes par défaut pour inscrire des étudiants.
|
||||
NomDeColonneInscriptionTable.chargementParDefaut();
|
||||
|
||||
nBase.setAttribut("Formation",commandes.nomColonneFormation);
|
||||
nBase.setAttribut(commandes.nomColonneCodeEtudiant,commandes.nomColonneCodeEtudiant);
|
||||
nBase.setAttribut(commandes.nomColonneNomEtudiant,commandes.nomColonneNomEtudiant);
|
||||
nBase.setAttribut(commandes.nomColonnePrenomEtudiant,commandes.nomColonnePrenomEtudiant);
|
||||
nBase.setAttribut(commandes.nomColonneProfilEtudiant,commandes.nomColonneProfilEtudiant);
|
||||
nBase.setAttribut(commandes.nomColonneBacEtudiant,commandes.nomColonneBacEtudiant);
|
||||
nBase.setAttribut(commandes.nomColonnePortableEtudiant,commandes.nomColonnePortableEtudiant);
|
||||
nBase.setAttribut(commandes.nomColonneMailPersoEtudiant,commandes.nomColonneMailPersoEtudiant);
|
||||
nBase.setAttribut(commandes.nomColonneMailUnivEtudiant,commandes.nomColonneMailUnivEtudiant);
|
||||
|
||||
nBase.setAttribut("Excel_Formation",commandes.nomColonneExcel_Formation);
|
||||
nBase.setAttribut("Excel_"+commandes.nomColonneCodeEtudiant,commandes.nomColonneExcel_CodeEtudiant);
|
||||
nBase.setAttribut("Excel_"+commandes.nomColonneNomEtudiant,commandes.nomColonneExcel_NomEtudiant);
|
||||
nBase.setAttribut("Excel_"+commandes.nomColonnePrenomEtudiant,commandes.nomColonneExcel_PrenomEtudiant);
|
||||
nBase.setAttribut("Excel_"+commandes.nomColonneProfilEtudiant,commandes.nomColonneExcel_ProfilEtudiant);
|
||||
nBase.setAttribut("Excel_"+commandes.nomColonneBacEtudiant,commandes.nomColonneExcel_BacEtudiant);
|
||||
nBase.setAttribut("Excel_"+commandes.nomColonnePortableEtudiant,commandes.nomColonneExcel_PortableEtudiant);
|
||||
nBase.setAttribut("Excel_"+commandes.nomColonneMailPersoEtudiant,commandes.nomColonneExcel_MailPersoEtudiant);
|
||||
nBase.setAttribut("Excel_"+commandes.nomColonneMailUnivEtudiant,commandes.nomColonneExcel_MailUnivEtudiant);
|
||||
|
||||
nBase.setAttribut("Excel_Feuille_Inscription",commandes.nomFeuilleExcel_Inscription);
|
||||
|
||||
nBase.setAttribut("nomColonne_Option_1", "Option_1");
|
||||
nBase.setAttribut("Enabled_Colonne_Option_1", "false");
|
||||
|
||||
nBase.setAttribut("nomColonne_Option_2", "Atelier-rentree_horaire");
|
||||
nBase.setAttribut("Enabled_Colonne_Option_2", "true");
|
||||
|
||||
nBase.setAttribut("nomColonne_Option_3", "Atelier_pre-rentree_enseignant");
|
||||
nBase.setAttribut("Enabled_Colonne_Option_3", "true");
|
||||
|
||||
nBase.setAttribut("nomColonne_Option_4", "Atelier_pre-rentree_salle");
|
||||
nBase.setAttribut("Enabled_Colonne_Option_4", "true");
|
||||
|
||||
nBase.setAttribut("nomColonne_Option_5", "Information");
|
||||
nBase.setAttribut("Enabled_Colonne_Option_5", "false");
|
||||
|
||||
nBase.setAttribut("bapp", "false");
|
||||
|
||||
String defaultValue = "2023-2024";
|
||||
String userInput = JOptionPane.showInputDialog("Quelle est l'année universitaire ? ",defaultValue);
|
||||
|
||||
String regex = "(\\d{4})-(\\d{4})";
|
||||
|
||||
Pattern pattern = Pattern.compile(regex);
|
||||
Matcher matcher = pattern.matcher(userInput);
|
||||
|
||||
if (matcher.matches()) {
|
||||
int firstNumber = Integer.parseInt(matcher.group(1));
|
||||
int secondNumber = Integer.parseInt(matcher.group(2));
|
||||
|
||||
// les deux nombres entiers doivent se suivre
|
||||
if (secondNumber==(firstNumber+1)) {
|
||||
|
||||
if(!userInput.isEmpty()) {
|
||||
userInput = "Years_" + supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(userInput);
|
||||
nBase.addChild(new noeud(userInput));
|
||||
nBase.setAttribut("defaut_Year", userInput);
|
||||
|
||||
sauvegardeXMLBase.save(nBase, saveType.WITH_DEFAULT_MESSAGE,"");
|
||||
|
||||
commandes.nBase = nBase;
|
||||
return commandes.nBase;
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
JPanel panel = new JPanel();
|
||||
JLabel message = new JLabel("<html><p>Le format est invalide, la première année n'est pas inférieure à la seconde année d'une année.</p>"
|
||||
+ "<p>Exemple de format : 2023-2024</p></html>");
|
||||
panel.add(message);
|
||||
JOptionPane.showMessageDialog(null, panel, "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
|
||||
}
|
||||
} else {
|
||||
JPanel panel = new JPanel();
|
||||
JLabel message = new JLabel("<html><p>Le format est invalide.</p>"
|
||||
+ "<p>Exemple de format : 2023-2024</p></html>");
|
||||
panel.add(message);
|
||||
JOptionPane.showMessageDialog(null, message, "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* La date sous forme de String en claire.
|
||||
* @param date
|
||||
* @return
|
||||
*/
|
||||
public static String DateEnClairFR(Date date) {
|
||||
SimpleDateFormat simpledateformat = new SimpleDateFormat("EEEE dd MMM yyy' à 'hh:mm:ss");
|
||||
String d1 = simpledateformat.format(date);
|
||||
|
||||
return d1;
|
||||
}
|
||||
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package baseUFRHG;
|
||||
package base;
|
||||
|
||||
import java.io.File;
|
||||
import java.nio.file.Paths;
|
||||
@ -7,6 +7,10 @@ import javax.swing.JFrame;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JOptionPane;
|
||||
|
||||
import outils.lectureFileToString;
|
||||
import outils.lectureXML;
|
||||
import outils.noeud;
|
||||
|
||||
public class recupeBases {
|
||||
|
||||
/**
|
||||
@ -16,8 +20,6 @@ public class recupeBases {
|
||||
String filePath = Paths.get("").toAbsolutePath().toString()+ "/base/base.xml";
|
||||
File file = new File(filePath);
|
||||
noeud nBase = null;
|
||||
|
||||
|
||||
|
||||
|
||||
if (file.exists()) {
|
||||
@ -30,8 +32,8 @@ public class recupeBases {
|
||||
|
||||
JFrame frame = new JFrame();
|
||||
JLabel texte = new JLabel("<html><p>La base de données ne se trouve pas dans le même dossier que celui de l'application.</p><br>"
|
||||
+"<p>Une nouvelle base de données a été créée dans le dossier de l'application.</p>"
|
||||
+ "<p>La base de données se trouve dans le fichier \"base.xml\".</p>"
|
||||
+"<p>Une nouvelle base de données a été créée dans le dossier nommé \"base\" de l'application.</p>"
|
||||
+ "<p>La base de données se trouve dans le fichier XML nommé \"base.xml\".</p>"
|
||||
+ "<p></p>"
|
||||
+ "<p>Vous allez devoir saisir l'année universitaire pour débuter et créer la base.</p></html>");
|
||||
JOptionPane.showMessageDialog(frame, texte);
|
||||
@ -45,4 +47,19 @@ public class recupeBases {
|
||||
}
|
||||
|
||||
|
||||
public static noeud recupereLaSauvegardeBase() {
|
||||
String filePath = Paths.get("").toAbsolutePath().toString()+ "/base/base_sauvegarde.xml";
|
||||
File file = new File(filePath);
|
||||
noeud nSauvegardeBase = null;
|
||||
|
||||
if (file.exists()) {
|
||||
//lecture du fichier base.xml
|
||||
String directoryName = Paths.get("").toAbsolutePath().toString()+ "/base/base_sauvegarde.xml";
|
||||
String xmlString = lectureFileToString.lecture(directoryName);
|
||||
nSauvegardeBase = lectureXML.lectureStringToNoeud(xmlString);
|
||||
}
|
||||
|
||||
return nSauvegardeBase;
|
||||
}
|
||||
|
||||
}
|
170
src/base/sauvegardeXMLBase.java
Normal file
@ -0,0 +1,170 @@
|
||||
package base;
|
||||
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStreamWriter;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.Date;
|
||||
|
||||
import javax.swing.JOptionPane;
|
||||
|
||||
import outils.noeud;
|
||||
|
||||
public class sauvegardeXMLBase {
|
||||
|
||||
public static enum saveType{
|
||||
SANS_MESSAGE,
|
||||
WITH_DEFAULT_MESSAGE,
|
||||
WITH_MESSAGE,
|
||||
}
|
||||
|
||||
/**
|
||||
* Sauvegarde dans le répertoire base de l'application de la base de données.
|
||||
* @param nBase : Le noeud base de la base de données.
|
||||
* @param type : Le type de message (SANS_MESSAGE, WITH_DEFAULT_MESSAGE, WITH_MESSAGE)
|
||||
* @param message : Le message de la sauvegarde.
|
||||
*/
|
||||
public static void save(noeud nBase, saveType type, String message) {
|
||||
|
||||
// Sauvegarde de la base
|
||||
String pathToFile = Paths.get("").toAbsolutePath().toString()+ "/base/base.xml";
|
||||
|
||||
String PathToDirector = Paths.get("").toAbsolutePath() + "/base";
|
||||
File directory11 = new File(PathToDirector);
|
||||
|
||||
boolean created = false;
|
||||
|
||||
if (!directory11.exists()) {
|
||||
created = directory11.mkdirs();
|
||||
if (created) {
|
||||
System.out.println("Répertoire base créé avec succès");
|
||||
} else {
|
||||
System.out.println("Échec de la création du répertoire base");
|
||||
JOptionPane.showInternalMessageDialog(null, "<html>Le répertoire est protégé en écriture.<br>"
|
||||
+ "Impossible de créer le répertoire base dans le dossier de l'application.</html>","erreur",JOptionPane.ERROR_MESSAGE);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (directory11.exists()) {
|
||||
try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
|
||||
new FileOutputStream(pathToFile), StandardCharsets.UTF_8))) {
|
||||
|
||||
writer.write(nBase.toWrite());
|
||||
writer.close();
|
||||
|
||||
if(type==saveType.WITH_DEFAULT_MESSAGE) {
|
||||
JOptionPane.showMessageDialog(null, "La base a été sauvegardée.", "Sauvegarde", JOptionPane.INFORMATION_MESSAGE);
|
||||
}
|
||||
|
||||
if(type==saveType.WITH_MESSAGE) {
|
||||
JOptionPane.showMessageDialog(null, message, "Sauvegarde", JOptionPane.INFORMATION_MESSAGE);
|
||||
}
|
||||
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
JOptionPane.showMessageDialog(null, e.toString(), "Erreur dans la méthode save", JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static void saveSauvegarde(noeud nBase) {
|
||||
|
||||
String PathToDirector = Paths.get("").toAbsolutePath() + "/base";
|
||||
File directory11 = new File(PathToDirector);
|
||||
|
||||
boolean created = false;
|
||||
|
||||
if (!directory11.exists()) {
|
||||
created = directory11.mkdirs();
|
||||
if (created) {
|
||||
System.out.println("Répertoire base créé avec succès");
|
||||
} else {
|
||||
System.out.println("Échec de la création du répertoire base");
|
||||
JOptionPane.showInternalMessageDialog(null, "<html>Le répertoire est protégé en écriture.<br>"
|
||||
+ "Impossible de créer le répertoire base dans le dossier de l'application.</html>","erreur",JOptionPane.ERROR_MESSAGE);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if(directory11.exists()) {
|
||||
// Sauvegarde de la base
|
||||
String pathToFile = Paths.get("").toAbsolutePath().toString()+ "/base/base_sauvegarde.xml";
|
||||
try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
|
||||
new FileOutputStream(pathToFile), StandardCharsets.UTF_8))) {
|
||||
|
||||
Date aujourdhui = new Date();
|
||||
nBase.setAttribut("date_derniere_modification",base.DateEnClairFR(aujourdhui));
|
||||
|
||||
writer.write(nBase.toWrite());
|
||||
writer.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
JOptionPane.showMessageDialog(null, e.toString(), "Erreur dans la méthode saveSauvegarde.", JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static void saveSauvegarde(noeud nBase, String path) {
|
||||
|
||||
if(!path.endsWith(".xml")) {
|
||||
path = path + ".xml";
|
||||
}
|
||||
|
||||
try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
|
||||
new FileOutputStream(path), StandardCharsets.UTF_8))) {
|
||||
Date aujourdhui = new Date();
|
||||
nBase.setAttribut("date_derniere_modification",base.DateEnClairFR(aujourdhui));
|
||||
|
||||
writer.write(nBase.toWrite());
|
||||
writer.close();
|
||||
|
||||
JOptionPane.showMessageDialog(null, "Sauvegarde réussi.","Message",JOptionPane.OK_OPTION);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
JOptionPane.showMessageDialog(null, e.toString(), "Erreur dans la méthode saveSauvegarde.", JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static void saveModif(noeud nBase, Integer nbreModif) {
|
||||
|
||||
|
||||
// Sauvegarde de la base
|
||||
String directoryName = Paths.get("").toAbsolutePath().toString()+ "/base/base.xml";
|
||||
try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
|
||||
new FileOutputStream(directoryName), StandardCharsets.UTF_8))) {
|
||||
|
||||
Date aujourdhui = new Date();
|
||||
nBase.setAttribut("date_derniere_modification",base.DateEnClairFR(aujourdhui));
|
||||
|
||||
writer.write(nBase.toWrite());
|
||||
writer.close();
|
||||
|
||||
if(nbreModif>0) {
|
||||
JOptionPane.showMessageDialog(null, "Les " + nbreModif +" modifications ont été enregistrées dans la base.", "Sauvegarde", JOptionPane.INFORMATION_MESSAGE);
|
||||
}else {
|
||||
JOptionPane.showMessageDialog(null, "Il n'y a pas eu de modification dans la base.", "Sauvegarde", JOptionPane.INFORMATION_MESSAGE);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
JOptionPane.showMessageDialog(null, e.toString(), "Erreur dans la méthode save", JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
@ -1,51 +0,0 @@
|
||||
package baseUFRHG.actions;
|
||||
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.InputEvent;
|
||||
import java.awt.event.KeyEvent;
|
||||
|
||||
import javax.swing.AbstractAction;
|
||||
import javax.swing.Action;
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.KeyStroke;
|
||||
|
||||
import baseUFRHG.exportBaseToExcel;
|
||||
import baseUFRHG.exportBaseToExcel.exportType;
|
||||
import baseUFRHG.gestionnaire;
|
||||
import baseUFRHG.noeud;
|
||||
|
||||
|
||||
|
||||
public class exportTable extends AbstractAction{
|
||||
private noeud nTable = null;
|
||||
private gestionnaire instance;
|
||||
|
||||
public exportTable(gestionnaire instance) {
|
||||
|
||||
this.instance = instance;
|
||||
putValue( Action.NAME, "Exporter la table Ms Excel" );
|
||||
putValue( Action.SMALL_ICON, new ImageIcon(gestionnaire.class.getResource("/resources/exportTableToExcel.png")) );
|
||||
putValue( Action.LARGE_ICON_KEY, new ImageIcon(gestionnaire.class.getResource("/resources/exportTableToExcel.png")) );
|
||||
putValue( Action.SHORT_DESCRIPTION, "Exporter la table dans un classeur Ms Excel." );
|
||||
putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_E, InputEvent.CTRL_DOWN_MASK));
|
||||
|
||||
}
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
// TODO Auto-generated method stub
|
||||
instance.majTableGroupes();
|
||||
this.nTable = instance.nTable;
|
||||
if(nTable!=null) {
|
||||
exportBaseToExcel.exportTable(nTable, exportType.TABLE);
|
||||
}else {
|
||||
JOptionPane.showMessageDialog(null, "Erreur, la table est null","erreur", JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -1,88 +0,0 @@
|
||||
package baseUFRHG;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
|
||||
import baseUFRHG.sauvegardeXMLBase.saveType;
|
||||
|
||||
public class base {
|
||||
|
||||
/**
|
||||
* Création d'une nouvelle base de données. (commentaire)
|
||||
* Enregistrement de la base de données dans le dossier de l'application.
|
||||
* @throws IOException
|
||||
*/
|
||||
public static noeud createBase() {
|
||||
noeud nBase = new noeud("base");
|
||||
|
||||
Date aujourdhui = new Date();
|
||||
nBase.setAttribut("date_creation",DateEnClairFR(aujourdhui));
|
||||
nBase.setAttribut("date_derniere_modification",DateEnClairFR(aujourdhui));
|
||||
|
||||
String defaultValue = "2022-2023";
|
||||
String userInput = JOptionPane.showInputDialog("Quelle est l'année universitaire ? ",defaultValue);
|
||||
|
||||
String regex = "(\\d{4})-(\\d{4})";
|
||||
|
||||
Pattern pattern = Pattern.compile(regex);
|
||||
Matcher matcher = pattern.matcher(userInput);
|
||||
|
||||
if (matcher.matches()) {
|
||||
int firstNumber = Integer.parseInt(matcher.group(1));
|
||||
int secondNumber = Integer.parseInt(matcher.group(2));
|
||||
|
||||
if (firstNumber < secondNumber) {
|
||||
|
||||
if(!userInput.isEmpty()) {
|
||||
userInput = "Years_" + supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(userInput);
|
||||
nBase.addChild(new noeud(userInput));
|
||||
nBase.setAttribut("defaut_Year", userInput);
|
||||
sauvegardeXMLBase.save(nBase, saveType.WITH_MESSAGE);
|
||||
commandes.nBase = nBase;
|
||||
return commandes.nBase;
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
System.out.println("Le format est valide, mais le premier nombre n'est pas inférieur au second nombre.");
|
||||
JPanel panel = new JPanel();
|
||||
JLabel message = new JLabel("<html><p>Le format est valide, la première année n'est pas inférieure à la seconde année.</p>"
|
||||
+ "<p>Exemple de format : 2023-2024</p></html>");
|
||||
panel.add(message);
|
||||
JOptionPane.showMessageDialog(null, panel, "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
|
||||
}
|
||||
} else {
|
||||
System.out.println("Le format est invalide.");
|
||||
JPanel panel = new JPanel();
|
||||
JLabel message = new JLabel("<html><p>Le format est invalide.</p>"
|
||||
+ "<p>Exemple de format : 2023-2024</p></html>");
|
||||
panel.add(message);
|
||||
JOptionPane.showMessageDialog(null, message, "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* La date sous forme de String en claire.
|
||||
* @param date
|
||||
* @return
|
||||
*/
|
||||
public static String DateEnClairFR(Date date) {
|
||||
SimpleDateFormat simpledateformat = new SimpleDateFormat("EEEE dd MMM yyy' à 'hh:mm:ss");
|
||||
String d1 = simpledateformat.format(date);
|
||||
|
||||
return d1;
|
||||
}
|
||||
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
package baseUFRHG;
|
||||
|
||||
public class commandes {
|
||||
|
||||
public static noeud nBase = null;
|
||||
|
||||
|
||||
}
|
@ -1,254 +0,0 @@
|
||||
package baseUFRHG;
|
||||
|
||||
import java.awt.Font;
|
||||
import java.awt.Image;
|
||||
import java.awt.Window;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.WindowAdapter;
|
||||
import java.awt.event.WindowEvent;
|
||||
import java.io.File;
|
||||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.SwingConstants;
|
||||
import java.awt.Color;
|
||||
|
||||
public class demarre extends JFrame {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 1L;
|
||||
private JFrame frmEvalwriter;
|
||||
JButton btnCreate;
|
||||
JButton actCharge;
|
||||
|
||||
/**
|
||||
* Launch the application.
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
try {
|
||||
demarre window = new demarre();
|
||||
window.frmEvalwriter.setVisible(true);
|
||||
|
||||
// Créez un Timer
|
||||
Timer timer = new Timer();
|
||||
|
||||
// Créez une tâche de sauvegarde automatique
|
||||
TimerTask autoSaveTask = new TimerTask() {
|
||||
@Override
|
||||
public void run() {
|
||||
// Appeler la méthode de sauvegarde ici
|
||||
sauvegardeXMLBase.saveSauvegarde(commandes.nBase);
|
||||
}
|
||||
};
|
||||
|
||||
// Planifiez la tâche de sauvegarde automatique à exécuter toutes les 5 minutes 5 * 60 * 1000
|
||||
timer.schedule(autoSaveTask, 0, 300000);
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public demarre() {
|
||||
commandes.nBase = recupeBases.recupeLaBase();
|
||||
initialize();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create the frame.
|
||||
*/
|
||||
/**
|
||||
* Initialize the contents of the frame.
|
||||
*/
|
||||
private void initialize() {
|
||||
frmEvalwriter = new JFrame();
|
||||
frmEvalwriter.setTitle("Gestion des inscriptions et des groupes - langues - informatique - stage - rentrée");
|
||||
frmEvalwriter.setBounds(100, 100, 789, 613);
|
||||
int screenWidth = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getWidth();
|
||||
int screenHeight = (int) java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().getHeight();
|
||||
frmEvalwriter.setLocation(( (screenWidth) - frmEvalwriter.getWidth()) / 2, (screenHeight - frmEvalwriter.getHeight()) / 2);
|
||||
|
||||
frmEvalwriter.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||
frmEvalwriter.getContentPane().setLayout(null);
|
||||
ImageIcon img = new ImageIcon(demarre.class.getResource("/resources/logo.png"));
|
||||
frmEvalwriter.setIconImage(img.getImage());
|
||||
|
||||
frmEvalwriter.setResizable(false);
|
||||
|
||||
btnCreate = new JButton("<html>Exporter toute la base dans<br>un classeur MS Excel</html>");
|
||||
btnCreate.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
btnCreate.setIcon(new ImageIcon(demarre.class.getResource("/resources/exportbasetoexcel.png")));
|
||||
btnCreate.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
if(commandes.nBase==null) {
|
||||
commandes.nBase = recupeBases.recupeLaBase();
|
||||
}
|
||||
//Exporte la base dans un classeur Excel.
|
||||
exportBaseToExcel.exportBase();
|
||||
}
|
||||
});
|
||||
btnCreate.setFont(new Font("Arial", Font.BOLD, 16));
|
||||
// btnCreate.addActionListener(this);
|
||||
|
||||
btnCreate.setBounds(10, 394, 377, 78);
|
||||
frmEvalwriter.getContentPane().add(btnCreate);
|
||||
|
||||
actCharge = new JButton("<html>Importer des inscriptions<br>depuis CSV (UTF-8, point-virgule)</html>");
|
||||
actCharge.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
actCharge.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
importInscriptionCSV.importe();
|
||||
}
|
||||
});
|
||||
actCharge.setIcon(new ImageIcon(demarre.class.getResource("/resources/importationcsv.png")));
|
||||
actCharge.setFont(new Font("Arial", Font.BOLD, 16));
|
||||
actCharge.setBounds(10, 323, 377, 60);
|
||||
frmEvalwriter.getContentPane().add(actCharge);
|
||||
|
||||
JLabel lblNewLabel = new JLabel();
|
||||
lblNewLabel.setIcon(new ImageIcon(demarre.class.getResource("/resources/accueil.png")));
|
||||
// lblNewLabel.setIcon(new ImageIcon(demarre.class.getResource("/resources/accueilanalysecalc.png")));
|
||||
lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
lblNewLabel.setFont(new Font("Pacifico", Font.PLAIN, 26));
|
||||
lblNewLabel.setBounds(10, 104, 753, 106);
|
||||
frmEvalwriter.getContentPane().add(lblNewLabel);
|
||||
|
||||
JButton btnNewButton = new JButton("<html>Mise à jour de la base depuis<br>un classeur Ms Excel</html>");
|
||||
btnNewButton.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
btnNewButton.setIcon(new ImageIcon(demarre.class.getResource("/resources/majInscriptionToBase.png")));
|
||||
btnNewButton.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
File f = FileChooserXLSX.retourneFileXLSX();
|
||||
if(f!=null) {
|
||||
importAllBaseToExcel.lecture(f);
|
||||
}else {
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
btnNewButton.setFont(new Font("Arial", Font.BOLD, 16));
|
||||
// btnNewButton.setIcon(new ImageIcon(demarre.class.getResource("/resources/apropos.png")));
|
||||
btnNewButton.setBounds(10, 483, 377, 60);
|
||||
frmEvalwriter.getContentPane().add(btnNewButton);
|
||||
|
||||
JButton btnTutoriels = new JButton("");
|
||||
btnTutoriels.setIcon(new ImageIcon(demarre.class.getResource("/resources/gestionnaire_bouton.png")));
|
||||
btnTutoriels.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
if(commandes.nBase==null) {
|
||||
commandes.nBase = recupeBases.recupeLaBase();
|
||||
}
|
||||
afficheGestionnaire();
|
||||
}
|
||||
});
|
||||
btnTutoriels.setFont(new Font("Arial", Font.BOLD, 16));
|
||||
btnTutoriels.setBounds(397, 394, 366, 175);
|
||||
frmEvalwriter.getContentPane().add(btnTutoriels);
|
||||
|
||||
JButton btnimporterDesInscriptionsdepuis = new JButton("<html>Importer des inscriptions<br>depuis un classeur Ms Excel</html>");
|
||||
btnimporterDesInscriptionsdepuis.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
btnimporterDesInscriptionsdepuis.setIcon(new ImageIcon(demarre.class.getResource("/resources/bouton_inscription_excel.png")));
|
||||
btnimporterDesInscriptionsdepuis.setFont(new Font("Arial", Font.BOLD, 16));
|
||||
btnimporterDesInscriptionsdepuis.setBounds(397, 323, 366, 60);
|
||||
btnimporterDesInscriptionsdepuis.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
File f = FileChooserXLSX.retourneFileXLSX();
|
||||
if(f!=null) {
|
||||
importInscriptionXLS.importe(f);
|
||||
}
|
||||
}
|
||||
});
|
||||
frmEvalwriter.getContentPane().add(btnimporterDesInscriptionsdepuis);
|
||||
|
||||
JLabel lblNewLabel_3 = new JLabel("<html>pablo rodriguez - 2023<br>Version 1.0.1</html>");
|
||||
lblNewLabel_3.setVerticalAlignment(SwingConstants.TOP);
|
||||
lblNewLabel_3.setHorizontalAlignment(SwingConstants.LEFT);
|
||||
lblNewLabel_3.setFont(new Font("Tahoma", Font.BOLD, 15));
|
||||
lblNewLabel_3.setForeground(new Color(255, 255, 255));
|
||||
lblNewLabel_3.setBounds(22, 11, 265, 40);
|
||||
frmEvalwriter.getContentPane().add(lblNewLabel_3);
|
||||
|
||||
JButton btnNAideMiseAJour = new JButton("Aide à la mise en jour");
|
||||
btnNAideMiseAJour.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
new ExempleMAJ();
|
||||
}
|
||||
});
|
||||
btnNAideMiseAJour.setFont(new Font("Tahoma", Font.BOLD, 12));
|
||||
btnNAideMiseAJour.setBounds(10, 539, 377, 30);
|
||||
frmEvalwriter.getContentPane().add(btnNAideMiseAJour);
|
||||
|
||||
|
||||
ImageIcon imageIcon = new ImageIcon(demarre.class.getResource("/resources/Sans titre.png"));
|
||||
Image image = imageIcon.getImage();
|
||||
|
||||
// Détermination de la taille souhaitée pour l'image
|
||||
int newWidth = frmEvalwriter.getWidth();
|
||||
int newHeight = frmEvalwriter.getHeight()-260;
|
||||
|
||||
// Redimensionnement de l'image pour qu'elle s'adapte à la taille souhaitée
|
||||
Image resizedImage = image.getScaledInstance(newWidth, newHeight, Image.SCALE_SMOOTH);
|
||||
|
||||
JLabel lblNewLabel_4 = new JLabel(new ImageIcon(resizedImage));
|
||||
lblNewLabel_4.setVerticalAlignment(SwingConstants.BOTTOM);
|
||||
// lblNewLabel_4.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
// lblNewLabel_4.setIcon(new ImageIcon(demarre.class.getResource("/resources/Sans titre.png")));
|
||||
lblNewLabel_4.setBounds(10, -48, 753, 365);
|
||||
frmEvalwriter.getContentPane().add(lblNewLabel_4);
|
||||
|
||||
|
||||
// Ajoutez un WindowListener à la fenêtre principale
|
||||
frmEvalwriter.addWindowListener(new WindowAdapter() {
|
||||
@Override
|
||||
public void windowClosing(WindowEvent e) {
|
||||
// Parcourez tous les secondaryFrame existants et fermez-les
|
||||
for (Window window : Window.getWindows()) {
|
||||
if (window instanceof JFrame && window != demarre.this) {
|
||||
window.dispose();
|
||||
}
|
||||
}
|
||||
System.exit(0);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void afficheGestionnaire() {
|
||||
if(commandes.nBase.getNumberChildren()>0) {
|
||||
if(commandes.nBase.getAttributes("defaut_Year")!=null) {
|
||||
String defautYear = commandes.nBase.getAttributes("defaut_Year");
|
||||
if(commandes.nBase.getChild(defautYear)!=null) {
|
||||
if(commandes.nBase.getChild(defautYear).getNumberChildren()>0) {
|
||||
new gestionnaire();
|
||||
}else {
|
||||
JPanel panel = new JPanel();
|
||||
JLabel message = new JLabel("<html><p>Dans la base de données, il n'y a pas de donnée"
|
||||
+ "<br>pour l'année universitaire " + defautYear +"</p></html>");
|
||||
panel.add(message);
|
||||
JOptionPane.showMessageDialog(null, panel, "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
}
|
||||
}else {
|
||||
JPanel panel = new JPanel();
|
||||
JLabel message = new JLabel("<html><p>Dans la base de données, il n'y a pas d'année universitaire par défaut.</p></html>");
|
||||
panel.add(message);
|
||||
JOptionPane.showMessageDialog(null, panel, "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
}else {
|
||||
JPanel panel = new JPanel();
|
||||
JLabel message = new JLabel("<html><p>Dans la base de données est vide.</p></html>");
|
||||
panel.add(message);
|
||||
JOptionPane.showMessageDialog(null, panel, "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,234 +0,0 @@
|
||||
package baseUFRHG;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Comparator;
|
||||
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
|
||||
public class exportBaseToExcel {
|
||||
|
||||
public static enum exportType {
|
||||
TABLE,
|
||||
EMARGEMENT,
|
||||
BASE
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static void exportBase() {
|
||||
|
||||
// Données
|
||||
Object[][] data = new Object[commandes.nBase.getChild(commandes.nBase.getAttributes("defaut_Year")).getNumberChildren()][29];
|
||||
|
||||
|
||||
|
||||
int indexFormation = 0 ;
|
||||
for(noeud formation : commandes.nBase.getChild(commandes.nBase.getAttributes("defaut_Year")).getChildren()) {
|
||||
|
||||
|
||||
|
||||
data[indexFormation][0] = formation.getName();
|
||||
data[indexFormation][1] = "Formation";
|
||||
data[indexFormation][2] = "Individu_-_Code_Etudiant";
|
||||
data[indexFormation][3] = "Individu_-_Prenom";
|
||||
data[indexFormation][4] = "Individu_-_Nom";
|
||||
data[indexFormation][5] = "Profil_etudiant_lib.";
|
||||
data[indexFormation][6] = "Individu_-_Tel._portable";
|
||||
data[indexFormation][7] = "Individu_-_Email_personnel";
|
||||
data[indexFormation][8] = "Individu_-_Email";
|
||||
data[indexFormation][9] = "Groupe_Principal";
|
||||
data[indexFormation][10] = "Groupe_TD";
|
||||
data[indexFormation][11] = "Groupe_Langue";
|
||||
data[indexFormation][12] = "LV1";
|
||||
data[indexFormation][13] = "LV2";
|
||||
data[indexFormation][14] = "Regime";
|
||||
data[indexFormation][15] = "Groupe_Informatique";
|
||||
data[indexFormation][16] = "Atelier-rentree_horaire";
|
||||
data[indexFormation][17] = "Atelier_pre-rentree_enseignant";
|
||||
data[indexFormation][18] = "Atelier_pre-rentree_salle";
|
||||
data[indexFormation][19] = "UE_Libre";
|
||||
data[indexFormation][20] = "Covoiturage";
|
||||
data[indexFormation][21] = "Etudiant_Covoiturage";
|
||||
data[indexFormation][22] = "Stage_1";
|
||||
data[indexFormation][23] = "Num_convention_1";
|
||||
data[indexFormation][24] = "Periode_1";
|
||||
data[indexFormation][25] = "Stage_2";
|
||||
data[indexFormation][26] = "Num_convention_2";
|
||||
data[indexFormation][27] = "Periode_2";
|
||||
|
||||
String[][] data1 = new String[formation.getNumberChildren()][28];
|
||||
|
||||
int indexStudent = 0;
|
||||
for(noeud nStudent : formation.getChildren()) {
|
||||
data1[indexStudent][0] = formation.getName();
|
||||
data1[indexStudent][1] = nStudent.getAttributes("Individu_-_Code_Etudiant");
|
||||
data1[indexStudent][2] = nStudent.getAttributes("Individu_-_Prenom");
|
||||
data1[indexStudent][3] = nStudent.getAttributes("Individu_-_Nom");
|
||||
data1[indexStudent][4] = nStudent.getAttributes("Profil_etudiant_lib.");
|
||||
data1[indexStudent][5] = nStudent.getAttributes("Individu_-_Tel._portable");
|
||||
data1[indexStudent][6] = nStudent.getAttributes("Individu_-_Email_personnel");
|
||||
data1[indexStudent][7] = nStudent.getAttributes("Individu_-_Email");
|
||||
data1[indexStudent][8] = nStudent.getAttributes("Groupe");
|
||||
data1[indexStudent][9] = nStudent.getAttributes("Groupe_Principal");
|
||||
data1[indexStudent][10] = nStudent.getAttributes("Groupe_TD");
|
||||
data1[indexStudent][11] = nStudent.getAttributes("Groupe_Langue");
|
||||
data1[indexStudent][12] = nStudent.getAttributes("LV1");
|
||||
data1[indexStudent][13] = nStudent.getAttributes("LV2");
|
||||
data1[indexStudent][14] = nStudent.getAttributes("Regime");
|
||||
data1[indexStudent][15] = nStudent.getAttributes("Groupe_Informatique");
|
||||
data1[indexStudent][16] = nStudent.getAttributes("Atelier-rentree_horaire");
|
||||
data1[indexStudent][17] = nStudent.getAttributes("Atelier_pre-rentree_enseignant");
|
||||
data1[indexStudent][18] = nStudent.getAttributes("Atelier_pre-rentree_salle");
|
||||
data1[indexStudent][19] = nStudent.getAttributes("UE_Libre");
|
||||
data1[indexStudent][20] = nStudent.getAttributes("Covoiturage");
|
||||
data1[indexStudent][21] = nStudent.getAttributes("Etudiant_Covoiturage");
|
||||
data1[indexStudent][22] = nStudent.getAttributes("Stage_1");
|
||||
data1[indexStudent][23] = nStudent.getAttributes("Num_convention_1");
|
||||
data1[indexStudent][24] = nStudent.getAttributes("Periode_1");
|
||||
data1[indexStudent][25] = nStudent.getAttributes("Stage_2");
|
||||
data1[indexStudent][26] = nStudent.getAttributes("Num_convention_2");
|
||||
data1[indexStudent][27] = nStudent.getAttributes("Periode_2");
|
||||
|
||||
|
||||
data[indexFormation][28] = data1;
|
||||
indexStudent++;
|
||||
}
|
||||
|
||||
indexFormation++;
|
||||
}
|
||||
|
||||
if(data.length>0) {
|
||||
|
||||
|
||||
FileSaveXLSX s = new FileSaveXLSX();
|
||||
s.save(data, "", exportType.BASE);
|
||||
|
||||
// new CreateCalcWorkbook(data, Paths.get("").toAbsolutePath().toString()+ "/Base.xlsx");
|
||||
}else {
|
||||
JPanel panel = new JPanel();
|
||||
JLabel message = new JLabel("<html><p>La base de données est nulle.</p></html>");
|
||||
panel.add(message);
|
||||
JOptionPane.showMessageDialog(null, panel, "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static void exportTable(noeud nTable,exportType type) {
|
||||
// Données
|
||||
|
||||
|
||||
if(nTable.getFirstChild()==null) {
|
||||
JPanel panel = new JPanel();
|
||||
JLabel message = new JLabel("<html><p>La table de données est vide.</p></html>");
|
||||
panel.add(message);
|
||||
JOptionPane.showMessageDialog(null, panel, "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Object[][] data = new Object[1][29];
|
||||
|
||||
String formation = nTable.getFirstChild().getAttributes("IAE_-_Etape_lib.");
|
||||
|
||||
|
||||
data[0][0] = nTable.getFirstChild().getAttributes("IAE_-_Etape_lib.");
|
||||
data[0][1] = "Formation";
|
||||
data[0][2] = "Individu_-_Code_Etudiant";
|
||||
data[0][3] = "Individu_-_Prenom";
|
||||
data[0][4] = "Individu_-_Nom";
|
||||
data[0][5] = "Profil_etudiant_lib.";
|
||||
data[0][6] = "Individu_-_Tel._portable";
|
||||
data[0][7] = "Individu_-_Email_personnel";
|
||||
data[0][8] = "Individu_-_Email";
|
||||
data[0][9] = "Groupe_Principal";
|
||||
data[0][10] = "Groupe_TD";
|
||||
data[0][11] = "Groupe_Langue";
|
||||
data[0][12] = "Groupe_Informatique";
|
||||
data[0][13] = "LV1";
|
||||
data[0][14] = "LV2";
|
||||
data[0][15] = "Regime";
|
||||
data[0][16] = "Atelier-rentree_horaire";
|
||||
data[0][17] = "Atelier_pre-rentree_enseignant";
|
||||
data[0][18] = "Atelier_pre-rentree_salle";
|
||||
data[0][19] = "UE_Libre";
|
||||
data[0][20] = "Covoiturage";
|
||||
data[0][21] = "Etudiant_Covoiturage";
|
||||
data[0][22] = "Stage_1";
|
||||
data[0][23] = "Num_convention_1";
|
||||
data[0][24] = "Periode_1";
|
||||
data[0][25] = "Stage_2";
|
||||
data[0][26] = "Num_convention_2";
|
||||
data[0][27] = "Periode_2";
|
||||
|
||||
|
||||
String[][] data1 = new String[nTable.getChildren().size()][27];
|
||||
|
||||
int indexStudent = 0;
|
||||
for(noeud nStudent : nTable.getChildren()) {
|
||||
data1[indexStudent][0] = nStudent.getAttributes("IAE_-_Etape_lib.");;
|
||||
data1[indexStudent][1] = nStudent.getAttributes("Individu_-_Code_Etudiant");
|
||||
data1[indexStudent][2] = nStudent.getAttributes("Individu_-_Prenom");
|
||||
data1[indexStudent][3] = nStudent.getAttributes("Individu_-_Nom");
|
||||
data1[indexStudent][4] = nStudent.getAttributes("Profil_etudiant_lib.");
|
||||
data1[indexStudent][5] = nStudent.getAttributes("Individu_-_Tel._portable");
|
||||
data1[indexStudent][6] = nStudent.getAttributes("Individu_-_Email_personnel");
|
||||
data1[indexStudent][7] = nStudent.getAttributes("Individu_-_Email");
|
||||
data1[indexStudent][8] = nStudent.getAttributes("Groupe_Principal");
|
||||
data1[indexStudent][9] = nStudent.getAttributes("Groupe_TD");
|
||||
data1[indexStudent][10] = nStudent.getAttributes("Groupe_Langue");
|
||||
data1[indexStudent][11] = nStudent.getAttributes("Groupe_Informatique");
|
||||
data1[indexStudent][12] = nStudent.getAttributes("LV1");
|
||||
data1[indexStudent][13] = nStudent.getAttributes("LV2");
|
||||
data1[indexStudent][14] = nStudent.getAttributes("Regime");
|
||||
data1[indexStudent][15] = nStudent.getAttributes("Atelier-rentree_horaire");
|
||||
data1[indexStudent][16] = nStudent.getAttributes("Atelier_pre-rentree_enseignant");
|
||||
data1[indexStudent][17] = nStudent.getAttributes("Atelier_pre-rentree_salle");
|
||||
data1[indexStudent][18] = nStudent.getAttributes("UE_Libre");
|
||||
data1[indexStudent][19] = nStudent.getAttributes("Covoiturage");
|
||||
data1[indexStudent][20] = nStudent.getAttributes("Etudiant_Covoiturage");
|
||||
data1[indexStudent][21] = nStudent.getAttributes("Stage_1");
|
||||
data1[indexStudent][22] = nStudent.getAttributes("Num_convention_1");
|
||||
data1[indexStudent][23] = nStudent.getAttributes("Periode_1");
|
||||
data1[indexStudent][24] = nStudent.getAttributes("Stage_2");
|
||||
data1[indexStudent][25] = nStudent.getAttributes("Num_convention_2");
|
||||
data1[indexStudent][26] = nStudent.getAttributes("Periode_2");
|
||||
|
||||
data[0][28] = data1;
|
||||
indexStudent++;
|
||||
}
|
||||
|
||||
// Trier le data1 par ordre aphabétique de la troisième colonne (les noms)
|
||||
Arrays.sort(data1, Comparator.comparing(row -> row[3]));
|
||||
|
||||
if(data.length>0) {
|
||||
|
||||
|
||||
FileSaveXLSX s = new FileSaveXLSX();
|
||||
s.save(data, formation, type);
|
||||
|
||||
|
||||
}else {
|
||||
JPanel panel = new JPanel();
|
||||
JLabel message = new JLabel("<html><p>La table de données est vide.</p></html>");
|
||||
panel.add(message);
|
||||
JOptionPane.showMessageDialog(null, panel, "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
@ -1,161 +0,0 @@
|
||||
package baseUFRHG;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
import javax.swing.JOptionPane;
|
||||
|
||||
import org.apache.poi.ss.usermodel.Cell;
|
||||
import org.apache.poi.ss.usermodel.CellType;
|
||||
import org.apache.poi.ss.usermodel.Row;
|
||||
import org.apache.poi.ss.usermodel.Sheet;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
|
||||
public class importAllBaseToExcel {
|
||||
|
||||
public static void lecture(File file) {
|
||||
|
||||
if(commandes.nBase==null) {
|
||||
commandes.nBase = recupeBases.recupeLaBase();
|
||||
}
|
||||
|
||||
noeud nYear = null;
|
||||
if(commandes.nBase.getAttributes("defaut_Year")!=null) {
|
||||
String defautYear = commandes.nBase.getAttributes("defaut_Year");
|
||||
if(commandes.nBase.getChild(defautYear)!=null) {
|
||||
nYear = commandes.nBase.getChild(defautYear);
|
||||
}else {
|
||||
JOptionPane.showMessageDialog(null, "Il n'y a pas d'année universitaire par défaut.", "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
return;
|
||||
}
|
||||
}else {
|
||||
JOptionPane.showMessageDialog(null, "Il n'y a pas d'année universitaire par défaut.", "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
int compteur = 0 ;
|
||||
|
||||
try (FileInputStream fileInputStream = new FileInputStream(file.getAbsolutePath());
|
||||
Workbook workbook = new XSSFWorkbook(fileInputStream)) {
|
||||
|
||||
int numSheets = workbook.getNumberOfSheets();
|
||||
|
||||
for (int sheetIndex = 0; sheetIndex < numSheets; sheetIndex++) {
|
||||
Sheet sheet = workbook.getSheetAt(sheetIndex);
|
||||
|
||||
for (Row row : sheet) {
|
||||
int indexCol = 0;
|
||||
noeud nBF = null;
|
||||
noeud nStudent = null;
|
||||
|
||||
for (Cell cell : row) {
|
||||
|
||||
indexCol = cell.getColumnIndex();
|
||||
|
||||
if(indexCol==0) { // Colonne formation doit être la première colonne
|
||||
if(cell.getCellType() == CellType.STRING) {
|
||||
nBF = nYear.getChild(supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(cell.getStringCellValue()));
|
||||
}
|
||||
}
|
||||
|
||||
if(nBF!=null) {
|
||||
if(indexCol==1) {
|
||||
if (cell.getCellType() == CellType.NUMERIC) {
|
||||
String idStudent = String.valueOf( (int) cell.getNumericCellValue());
|
||||
nStudent = nBF.getChild("n"+idStudent);
|
||||
} else if(cell.getCellType() == CellType.STRING) {
|
||||
String idStudent = cell.getStringCellValue();
|
||||
nStudent = nBF.getChild("n"+idStudent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(nStudent!=null) {
|
||||
CellType cellType = cell.getCellType();
|
||||
if (cellType == CellType.STRING) {
|
||||
String cellValue = cell.getStringCellValue();
|
||||
if(sheet.getRow(0).getCell(indexCol)!=null) {
|
||||
boolean isString = sheet.getRow(0).getCell(indexCol).getCellType() == CellType.STRING;
|
||||
if(isString) {
|
||||
String value = nStudent.getAttributes(sheet.getRow(0).getCell(indexCol).getStringCellValue());
|
||||
if(value!=null) {
|
||||
boolean isOnlySpaces = value.matches("\\s+");
|
||||
if(!isOnlySpaces)if(!cellValue.equals(value)) {
|
||||
nStudent.setAttribut(sheet.getRow(0).getCell(indexCol).getStringCellValue(), cellValue);
|
||||
compteur++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
System.out.print(cellValue + " ");
|
||||
} else if (cellType == CellType.NUMERIC) {
|
||||
String cellValue = String.valueOf( (int) cell.getNumericCellValue());
|
||||
if(sheet.getRow(0).getCell(indexCol)!=null) {
|
||||
boolean isString = sheet.getRow(0).getCell(indexCol).getCellType() == CellType.STRING;
|
||||
if(isString) {
|
||||
String value = nStudent.getAttributes(sheet.getRow(0).getCell(indexCol).getStringCellValue());
|
||||
if(value!=null) {
|
||||
boolean isOnlySpaces = value.matches("\\s+");
|
||||
if(!isOnlySpaces)if(!cellValue.equals(value)) {
|
||||
nStudent.setAttribut(sheet.getRow(0).getCell(indexCol).getStringCellValue(), cellValue);
|
||||
compteur++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
System.out.print(cellValue + " ");
|
||||
} else if (cellType == CellType.BOOLEAN) {
|
||||
String cellValue = String.valueOf(cell.getBooleanCellValue());
|
||||
if(sheet.getRow(0).getCell(indexCol)!=null) {
|
||||
boolean isString = sheet.getRow(0).getCell(indexCol).getCellType() == CellType.STRING;
|
||||
if(isString) {
|
||||
String value = nStudent.getAttributes(sheet.getRow(0).getCell(indexCol).getStringCellValue());
|
||||
boolean isOnlySpaces = value.matches("\\s+");
|
||||
if(value!=null) {
|
||||
if(!isOnlySpaces)if(!cellValue.equals(value)) {
|
||||
nStudent.setAttribut(sheet.getRow(0).getCell(indexCol).getStringCellValue(), cellValue);
|
||||
compteur++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
System.out.print(cellValue + " ");
|
||||
} else {
|
||||
// Autres types de cellules (formules, vides, etc.)
|
||||
String cellValue = (String) cell.getStringCellValue();
|
||||
if(sheet.getRow(0).getCell(indexCol)!=null) {
|
||||
boolean isString = sheet.getRow(0).getCell(indexCol).getCellType() == CellType.STRING;
|
||||
if(isString) {
|
||||
String value = nStudent.getAttributes(sheet.getRow(0).getCell(indexCol).getStringCellValue());
|
||||
if(value!=null) {
|
||||
boolean isOnlySpaces = value.matches("\\s+");
|
||||
if(!isOnlySpaces)if(!cellValue.equals(value)) {
|
||||
nStudent.setAttribut(sheet.getRow(0).getCell(indexCol).getStringCellValue(), cellValue);
|
||||
compteur++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
System.out.println(); // Nouvelle ligne après chaque ligne du tableau
|
||||
}
|
||||
|
||||
|
||||
System.out.println(); // Nouvelle ligne entre les feuilles
|
||||
}
|
||||
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
JOptionPane.showMessageDialog(null, e.toString(), "Erreur dans la class importAllBaseToExcel", JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
sauvegardeXMLBase.saveModif(commandes.nBase, compteur);
|
||||
}
|
||||
}
|
@ -1,160 +0,0 @@
|
||||
package baseUFRHG;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.swing.JOptionPane;
|
||||
|
||||
import org.apache.poi.ss.usermodel.Cell;
|
||||
import org.apache.poi.ss.usermodel.CellType;
|
||||
import org.apache.poi.ss.usermodel.Row;
|
||||
import org.apache.poi.ss.usermodel.Sheet;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
|
||||
public class importInscriptionXLS {
|
||||
|
||||
public static void importe(File file) {
|
||||
if(commandes.nBase==null) {
|
||||
commandes.nBase = recupeBases.recupeLaBase();
|
||||
}
|
||||
|
||||
noeud nYear = null;
|
||||
if(commandes.nBase.getAttributes("defaut_Year")!=null) {
|
||||
String defautYear = commandes.nBase.getAttributes("defaut_Year");
|
||||
if(commandes.nBase.getChild(defautYear)!=null) {
|
||||
nYear = commandes.nBase.getChild(defautYear);
|
||||
}else {
|
||||
JOptionPane.showMessageDialog(null, "Il n'y a pas d'année universitaire par défaut.", "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
return;
|
||||
}
|
||||
}else {
|
||||
JOptionPane.showMessageDialog(null, "Il n'y a pas d'année universitaire par défaut.", "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
try (FileInputStream fileInputStream = new FileInputStream(file.getAbsolutePath());
|
||||
Workbook workbook = new XSSFWorkbook(fileInputStream)) {
|
||||
|
||||
// int numSheets = workbook.getNumberOfSheets();
|
||||
|
||||
|
||||
Sheet sheet = workbook.getSheetAt(0);
|
||||
|
||||
if(!sheet.getSheetName().equals("Inscrits détail")) {
|
||||
JOptionPane.showMessageDialog(null, "Ce n'est pas une feuille d'inscription de luniversité d'Artois.");
|
||||
return;
|
||||
}
|
||||
|
||||
Map<Integer,String> Head = new HashMap<Integer, String>();
|
||||
|
||||
|
||||
for (Row row : sheet) {
|
||||
|
||||
Map<String, String> Student = new HashMap<String, String>();
|
||||
for (Cell cell : row) {
|
||||
if(row.getRowNum()==0) {
|
||||
Head.put(cell.getColumnIndex(),cell.getStringCellValue());
|
||||
}else {
|
||||
if(cell.getCellType()== CellType.STRING) {
|
||||
Student.put(Head.get(cell.getColumnIndex()), String.valueOf(cell.getStringCellValue()));
|
||||
}if (cell.getCellType()== CellType.NUMERIC) {
|
||||
Student.put(Head.get(cell.getColumnIndex()), String.valueOf(Integer.valueOf((int) cell.getNumericCellValue())));
|
||||
} else {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
if(Student.get("IAE - Etape (lib.)")!=null) {
|
||||
String nameFormation = supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(Student.get("IAE - Etape (lib.)"));
|
||||
noeud nFormation = null;
|
||||
if(nYear.getChild(nameFormation)!=null) {
|
||||
nFormation = nYear.getChild(nameFormation);
|
||||
}else {
|
||||
nFormation = new noeud(supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(nameFormation));
|
||||
nFormation.setAttribut("Colonne_Groupe_Documentation", "true");
|
||||
nFormation.setAttribut("Colonne_Groupe_Informatique", "true");
|
||||
nFormation.setAttribut("Colonne_Groupe_Langue", "true");
|
||||
nFormation.setAttribut("Colonne_Groupe_Principal", "true");
|
||||
nFormation.setAttribut("Colonne_Groupe_Projet", "true");
|
||||
nFormation.setAttribut("Colonne_Groupe_TD", "true");
|
||||
nFormation.setAttribut("Colonne_LV1", "true");
|
||||
nFormation.setAttribut("Colonne_LV2", "true");
|
||||
nFormation.setAttribut("Colonne_Regime", "true");
|
||||
nFormation.setAttribut("ToutesLesColonnes", "true");
|
||||
nFormation.setAttribut("Colonne_Stage1", "true");
|
||||
nFormation.setAttribut("Colonne_Stage2", "true");
|
||||
nYear.addChild(nFormation);
|
||||
}
|
||||
String nameNoeudStudent = "n"+String.valueOf(Student.get("Individu - Code Etudiant"));
|
||||
noeud nStudent = null;
|
||||
if(nFormation.getChild(nameNoeudStudent)!=null) {
|
||||
nStudent = nFormation.getChild(nameNoeudStudent);
|
||||
} else {
|
||||
nStudent = new noeud(nameNoeudStudent);
|
||||
nFormation.addChild(nStudent);
|
||||
}
|
||||
|
||||
for (Map.Entry<String, String> entry : Student.entrySet()) {
|
||||
if(entry.getKey().equals("Individu - Nom")
|
||||
|| entry.getKey().equals("Individu - Prénom")
|
||||
|| entry.getKey().equals("Individu - Code Etudiant")
|
||||
|| entry.getKey().equals("IAE - Etape (lib.)")
|
||||
|| entry.getKey().equals("Profil étudiant (lib.)")
|
||||
|| entry.getKey().equals("Bac ou équivalence (lib.)")
|
||||
|| entry.getKey().equals("Individu - Email personnel")
|
||||
|| entry.getKey().equals("Individu - Email")
|
||||
|| entry.getKey().equals("Individu - Tél. portable")) {
|
||||
nStudent.setAttribut(supprimeCaracatresSpeciaux.TousLesCaracatresSpeciaux(entry.getKey()), entry.getValue());
|
||||
}
|
||||
}
|
||||
|
||||
if(nStudent.getAttributes("Groupe_Principal")==null) nStudent.setAttribut("Groupe_Principal","");
|
||||
if(nStudent.getAttributes("Groupe_Informatique")==null) nStudent.setAttribut("Groupe_Informatique","");
|
||||
if(nStudent.getAttributes("Groupe_TD")==null) nStudent.setAttribut("Groupe_TD","");
|
||||
if(nStudent.getAttributes("Groupe_Langue")==null) nStudent.setAttribut("Groupe_Langue","");
|
||||
if(nStudent.getAttributes("Groupe_Doc")==null) nStudent.setAttribut("Groupe_Doc","");
|
||||
if(nStudent.getAttributes("Groupe_Projet")==null) nStudent.setAttribut("Groupe_Projet","");
|
||||
if(nStudent.getAttributes("Covoiturage")==null) nStudent.setAttribut("Covoiturage","non");
|
||||
if(nStudent.getAttributes("Etudiant_Covoiturage")==null) nStudent.setAttribut("Etudiant_Covoiturage","");
|
||||
if(nStudent.getAttributes("LV1")==null) nStudent.setAttribut("LV1","");
|
||||
if(nStudent.getAttributes("LV2")==null) nStudent.setAttribut("LV2","");
|
||||
if(nStudent.getAttributes("UE_Libre")==null) nStudent.setAttribut("UE_Libre","");
|
||||
if(nStudent.getAttributes("Option")==null) nStudent.setAttribut("Option","");
|
||||
if(nStudent.getAttributes("Stage_1")==null) nStudent.setAttribut("Stage_1","");
|
||||
if(nStudent.getAttributes("Num_convention_1")==null) nStudent.setAttribut("Num_convention_1","");
|
||||
if(nStudent.getAttributes("Periode_1")==null) nStudent.setAttribut("Periode_1","");
|
||||
if(nStudent.getAttributes("Stage_2")==null) nStudent.setAttribut("Stage_2","");
|
||||
if(nStudent.getAttributes("Num_convention_2")==null) nStudent.setAttribut("Num_convention_2","");
|
||||
if(nStudent.getAttributes("Periode_2")==null) nStudent.setAttribut("Periode_2","");
|
||||
if(nStudent.getAttributes("Information")==null) nStudent.setAttribut("Information","");
|
||||
if(nStudent.getAttributes("Atelier-rentree_horaire")==null) nStudent.setAttribut("Atelier-rentree_horaire","");
|
||||
if(nStudent.getAttributes("Atelier_pre-rentree_enseignant")==null) nStudent.setAttribut("Atelier_pre-rentree_enseignant","");
|
||||
if(nStudent.getAttributes("Atelier_pre-rentree_salle")==null) nStudent.setAttribut("Atelier_pre-rentree_salle","");
|
||||
if(nStudent.getAttributes("Regime")==null) nStudent.setAttribut("Regime","");
|
||||
|
||||
|
||||
System.out.println( nStudent.toWrite()); // Nouvelle ligne après chaque ligne du tableau
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
sauvegardeXMLBase.save(commandes.nBase,sauvegardeXMLBase.saveType.SANS_MESSAGE);
|
||||
JOptionPane.showMessageDialog(null, "Importation des inscriptions et les mises à jour sont réussies.");
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
@ -1,128 +0,0 @@
|
||||
package baseUFRHG;
|
||||
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStreamWriter;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.Date;
|
||||
|
||||
import javax.swing.JOptionPane;
|
||||
|
||||
public class sauvegardeXMLBase {
|
||||
|
||||
public static enum saveType{
|
||||
SANS_MESSAGE,
|
||||
WITH_MESSAGE,
|
||||
}
|
||||
|
||||
|
||||
public static void save(noeud nBase, saveType type) {
|
||||
|
||||
// Sauvegarde de la base
|
||||
String pathToFile = Paths.get("").toAbsolutePath().toString()+ "/base/base.xml";
|
||||
|
||||
String PathToDirector = Paths.get("").toAbsolutePath() + "/base";
|
||||
File directory11 = new File(PathToDirector);
|
||||
|
||||
if (!directory11.exists()) {
|
||||
boolean created = directory11.mkdirs();
|
||||
if (created) {
|
||||
System.out.println("Répertoire base créé avec succès");
|
||||
} else {
|
||||
System.out.println("Échec de la création du répertoire base");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
|
||||
new FileOutputStream(pathToFile), StandardCharsets.UTF_8))) {
|
||||
writer.write(nBase.toWrite());
|
||||
if(type==saveType.WITH_MESSAGE) JOptionPane.showMessageDialog(null, "La base a été sauvegardée.", "Sauvegarde", JOptionPane.INFORMATION_MESSAGE);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
JOptionPane.showMessageDialog(null, e.toString(), "Erreur dans la méthode save", JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static void saveSauvegarde(noeud nBase) {
|
||||
|
||||
|
||||
|
||||
String PathToDirector = Paths.get("").toAbsolutePath() + "/base";
|
||||
File directory11 = new File(PathToDirector);
|
||||
|
||||
if (!directory11.exists()) {
|
||||
boolean created = directory11.mkdirs();
|
||||
if (created) {
|
||||
System.out.println("Répertoire base créé avec succès");
|
||||
} else {
|
||||
System.out.println("Échec de la création du répertoire base");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Sauvegarde de la base
|
||||
String pathToFile = Paths.get("").toAbsolutePath().toString()+ "/base/base_sauvegarde.xml";
|
||||
try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
|
||||
new FileOutputStream(pathToFile), StandardCharsets.UTF_8))) {
|
||||
|
||||
Date aujourdhui = new Date();
|
||||
nBase.setAttribut("date_derniere_modification",base.DateEnClairFR(aujourdhui));
|
||||
|
||||
writer.write(nBase.toWrite());
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
JOptionPane.showMessageDialog(null, e.toString(), "Erreur dans la méthode saveSauvegarde.", JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static void saveSauvegarde(noeud nBase, String path) {
|
||||
|
||||
if(!path.endsWith(".xml")) {
|
||||
path = path + ".xml";
|
||||
}
|
||||
|
||||
try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
|
||||
new FileOutputStream(path), StandardCharsets.UTF_8))) {
|
||||
Date aujourdhui = new Date();
|
||||
nBase.setAttribut("date_derniere_modification",base.DateEnClairFR(aujourdhui));
|
||||
|
||||
writer.write(nBase.toWrite());
|
||||
JOptionPane.showMessageDialog(null, "Sauvegarde réussi.","Message",JOptionPane.OK_OPTION);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
JOptionPane.showMessageDialog(null, e.toString(), "Erreur dans la méthode saveSauvegarde.", JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static void saveModif(noeud nBase, Integer nbreModif) {
|
||||
|
||||
|
||||
// Sauvegarde de la base
|
||||
String directoryName = Paths.get("").toAbsolutePath().toString()+ "/base/base.xml";
|
||||
try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
|
||||
new FileOutputStream(directoryName), StandardCharsets.UTF_8))) {
|
||||
|
||||
Date aujourdhui = new Date();
|
||||
nBase.setAttribut("date_derniere_modification",base.DateEnClairFR(aujourdhui));
|
||||
writer.write(nBase.toWrite());
|
||||
|
||||
if(nbreModif>0) {
|
||||
JOptionPane.showMessageDialog(null, "Les " + nbreModif +" modifications ont été enregistrées dans la base.", "Sauvegarde", JOptionPane.INFORMATION_MESSAGE);
|
||||
}else {
|
||||
JOptionPane.showMessageDialog(null, "Il n'y a pas eu de modification dans la base.", "Sauvegarde", JOptionPane.INFORMATION_MESSAGE);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
JOptionPane.showMessageDialog(null, e.toString(), "Erreur dans la méthode save", JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,9 +1,11 @@
|
||||
package baseUFRHG;
|
||||
package exportations;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Dimension;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JLabel;
|
||||
@ -87,7 +89,13 @@ public class CreateCalcWorkbook extends JFrame{
|
||||
|
||||
try (Workbook workbook = new XSSFWorkbook()) {
|
||||
int rows = data.length; // Nombre de lignes
|
||||
int columns = data[0].length;
|
||||
int columns = data[0].length;;
|
||||
// for(int i = 0 ; i< data[0].length; i++) {
|
||||
// if(data[0].)
|
||||
// }
|
||||
|
||||
List<String> nomDesFeuillesPresentes = new ArrayList<String>();
|
||||
int compteurNom = 1;
|
||||
|
||||
// Créer un style de cellule avec des bordures
|
||||
CellStyle cellStyle = workbook.createCellStyle();
|
||||
@ -101,36 +109,54 @@ public class CreateCalcWorkbook extends JFrame{
|
||||
for (int i = 0; i < rows; i++) {
|
||||
publish(i);
|
||||
|
||||
String nameFormation = (String) data[i][0];
|
||||
String nameFormation = new String((String) data[i][0]);
|
||||
String[][] data1 = (String[][]) data[i][columns-1];
|
||||
|
||||
Sheet sheet = workbook.createSheet(nameFormation);
|
||||
|
||||
String nomFeuille = new String(nameFormation);
|
||||
|
||||
if(nomFeuille.length()>26) {
|
||||
nomFeuille = nomFeuille.substring(0, 26);
|
||||
}
|
||||
if(!nomDesFeuillesPresentes.contains(nomFeuille)) {
|
||||
nomDesFeuillesPresentes.add(nomFeuille);
|
||||
}else {
|
||||
nomFeuille = nomFeuille + "_" +String.valueOf(compteurNom++);
|
||||
nomDesFeuillesPresentes.add(nomFeuille);
|
||||
}
|
||||
|
||||
Sheet sheet = workbook.createSheet(nomFeuille);
|
||||
|
||||
//Entête de la première ligne
|
||||
Row row1 = sheet.createRow(0);
|
||||
Cell cell1 = row1.createCell(0);
|
||||
int tailleHead = columns - 2 ;
|
||||
for(int j = 0 ; j < tailleHead; j++) {
|
||||
cell1 = row1.createCell(j);
|
||||
cell1.setCellValue((String) data[i][j+1]);
|
||||
cell1.setCellStyle(cellStyle);
|
||||
if(data[i][j+1]!=null) {
|
||||
System.out.println(j);
|
||||
System.out.println(data[i][j+1]);
|
||||
cell1 = row1.createCell(j);
|
||||
cell1.setCellValue((String) data[i][j+1]);
|
||||
cell1.setCellStyle(cellStyle);
|
||||
}
|
||||
}
|
||||
|
||||
// Boucle pour insérer les données dans les colonnes
|
||||
int rowNum = 1;
|
||||
for (Object[] rowData : data1) {
|
||||
Row row = sheet.createRow(rowNum++);
|
||||
|
||||
int colNum = 0;
|
||||
for (Object cellData : rowData) {
|
||||
Cell cell = row.createCell(colNum++);
|
||||
if (cellData instanceof String) {
|
||||
cell.setCellValue((String) cellData);
|
||||
} else if (cellData instanceof Integer) {
|
||||
cell.setCellValue((Integer) cellData);
|
||||
}
|
||||
cell.setCellStyle(cellStyle);
|
||||
}
|
||||
if(data1!=null) {
|
||||
for (Object[] rowData : data1) {
|
||||
Row row = sheet.createRow(rowNum++);
|
||||
|
||||
int colNum = 0;
|
||||
for (Object cellData : rowData) {
|
||||
Cell cell = row.createCell(colNum++);
|
||||
if (cellData instanceof String) {
|
||||
cell.setCellValue((String) cellData);
|
||||
} else if (cellData instanceof Integer) {
|
||||
cell.setCellValue((Integer) cellData);
|
||||
}
|
||||
cell.setCellStyle(cellStyle);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for(int j = 0 ; j < tailleHead; j++) {
|
||||
@ -153,6 +179,7 @@ public class CreateCalcWorkbook extends JFrame{
|
||||
System.out.println(e.toString());
|
||||
JOptionPane.showMessageDialog(null, e.toString(), "Erreur dans la class CreateCalcWorkbook", JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
package baseUFRHG;
|
||||
package exportations;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Dimension;
|
||||
@ -13,6 +13,7 @@ import javax.swing.JProgressBar;
|
||||
import javax.swing.SwingConstants;
|
||||
import javax.swing.SwingWorker;
|
||||
|
||||
import org.apache.poi.hssf.usermodel.HeaderFooter;
|
||||
import org.apache.poi.ss.usermodel.BorderStyle;
|
||||
import org.apache.poi.ss.usermodel.Cell;
|
||||
import org.apache.poi.ss.usermodel.CellStyle;
|
||||
@ -20,11 +21,14 @@ import org.apache.poi.ss.usermodel.FillPatternType;
|
||||
import org.apache.poi.ss.usermodel.Font;
|
||||
import org.apache.poi.ss.usermodel.HorizontalAlignment;
|
||||
import org.apache.poi.ss.usermodel.IndexedColors;
|
||||
import org.apache.poi.ss.usermodel.PrintSetup;
|
||||
import org.apache.poi.ss.usermodel.Row;
|
||||
import org.apache.poi.ss.usermodel.Sheet;
|
||||
import org.apache.poi.ss.usermodel.VerticalAlignment;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
import org.apache.poi.ss.util.CellRangeAddress;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPageMargins;
|
||||
|
||||
public class createEmargement extends JFrame{
|
||||
|
||||
@ -38,7 +42,7 @@ public class createEmargement extends JFrame{
|
||||
JPanel panel;
|
||||
String path;
|
||||
|
||||
public createEmargement(Object[][] data, String nameFileWithPath){
|
||||
public createEmargement(Object[][] data, String nameFileWithPath, String nameFile){
|
||||
|
||||
this.path = nameFileWithPath;
|
||||
|
||||
@ -68,7 +72,7 @@ public class createEmargement extends JFrame{
|
||||
this.fr.setVisible(true);
|
||||
|
||||
|
||||
processTask = new ProcessTask(data);
|
||||
processTask = new ProcessTask(data,nameFile);
|
||||
processTask.execute();
|
||||
|
||||
this.dispose();
|
||||
@ -78,9 +82,11 @@ public class createEmargement extends JFrame{
|
||||
private class ProcessTask extends SwingWorker<Void, Integer> {
|
||||
|
||||
private Object[][] data;
|
||||
private String nameFile;
|
||||
|
||||
public ProcessTask(Object[][] data) {
|
||||
public ProcessTask(Object[][] data, String nameFile) {
|
||||
this.data = data;
|
||||
this.nameFile = nameFile;
|
||||
}
|
||||
|
||||
|
||||
@ -125,6 +131,8 @@ public class createEmargement extends JFrame{
|
||||
blueCellStyle.setFont(font1);
|
||||
|
||||
|
||||
String nameFormation = "";
|
||||
|
||||
// Définir la hauteur de la ligne 4 (1 cm)
|
||||
int heightInPoints = (int) (1 * 72 / 2.54); //1cm
|
||||
int heightInPoints2 = (int) (0.8 * 72 / 2.54); //0.8cm
|
||||
@ -132,7 +140,7 @@ public class createEmargement extends JFrame{
|
||||
for (int i = 0; i < rows; i++) {
|
||||
publish(i);
|
||||
|
||||
String nameFormation = (String) data[i][0];
|
||||
nameFormation = (String) data[i][0];
|
||||
String[][] data1 = (String[][]) data[i][columns-1];
|
||||
|
||||
Sheet sheet = workbook.createSheet(nameFormation);
|
||||
@ -203,18 +211,65 @@ public class createEmargement extends JFrame{
|
||||
|
||||
|
||||
|
||||
// Définir la largeur de la colonne B (2 cm)
|
||||
int widthInCharsB = (int) (2 * 256 / 0.146);
|
||||
//Définir la largeur de la colonne B (2 cm)
|
||||
int widthInCharsB = (int) (1.9 * 256 / 0.146);
|
||||
sheet.setColumnWidth(1, widthInCharsB);
|
||||
|
||||
// Définir la largeur de la colonne E (6 cm)
|
||||
int widthInCharsE = (int) (6 * 256 / 0.146);
|
||||
sheet.setColumnWidth(4, widthInCharsE);
|
||||
|
||||
sheet.autoSizeColumn(0);
|
||||
sheet.autoSizeColumn(2);
|
||||
sheet.autoSizeColumn(3);
|
||||
|
||||
|
||||
// Estimer la largeur de la feuille A4 en unités de 1/256ème de caractère
|
||||
int a4WidthUnits = 26000 ; //(17 * 256)/0.146; // Largeur de la feuille A4 en unités de 1/256ème de caractère
|
||||
|
||||
// Obtenir la largeur totale des colonnes A à D en unités de 1/256ème de caractère
|
||||
int widthOfColumnsAtoD = 0;
|
||||
for (int columnIndex = 0; columnIndex < 4; columnIndex++) {
|
||||
widthOfColumnsAtoD += sheet.getColumnWidth(columnIndex);
|
||||
}
|
||||
|
||||
// Calculer la largeur restante en unités de 1/256ème de caractère
|
||||
int remainingWidthUnits = a4WidthUnits - widthOfColumnsAtoD;
|
||||
|
||||
// Définir la largeur de la colonne E en unités de 1/256ème de caractère
|
||||
sheet.setColumnWidth(4, remainingWidthUnits);
|
||||
|
||||
// Définir l'en-tête de la feuille de calcul
|
||||
sheet.getHeader().setCenter("Emargement : " + nameFile);
|
||||
|
||||
// Définir le pied de page
|
||||
sheet.getFooter().setCenter("Page " + HeaderFooter.page() );
|
||||
|
||||
|
||||
// Obtenir l'objet CTPageMargins associé à la feuille
|
||||
CTPageMargins pageMargins = ((org.apache.poi.xssf.usermodel.XSSFSheet) sheet).getCTWorksheet().getPageMargins();
|
||||
|
||||
// Définir les marges gauche et droite en pouces
|
||||
double leftMarginInches = 0.2; // des pouces
|
||||
double rightMarginInches = 0.2; // des pouces
|
||||
|
||||
// Conversion des pouces en unités de l'échelle de l'imprimante
|
||||
double leftMarginUnits = leftMarginInches ; // 1 pouce = 2.54 cm, 1 cm = 10000 unités
|
||||
double rightMarginUnits = rightMarginInches ;
|
||||
|
||||
// Définir les marges gauche et droite
|
||||
pageMargins.setLeft(leftMarginUnits);
|
||||
pageMargins.setRight(rightMarginUnits);
|
||||
|
||||
|
||||
Row headerRow = sheet.getRow(4); // Récupérer la ligne d'entête (ligne 5)
|
||||
Cell[] headerCells = new Cell[headerRow.getLastCellNum()]; // Tableau pour stocker les cellules de l'entête
|
||||
|
||||
for (int j = 0; j < headerRow.getLastCellNum(); j++) {
|
||||
headerCells[j] = headerRow.getCell(j); // Récupérer chaque cellule de l'entête
|
||||
}
|
||||
|
||||
// Définir l'impression de la feuille avec répétition de la ligne d'entête sur chaque page
|
||||
PrintSetup printSetup = sheet.getPrintSetup();
|
||||
printSetup.setFitWidth((short) 1);
|
||||
printSetup.setFitHeight((short) 0);
|
||||
sheet.setRepeatingRows(CellRangeAddress.valueOf("5:5")); // Répéter la ligne d'entête sur chaque page
|
||||
|
||||
}
|
||||
|
||||
// Enregistrer le classeur dans un fichier
|
||||
@ -228,8 +283,8 @@ public class createEmargement extends JFrame{
|
||||
|
||||
}catch (IOException e) {
|
||||
System.out.println(e.toString());
|
||||
// e.printStackTrace();
|
||||
JOptionPane.showMessageDialog(null, e.toString(), "Erreur dans la class CreateCalcWorkbook", JOptionPane.ERROR_MESSAGE);
|
||||
JOptionPane.showMessageDialog(null, "<html>Erreur dans la class CreateCalcWorkbook.<br>"
|
||||
+ "Avez-vous fermé le classeur : "+ nameFile +" ?<br><br>" +e.toString() + "</html>", "Erreur dans la class CreateCalcWorkbook.", JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
return null;
|
||||
}
|
281
src/exportations/exportBaseToExcel.java
Normal file
@ -0,0 +1,281 @@
|
||||
package exportations;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Comparator;
|
||||
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
|
||||
import outils.FileSaveXLSX;
|
||||
import outils.commandes;
|
||||
import outils.noeud;
|
||||
|
||||
/**
|
||||
* Exportation de la base ou d'une partie de la base vers un classeur Ms Excel.
|
||||
* @author pabr6
|
||||
*
|
||||
*/
|
||||
public class exportBaseToExcel {
|
||||
|
||||
/**
|
||||
* type d'exportation
|
||||
* @author pabr6
|
||||
*
|
||||
*/
|
||||
public static enum exportType {
|
||||
TABLE,
|
||||
EMARGEMENT,
|
||||
BASE
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Exportation de toute la base
|
||||
*/
|
||||
public static void exportBase() {
|
||||
|
||||
// Données
|
||||
Object[][] data = new Object[commandes.nBase.getChild(commandes.nBase.getAttributes("defaut_Year")).getNumberChildren()][34];
|
||||
|
||||
|
||||
int indexFormation = 0 ;
|
||||
for(noeud formation : commandes.nBase.getChild(commandes.nBase.getAttributes("defaut_Year")).getChildren()) {
|
||||
|
||||
data[indexFormation][0] = formation.getName();
|
||||
data[indexFormation][1] = "Formation";
|
||||
data[indexFormation][2] = commandes.nomColonneCodeEtudiant; //.nBase.getAttributes("Individu_-_Code_Etudiant");
|
||||
data[indexFormation][3] = commandes.nomColonnePrenomEtudiant; //nBase.getAttributes("Individu_-_Prenom");
|
||||
data[indexFormation][4] = commandes.nomColonneNomEtudiant; //nBase.getAttributes("Individu_-_Nom");
|
||||
data[indexFormation][5] = commandes.nomColonneProfilEtudiant; //nBase.getAttributes("Profil_etudiant_lib.");
|
||||
data[indexFormation][6] = commandes.nomColonnePortableEtudiant; //nBase.getAttributes("Individu_-_Tel._portable");
|
||||
data[indexFormation][7] = commandes.nomColonneMailPersoEtudiant; //nBase.getAttributes("Individu_-_Email_personnel");
|
||||
data[indexFormation][8] = commandes.nomColonneMailUnivEtudiant; //nBase.getAttributes("Individu_-_Email");
|
||||
data[indexFormation][9] = "Groupe_Principal";
|
||||
data[indexFormation][10] = "Groupe_TD";
|
||||
data[indexFormation][11] = "Groupe_LV1";
|
||||
data[indexFormation][12] = "Groupe_LV2";
|
||||
data[indexFormation][13] = "LV1";
|
||||
data[indexFormation][14] = "LV2";
|
||||
data[indexFormation][15] = "Regime";
|
||||
data[indexFormation][16] = "Groupe_TP";
|
||||
data[indexFormation][17] = "Groupe_Informatique";
|
||||
data[indexFormation][18] = "Groupe_Projet";
|
||||
data[indexFormation][19] = "Groupe_Doc";
|
||||
data[indexFormation][20] = "Atelier-rentree_horaire";
|
||||
data[indexFormation][21] = "Atelier_pre-rentree_enseignant";
|
||||
data[indexFormation][22] = "Atelier_pre-rentree_salle";
|
||||
data[indexFormation][23] = "UE_Libre";
|
||||
data[indexFormation][24] = "Covoiturage";
|
||||
data[indexFormation][25] = "Etudiant_Covoiturage";
|
||||
data[indexFormation][26] = "Stage_1";
|
||||
data[indexFormation][27] = "Num_convention_1";
|
||||
data[indexFormation][28] = "Periode_1";
|
||||
data[indexFormation][29] = "Stage_2";
|
||||
data[indexFormation][30] = "Num_convention_2";
|
||||
data[indexFormation][31] = "Periode_2";
|
||||
data[indexFormation][32] = commandes.nomColonne_Option_1;
|
||||
|
||||
String[][] data1 = new String[formation.getNumberChildren()][32];
|
||||
|
||||
int indexStudent = 0;
|
||||
for(noeud nStudent : formation.getChildren()) {
|
||||
data1[indexStudent][0] = nStudent.getAttributes(commandes.nomColonneFormation);
|
||||
data1[indexStudent][1] = nStudent.getAttributes(commandes.nomColonneCodeEtudiant);
|
||||
data1[indexStudent][2] = nStudent.getAttributes(commandes.nomColonnePrenomEtudiant);
|
||||
data1[indexStudent][3] = nStudent.getAttributes(commandes.nomColonneNomEtudiant);
|
||||
data1[indexStudent][4] = nStudent.getAttributes(commandes.nomColonneProfilEtudiant);
|
||||
data1[indexStudent][5] = nStudent.getAttributes(commandes.nomColonnePortableEtudiant);
|
||||
data1[indexStudent][6] = nStudent.getAttributes(commandes.nomColonneMailPersoEtudiant);
|
||||
data1[indexStudent][7] = nStudent.getAttributes(commandes.nomColonneMailUnivEtudiant);
|
||||
data1[indexStudent][8] = nStudent.getAttributes("Groupe_Principal");
|
||||
data1[indexStudent][9] = nStudent.getAttributes("Groupe_TD");
|
||||
data1[indexStudent][10] = nStudent.getAttributes("Groupe_LV1");
|
||||
data1[indexStudent][11] = nStudent.getAttributes("Groupe_LV2");
|
||||
data1[indexStudent][12] = nStudent.getAttributes("LV1");
|
||||
data1[indexStudent][13] = nStudent.getAttributes("LV2");
|
||||
data1[indexStudent][14] = nStudent.getAttributes("Regime");
|
||||
data1[indexStudent][15] = nStudent.getAttributes("Groupe_TP");
|
||||
data1[indexStudent][16] = nStudent.getAttributes("Groupe_Informatique");
|
||||
data1[indexStudent][17] = nStudent.getAttributes("Groupe_Projet");
|
||||
data1[indexStudent][18] = nStudent.getAttributes("Groupe_Doc");
|
||||
data1[indexStudent][19] = nStudent.getAttributes("Atelier-rentree_horaire");
|
||||
data1[indexStudent][20] = nStudent.getAttributes("Atelier_pre-rentree_enseignant");
|
||||
data1[indexStudent][21] = nStudent.getAttributes("Atelier_pre-rentree_salle");
|
||||
data1[indexStudent][22] = nStudent.getAttributes("UE_Libre");
|
||||
data1[indexStudent][23] = nStudent.getAttributes("Covoiturage");
|
||||
data1[indexStudent][24] = nStudent.getAttributes("Etudiant_Covoiturage");
|
||||
data1[indexStudent][25] = nStudent.getAttributes("Stage_1");
|
||||
data1[indexStudent][26] = nStudent.getAttributes("Num_convention_1");
|
||||
data1[indexStudent][27] = nStudent.getAttributes("Periode_1");
|
||||
data1[indexStudent][28] = nStudent.getAttributes("Stage_2");
|
||||
data1[indexStudent][29] = nStudent.getAttributes("Num_convention_2");
|
||||
data1[indexStudent][30] = nStudent.getAttributes("Periode_2");
|
||||
data1[indexStudent][31] = nStudent.getAttributes(commandes.nomColonne_Option_1);
|
||||
|
||||
|
||||
data[indexFormation][33] = data1;
|
||||
indexStudent++;
|
||||
}
|
||||
|
||||
indexFormation++;
|
||||
}
|
||||
|
||||
if(data.length>0) {
|
||||
|
||||
|
||||
FileSaveXLSX s = new FileSaveXLSX();
|
||||
s.save(data, "", exportType.BASE);
|
||||
|
||||
// new CreateCalcWorkbook(data, Paths.get("").toAbsolutePath().toString()+ "/Base.xlsx");
|
||||
}else {
|
||||
JPanel panel = new JPanel();
|
||||
JLabel message = new JLabel("<html><p>La base de données est nulle.</p></html>");
|
||||
panel.add(message);
|
||||
JOptionPane.showMessageDialog(null, panel, "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Exportation de la table pour réaliser la mise à jour ou la feuille d'émargement
|
||||
* @param nTable
|
||||
* @param type
|
||||
*/
|
||||
public static void exportTable(noeud nTable,exportType type) {
|
||||
// Données
|
||||
|
||||
|
||||
if(nTable.getFirstChild()==null) {
|
||||
JPanel panel = new JPanel();
|
||||
JLabel message = new JLabel("<html><p>La table de données est vide.</p></html>");
|
||||
panel.add(message);
|
||||
JOptionPane.showMessageDialog(null, panel, "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
return;
|
||||
}
|
||||
|
||||
int nombreDeColonne = 34; // Le nombre de colonne maximale est fixé à 34.
|
||||
if(!commandes.enabled_Colonne_Option_1) nombreDeColonne--;
|
||||
|
||||
|
||||
Object[][] data = new Object[1][nombreDeColonne];
|
||||
|
||||
String formation = nTable.getAttributes("Formation");
|
||||
|
||||
int numCol = 0;
|
||||
data[0][numCol++] = formation;
|
||||
data[0][numCol++] = "Formation";
|
||||
data[0][numCol++] = commandes.nomColonneCodeEtudiant; //"Individu_-_Code_Etudiant";
|
||||
data[0][numCol++] = commandes.nomColonnePrenomEtudiant;//"Individu_-_Prenom";
|
||||
data[0][numCol++] = commandes.nomColonneNomEtudiant;//"Individu_-_Nom";
|
||||
data[0][numCol++] = commandes.nomColonneProfilEtudiant;//"Profil_etudiant_lib.";
|
||||
data[0][numCol++] = commandes.nomColonnePortableEtudiant; //"Individu_-_Tel._portable";
|
||||
data[0][numCol++] = commandes.nomColonneMailPersoEtudiant; //"Individu_-_Email_personnel";
|
||||
data[0][numCol++] = commandes.nomColonneMailUnivEtudiant; //"Individu_-_Email";
|
||||
data[0][numCol++] = "Groupe_Principal";
|
||||
data[0][numCol++] = "Groupe_TD";
|
||||
data[0][numCol++] = "Groupe_LV1";
|
||||
data[0][numCol++] = "Groupe_LV2";
|
||||
data[0][numCol++] = "Groupe_Informatique";
|
||||
data[0][numCol++] = "Groupe_Projet";
|
||||
data[0][numCol++] = "Groupe_Doc";
|
||||
data[0][numCol++] = "Groupe_TP";
|
||||
data[0][numCol++] = "LV1";
|
||||
data[0][numCol++] = "LV2";
|
||||
data[0][numCol++] = "Regime";
|
||||
data[0][numCol++] = "Atelier-rentree_horaire";
|
||||
data[0][numCol++] = "Atelier_pre-rentree_enseignant";
|
||||
data[0][numCol++] = "Atelier_pre-rentree_salle";
|
||||
data[0][numCol++] = "UE_Libre";
|
||||
data[0][numCol++] = "Covoiturage";
|
||||
data[0][numCol++] = "Etudiant_Covoiturage";
|
||||
data[0][numCol++] = "Stage_1";
|
||||
data[0][numCol++] = "Num_convention_1";
|
||||
data[0][numCol++] = "Periode_1";
|
||||
data[0][numCol++] = "Stage_2";
|
||||
data[0][numCol++] = "Num_convention_2";
|
||||
data[0][numCol++] = "Periode_2";
|
||||
if(commandes.enabled_Colonne_Option_1) data[0][numCol++] = commandes.nomColonne_Option_1;
|
||||
|
||||
// le nombre de colonne par défaut de data1 est nombreDeColonne - 2
|
||||
int nombreColoneData1 = nombreDeColonne -2;
|
||||
String[][] data1 = new String[nTable.getChildren().size()][nombreColoneData1];
|
||||
|
||||
int indexStudent = 0;
|
||||
for(noeud nStudent : nTable.getChildren()) {
|
||||
int col = 0;
|
||||
data1[indexStudent][col++] = nStudent.getAttributes(commandes.nomColonneFormation);;
|
||||
data1[indexStudent][col++] = nStudent.getAttributes(commandes.nomColonneCodeEtudiant);
|
||||
data1[indexStudent][col++] = nStudent.getAttributes(commandes.nomColonnePrenomEtudiant);
|
||||
data1[indexStudent][col++] = nStudent.getAttributes(commandes.nomColonneNomEtudiant);
|
||||
data1[indexStudent][col++] = nStudent.getAttributes(commandes.nomColonneProfilEtudiant);
|
||||
data1[indexStudent][col++] = nStudent.getAttributes(commandes.nomColonnePortableEtudiant);
|
||||
data1[indexStudent][col++] = nStudent.getAttributes(commandes.nomColonneMailPersoEtudiant);
|
||||
data1[indexStudent][col++] = nStudent.getAttributes(commandes.nomColonneMailUnivEtudiant);
|
||||
data1[indexStudent][col++] = nStudent.getAttributes("Groupe_Principal");
|
||||
data1[indexStudent][col++] = nStudent.getAttributes("Groupe_TD");
|
||||
data1[indexStudent][col++] = nStudent.getAttributes("Groupe_LV1");
|
||||
data1[indexStudent][col++] = nStudent.getAttributes("Groupe_LV2");
|
||||
data1[indexStudent][col++] = nStudent.getAttributes("Groupe_Informatique");
|
||||
data1[indexStudent][col++] = nStudent.getAttributes("Groupe_Projet");
|
||||
data1[indexStudent][col++] = nStudent.getAttributes("Groupe_Doc");
|
||||
data1[indexStudent][col++] = nStudent.getAttributes("Groupe_TP");
|
||||
data1[indexStudent][col++] = nStudent.getAttributes("LV1");
|
||||
data1[indexStudent][col++] = nStudent.getAttributes("LV2");
|
||||
data1[indexStudent][col++] = nStudent.getAttributes("Regime");
|
||||
data1[indexStudent][col++] = nStudent.getAttributes("Atelier-rentree_horaire");
|
||||
data1[indexStudent][col++] = nStudent.getAttributes("Atelier_pre-rentree_enseignant");
|
||||
data1[indexStudent][col++] = nStudent.getAttributes("Atelier_pre-rentree_salle");
|
||||
data1[indexStudent][col++] = nStudent.getAttributes("UE_Libre");
|
||||
data1[indexStudent][col++] = nStudent.getAttributes("Covoiturage");
|
||||
data1[indexStudent][col++] = nStudent.getAttributes("Etudiant_Covoiturage");
|
||||
data1[indexStudent][col++] = nStudent.getAttributes("Stage_1");
|
||||
data1[indexStudent][col++] = nStudent.getAttributes("Num_convention_1");
|
||||
data1[indexStudent][col++] = nStudent.getAttributes("Periode_1");
|
||||
data1[indexStudent][col++] = nStudent.getAttributes("Stage_2");
|
||||
data1[indexStudent][col++] = nStudent.getAttributes("Num_convention_2");
|
||||
data1[indexStudent][col++] = nStudent.getAttributes("Periode_2");
|
||||
if(commandes.enabled_Colonne_Option_1) data1[indexStudent][col++] = nStudent.getAttributes(commandes.nomColonne_Option_1);
|
||||
|
||||
data[0][numCol] = data1;
|
||||
indexStudent++;
|
||||
}
|
||||
|
||||
// Trier le data1 par ordre aphabétique de la troisième colonne (les noms)
|
||||
Arrays.sort(data1, Comparator.comparing(row -> row[3]));
|
||||
|
||||
if(data.length>0) {
|
||||
|
||||
|
||||
if( Boolean.valueOf(nTable.getAttributes("isGroupe_Principal"))) formation = formation + " - Groupe Principal " + nTable.getAttributes("Groupe_Principal");
|
||||
if( Boolean.valueOf(nTable.getAttributes("isGroupe_TD"))) formation = formation + " - Groupe TD " + nTable.getAttributes("Groupe_TD");
|
||||
if( Boolean.valueOf(nTable.getAttributes("isGroupe_LV1"))) formation = formation + " - Groupe LV1 " + nTable.getAttributes("Groupe_LV1");
|
||||
if( Boolean.valueOf(nTable.getAttributes("isGroupe_LV2"))) formation = formation + " - Groupe LV2 " + nTable.getAttributes("Groupe_LV2");
|
||||
if( Boolean.valueOf(nTable.getAttributes("isGroupe_Informatique"))) formation = formation + " - Groupe Informatique " + nTable.getAttributes("Groupe_Informatique");
|
||||
if( Boolean.valueOf(nTable.getAttributes("isGroupe_Documentation"))) formation = formation + "- Groupe Documentation " + nTable.getAttributes("Groupe_Documentation");
|
||||
if( Boolean.valueOf(nTable.getAttributes("isGroupe_Projet"))) formation = formation + " - Groupe Projet " + nTable.getAttributes("Groupe_Projet");
|
||||
if( Boolean.valueOf(nTable.getAttributes("isGroupe_TP"))) formation = formation + " - Groupe TP " + nTable.getAttributes("Groupe_TP");
|
||||
if( Boolean.valueOf(nTable.getAttributes("isLV1"))) formation = formation + " - LV1 " + nTable.getAttributes("LV1");
|
||||
if( Boolean.valueOf(nTable.getAttributes("isLV2"))) formation = formation + " - LV2 " + nTable.getAttributes("LV2");
|
||||
if( Boolean.valueOf(nTable.getAttributes("isProfil"))) formation = formation + " - Profil " + nTable.getAttributes("Profil");
|
||||
if( Boolean.valueOf(nTable.getAttributes("isRegime"))) formation = formation + " - Regime " + nTable.getAttributes("Regime");
|
||||
|
||||
FileSaveXLSX s = new FileSaveXLSX();
|
||||
s.save(data, formation, type);
|
||||
|
||||
|
||||
}else {
|
||||
JPanel panel = new JPanel();
|
||||
JLabel message = new JLabel("<html><p>La table de données est vide.</p></html>");
|
||||
panel.add(message);
|
||||
JOptionPane.showMessageDialog(null, panel, "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
489
src/gestion_version/VersionChecker.java
Normal file
@ -0,0 +1,489 @@
|
||||
package gestion_version;
|
||||
|
||||
import java.awt.Font;
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import javax.swing.Icon;
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.UIManager;
|
||||
|
||||
import Windows.Window_demarre;
|
||||
import base.NomDeColonneInscriptionTable;
|
||||
import base.recupeBases;
|
||||
import base.sauvegardeXMLBase;
|
||||
import base.sauvegardeXMLBase.saveType;
|
||||
import outils.commandes;
|
||||
import outils.lectureXML;
|
||||
import outils.noeud;
|
||||
|
||||
/**
|
||||
* Permet la vérification d'une nouvelle version disponible sur la forge de Chapril.
|
||||
* Permet la mise à jour de la base pour prendre en cmopte les modifications de l'application.
|
||||
* Permet de vérifier la compatibilité de la version de la base avec celle de l'application.
|
||||
* @author pabr6
|
||||
*
|
||||
*/
|
||||
public class VersionChecker {
|
||||
|
||||
/**
|
||||
* Vérification de la présence d'une nouvelle version dans la forge de Chapril.
|
||||
* Réupération des messages ou blocage de l'application.
|
||||
*/
|
||||
public static void verificationNewVersion() {
|
||||
|
||||
|
||||
// String[] Version = commandes.version.split("\\.");
|
||||
// int versionIntegerApplication = Integer.valueOf( Version[0] + Version[1] + Version[2]);
|
||||
|
||||
try {
|
||||
URL url = new URL("https://forge.chapril.org/pablo/GestionDesInscriptions/releases/latest");
|
||||
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
|
||||
conn.setRequestMethod("GET");
|
||||
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
|
||||
String line;
|
||||
StringBuilder content = new StringBuilder();
|
||||
|
||||
while ((line = reader.readLine()) != null) {
|
||||
content.append(line);
|
||||
}
|
||||
reader.close();
|
||||
|
||||
|
||||
// Motif de la sous-chaîne recherchée
|
||||
String pattern = "V\\d+\\.\\d+\\.\\d+";
|
||||
|
||||
// Création du motif de recherche
|
||||
Pattern regex = Pattern.compile(pattern);
|
||||
|
||||
// Création du matcher pour l'entrée donnée
|
||||
Matcher matcher = regex.matcher(content);
|
||||
|
||||
//Version max
|
||||
int versionMax = 0;
|
||||
|
||||
// Parcours des correspondances
|
||||
while (matcher.find()) {
|
||||
// Récupération de la sous-chaîne correspondante
|
||||
String match = matcher.group();
|
||||
|
||||
// Conversion en nombre entier
|
||||
String numericString = match.replaceAll("[^\\d.]", "");
|
||||
|
||||
|
||||
versionMax = versionNombre(numericString);
|
||||
|
||||
if(versionMax>0) {
|
||||
System.out.println("Une nouvelle version est disponible !");
|
||||
commandes.newVersion = true;
|
||||
commandes.nameNewVersion = match;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Aide moi 1 = compléter mon service annuel
|
||||
pattern ="helpme1";
|
||||
regex = Pattern.compile(pattern);
|
||||
matcher = regex.matcher(content);
|
||||
|
||||
if(matcher.find()) {
|
||||
commandes.helpme1 = true;
|
||||
}
|
||||
|
||||
// Blocage de l'application
|
||||
pattern ="blocageapplication";
|
||||
regex = Pattern.compile(pattern);
|
||||
matcher = regex.matcher(content);
|
||||
if(matcher.find()) {
|
||||
commandes.blocageApplication = true;
|
||||
commandes.newVersion = false;
|
||||
}
|
||||
|
||||
// Deblocage de l'application
|
||||
pattern ="deblocageapplication";
|
||||
regex = Pattern.compile(pattern);
|
||||
matcher = regex.matcher(content);
|
||||
if(matcher.find()) {
|
||||
commandes.blocageApplication = false;
|
||||
commandes.newVersion = false;
|
||||
}
|
||||
|
||||
// Deblocage de l'application
|
||||
pattern ="noMessageAlerte";
|
||||
regex = Pattern.compile(pattern);
|
||||
matcher = regex.matcher(content);
|
||||
if(matcher.find()) {
|
||||
commandes.noMessageAlerte = true;
|
||||
}
|
||||
|
||||
pattern = "messageVersion-(.*?)-messageVersion";
|
||||
regex = Pattern.compile(pattern);
|
||||
matcher = regex.matcher(content);
|
||||
|
||||
// message alerte sur le site de la forge de chapril
|
||||
while (matcher.find()) {
|
||||
// Récupérer le texte entre les balises messageAlerte
|
||||
// -br- retour à la ligne
|
||||
// -b- et -/b- en gras
|
||||
// -u- et -/u- soiligné
|
||||
commandes.messageVersion = matcher.group(1);
|
||||
commandes.messageVersion = commandes.messageVersion.replaceAll("-br-", "<br>").replaceAll("-b-", "<b>").replaceAll("-/b-", "</b>").replaceAll("-u-", "<u>").replaceAll("-/u-", "</u>")
|
||||
.replaceAll("-h1-", "<h1>").replaceAll("-/h1-", "</h1>").replaceAll("-h2-", "<h2>").replaceAll("-/h2-", "</h2>").replaceAll("-p-", "<p>").replaceAll("-/p-", "</p>");
|
||||
}
|
||||
|
||||
|
||||
// Définir le motif de la regex
|
||||
pattern = "messageAlerte-(.*?)-messageAlerte";
|
||||
regex = Pattern.compile(pattern);
|
||||
matcher = regex.matcher(content);
|
||||
|
||||
// message alerte sur le site de la forge de chapril
|
||||
while (matcher.find()) {
|
||||
// Récupérer le texte entre les balises messageAlerte
|
||||
// -br- retour à la ligne
|
||||
// -b- et -/b- en gras
|
||||
// -u- et -/u- souligné
|
||||
//
|
||||
commandes.messageAlerte = matcher.group(1);
|
||||
commandes.messageAlerte = commandes.messageAlerte.replaceAll("-br-", "<br>").replaceAll("-b-", "<b>").replaceAll("-/b-", "</b>").replaceAll("-u-", "<u>").replaceAll("-/u-", "</u>")
|
||||
.replaceAll("-h1-", "<h1>").replaceAll("-/h1-", "</h1>").replaceAll("-h2-", "<h2>").replaceAll("-/h2-", "</h2>").replaceAll("-p-", "<p>").replaceAll("-/p-", "</p>");
|
||||
}
|
||||
|
||||
|
||||
} catch (IOException e) {
|
||||
showCustomMessagePasInternet();
|
||||
commandes.pasDeConnexion=true;
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Mise à jour de la version de la base.
|
||||
* Modifications de la base pour prendre en compte les modifications de l'application.
|
||||
* @param nBase
|
||||
*/
|
||||
public static void UpdateVersion(noeud nBase) {
|
||||
if(nBase==null) {
|
||||
nBase = recupeBases.recupeLaBase();
|
||||
if(nBase==null) return;
|
||||
}
|
||||
|
||||
|
||||
String versionDeLaBase = nBase.getAttributes("version");
|
||||
|
||||
// les version 1.0.1 et 1.0.2 n'avaient pas l'attribut version dans le noeud de la base.
|
||||
if(versionDeLaBase==null) versionDeLaBase = "1.0.2";
|
||||
|
||||
// Mise à jour des versions
|
||||
if(compareLaVersion(versionDeLaBase)) {
|
||||
nBase.setAttribut("version", commandes.version);
|
||||
|
||||
//Modification de la base si elle est de la version 1.0.1 ou 1.0.2
|
||||
if(versionDeLaBase.equals("1.0.2")) {
|
||||
nBase = version102(nBase);
|
||||
versionDeLaBase = "1.0.3";
|
||||
}
|
||||
|
||||
if(versionDeLaBase.equals("1.0.3") && compareLaVersion(versionDeLaBase)) {
|
||||
versionDeLaBase = "1.0.4";
|
||||
}
|
||||
|
||||
if(versionDeLaBase.equals("1.0.4") && compareLaVersion(versionDeLaBase)) {
|
||||
nBase = version104(nBase);
|
||||
versionDeLaBase = "1.0.5";
|
||||
}
|
||||
|
||||
if(versionDeLaBase.equals("1.0.5") && compareLaVersion(versionDeLaBase)) {
|
||||
nBase = version105(nBase);
|
||||
versionDeLaBase = "1.0.6";
|
||||
}
|
||||
|
||||
|
||||
// Sauvegarde de la base dans le dossier base
|
||||
sauvegardeXMLBase.save(nBase,saveType.WITH_MESSAGE,"<html>Mise à jour de la base<br>avec la nouvelle version " + commandes.version + "</html>");
|
||||
|
||||
//chargement dans la classe commandes
|
||||
commandes.nBase = nBase;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Verification de la version de la base avec la version de l'application.<br>
|
||||
* Empêche l'utilisationde la base par une autre version.<br>
|
||||
* @param nBase
|
||||
* @return
|
||||
*/
|
||||
public static boolean matchVersion(noeud nBase) {
|
||||
boolean resultat = false;
|
||||
if(nBase==null) {
|
||||
nBase = recupeBases.recupeLaBase();
|
||||
if(nBase==null) return resultat;
|
||||
}
|
||||
String versionBase = nBase.getAttributes("version");
|
||||
if(commandes.version.equals(versionBase)) return true;
|
||||
|
||||
JOptionPane.showMessageDialog(null, "<html>La version de la base ne correspond pas<br>à la version de l'application.</html>","erreur",JOptionPane.ERROR_MESSAGE);
|
||||
return resultat;
|
||||
}
|
||||
|
||||
/***
|
||||
* Compare la version de la base avec la version de l'application.<br>
|
||||
* @param VersionBase
|
||||
* @return
|
||||
*/
|
||||
public static boolean compareLaVersion(String VersionBase ) {
|
||||
String[] VersionApplicationSplit = commandes.version.split("\\.");
|
||||
String[] VersionBaseSplit = VersionBase.split("\\.");
|
||||
|
||||
boolean newVersion = false;
|
||||
|
||||
if( Integer.valueOf(VersionBaseSplit[0]) < Integer.valueOf(VersionApplicationSplit[0]) ) {
|
||||
newVersion=true;
|
||||
}else if ((Integer.valueOf(VersionBaseSplit[0])==Integer.valueOf(VersionApplicationSplit[0]))
|
||||
&& (Integer.valueOf(VersionBaseSplit[1]) < Integer.valueOf(VersionApplicationSplit[1]))) {
|
||||
newVersion=true;
|
||||
}else if ((Integer.valueOf(VersionBaseSplit[0])==Integer.valueOf(VersionApplicationSplit[0]))
|
||||
&& (Integer.valueOf(VersionBaseSplit[1]) == Integer.valueOf(VersionApplicationSplit[1]))
|
||||
&& (Integer.valueOf(VersionBaseSplit[2])<Integer.valueOf(VersionApplicationSplit[2])) ){
|
||||
newVersion=true;
|
||||
}
|
||||
|
||||
return newVersion;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retour un entier qui correspond à la version.<br>
|
||||
* La première valeur est multipliée par 1 000 000.<br>
|
||||
* La seconde valeur est multipliée par 1 000.<br>
|
||||
* La troisième valeur n'est pas multipliée.<vr>
|
||||
*
|
||||
* @param versionForge
|
||||
* @return
|
||||
*/
|
||||
public static Integer versionNombre(String versionForge) {
|
||||
String[] VersionApplicationSplit = commandes.version.split("\\.");
|
||||
String[] VersionForgeSplit = versionForge.split("\\.");
|
||||
|
||||
boolean newVersion = false;
|
||||
|
||||
if( Integer.valueOf(VersionApplicationSplit[0]) < Integer.valueOf(VersionForgeSplit[0]) ) {
|
||||
newVersion=true;
|
||||
}else if ((Integer.valueOf(VersionApplicationSplit[0])==Integer.valueOf(VersionForgeSplit[0]))
|
||||
&& (Integer.valueOf(VersionApplicationSplit[1]) < Integer.valueOf(VersionForgeSplit[1]))) {
|
||||
newVersion=true;
|
||||
}else if ((Integer.valueOf(VersionApplicationSplit[0])==Integer.valueOf(VersionForgeSplit[0]))
|
||||
&& (Integer.valueOf(VersionApplicationSplit[1]) == Integer.valueOf(VersionForgeSplit[1]))
|
||||
&& (Integer.valueOf(VersionApplicationSplit[2])<Integer.valueOf(VersionForgeSplit[2])) ){
|
||||
newVersion=true;
|
||||
}
|
||||
|
||||
if(newVersion) {
|
||||
return Integer.valueOf(VersionForgeSplit[0])*1000000 + Integer.valueOf(VersionForgeSplit[1])*1000 + Integer.valueOf(VersionForgeSplit[2]);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Message erreur pas de connexion internet
|
||||
* @return
|
||||
*/
|
||||
private static int showCustomMessagePasInternet() {
|
||||
String message = "<html><h2>Pas de connexion internet.</h2><br>"
|
||||
+ "<p>Impossible de vérifier si une nouvelle version est disponible.<br>"
|
||||
+ "Impossible d'afficher le message d'information, s'il est disponible</p>.</html>";
|
||||
String title = "Pas de connexion internet";
|
||||
int optionType = JOptionPane.PLAIN_MESSAGE ;
|
||||
Icon icon = new ImageIcon(Window_demarre.class.getResource("/resources/erreur404.png"));
|
||||
|
||||
// Define the custom font
|
||||
Font customFont = new Font("Arial", Font.BOLD, 14);
|
||||
|
||||
// Set the custom font for the message
|
||||
UIManager.put("OptionPane.messageFont", customFont);
|
||||
|
||||
return JOptionPane.showOptionDialog(null, message, title, optionType, JOptionPane.QUESTION_MESSAGE, icon, null, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Mise à jour de la version 1.0.2 vers 1.0.3
|
||||
* @param nBase
|
||||
* @return
|
||||
*/
|
||||
public static noeud version102(noeud nBase) {
|
||||
String baseToString = nBase.toWrite();
|
||||
|
||||
String regex = "\\bGroupe_Langue\\b";
|
||||
String resultat = baseToString.replaceAll(regex, "Groupe_LV1");
|
||||
|
||||
regex = "\\bColonne_Groupe_Langue\\b";
|
||||
resultat = resultat.replaceAll(regex, "Colonne_Groupe_LV1");
|
||||
|
||||
nBase= lectureXML.lectureStringToNoeud(resultat);
|
||||
|
||||
for(noeud nFormation : nBase.getFirstChild().getChildren()) {
|
||||
nFormation.setAttribut("Colonne_Groupe_LV2", "false");
|
||||
if(nFormation.getAttributes("Colonne_Groupe_LV1")==null) nFormation.addAttribute("Colonne_Groupe_LV1", "true");
|
||||
if(nFormation.getAttributes("Colonne_Groupe_Documentation")==null) nFormation.addAttribute("Colonne_Groupe_Documentation", "true");
|
||||
if(nFormation.getAttributes("Colonne_Groupe_Informatique")==null) nFormation.addAttribute("Colonne_Groupe_Informatique", "true");
|
||||
if(nFormation.getAttributes("Colonne_Groupe_Principal")==null) nFormation.addAttribute("Colonne_Groupe_Principal", "true");
|
||||
if(nFormation.getAttributes("Colonne_Groupe_Projet")==null) nFormation.addAttribute("Colonne_Groupe_Projet", "true");
|
||||
if(nFormation.getAttributes("Colonne_Groupe_TD")==null) nFormation.addAttribute("Colonne_Groupe_TD", "true");
|
||||
if(nFormation.getAttributes("Colonne_LV1")==null) nFormation.addAttribute("Colonne_LV1", "true");
|
||||
if(nFormation.getAttributes("Colonne_LV2")==null) nFormation.addAttribute("Colonne_LV2", "true");
|
||||
if(nFormation.getAttributes("Colonne_Regime")==null) nFormation.addAttribute("Colonne_Regime", "true");
|
||||
if(nFormation.getAttributes("Colonne_Stage1")==null) nFormation.addAttribute("Colonne_Stage1", "true");
|
||||
if(nFormation.getAttributes("Colonne_Stage2")==null) nFormation.addAttribute("Colonne_Stage2", "true");
|
||||
if(nFormation.getAttributes("ToutesLesColonnes")==null) nFormation.addAttribute("ToutesLesColonnes", "true");
|
||||
|
||||
for(noeud nStudent : nFormation.getChildren()) {
|
||||
nStudent.addAttribute("Groupe_LV2", "");
|
||||
}
|
||||
}
|
||||
|
||||
return nBase;
|
||||
}
|
||||
|
||||
/**
|
||||
* Mise à jour de la version 1.0.4 vers 1.0.5
|
||||
* @param nBase
|
||||
* @return
|
||||
*/
|
||||
public static noeud version104(noeud nBase) {
|
||||
NomDeColonneInscriptionTable.chargementParDefaut();
|
||||
|
||||
nBase.setAttribut("Formation",commandes.nomColonneFormation);
|
||||
nBase.setAttribut(commandes.nomColonneCodeEtudiant,commandes.nomColonneCodeEtudiant);
|
||||
nBase.setAttribut(commandes.nomColonneNomEtudiant,commandes.nomColonneNomEtudiant);
|
||||
nBase.setAttribut(commandes.nomColonnePrenomEtudiant,commandes.nomColonnePrenomEtudiant);
|
||||
nBase.setAttribut(commandes.nomColonneProfilEtudiant,commandes.nomColonneProfilEtudiant);
|
||||
nBase.setAttribut(commandes.nomColonneBacEtudiant,commandes.nomColonneBacEtudiant);
|
||||
nBase.setAttribut(commandes.nomColonnePortableEtudiant,commandes.nomColonnePortableEtudiant);
|
||||
nBase.setAttribut(commandes.nomColonneMailPersoEtudiant,commandes.nomColonneMailPersoEtudiant);
|
||||
nBase.setAttribut(commandes.nomColonneMailUnivEtudiant,commandes.nomColonneMailUnivEtudiant);
|
||||
|
||||
nBase.setAttribut("Excel_Formation",commandes.nomColonneExcel_Formation);
|
||||
nBase.setAttribut("Excel_"+commandes.nomColonneCodeEtudiant,commandes.nomColonneExcel_CodeEtudiant);
|
||||
nBase.setAttribut("Excel_"+commandes.nomColonneNomEtudiant,commandes.nomColonneExcel_NomEtudiant);
|
||||
nBase.setAttribut("Excel_"+commandes.nomColonnePrenomEtudiant,commandes.nomColonneExcel_PrenomEtudiant);
|
||||
nBase.setAttribut("Excel_"+commandes.nomColonneProfilEtudiant,commandes.nomColonneExcel_ProfilEtudiant);
|
||||
nBase.setAttribut("Excel_"+commandes.nomColonneBacEtudiant,commandes.nomColonneExcel_BacEtudiant);
|
||||
nBase.setAttribut("Excel_"+commandes.nomColonnePortableEtudiant,commandes.nomColonneExcel_PortableEtudiant);
|
||||
nBase.setAttribut("Excel_"+commandes.nomColonneMailPersoEtudiant,commandes.nomColonneExcel_MailPersoEtudiant);
|
||||
nBase.setAttribut("Excel_"+commandes.nomColonneMailUnivEtudiant,commandes.nomColonneExcel_MailUnivEtudiant);
|
||||
|
||||
nBase.setAttribut("Excel_Feuille_Inscription",commandes.nomFeuilleExcel_Inscription);
|
||||
|
||||
nBase.setAttribut("nomColonne_Option_1", "Option_1");
|
||||
nBase.setAttribut("Enabled_Colonne_Option_1", "false");
|
||||
|
||||
nBase.setAttribut("nomColonne_Option_2", "Atelier-rentree_horaire");
|
||||
nBase.setAttribut("Enabled_Colonne_Option_2", "true");
|
||||
|
||||
nBase.setAttribut("nomColonne_Option_3", "Atelier_pre-rentree_enseignant");
|
||||
nBase.setAttribut("Enabled_Colonne_Option_3", "true");
|
||||
|
||||
nBase.setAttribut("nomColonne_Option_4", "Atelier_pre-rentree_salle");
|
||||
nBase.setAttribut("Enabled_Colonne_Option_4", "true");
|
||||
|
||||
nBase.setAttribut("nomColonne_Option_5", "Information");
|
||||
nBase.setAttribut("Enabled_Colonne_Option_5", "false");
|
||||
|
||||
// Ajoute le groupe_TP dans la base base.
|
||||
// Trie les noeuds enfants des formation par ordre alphabétique des noms des enfants.
|
||||
// Ajoute Options et Enabled_Option dans le noeud base
|
||||
for(noeud nFormation : nBase.getFirstChild().getChildren()) {
|
||||
nFormation.setAttribut("Colonne_Groupe_TP", "true");
|
||||
for(noeud nStudent : nFormation.getChildren()) {
|
||||
nStudent.addAttribute("Groupe_TP", "");
|
||||
nStudent.changeAttributName("Option", "Option_1");
|
||||
if(nStudent.getAttributes("Option")==null) {
|
||||
nStudent.setAttribut("Option_1", "");
|
||||
}
|
||||
if(nStudent.getAttributes("Atelier-rentree_horaire")==null) {
|
||||
nStudent.setAttribut("Atelier-rentree_horaire", "");
|
||||
}
|
||||
if(nStudent.getAttributes("Atelier_pre-rentree_enseignant")==null) {
|
||||
nStudent.setAttribut("Atelier_pre-rentree_enseignant", "");
|
||||
}
|
||||
if(nStudent.getAttributes("Atelier_pre-rentree_salle")==null) {
|
||||
nStudent.setAttribut("Atelier_pre-rentree_salle", "");
|
||||
}
|
||||
if(nStudent.getAttributes("Information")==null) {
|
||||
nStudent.setAttribut("Information", "");
|
||||
}
|
||||
}
|
||||
nFormation.triAlphabetiqueDesEnfants(commandes.nomColonneNomEtudiant);
|
||||
}
|
||||
return nBase;
|
||||
}
|
||||
|
||||
/**
|
||||
* Mise à jour de la version 1.0.5 vers 1.0.6
|
||||
* @param nBase
|
||||
* @return
|
||||
*/
|
||||
public static noeud version105(noeud nBase) {
|
||||
nBase.setAttribut("bapp", "false");
|
||||
for(noeud nFormation : nBase.getFirstChild().getChildren()) {
|
||||
nFormation.setAttribut("Verouillage_Groupe_Principal", "false");
|
||||
nFormation.setAttribut("Verouillage_Groupe_TD", "false");
|
||||
nFormation.setAttribut("Verouillage_Groupe_TP", "false");
|
||||
nFormation.setAttribut("Verouillage_Groupe_LV1", "false");
|
||||
nFormation.setAttribut("Verouillage_Groupe_LV2", "false");
|
||||
nFormation.setAttribut("Verouillage_Groupe_Informatique", "false");
|
||||
nFormation.setAttribut("Verouillage_Groupe_Documentation", "false");
|
||||
nFormation.setAttribut("Verouillage_Groupe_Projet", "false");
|
||||
nFormation.setAttribut("Verouillage_Tous_Les_Groupes", "true");
|
||||
|
||||
nFormation.setAttribut("pattern_Groupe_Principal", "groupe @");
|
||||
nFormation.setAttribut("nombre_Student_Groupe_Principal", "30");
|
||||
nFormation.setAttribut("aleatoire_Groupe_Principal", "false");
|
||||
|
||||
nFormation.setAttribut("pattern_Groupe_TD", "groupe TD n°#");
|
||||
nFormation.setAttribut("nombre_Student_Groupe_Principal", "30");
|
||||
nFormation.setAttribut("aleatoire_Groupe_TD", "false");
|
||||
|
||||
nFormation.setAttribut("pattern_Groupe_LV1", "groupe LV1 n°#");
|
||||
nFormation.setAttribut("nombre_Student_Groupe_LV1", "30");
|
||||
nFormation.setAttribut("aleatoire_Groupe_LV1", "false");
|
||||
|
||||
nFormation.setAttribut("pattern_Groupe_LV2", "groupe LV2 n°#");
|
||||
nFormation.setAttribut("nombre_Student_Groupe_LV2", "30");
|
||||
nFormation.setAttribut("aleatoire_Groupe_LV2", "false");
|
||||
|
||||
nFormation.setAttribut("pattern_Groupe_Informatique", "grp #");
|
||||
nFormation.setAttribut("nombre_Student_Groupe_Informatique", "24");
|
||||
nFormation.setAttribut("aleatoire_Groupe_Informatique", "false");
|
||||
|
||||
nFormation.setAttribut("pattern_Groupe_Doc", "grp #");
|
||||
nFormation.setAttribut("nombre_Student_Groupe_Doc", "24");
|
||||
nFormation.setAttribut("aleatoire_Groupe_Doc", "false");
|
||||
|
||||
nFormation.setAttribut("pattern_Groupe_Projet", "groupe @");
|
||||
nFormation.setAttribut("nombre_Student_Groupe_Projet", "8");
|
||||
nFormation.setAttribut("aleatoire_Groupe_Projet", "false");
|
||||
|
||||
nFormation.setAttribut("pattern_Groupe_TP", "groupe TP n°#");
|
||||
nFormation.setAttribut("nombre_Student_Groupe_TP", "24");
|
||||
nFormation.setAttribut("aleatoire_Groupe_TP", "false");
|
||||
|
||||
|
||||
}
|
||||
return nBase;
|
||||
}
|
||||
}
|
||||
|
359
src/importations/importAllBaseToExcel.java
Normal file
@ -0,0 +1,359 @@
|
||||
package importations;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
import javax.swing.JOptionPane;
|
||||
|
||||
import org.apache.poi.ss.usermodel.Cell;
|
||||
import org.apache.poi.ss.usermodel.CellType;
|
||||
import org.apache.poi.ss.usermodel.Row;
|
||||
import org.apache.poi.ss.usermodel.Sheet;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
|
||||
import base.sauvegardeXMLBase;
|
||||
import outils.commandes;
|
||||
import outils.noeud;
|
||||
import outils.supprimeCaracatresSpeciaux;
|
||||
|
||||
/**
|
||||
* Mise à jour de la base depuis un classeur Ms Excel.
|
||||
* @author pabr6
|
||||
*
|
||||
*/
|
||||
public class importAllBaseToExcel {
|
||||
|
||||
public static void lecture(File file) {
|
||||
|
||||
|
||||
noeud nYear = null;
|
||||
if(commandes.nBase.getAttributes("defaut_Year")!=null) {
|
||||
String defautYear = commandes.nBase.getAttributes("defaut_Year");
|
||||
if(commandes.nBase.getChild(defautYear)!=null) {
|
||||
nYear = commandes.nBase.getChild(defautYear);
|
||||
}else {
|
||||
JOptionPane.showMessageDialog(null, "Il n'y a pas d'année universitaire par défaut.", "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
return;
|
||||
}
|
||||
}else {
|
||||
JOptionPane.showMessageDialog(null, "Il n'y a pas d'année universitaire par défaut.", "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if(nYear.getNumberChildren()<=0) {
|
||||
JOptionPane.showMessageDialog(null, "<html><h2>La base de données est vide.</h2>"
|
||||
+ "<p>Elle ne contient pas de formation.</p></html>", "Erreur", JOptionPane.ERROR_MESSAGE);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
int compteur = 0 ;
|
||||
boolean erreur = false;
|
||||
StringBuilder messageErreur = new StringBuilder();
|
||||
|
||||
|
||||
|
||||
try (FileInputStream fileInputStream = new FileInputStream(file.getAbsolutePath());
|
||||
Workbook workbook = new XSSFWorkbook(fileInputStream)) {
|
||||
|
||||
int numSheets = workbook.getNumberOfSheets();
|
||||
|
||||
for (int sheetIndex = 0; sheetIndex < numSheets; sheetIndex++) {
|
||||
Sheet sheet = workbook.getSheetAt(sheetIndex);
|
||||
|
||||
//Verification de la présence de la colonne Formation et Individu_-_Code_Etudiant
|
||||
boolean trouveColonneFormation = false;
|
||||
boolean trouveColonneCode = false;
|
||||
int indexColonneFormation = 0;
|
||||
int indexColonneCode = 1;
|
||||
int indexColonneNomEtudiant = -2;
|
||||
int indexColonnePrenomEtudiant = -2;
|
||||
int indexColonneGroupe_Principal = -2;
|
||||
int indexColonneGroupe_TD = -2;
|
||||
int indexColonneGroupe_TP = -2;
|
||||
int indexColonneGroupe_Informatique = -2;
|
||||
int indexColonneGroupe_Documentation = -2;
|
||||
int indexColonneGroupe_Projet = -2;
|
||||
int indexColonneGroupe_LV1 = -2;
|
||||
int indexColonneGroupe_LV2 = -2;
|
||||
|
||||
boolean verouillage_Groupe_Principal = false;
|
||||
boolean verouillage_Groupe_TD = false;
|
||||
boolean verouillage_Groupe_TP = false;
|
||||
boolean verouillage_Groupe_Informatique = false;
|
||||
boolean verouillage_Groupe_Documentation = false;
|
||||
boolean verouillage_Groupe_Projet = false;
|
||||
boolean verouillage_Groupe_LV1 = false;
|
||||
boolean verouillage_Groupe_LV2 = false;
|
||||
|
||||
boolean verouillage_tous_Les_Groupe = false;
|
||||
|
||||
// Première ligne de la table
|
||||
for (Cell cell : sheet.getRow(0)) {
|
||||
if(cell.getCellType()==CellType.STRING) {
|
||||
if(cell.getStringCellValue().equals("Formation")) {
|
||||
trouveColonneFormation = true;
|
||||
indexColonneFormation = cell.getColumnIndex();
|
||||
}
|
||||
if(cell.getStringCellValue().equals(commandes.nomColonneCodeEtudiant)) {
|
||||
trouveColonneCode = true;
|
||||
indexColonneCode = cell.getColumnIndex();
|
||||
}
|
||||
if(cell.getStringCellValue().equals(commandes.nomColonneNomEtudiant)) {
|
||||
indexColonneNomEtudiant = cell.getColumnIndex();
|
||||
}
|
||||
if(cell.getStringCellValue().equals(commandes.nomColonnePrenomEtudiant)) {
|
||||
indexColonnePrenomEtudiant = cell.getColumnIndex();
|
||||
}
|
||||
if(cell.getStringCellValue().equals("Groupe_Principal")) {
|
||||
indexColonneGroupe_Principal = cell.getColumnIndex();
|
||||
}
|
||||
if(cell.getStringCellValue().equals("Groupe_TD")) {
|
||||
indexColonneGroupe_TD = cell.getColumnIndex();
|
||||
}
|
||||
if(cell.getStringCellValue().equals("Groupe_TP")) {
|
||||
indexColonneGroupe_TP = cell.getColumnIndex();
|
||||
}
|
||||
if(cell.getStringCellValue().equals("Groupe_Informatique")) {
|
||||
indexColonneGroupe_Informatique = cell.getColumnIndex();
|
||||
}
|
||||
if(cell.getStringCellValue().equals("Groupe_Doc")) {
|
||||
indexColonneGroupe_Documentation = cell.getColumnIndex();
|
||||
}
|
||||
if(cell.getStringCellValue().equals("Groupe_Projet")) {
|
||||
indexColonneGroupe_Projet = cell.getColumnIndex();
|
||||
}
|
||||
if(cell.getStringCellValue().equals("Groupe_LV1")) {
|
||||
indexColonneGroupe_LV1 = cell.getColumnIndex();
|
||||
}
|
||||
if(cell.getStringCellValue().equals("Groupe_LV2")) {
|
||||
indexColonneGroupe_LV2 = cell.getColumnIndex();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!trouveColonneFormation || !trouveColonneCode) {
|
||||
JOptionPane.showMessageDialog(null, "<html>Il semble que ce classeur ne permettent pas"
|
||||
+ "<br>la mise à jour de la base.</html>","Erreur",JOptionPane.ERROR_MESSAGE);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Row row : sheet) {
|
||||
|
||||
int indexCol = 0;
|
||||
noeud nBF = null;
|
||||
noeud nStudent = null;
|
||||
|
||||
if(row.getCell(indexColonneFormation)!=null) {
|
||||
if(row.getCell(indexColonneFormation).getCellType() == CellType.STRING) {
|
||||
nBF = nYear.getChild(supprimeCaracatresSpeciaux.TousLesCaracteresSpeciaux(row.getCell(indexColonneFormation).getStringCellValue()));
|
||||
if(nBF!=null) verouillage_Groupe_Principal = Boolean.valueOf(nBF.getAttributes("Verouillage_Groupe_Principal"));
|
||||
if(nBF!=null) verouillage_Groupe_TD = Boolean.valueOf(nBF.getAttributes("Verouillage_Groupe_TD"));
|
||||
if(nBF!=null) verouillage_Groupe_TP = Boolean.valueOf(nBF.getAttributes("Verouillage_Groupe_TP"));
|
||||
if(nBF!=null) verouillage_Groupe_Informatique = Boolean.valueOf(nBF.getAttributes("Verouillage_Groupe_Informatique"));
|
||||
if(nBF!=null) verouillage_Groupe_Documentation = Boolean.valueOf(nBF.getAttributes("Verouillage_Groupe_Documentation"));
|
||||
if(nBF!=null) verouillage_Groupe_Projet = Boolean.valueOf(nBF.getAttributes("Verouillage_Groupe_Projet"));
|
||||
if(nBF!=null) verouillage_Groupe_LV1 = Boolean.valueOf(nBF.getAttributes("Verouillage_Groupe_LV1"));
|
||||
if(nBF!=null) verouillage_Groupe_LV2 = Boolean.valueOf(nBF.getAttributes("Verouillage_Groupe_LV2"));
|
||||
if(nBF!=null) verouillage_tous_Les_Groupe = Boolean.valueOf(nBF.getAttributes("Verouillage_Tous_Les_Groupes"));
|
||||
|
||||
}
|
||||
}else {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
if(nBF!=null) {
|
||||
if (row.getCell(indexColonneCode).getCellType() == CellType.NUMERIC) {
|
||||
String idStudent = String.valueOf( (int) row.getCell(indexColonneCode).getNumericCellValue());
|
||||
nStudent = nBF.getChild("n"+idStudent);
|
||||
} else if(row.getCell(indexColonneCode).getCellType() == CellType.STRING) {
|
||||
String idStudent = row.getCell(indexColonneCode).getStringCellValue();
|
||||
nStudent = nBF.getChild("n"+idStudent);
|
||||
}
|
||||
}
|
||||
|
||||
if(nStudent!=null) {
|
||||
for (Cell cell : row) {
|
||||
|
||||
indexCol = cell.getColumnIndex();
|
||||
|
||||
if(nStudent!=null) {
|
||||
CellType cellType = cell.getCellType();
|
||||
|
||||
if (cellType == CellType.STRING) {
|
||||
String cellValue = cell.getStringCellValue().trim();
|
||||
if(sheet.getRow(0).getCell(indexCol)!=null) {
|
||||
boolean isString = sheet.getRow(0).getCell(indexCol).getCellType() == CellType.STRING;
|
||||
if(isString) {
|
||||
boolean autorisationEcriture =true;
|
||||
|
||||
// Détection de la colonne dans laquel ecrire.
|
||||
if(indexColonneNomEtudiant==cell.getColumnIndex() || indexColonnePrenomEtudiant==cell.getColumnIndex()) autorisationEcriture=false;
|
||||
|
||||
if(indexColonneGroupe_Principal==cell.getColumnIndex() && (verouillage_Groupe_Principal || verouillage_tous_Les_Groupe)) autorisationEcriture=false;
|
||||
if(indexColonneGroupe_TD==cell.getColumnIndex() && (verouillage_Groupe_TD || verouillage_tous_Les_Groupe)) autorisationEcriture=false;
|
||||
if(indexColonneGroupe_TP==cell.getColumnIndex() && (verouillage_Groupe_TP || verouillage_tous_Les_Groupe)) autorisationEcriture=false;
|
||||
if(indexColonneGroupe_Informatique==cell.getColumnIndex() && (verouillage_Groupe_Informatique || verouillage_tous_Les_Groupe)) autorisationEcriture=false;
|
||||
if(indexColonneGroupe_Documentation==cell.getColumnIndex() && (verouillage_Groupe_Documentation || verouillage_tous_Les_Groupe)) autorisationEcriture=false;
|
||||
if(indexColonneGroupe_Projet==cell.getColumnIndex() && (verouillage_Groupe_Projet || verouillage_tous_Les_Groupe)) autorisationEcriture=false;
|
||||
if(indexColonneGroupe_LV1==cell.getColumnIndex() && (verouillage_Groupe_LV1 || verouillage_tous_Les_Groupe)) autorisationEcriture=false;
|
||||
if(indexColonneGroupe_LV2==cell.getColumnIndex() && (verouillage_Groupe_LV2 || verouillage_tous_Les_Groupe)) autorisationEcriture=false;
|
||||
|
||||
String value = nStudent.getAttributes(sheet.getRow(0).getCell(indexCol).getStringCellValue());
|
||||
if(value!=null && !cellValue.isEmpty()) {
|
||||
cellValue = supprimeCaracatresSpeciaux.LesCaracteresCodeXML(cellValue);
|
||||
boolean isOnlySpaces = value.matches("\\s+");
|
||||
|
||||
// si pas constitué d'espaces.
|
||||
if(!isOnlySpaces) {
|
||||
// si modification du contenu ou si la chaine de caractère dans la base est vide.
|
||||
if(!cellValue.equals(value) || value.isEmpty()) {
|
||||
//Si autorisation d'écriture ou si la chaine de caractère dans la base est vide.
|
||||
if(autorisationEcriture || value.isEmpty()) {
|
||||
if(!cellValue.equals("supprime")) {
|
||||
nStudent.setAttribut(sheet.getRow(0).getCell(indexCol).getStringCellValue(), cellValue);
|
||||
}else {
|
||||
nStudent.setAttribut(sheet.getRow(0).getCell(indexCol).getStringCellValue(), "");
|
||||
}
|
||||
compteur++;
|
||||
}else {
|
||||
// Traitement des erreurs
|
||||
erreur = true;
|
||||
|
||||
if(indexColonneNomEtudiant==cell.getColumnIndex()|| indexColonnePrenomEtudiant==cell.getColumnIndex()) {
|
||||
if(!messageErreur.toString().contains("Modification du nom ou du prénom de l'étudiant n'est pas autorisé")) {
|
||||
messageErreur.append("La modification du nom ou du prénom d'un étudiant n'est pas autorisé.<br>");
|
||||
}
|
||||
}
|
||||
|
||||
if(indexColonneGroupe_Principal==cell.getColumnIndex()) {
|
||||
if(!messageErreur.toString().contains("Dans la formation : " + nBF.getName() + ". Les groupes principaux sont vérouillés.")) {
|
||||
messageErreur.append("Dans la formation : " + nBF.getName() +". Les groupes principaux sont vérouillés.<br>");
|
||||
}
|
||||
}
|
||||
|
||||
if(indexColonneGroupe_TD==cell.getColumnIndex()) {
|
||||
if(!messageErreur.toString().contains("Dans la formation : " + nBF.getName() + ". Les groupes TD sont vérouillés.")) {
|
||||
messageErreur.append("Dans la formation : " + nBF.getName() +". Les groupes TD sont vérouillés.<br>");
|
||||
}
|
||||
}
|
||||
|
||||
if(indexColonneGroupe_TP==cell.getColumnIndex()) {
|
||||
if(!messageErreur.toString().contains("Dans la formation : " + nBF.getName() + ". Les groupes TP sont vérouillés.")) {
|
||||
messageErreur.append("Dans la formation : " + nBF.getName() +". Les groupes TP sont vérouillés.<br>");
|
||||
}
|
||||
}
|
||||
|
||||
if(indexColonneGroupe_Informatique==cell.getColumnIndex()) {
|
||||
if(!messageErreur.toString().contains("Dans la formation : " + nBF.getName() + ". Les groupes informatiques sont vérouillés.")) {
|
||||
messageErreur.append("Dans la formation : " + nBF.getName() +". Les groupes informatiques sont vérouillés.<br>");
|
||||
}
|
||||
}
|
||||
|
||||
if(indexColonneGroupe_Documentation==cell.getColumnIndex()) {
|
||||
if(!messageErreur.toString().contains("Dans la formation : " + nBF.getName() + ". Les groupes documentations sont vérouillés.")) {
|
||||
messageErreur.append("Dans la formation : " + nBF.getName() +". Les groupes documentations sont vérouillés.<br>");
|
||||
}
|
||||
}
|
||||
|
||||
if(indexColonneGroupe_Projet==cell.getColumnIndex()) {
|
||||
if(!messageErreur.toString().contains("Dans la formation : " + nBF.getName() + ". Les groupes projets sont vérouillés.")) {
|
||||
messageErreur.append("Dans la formation : " + nBF.getName() +". Les groupes projets sont vérouillés.<br>");
|
||||
}
|
||||
}
|
||||
|
||||
if(indexColonneGroupe_LV1==cell.getColumnIndex()) {
|
||||
if(!messageErreur.toString().contains("Dans la formation : " + nBF.getName() + ". Les groupes LV1 sont vérouillés.")) {
|
||||
messageErreur.append("Dans la formation : " + nBF.getName() +". Les groupes LV1 sont vérouillés.<br>");
|
||||
}
|
||||
}
|
||||
|
||||
if(indexColonneGroupe_LV2==cell.getColumnIndex()) {
|
||||
if(!messageErreur.toString().contains("Dans la formation : " + nBF.getName() + ". Les groupes LV2 sont vérouillés.")) {
|
||||
messageErreur.append("Dans la formation : " + nBF.getName() +". Les groupes LV2 sont vérouillés.<br>");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (cellType == CellType.NUMERIC) {
|
||||
String cellValue = String.valueOf( (int) cell.getNumericCellValue());
|
||||
if(sheet.getRow(0).getCell(indexCol)!=null) {
|
||||
boolean isString = sheet.getRow(0).getCell(indexCol).getCellType() == CellType.STRING;
|
||||
if(isString) {
|
||||
String value = nStudent.getAttributes(sheet.getRow(0).getCell(indexCol).getStringCellValue());
|
||||
if(value!=null && !cellValue.isEmpty()) {
|
||||
boolean isOnlySpaces = value.matches("\\s+");
|
||||
if(!isOnlySpaces)if(!cellValue.equals(value)) {
|
||||
nStudent.setAttribut(sheet.getRow(0).getCell(indexCol).getStringCellValue(), cellValue);
|
||||
compteur++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
System.out.print(cellValue + " ");
|
||||
} else if (cellType == CellType.BOOLEAN) {
|
||||
String cellValue = String.valueOf(cell.getBooleanCellValue());
|
||||
if(sheet.getRow(0).getCell(indexCol)!=null) {
|
||||
boolean isString = sheet.getRow(0).getCell(indexCol).getCellType() == CellType.STRING;
|
||||
if(isString) {
|
||||
String value = nStudent.getAttributes(sheet.getRow(0).getCell(indexCol).getStringCellValue());
|
||||
if(value!=null && !cellValue.isEmpty()) {
|
||||
boolean isOnlySpaces = value.matches("\\s+");
|
||||
if(!isOnlySpaces)if(!cellValue.equals(value)) {
|
||||
nStudent.setAttribut(sheet.getRow(0).getCell(indexCol).getStringCellValue(), cellValue);
|
||||
compteur++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// Autres types de cellules (formules, vides, etc.)
|
||||
String cellValue = (String) cell.getStringCellValue().trim();
|
||||
if(sheet.getRow(0).getCell(indexCol)!=null) {
|
||||
boolean isString = sheet.getRow(0).getCell(indexCol).getCellType() == CellType.STRING;
|
||||
if(isString) {
|
||||
String value = nStudent.getAttributes(sheet.getRow(0).getCell(indexCol).getStringCellValue());
|
||||
if(value!=null && !cellValue.isEmpty()) {
|
||||
cellValue = supprimeCaracatresSpeciaux.LesCaracteresCodeXML(cellValue);
|
||||
boolean isOnlySpaces = value.matches("\\s+");
|
||||
if(!isOnlySpaces)if(!cellValue.equals(value)) {
|
||||
nStudent.setAttribut(sheet.getRow(0).getCell(indexCol).getStringCellValue(), cellValue);
|
||||
compteur++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
System.out.println(); // Nouvelle ligne après chaque ligne du tableau
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
System.out.println(); // Nouvelle ligne entre les feuilles
|
||||
}
|
||||
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
JOptionPane.showMessageDialog(null, e.toString(), "Erreur dans la classe \"importAllBaseToExcel\"", JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
sauvegardeXMLBase.saveModif(commandes.nBase, compteur);
|
||||
if(erreur) {
|
||||
String message = messageErreur.toString();
|
||||
message = "<html><b>Une ou des erreurs ont été détectées.</b><br>" + message + "</html>";
|
||||
JOptionPane.showMessageDialog(null, message,"Erreur",JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package baseUFRHG;
|
||||
package outils;
|
||||
|
||||
|
||||
import java.io.File;
|
@ -1,4 +1,4 @@
|
||||
package baseUFRHG;
|
||||
package outils;
|
||||
|
||||
|
||||
import java.io.File;
|
@ -1,4 +1,4 @@
|
||||
package baseUFRHG;
|
||||
package outils;
|
||||
|
||||
|
||||
import java.io.File;
|
@ -1,10 +1,14 @@
|
||||
package baseUFRHG;
|
||||
package outils;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import javax.swing.JFileChooser;
|
||||
import javax.swing.JFrame;
|
||||
|
||||
import exportations.CreateCalcWorkbook;
|
||||
import exportations.createEmargement;
|
||||
import exportations.exportBaseToExcel;
|
||||
|
||||
public class FileSaveXLSX {
|
||||
Object[][] data = null;
|
||||
String Formation = "";
|
||||
@ -42,7 +46,7 @@ public class FileSaveXLSX {
|
||||
if (type.equals(exportBaseToExcel.exportType.TABLE))
|
||||
new CreateCalcWorkbook(data, selectedFile.getAbsolutePath());
|
||||
if (type.equals(exportBaseToExcel.exportType.EMARGEMENT))
|
||||
new createEmargement(data, selectedFile.getAbsolutePath());
|
||||
new createEmargement(data, selectedFile.getAbsolutePath(),fileChooser.getName(selectedFile));
|
||||
if (type.equals(exportBaseToExcel.exportType.BASE))
|
||||
new CreateCalcWorkbook(data, selectedFile.getAbsolutePath());
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package baseUFRHG;
|
||||
package outils;
|
||||
|
||||
|
||||
public class TextComparator {
|
@ -1,4 +1,4 @@
|
||||
package baseUFRHG;
|
||||
package outils;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Node;
|
@ -1,4 +1,4 @@
|
||||
package baseUFRHG;
|
||||
package outils;
|
||||
|
||||
import java.io.File;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package baseUFRHG;
|
||||
package outils;
|
||||
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
@ -1,4 +1,4 @@
|
||||
package baseUFRHG;
|
||||
package outils;
|
||||
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
83
src/outils/commandes.java
Normal file
@ -0,0 +1,83 @@
|
||||
package outils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Variables pour l'ensemble de l'application.
|
||||
* @author pabr6
|
||||
*
|
||||
*/
|
||||
public class commandes {
|
||||
|
||||
public static noeud nBase = null; // La base de données sous forme de noeud.
|
||||
public static String version = "1.0.6"; // La version actuelle
|
||||
public static String dateversion = "2 aout 2023"; // La version actuelle
|
||||
|
||||
// Les colonnes obligatoires dû à l'inscription des étudaints.
|
||||
// nom des colonnes après traitement des caractères (Accès à la base XML)
|
||||
public static String nomColonneFormation = null;
|
||||
public static String nomColonneNomEtudiant = null;
|
||||
public static String nomColonnePrenomEtudiant = null;
|
||||
public static String nomColonneCodeEtudiant = null;
|
||||
public static String nomColonneProfilEtudiant = null;
|
||||
public static String nomColonneBacEtudiant = null;
|
||||
public static String nomColonnePortableEtudiant = null;
|
||||
public static String nomColonneMailPersoEtudiant = null;
|
||||
public static String nomColonneMailUnivEtudiant = null;
|
||||
|
||||
// Nom des colonnes avant traitement des caractères
|
||||
//(Pour accéder au classeur des inscriptions)
|
||||
public static String nomColonneExcel_Formation = null;
|
||||
public static String nomColonneExcel_NomEtudiant = null;
|
||||
public static String nomColonneExcel_PrenomEtudiant = null;
|
||||
public static String nomColonneExcel_CodeEtudiant = null;
|
||||
public static String nomColonneExcel_ProfilEtudiant = null;
|
||||
public static String nomColonneExcel_BacEtudiant = null;
|
||||
public static String nomColonneExcel_PortableEtudiant = null;
|
||||
public static String nomColonneExcel_MailPersoEtudiant = null;
|
||||
public static String nomColonneExcel_MailUnivEtudiant = null;
|
||||
public static String nomFeuilleExcel_Inscription = null;
|
||||
|
||||
// liste des noms des colonnes pour éviter les collisions.
|
||||
public static List<String> listNomDesColonnes = new ArrayList<String>();
|
||||
|
||||
// Version vérification
|
||||
public static Boolean newVersion = false; //Permet de vérifier l'existance d'un nouvelle version.
|
||||
public static String nameNewVersion = "V0.0.0"; //Le nom de la nouvelle version qui s'affiche dans le bouton de la version disponible.
|
||||
|
||||
// Messages et sécurité
|
||||
public static Boolean helpme1 = false; //M'aider à compléter mon service annuel.
|
||||
public static Boolean blocageApplication = false; //Blocage total de l'application. L'attribut bapp = true est enregistré dans la base.
|
||||
public static Boolean pasDeConnexion = false; //Pas de connexion internet.
|
||||
public static Boolean noMessageAlerte = false; //Pas de message d'alerte
|
||||
public static String messageAlerte = ""; //Message alerte
|
||||
public static String messageVersion = ""; //Message version
|
||||
|
||||
//noms des colonnes de l'application qui sont modifiables, hors colonne du fichier Ms Excel inscription.
|
||||
public static String nomColonne_Option_1 = "Option_1";
|
||||
public static boolean enabled_Colonne_Option_1 = true;
|
||||
|
||||
public static String nomColonne_Option_2 = "Atelier-rentree_horaire";
|
||||
public static boolean enabled_Colonne_Option_2 = true;
|
||||
|
||||
public static String nomColonne_Option_3 = "Atelier_pre-rentree_enseignant";
|
||||
public static boolean enabled_Colonne_Option_3 = true;
|
||||
|
||||
public static String nomColonne_Option_4 = "Atelier_pre-rentree_salle";
|
||||
public static boolean enabled_Colonne_Option_4 = true;
|
||||
|
||||
public static String nomColonne_Option_5 = "Information";
|
||||
public static boolean enabled_Colonne_Option_5 = true;
|
||||
|
||||
// Nombre d'image d'acceuil
|
||||
public static int nombreImage = 41;
|
||||
|
||||
// Nombre maximal de fichier dans l'archive
|
||||
public static int nombreMaxSauvegardeArchive = 300;
|
||||
|
||||
// Nombre de minute entre deux sauvegardes dans l'archive
|
||||
public static int nombreMinuteEntreDeuxSauvegarde = 2 ;
|
||||
|
||||
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package baseUFRHG;
|
||||
package outils;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.FileInputStream;
|
@ -1,4 +1,4 @@
|
||||
package baseUFRHG;
|
||||
package outils;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
@ -1,9 +1,13 @@
|
||||
package baseUFRHG;
|
||||
package outils;
|
||||
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.SortedMap;
|
||||
import java.util.TreeMap;
|
||||
import java.util.regex.Pattern;
|
||||
@ -168,6 +172,9 @@ public class noeud implements Cloneable{
|
||||
* @param value
|
||||
*/
|
||||
public void addAttribute(String nameAttribut, String value) {
|
||||
if(nameAttribut==null) return;
|
||||
if(nameAttribut.matches("\\s+")) return;
|
||||
nameAttribut = nameAttribut.trim();
|
||||
attributes.put(nameAttribut,value);
|
||||
}
|
||||
|
||||
@ -187,7 +194,7 @@ public class noeud implements Cloneable{
|
||||
*/
|
||||
public String getAttributes(String nameAttribut) {
|
||||
if(nameAttribut == null) return null;
|
||||
if(nameAttribut.matches("\\s*")) return null;
|
||||
if(nameAttribut.matches("\\s+")) return null;
|
||||
if(this.attributes.containsKey(nameAttribut)) return this.attributes.get(nameAttribut);
|
||||
return null;
|
||||
}
|
||||
@ -200,7 +207,7 @@ public class noeud implements Cloneable{
|
||||
*/
|
||||
public String getAttributesBeginBy(String nameAttribut) {
|
||||
if(nameAttribut == null) return null;
|
||||
if(nameAttribut.matches("\\s*")) return null;
|
||||
if(nameAttribut.matches("\\s+")) return null;
|
||||
Pattern pattern = Pattern.compile("^" + nameAttribut +".*$");
|
||||
for (Map.Entry<String, String> entry : attributes.entrySet()) {
|
||||
if(pattern.matcher(entry.getKey()).matches()) {
|
||||
@ -218,7 +225,7 @@ public class noeud implements Cloneable{
|
||||
*/
|
||||
public Boolean containAttributBeginBy(String nameAttribut) {
|
||||
if(nameAttribut == null) return null;
|
||||
if(nameAttribut.matches("\\s*")) return null;
|
||||
if(nameAttribut.matches("\\s+")) return null;
|
||||
Pattern pattern = Pattern.compile("^" + nameAttribut +".*$");
|
||||
for (Map.Entry<String, String> entry : attributes.entrySet()) {
|
||||
if(pattern.matcher(entry.getKey()).matches()) {
|
||||
@ -230,6 +237,7 @@ public class noeud implements Cloneable{
|
||||
|
||||
/**
|
||||
* Clone de l'objet.
|
||||
* Le noeud cloné n'a pas de Parent.
|
||||
*/
|
||||
public noeud clone() throws CloneNotSupportedException {
|
||||
noeud cloned = (noeud) super.clone();
|
||||
@ -239,10 +247,26 @@ public class noeud implements Cloneable{
|
||||
if(this.content!=null) cloned.content = new String(this.content);
|
||||
cloned.attributes = new TreeMap<String,String>(this.attributes);
|
||||
cloned.children = new ArrayList<noeud>(this.children);
|
||||
// if(this.Parent!=null) cloned.Parent = this.Parent.clone();
|
||||
|
||||
|
||||
return cloned;
|
||||
}
|
||||
|
||||
/**
|
||||
* Modification du nom d'un attribut.<br>
|
||||
* Si le string "oldName" est nul alors création de l'attribut "newName" avec une valeur vide.
|
||||
* @param oldName : ancien nom de l'attribut.
|
||||
* @param newName : nouveau nom de l'attribut.
|
||||
*/
|
||||
public void changeAttributName(String oldName, String newName) {
|
||||
if(oldName!=null) {
|
||||
if(attributes.get(oldName)==null) {
|
||||
return;
|
||||
}
|
||||
String value = attributes.get(oldName);
|
||||
attributes.remove(oldName);
|
||||
attributes.put(newName, value);
|
||||
}else {
|
||||
attributes.put(newName, "");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -304,12 +328,15 @@ public class noeud implements Cloneable{
|
||||
|
||||
|
||||
/**
|
||||
* Obtient la liste des attributs de ce noeud.<br>
|
||||
* Ajoute l'attribut key avec la valeur value.<br>
|
||||
* @param key
|
||||
* @param value
|
||||
*/
|
||||
public void setAttribut(String key, String value) {
|
||||
getAttributes().put(key, value);
|
||||
if(key==null) return;
|
||||
if(key.matches("\\s+")) return;
|
||||
key = key.trim();
|
||||
this.attributes.put(key, value);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -317,7 +344,8 @@ public class noeud implements Cloneable{
|
||||
* @param nameAttribut
|
||||
*/
|
||||
public void removeAttribut(String nameAttribut) {
|
||||
getAttributes().remove(nameAttribut);
|
||||
if(nameAttribut==null) return;
|
||||
this.attributes.remove(nameAttribut);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -754,6 +782,55 @@ public class noeud implements Cloneable{
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne le premier noeud ayant l'attibut nameAttribut et ayant la valeur value.<br>
|
||||
* @param nameAttribut
|
||||
* @param value
|
||||
* @return
|
||||
*/
|
||||
public noeud getChildContainAttributWithValue(String nameAttribut, String value){
|
||||
if(hasChildren()) {
|
||||
for (noeud child : children) {
|
||||
if(child.getAttributes().containsKey(nameAttribut)) {
|
||||
if(child.getAttributes().get(nameAttribut).equals(value)) return child;
|
||||
}
|
||||
if(child.getChildren().size()>0) {
|
||||
noeud child_child = child.getChildContainAttributWithValue(nameAttribut,value);
|
||||
if(child_child!=null) {
|
||||
if(child_child.getAttributes().get(nameAttribut).equals(value)) return child_child;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
/**
|
||||
* Retourne la liste des noeuds contenant un attribut nameAttribut ayant comme valeur value.<br>
|
||||
* @param nameAttribut
|
||||
* @param value
|
||||
* @return
|
||||
*/
|
||||
public List<noeud> getChildrenContainAttributeWithValue(String nameAttribut, String value) {
|
||||
List<noeud> ListChildren = new ArrayList<>();
|
||||
if(this.getAttributes().containsKey(nameAttribut)) {
|
||||
if(this.getAttributes().get(nameAttribut).equals(value)) ListChildren.add(this);
|
||||
}
|
||||
if(hasChildren()) {
|
||||
for (noeud child : children) {
|
||||
if(child.getAttributes().containsKey(nameAttribut)) {
|
||||
if(child.getAttributes().get(nameAttribut).equals(value)) ListChildren.add(child);
|
||||
}
|
||||
for (noeud child_child : child.getChildren()) {
|
||||
List<noeud> ListChildren2 = child_child.getChildrenContainAttributeWithValue( nameAttribut,value);
|
||||
if(ListChildren2!=null) ListChildren.addAll(ListChildren2);
|
||||
}
|
||||
}
|
||||
}
|
||||
if(ListChildren.size()>0) return ListChildren;
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Retourne le premier noeud dont le contenu textuel est identique au String searchContent.<br>
|
||||
* Si ne trouve pas retourne un null.
|
||||
@ -953,7 +1030,8 @@ public class noeud implements Cloneable{
|
||||
* Supprime tous les enfants de ce noeud.<br>
|
||||
*/
|
||||
public void removeAllChildren() {
|
||||
this.children = new ArrayList<>();
|
||||
this.children.clear();
|
||||
// this.children = new ArrayList<>();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1072,8 +1150,91 @@ public class noeud implements Cloneable{
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne le chemin depuis le premier node.
|
||||
* @return
|
||||
*/
|
||||
public String getAllNameParents() {
|
||||
if(this.Parent!=null) {
|
||||
return this.Parent.getAllNameParents() + "/" + this.Parent.getName();
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int a = name.hashCode();
|
||||
int b=0;
|
||||
if(Parent!=null) {
|
||||
b = this.Parent.getAllNameParents().hashCode();
|
||||
}
|
||||
|
||||
int e = attributes.hashCode();
|
||||
int f = content.hashCode();
|
||||
int g = 0;
|
||||
String hashG = "";
|
||||
for(noeud child : children) {
|
||||
hashG = hashG + String.valueOf(child.hashCode());
|
||||
}
|
||||
if(!hashG.isEmpty()) g = hashG.hashCode();
|
||||
String H = (String.valueOf(a)+String.valueOf(b)+String.valueOf(e)+String.valueOf(f)+String.valueOf(g));
|
||||
return H.hashCode();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Trie par ordre alphabétique les noeuds en indiquant le nom de l'attribut qu'il doit trier.
|
||||
* @param nameAttribut
|
||||
*/
|
||||
public void triAlphabetiqueDesEnfants(String nameAttribut) {
|
||||
Map<noeud, String> listeChild = new HashMap<noeud, String>();
|
||||
for(noeud child : children) {
|
||||
if(child.getAttributes().containsKey(nameAttribut)) {
|
||||
listeChild.put(child, child.getAttributes(nameAttribut));
|
||||
}
|
||||
}
|
||||
// Obtenir les entrées du dictionnaire sous forme de liste
|
||||
List<Map.Entry<noeud, String>> entryList = new ArrayList<>(listeChild.entrySet());
|
||||
|
||||
// Trier la liste d'entrées par ordre croissant des valeurs
|
||||
Collections.sort(entryList, Comparator.comparing(Map.Entry::getValue));
|
||||
|
||||
//supprime tous les enfants du noeud
|
||||
this.children.clear();
|
||||
|
||||
for(Entry<noeud,String> child : entryList) {
|
||||
this.children.add(child.getKey());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Trie par ordre alphabétique les noeuds par le nom du noeud.
|
||||
*/
|
||||
public void triAlphabetiqueDesEnfants() {
|
||||
Map<noeud, String> listeChild = new HashMap<noeud, String>();
|
||||
for(noeud child : children) {
|
||||
if(child!=null) {
|
||||
listeChild.put(child, child.getName());
|
||||
}
|
||||
}
|
||||
// Obtenir les entrées du dictionnaire sous forme de liste
|
||||
List<Map.Entry<noeud, String>> entryList = new ArrayList<>(listeChild.entrySet());
|
||||
|
||||
// Trier la liste d'entrées par ordre croissant des valeurs
|
||||
Collections.sort(entryList, Comparator.comparing(Map.Entry::getValue));
|
||||
|
||||
//supprime tous les enfants du noeud
|
||||
this.children.clear();
|
||||
|
||||
for(Entry<noeud,String> child : entryList) {
|
||||
this.children.add(child.getKey());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Mise à toujours de tous les styles des cellules en compétant par le style par défaut;<br>
|
||||
*/
|
@ -1,10 +1,11 @@
|
||||
package baseUFRHG;
|
||||
package outils;
|
||||
|
||||
import java.text.Normalizer;
|
||||
|
||||
public class supprimeCaracatresSpeciaux {
|
||||
|
||||
static String TousLesCaracatresSpeciaux(String str) {
|
||||
public static String TousLesCaracteresSpeciaux(String str) {
|
||||
|
||||
// Supprimer les accents
|
||||
String normalizedStr = Normalizer.normalize(str, Normalizer.Form.NFD);
|
||||
String accentRemovedStr = normalizedStr.replaceAll("\\p{InCombiningDiacriticalMarks}+", "");
|
||||
@ -17,5 +18,10 @@ public class supprimeCaracatresSpeciaux {
|
||||
|
||||
return replaceSpace;
|
||||
}
|
||||
|
||||
|
||||
public static String LesCaracteresCodeXML(String str) {
|
||||
return str.replaceAll("<", "").replaceAll(">", "").replaceAll("\"", "");
|
||||
}
|
||||
|
||||
}
|
BIN
src/resources/AideInscriptionXLSX.png
Normal file
After Width: | Height: | Size: 444 KiB |
BIN
src/resources/Danger.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 472 KiB |
BIN
src/resources/Sans titre_1.jpg
Normal file
After Width: | Height: | Size: 107 KiB |
BIN
src/resources/Sans titre_10.jpg
Normal file
After Width: | Height: | Size: 89 KiB |
BIN
src/resources/Sans titre_11.jpg
Normal file
After Width: | Height: | Size: 70 KiB |
BIN
src/resources/Sans titre_12.jpg
Normal file
After Width: | Height: | Size: 67 KiB |
BIN
src/resources/Sans titre_13.jpg
Normal file
After Width: | Height: | Size: 65 KiB |
BIN
src/resources/Sans titre_14.jpg
Normal file
After Width: | Height: | Size: 90 KiB |
BIN
src/resources/Sans titre_15.jpg
Normal file
After Width: | Height: | Size: 90 KiB |
BIN
src/resources/Sans titre_16.jpg
Normal file
After Width: | Height: | Size: 80 KiB |