From 8ecb1b527adacd042c726b65a6a13e60d57f5443 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20MUREAU?= Date: Thu, 17 Jul 2025 08:43:49 +0200 Subject: [PATCH] preprocessing + unit tests updated --- deployment/api/preprocessing.py | 14 ++++++++++++++ deployment/api/tests/test_preprocessing.py | 6 +++--- presentation/presentation_modeles.md | 0 presentation/presentation_modeles.xlsx | Bin 0 -> 12777 bytes presentation/récapitulatif modèle.xlsx | Bin 6542 -> 0 bytes ...u_comparatif_air_paradis_word2vec_glove.xlsx | Bin 0 -> 5948 bytes presentation/~$presentation_modeles.xlsx | Bin 0 -> 165 bytes 7 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 presentation/presentation_modeles.md create mode 100644 presentation/presentation_modeles.xlsx delete mode 100644 presentation/récapitulatif modèle.xlsx create mode 100644 presentation/tableau_comparatif_air_paradis_word2vec_glove.xlsx create mode 100644 presentation/~$presentation_modeles.xlsx diff --git a/deployment/api/preprocessing.py b/deployment/api/preprocessing.py index 3a86053..39031e6 100644 --- a/deployment/api/preprocessing.py +++ b/deployment/api/preprocessing.py @@ -30,37 +30,51 @@ def preprocess_tweet(tweet): # Decode HTML entities (e.g., & → &) tweet = html.unescape(tweet) + # print(tweet + '\n') # Convert text to lowercase tweet = tweet.lower() + # print(tweet + '\n') # Replace URLs with a generic token tweet = re.sub(r'https?://\S+|www\.\S+', '', tweet) + # print(tweet + '\n') # Replace mentions (@username) with a generic token tweet = re.sub(r'@\w+', '', tweet) + # print(tweet + '\n') # Separate hashtags from the word to preserve semantics during tokenization tweet = re.sub(r'#(\w+)', r'# \1', tweet) + # print(tweet + '\n') # Remove unwanted punctuation and special characters (except useful ones like < > @ # ! ?) tweet = re.sub(r'[^\w\s<>@#!?]', '', tweet) + # print(tweet + '\n') # Remove non-printable/control characters (e.g., \n, \t, emojis, corrupted unicode) tweet = re.sub(r'[^\x20-\x7E]', '', tweet) + # print(tweet + '\n') # Tokenize the tweet into individual words tokens = word_tokenize(tweet) + # print(tokens) + # print('\n') # Lemmatize each token to its base form (e.g., "running" → "run") lemmatizer = WordNetLemmatizer() tokens = [lemmatizer.lemmatize(token) for token in tokens] + # print(tokens) + # print('\n') # Remove stopwords, but keep negation-related words (important for sentiment) stop_words = set(stopwords.words('english')) important_words = {'no', 'not', 'nor', 'neither', 'never', 'nobody', 'none', 'nothing', 'nowhere'} stop_words = stop_words - important_words tokens = [token for token in tokens if token not in stop_words] + # print(tokens) + # print('\n') + # Reconstruct the cleaned tweet return ' '.join(tokens) \ No newline at end of file diff --git a/deployment/api/tests/test_preprocessing.py b/deployment/api/tests/test_preprocessing.py index 56143e8..4838ccc 100644 --- a/deployment/api/tests/test_preprocessing.py +++ b/deployment/api/tests/test_preprocessing.py @@ -8,10 +8,10 @@ from preprocessing import preprocess_tweet def test_preprocess_tweet_removes_hashtags(): tweet = """ - Just flew w/ @AirParadis 🚀 & I’m in LOVE! Epic service, comfy seats. + Just flew w/ @AirParadis 🚀 & I’m in LOVE! Epic service, comfy seats, good prices at https://airparadis.com #bestflight #AirParadis """ - assert preprocess_tweet(tweet) == "flew w < MENTION > im love ! epic service comfy seat # bestflight # airparadis" + assert preprocess_tweet(tweet) == 'flew w < MENTION > im love ! epic service comfy seat good price < URL > # bestflight # airparadis' def test_preprocess_tweet_removes_mentions(): tweet = """ @@ -25,4 +25,4 @@ def test_preprocess_tweet_lowercases_text(): My 3rd time w/ @AirParadis & still amazed 😍 Crew = lovely à every step! #flyhappy #AirParadis """ - assert preprocess_tweet(tweet) == '3rd time w < MENTION > still amazed crew lovely every step ! # flyhappy # airparadis' \ No newline at end of file + assert preprocess_tweet(tweet) == '3rd time w < MENTION > still amazed crew lovely every step ! # flyhappy # airparadis' diff --git a/presentation/presentation_modeles.md b/presentation/presentation_modeles.md new file mode 100644 index 0000000..e69de29 diff --git a/presentation/presentation_modeles.xlsx b/presentation/presentation_modeles.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..040d42cb75d2fe2600e00eed8687b647d545a606 GIT binary patch literal 12777 zcmeHtg$&Z})ch z`wQ+(o=KiO$$67GIhOYvC0QtFEC37u4gdg<0z|k1$L$~h0O(f$044wqQdi90&e_z? z*+9+1!PH5g$=%k5Bo7*rCItiHqXM!9_kjg_*8{m1|ryX0jrCCZojWs6}Ag?L1f57cB`F5~FOT+bM>; z`*|oZ*rg3AOY4Gb%Nxt#Y32|57j zNX*gV=XEsUT?r6nIWtd$crE!1g#i5GXV1@20HyzM(>iq)^2-<7lY2Rf_~NDpj;1zF z%uK&+|L30n#Xk9$zg`+Iuh`9k6nZN47&dS-yBvomD(fa9^@CK+*I#-GwJzo>1;KJV zH6fZBeh`$TU#suq5OA44=3s#IdV{?*3ImIeyxy%WH0A!I3oIR#WAeL?rRzQDuCrIO z*Qt^+9yG44v2-PkMY*zrtK{#d&%~?H#+fwn;W57vhGGk(2I%z3Yp)pJmP5>nsvehx zRyJ_u93+gV`^_g8>>~?>^T-`drM@0;GB#f*_a3kzy}H9!SGC}=tTfJYapV02&O8A}(5a$yk4P5~{{n z@{dpefc;BqLw(VVyA89Oy`#0Uy}k8sc`RSU)_#K<4cs>M1UtMs-LqaMF0Tns%1eO& zXVH`p7nhC;;)tlJr&XH;-w=hRFb(hbxS;>6GC$u+O*JPxX*)SbYGwW2NaHPMM;NX3 zIXn@Eo>)l1d%5+B8$a(RAi~`_Lk}XPzv!KNnaln{z04d#;laDa zQoyjvK!%mpP*R!9phfXq^ge%$e!t}+&-SYoa`$t5q$<7hUIqNL?$RVHTxtIoBl#ahEm|I-Jjn zGN@H(s%E$Vwx`ktJ&J_saWz;+Oim6&D$B`7N$L1mT7x^(+8l~nqo^z!kDT}rmg+iZ zBp%t~))|dWw_v+Lw(HsyraV)goTl$;p~~-)P73sDX8IYmA{qIBap|l}Af(b0TcEAs z1DIm>bMUJf!2$M!SF@$$2*@gYO3(V*>OV8<0O()eKGd(ri=6rglMv!sZcLhU)rpVjvJ3-)vvks~f${5=$-V}yMoDPJ~ z7nLSGmzdCXj(W|Eo8Xir_1=nuSo#cA_A-wnY)%c$bXM{rJ5in)xaVh)PDNG6neRk= z4!)nC5#5^NJ8;XV3_N^46Nay_N3VwEobU#}4VIF;PU5pvEW?Wa##~V4iPmxGbmhS) zOJn9`z6US)a&Yl>pOFvAbive3(WS0W5Bi~TN2eIfe+C!er4+zGOLC*0joh=)ho zktBg`n3X)(+1$WlRP9vC#ZmXqk!7)r8y!{mu5C*ieRzsji~Ssh`a##g)2G2(E97YD znpsu>TK(>ke)H%&fv>oN$#`S93qs1pD26#2qeVq&W^}a9Q9LT2&G<&+LLiwY!)4MO zxmD>`>F#i)$N6=yRa9Qzz@Nv2!~43}RXiRuO7^=wm*N9q1(PFHS)2uOcZGM9z7*?nT^)U?W- zza_V`!p)jXcmihbhi~C#bN%M@=={yZ9K_<&IMuM4$z*m`H`XbJ`)d9HcJm|X2J2IP zH{*3X)l6ubSOqb?J@GUB(({Y&{oOkQ1QSy(Ud}YXq%eE{9K?%v{ws_9)kpuG(I8$5 z&KDp5?_Nq(irF>udA{XJ)b^^+Qy+!CG1%6)BtVBnGr6rp+neEBn!lQ7Aa$juBDPoG_aN z;|CbBu()?_X(;i+z7~*)Up7sJvRjR@xUgC|O%M&eMD*d>E&uyq)uXb&+J**_G+MLm z=O!`WHB5G(2l3qft;ueO?q0pKk|uwN+}o45J-da?TQ(nz}+mQIWY7buIuv+K?0Y0K}$o?fiPVH|3y zvVAA`GC{6&&;E34)G}{oG7tDfl3Rt@>{?#7@$;O6#*BPfG>Bf-7R%|@LZiwSxssQH z7SCK-r7tofGz%`tBRDrjw$rHKPD5l<0Szjir*ySk!kRB_BX$joE!`HlsZ$rO1xLH| zR+v_~#Z#MOu`)z_HLTV!gAnOG9{56mYGjp`wlk*QbDxZ&zcB6eICevMQQS|G? z!JMfg9X(_@=|Ra7**IjowD*JE*47x6sUS4Sw?F;Cx|2KIj$dtvomKZpY1MGuoH$eY zL3h7Aq1%F+0e0VEqMgBa`eB?z!#a#sLTxSd?o-LZCK5xxM!)gbCC$z{acRN`3~)lP zf@v7qjd?G>OoH;s0%D~d6MsBLTb)8lc`@65k8njmz}d*aISpUZ4GE+oHwjA?IuE{| z7$#9DbabZKvzg|bM2Xmdz^a7aQTiz|+M52S6mx{WPmW%q_VXBFP=9QH2HUvpi#$Wc=;qDx_cW~v>*LFDTi zfjR?XkW>}ZRPNeC{D>#9h+abYTP?Gow|o-OAAdWaQ2HGPeH<5|2lvzt+C%9*&06UB zBCT;WBK|Am=qn(}2A)^|u1VpNB$}p&qw&NYa^H~}s9@cP5PxeyfdoI$7ecSVA`=k7l9`BssmL4`j<|gF-10b| zFKGvg*5@kXi&0=dB9))hcsqxG&N4<0=X=i(UE}A2-q&li6LjjG=03eP>tM2+!&^!{ z>*^FOTxGk+0q23tr^JPk>&v6d{`y=_(LtUfn+1Mn6vOm#h#*#P5yy%Rw?LiO(e8@&94Wmgah&{ zCuIXxJZTnTr2OAc6@E<5lMiSS4cn5@(NVLZhPlTfvSGa0d>nTOZT37C8JZwPk3TPc zt;VbgDPA2X$sVQKndy5v<>{Z_r5%hnE=B(Z4Nni~{oGpOE=EZ~33qMo2-OfM{@vTe zR3fx8dfPNB0ci!fNvbMP61_qkk{Dt+v8+^sE+z?Unn4&(A>inEJuVdbieu2wNv36Z z?X9W`bFdtt#Z=FNQRQS&F}foepInaEhzr<1sch$qdNAj zi&;|)0Y~!^iiGw9o>!!P5intby$00Yy*Ri`9XfUaa9vcHnxn@xVxM)D{~ z?$wDrb()0ohhZ(X2%Vvz79$kJa&zEC!?K2P4_ccd_<=PPLOF^!s5GHh7l`VFg!i`a z=HTw8B1=f(<;UZDdvv?5*dP0bNa%5L%8~PAje*JD`|jA>&-dx={pLOwGqK-#|1c|f zo>=g1dw2Xvcp#@qoVm^W99Tom+;)F?bNa?>O&1b%2qY*UA>J^6zPL-fXNI&XqX4tv z&36x9Fou!=utnW3mmyp$gEte@OKp$OrL!^z0@m6D|`|e#lZ-@Svb~<7O zgq_8EO2nIf?IUxhKGP+^zA(WRq70t$<4;aSY128*HmlO%{hKt@45uNEVW(|*7}zv#Ia?<1=SLG2!IN`++fSe*#8yVd zmWQ%0Xk3^`qz2W|oS-ma|2z^2EQu|WLBYrni`C~KH()@VsuJf(VF9L^vU$g2){b&Z z=ZMBYx_$gby-ZDZbf;K@BQI5D zw}?{}&%3b*pJA*NULP)S7J*yE$l>gyYHtwyvT^OH53$*bH8d# zlvd0^VQsX$Mlvc5sjx(OpVEBR%@Fz{R|%frx{#^{e!ht-9b8%3B_C4v5ZI+aG!UW& z)S}{KA1NV&)-nrqAb++Z8u3&{_$lQFMLRb~iVNnX?f6t~J?J1Ms_yD)*}J5SE37PY zr-lA8PF&KWqtBQ)=)t8ZP!K)IfzOC8(AU3&-PZPEh;d9}Dv7xgX{_8NnYxjtfmfn1 z)n=V4)|~YVHGLU6s`JH=T_RsQ9o06oRFWg^^SIjNF1#L2sl*}_>CzTLv~ycMB$HZK zF2XiEvKJ&%liabtMZlq!JF>{Do57uSlCb;sQ6Aaud=5DutL#20CGJ=?GPs4H>JNFR zSjMv(N7WSCA_L-T(t4@7Rj^xem2Kq#$UgP3GyzInv-vboFm9~irCqWhm?}F*@b}DE z`JIb;*k-;;#^hzczW4bWbobxB=IjeR$SHEr!&dP89QT-6jI7H!vw9klv_(k~lzI-h zh>eU}Af~46`JB^FC z`8I0TylQeYkJIBwSWmW~F2!d=HJQtX&*As2{qzg0%wqbq-A%y_{kc z^tt}l1ANp_%OR;yag&G-jaEGhTKQtO{b1Wv7+8x_oQnaTkwG*zEOzq+TF4a7F<~sl z1{$6qc2S(5Yves*qlsKTh;1gxu=i9lZjKNVVZY1MYh9B5Hkb@G%M>jg(d}<4Rq>Cf--xZJ*gkCF?Wb?xU2^2J9peknc$<|L6Q=@&ag`zbuKJ zk#1H5AC3yGj!COEMmIBe! zUcz35gKwkb?F}aA#^{EP-FP^7E8&15eIF$FbWGjf@U6jXTBmGo3mUFy>?5E|>|I0W zcqwN&>JSLe+B7s6e8v9}#tIY9ph*ADRR+UOfV2Edd2kS{IYYM@s`&>bbRJv|@qq>q z)O}F%r=YK(9J&cYZNVZS!G-M4^9z13bf9k@NFSYO3M;-XKf?fc>8+`VppfOt5f7^j zcY%R|%8scE-$$B}X7tnCL#S#&NaC=Hx>9!F$qyx}`99ds+@+-@MLl>jHHk5^+fh6% zl-Pi{C;6c3id9oPb0)d`!shs(!vh>xlZjQ!-0OiLQJbCDI(0;T+pDpP0iJHNaJ|BD z1p^A!9t%$iy@cMD)}91T1y91trx7eRVVl?Nnsb*cMztfIRrKFxGdK9OS<}q^M<#_Os+c&rQm+ZOxhu zV>2gO#y@0PDKzUI2oSd7O%N|F^gT~}o~6OU&!VeGL)Cdn0oRQbVHZ22>HWv;P4tdB zm8gqpU$@dzVBxEzZ3{+^Xzo5bPChZ^q9qNg*&!2C-Vnxf1wFO;!hJ@w?owurooqe1 z66M_$4M~}+>KrS(3W>bEta$1sU)s$3f)j>Zl&{;33W7y`)ci zl@a+F!w@+-c3}ou*^U-vbONJ1!PjG!<)U#a^=H5n^?hJJXa! zW-M7ie~li77t`75R@DaTE3nepk?|_f^=Xi)kSFPHvtzqOl+uzUQJYw)JFt%nvD#16 z{QN2hhN?-!&;V$O7pDhr7?TxF@ydP-QKT&hn-KMkb3KTTg^|jfzy@82@E~m{JW9R!k|0 zE!S1#aQHd4O)a|y+&osROQO%WN35SZjV0Si!(C*^$8u0TD9V91Ix1>U5uN?~YJPav zkl|(^yXw(~{_QL%i>45=2pFcuZW` zKWrn1f_q)>PRqto*3nrV?VY@W{54@=wGZ`D6q2GS^E2rKxe-Hl{AqI6Y_BTc_s2^g zPSV(vo*8VLlC-NZ)*pJ%omiy~WLp(4-m&?^@UWmK{NLo^WvpfA-Y_^7cLu`#c7)ByD0?CT+=Zs!`~Y4P;|I zn-$B!Dj7Zm53HD9lH#BD%_ArrR5sqem=P^w}-0J?=z1285iqW^DUJf;_ zR^vg3AvTyL&e-*Ut$v=EcF`H^m$;OJr5?omk#e>$uF(XF$r1C_rQOg| z8AA#i1Nw~`b7;XiKCg=1unmqp$#>d^h{CI>8o5%%N5407x#@DHIPFEQt+kBI+7ukqQk%67g48_^f0mHb~p=Ql3)4|?riy(77s~j45eAqNcZ2ohRYPdnvAyjuzRj8b!2g}V z4COP!OfzK2mI;nUCCF=$v0bE!`(OzRo{>M!Xqu@l4N5^lCZa!1>osCkh%&_!ZntmG zLe(eu?{R`V3(^rDEQ5DZ1QVsjR<`E`u(iwzb*BtlKAJ(i0xH_zqfb7>{B~d4$E423 zgQa=m34&AP^tbI_R3v5S*FRot#>)#1Rf3$d4f|qU)5<37u{VxqT zyu@2)Q%6-(XXoDnFY_|ftKWq zo});qE{YV|j;|uXQqtIpTe52Up@pJ9_!JNYBY`TRj3p9>EpQuWf+9gbBZ#}-$`VO7 zKpM6cFE%FdiU-=Zo$E&lkqm_d`A5_IA3Y~yT&Jz6H*I$Y-{sWlRI;!Kav&Mk1r*08 z=p1(~GZ_vNa{T8&i38usj@R`AS1`^voHlNc9uhrBpBqw5*qr0Rpr2EEQD%F$BOGgZ z&8|n>SqoCSsop#Na%zz6vFm~{J$?@Qv}w7jpOYF2++J z9Y|v?8{&hH7}3{fb&C&SJ4vn^JEOgCROS*>FYchbxT#HYi&x}HpNUx1XQ{6XcJn(`|_-1338X< zVq#>Pg!?+&dN`AK^sDv6@wbCJYQ1FIc5KVJ>kaC7^VU^?j`w5{2t0^tcDFpt77;m$ zNv;Gv5xz$S0XtTqHUT237x|Z-gx^i1MUq%I4#U&JzVviCh7M)Pu>B}XHhs;6V~fpU zFK3<$ABm;ejZ$`E1LIl}dhMTt@+DoM0kOPpKRjdkErVqh+viwVN4k?N`ALaGS=aBV zTrOA-iB1e|!$%0Dh(P&ury0aVOj~9&FTC6*=&0U7>|&$3jhoHJt@X#=%7mi@Mk=|U zEYADzXgLG+<9bG&-0Vkjwb8QXpUL5iubsasM~8mF=SHrnR36nptV6E3Wo=fQ0bZ=Q zpqE1L{j5|m)Jhafg{6>qbNZ>WToQ>o{HZaL3FETVFe;HvOk4ey#ywH_4QlOUob&P` zIzO$_D+Qjpu}XF%{zGo*0d++e;v?id2Nue@MgWJJ)_BiSO-iS5&gM;^2-G=1J8o413%xI@3A{6zZ!tz`{KU>`BqX#iWHbnSU z_PhJiP$#Kp?DAYm℞05X8gNZ=d{+s73BF38CH8j@n)?N$-Fe@=Ed@h;W zu~g@}(Yx{YE2cik+3yzIUaqt1aN~HCU6ZB8ydz4M{Brp4W!nH@J9>A0_*;McJrf() zG0+drTf4ggiU1$X2BKqm=uY4DgRHPVkH!0n+4pE5UaF3~3SAD>fBmClp8YN?npp8D zTeMUNVD>cKh`gprHj)J0p)%dxdmGUMCR(#aekQo3#`k@rw+y{=&KBnqU@*I74>Vf~|^#P?sPDgWwG@&9eYP zQLb?htP1jPuHuR}mix6M71hN}t>P4UwqE_@b6ioc{v1C;M5`b6Nj9^}Q7rRkGk4Rz zC;h?9P8VHlT6u}5jC;LOiUd^_mw$M{^t3?6nDOgxKu|LxDoV*Wl(xsJ6)f~tMX1CC zu?QxaVbVY={;0QjzO}B{hYbZaBk`&VifmEHLt6W8-hRIPg@;)mbYdj zTsG2>4*tp^DT(K+8+Us$Ayy(&>;3x76>b04{dC;SZ|la~CoX9JC~V=&2dC#2EDM4s zeVR6#Xfs0ePK^Qlv6zm81Ks|j^#yaSg!TiFMf^?Yvoq)BZT6Ta|8v5z` zhJszcM3*iK1apz7c#S|=xdjOZm5eTRxSjE>XeeBGot&B1|>=aLMLU87PABf(_5^e3f`|FDiY=EWE88>aoyq%K*_5KCNXsyGq;J02wv{U+Ow?u7m6GF`DXfoMI5z-6p*@_~2D!^0xV^+|yjJ!XIf0<{er$c{ zRes_SuYqSuqmNJ8v&nCCG>fopidP=j1f+qaTimu`MsKFh;yOz^y!Jn=I$>Q*DUTwe z&bzbBa`{v3>~h)(-W_;Nh8e{?4v)4yCbEr0PF=O}my5d4j&2wmzP(NXE}9 zYjon^>dw(gP(&&NBIonefLN`s4?!re=H60jsnbg-BVw0TAC?4L4_QMo7t9&z!E=Hr zOljw77kLV4`;t$ESqVJC&Nm7;<9YnpbxZM9YZ%wG37M;)`=OnX+&YwE#hpbF1j(*C z)dYkckX}nEjTvL0KW@4h=09DCR>);kJC|K&Dts)o>4g30Ol-@8pI#7==0V)OOMOf3 z=X+cd`t88A7s51REs?;moKt(=prN0xGr_2#BT_r%LEl~m4b?W8tx6E&^WDy|0OJw3 zmg^H1fJ6rRzBjR6+A>a@9mz3dc4mX#*FdU`9jxT2h!Zt_@)Y%;KV(FrNDCHgVcejk ztO`>IHy57UZF|I9;QB{1L~?U@h<`D|H!s`++F#Ak$id-%R`{Z_KbDM_5xULa=LpV- z8CG=*D@99&-WDT-caza^INb0i%yrd~d*RnTdiF)o&^jyvy|*)|PqkJET|c>?B_OwL z)mV1oxno)#a#8w~pHTa8%NF^R>4TKc$tirlGWiawBQc8C#^Fles+}_$^Wl)CG9Edn zsQ^_A;Xf9Bo@zwTwJZ$)8ea2(XqcilbUGk9=am!}6G(`$c8S0h7DRG8vdptpl!lZz zwuhyYQhwjxltqw+z$`3x`X?AKC5kt|)Wl-P7RMQ94Ao7dBvX{)A7ef!FvkS-_}f*EZ- z8$_O zzW9~){1xF>*5XfuN8(>~@Q)nEuYkXj0Dl64Nqz_Xg#!3TO5j(}|IGY9?c*2hc0SKL7v# literal 0 HcmV?d00001 diff --git a/presentation/récapitulatif modèle.xlsx b/presentation/récapitulatif modèle.xlsx deleted file mode 100644 index 00a62c7d418e18e38e6d8fcd1e62bacb243cc77b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6542 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 diff --git a/presentation/tableau_comparatif_air_paradis_word2vec_glove.xlsx b/presentation/tableau_comparatif_air_paradis_word2vec_glove.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..0cd382aca5540ea489d31f63c6c60b1b48b3af0a GIT binary patch literal 5948 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 literal 0 HcmV?d00001 diff --git a/presentation/~$presentation_modeles.xlsx b/presentation/~$presentation_modeles.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..1a50c8de654349e4e9563a211e3f5dd511129b09 GIT binary patch literal 165 zcmd<}O-yksP0r5DQ}<2GQy>=bGWaqiGNdrLF_bbSGh{PlGUPF+gT?X~6sQgXF*_5* literal 0 HcmV?d00001