refonte page d'accueil nouveau design, sans images pour l'instant

This commit is contained in:
2026-05-29 01:15:56 +02:00
parent 39ed94c029
commit 1956952a2a
31 changed files with 1407 additions and 1346 deletions

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 80 KiB

View File

@@ -5,112 +5,134 @@
fill="none" fill="none"
version="1.1" version="1.1"
id="svg83" id="svg83"
sodipodi:docname="carte.svg"
inkscape:version="1.4.4 (dcaf3e7d9e, 2026-05-05)"
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="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"> xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#111111"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="1"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.55885313"
inkscape:cx="423.18811"
inkscape:cy="555.60215"
inkscape:window-width="1728"
inkscape:window-height="1152"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg83" />
<defs <defs
id="defs83" /> id="defs83" />
<path <path
style="opacity:1;fill:#7cd1bf;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0" style="opacity:1;fill:#33ffc4;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0"
d="M 518.58797,4.296875e-5 470.15757,15.780743 l -3.8091,54.4161 -76.7268,45.165397 5.4416,13.0599 -49.5187,0.5442 -20.6781,-26.6639 -28.8406,0.5441 17.4132,81.0801 -93.5958,-19.5898 -70.741,13.604 4.8974,47.8862 63.1228,24.4873 56.5928,50.0629 42.9887,100.6699 -14.6923,102.8465 -11.9716,70.1968 -9.7949,15.2365 122.4364,50.0629 8.1624,-5.4416 136.5845,32.6497 -1.6325,-52.7837 13.6041,-12.5157 41.3563,-21.2223 48.9745,13.0599 59.8578,22.3106 27.208,-11.4274 60.402,-71.2852 1.0883,-8.7065 -31.0172,1.0883 -17.4132,-28.2964 7.6183,-18.5015 -23.9431,-23.9431 29.3847,-18.5015 -26.6639,-83.2567 -32.1056,2.1766 46.7979,-77.2709 19.5899,-1.6325 10.339,-72.3735 19.5898,-46.2537 -44.6212,-14.1482 -35.9147,-5.4416 -7.0741,-17.4132 -113.7297,-39.179597 z" d="M 518.58797,4.296875e-5 470.15757,15.780743 l -3.8091,54.4161 -76.7268,45.165397 5.4416,13.0599 -49.5187,0.5442 -20.6781,-26.6639 -28.8406,0.5441 17.4132,81.0801 -93.5958,-19.5898 -70.741,13.604 4.8974,47.8862 63.1228,24.4873 56.5928,50.0629 42.9887,100.6699 -14.6923,102.8465 -11.9716,70.1968 -9.7949,15.2365 122.4364,50.0629 8.1624,-5.4416 136.5845,32.6497 -1.6325,-52.7837 13.6041,-12.5157 41.3563,-21.2223 48.9745,13.0599 59.8578,22.3106 27.208,-11.4274 60.402,-71.2852 1.0883,-8.7065 -31.0172,1.0883 -17.4132,-28.2964 7.6183,-18.5015 -23.9431,-23.9431 29.3847,-18.5015 -26.6639,-83.2567 -32.1056,2.1766 46.7979,-77.2709 19.5899,-1.6325 10.339,-72.3735 19.5898,-46.2537 -44.6212,-14.1482 -35.9147,-5.4416 -7.0741,-17.4132 -113.7297,-39.179597 z"
id="path165" /> id="path165" />
<path <path
style="opacity:1;fill:#7cd1bf;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0" style="opacity:1;fill:#33ffc4;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0"
d="m 54.497265,886.62504 -34.4003,-20.8212 -19.73489996,-7.9664 -0.362100000937,8.3285 10.501199960937,19.7349 31.8655,3.0779 z" d="m 54.497265,886.62504 -34.4003,-20.8212 -19.73489996,-7.9664 -0.362100000937,8.3285 10.501199960937,19.7349 31.8655,3.0779 z"
id="path166" /> id="path166" />
<path <path
style="opacity:1;fill:#7cd1bf;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0" style="opacity:1;fill:#33ffc4;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0"
d="m 58.299365,890.78934 -11.7685,6.699 1.4485,5.9748 11.5874,5.7937 17.7433,-11.9496 z" d="m 58.299365,890.78934 -11.7685,6.699 1.4485,5.9748 11.5874,5.7937 17.7433,-11.9496 z"
id="path167" /> id="path167" />
<path <path
style="opacity:1;fill:#7cd1bf;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0" style="opacity:1;fill:#33ffc4;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0"
d="m 119.67677,873.58914 -8.1474,1.4485 -5.9748,23.8991 -8.509605,3.9832 v 8.5095 l 10.682205,6.3369 2.7158,9.4148 h 16.657 l -4.5263,-19.0106 10.8632,-16.1139 -9.958,-14.3032 -0.5431,-1.4485 z" d="m 119.67677,873.58914 -8.1474,1.4485 -5.9748,23.8991 -8.509605,3.9832 v 8.5095 l 10.682205,6.3369 2.7158,9.4148 h 16.657 l -4.5263,-19.0106 10.8632,-16.1139 -9.958,-14.3032 -0.5431,-1.4485 z"
id="path168" /> id="path168" />
<path <path
style="opacity:1;fill:#7cd1bf;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0" style="opacity:1;fill:#33ffc4;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0"
d="m 337.30377,858.38064 -22.9938,3.9832 -7.2422,11.9495 -6.699,-1.8105 -10.8632,14.6654 -0.1811,9.0527 -1.0863,5.2506 -18.2865,1.2673 -2.3537,-5.0695 -4.7074,-0.9052 -13.9412,-1.4485 -6.699,2.8969 -2.3537,5.9748 27.5203,22.6317 1.8105,-4.1642 6.8801,-0.3621 7.2421,4.8884 -1.6295,3.9832 16.1138,7.9664 12.1307,-0.7242 3.2589,-3.6211 7.0612,2.1727 0.5431,10.8632 3.259,0.5432 15.2085,-19.7349 -3.0779,-2.1727 11.0443,-16.2948 -6.5179,-17.0191 5.2505,-5.4317 -9.4148,-5.9747 -0.181,-8.5096 3.8021,-6.699 z" d="m 337.30377,858.38064 -22.9938,3.9832 -7.2422,11.9495 -6.699,-1.8105 -10.8632,14.6654 -0.1811,9.0527 -1.0863,5.2506 -18.2865,1.2673 -2.3537,-5.0695 -4.7074,-0.9052 -13.9412,-1.4485 -6.699,2.8969 -2.3537,5.9748 27.5203,22.6317 1.8105,-4.1642 6.8801,-0.3621 7.2421,4.8884 -1.6295,3.9832 16.1138,7.9664 12.1307,-0.7242 3.2589,-3.6211 7.0612,2.1727 0.5431,10.8632 3.259,0.5432 15.2085,-19.7349 -3.0779,-2.1727 11.0443,-16.2948 -6.5179,-17.0191 5.2505,-5.4317 -9.4148,-5.9747 -0.181,-8.5096 3.8021,-6.699 z"
id="path169" /> id="path169" />
<path <path
style="opacity:1;fill:#7cd1bf;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0" style="opacity:1;fill:#33ffc4;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0"
d="m 372.95797,856.27054 -11.9634,3.1778 -0.1869,4.8602 11.4026,-2.4301 2.4301,-3.1778 z" d="m 372.95797,856.27054 -11.9634,3.1778 -0.1869,4.8602 11.4026,-2.4301 2.4301,-3.1778 z"
id="path170" /> id="path170" />
<path <path
style="opacity:1;fill:#7cd1bf;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0" style="opacity:1;fill:#33ffc4;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0"
d="m 528.48267,902.81584 7.4772,-0.7478 12.898,1.4955 7.2903,12.3373 1.6823,2.8039 h 3.3647 l 14.9543,-11.9634 0.9347,-0.7477 2.8039,2.0562 3.3647,0.1869 8.9726,8.2249 6.3556,-2.9909 -2.4301,9.9072 -16.0759,8.2249 -18.8798,3.1778 -4.2993,3.7385 -10.468,-13.8327 -4.6733,-10.468 -3.9255,0.1869 z" d="m 528.48267,902.81584 7.4772,-0.7478 12.898,1.4955 7.2903,12.3373 1.6823,2.8039 h 3.3647 l 14.9543,-11.9634 0.9347,-0.7477 2.8039,2.0562 3.3647,0.1869 8.9726,8.2249 6.3556,-2.9909 -2.4301,9.9072 -16.0759,8.2249 -18.8798,3.1778 -4.2993,3.7385 -10.468,-13.8327 -4.6733,-10.468 -3.9255,0.1869 z"
id="path171" /> id="path171" />
<path <path
style="opacity:1;fill:#7cd1bf;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0" style="opacity:1;fill:#33ffc4;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0"
d="m 551.85527,890.24284 -3.0819,5.0081 h -4.4944 l 0.5137,-2.8251 4.2376,-2.9534 z" d="m 551.85527,890.24284 -3.0819,5.0081 h -4.4944 l 0.5137,-2.8251 4.2376,-2.9534 z"
id="path172" /> id="path172" />
<path <path
style="opacity:1;fill:#7cd1bf;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0" style="opacity:1;fill:#33ffc4;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0"
d="m 563.54077,885.74844 -4.8796,2.0546 0.7704,2.6967 2.0546,-2.4399 h 3.724 z" d="m 563.54077,885.74844 -4.8796,2.0546 0.7704,2.6967 2.0546,-2.4399 h 3.724 z"
id="path173" /> id="path173" />
<path <path
style="opacity:1;fill:#7cd1bf;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0" style="opacity:1;fill:#33ffc4;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0"
d="m 575.96107,883.11954 -3.1832,1.5279 1.9099,3.9471 1.5279,-1.2732 z" d="m 575.96107,883.11954 -3.1832,1.5279 1.9099,3.9471 1.5279,-1.2732 z"
id="path174" /> id="path174" />
<path <path
style="opacity:1;fill:#7cd1bf;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0" style="opacity:1;fill:#33ffc4;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0"
d="m 702.41557,861.37534 12.9504,8.3551 29.243,18.7991 26.7364,24.6476 21.7233,17.9635 11.2795,7.1019 2.0887,5.8486 -2.0887,7.1018 -10.0262,-1.2532 -16.2925,-9.1907 -38.4336,-26.7364 -20.8878,-21.3056 -19.6346,-22.1411 z" d="m 702.41557,861.37534 12.9504,8.3551 29.243,18.7991 26.7364,24.6476 21.7233,17.9635 11.2795,7.1019 2.0887,5.8486 -2.0887,7.1018 -10.0262,-1.2532 -16.2925,-9.1907 -38.4336,-26.7364 -20.8878,-21.3056 -19.6346,-22.1411 z"
id="path175" /> id="path175" />
<path <path
style="opacity:1;fill:#7cd1bf;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0" style="opacity:1;fill:#33ffc4;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0"
d="m 811.03227,884.35194 -6.6841,9.6084 5.013,5.0131 7.9374,4.1775 3.7598,-2.5065 -5.4308,-12.1149 z" d="m 811.03227,884.35194 -6.6841,9.6084 5.013,5.0131 7.9374,4.1775 3.7598,-2.5065 -5.4308,-12.1149 z"
id="path176" /> id="path176" />
<path <path
style="opacity:1;fill:#7cd1bf;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0" style="opacity:1;fill:#33ffc4;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0"
d="m 832.75557,908.58184 10.8617,4.1775 -0.4178,8.7729 -8.7729,-1.2532 z" d="m 832.75557,908.58184 10.8617,4.1775 -0.4178,8.7729 -8.7729,-1.2532 z"
id="path177" /> id="path177" />
<path <path
style="opacity:1;fill:#7cd1bf;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0" style="opacity:1;fill:#33ffc4;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0"
d="m 964.76657,865.55294 -19.2168,4.5953 -9.6083,17.5458 0.4177,9.6084 7.5196,20.0523 33.4205,18.3812 h 29.24303 l 8.3551,-3.342 1.6711,-27.1542 -5.4309,-5.8486 -10.8616,-15.0392 -4.17763,-14.6215 -22.9766,-5.0131 z" d="m 964.76657,865.55294 -19.2168,4.5953 -9.6083,17.5458 0.4177,9.6084 7.5196,20.0523 33.4205,18.3812 h 29.24303 l 8.3551,-3.342 1.6711,-27.1542 -5.4309,-5.8486 -10.8616,-15.0392 -4.17763,-14.6215 -22.9766,-5.0131 z"
id="path178" /> id="path178" />
<path <path
style="opacity:1;fill:#7cd1bf;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0" style="opacity:1;fill:#33ffc4;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0"
d="m 924.24427,1033.0732 -9.1907,23.8121 -10.0261,-2.9243 -11.2795,-19.6345 18.3813,-0.8355 z" d="m 924.24427,1033.0732 -9.1907,23.8121 -10.0261,-2.9243 -11.2795,-19.6345 18.3813,-0.8355 z"
id="path179" /> id="path179" />
<path <path
style="opacity:1;fill:#7cd1bf;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0" style="opacity:1;fill:#33ffc4;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0"
d="m 980.64137,1036.833 -30.914,9.6084 0.4178,11.2794 7.9373,26.7365 22.1411,7.9373 20.47013,-4.5953 15.8748,18.7991 18.799,3.7598 4.1776,-17.9636 -6.2664,-9.6084 -23.8121,-5.013 -0.8355,-23.8122 -9.19073,-9.1906 z" d="m 980.64137,1036.833 -30.914,9.6084 0.4178,11.2794 7.9373,26.7365 22.1411,7.9373 20.47013,-4.5953 15.8748,18.7991 18.799,3.7598 4.1776,-17.9636 -6.2664,-9.6084 -23.8121,-5.013 -0.8355,-23.8122 -9.19073,-9.1906 z"
id="path180" /> id="path180" />
<path <path
style="opacity:1;fill:#7cd1bf;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0" style="opacity:1;fill:#33ffc4;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0"
d="m 742.93797,1005.919 32.585,10.0262 28.8252,23.3944 10.0261,5.013 5.0131,18.7991 -21.3056,33.4205 -12.1149,27.5719 -14.6215,7.1019 -12.5327,-5.4308 -22.5588,6.6841 -15.8748,-4.5954 9.1907,-22.1411 0.4177,-10.8616 8.3551,-10.8617 -13.3682,-28.4074 -2.9243,-20.0523 13.3682,-18.7991 z" d="m 742.93797,1005.919 32.585,10.0262 28.8252,23.3944 10.0261,5.013 5.0131,18.7991 -21.3056,33.4205 -12.1149,27.5719 -14.6215,7.1019 -12.5327,-5.4308 -22.5588,6.6841 -15.8748,-4.5954 9.1907,-22.1411 0.4177,-10.8616 8.3551,-10.8617 -13.3682,-28.4074 -2.9243,-20.0523 13.3682,-18.7991 z"
id="path181" /> id="path181" />
<path <path
style="opacity:1;fill:#7cd1bf;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0" style="opacity:1;fill:#33ffc4;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0"
d="m 567.48017,1019.705 12.115,1.671 15.457,7.9374 17.5457,17.5458 5.8486,-4.1776 11.6972,-3.342 0.4178,4.5953 -12.5327,9.1906 5.0131,3.7598 -4.5954,7.5197 3.3421,2.0887 5.8486,-0.4177 13.3682,22.1411 1.671,17.5457 -5.4308,14.2038 -5.0131,4.5953 -5.0131,-6.2664 1.2533,-7.9373 -33.0028,-2.5066 -3.7598,3.3421 -7.1018,-12.115 4.1775,-6.6841 15.457,-2.5065 -6.2663,-10.4439 h -11.6972 l -5.4308,-5.8486 -7.9374,-0.4178 -10.8617,-20.47 -5.0131,-13.3682 -3.342,-8.7729 5.0131,-7.5196 z" d="m 567.48017,1019.705 12.115,1.671 15.457,7.9374 17.5457,17.5458 5.8486,-4.1776 11.6972,-3.342 0.4178,4.5953 -12.5327,9.1906 5.0131,3.7598 -4.5954,7.5197 3.3421,2.0887 5.8486,-0.4177 13.3682,22.1411 1.671,17.5457 -5.4308,14.2038 -5.0131,4.5953 -5.0131,-6.2664 1.2533,-7.9373 -33.0028,-2.5066 -3.7598,3.3421 -7.1018,-12.115 4.1775,-6.6841 15.457,-2.5065 -6.2663,-10.4439 h -11.6972 l -5.4308,-5.8486 -7.9374,-0.4178 -10.8617,-20.47 -5.0131,-13.3682 -3.342,-8.7729 5.0131,-7.5196 z"
id="path182" /> id="path182" />
<path <path
style="opacity:1;fill:#7cd1bf;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0" style="opacity:1;fill:#33ffc4;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0"
d="m 403.30197,1011.3499 c 1.2532,2.0888 11.2794,12.1149 11.2794,12.1149 l -3.7598,9.1907 6.2663,7.9373 15.0393,2.9243 7.1018,5.8486 10.8617,4.5953 -0.8355,3.3421 -22.9766,2.9243 -23.8122,8.7729 -15.0392,-7.1019 -3.342,4.5953 4.1775,15.457 -0.8355,12.5327 -23.8121,17.5458 -14.6215,-26.3187 -2.9243,-34.6738 8.3551,-12.1149 21.7234,8.7729 11.6972,2.5065 8.7729,-10.8616 -5.8486,-10.0262 v -10.4439 z" d="m 403.30197,1011.3499 c 1.2532,2.0888 11.2794,12.1149 11.2794,12.1149 l -3.7598,9.1907 6.2663,7.9373 15.0393,2.9243 7.1018,5.8486 10.8617,4.5953 -0.8355,3.3421 -22.9766,2.9243 -23.8122,8.7729 -15.0392,-7.1019 -3.342,4.5953 4.1775,15.457 -0.8355,12.5327 -23.8121,17.5458 -14.6215,-26.3187 -2.9243,-34.6738 8.3551,-12.1149 21.7234,8.7729 11.6972,2.5065 8.7729,-10.8616 -5.8486,-10.0262 v -10.4439 z"
id="path183" /> id="path183" />
<path <path
style="opacity:1;fill:#7cd1bf;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0" style="opacity:1;fill:#33ffc4;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0"
d="m 480.58687,1038.0863 -19.2168,8.3551 v 4.1776 l 8.3551,-0.8355 12.9505,-6.2664 z" d="m 480.58687,1038.0863 -19.2168,8.3551 v 4.1776 l 8.3551,-0.8355 12.9505,-6.2664 z"
id="path184" /> id="path184" />
<path <path
style="opacity:1;fill:#7cd1bf;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0" style="opacity:1;fill:#33ffc4;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0"
d="m 435.46917,1100.7498 -10.8617,5.8486 -0.8355,8.7728 5.8486,8.3552 12.5327,1.2532 9.6084,-8.3551 -2.5065,-9.6084 -5.4309,-6.2663 z" d="m 435.46917,1100.7498 -10.8617,5.8486 -0.8355,8.7728 5.8486,8.3552 12.5327,1.2532 9.6084,-8.3551 -2.5065,-9.6084 -5.4309,-6.2663 z"
id="path185" /> id="path185" />
<path <path
style="opacity:1;fill:#7cd1bf;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0" style="opacity:1;fill:#33ffc4;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0"
d="m 204.44987,1018.8695 6.2663,13.786 3.3421,10.0261 11.6972,-2.0888 20.47,3.7598 5.4309,7.9374 -14.6215,24.6476 8.7729,9.6084 -8.7729,15.0393 -7.9374,10.0261 8.7729,8.7729 -5.0131,5.0131 -13.7859,3.7598 -17.9636,-10.4439 -7.1018,-22.9766 10.4439,0.8355 7.9373,8.3551 4.5954,2.5066 5.4308,-5.4309 -19.2168,-19.6345 1.671,-6.6841 -2.0887,-18.7991 -17.1281,-7.5196 1.6711,-14.6215 z" d="m 204.44987,1018.8695 6.2663,13.786 3.3421,10.0261 11.6972,-2.0888 20.47,3.7598 5.4309,7.9374 -14.6215,24.6476 8.7729,9.6084 -8.7729,15.0393 -7.9374,10.0261 8.7729,8.7729 -5.0131,5.0131 -13.7859,3.7598 -17.9636,-10.4439 -7.1018,-22.9766 10.4439,0.8355 7.9373,8.3551 4.5954,2.5066 5.4308,-5.4309 -19.2168,-19.6345 1.671,-6.6841 -2.0887,-18.7991 -17.1281,-7.5196 1.6711,-14.6215 z"
id="path186" /> id="path186" />
<path <path
style="opacity:1;fill:#7cd1bf;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0" style="opacity:1;fill:#33ffc4;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0"
d="m 265.86007,1053.1255 -6.6841,8.7729 8.3551,11.2794 5.4308,-10.0261 z" d="m 265.86007,1053.1255 -6.6841,8.7729 8.3551,11.2794 5.4308,-10.0261 z"
id="path187" /> id="path187" />
<path <path
style="opacity:1;fill:#7cd1bf;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0" style="opacity:1;fill:#33ffc4;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0"
d="m 38.182765,997.98174 -8.7729,11.27936 24.6476,16.7103 5.0131,6.6841 -3.7598,20.47 -12.5327,17.5458 v 16.2925 l 17.5458,5.8486 3.7598,13.3682 -27.9897,26.7364 -15.457,-20.4701 14.2038,-11.6971 1.671,-10.4439 2.0888,-13.3683 -9.1907,-29.6607 -3.342,-5.8486 -1.2533,-22.5588 -2.9243,-11.2794 4.5953,-5.8486 z" d="m 38.182765,997.98174 -8.7729,11.27936 24.6476,16.7103 5.0131,6.6841 -3.7598,20.47 -12.5327,17.5458 v 16.2925 l 17.5458,5.8486 3.7598,13.3682 -27.9897,26.7364 -15.457,-20.4701 14.2038,-11.6971 1.671,-10.4439 2.0888,-13.3683 -9.1907,-29.6607 -3.342,-5.8486 -1.2533,-22.5588 -2.9243,-11.2794 4.5953,-5.8486 z"
id="path188" /> id="path188" />
<path <path
style="opacity:1;fill:#7cd1bf;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0" style="opacity:1;fill:#33ffc4;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0"
d="m 83.718265,1117.0423 -15.8748,10.8616 -5.4308,12.115 h 23.3943 l -2.5065,-9.1907 2.0888,-4.5953 z" d="m 83.718265,1117.0423 -15.8748,10.8616 -5.4308,12.115 h 23.3943 l -2.5065,-9.1907 2.0888,-4.5953 z"
id="path189" /> id="path189" />
<path <path
style="opacity:1;fill:#7cd1bf;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0" style="opacity:1;fill:#33ffc4;fill-opacity:1;stroke-width:1.078;stroke-linecap:round;stroke-miterlimit:0"
d="m 891.56937,601.03084 -3.0676,20.2458 -36.8105,21.4729 -1.227,11.6566 v 10.4297 l 18.4052,52.1483 26.3809,11.0431 1.8406,-22.6998 4.2945,-28.2214 6.1351,-8.5892 -4.9081,-39.8781 -5.5215,-26.9943 z" d="m 891.56937,601.03084 -3.0676,20.2458 -36.8105,21.4729 -1.227,11.6566 v 10.4297 l 18.4052,52.1483 26.3809,11.0431 1.8406,-22.6998 4.2945,-28.2214 6.1351,-8.5892 -4.9081,-39.8781 -5.5215,-26.9943 z"
id="path190" /> id="path190" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -1,25 +0,0 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="18"
height="18"
viewBox="2933 3781 107.091 110.044"
fill="none"
id="projet-$index"
data-geofieldlon="$lon"
data-geofieldlat="$lat"
data-title="$title"
data-place="$place"
>
<a href="$href">
<path
d="M2948.852 3798.42c-3.606 3.667-2.847 11.102-1.479 17.824 1.619 7.951 5.315 16.118 12.339 24.491 3.456 4.205 9.513 6.379 14.08 9.238-10.249-1.658-21.843 3.107-29.852 9.438-5.7 4.488-11.197 10.188-10.931 15.125.261 4.757 5.974 8.041 11.591 10.646 7.669 3.555 17.089 5.343 29.989 3.293 18.866-3.004 36.608-14.662 40.31-24.59 0 0 16.971 18.409 13.637 26.71 1.459.976 4.253.403 4.516-2.138.92-8.85-15.986-26.562-15.986-26.562 10.111-3.235 19.484-19.744 22.323-39.307 2.031-14.005-.579-24.218-4.883-31.774-2.606-4.576-5.279-9.628-9.507-9.809-4.109-.171-9.189 4.422-13.021 8.545-5.631 6.058-10.313 13.829-12.151 25.629-.431 2.766-.094 7.971-.201 8.514-1.077-3.802-.253-6.156-5.417-12.196-9.426-8.649-18.53-12.964-27.384-14.735-6.814-1.364-14.321-2.055-17.973 1.658Z"
style="
cursor: pointer;
fill-rule: evenodd;
stroke: none;
fill: rgb(3, 135, 136);
fill-opacity: 1;
"
class="fills"/>
</a>
</svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1,21 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="18"
height="18"
viewBox="0 0 18 18"
fill="none"
id="projet-$index"
data-geofieldlon="$lon"
data-geofieldlat="$lat"
data-title="$title"
data-place="$place"
>
<a href="$href">
<circle
cx="9"
cy="9"
r="6"
style="cursor: pointer; fill: #4a4a49;"
class="fills"/>
</a>
</svg>

After

Width:  |  Height:  |  Size: 377 B

View File

@@ -55,7 +55,7 @@ class SitesMap extends BlockBase {
$lon = $geofield->lon; $lon = $geofield->lon;
$lat = $geofield->lat; $lat = $geofield->lat;
$svg_template_path = DRUPAL_ROOT . '/modules/custom/erable_mod/assets/svg/feuille.svg'; $svg_template_path = DRUPAL_ROOT . '/modules/custom/erable_mod/assets/svg/point.svg';
$svg_template= file_get_contents($svg_template_path); $svg_template= file_get_contents($svg_template_path);
$sites_paths .= str_replace( $sites_paths .= str_replace(
['$index', '$lon', '$lat', '$href', '$title', '$place'], ['$index', '$lon', '$lat', '$href', '$title', '$place'],

View File

@@ -1,6 +1,9 @@
<div class="projets_intro"> <div class="projets_intro">
{{ intro|raw }} {{ intro|raw }}
</div> </div>
<footer class="fluo_links">
<p><a href="/projets">Voir les projets</a></p>
</footer>
<div id="sites-map-container"> <div id="sites-map-container">
{# <svg {{ svg_attributes }}> {# <svg {{ svg_attributes }}>
<path {{ path_attributes }}></path> <path {{ path_attributes }}></path>

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -9,6 +9,21 @@
Drupal.behaviors.erabletheme = { Drupal.behaviors.erabletheme = {
attach: function (context, settings) { attach: function (context, settings) {
//
// Home intro : sortir le .more-link (rendu profond par smart_trim)
// de .intro_body pour le placer directement sous .intro_main.
// Ainsi le séparateur vertical s'arrête en bas du texte, pas du bouton,
// et le bouton est centré par rapport à .home_introduction.
//
const intro = document.querySelector('.home_introduction');
if (intro && !intro.dataset.moreLinkMoved) {
const moreLink = intro.querySelector('.intro_body .more-link');
if (moreLink) {
intro.appendChild(moreLink);
intro.dataset.moreLinkMoved = 'true';
}
}
// //
// Carrousel // Carrousel
// //

View File

@@ -4,7 +4,7 @@
"description": "", "description": "",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
"sass": "node-sass -w scss/ -o css/" "sass": "sass --watch --no-source-map scss/styles.scss:css/styles.css"
}, },
"author": "", "author": "",
"license": "ISC", "license": "ISC",

View File

@@ -16,12 +16,12 @@
.actus_list { .actus_list {
h2 { h2 {
@media screen and (min-width: $breakpoint_tablet) { @media screen and (min-width: $breakpoint_tablet) {
font-size: $xl_font_size !important; font-size: $fs_xl !important;
} }
} }
.sous_titre { .sous_titre {
@media screen and (min-width: $breakpoint_tablet) { @media screen and (min-width: $breakpoint_tablet) {
font-size: $m_font_size !important; font-size: $fs_sm !important;
} }
} }
} }

View File

@@ -193,7 +193,7 @@ aside.layout-sidebar-first:has(#block-erabletheme-views-block-projets-block-1) {
a { a {
color: black; color: black;
font-size: $m_font_size; font-size: $fs_sm;
&:hover, &:hover,
&.is-active { &.is-active {
font-weight: 800; font-weight: 800;

View File

@@ -1,74 +1,76 @@
.home_introduction { .home_introduction {
background-color: white;
width: 100%;
box-sizing: border-box; box-sizing: border-box;
padding: 3rem 1rem; width: 100%;
margin: 2rem 0; max-width: 70rem;
h2 { margin: 8vw auto;
display: none; padding: 8vw 6vw;
display: flex;
flex-direction: column;
align-items: center;
gap: 3rem;
h2 { display: none; } // titre du bloc Drupal masqué (logo le remplace)
// Bloc supérieur : logo | séparateur | texte
.intro_main {
width: 100%;
display: grid;
grid-template-columns: 1fr; // mobile : empilé
gap: 6vw;
justify-items: center;
@media (min-width: $breakpoint_desktop) {
grid-template-columns: minmax(8rem, 22%) 1px 1fr;
align-items: center;
gap: 2.5vw;
}
} }
> .logo {
.intro_logo {
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center;
width: 100%;
margin-bottom: 2rem;
img { img {
width: 50%; width: 40vw;
max-width: 14rem;
height: auto; height: auto;
@media (min-width: $breakpoint_desktop) { @media (min-width: $breakpoint_desktop) {
width: 100%; width: 100%;
} }
} }
}
.intro_separator {
display: none;
@media (min-width: $breakpoint_desktop) { @media (min-width: $breakpoint_desktop) {
width: 170%; display: block;
margin: 0 3rem; width: 1px;
align-self: stretch;
background-color: $text_grey;
justify-self: center;
} }
} }
article > div {
height: unset !important; .intro_body {
min-height: 100%; width: 100%;
p { article > div {
@include main_text_content(); height: unset !important;
min-height: unset;
width: 100%; width: 100%;
@media (min-width: $breakpoint_tablet) { max-width: 45rem;
padding-left: 3rem; margin-inline: auto; // centrage horizontal du wrapper texte
padding-right: 3rem; p {
@include main_text_content();
margin: 0;
} }
@media (min-width: $breakpoint_desktop) {
padding-left: 0;
}
}
@media (min-width: $breakpoint_tablet) {
padding: 0 !important;
} }
} }
div.more-link {
margin-top: 3rem; // CTA "En savoir plus" — déplacé par JS comme enfant direct de
margin-bottom: 1.5rem; // .home_introduction → centrage naturel via le flex-column du parent.
display: flex; > div.more-link {
justify-content: center;
align-items: center;
@include fluo_button(); @include fluo_button();
@media (min-width: $breakpoint_tablet) { margin-top: 1rem;
position: absolute;
left:0;
right:0;
}
}
@media (min-width: $breakpoint_tablet) {
padding: 8rem 1rem;
padding-top: 4rem;
margin: 6rem 0;
margin-left: 20vw;
margin-right: 20vw;
width: calc(100% - 40vw);
}
@media (min-width: $breakpoint_desktop) {
display: flex;
justify-content: space-around;
margin-top: 20vh;
margin-bottom: 20vh !important;
} }
} }
@@ -128,28 +130,48 @@
} }
} }
.map-projets { // Section "projets lauréats" : titre hors du bloc (centré page),
background-color: white; // puis le bloc lui-même avec son contenu, bordure brand en bas.
padding: 1rem 0; .map-projets-section {
margin-left: $x_margin; display: flex;
width: calc(100% - #{$x_margin} * 2); flex-direction: column;
@media (min-width: $breakpoint_tablet) { align-items: center;
margin-left: 20vw;
width: calc(100% - 40vw);
}
@media (min-width: $breakpoint_desktop) { @media (min-width: $breakpoint_desktop) {
margin-left: 25vw;
width: calc(100% - 50vw);
margin-top: 10vh; margin-top: 10vh;
margin-bottom: 10vh; margin-bottom: 10vh;
} }
> h2 { }
@include main_title();
.map-projets-title {
@include main_title();
text-align: center;
padding: 0;
margin: 0 0 4rem;
}
.map-projets {
background-color: white;
padding: 1rem 0;
margin: 0 auto;
width: calc(100% - #{$x_margin} * 2);
border-bottom: 7px solid $fluo_green;
// CTA "Voir les projets" : même style fluo_button, fond gris page
// pour se fondre dans la section.
> footer.fluo_links {
margin-top: 1rem;
margin-bottom: 4rem;
a { background-color: $page_bg; }
}
@media (min-width: $breakpoint_tablet) {
width: 60vw;
}
@media (min-width: $breakpoint_desktop) {
width: 50vw;
} }
> .projets_intro { > .projets_intro {
padding: 0 3vw; padding: 0 3vw;
margin-top: 1.3rem; margin-top: 1.3rem;
margin-bottom: 6vh; margin-bottom: 2.5rem;
@include main_text_content(); @include main_text_content();
@media screen and (min-width: $breakpoint_tablet) { @media screen and (min-width: $breakpoint_tablet) {
margin-top: 2vh; margin-top: 2vh;
@@ -169,6 +191,7 @@
margin: 0 2rem; margin: 0 2rem;
width: calc(100% - 4rem); width: calc(100% - 4rem);
#popup { #popup {
background-color: $page_bg;
h3 { h3 {
@include sous_titre(); @include sous_titre();
} }

View File

@@ -238,7 +238,7 @@
padding-top: 3vh; padding-top: 3vh;
padding-left: $x_margin; padding-left: $x_margin;
a { a {
font-size: $sm_font_size; font-size: $fs_xs;
font-weight: 800; font-weight: 800;
color: $teal; color: $teal;
} }
@@ -326,7 +326,7 @@
> .offre-title { > .offre-title {
grid-column: 2/4; grid-column: 2/4;
grid-row: 4/5; grid-row: 4/5;
font-size: $xl_font_size; font-size: $fs_xl;
font-weight: 800; font-weight: 800;
margin-bottom: 2rem; margin-bottom: 2rem;
} }
@@ -350,7 +350,7 @@
padding: 0.7rem 1rem; padding: 0.7rem 1rem;
color: white; color: white;
font-weight: 800; font-weight: 800;
font-size: $sm_font_size; font-size: $fs_xs;
transform: translateY(0); transform: translateY(0);
transition: transform 0.2s ease-out; transition: transform 0.2s ease-out;
} }
@@ -364,7 +364,7 @@
} }
> h2 { > h2 {
text-transform: unset !important; text-transform: unset !important;
font-size: $sm_font_size !important; font-size: $fs_xs !important;
color: black !important; color: black !important;
margin: 0 !important; margin: 0 !important;
padding: 0 !important; padding: 0 !important;
@@ -373,7 +373,7 @@
align-self: center; align-self: center;
grid-column: 2/4; grid-column: 2/4;
grid-row: 6/7; grid-row: 6/7;
font-size: $sm_font_size; font-size: $fs_xs;
margin-top: 1rem; margin-top: 1rem;
margin-bottom: 0.5rem; margin-bottom: 0.5rem;
@media (min-width: $breakpoint_desktop) { @media (min-width: $breakpoint_desktop) {

View File

@@ -127,7 +127,7 @@
font-size: 1.1rem !important; font-size: 1.1rem !important;
margin-bottom: 1rem; margin-bottom: 1rem;
line-height: 1.3; line-height: 1.3;
font-size: $m_font_size !important; font-size: $fs_sm !important;
a { a {
color: black; color: black;
} }
@@ -179,7 +179,7 @@
padding-left: $x_margin; padding-left: $x_margin;
@include main_text_content(); @include main_text_content();
a { a {
font-size: $sm_font_size; font-size: $fs_xs;
font-weight: 800; font-weight: 800;
color: $teal; color: $teal;
} }
@@ -259,7 +259,7 @@
font-weight: bold; font-weight: bold;
font-family: 'Marianne', sans-serif; font-family: 'Marianne', sans-serif;
display: block; display: block;
font-size: $sm_font_size !important; font-size: $fs_xs !important;
} }
} }
.slick-prev { .slick-prev {
@@ -326,7 +326,7 @@
.leaflet-popup-content-wrapper { .leaflet-popup-content-wrapper {
padding: 0.3rem 0.8rem; padding: 0.3rem 0.8rem;
background-color: white; background-color: white;
font-size: $sm_font_size !important; font-size: $fs_xs !important;
box-shadow: none; box-shadow: none;
border-radius: unset; border-radius: unset;
@include main_text_content(); @include main_text_content();
@@ -441,7 +441,7 @@
margin: 0; margin: 0;
padding: 0; padding: 0;
color: black !important; color: black !important;
font-size: $m_font_size !important; font-size: $fs_sm !important;
@include sous_titre(); @include sous_titre();
> div { > div {
padding-left: 0.2rem !important; padding-left: 0.2rem !important;
@@ -453,7 +453,7 @@
margin: 0; margin: 0;
padding: 0; padding: 0;
color: black !important; color: black !important;
font-size: $m_font_size !important; font-size: $fs_sm !important;
@include sous_titre(); @include sous_titre();
} }
> .texte { > .texte {
@@ -461,7 +461,7 @@
grid-column: 1 / span 2; grid-column: 1 / span 2;
grid-row: 3; grid-row: 3;
p { p {
font-size: $m_font_size; font-size: $fs_sm;
margin: 0 !important; margin: 0 !important;
padding: 0 !important; padding: 0 !important;
} }

View File

@@ -83,7 +83,7 @@
padding-left: $x_margin; padding-left: $x_margin;
@include main_text_content(); @include main_text_content();
a { a {
font-size: $sm_font_size; font-size: $fs_xs;
font-weight: 800; font-weight: 800;
color: $teal; color: $teal;
} }

View File

@@ -32,19 +32,11 @@
font-style: italic; font-style: italic;
} }
/* Barlow */ /* Vogun */
@font-face { @font-face {
font-family: 'Barlow'; font-family: 'Vogun';
src: url('../fonts/Barlow/barlow-light.woff2') format('woff2'), src: url('../fonts/Vogun/Vogun-Regular.woff2') format('woff2');
url('../fonts/Barlow/barlow_light.woff') format('woff'); font-weight: 500;
font-weight: 300;
font-style: normal
}
@font-face {
font-family: 'Barlow Condensed';
src: url('../fonts/Barlow/BarlowCondensed-Regular.woff2') format('woff2');
font-weight: normal;
font-style: normal; font-style: normal;
} }

View File

@@ -8,6 +8,7 @@
body { body {
height: 100vh; height: 100vh;
overflow: scroll; overflow: scroll;
background-color: $page_bg;
.layout-container { .layout-container {
position: relative; position: relative;
display: flex; display: flex;
@@ -27,6 +28,7 @@ body {
z-index: 0; z-index: 0;
} }
#background { #background {
display: none;
z-index: -1; z-index: -1;
} }
} }
@@ -59,6 +61,15 @@ em {
display: none; display: none;
} }
// Footer générique des vues (footer link, ex: "Voir toutes les actualités")
footer.fluo_links {
@include fluo_button();
display: flex;
justify-content: center;
margin-top: 2rem;
p { margin: 0; }
}
// debug // debug
/* * { /* * {
border: solid 1px red !important; border: solid 1px red !important;

View File

@@ -1,7 +1,9 @@
$fluo_green: #00ff80; $fluo_green: #33ffc4;
$teal: #038788; $teal: $fluo_green;
$beige: #fcf9ee; $beige: #fcf9ee;
$dark_green: #314e41; $dark_green: #314e41;
$text_grey: #4a4a49;
$page_bg: #f9f9f9;
@mixin beige_gradient() { @mixin beige_gradient() {
background: linear-gradient(to bottom, $beige 80%, white 100%); background: linear-gradient(to bottom, $beige 80%, white 100%);

View File

@@ -1,71 +1,102 @@
/* SIZES */ /* FAMILIES */
$sm_font_size: 0.8rem; $vogun: "Vogun", serif;
$m_font_size: 0.9rem; $marianne: "Marianne", sans-serif;
$l_font_size: 1.2rem;
$xl_font_size: 1.6rem; /* FONT SIZES — échelle unique en rem (base 16px) */
$main_font_size: 1rem; $fs_xs: 0.8125rem; // 13px — meta, captions
$title_size: 2.3rem; $fs_sm: 0.9375rem; // 15px — corps texte, CTA, liens footer
$fs_md: 1.0625rem; // 17px — corps texte sections longues
$fs_lg: 1.375rem; // 22px — intertitres
$fs_xl: 2.25rem; // 36px — titres cards
$fs_2xl: 3.5625rem; // 57px — hero title
/* LINE HEIGHTS */
$lh_tight: 1.2;
$lh_normal: 1.3;
$lh_loose: 1.4;
/* FONT WEIGHTS */
$fw_regular: 400;
$fw_medium: 500;
$fw_bold: 800;
/* MIXINS */ /* MIXINS */
// Titre principal d'une section (H2 grands)
@mixin main_title() { @mixin main_title() {
font-family: "Barlow Condensed", sans-serif; font-family: $vogun;
font-size: $xl_font_size; font-weight: $fw_medium;
font-size: $fs_xl;
color: black;
line-height: $lh_tight;
padding: 0 $x_margin; padding: 0 $x_margin;
margin-top: 1rem; margin-top: 1rem;
color: $teal;
text-transform: uppercase;
a {
color: $teal;
}
@media (min-width: $breakpoint_tablet) { @media (min-width: $breakpoint_tablet) {
font-size: $title_size; font-size: $fs_2xl;
} }
} }
@mixin main_text_content() { // Sous-titre (Marianne bold gris)
font-family: "Marianne", sans-serif;
font-size: $main_font_size;
line-height: 1.4;
}
@mixin sous_titre() { @mixin sous_titre() {
font-family: "Marianne", sans-serif; font-family: $marianne;
font-size: $m_font_size; font-weight: $fw_bold;
color: $teal; font-size: $fs_sm;
font-weight: 800; color: $text_grey;
line-height: 1.3; line-height: $lh_normal;
@media (min-width: $breakpoint_tablet) {
font-size: $l_font_size;
}
} }
// Variante alternative de sous-titre (Vogun)
@mixin sous_titre_alt() { @mixin sous_titre_alt() {
font-family: "Barlow", sans-serif; font-family: $vogun;
font-weight: $fw_medium;
color: black; color: black;
font-size: $l_font_size; font-size: $fs_lg;
line-height: $lh_tight;
@media (min-width: $breakpoint_tablet) { @media (min-width: $breakpoint_tablet) {
font-size: $xl_font_size; font-size: $fs_xl;
} }
} }
// Corps de texte principal
@mixin main_text_content() {
font-family: $marianne;
font-weight: $fw_regular;
font-size: $fs_sm;
color: $text_grey;
line-height: $lh_normal;
}
// Meta (date, type, etc.)
@mixin meta_text() {
font-family: $marianne;
font-weight: $fw_regular;
font-size: $fs_xs;
color: $text_grey;
line-height: $lh_normal;
}
// Typo CTA (Vogun 15px gris)
@mixin cta_text() {
font-family: $vogun;
font-weight: $fw_medium;
font-size: $fs_sm;
color: $text_grey;
line-height: $lh_tight;
}
// CTA visuellement complet (typo + fond + padding + hover)
@mixin fluo_button() { @mixin fluo_button() {
a { a {
@include cta_text();
display: inline-block;
text-align: center; text-align: center;
color: black;
font-family: "Marianne", sans-serif;
font-weight: 800;
font-size: $m_font_size;
background-color: white; background-color: white;
border: solid 2px $fluo_green; border: none;
padding: 9px 18px; padding: 0.75rem 1.5rem;
transition: background-color 0.3s ease; text-decoration: none;
transition: color 0.2s ease;
text-wrap: nowrap !important; text-wrap: nowrap !important;
svg { svg { display: none; }
display: none; &:hover { color: black; }
}
}
a:hover {
background-color: $fluo_green;
} }
} }

View File

@@ -6,7 +6,7 @@
padding-top: 3vh; padding-top: 3vh;
padding-left: $x_margin; padding-left: $x_margin;
a { a {
font-size: $sm_font_size; font-size: $fs_xs;
font-weight: 800; font-weight: 800;
color: $teal; color: $teal;
} }
@@ -15,7 +15,7 @@
padding-left: $x_margin; padding-left: $x_margin;
margin: 20px 0; margin: 20px 0;
div { div {
font-size: $sm_font_size; font-size: $fs_xs;
margin-bottom: 5px; margin-bottom: 5px;
} }
} }
@@ -36,7 +36,7 @@
margin-top: -1.5rem; margin-top: -1.5rem;
> div > div { > div > div {
font-size: $l_font_size; font-size: $fs_lg;
margin-bottom: 30px; margin-bottom: 30px;
} }
} }

View File

@@ -3,6 +3,7 @@
background-color: white; background-color: white;
padding: 1rem; padding: 1rem;
box-sizing: border-box; box-sizing: border-box;
border-bottom: 7px solid $fluo_green;
@media screen and (min-width: $breakpoint_tablet) { @media screen and (min-width: $breakpoint_tablet) {
padding: 2rem; padding: 2rem;
} }
@@ -26,43 +27,40 @@
} }
.preview_meta { .preview_meta {
font-family: "Marianne", sans-serif; @include meta_text();
font-size: $sm_font_size;
width: auto; width: auto;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
color: $teal;
margin: 0 $x_margin; margin: 0 $x_margin;
margin-top: 1.3rem; margin-top: 1.3rem;
padding-top: 0.7rem; padding-top: 0.7rem;
margin-left: 0; margin-left: 0;
@media (min-width: $breakpoint_tablet) { @media (min-width: $breakpoint_tablet) {
margin-left: unset; margin-left: unset;
font-size: $m_font_size;
} }
} }
.preview_sous_titre { .preview_sous_titre {
font-family: "Marianne", sans-serif; @include main_text_content();
font-size: $m_font_size;
padding: 5px $x_margin; padding: 5px $x_margin;
padding-left: 0 !important; padding-left: 0 !important;
.sous_titre { .sous_titre {
line-height: 1.3 !important; line-height: $lh_normal !important;
margin-top: 1rem;
margin-bottom: 1.5rem;
} }
@media (min-width: $breakpoint_tablet) { @media (min-width: $breakpoint_tablet) {
padding-left: unset; padding-left: unset;
font-size: $l_font_size;
padding-top: unset !important; padding-top: unset !important;
} }
} }
h2 { h2 {
@include sous_titre_alt();
margin-bottom: 0.5rem; margin-bottom: 0.5rem;
margin-top: 1rem !important; margin-top: 1rem !important;
padding: 0 !important; padding: 0 !important;
line-height: 1.2; a { color: inherit; text-decoration: none; }
@include main_title();
} }
} }

View File

@@ -1,3 +1,7 @@
// Variables pagination du carrousel (flèches + dots slick).
$arrow_size: 2.3rem;
$pagination_line_offset: 4rem; // distance bas carrousel -> centre de la ligne flèches/dots
.carousel_container { .carousel_container {
@media screen and (min-width: $breakpoint_tablet) { @media screen and (min-width: $breakpoint_tablet) {
width: 100%; width: 100%;
@@ -45,46 +49,52 @@
} }
} }
} }
// --- Ligne de pagination ---
// Slick rend les flèches dans .slick-list (donc dans .slick-container)
// et les dots dans #carousel_dots (frère, géré plus bas).
.slick-arrow { .slick-arrow {
width: 1.5rem; width: $arrow_size;
height: 1.5rem; height: $arrow_size;
border-radius: 1.5rem; border-radius: 50%;
background-color: $teal !important; background-color: $fluo_green !important;
transition: background-color 0.3s ease; transition: background-color 0.3s ease;
top: unset !important; top: unset !important;
bottom: calc(-25px - 4rem); // Centre vertical de la flèche aligné sur $pagination_line_offset
@media (min-width: $breakpoint_tablet) { bottom: calc(-1 * (#{$pagination_line_offset} + #{$arrow_size} / 2));
width: 2rem; display: flex !important;
height: 2rem; align-items: center;
bottom: calc(-25px - 6rem); justify-content: center;
} padding: 0;
&:hover { &:hover {
background-color: white !important; &::before { color: black; }
&::before {
color: $teal;
}
} }
&::before { &::before {
position: static;
opacity: 1 !important; opacity: 1 !important;
color: white; color: $text_grey;
font-weight: bold; font-weight: bold;
font-family: 'Marianne', sans-serif; font-family: $marianne;
display: block; font-size: $fs_md !important;
font-size: $sm_font_size !important; line-height: 1;
@media (min-width: $breakpoint_tablet) { width: auto;
font-size: $l_font_size !important; height: auto;
}
} }
} }
.slick-prev { .slick-prev {
left: 20vw; left: 5vw;
@media (min-width: $breakpoint_tablet) { @media (min-width: $breakpoint_tablet) {
left: calc(50vw + 10vw); // tablette : proche du bord (repère 200vw)
}
@media (min-width: $breakpoint_desktop) {
left: calc(50vw + 35vw); left: calc(50vw + 35vw);
} }
} }
.slick-next { .slick-next {
right: 20vw; right: 5vw;
@media (min-width: $breakpoint_tablet) { @media (min-width: $breakpoint_tablet) {
right: calc(50vw + 10vw);
}
@media (min-width: $breakpoint_desktop) {
right: calc(50vw + 35vw); right: calc(50vw + 35vw);
} }
} }
@@ -96,26 +106,56 @@
margin-bottom: 6rem; margin-bottom: 6rem;
} }
} }
#carousel_dots { } // /.slick-container
z-index: 1;
position: relative; // #carousel_dots utilise le ::before unicode de slick comme pastille
margin-top: -15px; // (cf. slick-theme.css ~ligne 178). On stylise donc la couleur du ::before
ul { // au lieu de masquer le ::before et de styler le button — c'est plus simple
position: relative; // et c'est ainsi que ça fonctionnait avant la refonte.
bottom: 0; //
li.slick-active button::before{ // Alignement vertical avec les flèches :
color: $teal; // - Les flèches sont ancrées via `bottom: -($pagination_line_offset + $arrow_size/2)`
} // donc leur centre vertical est à $pagination_line_offset sous le bas du carrousel.
li button::before{ // - Le #carousel_dots arrive juste en dessous (flux normal). Sa rangée de dots
color: rgba(0.9, 0.9, 0.9, 1); // intrinsèque (ul.slick-dots de slick) fait environ 1.25rem de hauteur visuelle.
} // - Pour aligner les centres, on remonte de :
// $pagination_line_offset + $arrow_size/2 - 1.25rem
$slick_dots_intrinsic_height: 1.25rem;
#carousel_dots {
position: relative;
z-index: 1;
// Formule calibrée pour tablette+/desktop (cf. commentaire ci-dessus).
margin-top: calc(-1 * (#{$pagination_line_offset} + #{$arrow_size} / 2 - #{$slick_dots_intrinsic_height}));
// En mobile, slick passe à slidesToShow: 1 → le parent positionné des
// flèches change, ce qui décale leur centre d'~33px vers le haut par
// rapport au flux du #carousel_dots. Magic number pour compenser.
@media (max-width: #{$breakpoint_tablet - 1px}) {
margin-top: calc(-1 * (#{$pagination_line_offset} + #{$arrow_size} / 2 - #{$slick_dots_intrinsic_height}) + 33px);
}
ul {
position: relative;
bottom: 0;
li {
margin: 0 0.75rem;
button::before {
font-size: $fs_xs;
opacity: 1;
color: $text_grey;
transition: color 0.2s ease;
}
&:hover button::before {
color: black;
}
&.slick-active button::before {
color: $fluo_green;
} }
} }
footer { }
@include fluo_button(); }
text-align: center; footer {
margin-top: 4rem; @include fluo_button();
margin-bottom: 4rem; text-align: center;
} margin-top: 4rem;
margin-bottom: 4rem;
} }
} }

View File

@@ -1,123 +1,95 @@
// Footer : 2 groupes — logos à gauche, navs + linkedin à droite.
//
// Structure DOM (cf. page.html.twig + Drupal regions) :
// footer
// section#footer_top (vide actuellement)
// section#footer_middle
// section#footer_left (logos rep + epau)
// div#footer_section
// section#footer_center (nav compte + nav pied de page)
// section#footer_right (icône linkedin)
// section#footer_bottom (vide actuellement)
//
// Largeur : 100% en mobile, réduit à la colonne contenu (50vw centré)
// en desktop, comme le reste du contenu de la home.
.layout-container > footer { .layout-container > footer {
width: 100%; width: 100%;
background-color: white; background-color: white;
margin-top: 50px; margin-top: 50px;
padding: 0 $x_margin !important; padding: 1rem $x_margin;
@media screen and (min-width: $breakpoint_desktop) { box-sizing: border-box;
width: calc(100% - 50vw); @media (min-width: $breakpoint_desktop) {
margin-left: 25vw; width: 50vw;
} margin-left: 25vw;
#footer_middle { padding: 1rem;
display: flex; }
#footer_left > div {
margin-top: 5px;
display: flex;
justify-content: start;
align-items: center;
flex-wrap: nowrap;
#block-erabletheme-logorep {
max-width: 100px;
img {
width: 100%;
height: auto;
}
}
#block-erabletheme-logoepau {
max-width: 150px;
img {
width: 100%;
height: auto;
}
@media (min-width: $breakpoint_tablet) {
padding-left: 2vw;
}
}
}
#footer_section {
display: flex;
width: 100%;
justify-content: space-between;
align-items: center;
margin-top: 10px;
margin-bottom: 20px;
position: relative;
#footer_center {
width: 100%;
> div {
display: flex;
justify-content: space-around;
nav ul {
display: flex;
justify-content: space-between;
li {
a {
color: $dark_green;
font-family: 'Marianne', sans-serif;
font-weight: 800;
text-decoration: underline;
font-size: 0.6rem;
text-align: center;
display: inline-block;
line-height: 1.2;
}
&:last-of-type {
margin-left: 1rem;
}
}
&:first-of-type {
margin-left: 1rem;
}
&:last-of-type {
margin-right: 1rem;
}
}
}
@media (min-width: $breakpoint_tablet) {
padding-left: 0;
}
}
#footer_right { #footer_middle {
width: 30%; display: flex;
#block-erabletheme-socialmedialinks-2 ul { flex-wrap: wrap;
display: flex; justify-content: space-between;
justify-content: end; align-items: center;
li { gap: 1.5rem;
a { }
span {
font-weight: lighter;
font-size: 0.8rem;
width: 1.6rem;
height: 1.6rem;
padding-top: 0.2rem;
border-radius: 0.8rem;
color: white;
background-color: $teal;
display: flex;
justify-content: center;
align-items: center;
}
svg.ext {
display: none;
}
}
&:last-of-type {
margin-left: 5px;
}
}
}
@media (min-width: $breakpoint_tablet) {
width: auto;
}
}
} // --- Groupe gauche : logos ---
@media (min-width: $breakpoint_tablet) { #footer_left > div {
display: flex; display: flex;
} align-items: center;
gap: 1rem;
#block-erabletheme-logorep img { max-width: 100px; height: auto; }
#block-erabletheme-logoepau img { max-width: 150px; height: auto; }
}
// --- Groupe droite : navs + linkedin ---
#footer_section {
display: flex;
align-items: center;
gap: 1.5rem;
}
// Drupal injecte un <div> wrapper entre #footer_center et les <nav>.
// On flexe ce wrapper pour aligner les 2 navs côte à côte.
#footer_center > div {
display: flex;
align-items: center;
gap: 1.5rem;
nav ul {
display: flex;
gap: 1.5rem;
margin: 0;
padding: 0;
list-style: none;
li a {
color: $text_grey;
font-family: $marianne;
font-weight: $fw_bold;
font-size: $fs_xs;
text-decoration: underline;
line-height: 1.2;
}
} }
@media (min-width: $breakpoint_tablet) { }
display: block;
padding: 0; #footer_right #block-erabletheme-socialmedialinks-2 ul {
display: flex;
gap: 0.5rem;
margin: 0;
padding: 0;
list-style: none;
a span {
display: flex;
align-items: center;
justify-content: center;
width: 1.6rem;
height: 1.6rem;
border-radius: 50%;
background-color: $fluo_green;
color: $text_grey;
font-size: 0.8rem;
font-weight: lighter;
} }
a svg.ext { display: none; }
}
} }

View File

@@ -1,155 +1,123 @@
$header_height: 4.5rem; // 72px maquette
.layout-container { .layout-container {
header[role="banner"] { header[role="banner"] {
width: 100%; width: 100%;
background-color: white; background-color: white;
@media (min-width: $breakpoint_desktop) { position: sticky;
position: sticky; top: 0;
top: -12vh; z-index: 99;
box-shadow: none; box-shadow: none;
}
> div:first-of-type { > div:first-of-type {
z-index: 99; z-index: 99;
position: relative; position: relative;
display: grid; display: flex;
grid-template-columns: repeat(16, 1fr); align-items: center;
> div{ height: $header_height;
height: 12vh;
grid-row: 1; // Conteneurs Drupal des blocs logos / burger
max-height: 100%; > div {
width: 100%; height: $header_height;
display: flex;
align-items: center;
> div { > div {
width: 100%;
display: flex; display: flex;
justify-content: center;
align-items: center; align-items: center;
height: 100%;
> div { > div {
height: 12vh; height: 100%;
a { a {
display: block;
height: 100%;
width: 100%;
display: flex; display: flex;
justify-content: center;
align-items: center; align-items: center;
height: 100%;
} }
img { img {
width: auto; width: auto;
height: auto; height: auto;
max-width: 100%; max-height: calc($header_height - 1rem);
max-height: 100%;
} }
} }
} }
} }
#block-erabletheme-logorep-2 {
img { #block-erabletheme-logorep-2,
padding-top: 0.8rem; #block-erabletheme-logoepau-2,
padding-bottom: 0.8rem;
}
grid-column: 1 / 5;
@media (min-width: $breakpoint_tablet) {
grid-column: 0 / 4;
}
@media (min-width: $breakpoint_desktop) {
grid-column: 1 / 3;
}
}
#block-erabletheme-logoepau-2 {
grid-column: 5 / 9;
> div {
align-items: flex-start;
justify-content: flex-start;
> div > a > img {
transform: translateX(-20px);
padding-top: 1.2rem;
padding-bottom: 1.2rem;
}
}
@media (min-width: $breakpoint_tablet) {
grid-column: 4 / 7;
> div > div > a > img {
padding-top: 1.5rem;
padding-bottom: 1.5rem;
}
}
@media (min-width: $breakpoint_desktop) {
grid-column: 3 / 8;
}
@media (min-width: $breakpoint_desktop_large) {
grid-column: 3 / 6;
> div > div > a > img {
transform: translateX(-40px);
padding-top: 30px;
padding-bottom: 30px;
}
}
}
#block-erabletheme-logoerable { #block-erabletheme-logoerable {
grid-column: 10 / 15; padding: 0 1rem;
@media (min-width: $breakpoint_desktop) {
grid-column: 14 / 16;
}
img {
padding-right: 1rem;
padding-top: 0.8rem;
padding-bottom: 0.8rem;
}
} }
#block-erabletheme-logorep-2 {
padding-left: 1.25rem;
}
#block-erabletheme-logoerable {
margin-left: auto; // pousse le burger à droite
}
#block-erabletheme-socialmedialinks { #block-erabletheme-socialmedialinks {
display: none; display: none;
} }
#block-erabletheme-header { #block-erabletheme-header {
grid-column: 15 / 17; height: $header_height;
@media (min-width: $breakpoint_desktop) {
grid-column: 16 / 17;
}
#hamburger { #hamburger {
cursor: pointer; cursor: pointer;
width: auto; width: $header_height; // carré 72x72
height: 100%; height: $header_height;
background-color: $fluo_green; background-color: $fluo_green;
display: flex; display: flex;
flex-direction: column;
align-items: center; align-items: center;
justify-content: space-around; justify-content: center;
padding: 0.5rem 0;
h2 {
font-size: $sm_font_size;
font-family: 'Marianne', sans-serif;
font-weight: 800;
text-align: center;
}
.burger-icon { .burger-icon {
width: 2rem; position: relative;
height: 1.5rem; width: 1.75rem;
display: flex; height: 1rem;
flex-direction: column; $bar_thickness: 2px;
justify-content: space-between; $bar_transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), top 0.35s cubic-bezier(0.4, 0, 0.2, 1), bottom 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s ease;
padding-bottom: 0.5rem;
div { div {
border-bottom: solid 1px black; position: absolute;
width: 100%; left: 0;
right: 0;
height: $bar_thickness;
background-color: black; background-color: black;
opacity: 1; border-radius: 1px;
transition: opacity 0.2s ease-out, transform 0.4s ease-out; transform-origin: center center;
transform: none; transition: $bar_transition;
} }
div:nth-of-type(1) { top: 0; }
div:nth-of-type(2) {
top: 50%;
transform: translateY(-50%);
opacity: 1;
}
div:nth-of-type(3) { bottom: 0; }
} }
.burger-icon.open { .burger-icon.open {
div:first-of-type { div:nth-of-type(1) {
transform: translate(0rem, 0.5rem) rotate(-45deg); top: 50%;
transform: translateY(-50%) rotate(45deg);
} }
div:nth-of-type(2) { div:nth-of-type(2) {
opacity: 0; opacity: 0;
} }
div:last-of-type { div:nth-of-type(3) {
transform: translate(0rem, -0.5rem) rotate(45deg); bottom: 50%;
transform: translateY(50%) rotate(-45deg);
} }
} }
} }
ul:not(.social-media-links--platforms) { ul:not(.social-media-links--platforms) {
position: absolute; position: absolute;
left: 0; left: 0;
top: $header_height;
z-index: -1; z-index: -1;
display: none; display: none;
height: auto; height: auto;
@@ -172,7 +140,7 @@
text-align: center; text-align: center;
line-height: 1.2; line-height: 1.2;
color: white; color: white;
font-family: 'Marianne', sans-serif; font-family: $marianne;
font-weight: 800; font-weight: 800;
padding: 4px 6px; padding: 4px 6px;
background-color: rgba(255, 255, 255, 0); background-color: rgba(255, 255, 255, 0);
@@ -205,8 +173,6 @@
} }
} }
} }
} }
} }
> li.visible { > li.visible {
@@ -237,86 +203,90 @@
ul.active { ul.active {
padding: 30px 0; padding: 30px 0;
padding-top: 3rem; padding-top: 3rem;
max-height: 100vh; max-height: calc(100vh - #{$header_height});
overflow-y: scroll; overflow-y: scroll;
} }
} }
#block-erabletheme-navigationprincipale { #block-erabletheme-navigationprincipale {
margin-top: 0 !important; margin-top: 0 !important;
} }
} }
> div:nth-of-type(2) { > div:nth-of-type(2) {
z-index: 98; z-index: 98;
position: relative; position: relative;
} }
} }
#block-erabletheme-navigationprincipale { #block-erabletheme-navigationprincipale {
background: linear-gradient(to bottom, white, rgba(255, 255, 255, 0.8) 50%, transparent); background: linear-gradient(to bottom, white, rgba(255, 255, 255, 0.8) 50%, transparent);
width: 100%; width: 100%;
display: none;
position: absolute;
padding-top: 1rem;
@media (min-width: $breakpoint_desktop) {
display: block;
}
ul {
width: 100%;
display: flex;
padding: 1rem 10vw;
justify-content: space-around;
li {
font-family: 'Marianne', sans-serif;
font-size: $m_font_size;
padding: 9px 16px;
background-color: white;
transition: background-color 0.3s ease;
&:first-of-type {
display: flex;
justify-items: center;
&::after {
content: url(../assets/icons/arrow-down-s-line.svg);
display: inline-block;
height: 1rem;
width: 1rem;
margin-left: 0.2rem;
}
}
&:hover, &.submenu-open {
background-color: $fluo_green;
}
a {
font-weight: 800;
color: black;
&:is-active {
background-color: $fluo_green;
}
}
}
}
}
#block-erabletheme-leprogramme {
position: fixed;
background-color: white;
max-height: 0vh;
overflow: hidden;
display: none;
transition: max-height 0.6s ease;
> h2 {
display: none; display: none;
} position: absolute;
ul { padding-top: 1rem;
padding: 1rem 1.5rem; @media (min-width: $breakpoint_desktop) {
li { display: block;
font-family: 'Marianne', sans-serif; }
font-size: $m_font_size; ul {
margin: 0.5rem 0; width: 100%;
a { display: flex;
color: black; padding: 1rem 10vw;
&:hover, &.is-active { justify-content: space-around;
font-weight: 800; li {
} font-family: $marianne;
} font-size: $fs_sm;
padding: 9px 16px;
background-color: white;
transition: background-color 0.3s ease;
&:first-of-type {
display: flex;
justify-items: center;
&::after {
content: url(../assets/icons/arrow-down-s-line.svg);
display: inline-block;
height: 1rem;
width: 1rem;
margin-left: 0.2rem;
}
}
&:hover, &.submenu-open {
background-color: $fluo_green;
}
a {
font-weight: 800;
color: black;
&:is-active {
background-color: $fluo_green;
}
}
}
}
}
#block-erabletheme-leprogramme {
position: fixed;
background-color: white;
max-height: 0vh;
overflow: hidden;
display: none;
transition: max-height 0.6s ease;
> h2 {
display: none;
}
ul {
padding: 1rem 1.5rem;
li {
font-family: $marianne;
font-size: $fs_sm;
margin: 0.5rem 0;
a {
color: black;
&:hover, &.is-active {
font-weight: 800;
}
}
}
} }
}
} }
} }

View File

@@ -31,8 +31,7 @@
<div{{ attributes }}> <div{{ attributes }}>
{{ title_prefix }} {{ title_prefix }}
{% if label %} {% if label %}
<div id="hamburger"> <div id="hamburger" aria-label="{{ label }}" role="button" tabindex="0">
<h2{{ title_attributes }}>{{ label }}</h2>
<div class="burger-icon"> <div class="burger-icon">
<div></div> <div></div>
<div></div> <div></div>

View File

@@ -28,13 +28,15 @@
* @ingroup themeable * @ingroup themeable
*/ */
#} #}
<div{{ attributes.addClass('map-projets') }}> <div class="map-projets-section">
{{ title_prefix }} {{ title_prefix }}
{% if label %} {% if label %}
<h2{{ title_attributes }}>{{ label }}</h2> <h2{{ title_attributes.addClass('map-projets-title') }}>{{ label }}</h2>
{% endif %} {% endif %}
{{ title_suffix }} {{ title_suffix }}
{% block content %} <div{{ attributes.addClass('map-projets') }}>
{{ content }} {% block content %}
{% endblock %} {{ content }}
{% endblock %}
</div>
</div> </div>

View File

@@ -30,11 +30,16 @@
#} #}
<div{{ attributes }}> <div{{ attributes }}>
<div class="home_introduction"> <div class="home_introduction">
<div class="logo"> <div class="intro_main">
<img src="{{ directory }}/assets/logo_erable.png" alt="Logo Érable" /> <div class="intro_logo">
<img src="{{ directory }}/assets/logo_erable.png" alt="Logo Érable" />
</div>
<div class="intro_separator" aria-hidden="true"></div>
<div class="intro_body">
{% block content %}
{{ content }}
{% endblock %}
</div>
</div> </div>
{% block content %}
{{ content }}
{% endblock %}
</div> </div>
</div> </div>