From 24cc7baddc7d6aaf5d271875facce2fb689539e5 Mon Sep 17 00:00:00 2001 From: Wamster Date: Fri, 1 Dec 2023 14:24:23 +0100 Subject: [PATCH] tpdev + evalMadeleine --- DEV/DEV3.2/TP08_Arbres_suite/Q1Arbre.class | Bin 621 -> 0 bytes DEV/DEV3.2/TP08_Arbres_suite/Q1Arbre.java | 79 --- DEV/DEV3.2/TP08_Arbres_suite/Q1Main.class | Bin 785 -> 0 bytes DEV/DEV3.2/TP08_Arbres_suite/Q1Noeud.class | Bin 886 -> 0 bytes .../TP08_Arbres_suite/Q1_Tri/Q1Arbre.class | Bin 0 -> 1122 bytes .../TP08_Arbres_suite/Q1_Tri/Q1Arbre.java | 37 + .../TP08_Arbres_suite/Q1_Tri/Q1Main.class | Bin 0 -> 823 bytes .../{ => Q1_Tri}/Q1Main.java | 3 - .../TP08_Arbres_suite/Q1_Tri/Q1Noeud.class | Bin 0 -> 1948 bytes .../{ => Q1_Tri}/Q1Noeud.java | 38 +- .../Q2_Authentification/Q2Arbre.class | Bin 0 -> 1857 bytes .../Q2_Authentification/Q2Arbre.java | 72 ++ .../Q2_Authentification/Q2Main.class | Bin 0 -> 2361 bytes .../Q2_Authentification/Q2Main.java | 57 ++ .../Q2_Authentification/Q2Noeud.class | Bin 0 -> 2606 bytes .../Q2_Authentification/Q2Noeud.java | 169 +++++ DEV/DEV_Madelaine/Wamster_stub.tar.gz | Bin 0 -> 1771 bytes .../Wamster_stub/exercice 2/Denomination.java | 11 + .../Wamster_stub/exercice 2/Individu.java | 34 + .../Wamster_stub/exercice 2/Liasse.java | 51 ++ .../Wamster_stub/exercice 2/Main.java | 17 + .../Wamster_stub/exercice 2/Monoliasse.java | 66 ++ .../Wamster_stub/exercice1/Billet.java | 38 + .../Wamster_stub/exercice1/Denomination.java | 11 + .../Wamster_stub/exercice1/Individu.java | 34 + .../Wamster_stub/exercice1/Main.java | 17 + SCR/SCR2/IMUNES/TP00/tp00.SCR.3.2.imn | 664 ++++++++++++++++++ SCR/SCR2/IMUNES/TP00/tp00.SCR.3.2.pdf | Bin 0 -> 115856 bytes .../IMUNES/TP00/tp20-extension.SCR.2.2.imn | 637 +++++++++++++++++ 29 files changed, 1951 insertions(+), 84 deletions(-) delete mode 100644 DEV/DEV3.2/TP08_Arbres_suite/Q1Arbre.class delete mode 100644 DEV/DEV3.2/TP08_Arbres_suite/Q1Arbre.java delete mode 100644 DEV/DEV3.2/TP08_Arbres_suite/Q1Main.class delete mode 100644 DEV/DEV3.2/TP08_Arbres_suite/Q1Noeud.class create mode 100644 DEV/DEV3.2/TP08_Arbres_suite/Q1_Tri/Q1Arbre.class create mode 100644 DEV/DEV3.2/TP08_Arbres_suite/Q1_Tri/Q1Arbre.java create mode 100644 DEV/DEV3.2/TP08_Arbres_suite/Q1_Tri/Q1Main.class rename DEV/DEV3.2/TP08_Arbres_suite/{ => Q1_Tri}/Q1Main.java (91%) create mode 100644 DEV/DEV3.2/TP08_Arbres_suite/Q1_Tri/Q1Noeud.class rename DEV/DEV3.2/TP08_Arbres_suite/{ => Q1_Tri}/Q1Noeud.java (63%) create mode 100644 DEV/DEV3.2/TP08_Arbres_suite/Q2_Authentification/Q2Arbre.class create mode 100644 DEV/DEV3.2/TP08_Arbres_suite/Q2_Authentification/Q2Arbre.java create mode 100644 DEV/DEV3.2/TP08_Arbres_suite/Q2_Authentification/Q2Main.class create mode 100644 DEV/DEV3.2/TP08_Arbres_suite/Q2_Authentification/Q2Main.java create mode 100644 DEV/DEV3.2/TP08_Arbres_suite/Q2_Authentification/Q2Noeud.class create mode 100644 DEV/DEV3.2/TP08_Arbres_suite/Q2_Authentification/Q2Noeud.java create mode 100644 DEV/DEV_Madelaine/Wamster_stub.tar.gz create mode 100644 DEV/DEV_Madelaine/Wamster_stub/exercice 2/Denomination.java create mode 100644 DEV/DEV_Madelaine/Wamster_stub/exercice 2/Individu.java create mode 100644 DEV/DEV_Madelaine/Wamster_stub/exercice 2/Liasse.java create mode 100644 DEV/DEV_Madelaine/Wamster_stub/exercice 2/Main.java create mode 100644 DEV/DEV_Madelaine/Wamster_stub/exercice 2/Monoliasse.java create mode 100644 DEV/DEV_Madelaine/Wamster_stub/exercice1/Billet.java create mode 100644 DEV/DEV_Madelaine/Wamster_stub/exercice1/Denomination.java create mode 100644 DEV/DEV_Madelaine/Wamster_stub/exercice1/Individu.java create mode 100644 DEV/DEV_Madelaine/Wamster_stub/exercice1/Main.java create mode 100644 SCR/SCR2/IMUNES/TP00/tp00.SCR.3.2.imn create mode 100644 SCR/SCR2/IMUNES/TP00/tp00.SCR.3.2.pdf create mode 100644 SCR/SCR2/IMUNES/TP00/tp20-extension.SCR.2.2.imn diff --git a/DEV/DEV3.2/TP08_Arbres_suite/Q1Arbre.class b/DEV/DEV3.2/TP08_Arbres_suite/Q1Arbre.class deleted file mode 100644 index 0b169755cac6b8ffe78fbb5908ef974a6e03a0ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 621 zcmZvaOH0F05QWc8Vq?>^sn1&5`dZZpN>?rvL4<}ee*ha;|B<9jEF>j(^LC1oGqJ%{gB@<(FI0|+s?)Lh<;hutCT|ZGU4h8`$oCXV9qpNNh9edqNDn|8C@^2}!?%jAcGO%r=VJVo&5TZFYrjVE5#EFGjXHj=JZeKg23moaD+1nz-<7g6}kC%<|?^S3E8E3CdLu(C*^u9Al0j14zN3N186e zISE&zsxdnib1%?OOHVMy;1&xr$j1%k{B0}vSKEy-T#lT>wnA{#gsZcua0~7|v^Qj2 zL2r5Ty77n!8D8Vyz%+SahNI8Yr@*I34KlW4#-87+G(}@(`O9b75OyQEUd%f*x-^9!}W&p<B9L|EV}QSVmQHb6d0^lFbcc!Q0e-)h{5o`_$3=*nTN0-vK~ql_(vCo|8TJ*O>4YA}$W zoJgohg-%aKjvsi$6*ths4kIsXUuD&W(f%}RSj!9=Jyc&%% zA^ks1LJl=(K-V*qwT%tvSD`-xOp8zU8twAr8Tn-S0_=Wv?zm{z4y@N$!^AvGo?B!WM| zOaFotyzxT8wxHmx;ExjD+1*4fvM_Vb%sVsBnf>|e>vsS*QL$j5m_`EU#Vm^{nOL#t zSH)Zqb5Ts$#F~Q9>;^9s)RscxAQ*Or3hDaOD?9yQ)Vj@Bd*Jt43dxO5uQR+$y}MP} zqr2B{1q#`Erx)yuUNwTjGr!SgB-svzkAgP}x?5pS-EXmaYIo>2UvB#cvB-8OBcxf1 zHBX}18MiV?MTyM_z}oGP2F>7MM~2uj;QGG*+P5(S*G2}mjVVmq$YNT-j3tttwXq;( z9%tp0Q<#y$TG#KjYmXcIL6fg0?;c9ri^WCi(4-+xn)D1k+tMe&YRuBk@wUOdMnCVJ zKzYs)G*2Bt7h`;8T;UAu0=oh!7)bN8*eAod%`A!HP6c{JRl@rM?c=0W#(^(V@&Z~J z`i_lc=(Z!;_bAcnKQQNgL*lt}f+Pt(AR|%d7-pzC3{}RzDkD-Eq7qsyq%D&XJf%pN zC0`Lal;L0$(Eg0)Cpw6(t%tbZbV^lzdC T-{Q^ruhcj#y+i3zxU9l&Bi?%@ diff --git a/DEV/DEV3.2/TP08_Arbres_suite/Q1_Tri/Q1Arbre.class b/DEV/DEV3.2/TP08_Arbres_suite/Q1_Tri/Q1Arbre.class new file mode 100644 index 0000000000000000000000000000000000000000..81c0fa8a755a5e5bc606ede061909d46f96fe586 GIT binary patch literal 1122 zcmaJgH}?+qIh2B7-ZoWBaQD z(QNL$Ky1UU64AR!;CAz{Ybeh=?UoB^D>gDn)~~9<%3ycGOa{##d>AS%=&I&%`1D>!hv~g>KMe3j(!XXD4|Lj z8`d!*%|krWaT}uw9_x65Wq~0{%hye(mM{69?bOzrcD-tOI*M2k5aZH$s$&(;6g=0l zhIJhqGR+GN1x14D0;!8cZ_5W(#TQ7_EPu!HZMw;9?!28V*wUvX-#X-E+$LcIn?V-a z&F@f)Peqn_D93Cz8kWP+&1XA^Kyar{F?T6+r3VtP;5(Q9#V35XgA(YcpQE*=aZv&?U}L#C4kl)OmG)7Tv>sLd@*`)`g}mz8~igE7d$ni4Pl7y zhDQj*Tp`dJ$u1 n8ZtAiK6XCUJQc{P_8PL2PT>~%{vGWk5}0B`(*%zb9>K(4!%o$r literal 0 HcmV?d00001 diff --git a/DEV/DEV3.2/TP08_Arbres_suite/Q1_Tri/Q1Arbre.java b/DEV/DEV3.2/TP08_Arbres_suite/Q1_Tri/Q1Arbre.java new file mode 100644 index 0000000..6178c00 --- /dev/null +++ b/DEV/DEV3.2/TP08_Arbres_suite/Q1_Tri/Q1Arbre.java @@ -0,0 +1,37 @@ +public class Q1Arbre{ + private Q1Noeud racine; + + public Q1Arbre(){ + this.racine = null; + } + + public Q1Arbre(int clef){ + this.racine = new Q1Noeud(clef); + } + + public void add(int clef){ + if (this.racine == null){ + this.racine = new Q1Noeud(clef); + } + else{ + this.racine.add(clef); + } + } + + private void parcoursProfondeur(Q1Noeud noeud){ + if (noeud != null){ + if (noeud.getPetit() != null){ + parcoursProfondeur(noeud.getPetit()); + } + System.out.print(noeud + " "); + if (noeud.getGrand() != null){ + parcoursProfondeur(noeud.getGrand()); + } + } + } + + public void affichage(){ + this.parcoursProfondeur(this.racine); + System.out.println(); + } +} \ No newline at end of file diff --git a/DEV/DEV3.2/TP08_Arbres_suite/Q1_Tri/Q1Main.class b/DEV/DEV3.2/TP08_Arbres_suite/Q1_Tri/Q1Main.class new file mode 100644 index 0000000000000000000000000000000000000000..592fec88179e94409e50486d0f02fde689fc27f6 GIT binary patch literal 823 zcmZuvU2hUW6g>kA1KVwDTdAVZZmm_mEK(XwT2pI`O-Mj(FeJvO0j9W>-6gw=QJ?)K zzVy-52Wm9w5Ab*RBYYC?zyq4F4|nd|x%ZqiXZGix@0S2}v8%&ClH-Ps5Ry7>BBipl z3TqteahTYM;g*g~+~(NgxWf>AXgOAJz!1)4n+)0$w<8%AYnCIQ4eXZmUW!(aDw-`U zhha7Ix^^nwiDFMU-C`r~ET_A#2Im`rXuqwC{9N=HBuB_UElr*$x<1 zX55}(Y1&wI0@;-wL#!`6U(%K#k(psxl^hqH4jG%ND*xi*Ju<3s4@W9%|2gccgJ<)9O81To@GQFW8DEagS2mq}`c rq(30hk4VP~b#6f$(O`t*Do27MqbvNz+DPf9tqQ9#qPa%RAzc3pd?vAS literal 0 HcmV?d00001 diff --git a/DEV/DEV3.2/TP08_Arbres_suite/Q1Main.java b/DEV/DEV3.2/TP08_Arbres_suite/Q1_Tri/Q1Main.java similarity index 91% rename from DEV/DEV3.2/TP08_Arbres_suite/Q1Main.java rename to DEV/DEV3.2/TP08_Arbres_suite/Q1_Tri/Q1Main.java index 434b5a9..fdbc367 100644 --- a/DEV/DEV3.2/TP08_Arbres_suite/Q1Main.java +++ b/DEV/DEV3.2/TP08_Arbres_suite/Q1_Tri/Q1Main.java @@ -1,6 +1,3 @@ -import java.util.*; -import java.io.*; - public class Q1Main{ public static void main(String[] args){ diff --git a/DEV/DEV3.2/TP08_Arbres_suite/Q1_Tri/Q1Noeud.class b/DEV/DEV3.2/TP08_Arbres_suite/Q1_Tri/Q1Noeud.class new file mode 100644 index 0000000000000000000000000000000000000000..035389b131989a2049a33dcbda9f8a94697b3a9f GIT binary patch literal 1948 zcmaJ?Yg1EK6kR8;dkGhV0TjYRwAv;&JO#B1qJn}*cv#Siw(2Fh#aKvaOq}s!r~MP1 z>9mgH3}5^}I}&Derv0Wf{R#akoxaw-_a+2%9A@@O_E~$Mwbwc){PFLr-vA853ZnyO z>JY-G63$9ECt*axXqfAH31bp2NVq8BQXR%Iq2Y2E4LGCYima0orX*YqV;a{a%;-qz znAI^SW%D`~WdFL3&onG51k!8vR|;xcA-G`|vqgov)b+u+yj{wSFt=K;avA3G>2#@J z=hC)9Xf&J47ROi{pHAH5GLg?P9Z6+#_FQRw#V#yaD{BH=wTm9Vu)`H2*4-a@{>>Obyhm;tTdUc4ki9Fp5V7D#QC_knLAKs`!;;0 z+J;|3zzl37_zO1`K4y&Z2teZzI_mg$0AVzt9<6jv$wl#6c5V9Imrkk zFBYSm{=(r4+-n!?GaTjOe~YO38lmO(9cZMoiF(Plm!UhT=ME~c7Zq?(fhy`L8qDRF z2nOzZGx(et`p6e#t)m$cv`~;%=G)On@lH{=%akfbd6r1=E_Y0#H3Yk~PVJz>Jn1pt zgx}HacCw5*mwe16UvDONS#vjBK|F^bNZdhG7}p{`NIF64CZb5vh(12pLG5nMaxXeDrgc3$LVyhL@z(S`}$tx1ewirH(piWw@C!X3sHEFgnL zJfOkf;s(CME&NE$e&R3FD;h3#M-ciOCp7fMVtUtK6kDMm1D@@*ciS&K+^6B*?KHpf zr|dn@z<%f|LHuR(pbt2X_%aY}OZm@tP}Sfw9QVZM1!-i)S4J#KksIkj>U*Es{O`}? ot`LV1Wc?bu this.clef){ + if (this.grand != null){ + next = this.grand.suivant(clef); + } + else{ + System.out.print(this); + return this; + } + } + if (next == null){ + System.out.print(" 2)"+this); + return this; + } + else{ + System.out.print(" 3)"+next); + return next; + } + } + else{ + System.out.print(" 4)"+this.getGrand()); + return this.getGrand(); + } + } + public Q1Noeud getPetit(){ return this.petit; } diff --git a/DEV/DEV3.2/TP08_Arbres_suite/Q2_Authentification/Q2Arbre.class b/DEV/DEV3.2/TP08_Arbres_suite/Q2_Authentification/Q2Arbre.class new file mode 100644 index 0000000000000000000000000000000000000000..fa1f1e1ac3b7a7b6f7e64a54935836c81a42b718 GIT binary patch literal 1857 zcmZuyT~pgu5IwSuWs7S*Y(7h&DKw2S5L!qZVv{sLlaz+fI3X5KDa8lr34a~qCTFJ$Okw99twj)q`zaz{gG#VIhN zdyRn`^-|7qADg)%J;~(i+M#)5&KAw`!ECnX+U0}Hn;yXknuUUfShi;7pRJn}A0T*O z)ikK&>SX)ru2pi52p^(Xz&5JLQ5^cO~;YPY#Ki`}=nOsd>O; zBg^2tb>9}EYI|y#ueVf6%D#ywD_(nd?+S~NrlH^zQT^e6MU_(3lhmH ze1mTlzQdlv_xM5KM_HN3DdbVmVJYn6Kto5lUM$Y(c&cFIP~kdeH4I)>YPoI~3znJD%aa`Ejv!pGRsV$rdyWFs$=_hvASB# zmds+&qFMu@^BWoLx1><0s)n)TTLRjf6Y$wN8s-df1DVQ~Dsm9sL)xBA{klUt7_Ib5t zm6+&ATz|6;+nL?sRMt3~mRVw{39tT(Zj!4=P?75Ow+rA;w2W5RtW+$iW2QZz*@sNK zs?8j~w>?rRMKtn)gnJb-ZjyCNCcPaWc zK8@4~w3PNI0>5#m;RD((UK~J(zYatZ_VTX!dGp+d_%`9?y+m+#WP0WVp|=1;7#Kwy z22=Uz_yF5Jz(nc~1YV&pbphj7#Kcd`20DaMz+)8m&Wy2!E)1cURU~lD;}{r<5||&Q z51(O1fN$aga|-35H4uKGy*Ni});B=3LG)nQLkdFcAw&vOKG44uAbz7Rlu{S9j0am$=5$KRO@FSu&8Z>`sZ^ Z&4U|w_wsD6Aj1E(F5F}A#|#f(?tgw-aOwa6 literal 0 HcmV?d00001 diff --git a/DEV/DEV3.2/TP08_Arbres_suite/Q2_Authentification/Q2Arbre.java b/DEV/DEV3.2/TP08_Arbres_suite/Q2_Authentification/Q2Arbre.java new file mode 100644 index 0000000..07d4ddb --- /dev/null +++ b/DEV/DEV3.2/TP08_Arbres_suite/Q2_Authentification/Q2Arbre.java @@ -0,0 +1,72 @@ +public class Q2Arbre{ + private Q2Noeud racine; + + public Q2Arbre(){ + this.racine = null; + } + + public Q2Arbre(int clef, String identifiant, String motDePasse){ + this.racine = new Q2Noeud(clef, identifiant, motDePasse); + } + + public void add(int clef, String identifiant, String motDePasse){ + if (this.racine == null){ + this.racine = new Q2Noeud(clef, identifiant, motDePasse); + } + else{ + this.racine.add(clef, identifiant, motDePasse); + } + } + + public Q2Noeud get(int clef){ + if (this.racine != null){ + return this.racine.get(clef); + } + return null; + } + + public boolean remove(int clef){ + if (this.racine != null){ + System.out.println("remove"); + Q2Noeud pereDeNoeudASuppr = this.racine.getPere(clef); + Boolean fils = pereDeNoeudASuppr.filsIsSmaller(clef); + Q2Noeud noeudASuppr = pereDeNoeudASuppr.getFils(fils); + if (noeudASuppr != null){ + if (noeudASuppr.getPetit() == null){ + System.out.println("petit"); + pereDeNoeudASuppr.setFils(fils, noeudASuppr.getGrand()); + return true; + } + else if (noeudASuppr.getGrand() == null){ + pereDeNoeudASuppr.setFils(fils, noeudASuppr.getPetit()); + return true; + } + else{ + Q2Noeud noeudRemplacant = noeudASuppr.getSuivant(); + if (noeudRemplacant.getKey() != noeudASuppr.getKey()){ + return noeudASuppr.updateAttribut(noeudRemplacant); + } + } + } + } + System.out.println("null2"); + return false; + } + + private void parcoursProfondeur(Q2Noeud noeud){ + if (noeud != null){ + if (noeud.getPetit() != null){ + parcoursProfondeur(noeud.getPetit()); + } + System.out.print(noeud + " "); + if (noeud.getGrand() != null){ + parcoursProfondeur(noeud.getGrand()); + } + } + } + + public void affichage(){ + this.parcoursProfondeur(this.racine); + System.out.println(); + } +} \ No newline at end of file diff --git a/DEV/DEV3.2/TP08_Arbres_suite/Q2_Authentification/Q2Main.class b/DEV/DEV3.2/TP08_Arbres_suite/Q2_Authentification/Q2Main.class new file mode 100644 index 0000000000000000000000000000000000000000..33a2bb71848749966438891e8621c120f44e8d7a GIT binary patch literal 2361 zcma)8OLG)e6#ni^Pj_e1fiN&YK%f&KOdw%k!~jW*;Y~0JiGhTG4>~h9Nrz7N(2od; z;seCD8_O!NtYQbH{ zctQA|7Is6$u!^jToC+>zjELP)1!D?K2D#0&O~0KXnrawekoGw_&ak-4w0Tc3G0fd# z#;`>@(u85!49ioey2g!3BW)S>Xu98bO?$Le1XlI?M)pj%kq`Y9j8i+P6VwFa#Srgz z0yoPKngXk`FVjtETLqAYtw=L02|)wjw9$pcg-6vGxts!osMB4Zb!Pf>2_|Xw@l{(9L zlte>SM5!c(T?+t|(Vl^vzr~PBb(U?HF6sOo(UvHwy1bvgbfIVaDI57bw{r|l7Zg+%Ms=ZV`Rk4jv1pI zwP>Ulz4%4I#CwaL+i10hMn+?7^Ay-EnlNmqryOoZQGpB|r#ZPs?ji=29PUpeGBkx~ z*EA#=W8Kq`hi*feg4!cBOVQ?7Qo721ZYrQ65ig*!MXr&fnS@qA)m3!Y$am!HIJl)o zmNLoMS6EcQ;=#sbOss3N~71;IU?3miRtoxjtn1DY1-Q$Hxz|BpAVSL&$dHLL7_L*Z&`mo60#Jc_hb@TgY)k z$T1aitR{}qbyP%~r5mUuW{C#jb3aYTxw)}`Ew@NO*OP~?>QC# literal 0 HcmV?d00001 diff --git a/DEV/DEV3.2/TP08_Arbres_suite/Q2_Authentification/Q2Main.java b/DEV/DEV3.2/TP08_Arbres_suite/Q2_Authentification/Q2Main.java new file mode 100644 index 0000000..a5597e2 --- /dev/null +++ b/DEV/DEV3.2/TP08_Arbres_suite/Q2_Authentification/Q2Main.java @@ -0,0 +1,57 @@ +import java.util.*; + +public class Q2Main{ + + public static void main(String[] args){ + HashMap dicoId = new HashMap<>(); + Q2Arbre arbre = new Q2Arbre(); + Scanner scanneur = new Scanner(System.in); + boolean programmeEnCours = true; + int numUser = 0; + while(programmeEnCours){ + String[] mots = scanneur.nextLine().split(" "); + if (mots[0].equals("add") && mots.length == 3){ + dicoId.put(mots[1], numUser); + arbre.add(numUser, mots[1], mots[2]); + numUser ++; + System.out.println("Utilisateur \""+mots[0]+"\" ajoute"); + } + else if (mots[0].equals("auth") && mots.length == 3){ + try{ + int clefArbre = dicoId.get(mots[1]); + if (arbre.get(clefArbre).getMotDePasse().equals(mots[2])){ + System.out.println("Utilisateur \""+mots[1]+"\" reconnu"); + } + else{ + throw(new NullPointerException("Utilisateur \""+mots[1]+"\" non reconnu")); + } + } + catch(NullPointerException e){ + System.out.println("Utilisateur \""+mots[1]+"\" non reconnu"); + } + } + else if (mots[0].equals("del") && mots.length == 2){ + try{ + int clefArbre = dicoId.get(mots[1]); + if (arbre.remove(clefArbre)){ + System.out.println("Utilisateur \""+mots[0]+"\" retire"); + } + else{ + throw(new NullPointerException("Utilisateur \""+mots[1]+"\" non retire")); + } + } + catch(NullPointerException e){ + System.out.println("Utilisateur \""+mots[1]+"\" non retire"); + } + } + else if (mots[0].equals("quit") && mots.length == 1){ + programmeEnCours = false; + } + else{ + System.out.println("operation incorrect ! Voici les operations possibles :\n- add \n- auth \n- del \n- quit"); + } + } + scanneur.close(); + arbre.affichage(); + } +} \ No newline at end of file diff --git a/DEV/DEV3.2/TP08_Arbres_suite/Q2_Authentification/Q2Noeud.class b/DEV/DEV3.2/TP08_Arbres_suite/Q2_Authentification/Q2Noeud.class new file mode 100644 index 0000000000000000000000000000000000000000..60ed2c9e03cb55ec318dab576edfdb17341fdd8b GIT binary patch literal 2606 zcmZuyYi}Dx6g}g|uI;RyNAs-HHWUhu(es z0t6BW)DM6_RmCH!D)mb~1gUWp zn3eHOF>^YuD+CsE){=rsDFj!oQnsWJ9-kSQELi2tAipga&3s0oE}OCPrR-AH%oEWx ze%rib_UFv}a(}v1%;uK~jjR+(m#k@XZOu~9&Smr2(s_kMBDEj9|4a8Asaz~%c(i^z zo3|#*D+^X})?CPmvt_Gv)%sAupXesf7?&w8o#sUMevb-K;wC(t{APxcMAId6@%;&N z)phPCO2J5^x;cjL3A3+3XX#dD0-aO3Nf3k*Diw+wXPuz{mEW}r(<9GwP^ zpi@D2!Gb$(AStFFFB&+BUIQ=5>;#@S(1%_fHw?_9>8QCS1_YAy_ghE3NJhgD!T4YE}1}05oZNrsUU%{#awSq z%pa_vX0EPUlI@+lHQq&!ncnMtWjFu59(UuZj?S_Mg7Ar$ocTmWd!&%|NPX>*5_4>X z5>08Ji87J_25--%FoPH?;r2=PpqzX)Qe!yy>t z5aq+gh~l%jzK?KJLR8wil^6NX>&>=UH1S5lvL` z*(wcC5eX_pz3QoY7bzvF%mB4{jbV>*HH%*6Y9CDI^%66>hbMFdyTZr9q7C!hjp8ny z`nWmdM$wY2Ao3K34Dkx;Hr1xfT6PR)$MEi~^9hLBq1VSplfQ%zE2bW&`FLlTI%i38 zkV2m$&GXzH;%u0+i&bjvs!fGSiZ$m_yXR6Hcd2zb)H-CSAR4zXmIc|wsw@RWmI5-o zAfX)FPji$suaIVn6vvp+VVQ=3)Wksqp_=hy{lrK-Gsm@(of zQo#X!O7v5vpAWo#PUBVAPnx01bscfW8IcAN3~a>jJ5w#N;g{leGT-SBA2HmI*&RM% z9ej!ge1;Z$jy8Nz4cLg#^%>TJLv+^F^0;W|;!&>+Ejzh6a)1>`pJ5;Yy0A-G5H*cna-HrNp~4i`ODJ%%%Z+NA&mXa6d4DAKBr4 zLM!gszIFKig<%)MAS=WPV8spK4By}GCLA83$6ZMX4{#(YOX;vZkKval%Q3({yGual z`k$HTzp$13%0BQLGh>}q`k?war+F#=xZJBpc(o)8n_AP2Z5(1yz6zR~S}JJe+|Qvp T4{%;V+upo>#PjFv7rgL47RkR& literal 0 HcmV?d00001 diff --git a/DEV/DEV3.2/TP08_Arbres_suite/Q2_Authentification/Q2Noeud.java b/DEV/DEV3.2/TP08_Arbres_suite/Q2_Authentification/Q2Noeud.java new file mode 100644 index 0000000..f9e3ed4 --- /dev/null +++ b/DEV/DEV3.2/TP08_Arbres_suite/Q2_Authentification/Q2Noeud.java @@ -0,0 +1,169 @@ +public class Q2Noeud{ + private int clef; + private Q2Noeud petit; + private Q2Noeud grand; + private String identifiant; + private String motDePasse; + + public Q2Noeud(int clef, String identifiant, String motDePasse){ + this.clef = clef; + this.identifiant = identifiant; + this.motDePasse = motDePasse; + this.petit = null; + this.grand = null; + } + + public int getKey(){ + return this.clef; + } + + public String getIdentifiant(){ + return this.identifiant; + } + + public String getMotDePasse(){ + return this.motDePasse; + } + + public void add(int fils, String identifiant, String motDePasse){ + if (fils < this.clef){ + if (this.petit == null){ + this.petit = new Q2Noeud(fils, identifiant, motDePasse); + } + else{ + this.petit.add(fils, identifiant, motDePasse); + } + } + if (fils > this.clef){ + if (this.grand == null){ + this.grand = new Q2Noeud(fils, identifiant, motDePasse); + } + else{ + this.grand.add(fils, identifiant, motDePasse); + } + } + if (fils == this.clef){ + this.motDePasse = motDePasse; + this.identifiant = identifiant; + } + } + + public Q2Noeud get(int clef){ + if (clef < this.clef){ + if (this.getPetit() != null){ + return this.getPetit().get(clef); + } + return null; + } + if (clef > this.clef){ + if (this.getGrand() != null){ + return this.getGrand().get(clef); + } + return null; + } + if (clef == this.clef){ + return this; + } + return null; + } + + public Q2Noeud getPere(int clef){ + if (clef < this.clef){ + if (this.getPetit() != null){ + if (this.getPetit().getKey() == clef){ + return this; + } + return this.getPetit().getPere(clef); + } + } + if (clef > this.clef){ + if (this.getGrand() != null){ + if (this.getGrand().getKey() == clef){ + return this; + } + return this.getGrand().getPere(clef); + } + } + return null; + } + + public Q2Noeud getPetit(){ + return this.petit; + } + + public Q2Noeud getGrand(){ + return this.grand; + } + + public Q2Noeud getFils(Boolean isSmaller){ + if (isSmaller == true){ + return this.petit; + } + if (isSmaller == false){ + return this.grand; + } + return null; + } + + public Q2Noeud getSuivant(){ + if (this.getGrand() != null){ + return this.getGrand().getAvant(); + } + return this; + } + + public Q2Noeud getAvant(){ + if (this.getPetit() != null){ + return this.getPetit().getAvant(); + } + return this; + } + + public boolean setFils(boolean isSmaller, Q2Noeud fils){ + if (isSmaller == true){ + this.petit = fils; + return true; + } + if (isSmaller == false){ + this.grand = fils; + return true; + } + return false; + } + + public Boolean filsIsSmaller(int clef){ + if (this.petit.getKey() == clef){ + return true; + } + if (this.grand.getKey() == clef){ + return false; + } + return null; + } + + public int getNbFils(){ + int nbFils = 0; + if (this.petit != null){ + nbFils ++; + } + if (this.grand != null){ + nbFils ++; + } + return nbFils; + } + + public boolean updateAttribut(Q2Noeud nouveau){ + if (nouveau.getKey() > this.petit.getKey() && nouveau.getKey() < this.grand.getKey()){ + this.clef = nouveau.getKey(); + this.identifiant = nouveau.identifiant; + this.motDePasse = nouveau.motDePasse; + return true; + } + return false; + } + + @Override + public String toString(){ + return this.clef + " " + this.identifiant + " " + this.motDePasse; + } +} \ No newline at end of file diff --git a/DEV/DEV_Madelaine/Wamster_stub.tar.gz b/DEV/DEV_Madelaine/Wamster_stub.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..bca39860fb28ee15c78b27b59b657064b0628e65 GIT binary patch literal 1771 zcmVL1)$ZCP|`4BmLIo|Q*j(5k`colKN-bFlKJnkI_7GUPO z;%iUbsr=f>H$@LB#?IK8xD%%btt`jwA@@l9ln_T8GlY7dl8LBo2NUFxfJctg1y`Nn zb#eX4e}paRk|3wmt#J7Ij~&Z~cD6ekTW0;cK;8QP6$YVCaTJl!2fV@e8bd7bbTX-1 ze`h*&)AhG!Q@dw5*37Yc$ZAQ(o%qSue;qG;xl7`hw33>y zbyPL1)ecnTTr-s2e5i*-$-i~nY~re;Z$j!J?0LUY-zU5>g(;2Uu(mTJt8hd1^ndh7 z*I$TsNBE1RQL!^4JZ3?O#ts6nr1<)sP^6SKO}Ty0Xn?AW^cD@$MK~{Q;?d2#(5}FU zov+f@L+Jc|ar2L!lGBjVi_7`ndP;6no-S)xvaN=cUR}=rysi!2&GY&7MU9Y+ z>0QigShKCBw8SdDt0(9*CMbm6LD1C`RJEDP``Us2ue1M`fk!vgi|=p!_u7Bkb*2UT zZwdQ9hL5rT9iU|Y(?u^^|CgN6;10p|E*t$Tsm;-C$aox(vfWQ94f4+0#s`Xo@lUB{ z<%*uDBcIeDgR@=Mv22+a(hh8orl^i`W2)NK5?96xxu$D_=AoKZf=Z z@(JQ(wT?72)kMJL1^kbMnWC*y)r>^3&oKw-`~7@kfP197f1oF2y#u8&i3VpCwWFvG z&(WZt2#!30`oq%PY?;!6#a0)qVIKypcA78hJG=?{XL?;%Wa&EO*w@m|rm8?i>B*GD zj+=pIqKh{U-8edGYH@_9;i`^Uwv)S2+%2I_|6jG_`w8sx|J<3K>;K7E=zq(Z8U5b{ zO8WmwTDlP_QA4QwDl4LL`V+@JAlSbqKmD4xoi6 z3`VdN+A1J^>6BenyaS-^g-}V*B8->t!9amAdPi7(3j^}>+-gl%($twM>nnN0x5QT_ zsxU+JZQi#{rgWpjU=;=isj0FmN_VGYd4LzaJ$lmWZNZ>wRj0;9JJ@?KYS+5qEAHP8 zCNy@c6$Ua7`GB!Y{wY)is=TsU3fpXz|9qllW^1>kG=*)=`)W8XZ*e7U+Pj%q6*bD7 zwkb+_8LUWB4JzyqDZ8TXljt~Gv&!XcdewY*RbE7u@ zgXz7`eTseYAImMCe`p6@fQkQfgL3`{7X3@nI>OxW^tQNyN)^rlPXM#K2<+j>Nfs30 zlv8yf&7wbjQ78fcCnw_9XggSwM7@tyEdt^DYhQkbbzhCbn2%&|#t#OvL+b4h``~sw zL2rWoP?nb?IFdv@2O$rua{z^E4&Yank(>EZDtE~zI_TsRiI~W)u1T!*a~~k1kNN{)r3N(gk2|{>M$@f8qs@wEr{LG4{U;lIc02 zDBckc4mU=zS4}KEZ)}BA_DTmB#_Pbg*dO_Ui!f z3%w8x(p1?xjDZY8Fa?AmA19eL1ijaO9HBdg0}o;K-7^WOyKV%US zYeyp@vuqws@@tqfA}D}chd#!?h?z@}Z6-SY-N01l%(c!C4T^6X{1q=9Z+)0dOVw^vFhj35PN%_f{_soUI6dFLH!ln6_kO z8MBCP6xV`T#WPhC9>ECWo#O)PBPno1fu|_p`a>Ln>{xIGUl0IhVI9**wM31x99+It z$X=!j$Sg-`hk-+_cGGqyPxc<3t9GNpWoL&Ok-d)cGNDHQw;BF#5dU|a>3AaI|Mt{1 z`o9a9`2Ww1n)Bag_GX8H*&H3*F-N*k$15L~zahktpQ{ihjY fortune; + + public Individu(String nom){ + this.nom = nom; + this.fortune = new ArrayList<>(); + } + + public boolean add(Billet billet){ + return this.fortune.add(billet); + } + + public void payer(int valeur, Individu vendeur){ + // to do (il faut pouvoir trier la liste du plus grand au plus petit) + // on pourrait alors utiliser un dictionnaire plutot qu'une liste pour avoir chaque billet en clef et le nombre de fois ou il est present en valeur. + // ce dictionnaire serait devrait etre trier. + // cette methode doit etre recursive pour que chaque individus se rembourse plusieurs fois jusqu'a ce qu'il ne puisse plus + } + + public int getFortune(){ + int total = 0; + for (Billet billet : fortune){ + total += billet.getValeur(); + } + return total; + } + + public String getNom(){ + return this.nom; + } +} \ No newline at end of file diff --git a/DEV/DEV_Madelaine/Wamster_stub/exercice1/Main.java b/DEV/DEV_Madelaine/Wamster_stub/exercice1/Main.java new file mode 100644 index 0000000..378a9f6 --- /dev/null +++ b/DEV/DEV_Madelaine/Wamster_stub/exercice1/Main.java @@ -0,0 +1,17 @@ +public class Main{ + public static void main(String[] args){ + Individu titi = new Individu("titi"); + titi.add(new Billet(Denomination.CINQ)); + titi.add(new Billet(Denomination.CINQ)); + titi.add(new Billet(Denomination.CINQ)); + titi.add(new Billet(Denomination.DIX)); + titi.add(new Billet(Denomination.DIX)); + System.out.println(titi.getNom()+" a : "+titi.getFortune()); + Individu toto = new Individu("toto"); + toto.add(new Billet(Denomination.UN)); + toto.add(new Billet(Denomination.UN)); + toto.add(new Billet(Denomination.UN)); + toto.add(new Billet(Denomination.DIX)); + System.out.println(toto.getNom()+" a : "+toto.getFortune()); + } +} diff --git a/SCR/SCR2/IMUNES/TP00/tp00.SCR.3.2.imn b/SCR/SCR2/IMUNES/TP00/tp00.SCR.3.2.imn new file mode 100644 index 0000000..cf64989 --- /dev/null +++ b/SCR/SCR2/IMUNES/TP00/tp00.SCR.3.2.imn @@ -0,0 +1,664 @@ +node n2 { + type lanswitch + network-config { + hostname switch3 + ! + } + canvas c0 + iconcoords {96 528} + labelcoords {97 556} + interface-peer {e0 n10} + interface-peer {e1 n19} + interface-peer {e2 n0} +} + +node n3 { + type lanswitch + network-config { + hostname switch4 + ! + } + canvas c0 + iconcoords {120 72} + labelcoords {75 55} + interface-peer {e0 n10} + interface-peer {e1 n11} + interface-peer {e2 n20} +} + +node n4 { + type lanswitch + network-config { + hostname switch5 + ! + } + canvas c0 + iconcoords {360 288} + labelcoords {341 309} + interface-peer {e0 n9} + interface-peer {e1 n11} + interface-peer {e2 n21} + interface-peer {e3 n1} +} + +node n5 { + type lanswitch + network-config { + hostname switch6 + ! + } + canvas c0 + iconcoords {816 48} + labelcoords {765 27} + interface-peer {e0 n9} + interface-peer {e1 n22} +} + +node n6 { + type lanswitch + network-config { + hostname switch7 + ! + } + canvas c0 + iconcoords {816 264} + labelcoords {810 232} + interface-peer {e0 n9} + interface-peer {e1 n12} + interface-peer {e2 n23} + interface-peer {e3 n8} +} + +node n7 { + type lanswitch + network-config { + hostname switch8 + ! + } + canvas c0 + iconcoords {528 312} + labelcoords {513 289} + interface-peer {e0 n12} + interface-peer {e1 n13} + interface-peer {e2 n14} +} + +node n9 { + type host + network-config { + hostname P5 + ! + interface eth3 + mac address 42:00:aa:00:00:09 + ip address 10.80.0.254/17 + ! + interface eth2 + mac address 42:00:aa:00:00:04 + ip address 10.64.0.254/17 + ! + interface eth1 + mac address 42:00:aa:00:00:03 + ip address 10.48.0.254/17 + ! + interface lo0 + type lo + ip address 127.0.0.1/8 + ipv6 address ::1/128 + ! + ! + ip route 0.0.0.0/0 10.80.0.255 + ip route 10.16.0.0/17 10.48.0.255 + ! + } + canvas c0 + iconcoords {576 96} + labelcoords {543 52} + interface-peer {eth1 n4} + interface-peer {eth2 n5} + interface-peer {eth3 n6} + custom-configs { + custom-config-id default { + custom-command /bin/sh + config { + ip addr add 127.0.0.1/8 dev lo0 + + ip addr add 10.48.0.254/17 dev eth1 + ip addr add 10.64.0.254/17 dev eth2 + ip addr add 10.80.0.254/17 dev eth3 + ip -6 addr add ::1/128 dev lo0 + + + iptables -t nat -A POSTROUTING -o eth3 -s 10.48.0.0/17 -j SNAT --to-source 10.80.0.254 + + rpcbind + inetd + + } + } + } + custom-enabled true + custom-selected default +} + +node n10 { + type host + network-config { + hostname P3 + ! + interface eth1 + mac address 42:00:aa:00:00:06 + ip address 10.32.0.254/17 + ! + interface eth0 + mac address 42:00:aa:00:00:05 + ip address 10.16.0.254/17 + ! + interface lo0 + type lo + ip address 127.0.0.1/8 + ipv6 address ::1/128 + ! + ! + ip route 10.48.0.0/17 10.32.0.55 + ! + } + canvas c0 + iconcoords {240 288} + labelcoords {246 328} + interface-peer {eth0 n2} + interface-peer {eth1 n3} +} + +node n11 { + type host + network-config { + hostname P4 + ! + interface eth1 + mac address 42:00:aa:00:00:08 + ip address 10.48.0.255/17 + ! + interface eth0 + mac address 42:00:aa:00:00:07 + ip address 10.32.0.255/17 + ! + interface lo0 + type lo + ip address 127.0.0.1/8 + ipv6 address ::1/128 + ! + ! + ip route 10.16.0.0/17 10.32.0.254 + ! + } + canvas c0 + iconcoords {312 96} + labelcoords {319 52} + interface-peer {eth0 n3} + interface-peer {eth1 n4} + custom-configs { + custom-config-id default { + custom-command /bin/sh + config { + ip addr add 127.0.0.1/8 dev lo0 + ip addr add 10.32.0.255/17 dev eth0 + ip addr add 10.48.0.255/17 dev eth1 + ip -6 addr add ::1/128 dev lo0 + + + iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 10.32.0.255 + iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 10.48.0.255 + + rpcbind + inetd + + } + } + } + custom-enabled true + custom-selected default +} + +node n12 { + type host + network-config { + hostname P6 + ! + interface eth0 + mac address 42:00:aa:00:00:0a + ip address 10.80.0.255/17 + ! + interface eth1 + mac address 42:00:aa:00:00:0b + ip address 102.103.104.255/15 + ! + interface lo0 + type lo + ip address 127.0.0.1/8 + ipv6 address ::1/128 + ! + ! + ! + } + canvas c0 + iconcoords {792 456} + labelcoords {751 479} + interface-peer {eth0 n6} + interface-peer {eth1 n7} + custom-configs { + custom-config-id default { + custom-command /bin/sh + config { + ip addr add 127.0.0.1/8 dev lo0 + ip addr add 10.80.0.255/17 dev eth0 + ip addr add 102.103.104.255/15 dev eth1 + ip -6 addr add ::1/128 dev lo0 + + + iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 102.103.104.255 + + rpcbind + inetd + + } + } + } + custom-enabled true + custom-selected default +} + +node n13 { + type router + model quagga + network-config { + hostname router1 + ! + interface eth1 + mac address 42:00:aa:00:00:0e + ip address 202.203.204.254/11 + ! + interface eth0 + mac address 42:00:aa:00:00:0c + ip address 102.103.104.254/15 + ! + interface lo0 + type lo + ip address 127.0.0.1/8 + ipv6 address ::1/128 + ! + router rip + redistribute static + redistribute connected + redistribute ospf + network 0.0.0.0/0 + ! + router ripng + redistribute static + redistribute connected + redistribute ospf6 + network ::/0 + ! + } + canvas c0 + iconcoords {792 576} + labelcoords {792 601} + interface-peer {eth0 n7} + interface-peer {eth1 n15} +} + +node n14 { + type host + network-config { + hostname host2 + ! + interface eth0 + mac address 42:00:aa:00:00:0d + ip address 102.103.104.104/15 + ! + interface lo0 + type lo + ip address 127.0.0.1/8 + ipv6 address ::1/128 + ! + ! + } + canvas c0 + iconcoords {384 456} + labelcoords {369 415} + interface-peer {eth0 n7} +} + +node n15 { + type host + network-config { + hostname host3 + ! + interface eth0 + mac address 42:00:aa:00:00:0f + ip address 202.203.204.204/11 + ! + interface lo0 + type lo + ip address 127.0.0.1/8 + ipv6 address ::1/128 + ! + ! + ! + } + canvas c0 + iconcoords {408 552} + labelcoords {408 588} + interface-peer {eth0 n13} +} + +node n19 { + type pc + network-config { + hostname pc3 + ! + interface eth0 + mac address 42:00:aa:00:00:13 + ip address 10.16.0.3/17 + ! + interface lo0 + type lo + ip address 127.0.0.1/8 + ipv6 address ::1/128 + ! + ! + ip route 10.32.0.0/17 10.16.0.254 + ! + } + canvas c0 + iconcoords {264 432} + labelcoords {264 463} + interface-peer {eth0 n2} +} + +node n20 { + type pc + network-config { + hostname pc4 + ! + interface eth0 + mac address 42:00:aa:00:00:14 + ip address 10.32.0.4/17 + ! + interface lo0 + type lo + ip address 127.0.0.1/8 + ipv6 address ::1/128 + ! + ! + ip route 10.16.0.0/17 10.32.0.254 + ip route 10.48.0.0/17 10.32.0.255 + ! + } + canvas c0 + iconcoords {48 264} + labelcoords {48 295} + interface-peer {eth0 n3} +} + +node n21 { + type pc + network-config { + hostname pc5 + ! + interface eth0 + mac address 42:00:aa:00:00:15 + ip address 10.48.0.5/17 + ! + interface lo0 + type lo + ip address 127.0.0.1/8 + ipv6 address ::1/128 + ! + ! + ip route 0.0.0.0/0 10.48.0.254 + ip route 0.16.0.0/17 10.48.0.255 + ! + } + canvas c0 + iconcoords {528 216} + labelcoords {528 247} + interface-peer {eth0 n4} +} + +node n22 { + type pc + network-config { + hostname pc6 + ! + interface eth0 + mac address 42:00:aa:00:00:16 + ip address 10.64.0.6/17 + ! + interface lo0 + type lo + ip address 127.0.0.1/8 + ipv6 address ::1/128 + ! + ! + ip route 0.0.0.0/0 10.64.0.254 + ! + } + canvas c0 + iconcoords {768 144} + labelcoords {768 175} + interface-peer {eth0 n5} +} + +node n23 { + type pc + network-config { + hostname pc7 + ! + interface eth0 + mac address 42:00:aa:00:00:17 + ip address 10.80.0.7/17 + ! + interface lo0 + type lo + ip address 127.0.0.1/8 + ipv6 address ::1/128 + ! + ! + ip route 0.0.0.0/0 10.80.0.255 + ip route 10.64.0.0/17 10.80.0.254 + ! + } + canvas c0 + iconcoords {624 216} + labelcoords {624 247} + interface-peer {eth0 n6} +} + +node n0 { + type host + network-config { + hostname host1 + ! + interface eth0 + mac address 42:00:aa:00:00:00 + ip address 10.16.0.200/17 + ! + interface lo0 + type lo + ip address 127.0.0.1/8 + ipv6 address ::1/128 + ! + ! + } + canvas c0 + iconcoords {48 360} + labelcoords {31 327} + interface-peer {eth0 n2} +} + +node n1 { + type pc + network-config { + hostname pc6-5 + ! + interface eth0 + mac address 42:00:aa:00:00:01 + ip address 10.48.0.6/17 + ! + interface lo0 + type lo + ip address 127.0.0.1/8 + ipv6 address ::1/128 + ! + ip route 0.0.0.0/0 10.48.0.254 + ip route 0.16.0.0/17 10.48.0.255 + ! + } + canvas c0 + iconcoords {456 72} + labelcoords {429 41} + interface-peer {eth0 n4} +} + +node n8 { + type pc + network-config { + hostname pc8 + ! + interface eth0 + mac address 42:00:aa:00:00:02 + ip address 10.80.0.8/17 + ! + interface lo0 + type lo + ip address 127.0.0.1/8 + ipv6 address ::1/128 + ! + ip route 0.0.0.0/0 10.80.0.255 + ip route 10.64.0.0/17 10.80.0.254 + ! + } + canvas c0 + iconcoords {648 288} + labelcoords {648 319} + interface-peer {eth0 n6} +} + +link l3 { + nodes {n9 n4} + bandwidth 0 +} + +link l4 { + nodes {n5 n9} + bandwidth 0 +} + +link l5 { + nodes {n10 n2} + bandwidth 0 +} + +link l6 { + nodes {n3 n10} + bandwidth 0 +} + +link l7 { + nodes {n11 n3} + bandwidth 0 +} + +link l8 { + nodes {n4 n11} + bandwidth 0 +} + +link l9 { + nodes {n6 n9} + bandwidth 0 +} + +link l10 { + nodes {n6 n12} + bandwidth 0 +} + +link l11 { + nodes {n7 n12} + bandwidth 0 +} + +link l12 { + nodes {n13 n7} + bandwidth 0 +} + +link l13 { + nodes {n7 n14} + bandwidth 0 +} + +link l14 { + nodes {n15 n13} + bandwidth 0 +} + +link l18 { + nodes {n19 n2} + bandwidth 0 +} + +link l19 { + nodes {n20 n3} + bandwidth 0 +} + +link l20 { + nodes {n4 n21} + bandwidth 0 +} + +link l21 { + nodes {n5 n22} + bandwidth 0 +} + +link l22 { + nodes {n6 n23} + bandwidth 0 +} + +link l0 { + nodes {n2 n0} + bandwidth 0 +} + +link l1 { + nodes {n1 n4} + bandwidth 0 +} + +link l2 { + nodes {n6 n8} + bandwidth 0 +} + +canvas c0 { + name {Canvas0} +} + +option show { + interface_names yes + ip_addresses yes + ipv6_addresses yes + node_labels yes + link_labels yes + background_images no + annotations yes + hostsAutoAssign no + grid yes + iconSize normal + zoom 1.0 +} + diff --git a/SCR/SCR2/IMUNES/TP00/tp00.SCR.3.2.pdf b/SCR/SCR2/IMUNES/TP00/tp00.SCR.3.2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9ce1ae256e3da9346f23f9df894389fdc67aa8c6 GIT binary patch literal 115856 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�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%0D^XH+~Q1OF`h3_IW!0j$wtbCIz`zh-@+ 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 By<`9Y literal 0 HcmV?d00001 diff --git a/SCR/SCR2/IMUNES/TP00/tp20-extension.SCR.2.2.imn b/SCR/SCR2/IMUNES/TP00/tp20-extension.SCR.2.2.imn new file mode 100644 index 0000000..677f83f --- /dev/null +++ b/SCR/SCR2/IMUNES/TP00/tp20-extension.SCR.2.2.imn @@ -0,0 +1,637 @@ +node n2 { + type lanswitch + network-config { + hostname switch3 + ! + } + canvas c0 + iconcoords {96 528} + labelcoords {97 556} + interface-peer {e0 n10} + interface-peer {e1 n19} + interface-peer {e2 n0} +} + +node n3 { + type lanswitch + network-config { + hostname switch4 + ! + } + canvas c0 + iconcoords {120 72} + labelcoords {75 55} + interface-peer {e0 n10} + interface-peer {e1 n11} + interface-peer {e2 n20} +} + +node n4 { + type lanswitch + network-config { + hostname switch5 + ! + } + canvas c0 + iconcoords {360 288} + labelcoords {341 309} + interface-peer {e0 n9} + interface-peer {e1 n11} + interface-peer {e2 n21} + interface-peer {e3 n1} +} + +node n5 { + type lanswitch + network-config { + hostname switch6 + ! + } + canvas c0 + iconcoords {816 48} + labelcoords {765 27} + interface-peer {e0 n9} + interface-peer {e1 n22} +} + +node n6 { + type lanswitch + network-config { + hostname switch7 + ! + } + canvas c0 + iconcoords {816 264} + labelcoords {810 232} + interface-peer {e0 n9} + interface-peer {e1 n12} + interface-peer {e2 n23} + interface-peer {e3 n8} +} + +node n7 { + type lanswitch + network-config { + hostname switch8 + ! + } + canvas c0 + iconcoords {528 312} + labelcoords {513 289} + interface-peer {e0 n12} + interface-peer {e1 n13} + interface-peer {e2 n14} +} + +node n9 { + type host + network-config { + hostname P5 + ! + interface eth3 + mac address 42:00:aa:00:00:09 + ip address 10.80.0.254/17 + ! + interface eth2 + mac address 42:00:aa:00:00:04 + ip address 10.64.0.254/17 + ! + interface eth1 + mac address 42:00:aa:00:00:03 + ip address 10.48.0.254/17 + ! + interface lo0 + type lo + ip address 127.0.0.1/8 + ipv6 address ::1/128 + ! + ! + } + canvas c0 + iconcoords {576 96} + labelcoords {543 52} + interface-peer {eth1 n4} + interface-peer {eth2 n5} + interface-peer {eth3 n6} + custom-configs { + custom-config-id default { + custom-command /bin/sh + config { + ip addr add 127.0.0.1/8 dev lo0 + + ip addr add 10.48.0.254/17 dev eth1 + ip addr add 10.64.0.254/17 dev eth2 + ip addr add 10.80.0.254/17 dev eth3 + ip -6 addr add ::1/128 dev lo0 + + + iptables -t nat -A POSTROUTING -o eth3 -s 10.48.0.0/17 -j SNAT --to-source 10.80.0.254 + + rpcbind + inetd + + } + } + } + custom-enabled true + custom-selected default +} + +node n10 { + type host + network-config { + hostname P3 + ! + interface eth1 + mac address 42:00:aa:00:00:06 + ip address 10.32.0.254/17 + ! + interface eth0 + mac address 42:00:aa:00:00:05 + ip address 10.16.0.254/17 + ! + interface lo0 + type lo + ip address 127.0.0.1/8 + ipv6 address ::1/128 + ! + ! + } + canvas c0 + iconcoords {240 288} + labelcoords {246 328} + interface-peer {eth0 n2} + interface-peer {eth1 n3} +} + +node n11 { + type host + network-config { + hostname P4 + ! + interface eth1 + mac address 42:00:aa:00:00:08 + ip address 10.48.0.255/17 + ! + interface eth0 + mac address 42:00:aa:00:00:07 + ip address 10.32.0.255/17 + ! + interface lo0 + type lo + ip address 127.0.0.1/8 + ipv6 address ::1/128 + ! + ! + } + canvas c0 + iconcoords {312 96} + labelcoords {319 52} + interface-peer {eth0 n3} + interface-peer {eth1 n4} + custom-configs { + custom-config-id default { + custom-command /bin/sh + config { + ip addr add 127.0.0.1/8 dev lo0 + ip addr add 10.32.0.255/17 dev eth0 + ip addr add 10.48.0.255/17 dev eth1 + ip -6 addr add ::1/128 dev lo0 + + + iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 10.32.0.255 + iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 10.48.0.255 + + rpcbind + inetd + + } + } + } + custom-enabled true + custom-selected default +} + +node n12 { + type host + network-config { + hostname P6 + ! + interface eth0 + mac address 42:00:aa:00:00:0a + ip address 10.80.0.255/16 + ! + interface eth1 + mac address 42:00:aa:00:00:0b + ip address 102.103.104.255/15 + ! + interface lo0 + type lo + ip address 127.0.0.1/8 + ipv6 address ::1/128 + ! + ! + ! + } + canvas c0 + iconcoords {792 456} + labelcoords {751 479} + interface-peer {eth0 n6} + interface-peer {eth1 n7} + custom-configs { + custom-config-id default { + custom-command /bin/sh + config { + ip addr add 127.0.0.1/8 dev lo0 + ip addr add 10.80.0.255/17 dev eth0 + ip addr add 102.103.104.255/15 dev eth1 + ip -6 addr add ::1/128 dev lo0 + + + iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 102.103.104.255 + + rpcbind + inetd + + } + } + } + custom-enabled true + custom-selected default +} + +node n13 { + type router + model quagga + network-config { + hostname router1 + ! + interface eth1 + mac address 42:00:aa:00:00:0e + ip address 202.203.204.254/11 + ! + interface eth0 + mac address 42:00:aa:00:00:0c + ip address 102.103.104.254/15 + ! + interface lo0 + type lo + ip address 127.0.0.1/8 + ipv6 address ::1/128 + ! + router rip + redistribute static + redistribute connected + redistribute ospf + network 0.0.0.0/0 + ! + router ripng + redistribute static + redistribute connected + redistribute ospf6 + network ::/0 + ! + } + canvas c0 + iconcoords {792 576} + labelcoords {792 601} + interface-peer {eth0 n7} + interface-peer {eth1 n15} +} + +node n14 { + type host + network-config { + hostname host2 + ! + interface eth0 + mac address 42:00:aa:00:00:0d + ip address 102.103.104.104/15 + ! + interface lo0 + type lo + ip address 127.0.0.1/8 + ipv6 address ::1/128 + ! + ! + } + canvas c0 + iconcoords {384 456} + labelcoords {369 415} + interface-peer {eth0 n7} +} + +node n15 { + type host + network-config { + hostname host3 + ! + interface eth0 + mac address 42:00:aa:00:00:0f + ip address 202.203.204.204/11 + ! + interface lo0 + type lo + ip address 127.0.0.1/8 + ipv6 address ::1/128 + ! + ! + ! + } + canvas c0 + iconcoords {408 552} + labelcoords {408 588} + interface-peer {eth0 n13} +} + +node n19 { + type pc + network-config { + hostname pc3 + ! + interface eth0 + mac address 42:00:aa:00:00:13 + ip address 10.16.0.3/17 + ! + interface lo0 + type lo + ip address 127.0.0.1/8 + ipv6 address ::1/128 + ! + ! + } + canvas c0 + iconcoords {264 432} + labelcoords {264 463} + interface-peer {eth0 n2} +} + +node n20 { + type pc + network-config { + hostname pc4 + ! + interface eth0 + mac address 42:00:aa:00:00:14 + ! + interface lo0 + type lo + ip address 127.0.0.1/8 + ipv6 address ::1/128 + ! + ! + } + canvas c0 + iconcoords {48 264} + labelcoords {48 295} + interface-peer {eth0 n3} +} + +node n21 { + type pc + network-config { + hostname pc5 + ! + interface eth0 + mac address 42:00:aa:00:00:15 + ip address 10.48.0.5/17 + ! + interface lo0 + type lo + ip address 127.0.0.1/8 + ipv6 address ::1/128 + ! + ! + } + canvas c0 + iconcoords {528 216} + labelcoords {528 247} + interface-peer {eth0 n4} +} + +node n22 { + type pc + network-config { + hostname pc6 + ! + interface eth0 + mac address 42:00:aa:00:00:16 + ip address 10.64.0.6/17 + ! + interface lo0 + type lo + ip address 127.0.0.1/8 + ipv6 address ::1/128 + ! + ! + } + canvas c0 + iconcoords {768 144} + labelcoords {768 175} + interface-peer {eth0 n5} +} + +node n23 { + type pc + network-config { + hostname pc7 + ! + interface eth0 + mac address 42:00:aa:00:00:17 + ip address 10.80.0.7/17 + ! + interface lo0 + type lo + ip address 127.0.0.1/8 + ipv6 address ::1/128 + ! + ! + } + canvas c0 + iconcoords {624 216} + labelcoords {624 247} + interface-peer {eth0 n6} +} + +node n0 { + type host + network-config { + hostname host1 + ! + interface eth0 + mac address 42:00:aa:00:00:00 + ip address 10.16.0.200/17 + ! + interface lo0 + type lo + ip address 127.0.0.1/8 + ipv6 address ::1/128 + ! + ! + } + canvas c0 + iconcoords {48 360} + labelcoords {31 327} + interface-peer {eth0 n2} +} + +node n1 { + type pc + network-config { + hostname pc6-5 + ! + interface eth0 + mac address 42:00:aa:00:00:01 + ip address 10.48.0.6/17 + ! + interface lo0 + type lo + ip address 127.0.0.1/8 + ipv6 address ::1/128 + ! + } + canvas c0 + iconcoords {456 72} + labelcoords {429 41} + interface-peer {eth0 n4} +} + +node n8 { + type pc + network-config { + hostname pc8 + ! + interface eth0 + mac address 42:00:aa:00:00:02 + ip address 10.80.0.8/17 + ! + interface lo0 + type lo + ip address 127.0.0.1/8 + ipv6 address ::1/128 + ! + } + canvas c0 + iconcoords {648 288} + labelcoords {648 319} + interface-peer {eth0 n6} +} + +link l3 { + nodes {n9 n4} + bandwidth 0 +} + +link l4 { + nodes {n5 n9} + bandwidth 0 +} + +link l5 { + nodes {n10 n2} + bandwidth 0 +} + +link l6 { + nodes {n3 n10} + bandwidth 0 +} + +link l7 { + nodes {n11 n3} + bandwidth 0 +} + +link l8 { + nodes {n4 n11} + bandwidth 0 +} + +link l9 { + nodes {n6 n9} + bandwidth 0 +} + +link l10 { + nodes {n6 n12} + bandwidth 0 +} + +link l11 { + nodes {n7 n12} + bandwidth 0 +} + +link l12 { + nodes {n13 n7} + bandwidth 0 +} + +link l13 { + nodes {n7 n14} + bandwidth 0 +} + +link l14 { + nodes {n15 n13} + bandwidth 0 +} + +link l18 { + nodes {n19 n2} + bandwidth 0 +} + +link l19 { + nodes {n20 n3} + bandwidth 0 +} + +link l20 { + nodes {n4 n21} + bandwidth 0 +} + +link l21 { + nodes {n5 n22} + bandwidth 0 +} + +link l22 { + nodes {n6 n23} + bandwidth 0 +} + +link l0 { + nodes {n2 n0} + bandwidth 0 +} + +link l1 { + nodes {n1 n4} + bandwidth 0 +} + +link l2 { + nodes {n6 n8} + bandwidth 0 +} + +canvas c0 { + name {Canvas0} +} + +option show { + interface_names yes + ip_addresses yes + ipv6_addresses yes + node_labels yes + link_labels yes + background_images no + annotations yes + hostsAutoAssign no + grid yes + iconSize normal + zoom 1.0 +} +