From 0a8f6621fcd2315e1e62527d16b6f066ff584184 Mon Sep 17 00:00:00 2001 From: piair Date: Fri, 23 Feb 2024 20:14:10 +0100 Subject: [PATCH] smol update --- index.html | 24 +++--- src/css/fonts/Montserrat.css | 40 ++++++++++ src/css/fonts/montserrat1.woff2 | Bin 0 -> 9584 bytes src/css/fonts/montserrat2.woff2 | Bin 0 -> 8636 bytes src/css/fonts/montserrat3.woff2 | Bin 0 -> 5080 bytes src/css/fonts/montserrat4.woff2 | Bin 0 -> 13508 bytes src/css/fonts/montserrat5.woff2 | Bin 0 -> 14940 bytes src/css/style.css | 47 ++++++----- src/js/annimateTimeLine.js | 113 ++++++++++++++++++--------- src/js/annimateTimeLine.ts | 133 ++++++++++++++++++++++++-------- 10 files changed, 256 insertions(+), 101 deletions(-) create mode 100644 src/css/fonts/Montserrat.css create mode 100644 src/css/fonts/montserrat1.woff2 create mode 100644 src/css/fonts/montserrat2.woff2 create mode 100644 src/css/fonts/montserrat3.woff2 create mode 100644 src/css/fonts/montserrat4.woff2 create mode 100644 src/css/fonts/montserrat5.woff2 diff --git a/index.html b/index.html index 2c42adb..fa94943 100644 --- a/index.html +++ b/index.html @@ -1,15 +1,17 @@ - - - Piair.dev - - - - + + + Piair.dev + + +

- Ce site est en cours de construction. Il devrait s'améliorer de jour en jour + Ce site est en cours de construction. Il devrait s'améliorer de jour en jour. +

+

+ Il est conçu pour les ordinateurs. La version mobile arrivera (peut être) plus tard.

Pierre TELLIER @@ -64,7 +66,7 @@

2021

Programmation d'un logiciel permettant d'obtenir les données de Parcoursup automatiquement

-

Très utile pour voir le nombre de personnes devant moi sur la liste d'attente de Fénelon St Marie, sous la forme d'un graphe.

+

Très utile pour voir le nombre de personnes devant moi sur la liste d'attente de Fénelon St Marie, sur Excel.

@@ -83,7 +85,7 @@

2022

-

TIPE, projet de groupe en Python en et C sur du traitement d'images.

+

TIPE, projet de groupe en Python et en C sur du traitement d'images.

@@ -99,7 +101,7 @@

Je sais qu'il est pas beau, mais je ne suis pas un créatif.

-
+

Et bien plus, avec vous ?

diff --git a/src/css/fonts/Montserrat.css b/src/css/fonts/Montserrat.css new file mode 100644 index 0000000..a30da81 --- /dev/null +++ b/src/css/fonts/Montserrat.css @@ -0,0 +1,40 @@ +/* cyrillic-ext */ +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 400; + src: url(./montserrat1.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 400; + src: url(./montserrat2.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* vietnamese */ +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 400; + src: url(./montserrat3.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 400; + src: url(./montserrat4.woff2) format('woff2'); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-weight: 400; + src: url(./montserrat5.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} diff --git a/src/css/fonts/montserrat1.woff2 b/src/css/fonts/montserrat1.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..a2884fe6d0400d1aa5385c4dc31d56c3927d5a78 GIT binary patch literal 9584 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 WmkG+@QM1y}ie%)!*!w0EWc`1I4M$l3 literal 0 HcmV?d00001 diff --git a/src/css/fonts/montserrat2.woff2 b/src/css/fonts/montserrat2.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..7b900875b6a2ae7f045635dfeca3369b5f99efd8 GIT binary patch literal 8636 zcmV;tAw%AGPew8T0RR9103o~p5C8xG07@VL03loe0RR9100000000000000000000 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 OZ?)dte)Qi^g%<(t5WVOC literal 0 HcmV?d00001 diff --git a/src/css/fonts/montserrat3.woff2 b/src/css/fonts/montserrat3.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..65cf2fb67ca07bb59c3e5774a72cb674e3c3f984 GIT binary patch literal 5080 zcmV;}6DRCM;24Fu^R6$fo0D^Q82nw-Ksw@kFd;kG90we>3ZUi6&gnS2)2n+`s zN-;%7g^dFM)K(=C{C`Q1hlIiJg0>Tx?F`wiVRtt=xWlT|k#pTATwQ|}thu&YhpXm*^k9+KdlOm=8xtGRyPNuhGtZe`ZCoq#8O+y?Rrv zv`r*Dk%&amP^cs;6`$kzZ8h`$2NC#YVj&g^Vibb00g5(OBib0~R=FAHX5Z_vcw|du|^X_mCI^Lb4c>Nu!o>U6g};Ie`EF zHq%yr?!0Jc*E(m%DzphJ4E>V=z*YLx1CmCwe@44D%VPqK6_Oo-kz|mRa0N(Z3x3l@>?QON4 zgPnGB&bI=RHyCJ{_}GYs34VIfKyYB5ni1w+eDy(FmEbI4iF}!HBp+p!6i>@VlQ%&i z6$~3Tl0pLEBJCdM1t)|S$UzcI9L#|?COtjjHxo?|{OBoc*hqfq-eSz6;IZ~JRukBg z7lXcFj6OT!iJ=9^m7ahn5|DtEa;4<$r)>pdi%nh|v;bSA4nh|ci&qr@EMWyFxIzR8 zB9Me+sG&je>T4h{0uvkve4R6&R+GovA_83|H*#VXzv(}k44(Qj9^P}qC8}o(yA<$A z`2&Y3@3lQQpzNDzZLr)T5_9w(%U5O4q)vq*xmT^mG)dyC^F|62$d?CObz*~$Y=G%= z;FbTtUk2_k{`}v2?4dg_NDeYgVo)$i%^k!bCIus7B8X9Aw3#PAyqDr&?cMt+)K^)A z$?At;#Ab*g#zBac%M;?Rg*)7_$s1Blm_<-%JLm~FB3EK?|8|Atwl!7SjVv9%nV~Hz zrFtNbl@&n@QpOZle+C6-U_pOvl7ez+M|agsF04LXLdDj;K6pUzTZ9QWW>5CO&z@n~RcCL?%&;dQVn_RRFdeG%ARRf!%LTF|>cDcdUe zJc~R`&vRT~9-1&ruFCff-0qY~w`@^4{MAcuz2j4#XcG5zHY;-_IKjBFRe#}~|AOZI z?|JrI#MZkLf4FQvRxtIM3)aO~o|rV|bZoBn|0nr}F_)d3;5V&U4zCESN<|4AVT4K9 z8_&z39Aqa6%z!|kq+T_^23Ku<0fDZs52A=Q1SUk%e4qqDHo>()>B6ASd^fj&1)B%7rOIZO?hg@$ zE$Av)y}MZhp5nS-*r3g3sZu~g#s$TW1&&>a4R#{d*p1kv5ZjYGY{j+^(KZ*@fsF+d z*2}f7?d$x+GJUqCdavapa}{Dqvd5}i1n`sU^UyXNPs@-du?yaBfCf}(TpQH8 z00p_|Ngt@CQxRCs7eTS0bT$-P3!t~h;E#P036Wj$|wf&T_cO&E4`%2Y^|kHnv&>plSYcb<@cyD ztW?TQ{)q#jgys?nLm9^^|NxaQAgXNNY`aL;(OR8ZEH30LX3^K=fq=Ge;8Kq zO&A$%!tyvrbfZH}2uymONTX8MyP0C$3ldLEABQx4Ydv~~ z4Hs`I2E&MZ+u?%J9Xee!a`(1-iMLCaPE*gz%~Q|Kt1rC`A1^Q@8qBBzioZv`Rczkt zp&EgGtc)eHs*1>Y>FH`nWw9(XV{xsQN6s(K$Do@=nb;7h(FD~eCPqVy%D`=`W5I*+ zV7(#rdkxL6E?@G)%8Qr~iM`PF)a>sDA34Tl$koml_i4FDwWXmmruv^TNRu9D( zjVc=SdQC=;6|5!w{ae z?oLkb$;eDLb|c$T_BZ~B*>-31=8p!tu(w?o)BK5mA;AD$<~|e zJEx9=lFpu)lG>xuBpEwXrmGA|%AO1smwh#2-zPC)1v!$a$UI4CVJt6RR#YZU2+Q`m zH#?v{2&$Q>42W-A7pAl{RB+d ztZn+zK;H#v6X^=VvOP1)m(GOWsHHi!r?RAM-ppy^P|_TIbWaE>Ow3Pll{&m15cob@ z>RP=OXsvM!zxIix;~w`QYo5Pj%C&vfPjrwUWa$d)7KO?}AzHio$yrDHN6wz-2>*tC zpvK>)2HYM-TKfF#W;?L*yTPxWBI1(bAn0Uf9~tVm%a+JMKP7Ha90bjCcw%q=*umkE zy~9md*k#>kqr$pk(|6WtiwteCvN66@BLtSMZPXeY;V-JEF@H@XEGe5`I)$N>S?cJX z5L7772``hVW(Nk&R!PeE>w=a#k71RaW3O2dcS7WGw8++R89R{k9jxmPk%d5{Hae!z z!ZORoLH);99Bc1fHuXx?LapE`L@{aed2q^tltUh(0LH`h7JE4g}E+tZ&h)Fc?j`s;nu@H^R z2MM=FF#|L;wq`2y@C11&J*ogbPQ)ZC@s9T#p+Lkh9QlbWctD)O3LwR*A-%yS7=UEf zr2@c_pSXet7b7}_*1%6(!2=1Y@iU;n?qkP)RjncMh{v51Coc1pXFNBL9g+~2>aL}? z@EM##dXNwxI~|A~GG8QwHWSGAinCN0wHS;OF^Nh%<2gqF zs=3IK^8n~m=nVw+2(Ar(6F}2dL~n59JO@m;-s?b10aE+};DCwTpUvq804x$SO>#32 zWFEwkOr4vKApuA0kZHg)RM76`OboHa5l;e%B#}&Gn$VPHG^YhEX+>**E`-CUv%v&| z#Ep~(WzvcJhpL2&B+BQb*@wI6bdD5iu`%9Q*^muPDJpZl6-KEJ>F z`|rfRV^@D?GMzCqy$C?ab*i1m?q7o`Nwz_c>2{|fJq^)iZ&a5cBees-0HJtV2(CfX ztEnL{1eH`f8A3yJ*&Ed*$OsKgZHA_`*13(80Pt_0>7|CUTAAt9Y^fm;NiFTN4Z7@& z>JsD}4fyT$*6a|aTzc(}89DaKz{2{oq_RbOdyRWAXkgdP z5M_F8f;`fwg!Uvk2b!Y9-1eqXo_hH&Ss;lo*ZDS7b_VfzaFC31y^!*(CY_i(B8V-J z#Fy*HMs@B&#vlg(PLOd7Y=ja3_<=M5f;>y_*QB9TN~KgvrBq6_ZFao0Uv_kEnWPg4 z1C&f4gBk0|J}w@$Cy@BbMJOgM@-CD!YgsDRA! z?XDv_yi92*(}FPi8pJbqdYIzlAXNoh(;rada8#TU>kYc~#M3RV|240@_1Lobo!=LI z;%>OHCS2h4R@ZCS*4(;!>+*i&G+sP?t~FOzg<$B%`1toVR)1Nxfi_l=3rpbol-51p z<;B!j<)@t|SIN45pJc|}$@A)TAMRts#PIF>=bd&#q>=@G-{rbKpV1H)16O~JYu_^d zk3&(v1bmr%_W^u+He5KP_pt5810x7Pz!%d;+m2S>&h>HOj#gr%e=jBtArJQQoeRo@P`!zGfQLiZ~c`)&wELl4Ygu*^?S>&EqR#srYoMc7mb+AmtUkFQlq%;yulD?8UjDluIxhh6+({1GN&SoT z9$4#Y2vSHR3)yIf95hER@{o@VT7bV_V+o>Iv1Y@T9eWNO3yu?KE=l9cjXMvX1iX0j z;mePZf6);M5GY8n5MrUiijRa;I9Vx)5GhKu7_s8SPdC}>d3=FTlp~f%Wpag5rPgS5dV|qqwpeX;htuWuczt~R$i^n7 zX66=_R@T4<+S=JWI667IxVpJ}czSvJ`1<)%s5Cl*$zpT3JT64pTz0md%4Ry?$t9lf ziWmtM*K!m{ks(LyB7(%$a@JVyr>03kffxxD6W)+hLn64d8d6;k#_cL5MFuh?2n*Mx zaMo0Q>Ccu^mFh~#Ouv>j49MPp zL+bK|EOGJ_50#P4p(HtwUc#2zvuSTRl>sxSWX4t|aXtZ$_pAT)Zu3#FV>McvwZilM zzTgwoab{7qfGOrS+Og)wz{qqO&6uNt)${&rHu`RLi%?mL`?L0J{iEuUi!(r;6=(gr zx~*3oXm}wj2aa4cq)x|}Q&b(|Jf8=Idgdtyr!jR90Mp^Aam@|&soGH05sS}?acsY7 zYjp1ckm~V5{XDpOc**gsHU6%q&zm+yE;(5{$ltxAc-*2MJ4H7{96LN5*U?AzaQ-J- ulV-btQB+joj9UUBIOmMp5)|R|F?t~@%W4TCsT(3I%W45j{xi+u(kcLga;%>K literal 0 HcmV?d00001 diff --git a/src/css/fonts/montserrat4.woff2 b/src/css/fonts/montserrat4.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..dbc5aec49bb5eb0f616cce8a7092ee06f152537c GIT binary patch literal 13508 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 aM!fESPFnthy4$L`_wt`08~ZmiWBd 0.01) + shownCardsSizes.push([cardSizes[i], s]); + } + var c = timeLineElm.style.height.replace("px", ""); + // @ts-ignore + var scaleOffset = (c - shownCardsSizes.reduce(function (x, y) { return x + y[0] * y[1]; }, 0)) / shownCardsSizes.map(function (x) { return x[0]; }).reduce(function (x, y) { return x + y; }); + //x = c - sum(ai*si)/sum(ai) + for (var i = 0; i < nb_div; i++) { + var cardElem = document.getElementById("card" + i); + var s = getSize(i, scrollVal * speedFactor); + cardElem.style.display = s < 0.01 ? "none" : ""; + cardElem.style.transform = "scale(".concat(s, ")"); + cardElem.style.transform = "scale(".concat(s, ")"); + cardElem.style.height = "".concat(cardSizes[i] * (s + Math.max(scaleOffset, 0)), "px"); + if (window.matchMedia("(max-width: 1000px)").matches) + cardElem.style.left = "".concat(15 * (2 - s), "px"); // 15px + the size missing to the circle + } } + scaleAllCards((timeLineElm.getBoundingClientRect().y - ymin) / (ymax - ymin) * nb_div); // action to take whenever we go above the timeline or under function all() { startTimeElm.style.position = "relative"; @@ -60,6 +91,8 @@ function changeWidth() { // action to take whenever we go above the timeline function backToTop() { spacer1.style.height = "0px"; + if (window.matchMedia("(max-width: 1000px)").matches) + timeLineElm.style.left = "23px"; // TODO this 23 shouldn't be hardcoded } // action to take whenever we go under the timeline function under() { @@ -67,6 +100,7 @@ function changeWidth() { spacer1.style.height = -spacer1.getBoundingClientRect().bottom + "px"; } } + // main function, called each time we scroll function changeWidthParam() { var scrollVal = (window.scrollY - ymin) / (ymax - ymin) * nb_div; if (window.scrollY > ymin && scrollVal < nb_div + offset) { @@ -76,22 +110,18 @@ function changeWidth() { startTimeElm.style.left = "0%"; startTimeElm.style.top = 0 + "px"; timeLineElm.style.position = "fixed"; - timeLineElm.style.right = "0%"; timeLineElm.style.left = "0%"; + if (window.matchMedia("(max-width: 1000px)").matches) { + timeLineElm.style.left = "31px"; + console.log("Mobile Version"); + } timeLineElm.style.top = startTimeElm.getBoundingClientRect().bottom + 20 + "px"; projetPerso.style.position = "fixed"; projetPerso.style.top = timeLineElm.getBoundingClientRect().bottom + 'px'; projetPerso.style.right = "0%"; projetPerso.style.left = "0%"; } - for (var i = 0; i < nb_div; i++) { - var cardElem = document.getElementById("card" + i); - var s = getSize(i, scrollVal * speedFactor); // scrollval / 4 is used to slow down the movement - console.log("scale " + i + " : " + s); - cardElem.style.display = s < 0.01 ? "none" : ""; - cardElem.style.transform = "scale(".concat(s, ")"); - cardElem.style.height = "".concat(cardSizes[i] * s, "px"); - } + scaleAllCards(scrollVal); } else { all(); @@ -103,10 +133,19 @@ function changeWidth() { } } } - return changeWidthParam; + function updateSize() { + calculateCardSizes(); + changeWidthParam(); + } + return { "main": changeWidthParam, "updateSize": updateSize }; } setupPage(); var f = changeWidth(); window.addEventListener('scroll', function () { - requestAnimationFrame(f); + requestAnimationFrame(f.main); }, false); +// source: https://stackoverflow.com/a/26837814 +window.onbeforeunload = function () { + window.scrollTo(0, 0); +}; +addEventListener("resize", function (event) { return f.updateSize(); }); diff --git a/src/js/annimateTimeLine.ts b/src/js/annimateTimeLine.ts index ae12801..17abe89 100644 --- a/src/js/annimateTimeLine.ts +++ b/src/js/annimateTimeLine.ts @@ -1,10 +1,25 @@ // source : https://stackoverflow.com/questions/68732160/make-a-div-bigger-and-wider-while-scrolling function getSize(curbID: number, yValue: number): number{ - let factor = 2/5; // difference between each curve - return (-Math.abs(yValue - curbID*factor)+1)/2 + Math.abs((-Math.abs(yValue - curbID*factor)+1)/2) + let offset = 2/5; // difference between each curve + let stableLen = 0.1; + let mainFunc = (-Math.abs(yValue - curbID*offset)+1+stableLen)/2 + Math.abs((-Math.abs(yValue - curbID*offset)+1+stableLen)/2); + /* basically do that : + /\ + _____/ \______ + */ + let secoFunc = (-Math.abs(yValue - curbID*offset)+stableLen)/2 + Math.abs((-Math.abs(yValue - curbID*offset)+stableLen)/2); + /* basically do that : + ______/\______ + so the difference do + __ + ______/ \______ + */ + + return mainFunc - secoFunc } + function setupPage(){ let elements = document.getElementsByClassName("container"); for (let i = 0; i0.01) + shownCardsSizes.push([cardSizes[i], s]) + } + + let c = timeLineElm.style.height.replace("px", ""); + + // @ts-ignore + let scaleOffset = (c - shownCardsSizes.reduce((x, y) => x+y[0]*y[1], 0)) /shownCardsSizes.map((x) => x[0]).reduce((x, y) => x+y); + //x = c - sum(ai*si)/sum(ai) + for (let i = 0; i ymin && scrollVal < nb_div + offset){ @@ -86,9 +147,13 @@ function changeWidth() startTimeElm.style.top = 0 + "px"; timeLineElm.style.position = "fixed"; - timeLineElm.style.right = "0%"; timeLineElm.style.left = "0%"; - timeLineElm.style.top = startTimeElm.getBoundingClientRect().bottom + 20 + "px"; + if (window.matchMedia("(max-width: 1000px)").matches){ + timeLineElm.style.left = "31px" + console.log("Mobile Version") + + } + timeLineElm.style.top = startTimeElm.getBoundingClientRect().bottom + 20 + "px"; projetPerso.style.position = "fixed"; projetPerso.style.top = timeLineElm.getBoundingClientRect().bottom + 'px' @@ -97,16 +162,7 @@ function changeWidth() } - - for (let i = 0; i f.updateSize()); \ No newline at end of file